tccli 3.0.1391.1__py2.py3-none-any.whl → 3.0.1414.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.

Potentially problematic release.


This version of tccli might be problematic. Click here for more details.

Files changed (226) hide show
  1. tccli/__init__.py +1 -1
  2. tccli/services/__init__.py +2 -1
  3. tccli/services/ai3d/v20250513/api.json +22 -4
  4. tccli/services/aiart/aiart_client.py +173 -67
  5. tccli/services/aiart/v20221229/api.json +193 -0
  6. tccli/services/aiart/v20221229/examples.json +16 -0
  7. tccli/services/apm/apm_client.py +53 -0
  8. tccli/services/apm/v20210622/api.json +354 -0
  9. tccli/services/apm/v20210622/examples.json +8 -0
  10. tccli/services/asr/v20190614/api.json +3 -3
  11. tccli/services/autoscaling/v20180419/api.json +24 -2
  12. tccli/services/batch/v20170312/api.json +1 -1
  13. tccli/services/bda/bda_client.py +15 -704
  14. tccli/services/bda/v20200324/api.json +107 -1819
  15. tccli/services/bda/v20200324/examples.json +0 -176
  16. tccli/services/billing/billing_client.py +326 -8
  17. tccli/services/billing/v20180709/api.json +2200 -255
  18. tccli/services/billing/v20180709/examples.json +48 -0
  19. tccli/services/cam/v20190116/api.json +4 -4
  20. tccli/services/captcha/v20190722/api.json +3 -3
  21. tccli/services/cat/v20180409/api.json +7 -7
  22. tccli/services/ccc/ccc_client.py +235 -76
  23. tccli/services/ccc/v20200210/api.json +502 -18
  24. tccli/services/ccc/v20200210/examples.json +24 -0
  25. tccli/services/cdb/cdb_client.py +106 -0
  26. tccli/services/cdb/v20170320/api.json +257 -44
  27. tccli/services/cdb/v20170320/examples.json +22 -6
  28. tccli/services/cdn/cdn_client.py +4 -163
  29. tccli/services/cdn/v20180606/api.json +61 -310
  30. tccli/services/cdn/v20180606/examples.json +1 -25
  31. tccli/services/cdwdoris/v20211228/api.json +51 -12
  32. tccli/services/cdwpg/v20201230/api.json +11 -1
  33. tccli/services/cdwpg/v20201230/examples.json +1 -1
  34. tccli/services/cfg/v20210820/api.json +11 -1
  35. tccli/services/cfs/cfs_client.py +41 -94
  36. tccli/services/cfs/v20190719/api.json +171 -55
  37. tccli/services/cfs/v20190719/examples.json +1 -9
  38. tccli/services/cfw/v20190904/api.json +122 -10
  39. tccli/services/ckafka/ckafka_client.py +188 -29
  40. tccli/services/ckafka/v20190819/api.json +277 -4
  41. tccli/services/ckafka/v20190819/examples.json +25 -1
  42. tccli/services/clb/clb_client.py +0 -265
  43. tccli/services/clb/v20180317/api.json +130 -296
  44. tccli/services/clb/v20180317/examples.json +12 -40
  45. tccli/services/cloudapp/v20220530/api.json +55 -0
  46. tccli/services/cloudaudit/v20190319/api.json +11 -0
  47. tccli/services/cloudhsm/v20191112/api.json +10 -10
  48. tccli/services/cls/v20201016/api.json +63 -45
  49. tccli/services/cls/v20201016/examples.json +10 -4
  50. tccli/services/csip/v20221121/api.json +53 -3
  51. tccli/services/ctem/v20231128/api.json +320 -0
  52. tccli/services/ctem/v20231128/examples.json +3 -3
  53. tccli/services/cvm/cvm_client.py +0 -212
  54. tccli/services/cvm/v20170312/api.json +91 -843
  55. tccli/services/cvm/v20170312/examples.json +32 -58
  56. tccli/services/cynosdb/cynosdb_client.py +167 -8
  57. tccli/services/cynosdb/v20190107/api.json +1126 -148
  58. tccli/services/cynosdb/v20190107/examples.json +31 -7
  59. tccli/services/dbbrain/dbbrain_client.py +246 -87
  60. tccli/services/dbbrain/v20191016/api.json +74 -62
  61. tccli/services/dbbrain/v20191016/examples.json +1 -1
  62. tccli/services/dbbrain/v20210527/api.json +601 -177
  63. tccli/services/dbbrain/v20210527/examples.json +28 -4
  64. tccli/services/dc/v20180410/api.json +101 -3
  65. tccli/services/dcdb/v20180411/api.json +1 -1
  66. tccli/services/dlc/dlc_client.py +53 -0
  67. tccli/services/dlc/v20210125/api.json +237 -24
  68. tccli/services/dlc/v20210125/examples.json +12 -4
  69. tccli/services/dnspod/dnspod_client.py +106 -0
  70. tccli/services/dnspod/v20210323/api.json +126 -20
  71. tccli/services/dnspod/v20210323/examples.json +17 -7
  72. tccli/services/dsgc/v20190723/api.json +73 -15
  73. tccli/services/dts/v20180330/api.json +4 -4
  74. tccli/services/dts/v20211206/api.json +408 -127
  75. tccli/services/dts/v20211206/examples.json +15 -9
  76. tccli/services/eb/v20210416/api.json +41 -1
  77. tccli/services/eb/v20210416/examples.json +1 -1
  78. tccli/services/emr/v20190103/api.json +56 -9
  79. tccli/services/emr/v20190103/examples.json +5 -5
  80. tccli/services/es/es_client.py +273 -8
  81. tccli/services/es/v20180416/api.json +845 -33
  82. tccli/services/es/v20180416/examples.json +33 -1
  83. tccli/services/es/v20250101/api.json +135 -2
  84. tccli/services/es/v20250101/examples.json +8 -0
  85. tccli/services/ess/ess_client.py +509 -32
  86. tccli/services/ess/v20201111/api.json +1366 -113
  87. tccli/services/ess/v20201111/examples.json +94 -10
  88. tccli/services/essbasic/v20210526/api.json +265 -27
  89. tccli/services/essbasic/v20210526/examples.json +12 -12
  90. tccli/services/facefusion/v20220927/api.json +1 -1
  91. tccli/services/gaap/v20180529/api.json +18 -8
  92. tccli/services/gme/gme_client.py +53 -0
  93. tccli/services/gme/v20180711/api.json +241 -1
  94. tccli/services/gme/v20180711/examples.json +8 -0
  95. tccli/services/gs/gs_client.py +216 -4
  96. tccli/services/gs/v20191118/api.json +202 -1
  97. tccli/services/gs/v20191118/examples.json +32 -0
  98. tccli/services/gwlb/gwlb_client.py +53 -0
  99. tccli/services/gwlb/v20240906/api.json +150 -0
  100. tccli/services/gwlb/v20240906/examples.json +8 -0
  101. tccli/services/hai/v20230812/api.json +5 -5
  102. tccli/services/hunyuan/v20230901/api.json +3 -3
  103. tccli/services/hunyuan/v20230901/examples.json +1 -1
  104. tccli/services/iai/v20180301/api.json +227 -207
  105. tccli/services/iai/v20180301/examples.json +26 -26
  106. tccli/services/iai/v20200303/api.json +4 -4
  107. tccli/services/iai/v20200303/examples.json +1 -1
  108. tccli/services/ioa/ioa_client.py +265 -0
  109. tccli/services/ioa/v20220601/api.json +781 -85
  110. tccli/services/ioa/v20220601/examples.json +46 -0
  111. tccli/services/iotexplorer/iotexplorer_client.py +387 -16
  112. tccli/services/iotexplorer/v20190423/api.json +1183 -63
  113. tccli/services/iotexplorer/v20190423/examples.json +92 -0
  114. tccli/services/keewidb/v20220308/api.json +69 -17
  115. tccli/services/keewidb/v20220308/examples.json +5 -5
  116. tccli/services/lcic/v20220817/api.json +61 -15
  117. tccli/services/lighthouse/v20200324/api.json +193 -24
  118. tccli/services/lighthouse/v20200324/examples.json +9 -3
  119. tccli/services/live/v20180801/api.json +6 -6
  120. tccli/services/live/v20180801/examples.json +7 -1
  121. tccli/services/lke/lke_client.py +40 -93
  122. tccli/services/lke/v20231130/api.json +943 -390
  123. tccli/services/lke/v20231130/examples.json +38 -46
  124. tccli/services/lkeap/v20240522/api.json +39 -12
  125. tccli/services/lkeap/v20240522/examples.json +12 -0
  126. tccli/services/mariadb/v20170312/api.json +1 -1
  127. tccli/services/mna/v20210119/api.json +11 -2
  128. tccli/services/mna/v20210119/examples.json +1 -1
  129. tccli/services/mongodb/mongodb_client.py +334 -16
  130. tccli/services/mongodb/v20190725/api.json +1092 -383
  131. tccli/services/mongodb/v20190725/examples.json +69 -21
  132. tccli/services/monitor/monitor_client.py +106 -0
  133. tccli/services/monitor/v20180724/api.json +383 -12
  134. tccli/services/monitor/v20180724/examples.json +24 -2
  135. tccli/services/mps/mps_client.py +220 -8
  136. tccli/services/mps/v20190612/api.json +1999 -179
  137. tccli/services/mps/v20190612/examples.json +56 -6
  138. tccli/services/mqtt/v20240516/api.json +10 -0
  139. tccli/services/mqtt/v20240516/examples.json +3 -9
  140. tccli/services/nlp/v20190408/api.json +6 -6
  141. tccli/services/oceanus/oceanus_client.py +318 -0
  142. tccli/services/oceanus/v20190422/api.json +461 -26
  143. tccli/services/oceanus/v20190422/examples.json +50 -2
  144. tccli/services/ocr/ocr_client.py +41 -253
  145. tccli/services/ocr/v20181119/api.json +153 -659
  146. tccli/services/ocr/v20181119/examples.json +8 -40
  147. tccli/services/omics/v20221128/api.json +90 -7
  148. tccli/services/organization/v20210331/api.json +46 -7
  149. tccli/services/postgres/v20170312/api.json +333 -77
  150. tccli/services/postgres/v20170312/examples.json +37 -31
  151. tccli/services/privatedns/privatedns_client.py +641 -58
  152. tccli/services/privatedns/v20201028/api.json +930 -19
  153. tccli/services/privatedns/v20201028/examples.json +91 -3
  154. tccli/services/pts/v20210728/api.json +2 -2
  155. tccli/services/redis/v20180412/api.json +303 -109
  156. tccli/services/redis/v20180412/examples.json +12 -12
  157. tccli/services/region/v20220627/api.json +1 -1
  158. tccli/services/rum/v20210622/api.json +22 -4
  159. tccli/services/rum/v20210622/examples.json +2 -2
  160. tccli/services/sms/v20190711/api.json +12 -12
  161. tccli/services/sms/v20190711/examples.json +9 -3
  162. tccli/services/sms/v20210111/api.json +13 -13
  163. tccli/services/sms/v20210111/examples.json +8 -2
  164. tccli/services/sqlserver/v20180328/api.json +46 -7
  165. tccli/services/sqlserver/v20180328/examples.json +2 -2
  166. tccli/services/ssl/v20191205/api.json +28 -0
  167. tccli/services/svp/v20240125/api.json +14 -4
  168. tccli/services/tag/v20180813/api.json +3 -3
  169. tccli/services/tat/v20201028/api.json +22 -3
  170. tccli/services/tcb/v20180608/api.json +1 -1
  171. tccli/services/tcss/tcss_client.py +228 -69
  172. tccli/services/tcss/v20201101/api.json +273 -25
  173. tccli/services/tcss/v20201101/examples.json +26 -2
  174. tccli/services/teo/teo_client.py +317 -52
  175. tccli/services/teo/v20220901/api.json +1824 -242
  176. tccli/services/teo/v20220901/examples.json +109 -21
  177. tccli/services/thpc/thpc_client.py +57 -4
  178. tccli/services/thpc/v20230321/api.json +163 -21
  179. tccli/services/thpc/v20230321/examples.json +13 -5
  180. tccli/services/tione/tione_client.py +163 -4
  181. tccli/services/tione/v20211111/api.json +285 -21
  182. tccli/services/tione/v20211111/examples.json +27 -3
  183. tccli/services/tke/tke_client.py +8 -8
  184. tccli/services/tke/v20180525/api.json +168 -130
  185. tccli/services/tke/v20180525/examples.json +20 -20
  186. tccli/services/tke/v20220501/api.json +215 -3
  187. tccli/services/tke/v20220501/examples.json +8 -0
  188. tccli/services/tms/tms_client.py +106 -0
  189. tccli/services/tms/v20201229/api.json +249 -3
  190. tccli/services/tms/v20201229/examples.json +16 -0
  191. tccli/services/tmt/v20180321/api.json +78 -1
  192. tccli/services/trabbit/v20230418/api.json +271 -4
  193. tccli/services/trabbit/v20230418/examples.json +9 -3
  194. tccli/services/trocket/v20230308/api.json +4 -4
  195. tccli/services/trro/trro_client.py +106 -0
  196. tccli/services/trro/v20220325/api.json +456 -0
  197. tccli/services/trro/v20220325/examples.json +16 -0
  198. tccli/services/trtc/v20190722/api.json +197 -49
  199. tccli/services/trtc/v20190722/examples.json +4 -4
  200. tccli/services/tse/v20201207/api.json +69 -2
  201. tccli/services/tse/v20201207/examples.json +3 -3
  202. tccli/services/tsf/v20180326/api.json +70 -7
  203. tccli/services/tsf/v20180326/examples.json +2 -2
  204. tccli/services/vclm/v20240523/api.json +145 -0
  205. tccli/services/vclm/v20240523/examples.json +16 -0
  206. tccli/services/vclm/vclm_client.py +106 -0
  207. tccli/services/vcube/v20220410/api.json +1 -1
  208. tccli/services/vod/v20180717/api.json +7 -7
  209. tccli/services/vpc/v20170312/api.json +1216 -70
  210. tccli/services/vpc/v20170312/examples.json +139 -3
  211. tccli/services/vpc/vpc_client.py +1023 -122
  212. tccli/services/vrs/v20200824/api.json +11 -11
  213. tccli/services/vrs/v20200824/examples.json +1 -1
  214. tccli/services/vtc/v20240223/api.json +14 -14
  215. tccli/services/waf/v20180125/api.json +812 -143
  216. tccli/services/waf/v20180125/examples.json +2 -2
  217. tccli/services/wedata/v20210820/api.json +1281 -601
  218. tccli/services/wedata/v20210820/examples.json +127 -157
  219. tccli/services/wedata/v20250806/api.json +19335 -0
  220. tccli/services/wedata/v20250806/examples.json +999 -0
  221. tccli/services/wedata/wedata_client.py +7072 -1131
  222. {tccli-3.0.1391.1.dist-info → tccli-3.0.1414.1.dist-info}/METADATA +9 -7
  223. {tccli-3.0.1391.1.dist-info → tccli-3.0.1414.1.dist-info}/RECORD +226 -224
  224. {tccli-3.0.1391.1.dist-info → tccli-3.0.1414.1.dist-info}/WHEEL +1 -1
  225. {tccli-3.0.1391.1.dist-info → tccli-3.0.1414.1.dist-info}/entry_points.txt +0 -0
  226. {tccli-3.0.1391.1.dist-info/license_files → tccli-3.0.1414.1.dist-info/licenses}/LICENSE +0 -0
