tccli-intl-en 3.0.1241.1__py2.py3-none-any.whl → 3.1.16.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 (239) hide show
  1. tccli/__init__.py +1 -1
  2. tccli/argument.py +1 -1
  3. tccli/services/__init__.py +29 -1
  4. tccli/services/advisor/advisor_client.py +10 -4
  5. tccli/services/ai3d/__init__.py +4 -0
  6. tccli/services/ai3d/ai3d_client.py +266 -0
  7. tccli/services/ai3d/v20250513/api.json +264 -0
  8. tccli/services/ai3d/v20250513/examples.json +20 -0
  9. tccli/services/aiart/aiart_client.py +5 -2
  10. tccli/services/ams/ams_client.py +20 -8
  11. tccli/services/antiddos/antiddos_client.py +350 -140
  12. tccli/services/apigateway/apigateway_client.py +465 -186
  13. tccli/services/apm/apm_client.py +835 -68
  14. tccli/services/apm/v20210622/api.json +3936 -1145
  15. tccli/services/apm/v20210622/examples.json +133 -23
  16. tccli/services/asr/asr_client.py +10 -4
  17. tccli/services/autoscaling/autoscaling_client.py +290 -116
  18. tccli/services/autoscaling/v20180419/api.json +78 -28
  19. tccli/services/batch/batch_client.py +140 -56
  20. tccli/services/bi/bi_client.py +1244 -6
  21. tccli/services/bi/v20220105/api.json +5340 -107
  22. tccli/services/bi/v20220105/examples.json +196 -1
  23. tccli/services/billing/billing_client.py +210 -84
  24. tccli/services/cam/cam_client.py +405 -162
  25. tccli/services/captcha/captcha_client.py +5 -2
  26. tccli/services/car/car_client.py +165 -66
  27. tccli/services/cbs/cbs_client.py +190 -76
  28. tccli/services/ccc/ccc_client.py +794 -160
  29. tccli/services/ccc/v20200210/api.json +1748 -217
  30. tccli/services/ccc/v20200210/examples.json +64 -0
  31. tccli/services/cdb/cdb_client.py +665 -266
  32. tccli/services/cdb/v20170320/api.json +334 -134
  33. tccli/services/cdb/v20170320/examples.json +3 -3
  34. tccli/services/cdc/cdc_client.py +100 -40
  35. tccli/services/cdc/v20201214/api.json +2 -2
  36. tccli/services/cdc/v20201214/examples.json +4 -4
  37. tccli/services/cdn/cdn_client.py +220 -88
  38. tccli/services/cdwdoris/cdwdoris_client.py +385 -154
  39. tccli/services/cdwpg/cdwpg_client.py +120 -48
  40. tccli/services/cdz/__init__.py +4 -0
  41. tccli/services/cdz/cdz_client.py +210 -0
  42. tccli/services/cdz/v20221123/api.json +233 -0
  43. tccli/services/cdz/v20221123/examples.json +12 -0
  44. tccli/services/cfg/cfg_client.py +80 -32
  45. tccli/services/cfs/cfs_client.py +195 -78
  46. tccli/services/cfw/cfw_client.py +330 -132
  47. tccli/services/chdfs/chdfs_client.py +145 -58
  48. tccli/services/ciam/ciam_client.py +80 -32
  49. tccli/services/ckafka/ckafka_client.py +1033 -255
  50. tccli/services/ckafka/v20190819/api.json +3378 -1681
  51. tccli/services/ckafka/v20190819/examples.json +254 -160
  52. tccli/services/clb/clb_client.py +1054 -469
  53. tccli/services/clb/v20180317/api.json +2273 -1020
  54. tccli/services/clb/v20180317/examples.json +184 -124
  55. tccli/services/cloudaudit/cloudaudit_client.py +90 -36
  56. tccli/services/cls/cls_client.py +434 -173
  57. tccli/services/cmq/cmq_client.py +14 -803
  58. tccli/services/cmq/v20190304/api.json +173 -1367
  59. tccli/services/cmq/v20190304/examples.json +0 -120
  60. tccli/services/config/config_client.py +30 -12
  61. tccli/services/controlcenter/controlcenter_client.py +229 -2
  62. tccli/services/controlcenter/v20230110/api.json +528 -5
  63. tccli/services/controlcenter/v20230110/examples.json +32 -0
  64. tccli/services/csip/csip_client.py +170 -68
  65. tccli/services/ctsdb/ctsdb_client.py +10 -4
  66. tccli/services/cvm/cvm_client.py +706 -189
  67. tccli/services/cvm/v20170312/api.json +851 -382
  68. tccli/services/cvm/v20170312/examples.json +173 -127
  69. tccli/services/cwp/cwp_client.py +2325 -930
  70. tccli/services/cynosdb/cynosdb_client.py +1887 -577
  71. tccli/services/cynosdb/v20190107/api.json +11763 -7697
  72. tccli/services/cynosdb/v20190107/examples.json +132 -4
  73. tccli/services/dataintegration/dataintegration_client.py +5 -2
  74. tccli/services/dayu/dayu_client.py +515 -206
  75. tccli/services/dbbrain/dbbrain_client.py +210 -84
  76. tccli/services/dc/dc_client.py +90 -36
  77. tccli/services/dcdb/dcdb_client.py +310 -124
  78. tccli/services/dlc/dlc_client.py +859 -214
  79. tccli/services/dlc/v20210125/api.json +637 -13
  80. tccli/services/dlc/v20210125/examples.json +48 -0
  81. tccli/services/dms/dms_client.py +10 -4
  82. tccli/services/dnspod/dnspod_client.py +302 -76
  83. tccli/services/dnspod/v20210323/api.json +153 -0
  84. tccli/services/dnspod/v20210323/examples.json +16 -0
  85. tccli/services/domain/domain_client.py +120 -48
  86. tccli/services/dts/dts_client.py +415 -166
  87. tccli/services/eb/eb_client.py +130 -52
  88. tccli/services/ecdn/ecdn_client.py +75 -30
  89. tccli/services/ecm/ecm_client.py +620 -248
  90. tccli/services/eiam/eiam_client.py +200 -80
  91. tccli/services/emr/emr_client.py +2815 -146
  92. tccli/services/emr/v20190103/api.json +14527 -4841
  93. tccli/services/emr/v20190103/examples.json +404 -36
  94. tccli/services/es/es_client.py +105 -42
  95. tccli/services/facefusion/facefusion_client.py +15 -6
  96. tccli/services/faceid/faceid_client.py +95 -38
  97. tccli/services/faceid/v20180301/api.json +107 -14
  98. tccli/services/faceid/v20180301/examples.json +3 -3
  99. tccli/services/gaap/gaap_client.py +440 -176
  100. tccli/services/gme/gme_client.py +50 -20
  101. tccli/services/gpm/gpm_client.py +90 -36
  102. tccli/services/gse/gse_client.py +110 -44
  103. tccli/services/gwlb/gwlb_client.py +90 -36
  104. tccli/services/hunyuan/__init__.py +4 -0
  105. tccli/services/hunyuan/hunyuan_client.py +266 -0
  106. tccli/services/hunyuan/v20230901/api.json +270 -0
  107. tccli/services/hunyuan/v20230901/examples.json +20 -0
  108. tccli/services/iai/iai_client.py +145 -58
  109. tccli/services/iap/iap_client.py +30 -12
  110. tccli/services/ims/ims_client.py +5 -2
  111. tccli/services/intlpartnersmgt/intlpartnersmgt_client.py +210 -84
  112. tccli/services/intlpartnersmgt/v20220928/api.json +11 -11
  113. tccli/services/iotcloud/iotcloud_client.py +100 -40
  114. tccli/services/ip/ip_client.py +30 -12
  115. tccli/services/kms/kms_client.py +340 -136
  116. tccli/services/kms/v20190118/api.json +80 -3
  117. tccli/services/kms/v20190118/examples.json +3 -3
  118. tccli/services/lcic/lcic_client.py +265 -106
  119. tccli/services/lighthouse/lighthouse_client.py +370 -148
  120. tccli/services/lighthouse/v20200324/api.json +14 -14
  121. tccli/services/lighthouse/v20200324/examples.json +5 -5
  122. tccli/services/live/live_client.py +600 -240
  123. tccli/services/lke/lke_client.py +450 -180
  124. tccli/services/lke/v20231130/api.json +182 -39
  125. tccli/services/lkeap/__init__.py +4 -0
  126. tccli/services/lkeap/lkeap_client.py +602 -0
  127. tccli/services/lkeap/v20240522/api.json +953 -0
  128. tccli/services/lkeap/v20240522/examples.json +92 -0
  129. tccli/services/mariadb/mariadb_client.py +250 -100
  130. tccli/services/mdc/mdc_client.py +90 -36
  131. tccli/services/mdl/mdl_client.py +357 -90
  132. tccli/services/mdl/v20200326/api.json +791 -24
  133. tccli/services/mdl/v20200326/examples.json +40 -16
  134. tccli/services/mdp/mdp_client.py +734 -124
  135. tccli/services/mdp/v20200527/api.json +748 -23
  136. tccli/services/mdp/v20200527/examples.json +143 -79
  137. tccli/services/message/__init__.py +4 -0
  138. tccli/services/message/message_client.py +210 -0
  139. tccli/services/message/v20181225/api.json +72 -0
  140. tccli/services/message/v20181225/examples.json +13 -0
  141. tccli/services/mongodb/mongodb_client.py +1404 -141
  142. tccli/services/mongodb/v20190725/api.json +2919 -677
  143. tccli/services/mongodb/v20190725/examples.json +190 -22
  144. tccli/services/monitor/monitor_client.py +1008 -296
  145. tccli/services/monitor/v20180724/api.json +660 -11
  146. tccli/services/monitor/v20180724/examples.json +152 -4
  147. tccli/services/mps/mps_client.py +1489 -429
  148. tccli/services/mps/v20190612/api.json +4750 -1077
  149. tccli/services/mps/v20190612/examples.json +182 -70
  150. tccli/services/msp/msp_client.py +35 -14
  151. tccli/services/ocr/ocr_client.py +417 -82
  152. tccli/services/ocr/v20181119/api.json +1486 -103
  153. tccli/services/ocr/v20181119/examples.json +42 -4
  154. tccli/services/omics/omics_client.py +100 -40
  155. tccli/services/organization/organization_client.py +580 -232
  156. tccli/services/postgres/postgres_client.py +455 -182
  157. tccli/services/privatedns/privatedns_client.py +155 -62
  158. tccli/services/pts/pts_client.py +240 -96
  159. tccli/services/quota/__init__.py +4 -0
  160. tccli/services/quota/quota_client.py +434 -0
  161. tccli/services/quota/v20241204/api.json +548 -0
  162. tccli/services/quota/v20241204/examples.json +51 -0
  163. tccli/services/rce/rce_client.py +5 -2
  164. tccli/services/redis/redis_client.py +545 -218
  165. tccli/services/redis/v20180412/api.json +225 -113
  166. tccli/services/redis/v20180412/examples.json +19 -19
  167. tccli/services/region/region_client.py +15 -6
  168. tccli/services/rum/rum_client.py +300 -120
  169. tccli/services/scf/scf_client.py +210 -84
  170. tccli/services/ses/ses_client.py +145 -58
  171. tccli/services/smh/__init__.py +4 -0
  172. tccli/services/smh/smh_client.py +714 -0
  173. tccli/services/smh/v20210712/api.json +1287 -0
  174. tccli/services/smh/v20210712/examples.json +85 -0
  175. tccli/services/sms/sms_client.py +90 -36
  176. tccli/services/sqlserver/sqlserver_client.py +3855 -470
  177. tccli/services/sqlserver/v20180328/api.json +9725 -3356
  178. tccli/services/sqlserver/v20180328/examples.json +470 -10
  179. tccli/services/ssl/ssl_client.py +190 -76
  180. tccli/services/ssm/ssm_client.py +120 -48
  181. tccli/services/sts/sts_client.py +25 -10
  182. tccli/services/tag/tag_client.py +150 -60
  183. tccli/services/tat/tat_client.py +95 -38
  184. tccli/services/tbaas/tbaas_client.py +20 -8
  185. tccli/services/tcaplusdb/tcaplusdb_client.py +260 -104
  186. tccli/services/tcaplusdb/v20190823/api.json +836 -760
  187. tccli/services/tcaplusdb/v20190823/examples.json +3 -3
  188. tccli/services/tchd/tchd_client.py +5 -2
  189. tccli/services/tcmpp/tcmpp_client.py +520 -208
  190. tccli/services/tcr/tcr_client.py +380 -152
  191. tccli/services/tcsas/tcsas_client.py +295 -118
  192. tccli/services/tcsas/v20250106/api.json +155 -79
  193. tccli/services/tcsas/v20250106/examples.json +3 -3
  194. tccli/services/tcss/tcss_client.py +1650 -660
  195. tccli/services/tdid/tdid_client.py +240 -96
  196. tccli/services/tdmq/tdmq_client.py +2876 -466
  197. tccli/services/tdmq/v20200217/api.json +11607 -3958
  198. tccli/services/tdmq/v20200217/examples.json +562 -264
  199. tccli/services/tem/tem_client.py +280 -112
  200. tccli/services/teo/teo_client.py +1590 -540
  201. tccli/services/teo/v20220901/api.json +703 -71
  202. tccli/services/teo/v20220901/examples.json +88 -22
  203. tccli/services/tione/__init__.py +4 -0
  204. tccli/services/tione/tione_client.py +210 -0
  205. tccli/services/tione/v20211111/api.json +3074 -0
  206. tccli/services/tione/v20211111/examples.json +12 -0
  207. tccli/services/tiw/tiw_client.py +255 -102
  208. tccli/services/tke/tke_client.py +690 -276
  209. tccli/services/tms/tms_client.py +5 -2
  210. tccli/services/tmt/tmt_client.py +5 -2
  211. tccli/services/trabbit/trabbit_client.py +145 -58
  212. tccli/services/trocket/__init__.py +4 -0
  213. tccli/services/trocket/trocket_client.py +2450 -0
  214. tccli/services/trocket/v20230308/api.json +6062 -0
  215. tccli/services/trocket/v20230308/examples.json +339 -0
  216. tccli/services/trro/trro_client.py +95 -38
  217. tccli/services/trtc/trtc_client.py +255 -102
  218. tccli/services/trtc/v20190722/api.json +135 -31
  219. tccli/services/trtc/v20190722/examples.json +7 -7
  220. tccli/services/tts/tts_client.py +5 -2
  221. tccli/services/vclm/vclm_client.py +10 -4
  222. tccli/services/vm/vm_client.py +20 -8
  223. tccli/services/vod/vod_client.py +895 -358
  224. tccli/services/vpc/v20170312/api.json +1032 -134
  225. tccli/services/vpc/v20170312/examples.json +119 -23
  226. tccli/services/vpc/vpc_client.py +2159 -644
  227. tccli/services/waf/v20180125/api.json +1372 -194
  228. tccli/services/waf/v20180125/examples.json +89 -1
  229. tccli/services/waf/waf_client.py +1149 -245
  230. tccli/services/wedata/v20250806/api.json +13644 -0
  231. tccli/services/wedata/v20250806/examples.json +621 -0
  232. tccli/services/wedata/wedata_client.py +6067 -1263
  233. tccli/services/yunjing/yunjing_client.py +355 -142
  234. {tccli_intl_en-3.0.1241.1.dist-info → tccli_intl_en-3.1.16.1.dist-info}/METADATA +4 -7
  235. {tccli_intl_en-3.0.1241.1.dist-info → tccli_intl_en-3.1.16.1.dist-info}/RECORD +239 -201
  236. {tccli_intl_en-3.0.1241.1.dist-info → tccli_intl_en-3.1.16.1.dist-info}/WHEEL +1 -1
  237. {tccli_intl_en-3.0.1241.1.dist-info → tccli_intl_en-3.1.16.1.dist-info}/entry_points.txt +0 -1
  238. {tccli_intl_en-3.0.1241.1.dist-info → tccli_intl_en-3.1.16.1.dist-info}/LICENSE +0 -0
  239. {tccli_intl_en-3.0.1241.1.dist-info → tccli_intl_en-3.1.16.1.dist-info}/top_level.txt +0 -0
