tccli-intl-en 3.0.1188.1__py2.py3-none-any.whl → 3.1.28.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-intl-en might be problematic. Click here for more details.

Files changed (292) hide show
  1. tccli/__init__.py +1 -1
  2. tccli/argument.py +1 -1
  3. tccli/plugins/sso/__init__.py +14 -0
  4. tccli/plugins/sso/login.py +23 -6
  5. tccli/plugins/sso/texts.py +4 -0
  6. tccli/services/__init__.py +46 -2
  7. tccli/services/advisor/advisor_client.py +10 -4
  8. tccli/services/ai3d/__init__.py +4 -0
  9. tccli/services/ai3d/ai3d_client.py +266 -0
  10. tccli/services/ai3d/v20250513/api.json +264 -0
  11. tccli/services/ai3d/v20250513/examples.json +20 -0
  12. tccli/services/aiart/aiart_client.py +5 -2
  13. tccli/services/ams/ams_client.py +20 -8
  14. tccli/services/antiddos/antiddos_client.py +350 -140
  15. tccli/services/apigateway/apigateway_client.py +465 -186
  16. tccli/services/apm/apm_client.py +835 -68
  17. tccli/services/apm/v20210622/api.json +3936 -1145
  18. tccli/services/apm/v20210622/examples.json +133 -23
  19. tccli/services/asr/asr_client.py +10 -4
  20. tccli/services/autoscaling/autoscaling_client.py +341 -114
  21. tccli/services/autoscaling/v20180419/api.json +444 -272
  22. tccli/services/autoscaling/v20180419/examples.json +46 -38
  23. tccli/services/batch/batch_client.py +140 -56
  24. tccli/services/bi/__init__.py +4 -0
  25. tccli/services/bi/bi_client.py +1498 -0
  26. tccli/services/bi/v20220105/api.json +5769 -0
  27. tccli/services/bi/v20220105/examples.json +215 -0
  28. tccli/services/billing/billing_client.py +1007 -139
  29. tccli/services/billing/v20180709/api.json +1707 -429
  30. tccli/services/billing/v20180709/examples.json +161 -25
  31. tccli/services/cam/cam_client.py +405 -162
  32. tccli/services/captcha/captcha_client.py +5 -2
  33. tccli/services/captcha/v20190722/api.json +16 -6
  34. tccli/services/captcha/v20190722/examples.json +3 -3
  35. tccli/services/car/car_client.py +165 -66
  36. tccli/services/cbs/cbs_client.py +190 -76
  37. tccli/services/ccc/ccc_client.py +1167 -268
  38. tccli/services/ccc/v20200210/api.json +2263 -202
  39. tccli/services/ccc/v20200210/examples.json +116 -12
  40. tccli/services/cdb/cdb_client.py +665 -266
  41. tccli/services/cdb/v20170320/api.json +463 -208
  42. tccli/services/cdb/v20170320/examples.json +8 -8
  43. tccli/services/cdc/cdc_client.py +100 -40
  44. tccli/services/cdc/v20201214/api.json +2 -2
  45. tccli/services/cdc/v20201214/examples.json +4 -4
  46. tccli/services/cdn/cdn_client.py +220 -88
  47. tccli/services/cdn/v20180606/api.json +22 -22
  48. tccli/services/cdn/v20180606/examples.json +1 -1
  49. tccli/services/cdwdoris/cdwdoris_client.py +385 -154
  50. tccli/services/cdwpg/cdwpg_client.py +120 -48
  51. tccli/services/cdz/__init__.py +4 -0
  52. tccli/services/cdz/cdz_client.py +210 -0
  53. tccli/services/cdz/v20221123/api.json +233 -0
  54. tccli/services/cdz/v20221123/examples.json +12 -0
  55. tccli/services/cfg/cfg_client.py +80 -32
  56. tccli/services/cfg/v20210820/api.json +30 -10
  57. tccli/services/cfg/v20210820/examples.json +1 -1
  58. tccli/services/cfs/cfs_client.py +195 -78
  59. tccli/services/cfw/cfw_client.py +330 -132
  60. tccli/services/chdfs/chdfs_client.py +145 -58
  61. tccli/services/ciam/ciam_client.py +80 -32
  62. tccli/services/ckafka/ckafka_client.py +1149 -259
  63. tccli/services/ckafka/v20190819/api.json +3738 -1696
  64. tccli/services/ckafka/v20190819/examples.json +266 -162
  65. tccli/services/clb/clb_client.py +1054 -469
  66. tccli/services/clb/v20180317/api.json +2273 -1020
  67. tccli/services/clb/v20180317/examples.json +184 -124
  68. tccli/services/cloudaudit/cloudaudit_client.py +90 -36
  69. tccli/services/cls/cls_client.py +434 -173
  70. tccli/services/cmq/cmq_client.py +14 -803
  71. tccli/services/cmq/v20190304/api.json +173 -1367
  72. tccli/services/cmq/v20190304/examples.json +0 -120
  73. tccli/services/config/config_client.py +30 -12
  74. tccli/services/controlcenter/controlcenter_client.py +229 -2
  75. tccli/services/controlcenter/v20230110/api.json +528 -5
  76. tccli/services/controlcenter/v20230110/examples.json +32 -0
  77. tccli/services/csip/csip_client.py +339 -78
  78. tccli/services/csip/v20221121/api.json +1011 -38
  79. tccli/services/csip/v20221121/examples.json +24 -0
  80. tccli/services/ctsdb/__init__.py +4 -0
  81. tccli/services/ctsdb/ctsdb_client.py +266 -0
  82. tccli/services/ctsdb/v20230202/api.json +677 -0
  83. tccli/services/ctsdb/v20230202/examples.json +20 -0
  84. tccli/services/cvm/cvm_client.py +706 -189
  85. tccli/services/cvm/v20170312/api.json +1003 -453
  86. tccli/services/cvm/v20170312/examples.json +176 -130
  87. tccli/services/cwp/cwp_client.py +2325 -930
  88. tccli/services/cynosdb/cynosdb_client.py +2272 -591
  89. tccli/services/cynosdb/v20190107/api.json +12480 -7740
  90. tccli/services/cynosdb/v20190107/examples.json +193 -9
  91. tccli/services/dataintegration/dataintegration_client.py +5 -2
  92. tccli/services/dayu/dayu_client.py +515 -206
  93. tccli/services/dbbrain/dbbrain_client.py +210 -84
  94. tccli/services/dc/dc_client.py +90 -36
  95. tccli/services/dcdb/dcdb_client.py +310 -124
  96. tccli/services/dlc/dlc_client.py +859 -214
  97. tccli/services/dlc/v20210125/api.json +637 -13
  98. tccli/services/dlc/v20210125/examples.json +48 -0
  99. tccli/services/dms/dms_client.py +10 -4
  100. tccli/services/dnspod/dnspod_client.py +390 -111
  101. tccli/services/dnspod/v20210323/api.json +196 -0
  102. tccli/services/dnspod/v20210323/examples.json +24 -0
  103. tccli/services/domain/domain_client.py +120 -48
  104. tccli/services/dts/dts_client.py +415 -166
  105. tccli/services/eb/eb_client.py +130 -52
  106. tccli/services/ecdn/ecdn_client.py +75 -30
  107. tccli/services/ecm/ecm_client.py +620 -248
  108. tccli/services/eiam/eiam_client.py +200 -80
  109. tccli/services/emr/emr_client.py +3104 -117
  110. tccli/services/emr/v20190103/api.json +15311 -4361
  111. tccli/services/emr/v20190103/examples.json +452 -42
  112. tccli/services/es/es_client.py +105 -42
  113. tccli/services/facefusion/facefusion_client.py +15 -6
  114. tccli/services/faceid/faceid_client.py +95 -38
  115. tccli/services/faceid/v20180301/api.json +172 -45
  116. tccli/services/faceid/v20180301/examples.json +3 -3
  117. tccli/services/gaap/gaap_client.py +440 -176
  118. tccli/services/gme/gme_client.py +50 -20
  119. tccli/services/gpm/gpm_client.py +90 -36
  120. tccli/services/gse/gse_client.py +110 -44
  121. tccli/services/gwlb/gwlb_client.py +90 -36
  122. tccli/services/hunyuan/__init__.py +4 -0
  123. tccli/services/hunyuan/hunyuan_client.py +490 -0
  124. tccli/services/hunyuan/v20230901/api.json +566 -0
  125. tccli/services/hunyuan/v20230901/examples.json +52 -0
  126. tccli/services/iai/iai_client.py +145 -58
  127. tccli/services/iai/v20200303/api.json +187 -51
  128. tccli/services/iai/v20200303/examples.json +30 -12
  129. tccli/services/iap/iap_client.py +30 -12
  130. tccli/services/ims/ims_client.py +5 -2
  131. tccli/services/ims/v20201229/api.json +133 -141
  132. tccli/services/ims/v20201229/examples.json +3 -3
  133. tccli/services/intlpartnersmgt/intlpartnersmgt_client.py +363 -78
  134. tccli/services/intlpartnersmgt/v20220928/api.json +513 -22
  135. tccli/services/intlpartnersmgt/v20220928/examples.json +24 -0
  136. tccli/services/iotcloud/iotcloud_client.py +100 -40
  137. tccli/services/iotcloud/v20210408/api.json +216 -107
  138. tccli/services/iotcloud/v20210408/examples.json +9 -9
  139. tccli/services/ip/ip_client.py +30 -12
  140. tccli/services/kms/kms_client.py +1226 -227
  141. tccli/services/kms/v20190118/api.json +1465 -123
  142. tccli/services/kms/v20190118/examples.json +129 -3
  143. tccli/services/lcic/lcic_client.py +265 -106
  144. tccli/services/lighthouse/lighthouse_client.py +730 -172
  145. tccli/services/lighthouse/v20200324/api.json +502 -14
  146. tccli/services/lighthouse/v20200324/examples.json +59 -5
  147. tccli/services/live/live_client.py +804 -232
  148. tccli/services/live/v20180801/api.json +272 -0
  149. tccli/services/live/v20180801/examples.json +32 -0
  150. tccli/services/lke/__init__.py +4 -0
  151. tccli/services/lke/lke_client.py +5194 -0
  152. tccli/services/lke/v20231130/api.json +14803 -0
  153. tccli/services/lke/v20231130/examples.json +736 -0
  154. tccli/services/lkeap/__init__.py +4 -0
  155. tccli/services/lkeap/lkeap_client.py +602 -0
  156. tccli/services/lkeap/v20240522/api.json +989 -0
  157. tccli/services/lkeap/v20240522/examples.json +92 -0
  158. tccli/services/mariadb/mariadb_client.py +250 -100
  159. tccli/services/mdc/mdc_client.py +90 -36
  160. tccli/services/mdl/mdl_client.py +402 -82
  161. tccli/services/mdl/v20200326/api.json +1437 -100
  162. tccli/services/mdl/v20200326/examples.json +48 -16
  163. tccli/services/mdp/mdp_client.py +785 -122
  164. tccli/services/mdp/v20200527/api.json +1336 -49
  165. tccli/services/mdp/v20200527/examples.json +151 -79
  166. tccli/services/message/__init__.py +4 -0
  167. tccli/services/message/message_client.py +210 -0
  168. tccli/services/message/v20181225/api.json +72 -0
  169. tccli/services/message/v20181225/examples.json +13 -0
  170. tccli/services/mongodb/mongodb_client.py +1452 -136
  171. tccli/services/mongodb/v20190725/api.json +4393 -1462
  172. tccli/services/mongodb/v20190725/examples.json +265 -71
  173. tccli/services/monitor/monitor_client.py +1008 -296
  174. tccli/services/monitor/v20180724/api.json +664 -15
  175. tccli/services/monitor/v20180724/examples.json +152 -4
  176. tccli/services/mps/mps_client.py +1878 -379
  177. tccli/services/mps/v20190612/api.json +7473 -1626
  178. tccli/services/mps/v20190612/examples.json +276 -82
  179. tccli/services/mqtt/__init__.py +4 -0
  180. tccli/services/mqtt/mqtt_client.py +1610 -0
  181. tccli/services/mqtt/v20240516/api.json +3057 -0
  182. tccli/services/mqtt/v20240516/examples.json +213 -0
  183. tccli/services/msp/msp_client.py +35 -14
  184. tccli/services/ocr/ocr_client.py +515 -74
  185. tccli/services/ocr/v20181119/api.json +1991 -168
  186. tccli/services/ocr/v20181119/examples.json +58 -4
  187. tccli/services/omics/omics_client.py +100 -40
  188. tccli/services/organization/organization_client.py +580 -232
  189. tccli/services/postgres/postgres_client.py +455 -182
  190. tccli/services/postgres/v20170312/api.json +134 -109
  191. tccli/services/postgres/v20170312/examples.json +14 -14
  192. tccli/services/privatedns/privatedns_client.py +206 -60
  193. tccli/services/privatedns/v20201028/api.json +179 -0
  194. tccli/services/privatedns/v20201028/examples.json +8 -0
  195. tccli/services/pts/pts_client.py +240 -96
  196. tccli/services/quota/__init__.py +4 -0
  197. tccli/services/quota/quota_client.py +434 -0
  198. tccli/services/quota/v20241204/api.json +548 -0
  199. tccli/services/quota/v20241204/examples.json +51 -0
  200. tccli/services/rce/rce_client.py +5 -2
  201. tccli/services/redis/redis_client.py +698 -212
  202. tccli/services/redis/v20180412/api.json +968 -563
  203. tccli/services/redis/v20180412/examples.json +98 -56
  204. tccli/services/region/__init__.py +4 -0
  205. tccli/services/region/region_client.py +322 -0
  206. tccli/services/region/v20220627/api.json +399 -0
  207. tccli/services/region/v20220627/examples.json +29 -0
  208. tccli/services/rum/rum_client.py +300 -120
  209. tccli/services/scf/scf_client.py +210 -84
  210. tccli/services/ses/ses_client.py +368 -69
  211. tccli/services/ses/v20201002/api.json +240 -0
  212. tccli/services/ses/v20201002/examples.json +32 -0
  213. tccli/services/smh/__init__.py +4 -0
  214. tccli/services/smh/smh_client.py +714 -0
  215. tccli/services/smh/v20210712/api.json +1287 -0
  216. tccli/services/smh/v20210712/examples.json +85 -0
  217. tccli/services/sms/sms_client.py +90 -36
  218. tccli/services/sqlserver/sqlserver_client.py +3855 -470
  219. tccli/services/sqlserver/v20180328/api.json +9757 -3347
  220. tccli/services/sqlserver/v20180328/examples.json +480 -20
  221. tccli/services/ssl/ssl_client.py +504 -72
  222. tccli/services/ssl/v20191205/api.json +789 -21
  223. tccli/services/ssl/v20191205/examples.json +54 -0
  224. tccli/services/ssm/ssm_client.py +120 -48
  225. tccli/services/sts/sts_client.py +25 -10
  226. tccli/services/tag/tag_client.py +150 -60
  227. tccli/services/tat/tat_client.py +95 -38
  228. tccli/services/tbaas/tbaas_client.py +20 -8
  229. tccli/services/tcaplusdb/tcaplusdb_client.py +260 -104
  230. tccli/services/tcaplusdb/v20190823/api.json +836 -760
  231. tccli/services/tcaplusdb/v20190823/examples.json +3 -3
  232. tccli/services/tchd/tchd_client.py +5 -2
  233. tccli/services/tcmpp/tcmpp_client.py +520 -208
  234. tccli/services/tcr/tcr_client.py +380 -152
  235. tccli/services/tcsas/tcsas_client.py +295 -118
  236. tccli/services/tcsas/v20250106/api.json +1084 -980
  237. tccli/services/tcsas/v20250106/examples.json +15 -15
  238. tccli/services/tcss/tcss_client.py +1650 -660
  239. tccli/services/tdid/tdid_client.py +240 -96
  240. tccli/services/tdmq/tdmq_client.py +2876 -466
  241. tccli/services/tdmq/v20200217/api.json +11607 -3958
  242. tccli/services/tdmq/v20200217/examples.json +562 -264
  243. tccli/services/tem/tem_client.py +280 -112
  244. tccli/services/teo/teo_client.py +4507 -966
  245. tccli/services/teo/v20220901/api.json +7341 -1405
  246. tccli/services/teo/v20220901/examples.json +679 -99
  247. tccli/services/tione/__init__.py +4 -0
  248. tccli/services/tione/tione_client.py +210 -0
  249. tccli/services/tione/v20211111/api.json +3074 -0
  250. tccli/services/tione/v20211111/examples.json +12 -0
  251. tccli/services/tiw/tiw_client.py +255 -102
  252. tccli/services/tke/tke_client.py +858 -276
  253. tccli/services/tke/v20180525/api.json +227 -0
  254. tccli/services/tke/v20180525/examples.json +24 -0
  255. tccli/services/tms/tms_client.py +5 -2
  256. tccli/services/tms/v20201229/api.json +91 -100
  257. tccli/services/tmt/tmt_client.py +5 -2
  258. tccli/services/trabbit/trabbit_client.py +145 -58
  259. tccli/services/trocket/__init__.py +4 -0
  260. tccli/services/trocket/trocket_client.py +2450 -0
  261. tccli/services/trocket/v20230308/api.json +6062 -0
  262. tccli/services/trocket/v20230308/examples.json +339 -0
  263. tccli/services/trro/trro_client.py +95 -38
  264. tccli/services/trtc/trtc_client.py +928 -192
  265. tccli/services/trtc/v20190722/api.json +1810 -256
  266. tccli/services/trtc/v20190722/examples.json +100 -6
  267. tccli/services/tts/tts_client.py +5 -2
  268. tccli/services/vclm/vclm_client.py +10 -4
  269. tccli/services/vm/v20210922/api.json +61 -30
  270. tccli/services/vm/v20210922/examples.json +0 -12
  271. tccli/services/vm/vm_client.py +20 -8
  272. tccli/services/vod/v20180717/api.json +531 -54
  273. tccli/services/vod/v20180717/examples.json +25 -7
  274. tccli/services/vod/v20240718/api.json +1105 -0
  275. tccli/services/vod/v20240718/examples.json +97 -0
  276. tccli/services/vod/vod_client.py +1428 -350
  277. tccli/services/vpc/v20170312/api.json +1031 -133
  278. tccli/services/vpc/v20170312/examples.json +119 -23
  279. tccli/services/vpc/vpc_client.py +2159 -644
  280. tccli/services/waf/v20180125/api.json +1372 -194
  281. tccli/services/waf/v20180125/examples.json +89 -1
  282. tccli/services/waf/waf_client.py +1149 -245
  283. tccli/services/wedata/v20250806/api.json +13644 -0
  284. tccli/services/wedata/v20250806/examples.json +621 -0
  285. tccli/services/wedata/wedata_client.py +6067 -1263
  286. tccli/services/yunjing/yunjing_client.py +355 -142
  287. {tccli_intl_en-3.0.1188.1.dist-info → tccli_intl_en-3.1.28.1.dist-info}/METADATA +4 -7
  288. {tccli_intl_en-3.0.1188.1.dist-info → tccli_intl_en-3.1.28.1.dist-info}/RECORD +292 -232
  289. {tccli_intl_en-3.0.1188.1.dist-info → tccli_intl_en-3.1.28.1.dist-info}/WHEEL +1 -1
  290. {tccli_intl_en-3.0.1188.1.dist-info → tccli_intl_en-3.1.28.1.dist-info}/entry_points.txt +0 -1
  291. {tccli_intl_en-3.0.1188.1.dist-info → tccli_intl_en-3.1.28.1.dist-info}/LICENSE +0 -0
  292. {tccli_intl_en-3.0.1188.1.dist-info → tccli_intl_en-3.1.28.1.dist-info}/top_level.txt +0 -0