@@ -205,8 +205,8 @@
205
205
  "GetGroupInfo": [
206
206
  {
207
207
  "document": "",
208
- "input": "https://iai.tencentcloudapi.com/?Action=GetGroupInfo\r\n&GroupId=aaa\r\n&Version=2018-03-01\r\n&<公共请求参数>",
209
- "output": "{\n \"Response\": {\n \"GroupName\": \"aaa\",\n \"GroupId\": \"aaa\",\n \"GroupExDescriptions\": [\n \"24\"\n ],\n \"Tag\": \"fdsaf\",\n \"FaceModelVersion\": \"3.0\",\n \"CreationTimestamp\": 1559530931613,\n \"RequestId\": \"6faa05d0-287b-464e-8755-cf3e8d0c703d\"\n }\n}",
208
+ "input": "https://iai.tencentcloudapi.com/?Action=GetGroupInfo\n&GroupId=\"31\"\n&<公共请求参数>",
209
+ "output": "{\n \"Response\": {\n \"GroupName\": \"人员库\",\n \"GroupId\": \"31\",\n \"GroupExDescriptions\": [\n \"年龄\"\n ],\n \"Tag\": \"不含实习生\",\n \"FaceModelVersion\": \"3.0\",\n \"CreationTimestamp\": 1559530931613,\n \"RequestId\": \"6faa05d0-287b-464e-8755-cf3e8d0c703d\"\n }\n}",
210
210
  "title": "获取人员库信息"
211
211
  }
212
212
  ],