tccli/__init__.py CHANGED
@@ -1 +1 @@
1
- __version__ = '3.0.1241.1'
1
+ __version__ = '3.1.16.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,
@@ -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
  ],
@@ -84,6 +87,9 @@ SERVICE_VERSIONS = {
84
87
  "cdwpg": [
85
88
  "2020-12-30"
86
89
  ],
90
+ "cdz": [
91
+ "2022-11-23"
92
+ ],
87
93
  "cfg": [
88
94
  "2021-08-20"
89
95
  ],
@@ -207,6 +213,9 @@ SERVICE_VERSIONS = {
207
213
  "gwlb": [
208
214
  "2024-09-06"
209
215
  ],
216
+ "hunyuan": [
217
+ "2023-09-01"
218
+ ],
210
219
  "iai": [
211
220
  "2020-03-03"
212
221
  ],
@@ -240,6 +249,9 @@ SERVICE_VERSIONS = {
240
249
  "lke": [
241
250
  "2023-11-30"
242
251
  ],
252
+ "lkeap": [
253
+ "2024-05-22"
254
+ ],
243
255
  "mariadb": [
244
256
  "2017-03-12"
245
257
  ],
@@ -252,6 +264,9 @@ SERVICE_VERSIONS = {
252
264
  "mdp": [
253
265
  "2020-05-27"
254
266
  ],
267
+ "message": [
268
+ "2018-12-25"
269
+ ],
255
270
  "mongodb": [
256
271
  "2019-07-25"
257
272
  ],
@@ -283,6 +298,9 @@ SERVICE_VERSIONS = {
283
298
  "pts": [
284
299
  "2021-07-28"
285
300
  ],
301
+ "quota": [
302
+ "2024-12-04"
303
+ ],
286
304
  "rce": [
287
305
  "2020-11-03"
288
306
  ],
@@ -301,6 +319,9 @@ SERVICE_VERSIONS = {
301
319
  "ses": [
302
320
  "2020-10-02"
303
321
  ],
322
+ "smh": [
323
+ "2021-07-12"
324
+ ],
304
325
  "sms": [
305
326
  "2021-01-11",
306
327
  "2019-07-11"
@@ -358,6 +379,9 @@ SERVICE_VERSIONS = {
358
379
  "2022-09-01",
359
380
  "2022-01-06"
360
381
  ],
382
+ "tione": [
383
+ "2021-11-11"
384
+ ],
361
385
  "tiw": [
362
386
  "2019-09-19"
363
387
  ],
@@ -374,6 +398,9 @@ SERVICE_VERSIONS = {
374
398
  "trabbit": [
375
399
  "2023-04-18"
376
400
  ],
401
+ "trocket": [
402
+ "2023-03-08"
403
+ ],
377
404
  "trro": [
378
405
  "2022-03-25"
379
406
  ],
@@ -401,7 +428,8 @@ SERVICE_VERSIONS = {
401
428
  "2018-01-25"
402
429
  ],
403
430
  "wedata": [
404
- "2021-08-20"
431
+ "2021-08-20",
432
+ "2025-08-06"
405
433
  ],
406
434
  "yunjing": [
407
435
  "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
+