tccli/__init__.py CHANGED
@@ -1 +1 @@
1
- __version__ = '3.0.1188.1'
1
+ __version__ = '3.1.28.1'
tccli/argument.py CHANGED
@@ -169,7 +169,7 @@ class CLIArgument(BaseArgument):
169
169
  'Float': float,
170
170
  'Integer': int,
171
171
  'Timestamp': str,
172
- 'Boolean': str
172
+ 'Boolean': bool
173
173
  }
174
174
 
175
175
  def __init__(self, name, argument_model, action_model,
@@ -45,6 +45,20 @@ _spec = {
45
45
  "required": False,
46
46
  "document": "duration for credential",
47
47
  },
48
+ {
49
+ "name": "uin",
50
+ "member": "string",
51
+ "type": "string",
52
+ "required": False,
53
+ "document": "Account uin to use",
54
+ },
55
+ {
56
+ "name": "rolename",
57
+ "member": "string",
58
+ "type": "string",
59
+ "required": False,
60
+ "document": "Role to use",
61
+ },
48
62
  ],
49
63
  },
50
64
  "loginResponse": {"members": []},
@@ -65,9 +65,17 @@ def login(args, profile, language):
65
65
  print_message(_("no_account"))
66
66
  return
67
67
 
68
- idx = terminal.select_from_items(
69
- _("account_select_prompt"), ["%s:%s" % (x["Name"], x["Uin"]) for x in accounts], 10)
70
- account = accounts[idx]
68
+ specified_uin = args.get("uin", "")
69
+ if specified_uin:
70
+ account = next((x for x in accounts if str(x["Uin"]) == specified_uin), None)
71
+ if not account:
72
+ print_message(_("specified_uin_not_found") % (specified_uin, ",".join(str(x["Uin"]) for x in accounts)))
73
+ return
74
+ else:
75
+ idx = terminal.select_from_items(
76
+ _("account_select_prompt"), ["%s:%s" % (x["Name"], x["Uin"]) for x in accounts], 10)
77
+ account = accounts[idx]
78
+
71
79
  print_message("uin: %s" % account["Uin"])