@@ -227,13 +227,13 @@
227
227
  "GetPersonBaseInfo": [
228
228
  {
229
229
  "document": "人员ID不存在",
230
- "input": "https://iai.tencentcloudapi.com/?Action=GetPersonBaseInfo\r\n&PersonId=1002\r\n&Version=2018-03-01\r\n&<公共请求参数>",
230
+ "input": "https://iai.tencentcloudapi.com/?Action=GetPersonBaseInfo\n&PersonId=1002\n&<公共请求参数>",
231
231
  "output": "{\n \"Response\": {\n \"Error\": {\n \"Code\": \"InvalidParameterValue.PersonIdNotExist\",\n \"Message\": \"人员ID不存在。\"\n },\n \"RequestId\": \"98b4a0bc-802b-4764-9701-bc0c6c544395\"\n }\n}",
232
232
  "title": "错误示例"
233
233
  },
234
234
  {
235
235
  "document": "获取指定人员的信息,包括姓名、性别、人脸等",
236
- "input": "https://iai.tencentcloudapi.com/?Action=GetPersonBaseInfo\r\n&PersonId=1001\r\n&Version=2018-03-01\r\n&<公共请求参数>",
236
+ "input": "https://iai.tencentcloudapi.com/?Action=GetPersonBaseInfo\n&PersonId=1001\n&<公共请求参数>",
237
237
  "output": "{\n \"Response\": {\n \"PersonName\": \"EvanLiao\",\n \"Gender\": 1,\n \"FaceIds\": [\n \"2873640802022644880\",\n \"2875186538564559728\"\n ],\n \"RequestId\": \"9568a077-0710-40d2-9d6a-b9483d3f2051\"\n }\n}",
238
238
  "title": "获取人员基础信息接口"
239
239
  }
@@ -241,53 +241,53 @@
241
241
  "GetPersonGroupInfo": [
242
242
  {
243
243
  "document": "人员ID不存在",
244
- "input": "https://iai.tencentcloudapi.com/?Action=GetPersonGroupInfo\r\n&PersonId=1002\r\n&Offset=0\r\n&Limit=10\r\n&Version=2018-03-01\r\n&<公共请求参数>",
244
+ "input": "https://iai.tencentcloudapi.com/?Action=GetPersonGroupInfo\n&PersonId=1002\n&Offset=0\n&Limit=10\n&<公共请求参数>",
245
245
  "output": "{\n \"Response\": {\n \"Error\": {\n \"Code\": \"InvalidParameterValue.PersonIdNotExist\",\n \"Message\": \"人员ID不存在。\"\n },\n \"RequestId\": \"98330f25-eb2e-432a-a30c-3830774210c1\"\n }\n}",
246
246
  "title": "错误示例"
247
247
  },
248
248
  {
249
249
  "document": "",
250
- "input": "https://iai.tencentcloudapi.com/?Action=GetPersonGroupInfo\r\n&PersonId=2001\r\n&Offset=0\r\n&Limit=10\r\n&Version=2018-03-01\r\n&<公共请求参数>",
251
- "output": "{\n \"Response\": {\n \"PersonGroupInfos\": [\n {\n \"GroupId\": \"ZhuYuanDormitoryNo1\",\n \"PersonExDescriptions\": [\n \"计算机学院\",\n \"软件工程\",\n \"15级\",\n \"3150108080\"\n ]\n }\n ],\n \"RequestId\": \"671f0a1d-2b35-47c4-b9d1-b18053f71a04\"\n }\n}",
250
+ "input": "https://iai.tencentcloudapi.com/?Action=GetPersonGroupInfo\n&PersonId=2001\n&Offset=0\n&Limit=10\n&<公共请求参数>",
251
+ "output": "{\n \"Response\": {\n \"GroupNum\": \"1\",\n \"PersonGroupInfos\": [\n {\n \"GroupId\": \"ZhuYuanDormitoryNo1\",\n \"PersonExDescriptions\": [\n \"计算机学院\",\n \"软件工程\",\n \"15级\",\n \"3150108080\"\n ]\n }\n ],\n \"FaceModelVersion\": \"3.0\",\n \"RequestId\": \"671f0a1d-2b35-47c4-b9d1-b18053f71a04\"\n }\n}",
252
252
  "title": "获取人员归属信息接口"
253
253
  },
254
254
  {
255
255
  "document": "",
256
- "input": "https://iai.tencentcloudapi.com/?Action=GetPersonGroupInfo\r\n&PersonId=1001\r\n&Offset=0\r\n&Limit=10\r\n&Version=2018-03-01\r\n&<公共请求参数>",
257
- "output": "{\n \"Response\": {\n \"PersonGroupInfos\": [\n {\n \"GroupId\": \"TencentShenZhenEmployee\",\n \"PersonExDescriptions\": [\n \"云与智慧产业事业群\",\n \"大数据及人工智能产品中心\",\n \"人脸识别产品组\"\n ]\n }\n ],\n \"RequestId\": \"b7a505ad-4a85-42da-97b3-886c7999fb76\"\n }\n}",
256
+ "input": "https://iai.tencentcloudapi.com/?Action=GetPersonGroupInfo\n&PersonId=1001\n&Offset=0\n&Limit=10\n&<公共请求参数>",
257
+ "output": "{\n \"Response\": {\n \"GroupNum\": \"1\",\n \"PersonGroupInfos\": [\n {\n \"GroupId\": \"TencentShenZhenEmployee\",\n \"PersonExDescriptions\": [\n \"云与智慧产业事业群\",\n \"大数据及人工智能产品中心\",\n \"人脸识别产品组\"\n ]\n }\n ],\n \"FaceModelVersion\": \"3.0\",\n \"RequestId\": \"b7a505ad-4a85-42da-97b3-886c7999fb76\"\n }\n}",
258
258
  "title": "获取人员归属信息接口-2"
259
259
  }
260
260
  ],
261
261
  "GetPersonList": [
262
262
  {
263
263
  "document": "人员库ID不存在",
264
- "input": "https://iai.tencentcloudapi.com/?Action=GetPersonList\r\n&GroupId=ZhuYuanDormitory\r\n&Offset=0\r\n&Limit=10\r\n&Version=2018-03-01\r\n&<公共请求参数>",
264
+ "input": "https://iai.tencentcloudapi.com/?Action=GetPersonList\n&GroupId=ZhuYuanDormitory\n&Offset=0\n&Limit=10\n&<公共请求参数>",
265
265
  "output": "{\n \"Response\": {\n \"Error\": {\n \"Code\": \"InvalidParameterValue.GroupIdNotExist\",\n \"Message\": \"人员库ID不存在。\"\n },\n \"RequestId\": \"b7c0cd81-d621-465f-8fd6-86a6b49e67be\"\n }\n}",
266
266
  "title": "错误示例"
267
267
  },
268
268
  {
269
269
  "document": "",
270
- "input": "https://iai.tencentcloudapi.com/?Action=GetPersonList\r\n&GroupId=ZhuYuanDormitoryNo1\r\n&Offset=0\r\n&Limit=10\r\n&Version=2018-03-01\r\n&<公共请求参数>",
271
- "output": "{\n \"Response\": {\n \"PersonInfos\": [\n {\n \"PersonName\": \"Junly\",\n \"PersonId\": \"2001\",\n \"Gender\": 1,\n \"PersonExDescriptions\": [\n \"计算机学院\",\n \"软件工程\",\n \"15级\",\n \"3150108080\"\n ],\n \"FaceIds\": [\n \"2877244861637985315\"\n ]\n }\n ],\n \"PersonNum\": 1,\n \"FaceNum\": 1,\n \"RequestId\": \"337d1bb5-3f88-4681-9291-5194f478f0d1\"\n }\n}",
270
+ "input": "https://iai.tencentcloudapi.com/?Action=GetPersonList\n&GroupId=ZhuYuanDormitoryNo1\n&Offset=0\n&Limit=10\n&<公共请求参数>",
271
+ "output": "{\n \"Response\": {\n \"PersonInfos\": [\n {\n \"PersonName\": \"Junly\",\n \"PersonId\": \"2001\",\n \"Gender\": 1,\n \"PersonExDescriptions\": [\n \"计算机学院\",\n \"软件工程\",\n \"15级\",\n \"3150108080\"\n ],\n \"FaceIds\": [\n \"2877244861637985315\"\n ]\n }\n ],\n \"PersonNum\": 1,\n \"FaceNum\": 1,\n \"FaceModelVersion\": \"3.0\",\n \"RequestId\": \"337d1bb5-3f88-4681-9291-5194f478f0d1\"\n }\n}",
272
272
  "title": "获取人员列表接口"
273
273
  },
274
274
  {
275
275
  "document": "获取指定人员库中的人员列表",
276
- "input": "https://iai.tencentcloudapi.com/?Action=GetPersonList\r\n&GroupId=TencentShenZhenEmployee\r\n&Offset=0\r\n&Limit=10\r\n&Version=2018-03-01\r\n&<公共请求参数>",
277
- "output": "{\n \"Response\": {\n \"PersonInfos\": [\n {\n \"PersonName\": \"evanliao\",\n \"PersonId\": \"1001\",\n \"Gender\": 1,\n \"PersonExDescriptions\": [\n \"云与智慧产业事业群\",\n \"大数据及人工智能产品中心\",\n \"人脸识别产品组\"\n ],\n \"FaceIds\": [\n \"2877242150180891493\"\n ]\n }\n ],\n \"PersonNum\": 1,\n \"FaceNum\": 1,\n \"RequestId\": \"aa292f16-27d9-423b-9048-cdd43f6e4156\"\n }\n}",
276
+ "input": "https://iai.tencentcloudapi.com/?Action=GetPersonList\n&GroupId=TencentShenZhenEmployee\n&Offset=0\n&Limit=10\n&<公共请求参数>",
277
+ "output": "{\n \"Response\": {\n \"PersonInfos\": [\n {\n \"PersonName\": \"evanliao\",\n \"PersonId\": \"1001\",\n \"Gender\": 1,\n \"PersonExDescriptions\": [\n \"云与智慧产业事业群\",\n \"大数据及人工智能产品中心\",\n \"人脸识别产品组\"\n ],\n \"FaceIds\": [\n \"2877242150180891493\"\n ]\n }\n ],\n \"PersonNum\": 1,\n \"FaceNum\": 1,\n \"FaceModelVersion\": \"3.0\",\n \"RequestId\": \"aa292f16-27d9-423b-9048-cdd43f6e4156\"\n }\n}",
278
278
  "title": "获取人员列表接口-2"
279
279
  }
280
280
  ],
281
281
  "GetPersonListNum": [
282
282
  {
283
283
  "document": "人员库ID不存在",
284
- "input": "https://iai.tencentcloudapi.com/?Action=GetPersonListNum\r\n&GroupId=Tencent\r\n&Version=2018-03-01\r\n&<公共请求参数>",
284
+ "input": "https://iai.tencentcloudapi.com/?Action=GetPersonListNum\n&GroupId=Tencent\n&<公共请求参数>",
285
285
  "output": "{\n \"Response\": {\n \"Error\": {\n \"Code\": \"InvalidParameterValue.GroupIdNotExist\",\n \"Message\": \"人员库ID不存在。\"\n },\n \"RequestId\": \"2865a458-4db1-46bd-ae52-b7507c9f4e62\"\n }\n}",
286
286
  "title": "错误示例"
287
287
  },
288
288
  {
289
289
  "document": "获取指定人员库中人员数量",
290
- "input": "https://iai.tencentcloudapi.com/?Action=GetPersonListNum\r\n&GroupId=TencentShenZhenEmployee\r\n&Version=2018-03-01\r\n&<公共请求参数>",
290
+ "input": "https://iai.tencentcloudapi.com/?Action=GetPersonListNum\n&GroupId=TencentShenZhenEmployee\n&<公共请求参数>",
291
291
  "output": "{\n \"Response\": {\n \"PersonNum\": 2,\n \"FaceNum\": 2,\n \"RequestId\": \"18fb1e31-0d33-4371-9f41-b1fd59e0c781\"\n }\n}",
292
292
  "title": "获取人员列表长度接口"
293
293
  }
@@ -311,25 +311,25 @@
311
311
  "ModifyGroup": [
312
312
  {
313
313
  "document": "",
314
- "input": "https://iai.tencentcloudapi.com/?Action=ModifyGroup\r\n&GroupId=TencentShenZhenEmployee\r\n&GroupExDescriptionInfos.0.GroupExDescriptionIndex=0\r\n&GroupExDescriptionInfos.0.GroupExDescription=部门\r\n&Version=2018-03-01\r\n&<公共请求参数>",
314
+ "input": "https://iai.tencentcloudapi.com/?Action=ModifyGroup\n&GroupId=TencentShenZhenEmployee\n&GroupExDescriptionInfos.0.GroupExDescriptionIndex=0\n&GroupExDescriptionInfos.0.GroupExDescription=部门\n&<公共请求参数>",
315
315
  "output": "{\n \"Response\": {\n \"Error\": {\n \"Code\": \"FailedOperation.DuplicatedGroupDescription\",\n \"Message\": \"同一人员库中自定义描述字段不可重复。\"\n },\n \"RequestId\": \"4b483679-3f08-4a7c-b827-4a6332dc030f\"\n }\n}",
316
316
  "title": "错误示例"
317
317
  },
318
318
  {
319
319
  "document": "人员库名称不可重复",
320
- "input": "https://iai.tencentcloudapi.com/?Action=ModifyGroup\r\n&GroupId=TencentShenZhenEmployee\r\n&GroupName=某某大学竹园1号宿舍楼\r\n&Version=2018-03-01\r\n&<公共请求参数>",
320
+ "input": "https://iai.tencentcloudapi.com/?Action=ModifyGroup\n&GroupId=TencentShenZhenEmployee\n&GroupName=某某大学竹园1号宿舍楼\n&<公共请求参数>",
321
321
  "output": "{\n \"Response\": {\n \"Error\": {\n \"Code\": \"InvalidParameterValue.GroupNameAlreadyExist\",\n \"Message\": \"人员库名称已经存在。人员库名称不可重复。\"\n },\n \"RequestId\": \"2dcce170-30cf-4078-9b3c-309362fbad21\"\n }\n}",
322
322
  "title": "错误示例-2"
323
323
  },
324
324
  {
325
325
  "document": "",
326
- "input": "https://iai.tencentcloudapi.com/?Action=ModifyGroup\r\n&GroupId=ZhuYuanDormitoryNo1\r\n&GroupName=某某大学竹园1号宿舍楼\r\n&Tag=研究生入住\r\n&GroupExDescriptionInfos.0.GroupExDescriptionIndex=0\r\n&GroupExDescriptionInfos.0.GroupExDescription=学院\r\n&Version=2018-03-01\r\n&<公共请求参数>",
326
+ "input": "https://iai.tencentcloudapi.com/?Action=ModifyGroup\n&GroupId=ZhuYuanDormitoryNo1\n&GroupName=某某大学竹园1号宿舍楼\n&Tag=研究生入住\n&GroupExDescriptionInfos.0.GroupExDescriptionIndex=0\n&GroupExDescriptionInfos.0.GroupExDescription=学院\n&<公共请求参数>",
327
327
  "output": "{\n \"Response\": {\n \"RequestId\": \"da051f16-0400-49d4-9832-2cfd3b51866f\"\n }\n}",
328
328
  "title": "修改人员库接口"
329
329
  },
330
330
  {
331
331
  "document": "修改人员库名称、备注、自定义描述字段名称",
332
- "input": "https://iai.tencentcloudapi.com/?Action=ModifyGroup\r\n&GroupId=TencentShenZhenEmployee\r\n&GroupName=腾讯深圳在职人员库\r\n&Tag=包含实习生\r\n&GroupExDescriptionInfos.0.GroupExDescriptionIndex=1\r\n&GroupExDescriptionInfos.0.GroupExDescription=部门\r\n&GroupExDescriptionInfos.1.GroupExDescriptionIndex=2\r\n&GroupExDescriptionInfos.1.GroupExDescription=项目组\r\n&Version=2018-03-01\r\n&<公共请求参数>",
332
+ "input": "https://iai.tencentcloudapi.com/?Action=ModifyGroup\n&GroupId=TencentShenZhenEmployee\n&GroupName=腾讯深圳在职人员库\n&Tag=包含实习生\n&GroupExDescriptionInfos.0.GroupExDescriptionIndex=1\n&GroupExDescriptionInfos.0.GroupExDescription=部门\n&GroupExDescriptionInfos.1.GroupExDescriptionIndex=2\n&GroupExDescriptionInfos.1.GroupExDescription=项目组\n&<公共请求参数>",
333
333
  "output": "{\n \"Response\": {\n \"RequestId\": \"98381738-509f-4749-8a66-dbf54247333d\"\n }\n}",
334
334
  "title": "修改人员库接口-2"
335
335
  }
@@ -337,19 +337,19 @@
337
337
  "ModifyPersonBaseInfo": [
338
338
  {
339
339
  "document": "人员性别设置错误",
340
- "input": "https://iai.tencentcloudapi.com/?Action=ModifyPersonBaseInfo\r\n&PersonId=1001\r\n&Gender=-1\r\n&Version=2018-03-01\r\n&<公共请求参数>",
340
+ "input": "https://iai.tencentcloudapi.com/?Action=ModifyPersonBaseInfo\n&PersonId=1001\n&Gender=-1\n&<公共请求参数>",
341
341
  "output": "{\n \"Response\": {\n \"Error\": {\n \"Code\": \"InvalidParameterValue.PersonGenderIllegal\",\n \"Message\": \"人员性别设置出错。0代表未填写,1代表男性,2代表女性。\"\n },\n \"RequestId\": \"f40bf659-0283-4773-abe8-945f643d5015\"\n }\n}",
342
342
  "title": "错误示例"
343
343
  },
344
344
  {
345
345
  "document": "",
346
- "input": "https://iai.tencentcloudapi.com/?Action=ModifyPersonBaseInfo\r\n&PersonId=2001\r\n&PersonName=JunlyWang\r\n&Gender=1\r\n&Version=2018-03-01\r\n&<公共请求参数>",
346
+ "input": "https://iai.tencentcloudapi.com/?Action=ModifyPersonBaseInfo\n&PersonId=2001\n&PersonName=JunlyWang\n&Gender=1\n&<公共请求参数>",
347
347
  "output": "{\n \"Response\": {\n \"RequestId\": \"6e2a0fb7-7c9e-45c7-abf1-338457d1def7\"\n }\n}",
348
348
  "title": "修改人员基础信息接口"
349
349
  },
350
350
  {
351
351
  "document": "",
352
- "input": "https://iai.tencentcloudapi.com/?Action=ModifyPersonBaseInfo\r\n&PersonId=1001\r\n&PersonName=EvanLiao\r\n&Gender=1\r\n&Version=2018-03-01\r\n&<公共请求参数>",
352
+ "input": "https://iai.tencentcloudapi.com/?Action=ModifyPersonBaseInfo\n&PersonId=1001\n&PersonName=EvanLiao\n&Gender=1\n&<公共请求参数>",
353
353
  "output": "{\n \"Response\": {\n \"RequestId\": \"6e2a0fb7-7c9e-45c7-abf1-338457d1def7\"\n }\n}",
354
354
  "title": "修改人员基础信息接口-2"
355
355
  }
@@ -357,19 +357,19 @@
357
357
  "ModifyPersonGroupInfo": [
358
358
  {
359
359
  "document": "下标不合法",
360
- "input": "https://iai.tencentcloudapi.com/?Action=ModifyPersonGroupInfo\r\n&GroupId=TencentShenZhenEmployee\r\n&PersonId=1001\r\n&PersonExDescriptionInfos.0.PersonExDescriptionIndex=-1\r\n&PersonExDescriptionInfos.0.PersonExDescription=人工智能实验室\r\n&Version=2018-03-01\r\n&<公共请求参数>",
360
+ "input": "https://iai.tencentcloudapi.com/?Action=ModifyPersonGroupInfo\n&GroupId=TencentShenZhenEmployee\n&PersonId=1001\n&PersonExDescriptionInfos.0.PersonExDescriptionIndex=1\n&PersonExDescriptionInfos.0.PersonExDescription=人工智能实验室\n&<公共请求参数>",
361
361
  "output": "{\n \"Response\": {\n \"Error\": {\n \"Code\": \"InvalidParameter\",\n \"Message\": \"The value type of parameter `PersonExDescriptionInfos.0.PersonExDescriptionIndex` is not valid.\"\n },\n \"RequestId\": \"f944657d-6260-4a2e-a4d8-9c1845f39e56\"\n }\n}",
362
362
  "title": "错误示例"
363
363
  },
364
364
  {
365
365
  "document": "",
366
- "input": "https://iai.tencentcloudapi.com/?Action=ModifyPersonGroupInfo\r\n&GroupId=ZhuYuanDormitoryNo1\r\n&PersonId=2001\r\n&PersonExDescriptionInfos.0.PersonExDescriptionIndex=3\r\n&PersonExDescriptionInfos.0.PersonExDescription=3150108080\r\n&Version=2018-03-01\r\n&<公共请求参数>",
366
+ "input": "https://iai.tencentcloudapi.com/?Action=ModifyPersonGroupInfo\n&GroupId=ZhuYuanDormitoryNo1\n&PersonId=2001\n&PersonExDescriptionInfos.0.PersonExDescriptionIndex=3\n&PersonExDescriptionInfos.0.PersonExDescription=3150108080\n&<公共请求参数>",
367
367
  "output": "{\n \"Response\": {\n \"RequestId\": \"77e11a2d-0fc0-4fba-ab25-016e998221c3\"\n }\n}",
368
368
  "title": "修改人员描述信息接口"
369
369
  },
370
370
  {
371
371
  "document": "",
372
- "input": "https://iai.tencentcloudapi.com/?Action=ModifyPersonGroupInfo\r\n&GroupId=TencentShenZhenEmployee\r\n&PersonId=1001\r\n&PersonExDescriptionInfos.0.PersonExDescriptionIndex=1\r\n&PersonExDescriptionInfos.0.PersonExDescription=大数据及人工智能产品中心\r\n&Version=2018-03-01\r\n&<公共请求参数>",
372
+ "input": "https://iai.tencentcloudapi.com/?Action=ModifyPersonGroupInfo\n&GroupId=TencentShenZhenEmployee\n&PersonId=1001\n&PersonExDescriptionInfos.0.PersonExDescriptionIndex=1\n&PersonExDescriptionInfos.0.PersonExDescription=大数据及人工智能产品中心\n&<公共请求参数>",
373
373
  "output": "{\n \"Response\": {\n \"RequestId\": \"77e11a2d-0fc0-4fba-ab25-016e998221c3\"\n }\n}",
374
374
  "title": "修改人员描述信息接口-2"
375
375
  }
@@ -2180,7 +2180,7 @@
2180
2180
  {
2181
2181
  "disabled": false,
2182
2182
  "document": "美丑打分。\n- 取值范围:[0,100]。 \n- FaceAttributesType 不含 Beauty 或检测超过 5 张人脸时,此参数仍返回,但不具备参考意义。",
2183
- "example": "",
2183
+ "example": "30",
2184
2184
  "member": "int64",
2185
2185
  "name": "Beauty",
2186
2186
  "output_required": true,
@@ -3316,7 +3316,7 @@
3316
3316
  {
3317
3317
  "disabled": false,
3318
3318
  "document": "人员库自定义描述字段Index,从0开始。",
3319
- "example": "",
3319
+ "example": "3",
3320
3320
  "member": "uint64",
3321
3321
  "name": "GroupExDescriptionIndex",
3322
3322
  "required": true,
@@ -3862,7 +3862,7 @@
3862
3862
  {
3863
3863
  "disabled": false,
3864
3864
  "document": "检测出的人脸图片状态返回码。\n- 0 表示正常。 \n- -1601代表不符合图片质量控制要求,此时Candidate内容为空。",
3865
- "example": "",
3865
+ "example": "0",
3866
3866
  "member": "int64",
3867
3867
  "name": "RetCode",
3868
3868
  "output_required": true,
@@ -3977,7 +3977,7 @@
3977
3977
  {
3978
3978
  "disabled": false,
3979
3979
  "document": "出参Score中,只有超过FaceMatchThreshold值的结果才会返回。默认为0。",
3980
- "example": "0",
3980
+ "example": "0.0",
3981
3981
  "member": "float",
3982
3982
  "name": "FaceMatchThreshold",
3983
3983
  "required": false,
@@ -428,7 +428,7 @@
428
428
  {
429
429
  "document": "",
430
430
  "input": "https://iai.tencentcloudapi.com/?Action=SearchFaces\n&Url=http://test.image.myqcloud.com/testA.jpg\n&MaxFaceNum=1\n&MinFaceSize=40\n&MaxPersonNum=5\n&GroupIds.0=TencentShenZhenEmployee\n&<公共请求参数>",
431
- "output": "{\n \"Response\": {\n \"Results\": [\n {\n \"RetCode\": 0,\n \"Candidates\": [\n {\n \"PersonId\": \"1001\",\n \"FaceId\": \"2875093635484912302\",\n \"PersonName\": \"Jerry\",\n \"Gender\": 0,\n \"Score\": 100,\n \"PersonGroupInfos\": [\n {\n \"GroupId\": \"abc\",\n \"PersonExDescriptions\": [\n \"description1\",\n \"description2\"\n ]\n }\n ]\n }\n ],\n \"FaceRect\": {\n \"X\": 370,\n \"Y\": 46,\n \"Width\": 75,\n \"Height\": 75\n }\n }\n ],\n \"FaceNum\": 1,\n \"FaceModelVersion\": \"3.0\",\n \"RequestId\": \"57b42b73-b978-45b9-8095-8f50e9642d35\"\n }\n}",
431
+ "output": "{\n \"Response\": {\n \"Results\": [\n {\n \"RetCode\": 0,\n \"Candidates\": [\n {\n \"PersonId\": \"1001\",\n \"FaceId\": \"2875093635484912302\",\n \"PersonName\": \"Jerry\",\n \"Gender\": 0,\n \"Score\": 100,\n \"PersonGroupInfos\": [\n {\n \"GroupId\": \"TencentShenZhenEmployee\",\n \"PersonExDescriptions\": [\n \"description1\",\n \"description2\"\n ]\n }\n ]\n }\n ],\n \"FaceRect\": {\n \"X\": 370,\n \"Y\": 46,\n \"Width\": 75,\n \"Height\": 75\n }\n }\n ],\n \"FaceNum\": 1,\n \"FaceModelVersion\": \"3.0\",\n \"RequestId\": \"57b42b73-b978-45b9-8095-8f50e9642d35\"\n }\n}",
432
432
  "title": "人脸搜索成功示例"
433
433
  },
434
434
  {
@@ -69,6 +69,58 @@ def doDescribeAggrSoftDeviceList(args, parsed_globals):
69
69
  FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
70
70
 
71
71
 
72
+ def doExportDeviceDownloadTask(args, parsed_globals):
73
+ g_param = parse_global_arg(parsed_globals)
74
+
75
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
76
+ cred = credential.CVMRoleCredential()
77
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
78
+ cred = credential.STSAssumeRoleCredential(
79
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
80
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
81
+ )
82
+ 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):
83
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
84
+ else:
85
+ cred = credential.Credential(
86
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
87
+ )
88
+ http_profile = HttpProfile(
89
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
90
+ reqMethod="POST",
91
+ endpoint=g_param[OptionsDefine.Endpoint],
92
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
93
+ )
94
+ profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
95
+ if g_param[OptionsDefine.Language]:
96
+ profile.language = g_param[OptionsDefine.Language]
97
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
98
+ client = mod.IoaClient(cred, g_param[OptionsDefine.Region], profile)
99
+ client._sdkVersion += ("_CLI_" + __version__)
100
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
101
+ model = models.ExportDeviceDownloadTaskRequest()
102
+ model.from_json_string(json.dumps(args))
103
+ start_time = time.time()
104
+ while True:
105
+ rsp = client.ExportDeviceDownloadTask(model)
106
+ result = rsp.to_json_string()
107
+ try:
108
+ json_obj = json.loads(result)
109
+ except TypeError as e:
110
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
111
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
112
+ break
113
+ cur_time = time.time()
114
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
115
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
116
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
117
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
118
+ else:
119
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
120
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
121
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
122
+
123
+
72
124
  def doCreateDeviceTask(args, parsed_globals):
73
125
  g_param = parse_global_arg(parsed_globals)
74
126
 
@@ -173,6 +225,58 @@ def doDescribeSoftwareInformation(args, parsed_globals):
173
225
  FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
174
226
 
175
227
 
228
+ def doCreateDLPFileDetectTask(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.CreateDLPFileDetectTaskRequest()
258
+ model.from_json_string(json.dumps(args))
259
+ start_time = time.time()
260
+ while True:
261
+ rsp = client.CreateDLPFileDetectTask(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
+
176
280
  def doCreateDeviceVirtualGroup(args, parsed_globals):
177
281
  g_param = parse_global_arg(parsed_globals)
178
282
 
@@ -225,6 +329,58 @@ def doCreateDeviceVirtualGroup(args, parsed_globals):
225
329
  FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
226
330
 
227
331
 
332
+ def doDescribeDLPFileDetectTaskResult(args, parsed_globals):
333
+ g_param = parse_global_arg(parsed_globals)
334
+
335
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
336
+ cred = credential.CVMRoleCredential()
337
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
338
+ cred = credential.STSAssumeRoleCredential(
339
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
340
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
341
+ )
342
+ 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):
343
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
344
+ else:
345
+ cred = credential.Credential(
346
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
347
+ )
348
+ http_profile = HttpProfile(
349
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
350
+ reqMethod="POST",
351
+ endpoint=g_param[OptionsDefine.Endpoint],
352
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
353
+ )
354
+ profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
355
+ if g_param[OptionsDefine.Language]:
356
+ profile.language = g_param[OptionsDefine.Language]
357
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
358
+ client = mod.IoaClient(cred, g_param[OptionsDefine.Region], profile)
359
+ client._sdkVersion += ("_CLI_" + __version__)
360
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
361
+ model = models.DescribeDLPFileDetectTaskResultRequest()
362
+ model.from_json_string(json.dumps(args))
363
+ start_time = time.time()
364
+ while True:
365
+ rsp = client.DescribeDLPFileDetectTaskResult(model)
366
+ result = rsp.to_json_string()
367
+ try:
368
+ json_obj = json.loads(result)
369
+ except TypeError as e:
370
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
371
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
372
+ break
373
+ cur_time = time.time()
374
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
375
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
376
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
377
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
378
+ else:
379
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
380
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
381
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
382
+
383
+
228
384
  def doDescribeVirtualDevices(args, parsed_globals):
229
385
  g_param = parse_global_arg(parsed_globals)
230
386
 
@@ -589,6 +745,58 @@ def doDescribeAggrSoftCategorySoftList(args, parsed_globals):
589
745
  FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
590
746
 
591
747
 
748
+ def doDescribeDLPEdgeNodes(args, parsed_globals):
749
+ g_param = parse_global_arg(parsed_globals)
750
+
751
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
752
+ cred = credential.CVMRoleCredential()
753
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
754
+ cred = credential.STSAssumeRoleCredential(
755
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
756
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
757
+ )
758
+ 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):
759
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
760
+ else:
761
+ cred = credential.Credential(
762
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
763
+ )
764
+ http_profile = HttpProfile(
765
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
766
+ reqMethod="POST",
767
+ endpoint=g_param[OptionsDefine.Endpoint],
768
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
769
+ )
770
+ profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
771
+ if g_param[OptionsDefine.Language]:
772
+ profile.language = g_param[OptionsDefine.Language]
773
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
774
+ client = mod.IoaClient(cred, g_param[OptionsDefine.Region], profile)
775
+ client._sdkVersion += ("_CLI_" + __version__)
776
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
777
+ model = models.DescribeDLPEdgeNodesRequest()
778
+ model.from_json_string(json.dumps(args))
779
+ start_time = time.time()
780
+ while True:
781
+ rsp = client.DescribeDLPEdgeNodes(model)
782
+ result = rsp.to_json_string()
783
+ try:
784
+ json_obj = json.loads(result)
785
+ except TypeError as e:
786
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
787
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
788
+ break
789
+ cur_time = time.time()
790
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
791
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
792
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
793
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
794
+ else:
795
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
796
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
797
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
798
+
799
+
592
800
  def doDescribeAggrSoftDetail(args, parsed_globals):
593
801
  g_param = parse_global_arg(parsed_globals)
594
802
 
@@ -953,6 +1161,58 @@ def doDescribeLocalAccounts(args, parsed_globals):
953
1161
  FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
954
1162
 
955
1163
 
1164
+ def doDescribeDLPEdgeNodeGroups(args, parsed_globals):
1165
+ g_param = parse_global_arg(parsed_globals)
1166
+
1167
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
1168
+ cred = credential.CVMRoleCredential()
1169
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
1170
+ cred = credential.STSAssumeRoleCredential(
1171
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
1172
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
1173
+ )
1174
+ 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):
1175
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
1176
+ else:
1177
+ cred = credential.Credential(
1178
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
1179
+ )
1180
+ http_profile = HttpProfile(
1181
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
1182
+ reqMethod="POST",
1183
+ endpoint=g_param[OptionsDefine.Endpoint],
1184
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
1185
+ )
1186
+ profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
1187
+ if g_param[OptionsDefine.Language]:
1188
+ profile.language = g_param[OptionsDefine.Language]
1189
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
1190
+ client = mod.IoaClient(cred, g_param[OptionsDefine.Region], profile)
1191
+ client._sdkVersion += ("_CLI_" + __version__)
1192
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
1193
+ model = models.DescribeDLPEdgeNodeGroupsRequest()
1194
+ model.from_json_string(json.dumps(args))
1195
+ start_time = time.time()
1196
+ while True:
1197
+ rsp = client.DescribeDLPEdgeNodeGroups(model)
1198
+ result = rsp.to_json_string()
1199
+ try:
1200
+ json_obj = json.loads(result)
1201
+ except TypeError as e:
1202
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
1203
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
1204
+ break
1205
+ cur_time = time.time()
1206
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
1207
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
1208
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
1209
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
1210
+ else:
1211
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
1212
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
1213
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
1214
+
1215
+
956
1216
  def doDescribeDevices(args, parsed_globals):
957
1217
  g_param = parse_global_arg(parsed_globals)
958
1218
 
@@ -1173,9 +1433,12 @@ MODELS_MAP = {
1173
1433
 
1174
1434
  ACTION_MAP = {
1175
1435
  "DescribeAggrSoftDeviceList": doDescribeAggrSoftDeviceList,
1436
+ "ExportDeviceDownloadTask": doExportDeviceDownloadTask,
1176
1437
  "CreateDeviceTask": doCreateDeviceTask,
1177
1438
  "DescribeSoftwareInformation": doDescribeSoftwareInformation,
1439
+ "CreateDLPFileDetectTask": doCreateDLPFileDetectTask,
1178
1440
  "CreateDeviceVirtualGroup": doCreateDeviceVirtualGroup,
1441
+ "DescribeDLPFileDetectTaskResult": doDescribeDLPFileDetectTaskResult,
1179
1442
  "DescribeVirtualDevices": doDescribeVirtualDevices,
1180
1443
  "ExportSoftwareInformationList": doExportSoftwareInformationList,
1181
1444
  "CreateDLPFileDetectionTask": doCreateDLPFileDetectionTask,
@@ -1183,6 +1446,7 @@ ACTION_MAP = {
1183
1446
  "DescribeRootAccountGroup": doDescribeRootAccountGroup,
1184
1447
  "DescribeDLPFileDetectResult": doDescribeDLPFileDetectResult,
1185
1448
  "DescribeAggrSoftCategorySoftList": doDescribeAggrSoftCategorySoftList,
1449
+ "DescribeDLPEdgeNodes": doDescribeDLPEdgeNodes,
1186
1450
  "DescribeAggrSoftDetail": doDescribeAggrSoftDetail,
1187
1451
  "DescribeDeviceInfo": doDescribeDeviceInfo,
1188
1452
  "DescribeDeviceHardwareInfoList": doDescribeDeviceHardwareInfoList,
@@ -1190,6 +1454,7 @@ ACTION_MAP = {
1190
1454
  "DescribeAccountGroups": doDescribeAccountGroups,
1191
1455
  "DescribeDeviceDetailList": doDescribeDeviceDetailList,
1192
1456
  "DescribeLocalAccounts": doDescribeLocalAccounts,
1457
+ "DescribeDLPEdgeNodeGroups": doDescribeDLPEdgeNodeGroups,
1193
1458
  "DescribeDevices": doDescribeDevices,
1194
1459
  "DescribeDeviceVirtualGroups": doDescribeDeviceVirtualGroups,
1195
1460
  "DescribeSoftCensusListByDevice": doDescribeSoftCensusListByDevice,