72
80
  print_message("username: %s" % account["Name"])
73
81
 
@@ -76,9 +84,18 @@ def login(args, profile, language):
76
84
  print_message(_("no_role"))
77
85
  return
78
86
 
79
- idx = terminal.select_from_items(
80
- _("role_select_prompt"), [x["RoleConfigurationName"] for x in roles], 10)
81
- role = roles[idx]
87
+ specified_role = args.get("rolename", "")
88
+ if specified_role:
89
+ role = next((x for x in roles if x["RoleConfigurationName"] == specified_role), None)
90
+ if not role:
91
+ print_message(
92
+ _("specified_role_not_found") % (specified_role, ",".join(x["RoleConfigurationName"] for x in roles)))
93
+ return
94
+ else:
95
+ idx = terminal.select_from_items(
96
+ _("role_select_prompt"), [x["RoleConfigurationName"] for x in roles], 10)
97
+ role = roles[idx]
98
+
82
99
  print_message("role: %s" % role["RoleConfigurationName"])
83
100
 
84
101
  saml_resp = sso.gen_saml_response(
@@ -15,6 +15,8 @@ texts = {
15
15
  "logout_success": "登出成功, 密钥凭证已被删除: %s",
16
16
  "no_account": "未找到成员账号, 请确认是否同步过 CAM 角色",
17
17
  "no_role": "当前成员账号不存在授权角色",
18
+ "specified_uin_not_found": "未找到指定的 uin,uin=%s,all=[%s]",
19
+ "specified_role_not_found": "未找到指定的 role, role=%s, all=[%s]",
18
20
  },
19
21
  "en-US": {
20
22
  "invalid_auth_url": "The entered url is invalid: %s",
@@ -27,6 +29,8 @@ texts = {
27
29
  "logout_success": "Logout succeed, credential has been removed: %s",
28
30
  "no_account": "no account found, please confirm the account is synchronized",
29
31
  "no_role": "no role found in current account",
32
+ "specified_uin_not_found": "Specified uin not found, uin=%s, all=[%s]",
33
+ "specified_role_not_found": "Specified role not found, role=%s, all=[%s]",
30
34
  }
31
35
  }
32
36
 
@@ -24,6 +24,9 @@ SERVICE_VERSIONS = {
24
24
  "advisor": [
25
25
  "2020-07-21"
26
26
  ],
27
+ "ai3d": [
28
+ "2025-05-13"
29
+ ],
27
30
  "aiart": [
28
31
  "2022-12-29"
29
32
  ],
@@ -48,6 +51,9 @@ SERVICE_VERSIONS = {
48
51
  "batch": [
49
52
  "2017-03-12"
50
53
  ],
54
+ "bi": [
55
+ "2022-01-05"
56
+ ],
51
57
  "billing": [
52
58
  "2018-07-09"
53
59
  ],
@@ -81,6 +87,9 @@ SERVICE_VERSIONS = {
81
87
  "cdwpg": [
82
88
  "2020-12-30"
83
89
  ],
90
+ "cdz": [
91
+ "2022-11-23"
92
+ ],
84
93
  "cfg": [
85
94
  "2021-08-20"
86
95
  ],
@@ -121,6 +130,9 @@ SERVICE_VERSIONS = {
121
130
  "csip": [
122
131
  "2022-11-21"
123
132
  ],
133
+ "ctsdb": [
134
+ "2023-02-02"
135
+ ],
124
136
  "cvm": [
125
137
  "2017-03-12"
126
138
  ],
@@ -201,6 +213,9 @@ SERVICE_VERSIONS = {
201
213
  "gwlb": [
202
214
  "2024-09-06"
203
215
  ],
216
+ "hunyuan": [
217
+ "2023-09-01"
218
+ ],
204
219
  "iai": [
205
220
  "2020-03-03"
206
221
  ],
@@ -231,6 +246,12 @@ SERVICE_VERSIONS = {
231
246
  "live": [
232
247
  "2018-08-01"
233
248
  ],
249
+ "lke": [
250
+ "2023-11-30"
251
+ ],
252
+ "lkeap": [
253
+ "2024-05-22"
254
+ ],
234
255
  "mariadb": [
235
256
  "2017-03-12"
236
257
  ],
@@ -243,6 +264,9 @@ SERVICE_VERSIONS = {
243
264
  "mdp": [
244
265
  "2020-05-27"
245
266
  ],
267
+ "message": [
268
+ "2018-12-25"
269
+ ],
246
270
  "mongodb": [
247
271
  "2019-07-25"
248
272
  ],
@@ -252,6 +276,9 @@ SERVICE_VERSIONS = {
252
276
  "mps": [
253
277
  "2019-06-12"
254
278
  ],
279
+ "mqtt": [
280
+ "2024-05-16"
281
+ ],
255
282
  "msp": [
256
283
  "2018-03-19"
257
284
  ],
@@ -274,12 +301,18 @@ SERVICE_VERSIONS = {
274
301
  "pts": [
275
302
  "2021-07-28"
276
303
  ],
304
+ "quota": [
305
+ "2024-12-04"
306
+ ],
277
307
  "rce": [
278
308
  "2020-11-03"
279
309
  ],
280
310
  "redis": [
281
311
  "2018-04-12"
282
312
  ],
313
+ "region": [
314
+ "2022-06-27"
315
+ ],
283
316
  "rum": [
284
317
  "2021-06-22"
285
318
  ],
@@ -289,6 +322,9 @@ SERVICE_VERSIONS = {
289
322
  "ses": [
290
323
  "2020-10-02"
291
324
  ],
325
+ "smh": [
326
+ "2021-07-12"
327
+ ],
292
328
  "sms": [
293
329
  "2021-01-11",
294
330
  "2019-07-11"
@@ -346,6 +382,9 @@ SERVICE_VERSIONS = {
346
382
  "2022-09-01",
347
383
  "2022-01-06"
348
384
  ],
385
+ "tione": [
386
+ "2021-11-11"
387
+ ],
349
388
  "tiw": [
350
389
  "2019-09-19"
351
390
  ],
@@ -362,6 +401,9 @@ SERVICE_VERSIONS = {
362
401
  "trabbit": [
363
402
  "2023-04-18"
364
403
  ],
404
+ "trocket": [
405
+ "2023-03-08"
406
+ ],
365
407
  "trro": [
366
408
  "2022-03-25"
367
409
  ],
@@ -379,7 +421,8 @@ SERVICE_VERSIONS = {
379
421
  "2020-12-29"
380
422
  ],
381
423
  "vod": [
382
- "2018-07-17"
424
+ "2018-07-17",
425
+ "2024-07-18"
383
426
  ],
384
427
  "vpc": [
385
428
  "2017-03-12"
@@ -388,7 +431,8 @@ SERVICE_VERSIONS = {
388
431
  "2018-01-25"
389
432
  ],
390
433
  "wedata": [
391
- "2021-08-20"
434
+ "2021-08-20",
435
+ "2025-08-06"
392
436
  ],
393
437
  "yunjing": [
394
438
  "2018-02-28"
@@ -27,7 +27,10 @@ def doDescribeTaskStrategyRisks(args, parsed_globals):
27
27
  g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
28
28
  g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
29
29
  )
30
- 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):
30
+ elif os.getenv(OptionsDefine.ENV_TKE_REGION) \
31
+ and os.getenv(OptionsDefine.ENV_TKE_PROVIDER_ID) \
32
+ and os.getenv(OptionsDefine.ENV_TKE_WEB_IDENTITY_TOKEN_FILE) \
33
+ and os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN):
31
34
  cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
32
35
  else:
33
36
  cred = credential.Credential(
@@ -39,7 +42,7 @@ def doDescribeTaskStrategyRisks(args, parsed_globals):
39
42
  endpoint=g_param[OptionsDefine.Endpoint],
40
43
  proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
41
44
  )
42
- profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
45
+ profile = ClientProfile(httpProfile=http_profile, signMethod="TC3-HMAC-SHA256")
43
46
  if g_param[OptionsDefine.Language]:
44
47
  profile.language = g_param[OptionsDefine.Language]
45
48
  mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
@@ -79,7 +82,10 @@ def doDescribeStrategies(args, parsed_globals):
79
82
  g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
80
83
  g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
81
84
  )
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):
85
+ elif os.getenv(OptionsDefine.ENV_TKE_REGION) \
86
+ and os.getenv(OptionsDefine.ENV_TKE_PROVIDER_ID) \
87
+ and os.getenv(OptionsDefine.ENV_TKE_WEB_IDENTITY_TOKEN_FILE) \
88
+ and os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN):
83
89
  cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
84
90
  else:
85
91
  cred = credential.Credential(
@@ -91,7 +97,7 @@ def doDescribeStrategies(args, parsed_globals):
91
97
  endpoint=g_param[OptionsDefine.Endpoint],
92
98
  proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
93
99
  )
94
- profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
100
+ profile = ClientProfile(httpProfile=http_profile, signMethod="TC3-HMAC-SHA256")
95
101
  if g_param[OptionsDefine.Language]:
96
102
  profile.language = g_param[OptionsDefine.Language]
97
103
  mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
@@ -0,0 +1,4 @@
1
+ # -*- coding: utf-8 -*-
2
+
3
+ from tccli.services.ai3d.ai3d_client import action_caller
4
+
@@ -0,0 +1,266 @@
1
+ # -*- coding: utf-8 -*-
2
+ import os
3
+ import sys
4
+ import six
5
+ import json
6
+ import tccli.options_define as OptionsDefine
7
+ import tccli.format_output as FormatOutput
8
+ from tccli import __version__
9
+ from tccli.utils import Utils
10
+ from tccli.exceptions import ConfigurationError, ClientError, ParamError
11
+ from tencentcloud.common import credential
12
+ from tencentcloud.common.profile.http_profile import HttpProfile
13
+ from tencentcloud.common.profile.client_profile import ClientProfile
14
+ from tencentcloud.ai3d.v20250513 import ai3d_client as ai3d_client_v20250513
15
+ from tencentcloud.ai3d.v20250513 import models as models_v20250513
16
+
17
+ from jmespath import search
18
+ import time
19
+
20
+ def doSubmitHunyuanTo3DProJob(args, parsed_globals):
21
+ g_param = parse_global_arg(parsed_globals)
22
+
23
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
24
+ cred = credential.CVMRoleCredential()
25
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
26
+ cred = credential.STSAssumeRoleCredential(
27
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
28
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
29
+ )
30
+ elif os.getenv(OptionsDefine.ENV_TKE_REGION) \
31
+ and os.getenv(OptionsDefine.ENV_TKE_PROVIDER_ID) \
32
+ and os.getenv(OptionsDefine.ENV_TKE_WEB_IDENTITY_TOKEN_FILE) \
33
+ and os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN):
34
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
35
+ else:
36
+ cred = credential.Credential(
37
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
38
+ )
39
+ http_profile = HttpProfile(
40
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
41
+ reqMethod="POST",
42
+ endpoint=g_param[OptionsDefine.Endpoint],
43
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
44
+ )
45
+ profile = ClientProfile(httpProfile=http_profile, signMethod="TC3-HMAC-SHA256")
46
+ if g_param[OptionsDefine.Language]:
47
+ profile.language = g_param[OptionsDefine.Language]
48
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
49
+ client = mod.Ai3dClient(cred, g_param[OptionsDefine.Region], profile)
50
+ client._sdkVersion += ("_CLI_" + __version__)
51
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
52
+ model = models.SubmitHunyuanTo3DProJobRequest()
53
+ model.from_json_string(json.dumps(args))
54
+ start_time = time.time()
55
+ while True:
56
+ rsp = client.SubmitHunyuanTo3DProJob(model)
57
+ result = rsp.to_json_string()
58
+ try:
59
+ json_obj = json.loads(result)
60
+ except TypeError as e:
61
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
62
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
63
+ break
64
+ cur_time = time.time()
65
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
66
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
67
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
68
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
69
+ else:
70
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
71
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
72
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
73
+
74
+
75
+ def doQueryHunyuanTo3DProJob(args, parsed_globals):
76
+ g_param = parse_global_arg(parsed_globals)
77
+
78
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
79
+ cred = credential.CVMRoleCredential()
80
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
81
+ cred = credential.STSAssumeRoleCredential(
82
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
83
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
84
+ )
85
+ elif os.getenv(OptionsDefine.ENV_TKE_REGION) \
86
+ and os.getenv(OptionsDefine.ENV_TKE_PROVIDER_ID) \
87
+ and os.getenv(OptionsDefine.ENV_TKE_WEB_IDENTITY_TOKEN_FILE) \
88
+ and os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN):
89
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
90
+ else:
91
+ cred = credential.Credential(
92
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
93
+ )
94
+ http_profile = HttpProfile(
95
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
96
+ reqMethod="POST",
97
+ endpoint=g_param[OptionsDefine.Endpoint],
98
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
99
+ )
100
+ profile = ClientProfile(httpProfile=http_profile, signMethod="TC3-HMAC-SHA256")
101
+ if g_param[OptionsDefine.Language]:
102
+ profile.language = g_param[OptionsDefine.Language]
103
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
104
+ client = mod.Ai3dClient(cred, g_param[OptionsDefine.Region], profile)
105
+ client._sdkVersion += ("_CLI_" + __version__)
106
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
107
+ model = models.QueryHunyuanTo3DProJobRequest()
108
+ model.from_json_string(json.dumps(args))
109
+ start_time = time.time()
110
+ while True:
111
+ rsp = client.QueryHunyuanTo3DProJob(model)
112
+ result = rsp.to_json_string()
113
+ try:
114
+ json_obj = json.loads(result)
115
+ except TypeError as e:
116
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
117
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
118
+ break
119
+ cur_time = time.time()
120
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
121
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
122
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
123
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
124
+ else:
125
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
126
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
127
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
128
+
129
+
130
+ CLIENT_MAP = {
131
+ "v20250513": ai3d_client_v20250513,
132
+
133
+ }
134
+
135
+ MODELS_MAP = {
136
+ "v20250513": models_v20250513,
137
+
138
+ }
139
+
140
+ ACTION_MAP = {
141
+ "SubmitHunyuanTo3DProJob": doSubmitHunyuanTo3DProJob,
142
+ "QueryHunyuanTo3DProJob": doQueryHunyuanTo3DProJob,
143
+
144
+ }
145
+
146
+ AVAILABLE_VERSION_LIST = [
147
+ "v20250513",
148
+
149
+ ]
150
+
151
+
152
+ def action_caller():
153
+ return ACTION_MAP
154
+
155
+
156
+ def parse_global_arg(parsed_globals):
157
+ g_param = parsed_globals
158
+ cvm_role_flag = True
159
+ for param in parsed_globals.keys():
160
+ if param in [OptionsDefine.SecretKey, OptionsDefine.SecretId, OptionsDefine.RoleArn,
161
+ OptionsDefine.RoleSessionName]:
162
+ if parsed_globals[param] is not None:
163
+ cvm_role_flag = False
164
+ break
165
+ is_exist_profile = True
166
+ if not parsed_globals["profile"]:
167
+ is_exist_profile = False
168
+ g_param["profile"] = os.environ.get("TCCLI_PROFILE", "default")
169
+
170
+ configure_path = os.path.join(os.path.expanduser("~"), ".tccli")
171
+ is_conf_exist, conf_path = Utils.file_existed(configure_path, g_param["profile"] + ".configure")
172
+ is_cred_exist, cred_path = Utils.file_existed(configure_path, g_param["profile"] + ".credential")
173
+
174
+ conf = {}
175
+ cred = {}
176
+
177
+ if is_conf_exist:
178
+ conf = Utils.load_json_msg(conf_path)
179
+ if is_cred_exist:
180
+ cred = Utils.load_json_msg(cred_path)
181
+
182
+ if not (isinstance(conf, dict) and isinstance(cred, dict)):
183
+ raise ConfigurationError(
184
+ "file: %s or %s is not json format"
185
+ % (g_param["profile"] + ".configure", g_param["profile"] + ".credential"))
186
+
187
+ if OptionsDefine.Token not in cred:
188
+ cred[OptionsDefine.Token] = None
189
+
190
+ if not is_exist_profile:
191
+ if os.environ.get(OptionsDefine.ENV_SECRET_ID) and os.environ.get(OptionsDefine.ENV_SECRET_KEY):
192
+ cred[OptionsDefine.SecretId] = os.environ.get(OptionsDefine.ENV_SECRET_ID)
193
+ cred[OptionsDefine.SecretKey] = os.environ.get(OptionsDefine.ENV_SECRET_KEY)
194
+ cred[OptionsDefine.Token] = os.environ.get(OptionsDefine.ENV_TOKEN)
195
+ cvm_role_flag = False
196
+
197
+ if os.environ.get(OptionsDefine.ENV_REGION):
198
+ conf[OptionsDefine.SysParam][OptionsDefine.Region] = os.environ.get(OptionsDefine.ENV_REGION)
199
+
200
+ if os.environ.get(OptionsDefine.ENV_ROLE_ARN) and os.environ.get(OptionsDefine.ENV_ROLE_SESSION_NAME):
201
+ cred[OptionsDefine.RoleArn] = os.environ.get(OptionsDefine.ENV_ROLE_ARN)
202
+ cred[OptionsDefine.RoleSessionName] = os.environ.get(OptionsDefine.ENV_ROLE_SESSION_NAME)
203
+ cvm_role_flag = False
204
+
205
+ if cvm_role_flag:
206
+ if "type" in cred and cred["type"] == "cvm-role":
207
+ g_param[OptionsDefine.UseCVMRole.replace('-', '_')] = True
208
+
209
+ for param in g_param.keys():
210
+ if g_param[param] is None:
211
+ if param in [OptionsDefine.SecretKey, OptionsDefine.SecretId, OptionsDefine.Token]:
212
+ if param in cred:
213
+ g_param[param] = cred[param]
214
+ elif not (g_param[OptionsDefine.UseCVMRole.replace('-', '_')]
215
+ or os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN)):
216
+ raise ConfigurationError("%s is invalid" % param)
217
+ elif param in [OptionsDefine.Region, OptionsDefine.Output, OptionsDefine.Language]:
218
+ if param in conf[OptionsDefine.SysParam]:
219
+ g_param[param] = conf[OptionsDefine.SysParam][param]
220
+ elif param != OptionsDefine.Language:
221
+ raise ConfigurationError("%s is invalid" % param)
222
+ elif param.replace('_', '-') in [OptionsDefine.RoleArn, OptionsDefine.RoleSessionName]:
223
+ if param.replace('_', '-') in cred:
224
+ g_param[param] = cred[param.replace('_', '-')]
225
+
226
+ try:
227
+ if g_param[OptionsDefine.ServiceVersion]:
228
+ g_param[OptionsDefine.Version] = "v" + g_param[OptionsDefine.ServiceVersion].replace('-', '')
229
+ else:
230
+ version = conf["ai3d"][OptionsDefine.Version]
231
+ g_param[OptionsDefine.Version] = "v" + version.replace('-', '')
232
+
233
+ if g_param[OptionsDefine.Endpoint] is None:
234
+ g_param[OptionsDefine.Endpoint] = conf["ai3d"][OptionsDefine.Endpoint]
235
+ g_param["sts_cred_endpoint"] = conf.get("sts", {}).get("endpoint")
236
+ except Exception as err:
237
+ raise ConfigurationError("config file:%s error, %s" % (conf_path, str(err)))
238
+
239
+ if g_param[OptionsDefine.Version] not in AVAILABLE_VERSION_LIST:
240
+ raise Exception("available versions: %s" % " ".join(AVAILABLE_VERSION_LIST))
241
+
242
+ if g_param[OptionsDefine.Waiter]:
243
+ param = eval(g_param[OptionsDefine.Waiter])
244
+ if 'expr' not in param:
245
+ raise Exception('`expr` in `--waiter` must be defined')
246
+ if 'to' not in param:
247
+ raise Exception('`to` in `--waiter` must be defined')
248
+ if 'timeout' not in param:
249
+ if 'waiter' in conf and 'timeout' in conf['waiter']:
250
+ param['timeout'] = conf['waiter']['timeout']
251
+ else:
252
+ param['timeout'] = 180
253
+ if 'interval' not in param:
254
+ if 'waiter' in conf and 'interval' in conf['waiter']:
255
+ param['interval'] = conf['waiter']['interval']
256
+ else:
257
+ param['interval'] = 5
258
+ param['interval'] = min(param['interval'], param['timeout'])
259
+ g_param['OptionsDefine.WaiterInfo'] = param
260
+
261
+ if six.PY2:
262
+ for key, value in g_param.items():
263
+ if isinstance(value, six.text_type):
264
+ g_param[key] = value.encode('utf-8')
265
+ return g_param
266
+