tencentcloud-sdk-python 3.0.1491__py2.py3-none-any.whl → 3.1.6__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.
Files changed (391) hide show
  1. tencentcloud/__init__.py +1 -1
  2. tencentcloud/aai/v20180522/aai_client_async.py +100 -0
  3. tencentcloud/aca/v20210323/aca_client_async.py +170 -0
  4. tencentcloud/acp/v20220105/acp_client_async.py +170 -0
  5. tencentcloud/advisor/v20200721/advisor_client_async.py +62 -0
  6. tencentcloud/af/v20200226/af_client_async.py +86 -0
  7. tencentcloud/afc/v20200226/afc_client_async.py +82 -0
  8. tencentcloud/ags/v20250920/ags_client_async.py +243 -0
  9. tencentcloud/ai3d/v20250513/ai3d_client_async.py +102 -0
  10. tencentcloud/aiart/v20221229/aiart_client_async.py +513 -0
  11. tencentcloud/ame/v20190916/ame_client_async.py +586 -0
  12. tencentcloud/ams/v20200608/ams_client_async.py +179 -0
  13. tencentcloud/ams/v20201229/ams_client_async.py +169 -0
  14. tencentcloud/anicloud/v20220923/anicloud_client_async.py +80 -0
  15. tencentcloud/antiddos/v20200309/antiddos_client_async.py +1718 -0
  16. tencentcloud/ape/v20200513/ape_client_async.py +170 -0
  17. tencentcloud/api/v20201106/api_client_async.py +80 -0
  18. tencentcloud/apigateway/v20180808/apigateway_client_async.py +1830 -0
  19. tencentcloud/apm/v20210622/apm_client_async.py +495 -0
  20. tencentcloud/asr/v20190614/asr_client_async.py +647 -0
  21. tencentcloud/asw/v20200722/asw_client_async.py +188 -0
  22. tencentcloud/autoscaling/v20180419/autoscaling_client.py +1 -0
  23. tencentcloud/autoscaling/v20180419/autoscaling_client_async.py +1230 -0
  24. tencentcloud/autoscaling/v20180419/models.py +36 -0
  25. tencentcloud/ba/v20200720/ba_client_async.py +81 -0
  26. tencentcloud/batch/v20170312/batch_client_async.py +582 -0
  27. tencentcloud/bda/v20200324/bda_client_async.py +116 -0
  28. tencentcloud/bh/v20230418/bh_client.py +230 -0
  29. tencentcloud/bh/v20230418/bh_client_async.py +1844 -0
  30. tencentcloud/bh/v20230418/models.py +1677 -216
  31. tencentcloud/bi/v20220105/bi_client_async.py +548 -0
  32. tencentcloud/billing/v20180709/billing_client_async.py +1149 -0
  33. tencentcloud/bizlive/v20190313/bizlive_client_async.py +134 -0
  34. tencentcloud/bm/v20180423/bm_client_async.py +1012 -0
  35. tencentcloud/bma/v20210624/bma_client_async.py +530 -0
  36. tencentcloud/bma/v20221115/bma_client_async.py +224 -0
  37. tencentcloud/bmeip/v20180625/bmeip_client_async.py +386 -0
  38. tencentcloud/bmlb/v20180625/bmlb_client_async.py +908 -0
  39. tencentcloud/bmvpc/v20180625/bmvpc_client_async.py +1171 -0
  40. tencentcloud/bpaas/v20181217/bpaas_client_async.py +62 -0
  41. tencentcloud/bri/v20190328/bri_client_async.py +58 -0
  42. tencentcloud/bsca/v20210811/bsca_client_async.py +152 -0
  43. tencentcloud/btoe/v20210303/btoe_client_async.py +267 -0
  44. tencentcloud/btoe/v20210514/btoe_client_async.py +287 -0
  45. tencentcloud/ca/v20230228/ca_client_async.py +80 -0
  46. tencentcloud/cam/v20190116/cam_client_async.py +1684 -0
  47. tencentcloud/captcha/v20190722/captcha_client_async.py +350 -0
  48. tencentcloud/car/v20220110/car_client_async.py +134 -0
  49. tencentcloud/cat/v20180409/cat_client_async.py +279 -0
  50. tencentcloud/cbs/v20170312/cbs_client_async.py +959 -0
  51. tencentcloud/ccc/v20200210/ccc_client_async.py +1494 -0
  52. tencentcloud/ccc/v20200210/models.py +15 -0
  53. tencentcloud/cdb/v20170320/cdb_client_async.py +3254 -0
  54. tencentcloud/cdb/v20170320/models.py +74 -44
  55. tencentcloud/cdc/v20201214/cdc_client_async.py +440 -0
  56. tencentcloud/cdn/v20180606/cdn_client_async.py +1090 -0
  57. tencentcloud/cds/v20180420/cds_client_async.py +116 -0
  58. tencentcloud/cdwch/v20200915/cdwch_client_async.py +548 -0
  59. tencentcloud/cdwch/v20200915/models.py +34 -4
  60. tencentcloud/cdwdoris/v20211228/cdwdoris_client_async.py +1106 -0
  61. tencentcloud/cdwpg/v20201230/cdwpg_client_async.py +458 -0
  62. tencentcloud/cdz/v20221123/cdz_client_async.py +62 -0
  63. tencentcloud/cfg/v20210820/cfg_client_async.py +332 -0
  64. tencentcloud/cfs/v20190719/cfs_client_async.py +1054 -0
  65. tencentcloud/cfs/v20190719/models.py +40 -0
  66. tencentcloud/cfw/v20190904/cfw_client.py +23 -0
  67. tencentcloud/cfw/v20190904/cfw_client_async.py +2067 -0
  68. tencentcloud/cfw/v20190904/models.py +784 -8
  69. tencentcloud/chc/v20230418/chc_client_async.py +710 -0
  70. tencentcloud/chdfs/v20190718/chdfs_client_async.py +546 -0
  71. tencentcloud/chdfs/v20201112/chdfs_client_async.py +548 -0
  72. tencentcloud/ciam/v20220331/ciam_client_async.py +440 -0
  73. tencentcloud/cii/v20201210/cii_client_async.py +80 -0
  74. tencentcloud/cii/v20210408/cii_client_async.py +262 -0
  75. tencentcloud/cim/v20190318/cim_client_async.py +44 -0
  76. tencentcloud/ckafka/v20190819/ckafka_client.py +92 -0
  77. tencentcloud/ckafka/v20190819/ckafka_client_async.py +1701 -0
  78. tencentcloud/ckafka/v20190819/errorcodes.py +3 -0
  79. tencentcloud/ckafka/v20190819/models.py +741 -62
  80. tencentcloud/clb/v20180317/clb_client_async.py +1683 -0
  81. tencentcloud/cloudapp/v20220530/cloudapp_client_async.py +175 -0
  82. tencentcloud/cloudaudit/v20190319/cloudaudit_client_async.py +372 -0
  83. tencentcloud/cloudhsm/v20191112/cloudhsm_client_async.py +278 -0
  84. tencentcloud/cloudhsm/v20191112/models.py +49 -0
  85. tencentcloud/cloudstudio/v20230508/cloudstudio_client_async.py +188 -0
  86. tencentcloud/cls/v20201016/cls_client.py +92 -0
  87. tencentcloud/cls/v20201016/cls_client_async.py +2362 -0
  88. tencentcloud/cls/v20201016/models.py +1427 -74
  89. tencentcloud/cme/v20191029/cme_client_async.py +983 -0
  90. tencentcloud/cmq/v20190304/cmq_client_async.py +62 -0
  91. tencentcloud/cms/v20190321/cms_client_async.py +134 -0
  92. tencentcloud/common/abstract_client_async.py +654 -0
  93. tencentcloud/common/common_client_async.py +45 -0
  94. tencentcloud/common/http/request_async.py +62 -0
  95. tencentcloud/common/retry_async.py +87 -0
  96. tencentcloud/config/v20220802/config_client_async.py +152 -0
  97. tencentcloud/controlcenter/v20230110/controlcenter_client_async.py +116 -0
  98. tencentcloud/cpdp/v20190820/cpdp_client_async.py +3979 -0
  99. tencentcloud/csip/v20221121/csip_client.py +1 -1
  100. tencentcloud/csip/v20221121/csip_client_async.py +1502 -0
  101. tencentcloud/csip/v20221121/models.py +105 -0
  102. tencentcloud/csxg/v20230303/csxg_client_async.py +116 -0
  103. tencentcloud/ctem/v20231128/ctem_client.py +644 -0
  104. tencentcloud/ctem/v20231128/ctem_client_async.py +1124 -0
  105. tencentcloud/ctem/v20231128/models.py +4999 -711
  106. tencentcloud/ctsdb/v20230202/ctsdb_client_async.py +69 -0
  107. tencentcloud/cvm/v20170312/cvm_client.py +1 -1
  108. tencentcloud/cvm/v20170312/cvm_client_async.py +2025 -0
  109. tencentcloud/cvm/v20170312/errorcodes.py +3 -0
  110. tencentcloud/cvm/v20170312/models.py +14 -14
  111. tencentcloud/cwp/v20180228/cwp_client_async.py +9288 -0
  112. tencentcloud/cws/v20180312/cws_client_async.py +368 -0
  113. tencentcloud/cynosdb/v20190107/cynosdb_client_async.py +3068 -0
  114. tencentcloud/cynosdb/v20190107/models.py +99 -2
  115. tencentcloud/dasb/v20191018/dasb_client_async.py +1160 -0
  116. tencentcloud/dataagent/v20250513/dataagent_client_async.py +224 -0
  117. tencentcloud/dataagent/v20250513/models.py +15 -0
  118. tencentcloud/dayu/v20180709/dayu_client_async.py +2042 -0
  119. tencentcloud/dbbrain/v20191016/dbbrain_client_async.py +530 -0
  120. tencentcloud/dbbrain/v20210527/dbbrain_client.py +23 -0
  121. tencentcloud/dbbrain/v20210527/dbbrain_client_async.py +1538 -0
  122. tencentcloud/dbbrain/v20210527/models.py +463 -12
  123. tencentcloud/dbdc/v20201029/dbdc_client_async.py +134 -0
  124. tencentcloud/dc/v20180410/dc_client_async.py +425 -0
  125. tencentcloud/dcdb/v20180411/dcdb_client_async.py +1541 -0
  126. tencentcloud/dlc/v20210125/dlc_client.py +23 -0
  127. tencentcloud/dlc/v20210125/dlc_client_async.py +3322 -0
  128. tencentcloud/dlc/v20210125/errorcodes.py +9 -0
  129. tencentcloud/dlc/v20210125/models.py +1424 -17
  130. tencentcloud/dnspod/v20210323/dnspod_client_async.py +1710 -0
  131. tencentcloud/dnspod/v20210323/errorcodes.py +3 -0
  132. tencentcloud/dnspod/v20210323/models.py +2 -2
  133. tencentcloud/domain/v20180808/domain_client_async.py +1022 -0
  134. tencentcloud/drm/v20181115/drm_client_async.py +231 -0
  135. tencentcloud/ds/v20180523/ds_client_async.py +244 -0
  136. tencentcloud/dsgc/v20190723/dsgc_client_async.py +2452 -0
  137. tencentcloud/dsgc/v20190723/models.py +36 -36
  138. tencentcloud/dts/v20180330/dts_client_async.py +438 -0
  139. tencentcloud/dts/v20211206/dts_client.py +184 -0
  140. tencentcloud/dts/v20211206/dts_client_async.py +1480 -0
  141. tencentcloud/dts/v20211206/models.py +1275 -98
  142. tencentcloud/eb/v20210416/eb_client_async.py +602 -0
  143. tencentcloud/ecc/v20181213/ecc_client_async.py +100 -0
  144. tencentcloud/ecdn/v20191012/ecdn_client_async.py +162 -0
  145. tencentcloud/ecm/v20190719/ecm_client_async.py +2602 -0
  146. tencentcloud/eiam/v20210420/eiam_client_async.py +782 -0
  147. tencentcloud/eis/v20200715/eis_client_async.py +80 -0
  148. tencentcloud/eis/v20210601/eis_client_async.py +116 -0
  149. tencentcloud/emr/v20190103/emr_client.py +23 -0
  150. tencentcloud/emr/v20190103/emr_client_async.py +1659 -0
  151. tencentcloud/emr/v20190103/models.py +395 -0
  152. tencentcloud/es/v20180416/es_client_async.py +1209 -0
  153. tencentcloud/es/v20250101/es_client.py +6 -5
  154. tencentcloud/es/v20250101/es_client_async.py +216 -0
  155. tencentcloud/es/v20250101/models.py +6 -6
  156. tencentcloud/ess/v20201111/ess_client.py +6 -2
  157. tencentcloud/ess/v20201111/ess_client_async.py +3406 -0
  158. tencentcloud/ess/v20201111/models.py +468 -19
  159. tencentcloud/essbasic/v20201222/essbasic_client_async.py +1029 -0
  160. tencentcloud/essbasic/v20210526/essbasic_client.py +1 -1
  161. tencentcloud/essbasic/v20210526/essbasic_client_async.py +2757 -0
  162. tencentcloud/essbasic/v20210526/models.py +320 -6
  163. tencentcloud/evt/__init__.py +0 -0
  164. tencentcloud/evt/v20250217/__init__.py +0 -0
  165. tencentcloud/evt/v20250217/errorcodes.py +15 -0
  166. tencentcloud/evt/v20250217/evt_client.py +49 -0
  167. tencentcloud/evt/v20250217/evt_client_async.py +44 -0
  168. tencentcloud/evt/v20250217/models.py +228 -0
  169. tencentcloud/facefusion/v20181201/facefusion_client_async.py +86 -0
  170. tencentcloud/facefusion/v20220927/facefusion_client_async.py +83 -0
  171. tencentcloud/faceid/v20180301/errorcodes.py +0 -6
  172. tencentcloud/faceid/v20180301/faceid_client.py +0 -23
  173. tencentcloud/faceid/v20180301/faceid_client_async.py +674 -0
  174. tencentcloud/faceid/v20180301/models.py +45 -195
  175. tencentcloud/fmu/v20191213/fmu_client_async.py +161 -0
  176. tencentcloud/ft/v20200304/ft_client_async.py +134 -0
  177. tencentcloud/gaap/v20180529/gaap_client_async.py +1865 -0
  178. tencentcloud/gme/v20180711/gme_client_async.py +865 -0
  179. tencentcloud/goosefs/v20220519/goosefs_client_async.py +514 -0
  180. tencentcloud/gs/v20191118/gs_client.py +46 -0
  181. tencentcloud/gs/v20191118/gs_client_async.py +1527 -0
  182. tencentcloud/gs/v20191118/models.py +227 -0
  183. tencentcloud/gwlb/v20240906/gwlb_client_async.py +373 -0
  184. tencentcloud/habo/v20181203/habo_client_async.py +62 -0
  185. tencentcloud/hai/v20230812/hai_client_async.py +316 -0
  186. tencentcloud/hasim/v20210716/hasim_client_async.py +422 -0
  187. tencentcloud/hcm/v20181106/hcm_client_async.py +44 -0
  188. tencentcloud/hunyuan/v20230901/hunyuan_client_async.py +469 -0
  189. tencentcloud/iai/v20180301/iai_client.py +0 -44
  190. tencentcloud/iai/v20180301/iai_client_async.py +728 -0
  191. tencentcloud/iai/v20180301/models.py +0 -171
  192. tencentcloud/iai/v20200303/iai_client.py +1 -35
  193. tencentcloud/iai/v20200303/iai_client_async.py +802 -0
  194. tencentcloud/iai/v20200303/models.py +0 -175
  195. tencentcloud/iap/v20240713/iap_client_async.py +134 -0
  196. tencentcloud/ic/v20190307/ic_client_async.py +193 -0
  197. tencentcloud/icr/v20211014/icr_client_async.py +44 -0
  198. tencentcloud/ie/v20200304/ie_client_async.py +206 -0
  199. tencentcloud/ig/v20210518/ig_client_async.py +44 -0
  200. tencentcloud/igtm/v20231024/igtm_client_async.py +494 -0
  201. tencentcloud/igtm/v20231024/models.py +110 -0
  202. tencentcloud/ims/v20200713/ims_client_async.py +60 -0
  203. tencentcloud/ims/v20201229/ims_client_async.py +132 -0
  204. tencentcloud/ioa/v20220601/ioa_client_async.py +512 -0
  205. tencentcloud/iot/v20180123/iot_client_async.py +838 -0
  206. tencentcloud/iotcloud/v20180614/iotcloud_client_async.py +1268 -0
  207. tencentcloud/iotcloud/v20210408/iotcloud_client_async.py +1340 -0
  208. tencentcloud/iotexplorer/v20190423/iotexplorer_client.py +161 -0
  209. tencentcloud/iotexplorer/v20190423/iotexplorer_client_async.py +3632 -0
  210. tencentcloud/iotexplorer/v20190423/models.py +1669 -337
  211. tencentcloud/iotvideo/v20191126/iotvideo_client_async.py +1278 -0
  212. tencentcloud/iotvideo/v20201215/iotvideo_client_async.py +1448 -0
  213. tencentcloud/iotvideo/v20211125/iotvideo_client_async.py +1970 -0
  214. tencentcloud/iotvideoindustry/v20201201/iotvideoindustry_client_async.py +1921 -0
  215. tencentcloud/irp/v20220324/irp_client_async.py +98 -0
  216. tencentcloud/irp/v20220805/irp_client_async.py +152 -0
  217. tencentcloud/iss/v20230517/iss_client_async.py +1686 -0
  218. tencentcloud/iss/v20230517/models.py +2 -2
  219. tencentcloud/ivld/v20210903/ivld_client_async.py +636 -0
  220. tencentcloud/keewidb/v20220308/keewidb_client_async.py +711 -0
  221. tencentcloud/kms/v20190118/kms_client_async.py +1252 -0
  222. tencentcloud/lcic/v20220817/lcic_client_async.py +1331 -0
  223. tencentcloud/lighthouse/v20200324/lighthouse_client_async.py +2331 -0
  224. tencentcloud/live/v20180801/live_client.py +0 -25
  225. tencentcloud/live/v20180801/live_client_async.py +3758 -0
  226. tencentcloud/live/v20180801/models.py +0 -282
  227. tencentcloud/lke/v20231130/lke_client_async.py +1923 -0
  228. tencentcloud/lke/v20231130/models.py +82 -0
  229. tencentcloud/lkeap/v20240522/lkeap_client.py +3 -13
  230. tencentcloud/lkeap/v20240522/lkeap_client_async.py +618 -0
  231. tencentcloud/lowcode/v20210108/lowcode_client_async.py +332 -0
  232. tencentcloud/mall/v20230518/mall_client_async.py +44 -0
  233. tencentcloud/mariadb/v20170312/mariadb_client_async.py +1505 -0
  234. tencentcloud/market/v20191010/market_client_async.py +62 -0
  235. tencentcloud/memcached/v20190318/memcached_client_async.py +44 -0
  236. tencentcloud/mmps/v20200710/mmps_client_async.py +296 -0
  237. tencentcloud/mna/v20210119/mna_client_async.py +764 -0
  238. tencentcloud/mongodb/v20180408/mongodb_client_async.py +260 -0
  239. tencentcloud/mongodb/v20190725/errorcodes.py +3 -0
  240. tencentcloud/mongodb/v20190725/models.py +390 -2
  241. tencentcloud/mongodb/v20190725/mongodb_client.py +46 -0
  242. tencentcloud/mongodb/v20190725/mongodb_client_async.py +1220 -0
  243. tencentcloud/monitor/v20180724/monitor_client_async.py +3099 -0
  244. tencentcloud/monitor/v20230616/monitor_client_async.py +44 -0
  245. tencentcloud/mps/v20190612/errorcodes.py +9 -0
  246. tencentcloud/mps/v20190612/models.py +2329 -290
  247. tencentcloud/mps/v20190612/mps_client.py +232 -0
  248. tencentcloud/mps/v20190612/mps_client_async.py +2729 -0
  249. tencentcloud/mqtt/v20240516/mqtt_client_async.py +1153 -0
  250. tencentcloud/mrs/v20200910/mrs_client_async.py +231 -0
  251. tencentcloud/ms/v20180408/ms_client_async.py +450 -0
  252. tencentcloud/msp/v20180319/msp_client_async.py +154 -0
  253. tencentcloud/nlp/v20190408/nlp_client_async.py +140 -0
  254. tencentcloud/npp/v20190823/npp_client_async.py +170 -0
  255. tencentcloud/oceanus/v20190422/oceanus_client_async.py +844 -0
  256. tencentcloud/ocr/v20181119/models.py +232 -0
  257. tencentcloud/ocr/v20181119/ocr_client_async.py +2228 -0
  258. tencentcloud/omics/v20221128/omics_client_async.py +386 -0
  259. tencentcloud/organization/v20181225/organization_client_async.py +386 -0
  260. tencentcloud/organization/v20210331/organization_client_async.py +2348 -0
  261. tencentcloud/partners/v20180321/partners_client_async.py +444 -0
  262. tencentcloud/postgres/v20170312/errorcodes.py +6 -0
  263. tencentcloud/postgres/v20170312/postgres_client_async.py +1908 -0
  264. tencentcloud/privatedns/v20201028/errorcodes.py +9 -0
  265. tencentcloud/privatedns/v20201028/models.py +783 -17
  266. tencentcloud/privatedns/v20201028/privatedns_client.py +93 -1
  267. tencentcloud/privatedns/v20201028/privatedns_client_async.py +746 -0
  268. tencentcloud/pts/v20210728/pts_client_async.py +890 -0
  269. tencentcloud/rce/v20201103/rce_client_async.py +224 -0
  270. tencentcloud/redis/v20180412/redis_client_async.py +2008 -0
  271. tencentcloud/region/v20220627/region_client_async.py +80 -0
  272. tencentcloud/rum/v20210622/rum_client_async.py +999 -0
  273. tencentcloud/scf/v20180416/errorcodes.py +6 -0
  274. tencentcloud/scf/v20180416/models.py +263 -0
  275. tencentcloud/scf/v20180416/scf_client_async.py +984 -0
  276. tencentcloud/securitylake/v20240117/securitylake_client_async.py +44 -0
  277. tencentcloud/ses/v20201002/ses_client_async.py +657 -0
  278. tencentcloud/smh/v20210712/smh_client_async.py +296 -0
  279. tencentcloud/smop/v20201203/smop_client_async.py +46 -0
  280. tencentcloud/sms/v20190711/sms_client_async.py +326 -0
  281. tencentcloud/sms/v20210111/sms_client_async.py +365 -0
  282. tencentcloud/soe/v20180724/soe_client_async.py +98 -0
  283. tencentcloud/sqlserver/v20180328/sqlserver_client_async.py +2693 -0
  284. tencentcloud/ssa/v20180608/ssa_client_async.py +440 -0
  285. tencentcloud/ssl/v20191205/ssl_client_async.py +1257 -0
  286. tencentcloud/sslpod/v20190605/sslpod_client_async.py +206 -0
  287. tencentcloud/ssm/v20190923/ssm_client_async.py +468 -0
  288. tencentcloud/sts/v20180813/sts_client_async.py +205 -0
  289. tencentcloud/svp/v20240125/svp_client_async.py +116 -0
  290. tencentcloud/taf/v20200210/taf_client_async.py +44 -0
  291. tencentcloud/tag/v20180813/tag_client_async.py +584 -0
  292. tencentcloud/tat/v20201028/tat_client_async.py +565 -0
  293. tencentcloud/tbaas/v20180416/tbaas_client_async.py +458 -0
  294. tencentcloud/tbp/v20190311/tbp_client_async.py +98 -0
  295. tencentcloud/tbp/v20190627/tbp_client_async.py +62 -0
  296. tencentcloud/tcaplusdb/v20190823/tcaplusdb_client_async.py +986 -0
  297. tencentcloud/tcb/v20180608/tcb_client_async.py +1632 -0
  298. tencentcloud/tcbr/v20220217/models.py +15 -0
  299. tencentcloud/tcbr/v20220217/tcbr_client_async.py +206 -0
  300. tencentcloud/tccatalog/v20241024/tccatalog_client_async.py +98 -0
  301. tencentcloud/tchd/v20230306/tchd_client_async.py +65 -0
  302. tencentcloud/tcm/v20210413/tcm_client_async.py +242 -0
  303. tencentcloud/tcr/v20190924/tcr_client_async.py +2008 -0
  304. tencentcloud/tcss/v20201101/tcss_client_async.py +6169 -0
  305. tencentcloud/tdai/v20250717/models.py +55 -10
  306. tencentcloud/tdai/v20250717/tdai_client.py +1 -1
  307. tencentcloud/tdai/v20250717/tdai_client_async.py +350 -0
  308. tencentcloud/tdcpg/v20211118/tdcpg_client_async.py +482 -0
  309. tencentcloud/tdid/v20210519/tdid_client_async.py +353 -0
  310. tencentcloud/tdmq/v20200217/errorcodes.py +3 -0
  311. tencentcloud/tdmq/v20200217/models.py +636 -904
  312. tencentcloud/tdmq/v20200217/tdmq_client.py +44 -73
  313. tencentcloud/tdmq/v20200217/tdmq_client_async.py +2732 -0
  314. tencentcloud/tds/v20220801/tds_client_async.py +116 -0
  315. tencentcloud/tem/v20201221/tem_client_async.py +332 -0
  316. tencentcloud/tem/v20210701/tem_client_async.py +949 -0
  317. tencentcloud/teo/v20220106/teo_client_async.py +120 -0
  318. tencentcloud/teo/v20220901/models.py +267 -4
  319. tencentcloud/teo/v20220901/teo_client_async.py +3609 -0
  320. tencentcloud/thpc/v20211109/thpc_client_async.py +98 -0
  321. tencentcloud/thpc/v20220401/thpc_client_async.py +321 -0
  322. tencentcloud/thpc/v20230321/models.py +30 -0
  323. tencentcloud/thpc/v20230321/thpc_client_async.py +591 -0
  324. tencentcloud/tia/v20180226/tia_client_async.py +206 -0
  325. tencentcloud/tiia/v20190529/tiia_client_async.py +536 -0
  326. tencentcloud/tione/v20191022/tione_client_async.py +422 -0
  327. tencentcloud/tione/v20211111/tione_client_async.py +1003 -0
  328. tencentcloud/tiw/v20190919/tiw_client_async.py +656 -0
  329. tencentcloud/tke/v20180525/errorcodes.py +3 -0
  330. tencentcloud/tke/v20180525/models.py +3129 -288
  331. tencentcloud/tke/v20180525/tke_client.py +414 -0
  332. tencentcloud/tke/v20180525/tke_client_async.py +4562 -0
  333. tencentcloud/tke/v20220501/tke_client_async.py +343 -0
  334. tencentcloud/tkgdq/v20190411/tkgdq_client_async.py +80 -0
  335. tencentcloud/tms/v20200713/tms_client_async.py +98 -0
  336. tencentcloud/tms/v20201229/tms_client_async.py +97 -0
  337. tencentcloud/tmt/v20180321/tmt_client_async.py +183 -0
  338. tencentcloud/tourism/v20230215/tourism_client_async.py +44 -0
  339. tencentcloud/trabbit/v20230418/trabbit_client_async.py +548 -0
  340. tencentcloud/trocket/v20230308/trocket_client_async.py +1390 -0
  341. tencentcloud/trp/v20210515/trp_client_async.py +1002 -0
  342. tencentcloud/trro/v20220325/trro_client_async.py +588 -0
  343. tencentcloud/trtc/v20190722/errorcodes.py +3 -0
  344. tencentcloud/trtc/v20190722/models.py +21 -6
  345. tencentcloud/trtc/v20190722/trtc_client.py +1 -0
  346. tencentcloud/trtc/v20190722/trtc_client_async.py +1516 -0
  347. tencentcloud/tse/v20201207/tse_client_async.py +2240 -0
  348. tencentcloud/tsf/v20180326/models.py +4 -4
  349. tencentcloud/tsf/v20180326/tsf_client_async.py +4143 -0
  350. tencentcloud/tsi/v20210325/tsi_client_async.py +104 -0
  351. tencentcloud/tsw/v20200924/tsw_client_async.py +44 -0
  352. tencentcloud/tsw/v20210412/tsw_client_async.py +80 -0
  353. tencentcloud/tts/v20190823/tts_client_async.py +107 -0
  354. tencentcloud/vcg/v20240404/vcg_client_async.py +62 -0
  355. tencentcloud/vclm/v20240523/errorcodes.py +27 -0
  356. tencentcloud/vclm/v20240523/models.py +415 -16
  357. tencentcloud/vclm/v20240523/vclm_client.py +47 -0
  358. tencentcloud/vclm/v20240523/vclm_client_async.py +263 -0
  359. tencentcloud/vcube/v20220410/models.py +98 -0
  360. tencentcloud/vcube/v20220410/vcube_client.py +46 -0
  361. tencentcloud/vcube/v20220410/vcube_client_async.py +674 -0
  362. tencentcloud/vdb/v20230616/vdb_client_async.py +278 -0
  363. tencentcloud/vm/v20200709/vm_client_async.py +120 -0
  364. tencentcloud/vm/v20201229/vm_client_async.py +139 -0
  365. tencentcloud/vm/v20210922/models.py +2 -2
  366. tencentcloud/vm/v20210922/vm_client_async.py +148 -0
  367. tencentcloud/vms/v20200902/vms_client_async.py +62 -0
  368. tencentcloud/vod/v20180717/models.py +6 -2
  369. tencentcloud/vod/v20180717/vod_client_async.py +3712 -0
  370. tencentcloud/vod/v20240718/vod_client_async.py +160 -0
  371. tencentcloud/vpc/v20170312/vpc_client_async.py +8139 -0
  372. tencentcloud/vrs/v20200824/vrs_client_async.py +182 -0
  373. tencentcloud/vtc/v20240223/vtc_client_async.py +132 -0
  374. tencentcloud/waf/v20180125/models.py +3924 -0
  375. tencentcloud/waf/v20180125/waf_client.py +230 -0
  376. tencentcloud/waf/v20180125/waf_client_async.py +3542 -0
  377. tencentcloud/wav/v20210129/wav_client_async.py +494 -0
  378. tencentcloud/wedata/v20210820/wedata_client_async.py +5384 -0
  379. tencentcloud/wedata/v20250806/wedata_client_async.py +2168 -0
  380. tencentcloud/weilingwith/v20230427/weilingwith_client_async.py +1180 -0
  381. tencentcloud/wsa/v20250508/wsa_client_async.py +44 -0
  382. tencentcloud/wss/v20180426/wss_client_async.py +80 -0
  383. tencentcloud/yinsuda/v20220527/yinsuda_client_async.py +386 -0
  384. tencentcloud/yunjing/v20180228/yunjing_client_async.py +1826 -0
  385. tencentcloud/yunsou/v20180504/yunsou_client_async.py +62 -0
  386. tencentcloud/yunsou/v20191115/yunsou_client_async.py +62 -0
  387. {tencentcloud_sdk_python-3.0.1491.dist-info → tencentcloud_sdk_python-3.1.6.dist-info}/METADATA +3 -1
  388. {tencentcloud_sdk_python-3.0.1491.dist-info → tencentcloud_sdk_python-3.1.6.dist-info}/RECORD +391 -103
  389. {tencentcloud_sdk_python-3.0.1491.dist-info → tencentcloud_sdk_python-3.1.6.dist-info}/LICENSE +0 -0
  390. {tencentcloud_sdk_python-3.0.1491.dist-info → tencentcloud_sdk_python-3.1.6.dist-info}/WHEEL +0 -0
  391. {tencentcloud_sdk_python-3.0.1491.dist-info → tencentcloud_sdk_python-3.1.6.dist-info}/top_level.txt +0 -0
@@ -1381,6 +1381,40 @@ class AddAttackWhiteRuleResponse(AbstractModel):
1381
1381
  self._RequestId = params.get("RequestId")
1382
1382
 
1383
1383
 
1384
+ class AddBypassAllRuleRequest(AbstractModel):
1385
+ r"""AddBypassAllRule请求参数结构体
1386
+
1387
+ """
1388
+
1389
+
1390
+ class AddBypassAllRuleResponse(AbstractModel):
1391
+ r"""AddBypassAllRule返回参数结构体
1392
+
1393
+ """
1394
+
1395
+ def __init__(self):
1396
+ r"""
1397
+ :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
1398
+ :type RequestId: str
1399
+ """
1400
+ self._RequestId = None
1401
+
1402
+ @property
1403
+ def RequestId(self):
1404
+ r"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
1405
+ :rtype: str
1406
+ """
1407
+ return self._RequestId
1408
+
1409
+ @RequestId.setter
1410
+ def RequestId(self, RequestId):
1411
+ self._RequestId = RequestId
1412
+
1413
+
1414
+ def _deserialize(self, params):
1415
+ self._RequestId = params.get("RequestId")
1416
+
1417
+
1384
1418
  class AddCustomRuleRequest(AbstractModel):
1385
1419
  r"""AddCustomRule请求参数结构体
1386
1420
 
@@ -3458,6 +3492,158 @@ class ApiDetailSampleHistory(AbstractModel):
3458
3492
 
3459
3493
 
3460
3494
 
3495
+ class ApiNameMethod(AbstractModel):
3496
+ r"""带有请求方式的apiname结构体
3497
+
3498
+ """
3499
+
3500
+ def __init__(self):
3501
+ r"""
3502
+ :param _ApiName: api名称
3503
+ :type ApiName: str
3504
+ :param _Method: api请求方式
3505
+ :type Method: str
3506
+ :param _Count: api近30天请求数量
3507
+ :type Count: int
3508
+ :param _Label: api标签
3509
+ :type Label: list of str
3510
+ """
3511
+ self._ApiName = None
3512
+ self._Method = None
3513
+ self._Count = None
3514
+ self._Label = None
3515
+
3516
+ @property
3517
+ def ApiName(self):
3518
+ r"""api名称
3519
+ :rtype: str
3520
+ """
3521
+ return self._ApiName
3522
+
3523
+ @ApiName.setter
3524
+ def ApiName(self, ApiName):
3525
+ self._ApiName = ApiName
3526
+
3527
+ @property
3528
+ def Method(self):
3529
+ r"""api请求方式
3530
+ :rtype: str
3531
+ """
3532
+ return self._Method
3533
+
3534
+ @Method.setter
3535
+ def Method(self, Method):
3536
+ self._Method = Method
3537
+
3538
+ @property
3539
+ def Count(self):
3540
+ r"""api近30天请求数量
3541
+ :rtype: int
3542
+ """
3543
+ return self._Count
3544
+
3545
+ @Count.setter
3546
+ def Count(self, Count):
3547
+ self._Count = Count
3548
+
3549
+ @property
3550
+ def Label(self):
3551
+ r"""api标签
3552
+ :rtype: list of str
3553
+ """
3554
+ return self._Label
3555
+
3556
+ @Label.setter
3557
+ def Label(self, Label):
3558
+ self._Label = Label
3559
+
3560
+
3561
+ def _deserialize(self, params):
3562
+ self._ApiName = params.get("ApiName")
3563
+ self._Method = params.get("Method")
3564
+ self._Count = params.get("Count")
3565
+ self._Label = params.get("Label")
3566
+ memeber_set = set(params.keys())
3567
+ for name, value in vars(self).items():
3568
+ property_name = name[1:]
3569
+ if property_name in memeber_set:
3570
+ memeber_set.remove(property_name)
3571
+ if len(memeber_set) > 0:
3572
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
3573
+
3574
+
3575
+
3576
+ class ApiNameOp(AbstractModel):
3577
+ r"""带有匹配方式的apiname列表
3578
+
3579
+ """
3580
+
3581
+ def __init__(self):
3582
+ r"""
3583
+ :param _Value: 匹配值列表
3584
+ :type Value: list of str
3585
+ :param _Op: 匹配方式,如属于和正则等
3586
+ :type Op: str
3587
+ :param _ApiNameMethod: 手动筛选的时候,要传该结构体
3588
+ :type ApiNameMethod: list of ApiNameMethod
3589
+ """
3590
+ self._Value = None
3591
+ self._Op = None
3592
+ self._ApiNameMethod = None
3593
+
3594
+ @property
3595
+ def Value(self):
3596
+ r"""匹配值列表
3597
+ :rtype: list of str
3598
+ """
3599
+ return self._Value
3600
+
3601
+ @Value.setter
3602
+ def Value(self, Value):
3603
+ self._Value = Value
3604
+
3605
+ @property
3606
+ def Op(self):
3607
+ r"""匹配方式,如属于和正则等
3608
+ :rtype: str
3609
+ """
3610
+ return self._Op
3611
+
3612
+ @Op.setter
3613
+ def Op(self, Op):
3614
+ self._Op = Op
3615
+
3616
+ @property
3617
+ def ApiNameMethod(self):
3618
+ r"""手动筛选的时候,要传该结构体
3619
+ :rtype: list of ApiNameMethod
3620
+ """
3621
+ return self._ApiNameMethod
3622
+
3623
+ @ApiNameMethod.setter
3624
+ def ApiNameMethod(self, ApiNameMethod):
3625
+ self._ApiNameMethod = ApiNameMethod
3626
+
3627
+
3628
+ def _deserialize(self, params):
3629
+ self._Value = params.get("Value")
3630
+ self._Op = params.get("Op")
3631
+ if params.get("ApiNameMethod") is not None:
3632
+ self._ApiNameMethod = []
3633
+ for item in params.get("ApiNameMethod"):
3634
+ obj = ApiNameMethod()
3635
+ obj._deserialize(item)
3636
+ self._ApiNameMethod.append(obj)
3637
+ memeber_set = set(params.keys())
3638
+ for name, value in vars(self).items():
3639
+ property_name = name[1:]
3640
+ if property_name in memeber_set:
3641
+ memeber_set.remove(property_name)
3642
+ if len(memeber_set) > 0:
3643
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
3644
+
3645
+
3646
+
3461
3647
  class ApiParameterType(AbstractModel):
3462
3648
  r"""api请求参数类型
3463
3649
 
@@ -3785,6 +3971,414 @@ class ApiPkg(AbstractModel):
3785
3971
 
3786
3972
 
3787
3973
 
3974
+ class ApiSecCustomEventRule(AbstractModel):
3975
+ r"""api安全自定义事件规则结构体
3976
+
3977
+ """
3978
+
3979
+ def __init__(self):
3980
+ r"""
3981
+ :param _RuleName: 规则名称
3982
+ :type RuleName: str
3983
+ :param _Status: 开关,1:开,0:关
3984
+ :type Status: int
3985
+ :param _ApiNameOp: api匹配列表
3986
+ :type ApiNameOp: list of ApiNameOp
3987
+ :param _Description: 事件详情
3988
+ :type Description: str
3989
+ :param _UpdateTime: 时间戳,出参有该值,入参不需要传没有
3990
+ :type UpdateTime: int
3991
+ :param _MatchRuleList: 匹配规则列表
3992
+ :type MatchRuleList: list of ApiSecSceneRuleEntry
3993
+ :param _StatRuleList: 统计规则列表
3994
+ :type StatRuleList: list of ApiSecSceneRuleEntry
3995
+ :param _ReqFrequency: 访问频次,第一个字段表示次数,第二个字段表示分钟
3996
+ :type ReqFrequency: list of int
3997
+ :param _RiskLevel: 风险等级,取值为100,200,300,分别表示低位、中危、高危
3998
+ :type RiskLevel: str
3999
+ :param _Source: 规则来源
4000
+ :type Source: str
4001
+ """
4002
+ self._RuleName = None
4003
+ self._Status = None
4004
+ self._ApiNameOp = None
4005
+ self._Description = None
4006
+ self._UpdateTime = None
4007
+ self._MatchRuleList = None
4008
+ self._StatRuleList = None
4009
+ self._ReqFrequency = None
4010
+ self._RiskLevel = None
4011
+ self._Source = None
4012
+
4013
+ @property
4014
+ def RuleName(self):
4015
+ r"""规则名称
4016
+ :rtype: str
4017
+ """
4018
+ return self._RuleName
4019
+
4020
+ @RuleName.setter
4021
+ def RuleName(self, RuleName):
4022
+ self._RuleName = RuleName
4023
+
4024
+ @property
4025
+ def Status(self):
4026
+ r"""开关,1:开,0:关
4027
+ :rtype: int
4028
+ """
4029
+ return self._Status
4030
+
4031
+ @Status.setter
4032
+ def Status(self, Status):
4033
+ self._Status = Status
4034
+
4035
+ @property
4036
+ def ApiNameOp(self):
4037
+ r"""api匹配列表
4038
+ :rtype: list of ApiNameOp
4039
+ """
4040
+ return self._ApiNameOp
4041
+
4042
+ @ApiNameOp.setter
4043
+ def ApiNameOp(self, ApiNameOp):
4044
+ self._ApiNameOp = ApiNameOp
4045
+
4046
+ @property
4047
+ def Description(self):
4048
+ r"""事件详情
4049
+ :rtype: str
4050
+ """
4051
+ return self._Description
4052
+
4053
+ @Description.setter
4054
+ def Description(self, Description):
4055
+ self._Description = Description
4056
+
4057
+ @property
4058
+ def UpdateTime(self):
4059
+ r"""时间戳,出参有该值,入参不需要传没有
4060
+ :rtype: int
4061
+ """
4062
+ return self._UpdateTime
4063
+
4064
+ @UpdateTime.setter
4065
+ def UpdateTime(self, UpdateTime):
4066
+ self._UpdateTime = UpdateTime
4067
+
4068
+ @property
4069
+ def MatchRuleList(self):
4070
+ r"""匹配规则列表
4071
+ :rtype: list of ApiSecSceneRuleEntry
4072
+ """
4073
+ return self._MatchRuleList
4074
+
4075
+ @MatchRuleList.setter
4076
+ def MatchRuleList(self, MatchRuleList):
4077
+ self._MatchRuleList = MatchRuleList
4078
+
4079
+ @property
4080
+ def StatRuleList(self):
4081
+ r"""统计规则列表
4082
+ :rtype: list of ApiSecSceneRuleEntry
4083
+ """
4084
+ return self._StatRuleList
4085
+
4086
+ @StatRuleList.setter
4087
+ def StatRuleList(self, StatRuleList):
4088
+ self._StatRuleList = StatRuleList
4089
+
4090
+ @property
4091
+ def ReqFrequency(self):
4092
+ r"""访问频次,第一个字段表示次数,第二个字段表示分钟
4093
+ :rtype: list of int
4094
+ """
4095
+ return self._ReqFrequency
4096
+
4097
+ @ReqFrequency.setter
4098
+ def ReqFrequency(self, ReqFrequency):
4099
+ self._ReqFrequency = ReqFrequency
4100
+
4101
+ @property
4102
+ def RiskLevel(self):
4103
+ r"""风险等级,取值为100,200,300,分别表示低位、中危、高危
4104
+ :rtype: str
4105
+ """
4106
+ return self._RiskLevel
4107
+
4108
+ @RiskLevel.setter
4109
+ def RiskLevel(self, RiskLevel):
4110
+ self._RiskLevel = RiskLevel
4111
+
4112
+ @property
4113
+ def Source(self):
4114
+ r"""规则来源
4115
+ :rtype: str
4116
+ """
4117
+ return self._Source
4118
+
4119
+ @Source.setter
4120
+ def Source(self, Source):
4121
+ self._Source = Source
4122
+
4123
+
4124
+ def _deserialize(self, params):
4125
+ self._RuleName = params.get("RuleName")
4126
+ self._Status = params.get("Status")
4127
+ if params.get("ApiNameOp") is not None:
4128
+ self._ApiNameOp = []
4129
+ for item in params.get("ApiNameOp"):
4130
+ obj = ApiNameOp()
4131
+ obj._deserialize(item)
4132
+ self._ApiNameOp.append(obj)
4133
+ self._Description = params.get("Description")
4134
+ self._UpdateTime = params.get("UpdateTime")
4135
+ if params.get("MatchRuleList") is not None:
4136
+ self._MatchRuleList = []
4137
+ for item in params.get("MatchRuleList"):
4138
+ obj = ApiSecSceneRuleEntry()
4139
+ obj._deserialize(item)
4140
+ self._MatchRuleList.append(obj)
4141
+ if params.get("StatRuleList") is not None:
4142
+ self._StatRuleList = []
4143
+ for item in params.get("StatRuleList"):
4144
+ obj = ApiSecSceneRuleEntry()
4145
+ obj._deserialize(item)
4146
+ self._StatRuleList.append(obj)
4147
+ self._ReqFrequency = params.get("ReqFrequency")
4148
+ self._RiskLevel = params.get("RiskLevel")
4149
+ self._Source = params.get("Source")
4150
+ memeber_set = set(params.keys())
4151
+ for name, value in vars(self).items():
4152
+ property_name = name[1:]
4153
+ if property_name in memeber_set:
4154
+ memeber_set.remove(property_name)
4155
+ if len(memeber_set) > 0:
4156
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
4157
+
4158
+
4159
+
4160
+ class ApiSecCustomSensitiveRule(AbstractModel):
4161
+ r"""api安全客户自定义敏感检测规则
4162
+
4163
+ """
4164
+
4165
+ def __init__(self):
4166
+ r"""
4167
+ :param _Position: 参数位置
4168
+ :type Position: list of str
4169
+ :param _MatchKey: 匹配条件
4170
+ :type MatchKey: str
4171
+ :param _MatchValue: 匹配值
4172
+ :type MatchValue: list of str
4173
+ :param _Level: 风险等级
4174
+ :type Level: str
4175
+ :param _MatchCond: 匹配符号,当匹配条件为关键字匹配和字符匹配的时候传该值,可传多个
4176
+ :type MatchCond: list of str
4177
+ :param _IsPan: 规则是否泛化,默认0表示不泛化
4178
+ :type IsPan: int
4179
+ """
4180
+ self._Position = None
4181
+ self._MatchKey = None
4182
+ self._MatchValue = None
4183
+ self._Level = None
4184
+ self._MatchCond = None
4185
+ self._IsPan = None
4186
+
4187
+ @property
4188
+ def Position(self):
4189
+ r"""参数位置
4190
+ :rtype: list of str
4191
+ """
4192
+ return self._Position
4193
+
4194
+ @Position.setter
4195
+ def Position(self, Position):
4196
+ self._Position = Position
4197
+
4198
+ @property
4199
+ def MatchKey(self):
4200
+ r"""匹配条件
4201
+ :rtype: str
4202
+ """
4203
+ return self._MatchKey
4204
+
4205
+ @MatchKey.setter
4206
+ def MatchKey(self, MatchKey):
4207
+ self._MatchKey = MatchKey
4208
+
4209
+ @property
4210
+ def MatchValue(self):
4211
+ r"""匹配值
4212
+ :rtype: list of str
4213
+ """
4214
+ return self._MatchValue
4215
+
4216
+ @MatchValue.setter
4217
+ def MatchValue(self, MatchValue):
4218
+ self._MatchValue = MatchValue
4219
+
4220
+ @property
4221
+ def Level(self):
4222
+ r"""风险等级
4223
+ :rtype: str
4224
+ """
4225
+ return self._Level
4226
+
4227
+ @Level.setter
4228
+ def Level(self, Level):
4229
+ self._Level = Level
4230
+
4231
+ @property
4232
+ def MatchCond(self):
4233
+ r"""匹配符号,当匹配条件为关键字匹配和字符匹配的时候传该值,可传多个
4234
+ :rtype: list of str
4235
+ """
4236
+ return self._MatchCond
4237
+
4238
+ @MatchCond.setter
4239
+ def MatchCond(self, MatchCond):
4240
+ self._MatchCond = MatchCond
4241
+
4242
+ @property
4243
+ def IsPan(self):
4244
+ r"""规则是否泛化,默认0表示不泛化
4245
+ :rtype: int
4246
+ """
4247
+ return self._IsPan
4248
+
4249
+ @IsPan.setter
4250
+ def IsPan(self, IsPan):
4251
+ self._IsPan = IsPan
4252
+
4253
+
4254
+ def _deserialize(self, params):
4255
+ self._Position = params.get("Position")
4256
+ self._MatchKey = params.get("MatchKey")
4257
+ self._MatchValue = params.get("MatchValue")
4258
+ self._Level = params.get("Level")
4259
+ self._MatchCond = params.get("MatchCond")
4260
+ self._IsPan = params.get("IsPan")
4261
+ memeber_set = set(params.keys())
4262
+ for name, value in vars(self).items():
4263
+ property_name = name[1:]
4264
+ if property_name in memeber_set:
4265
+ memeber_set.remove(property_name)
4266
+ if len(memeber_set) > 0:
4267
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
4268
+
4269
+
4270
+
4271
+ class ApiSecExtractRule(AbstractModel):
4272
+ r"""api提取规则内容
4273
+
4274
+ """
4275
+
4276
+ def __init__(self):
4277
+ r"""
4278
+ :param _RuleName: 规则名称
4279
+ :type RuleName: str
4280
+ :param _ApiName: api名称
4281
+ :type ApiName: str
4282
+ :param _Methods: 请求方法列表
4283
+ :type Methods: list of str
4284
+ :param _Status: 开关状态,0是关,1是开
4285
+ :type Status: int
4286
+ :param _Regex: 正则匹配内容
4287
+ :type Regex: str
4288
+ :param _UpdateTime: 10更新时间戳
4289
+ :type UpdateTime: int
4290
+ """
4291
+ self._RuleName = None
4292
+ self._ApiName = None
4293
+ self._Methods = None
4294
+ self._Status = None
4295
+ self._Regex = None
4296
+ self._UpdateTime = None
4297
+
4298
+ @property
4299
+ def RuleName(self):
4300
+ r"""规则名称
4301
+ :rtype: str
4302
+ """
4303
+ return self._RuleName
4304
+
4305
+ @RuleName.setter
4306
+ def RuleName(self, RuleName):
4307
+ self._RuleName = RuleName
4308
+
4309
+ @property
4310
+ def ApiName(self):
4311
+ r"""api名称
4312
+ :rtype: str
4313
+ """
4314
+ return self._ApiName
4315
+
4316
+ @ApiName.setter
4317
+ def ApiName(self, ApiName):
4318
+ self._ApiName = ApiName
4319
+
4320
+ @property
4321
+ def Methods(self):
4322
+ r"""请求方法列表
4323
+ :rtype: list of str
4324
+ """
4325
+ return self._Methods
4326
+
4327
+ @Methods.setter
4328
+ def Methods(self, Methods):
4329
+ self._Methods = Methods
4330
+
4331
+ @property
4332
+ def Status(self):
4333
+ r"""开关状态,0是关,1是开
4334
+ :rtype: int
4335
+ """
4336
+ return self._Status
4337
+
4338
+ @Status.setter
4339
+ def Status(self, Status):
4340
+ self._Status = Status
4341
+
4342
+ @property
4343
+ def Regex(self):
4344
+ r"""正则匹配内容
4345
+ :rtype: str
4346
+ """
4347
+ return self._Regex
4348
+
4349
+ @Regex.setter
4350
+ def Regex(self, Regex):
4351
+ self._Regex = Regex
4352
+
4353
+ @property
4354
+ def UpdateTime(self):
4355
+ r"""10更新时间戳
4356
+ :rtype: int
4357
+ """
4358
+ return self._UpdateTime
4359
+
4360
+ @UpdateTime.setter
4361
+ def UpdateTime(self, UpdateTime):
4362
+ self._UpdateTime = UpdateTime
4363
+
4364
+
4365
+ def _deserialize(self, params):
4366
+ self._RuleName = params.get("RuleName")
4367
+ self._ApiName = params.get("ApiName")
4368
+ self._Methods = params.get("Methods")
4369
+ self._Status = params.get("Status")
4370
+ self._Regex = params.get("Regex")
4371
+ self._UpdateTime = params.get("UpdateTime")
4372
+ memeber_set = set(params.keys())
4373
+ for name, value in vars(self).items():
4374
+ property_name = name[1:]
4375
+ if property_name in memeber_set:
4376
+ memeber_set.remove(property_name)
4377
+ if len(memeber_set) > 0:
4378
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
4379
+
4380
+
4381
+
3788
4382
  class ApiSecKey(AbstractModel):
3789
4383
  r"""api列表
3790
4384
 
@@ -3851,6 +4445,351 @@ class ApiSecKey(AbstractModel):
3851
4445
 
3852
4446
 
3853
4447
 
4448
+ class ApiSecPrivilegeRule(AbstractModel):
4449
+ r"""自定义api鉴权规则
4450
+
4451
+ """
4452
+
4453
+ def __init__(self):
4454
+ r"""
4455
+ :param _RuleName: 规则名称,不可重复
4456
+ :type RuleName: str
4457
+ :param _Status: 1:开,0:关
4458
+ :type Status: int
4459
+ :param _ApiName: 最多输入20个api
4460
+ :type ApiName: list of str
4461
+ :param _Position: 鉴权位置
4462
+ :type Position: str
4463
+ :param _ParameterList: 鉴权参数列表
4464
+ :type ParameterList: list of str
4465
+ :param _UpdateTime: 更新时间戳
4466
+ :type UpdateTime: int
4467
+ :param _Source: 规则来源
4468
+ :type Source: str
4469
+ :param _ApiNameOp: 带有匹配方式的api列表
4470
+ :type ApiNameOp: list of ApiNameOp
4471
+ :param _Option: 应用对象取值,1表示手动填写,2表示从api资产中获取
4472
+ :type Option: int
4473
+ """
4474
+ self._RuleName = None
4475
+ self._Status = None
4476
+ self._ApiName = None
4477
+ self._Position = None
4478
+ self._ParameterList = None
4479
+ self._UpdateTime = None
4480
+ self._Source = None
4481
+ self._ApiNameOp = None
4482
+ self._Option = None
4483
+
4484
+ @property
4485
+ def RuleName(self):
4486
+ r"""规则名称,不可重复
4487
+ :rtype: str
4488
+ """
4489
+ return self._RuleName
4490
+
4491
+ @RuleName.setter
4492
+ def RuleName(self, RuleName):
4493
+ self._RuleName = RuleName
4494
+
4495
+ @property
4496
+ def Status(self):
4497
+ r"""1:开,0:关
4498
+ :rtype: int
4499
+ """
4500
+ return self._Status
4501
+
4502
+ @Status.setter
4503
+ def Status(self, Status):
4504
+ self._Status = Status
4505
+
4506
+ @property
4507
+ def ApiName(self):
4508
+ r"""最多输入20个api
4509
+ :rtype: list of str
4510
+ """
4511
+ return self._ApiName
4512
+
4513
+ @ApiName.setter
4514
+ def ApiName(self, ApiName):
4515
+ self._ApiName = ApiName
4516
+
4517
+ @property
4518
+ def Position(self):
4519
+ r"""鉴权位置
4520
+ :rtype: str
4521
+ """
4522
+ return self._Position
4523
+
4524
+ @Position.setter
4525
+ def Position(self, Position):
4526
+ self._Position = Position
4527
+
4528
+ @property
4529
+ def ParameterList(self):
4530
+ r"""鉴权参数列表
4531
+ :rtype: list of str
4532
+ """
4533
+ return self._ParameterList
4534
+
4535
+ @ParameterList.setter
4536
+ def ParameterList(self, ParameterList):
4537
+ self._ParameterList = ParameterList
4538
+
4539
+ @property
4540
+ def UpdateTime(self):
4541
+ r"""更新时间戳
4542
+ :rtype: int
4543
+ """
4544
+ return self._UpdateTime
4545
+
4546
+ @UpdateTime.setter
4547
+ def UpdateTime(self, UpdateTime):
4548
+ self._UpdateTime = UpdateTime
4549
+
4550
+ @property
4551
+ def Source(self):
4552
+ r"""规则来源
4553
+ :rtype: str
4554
+ """
4555
+ return self._Source
4556
+
4557
+ @Source.setter
4558
+ def Source(self, Source):
4559
+ self._Source = Source
4560
+
4561
+ @property
4562
+ def ApiNameOp(self):
4563
+ r"""带有匹配方式的api列表
4564
+ :rtype: list of ApiNameOp
4565
+ """
4566
+ return self._ApiNameOp
4567
+
4568
+ @ApiNameOp.setter
4569
+ def ApiNameOp(self, ApiNameOp):
4570
+ self._ApiNameOp = ApiNameOp
4571
+
4572
+ @property
4573
+ def Option(self):
4574
+ r"""应用对象取值,1表示手动填写,2表示从api资产中获取
4575
+ :rtype: int
4576
+ """
4577
+ return self._Option
4578
+
4579
+ @Option.setter
4580
+ def Option(self, Option):
4581
+ self._Option = Option
4582
+
4583
+
4584
+ def _deserialize(self, params):
4585
+ self._RuleName = params.get("RuleName")
4586
+ self._Status = params.get("Status")
4587
+ self._ApiName = params.get("ApiName")
4588
+ self._Position = params.get("Position")
4589
+ self._ParameterList = params.get("ParameterList")
4590
+ self._UpdateTime = params.get("UpdateTime")
4591
+ self._Source = params.get("Source")
4592
+ if params.get("ApiNameOp") is not None:
4593
+ self._ApiNameOp = []
4594
+ for item in params.get("ApiNameOp"):
4595
+ obj = ApiNameOp()
4596
+ obj._deserialize(item)
4597
+ self._ApiNameOp.append(obj)
4598
+ self._Option = params.get("Option")
4599
+ memeber_set = set(params.keys())
4600
+ for name, value in vars(self).items():
4601
+ property_name = name[1:]
4602
+ if property_name in memeber_set:
4603
+ memeber_set.remove(property_name)
4604
+ if len(memeber_set) > 0:
4605
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
4606
+
4607
+
4608
+
4609
+ class ApiSecSceneRule(AbstractModel):
4610
+ r"""api安全自定义场景规则
4611
+
4612
+ """
4613
+
4614
+ def __init__(self):
4615
+ r"""
4616
+ :param _RuleName: 场景名称
4617
+ :type RuleName: str
4618
+ :param _Status: 开关状态,1表示开,0表示关
4619
+ :type Status: int
4620
+ :param _UpdateTime: 更新时间,10位时间戳
4621
+ :type UpdateTime: int
4622
+ :param _RuleList: 规则列表
4623
+ :type RuleList: list of ApiSecSceneRuleEntry
4624
+ :param _Source: 规则来源,系统内置:OS
4625
+ 客户自定义:custom
4626
+ :type Source: str
4627
+ """
4628
+ self._RuleName = None
4629
+ self._Status = None
4630
+ self._UpdateTime = None
4631
+ self._RuleList = None
4632
+ self._Source = None
4633
+
4634
+ @property
4635
+ def RuleName(self):
4636
+ r"""场景名称
4637
+ :rtype: str
4638
+ """
4639
+ return self._RuleName
4640
+
4641
+ @RuleName.setter
4642
+ def RuleName(self, RuleName):
4643
+ self._RuleName = RuleName
4644
+
4645
+ @property
4646
+ def Status(self):
4647
+ r"""开关状态,1表示开,0表示关
4648
+ :rtype: int
4649
+ """
4650
+ return self._Status
4651
+
4652
+ @Status.setter
4653
+ def Status(self, Status):
4654
+ self._Status = Status
4655
+
4656
+ @property
4657
+ def UpdateTime(self):
4658
+ r"""更新时间,10位时间戳
4659
+ :rtype: int
4660
+ """
4661
+ return self._UpdateTime
4662
+
4663
+ @UpdateTime.setter
4664
+ def UpdateTime(self, UpdateTime):
4665
+ self._UpdateTime = UpdateTime
4666
+
4667
+ @property
4668
+ def RuleList(self):
4669
+ r"""规则列表
4670
+ :rtype: list of ApiSecSceneRuleEntry
4671
+ """
4672
+ return self._RuleList
4673
+
4674
+ @RuleList.setter
4675
+ def RuleList(self, RuleList):
4676
+ self._RuleList = RuleList
4677
+
4678
+ @property
4679
+ def Source(self):
4680
+ r"""规则来源,系统内置:OS
4681
+ 客户自定义:custom
4682
+ :rtype: str
4683
+ """
4684
+ return self._Source
4685
+
4686
+ @Source.setter
4687
+ def Source(self, Source):
4688
+ self._Source = Source
4689
+
4690
+
4691
+ def _deserialize(self, params):
4692
+ self._RuleName = params.get("RuleName")
4693
+ self._Status = params.get("Status")
4694
+ self._UpdateTime = params.get("UpdateTime")
4695
+ if params.get("RuleList") is not None:
4696
+ self._RuleList = []
4697
+ for item in params.get("RuleList"):
4698
+ obj = ApiSecSceneRuleEntry()
4699
+ obj._deserialize(item)
4700
+ self._RuleList.append(obj)
4701
+ self._Source = params.get("Source")
4702
+ memeber_set = set(params.keys())
4703
+ for name, value in vars(self).items():
4704
+ property_name = name[1:]
4705
+ if property_name in memeber_set:
4706
+ memeber_set.remove(property_name)
4707
+ if len(memeber_set) > 0:
4708
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
4709
+
4710
+
4711
+
4712
+ class ApiSecSceneRuleEntry(AbstractModel):
4713
+ r"""api安全用户自定义场景规则结构体
4714
+
4715
+ """
4716
+
4717
+ def __init__(self):
4718
+ r"""
4719
+ :param _Key: 匹配字段
4720
+ :type Key: str
4721
+ :param _Value: 匹配值
4722
+ :type Value: list of str
4723
+ :param _Operate: 操作符
4724
+ :type Operate: str
4725
+ :param _Name: 当匹配字段是get参数值,post参数值,cookie参数值,header参数值,rsp参数值的时候,可填充此字段
4726
+ :type Name: str
4727
+ """
4728
+ self._Key = None
4729
+ self._Value = None
4730
+ self._Operate = None
4731
+ self._Name = None
4732
+
4733
+ @property
4734
+ def Key(self):
4735
+ r"""匹配字段
4736
+ :rtype: str
4737
+ """
4738
+ return self._Key
4739
+
4740
+ @Key.setter
4741
+ def Key(self, Key):
4742
+ self._Key = Key
4743
+
4744
+ @property
4745
+ def Value(self):
4746
+ r"""匹配值
4747
+ :rtype: list of str
4748
+ """
4749
+ return self._Value
4750
+
4751
+ @Value.setter
4752
+ def Value(self, Value):
4753
+ self._Value = Value
4754
+
4755
+ @property
4756
+ def Operate(self):
4757
+ r"""操作符
4758
+ :rtype: str
4759
+ """
4760
+ return self._Operate
4761
+
4762
+ @Operate.setter
4763
+ def Operate(self, Operate):
4764
+ self._Operate = Operate
4765
+
4766
+ @property
4767
+ def Name(self):
4768
+ r"""当匹配字段是get参数值,post参数值,cookie参数值,header参数值,rsp参数值的时候,可填充此字段
4769
+ :rtype: str
4770
+ """
4771
+ return self._Name
4772
+
4773
+ @Name.setter
4774
+ def Name(self, Name):
4775
+ self._Name = Name
4776
+
4777
+
4778
+ def _deserialize(self, params):
4779
+ self._Key = params.get("Key")
4780
+ self._Value = params.get("Value")
4781
+ self._Operate = params.get("Operate")
4782
+ self._Name = params.get("Name")
4783
+ memeber_set = set(params.keys())
4784
+ for name, value in vars(self).items():
4785
+ property_name = name[1:]
4786
+ if property_name in memeber_set:
4787
+ memeber_set.remove(property_name)
4788
+ if len(memeber_set) > 0:
4789
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
4790
+
4791
+
4792
+
3854
4793
  class Area(AbstractModel):
3855
4794
  r"""地域信息
3856
4795
 
@@ -4877,6 +5816,102 @@ class BotActionScopeRuleEntry(AbstractModel):
4877
5816
 
4878
5817
 
4879
5818
 
5819
+ class BotIdConfig(AbstractModel):
5820
+ r"""BOT-ID规则信息
5821
+
5822
+ """
5823
+
5824
+ def __init__(self):
5825
+ r"""
5826
+ :param _RuleId: 规则ID
5827
+ :type RuleId: str
5828
+ :param _Status: 规则开关
5829
+ :type Status: bool
5830
+ :param _Action: 动作配置
5831
+ :type Action: str
5832
+ :param _BotId: 规则名称
5833
+ :type BotId: str
5834
+ :param _Redirect: 重定向路径
5835
+ :type Redirect: str
5836
+ """
5837
+ self._RuleId = None
5838
+ self._Status = None
5839
+ self._Action = None
5840
+ self._BotId = None
5841
+ self._Redirect = None
5842
+
5843
+ @property
5844
+ def RuleId(self):
5845
+ r"""规则ID
5846
+ :rtype: str
5847
+ """
5848
+ return self._RuleId
5849
+
5850
+ @RuleId.setter
5851
+ def RuleId(self, RuleId):
5852
+ self._RuleId = RuleId
5853
+
5854
+ @property
5855
+ def Status(self):
5856
+ r"""规则开关
5857
+ :rtype: bool
5858
+ """
5859
+ return self._Status
5860
+
5861
+ @Status.setter
5862
+ def Status(self, Status):
5863
+ self._Status = Status
5864
+
5865
+ @property
5866
+ def Action(self):
5867
+ r"""动作配置
5868
+ :rtype: str
5869
+ """
5870
+ return self._Action
5871
+
5872
+ @Action.setter
5873
+ def Action(self, Action):
5874
+ self._Action = Action
5875
+
5876
+ @property
5877
+ def BotId(self):
5878
+ r"""规则名称
5879
+ :rtype: str
5880
+ """
5881
+ return self._BotId
5882
+
5883
+ @BotId.setter
5884
+ def BotId(self, BotId):
5885
+ self._BotId = BotId
5886
+
5887
+ @property
5888
+ def Redirect(self):
5889
+ r"""重定向路径
5890
+ :rtype: str
5891
+ """
5892
+ return self._Redirect
5893
+
5894
+ @Redirect.setter
5895
+ def Redirect(self, Redirect):
5896
+ self._Redirect = Redirect
5897
+
5898
+
5899
+ def _deserialize(self, params):
5900
+ self._RuleId = params.get("RuleId")
5901
+ self._Status = params.get("Status")
5902
+ self._Action = params.get("Action")
5903
+ self._BotId = params.get("BotId")
5904
+ self._Redirect = params.get("Redirect")
5905
+ memeber_set = set(params.keys())
5906
+ for name, value in vars(self).items():
5907
+ property_name = name[1:]
5908
+ if property_name in memeber_set:
5909
+ memeber_set.remove(property_name)
5910
+ if len(memeber_set) > 0:
5911
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
5912
+
5913
+
5914
+
4880
5915
  class BotPkg(AbstractModel):
4881
5916
  r"""Bot资源信息
4882
5917
 
@@ -10480,6 +11515,432 @@ class CreatePostCLSFlowResponse(AbstractModel):
10480
11515
  self._RequestId = params.get("RequestId")
10481
11516
 
10482
11517
 
11518
+ class CreateRateLimitV2Request(AbstractModel):
11519
+ r"""CreateRateLimitV2请求参数结构体
11520
+
11521
+ """
11522
+
11523
+ def __init__(self):
11524
+ r"""
11525
+ :param _Domain: 域名
11526
+ :type Domain: str
11527
+ :param _Name: 规则名
11528
+ :type Name: str
11529
+ :param _Priority: 规则优先级
11530
+ :type Priority: int
11531
+ :param _Status: 规则开关,0关闭,1开启
11532
+ :type Status: int
11533
+ :param _LimitWindow: 限流窗口
11534
+ :type LimitWindow: :class:`tencentcloud.waf.v20180125.models.LimitWindow`
11535
+ :param _LimitObject: 支持API或Domain,如果是基于API,则LimitPaths不能为空,否则LimitPaths为空
11536
+ :type LimitObject: str
11537
+ :param _LimitStrategy: 限流策略,0:观察,1:拦截,2:人机
11538
+ :type LimitStrategy: int
11539
+ :param _LimitMethod: 限流方法
11540
+ :type LimitMethod: :class:`tencentcloud.waf.v20180125.models.LimitMethod`
11541
+ :param _LimitPaths: 限流路径列表
11542
+ :type LimitPaths: :class:`tencentcloud.waf.v20180125.models.LimitPath`
11543
+ :param _LimitHeaders: 限流Headers
11544
+ :type LimitHeaders: list of LimitHeader
11545
+ :param _LimitHeaderName: 基于Header参数名限流
11546
+ :type LimitHeaderName: :class:`tencentcloud.waf.v20180125.models.LimitHeaderName`
11547
+ :param _GetParamsName: 基于Get参数名限流
11548
+ :type GetParamsName: :class:`tencentcloud.waf.v20180125.models.MatchOption`
11549
+ :param _GetParamsValue: 基于Get参数值限流
11550
+ :type GetParamsValue: :class:`tencentcloud.waf.v20180125.models.MatchOption`
11551
+ :param _PostParamsName: 基于Post参数名限流
11552
+ :type PostParamsName: :class:`tencentcloud.waf.v20180125.models.MatchOption`
11553
+ :param _PostParamsValue: 基于Post参数值限流
11554
+ :type PostParamsValue: :class:`tencentcloud.waf.v20180125.models.MatchOption`
11555
+ :param _IpLocation: 基于IP归属地限流
11556
+ :type IpLocation: :class:`tencentcloud.waf.v20180125.models.MatchOption`
11557
+ :param _RedirectInfo: 重定向信息,当LimitStrategy为重定向时,此字段必填
11558
+ :type RedirectInfo: :class:`tencentcloud.waf.v20180125.models.RedirectInfo`
11559
+ :param _BlockPage: 拦截页面,0表示429,否则填写blockPageID
11560
+ :type BlockPage: int
11561
+ :param _ObjectSrc: 限流对象来源,0:手动填写,1:API资产
11562
+ :type ObjectSrc: int
11563
+ :param _QuotaShare: 是否共享配额,只有当对象为URL时有效,false表示URL独享配额,true表示所有URL共享配额
11564
+ :type QuotaShare: bool
11565
+ :param _PathsOption: 路径选项,可配置每个路径的请求方法
11566
+ :type PathsOption: list of PathItem
11567
+ :param _Order: 限流执行顺序,0:默认情况,限流优先,1:安全防护优先
11568
+ :type Order: int
11569
+ """
11570
+ self._Domain = None
11571
+ self._Name = None
11572
+ self._Priority = None
11573
+ self._Status = None
11574
+ self._LimitWindow = None
11575
+ self._LimitObject = None
11576
+ self._LimitStrategy = None
11577
+ self._LimitMethod = None
11578
+ self._LimitPaths = None
11579
+ self._LimitHeaders = None
11580
+ self._LimitHeaderName = None
11581
+ self._GetParamsName = None
11582
+ self._GetParamsValue = None
11583
+ self._PostParamsName = None
11584
+ self._PostParamsValue = None
11585
+ self._IpLocation = None
11586
+ self._RedirectInfo = None
11587
+ self._BlockPage = None
11588
+ self._ObjectSrc = None
11589
+ self._QuotaShare = None
11590
+ self._PathsOption = None
11591
+ self._Order = None
11592
+
11593
+ @property
11594
+ def Domain(self):
11595
+ r"""域名
11596
+ :rtype: str
11597
+ """
11598
+ return self._Domain
11599
+
11600
+ @Domain.setter
11601
+ def Domain(self, Domain):
11602
+ self._Domain = Domain
11603
+
11604
+ @property
11605
+ def Name(self):
11606
+ r"""规则名
11607
+ :rtype: str
11608
+ """
11609
+ return self._Name
11610
+
11611
+ @Name.setter
11612
+ def Name(self, Name):
11613
+ self._Name = Name
11614
+
11615
+ @property
11616
+ def Priority(self):
11617
+ r"""规则优先级
11618
+ :rtype: int
11619
+ """
11620
+ return self._Priority
11621
+
11622
+ @Priority.setter
11623
+ def Priority(self, Priority):
11624
+ self._Priority = Priority
11625
+
11626
+ @property
11627
+ def Status(self):
11628
+ r"""规则开关,0关闭,1开启
11629
+ :rtype: int
11630
+ """
11631
+ return self._Status
11632
+
11633
+ @Status.setter
11634
+ def Status(self, Status):
11635
+ self._Status = Status
11636
+
11637
+ @property
11638
+ def LimitWindow(self):
11639
+ r"""限流窗口
11640
+ :rtype: :class:`tencentcloud.waf.v20180125.models.LimitWindow`
11641
+ """
11642
+ return self._LimitWindow
11643
+
11644
+ @LimitWindow.setter
11645
+ def LimitWindow(self, LimitWindow):
11646
+ self._LimitWindow = LimitWindow
11647
+
11648
+ @property
11649
+ def LimitObject(self):
11650
+ r"""支持API或Domain,如果是基于API,则LimitPaths不能为空,否则LimitPaths为空
11651
+ :rtype: str
11652
+ """
11653
+ return self._LimitObject
11654
+
11655
+ @LimitObject.setter
11656
+ def LimitObject(self, LimitObject):
11657
+ self._LimitObject = LimitObject
11658
+
11659
+ @property
11660
+ def LimitStrategy(self):
11661
+ r"""限流策略,0:观察,1:拦截,2:人机
11662
+ :rtype: int
11663
+ """
11664
+ return self._LimitStrategy
11665
+
11666
+ @LimitStrategy.setter
11667
+ def LimitStrategy(self, LimitStrategy):
11668
+ self._LimitStrategy = LimitStrategy
11669
+
11670
+ @property
11671
+ def LimitMethod(self):
11672
+ r"""限流方法
11673
+ :rtype: :class:`tencentcloud.waf.v20180125.models.LimitMethod`
11674
+ """
11675
+ return self._LimitMethod
11676
+
11677
+ @LimitMethod.setter
11678
+ def LimitMethod(self, LimitMethod):
11679
+ self._LimitMethod = LimitMethod
11680
+
11681
+ @property
11682
+ def LimitPaths(self):
11683
+ r"""限流路径列表
11684
+ :rtype: :class:`tencentcloud.waf.v20180125.models.LimitPath`
11685
+ """
11686
+ return self._LimitPaths
11687
+
11688
+ @LimitPaths.setter
11689
+ def LimitPaths(self, LimitPaths):
11690
+ self._LimitPaths = LimitPaths
11691
+
11692
+ @property
11693
+ def LimitHeaders(self):
11694
+ r"""限流Headers
11695
+ :rtype: list of LimitHeader
11696
+ """
11697
+ return self._LimitHeaders
11698
+
11699
+ @LimitHeaders.setter
11700
+ def LimitHeaders(self, LimitHeaders):
11701
+ self._LimitHeaders = LimitHeaders
11702
+
11703
+ @property
11704
+ def LimitHeaderName(self):
11705
+ r"""基于Header参数名限流
11706
+ :rtype: :class:`tencentcloud.waf.v20180125.models.LimitHeaderName`
11707
+ """
11708
+ return self._LimitHeaderName
11709
+
11710
+ @LimitHeaderName.setter
11711
+ def LimitHeaderName(self, LimitHeaderName):
11712
+ self._LimitHeaderName = LimitHeaderName
11713
+
11714
+ @property
11715
+ def GetParamsName(self):
11716
+ r"""基于Get参数名限流
11717
+ :rtype: :class:`tencentcloud.waf.v20180125.models.MatchOption`
11718
+ """
11719
+ return self._GetParamsName
11720
+
11721
+ @GetParamsName.setter
11722
+ def GetParamsName(self, GetParamsName):
11723
+ self._GetParamsName = GetParamsName
11724
+
11725
+ @property
11726
+ def GetParamsValue(self):
11727
+ r"""基于Get参数值限流
11728
+ :rtype: :class:`tencentcloud.waf.v20180125.models.MatchOption`
11729
+ """
11730
+ return self._GetParamsValue
11731
+
11732
+ @GetParamsValue.setter
11733
+ def GetParamsValue(self, GetParamsValue):
11734
+ self._GetParamsValue = GetParamsValue
11735
+
11736
+ @property
11737
+ def PostParamsName(self):
11738
+ r"""基于Post参数名限流
11739
+ :rtype: :class:`tencentcloud.waf.v20180125.models.MatchOption`
11740
+ """
11741
+ return self._PostParamsName
11742
+
11743
+ @PostParamsName.setter
11744
+ def PostParamsName(self, PostParamsName):
11745
+ self._PostParamsName = PostParamsName
11746
+
11747
+ @property
11748
+ def PostParamsValue(self):
11749
+ r"""基于Post参数值限流
11750
+ :rtype: :class:`tencentcloud.waf.v20180125.models.MatchOption`
11751
+ """
11752
+ return self._PostParamsValue
11753
+
11754
+ @PostParamsValue.setter
11755
+ def PostParamsValue(self, PostParamsValue):
11756
+ self._PostParamsValue = PostParamsValue
11757
+
11758
+ @property
11759
+ def IpLocation(self):
11760
+ r"""基于IP归属地限流
11761
+ :rtype: :class:`tencentcloud.waf.v20180125.models.MatchOption`
11762
+ """
11763
+ return self._IpLocation
11764
+
11765
+ @IpLocation.setter
11766
+ def IpLocation(self, IpLocation):
11767
+ self._IpLocation = IpLocation
11768
+
11769
+ @property
11770
+ def RedirectInfo(self):
11771
+ r"""重定向信息,当LimitStrategy为重定向时,此字段必填
11772
+ :rtype: :class:`tencentcloud.waf.v20180125.models.RedirectInfo`
11773
+ """
11774
+ return self._RedirectInfo
11775
+
11776
+ @RedirectInfo.setter
11777
+ def RedirectInfo(self, RedirectInfo):
11778
+ self._RedirectInfo = RedirectInfo
11779
+
11780
+ @property
11781
+ def BlockPage(self):
11782
+ r"""拦截页面,0表示429,否则填写blockPageID
11783
+ :rtype: int
11784
+ """
11785
+ return self._BlockPage
11786
+
11787
+ @BlockPage.setter
11788
+ def BlockPage(self, BlockPage):
11789
+ self._BlockPage = BlockPage
11790
+
11791
+ @property
11792
+ def ObjectSrc(self):
11793
+ r"""限流对象来源,0:手动填写,1:API资产
11794
+ :rtype: int
11795
+ """
11796
+ return self._ObjectSrc
11797
+
11798
+ @ObjectSrc.setter
11799
+ def ObjectSrc(self, ObjectSrc):
11800
+ self._ObjectSrc = ObjectSrc
11801
+
11802
+ @property
11803
+ def QuotaShare(self):
11804
+ r"""是否共享配额,只有当对象为URL时有效,false表示URL独享配额,true表示所有URL共享配额
11805
+ :rtype: bool
11806
+ """
11807
+ return self._QuotaShare
11808
+
11809
+ @QuotaShare.setter
11810
+ def QuotaShare(self, QuotaShare):
11811
+ self._QuotaShare = QuotaShare
11812
+
11813
+ @property
11814
+ def PathsOption(self):
11815
+ r"""路径选项,可配置每个路径的请求方法
11816
+ :rtype: list of PathItem
11817
+ """
11818
+ return self._PathsOption
11819
+
11820
+ @PathsOption.setter
11821
+ def PathsOption(self, PathsOption):
11822
+ self._PathsOption = PathsOption
11823
+
11824
+ @property
11825
+ def Order(self):
11826
+ r"""限流执行顺序,0:默认情况,限流优先,1:安全防护优先
11827
+ :rtype: int
11828
+ """
11829
+ return self._Order
11830
+
11831
+ @Order.setter
11832
+ def Order(self, Order):
11833
+ self._Order = Order
11834
+
11835
+
11836
+ def _deserialize(self, params):
11837
+ self._Domain = params.get("Domain")
11838
+ self._Name = params.get("Name")
11839
+ self._Priority = params.get("Priority")
11840
+ self._Status = params.get("Status")
11841
+ if params.get("LimitWindow") is not None:
11842
+ self._LimitWindow = LimitWindow()
11843
+ self._LimitWindow._deserialize(params.get("LimitWindow"))
11844
+ self._LimitObject = params.get("LimitObject")
11845
+ self._LimitStrategy = params.get("LimitStrategy")
11846
+ if params.get("LimitMethod") is not None:
11847
+ self._LimitMethod = LimitMethod()
11848
+ self._LimitMethod._deserialize(params.get("LimitMethod"))
11849
+ if params.get("LimitPaths") is not None:
11850
+ self._LimitPaths = LimitPath()
11851
+ self._LimitPaths._deserialize(params.get("LimitPaths"))
11852
+ if params.get("LimitHeaders") is not None:
11853
+ self._LimitHeaders = []
11854
+ for item in params.get("LimitHeaders"):
11855
+ obj = LimitHeader()
11856
+ obj._deserialize(item)
11857
+ self._LimitHeaders.append(obj)
11858
+ if params.get("LimitHeaderName") is not None:
11859
+ self._LimitHeaderName = LimitHeaderName()
11860
+ self._LimitHeaderName._deserialize(params.get("LimitHeaderName"))
11861
+ if params.get("GetParamsName") is not None:
11862
+ self._GetParamsName = MatchOption()
11863
+ self._GetParamsName._deserialize(params.get("GetParamsName"))
11864
+ if params.get("GetParamsValue") is not None:
11865
+ self._GetParamsValue = MatchOption()
11866
+ self._GetParamsValue._deserialize(params.get("GetParamsValue"))
11867
+ if params.get("PostParamsName") is not None:
11868
+ self._PostParamsName = MatchOption()
11869
+ self._PostParamsName._deserialize(params.get("PostParamsName"))
11870
+ if params.get("PostParamsValue") is not None:
11871
+ self._PostParamsValue = MatchOption()
11872
+ self._PostParamsValue._deserialize(params.get("PostParamsValue"))
11873
+ if params.get("IpLocation") is not None:
11874
+ self._IpLocation = MatchOption()
11875
+ self._IpLocation._deserialize(params.get("IpLocation"))
11876
+ if params.get("RedirectInfo") is not None:
11877
+ self._RedirectInfo = RedirectInfo()
11878
+ self._RedirectInfo._deserialize(params.get("RedirectInfo"))
11879
+ self._BlockPage = params.get("BlockPage")
11880
+ self._ObjectSrc = params.get("ObjectSrc")
11881
+ self._QuotaShare = params.get("QuotaShare")
11882
+ if params.get("PathsOption") is not None:
11883
+ self._PathsOption = []
11884
+ for item in params.get("PathsOption"):
11885
+ obj = PathItem()
11886
+ obj._deserialize(item)
11887
+ self._PathsOption.append(obj)
11888
+ self._Order = params.get("Order")
11889
+ memeber_set = set(params.keys())
11890
+ for name, value in vars(self).items():
11891
+ property_name = name[1:]
11892
+ if property_name in memeber_set:
11893
+ memeber_set.remove(property_name)
11894
+ if len(memeber_set) > 0:
11895
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
11896
+
11897
+
11898
+
11899
+ class CreateRateLimitV2Response(AbstractModel):
11900
+ r"""CreateRateLimitV2返回参数结构体
11901
+
11902
+ """
11903
+
11904
+ def __init__(self):
11905
+ r"""
11906
+ :param _BaseInfo: 操作结果
11907
+ :type BaseInfo: :class:`tencentcloud.waf.v20180125.models.RateLimitCommonRsp`
11908
+ :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
11909
+ :type RequestId: str
11910
+ """
11911
+ self._BaseInfo = None
11912
+ self._RequestId = None
11913
+
11914
+ @property
11915
+ def BaseInfo(self):
11916
+ r"""操作结果
11917
+ :rtype: :class:`tencentcloud.waf.v20180125.models.RateLimitCommonRsp`
11918
+ """
11919
+ return self._BaseInfo
11920
+
11921
+ @BaseInfo.setter
11922
+ def BaseInfo(self, BaseInfo):
11923
+ self._BaseInfo = BaseInfo
11924
+
11925
+ @property
11926
+ def RequestId(self):
11927
+ r"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
11928
+ :rtype: str
11929
+ """
11930
+ return self._RequestId
11931
+
11932
+ @RequestId.setter
11933
+ def RequestId(self, RequestId):
11934
+ self._RequestId = RequestId
11935
+
11936
+
11937
+ def _deserialize(self, params):
11938
+ if params.get("BaseInfo") is not None:
11939
+ self._BaseInfo = RateLimitCommonRsp()
11940
+ self._BaseInfo._deserialize(params.get("BaseInfo"))
11941
+ self._RequestId = params.get("RequestId")
11942
+
11943
+
10483
11944
  class CronJob(AbstractModel):
10484
11945
  r"""规则周期执行的数据结构
10485
11946
 
@@ -12256,6 +13717,102 @@ class DeleteOwaspWhiteRuleResponse(AbstractModel):
12256
13717
  self._RequestId = params.get("RequestId")
12257
13718
 
12258
13719
 
13720
+ class DeleteRateLimitsV2Request(AbstractModel):
13721
+ r"""DeleteRateLimitsV2请求参数结构体
13722
+
13723
+ """
13724
+
13725
+ def __init__(self):
13726
+ r"""
13727
+ :param _Domain: 域名
13728
+ :type Domain: str
13729
+ :param _LimitRuleIds: 要删除的限流ID列表
13730
+ :type LimitRuleIds: list of int
13731
+ """
13732
+ self._Domain = None
13733
+ self._LimitRuleIds = None
13734
+
13735
+ @property
13736
+ def Domain(self):
13737
+ r"""域名
13738
+ :rtype: str
13739
+ """
13740
+ return self._Domain
13741
+
13742
+ @Domain.setter
13743
+ def Domain(self, Domain):
13744
+ self._Domain = Domain
13745
+
13746
+ @property
13747
+ def LimitRuleIds(self):
13748
+ r"""要删除的限流ID列表
13749
+ :rtype: list of int
13750
+ """
13751
+ return self._LimitRuleIds
13752
+
13753
+ @LimitRuleIds.setter
13754
+ def LimitRuleIds(self, LimitRuleIds):
13755
+ self._LimitRuleIds = LimitRuleIds
13756
+
13757
+
13758
+ def _deserialize(self, params):
13759
+ self._Domain = params.get("Domain")
13760
+ self._LimitRuleIds = params.get("LimitRuleIds")
13761
+ memeber_set = set(params.keys())
13762
+ for name, value in vars(self).items():
13763
+ property_name = name[1:]
13764
+ if property_name in memeber_set:
13765
+ memeber_set.remove(property_name)
13766
+ if len(memeber_set) > 0:
13767
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
13768
+
13769
+
13770
+
13771
+ class DeleteRateLimitsV2Response(AbstractModel):
13772
+ r"""DeleteRateLimitsV2返回参数结构体
13773
+
13774
+ """
13775
+
13776
+ def __init__(self):
13777
+ r"""
13778
+ :param _BaseInfo: 操作结果
13779
+ :type BaseInfo: :class:`tencentcloud.waf.v20180125.models.RateLimitCommonRsp`
13780
+ :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
13781
+ :type RequestId: str
13782
+ """
13783
+ self._BaseInfo = None
13784
+ self._RequestId = None
13785
+
13786
+ @property
13787
+ def BaseInfo(self):
13788
+ r"""操作结果
13789
+ :rtype: :class:`tencentcloud.waf.v20180125.models.RateLimitCommonRsp`
13790
+ """
13791
+ return self._BaseInfo
13792
+
13793
+ @BaseInfo.setter
13794
+ def BaseInfo(self, BaseInfo):
13795
+ self._BaseInfo = BaseInfo
13796
+
13797
+ @property
13798
+ def RequestId(self):
13799
+ r"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
13800
+ :rtype: str
13801
+ """
13802
+ return self._RequestId
13803
+
13804
+ @RequestId.setter
13805
+ def RequestId(self, RequestId):
13806
+ self._RequestId = RequestId
13807
+
13808
+
13809
+ def _deserialize(self, params):
13810
+ if params.get("BaseInfo") is not None:
13811
+ self._BaseInfo = RateLimitCommonRsp()
13812
+ self._BaseInfo._deserialize(params.get("BaseInfo"))
13813
+ self._RequestId = params.get("RequestId")
13814
+
13815
+
12259
13816
  class DeleteSessionRequest(AbstractModel):
12260
13817
  r"""DeleteSession请求参数结构体
12261
13818
 
@@ -22093,6 +23650,279 @@ class DescribeProtectionModesResponse(AbstractModel):
22093
23650
  self._RequestId = params.get("RequestId")
22094
23651
 
22095
23652
 
23653
+ class DescribeRateLimitsV2Request(AbstractModel):
23654
+ r"""DescribeRateLimitsV2请求参数结构体
23655
+
23656
+ """
23657
+
23658
+ def __init__(self):
23659
+ r"""
23660
+ :param _Domain: 域名
23661
+ :type Domain: str
23662
+ :param _Id: 限流规则ID
23663
+ :type Id: int
23664
+ :param _Name: 规则名
23665
+ :type Name: str
23666
+ :param _Method: 限流接口名
23667
+ :type Method: str
23668
+ :param _LimitObject: 限流对象,可选API、Domain
23669
+ :type LimitObject: str
23670
+ :param _Status: 规则开关,0表示关闭,1表示开启
23671
+ :type Status: int
23672
+ :param _Order: 排序方式,可选desc、asc
23673
+ :type Order: str
23674
+ :param _By: 排序字段,可选Priority、Timestamp、ID
23675
+ :type By: str
23676
+ :param _Offset: 分页的起始位置
23677
+ :type Offset: int
23678
+ :param _Limit: 每页行数
23679
+ :type Limit: int
23680
+ :param _Filters: 过滤器
23681
+ :type Filters: list of FiltersItemNew
23682
+ """
23683
+ self._Domain = None
23684
+ self._Id = None
23685
+ self._Name = None
23686
+ self._Method = None
23687
+ self._LimitObject = None
23688
+ self._Status = None
23689
+ self._Order = None
23690
+ self._By = None
23691
+ self._Offset = None
23692
+ self._Limit = None
23693
+ self._Filters = None
23694
+
23695
+ @property
23696
+ def Domain(self):
23697
+ r"""域名
23698
+ :rtype: str
23699
+ """
23700
+ return self._Domain
23701
+
23702
+ @Domain.setter
23703
+ def Domain(self, Domain):
23704
+ self._Domain = Domain
23705
+
23706
+ @property
23707
+ def Id(self):
23708
+ r"""限流规则ID
23709
+ :rtype: int
23710
+ """
23711
+ return self._Id
23712
+
23713
+ @Id.setter
23714
+ def Id(self, Id):
23715
+ self._Id = Id
23716
+
23717
+ @property
23718
+ def Name(self):
23719
+ r"""规则名
23720
+ :rtype: str
23721
+ """
23722
+ return self._Name
23723
+
23724
+ @Name.setter
23725
+ def Name(self, Name):
23726
+ self._Name = Name
23727
+
23728
+ @property
23729
+ def Method(self):
23730
+ r"""限流接口名
23731
+ :rtype: str
23732
+ """
23733
+ return self._Method
23734
+
23735
+ @Method.setter
23736
+ def Method(self, Method):
23737
+ self._Method = Method
23738
+
23739
+ @property
23740
+ def LimitObject(self):
23741
+ r"""限流对象,可选API、Domain
23742
+ :rtype: str
23743
+ """
23744
+ return self._LimitObject
23745
+
23746
+ @LimitObject.setter
23747
+ def LimitObject(self, LimitObject):
23748
+ self._LimitObject = LimitObject
23749
+
23750
+ @property
23751
+ def Status(self):
23752
+ r"""规则开关,0表示关闭,1表示开启
23753
+ :rtype: int
23754
+ """
23755
+ return self._Status
23756
+
23757
+ @Status.setter
23758
+ def Status(self, Status):
23759
+ self._Status = Status
23760
+
23761
+ @property
23762
+ def Order(self):
23763
+ r"""排序方式,可选desc、asc
23764
+ :rtype: str
23765
+ """
23766
+ return self._Order
23767
+
23768
+ @Order.setter
23769
+ def Order(self, Order):
23770
+ self._Order = Order
23771
+
23772
+ @property
23773
+ def By(self):
23774
+ r"""排序字段,可选Priority、Timestamp、ID
23775
+ :rtype: str
23776
+ """
23777
+ return self._By
23778
+
23779
+ @By.setter
23780
+ def By(self, By):
23781
+ self._By = By
23782
+
23783
+ @property
23784
+ def Offset(self):
23785
+ r"""分页的起始位置
23786
+ :rtype: int
23787
+ """
23788
+ return self._Offset
23789
+
23790
+ @Offset.setter
23791
+ def Offset(self, Offset):
23792
+ self._Offset = Offset
23793
+
23794
+ @property
23795
+ def Limit(self):
23796
+ r"""每页行数
23797
+ :rtype: int
23798
+ """
23799
+ return self._Limit
23800
+
23801
+ @Limit.setter
23802
+ def Limit(self, Limit):
23803
+ self._Limit = Limit
23804
+
23805
+ @property
23806
+ def Filters(self):
23807
+ r"""过滤器
23808
+ :rtype: list of FiltersItemNew
23809
+ """
23810
+ return self._Filters
23811
+
23812
+ @Filters.setter
23813
+ def Filters(self, Filters):
23814
+ self._Filters = Filters
23815
+
23816
+
23817
+ def _deserialize(self, params):
23818
+ self._Domain = params.get("Domain")
23819
+ self._Id = params.get("Id")
23820
+ self._Name = params.get("Name")
23821
+ self._Method = params.get("Method")
23822
+ self._LimitObject = params.get("LimitObject")
23823
+ self._Status = params.get("Status")
23824
+ self._Order = params.get("Order")
23825
+ self._By = params.get("By")
23826
+ self._Offset = params.get("Offset")
23827
+ self._Limit = params.get("Limit")
23828
+ if params.get("Filters") is not None:
23829
+ self._Filters = []
23830
+ for item in params.get("Filters"):
23831
+ obj = FiltersItemNew()
23832
+ obj._deserialize(item)
23833
+ self._Filters.append(obj)
23834
+ memeber_set = set(params.keys())
23835
+ for name, value in vars(self).items():
23836
+ property_name = name[1:]
23837
+ if property_name in memeber_set:
23838
+ memeber_set.remove(property_name)
23839
+ if len(memeber_set) > 0:
23840
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
23841
+
23842
+
23843
+
23844
+ class DescribeRateLimitsV2Response(AbstractModel):
23845
+ r"""DescribeRateLimitsV2返回参数结构体
23846
+
23847
+ """
23848
+
23849
+ def __init__(self):
23850
+ r"""
23851
+ :param _Total: 查询结果中规则数量
23852
+ :type Total: int
23853
+ :param _BaseInfo: 操作结果
23854
+ :type BaseInfo: :class:`tencentcloud.waf.v20180125.models.RateLimitCommonRsp`
23855
+ :param _RateLimits: 规则列表
23856
+ 注意:此字段可能返回 null,表示取不到有效值。
23857
+ :type RateLimits: list of LimitRuleV2
23858
+ :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
23859
+ :type RequestId: str
23860
+ """
23861
+ self._Total = None
23862
+ self._BaseInfo = None
23863
+ self._RateLimits = None
23864
+ self._RequestId = None
23865
+
23866
+ @property
23867
+ def Total(self):
23868
+ r"""查询结果中规则数量
23869
+ :rtype: int
23870
+ """
23871
+ return self._Total
23872
+
23873
+ @Total.setter
23874
+ def Total(self, Total):
23875
+ self._Total = Total
23876
+
23877
+ @property
23878
+ def BaseInfo(self):
23879
+ r"""操作结果
23880
+ :rtype: :class:`tencentcloud.waf.v20180125.models.RateLimitCommonRsp`
23881
+ """
23882
+ return self._BaseInfo
23883
+
23884
+ @BaseInfo.setter
23885
+ def BaseInfo(self, BaseInfo):
23886
+ self._BaseInfo = BaseInfo
23887
+
23888
+ @property
23889
+ def RateLimits(self):
23890
+ r"""规则列表
23891
+ 注意:此字段可能返回 null,表示取不到有效值。
23892
+ :rtype: list of LimitRuleV2
23893
+ """
23894
+ return self._RateLimits
23895
+
23896
+ @RateLimits.setter
23897
+ def RateLimits(self, RateLimits):
23898
+ self._RateLimits = RateLimits
23899
+
23900
+ @property
23901
+ def RequestId(self):
23902
+ r"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
23903
+ :rtype: str
23904
+ """
23905
+ return self._RequestId
23906
+
23907
+ @RequestId.setter
23908
+ def RequestId(self, RequestId):
23909
+ self._RequestId = RequestId
23910
+
23911
+
23912
+ def _deserialize(self, params):
23913
+ self._Total = params.get("Total")
23914
+ if params.get("BaseInfo") is not None:
23915
+ self._BaseInfo = RateLimitCommonRsp()
23916
+ self._BaseInfo._deserialize(params.get("BaseInfo"))
23917
+ if params.get("RateLimits") is not None:
23918
+ self._RateLimits = []
23919
+ for item in params.get("RateLimits"):
23920
+ obj = LimitRuleV2()
23921
+ obj._deserialize(item)
23922
+ self._RateLimits.append(obj)
23923
+ self._RequestId = params.get("RequestId")
23924
+
23925
+
22096
23926
  class DescribeRuleLimitRequest(AbstractModel):
22097
23927
  r"""DescribeRuleLimit请求参数结构体
22098
23928
 
@@ -26930,6 +28760,158 @@ class DownloadAttackRecordInfo(AbstractModel):
26930
28760
 
26931
28761
 
26932
28762
 
28763
+ class EnableLimitRuleItem(AbstractModel):
28764
+ r"""EnableLimitRuleItem
28765
+
28766
+ """
28767
+
28768
+ def __init__(self):
28769
+ r"""
28770
+ :param _LimitRuleId: 规则ID
28771
+ :type LimitRuleId: int
28772
+ :param _Status: 规则开关,0开启,1关闭
28773
+ :type Status: int
28774
+ """
28775
+ self._LimitRuleId = None
28776
+ self._Status = None
28777
+
28778
+ @property
28779
+ def LimitRuleId(self):
28780
+ r"""规则ID
28781
+ :rtype: int
28782
+ """
28783
+ return self._LimitRuleId
28784
+
28785
+ @LimitRuleId.setter
28786
+ def LimitRuleId(self, LimitRuleId):
28787
+ self._LimitRuleId = LimitRuleId
28788
+
28789
+ @property
28790
+ def Status(self):
28791
+ r"""规则开关,0开启,1关闭
28792
+ :rtype: int
28793
+ """
28794
+ return self._Status
28795
+
28796
+ @Status.setter
28797
+ def Status(self, Status):
28798
+ self._Status = Status
28799
+
28800
+
28801
+ def _deserialize(self, params):
28802
+ self._LimitRuleId = params.get("LimitRuleId")
28803
+ self._Status = params.get("Status")
28804
+ memeber_set = set(params.keys())
28805
+ for name, value in vars(self).items():
28806
+ property_name = name[1:]
28807
+ if property_name in memeber_set:
28808
+ memeber_set.remove(property_name)
28809
+ if len(memeber_set) > 0:
28810
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
28811
+
28812
+
28813
+
28814
+ class EnableRateLimitsV2Request(AbstractModel):
28815
+ r"""EnableRateLimitsV2请求参数结构体
28816
+
28817
+ """
28818
+
28819
+ def __init__(self):
28820
+ r"""
28821
+ :param _Domain: 域名
28822
+ :type Domain: str
28823
+ :param _EnableItems: 具体规则列表
28824
+ :type EnableItems: list of EnableLimitRuleItem
28825
+ """
28826
+ self._Domain = None
28827
+ self._EnableItems = None
28828
+
28829
+ @property
28830
+ def Domain(self):
28831
+ r"""域名
28832
+ :rtype: str
28833
+ """
28834
+ return self._Domain
28835
+
28836
+ @Domain.setter
28837
+ def Domain(self, Domain):
28838
+ self._Domain = Domain
28839
+
28840
+ @property
28841
+ def EnableItems(self):
28842
+ r"""具体规则列表
28843
+ :rtype: list of EnableLimitRuleItem
28844
+ """
28845
+ return self._EnableItems
28846
+
28847
+ @EnableItems.setter
28848
+ def EnableItems(self, EnableItems):
28849
+ self._EnableItems = EnableItems
28850
+
28851
+
28852
+ def _deserialize(self, params):
28853
+ self._Domain = params.get("Domain")
28854
+ if params.get("EnableItems") is not None:
28855
+ self._EnableItems = []
28856
+ for item in params.get("EnableItems"):
28857
+ obj = EnableLimitRuleItem()
28858
+ obj._deserialize(item)
28859
+ self._EnableItems.append(obj)
28860
+ memeber_set = set(params.keys())
28861
+ for name, value in vars(self).items():
28862
+ property_name = name[1:]
28863
+ if property_name in memeber_set:
28864
+ memeber_set.remove(property_name)
28865
+ if len(memeber_set) > 0:
28866
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
28867
+
28868
+
28869
+
28870
+ class EnableRateLimitsV2Response(AbstractModel):
28871
+ r"""EnableRateLimitsV2返回参数结构体
28872
+
28873
+ """
28874
+
28875
+ def __init__(self):
28876
+ r"""
28877
+ :param _BaseInfo: 操作结果
28878
+ :type BaseInfo: :class:`tencentcloud.waf.v20180125.models.RateLimitCommonRsp`
28879
+ :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
28880
+ :type RequestId: str
28881
+ """
28882
+ self._BaseInfo = None
28883
+ self._RequestId = None
28884
+
28885
+ @property
28886
+ def BaseInfo(self):
28887
+ r"""操作结果
28888
+ :rtype: :class:`tencentcloud.waf.v20180125.models.RateLimitCommonRsp`
28889
+ """
28890
+ return self._BaseInfo
28891
+
28892
+ @BaseInfo.setter
28893
+ def BaseInfo(self, BaseInfo):
28894
+ self._BaseInfo = BaseInfo
28895
+
28896
+ @property
28897
+ def RequestId(self):
28898
+ r"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
28899
+ :rtype: str
28900
+ """
28901
+ return self._RequestId
28902
+
28903
+ @RequestId.setter
28904
+ def RequestId(self, RequestId):
28905
+ self._RequestId = RequestId
28906
+
28907
+
28908
+ def _deserialize(self, params):
28909
+ if params.get("BaseInfo") is not None:
28910
+ self._BaseInfo = RateLimitCommonRsp()
28911
+ self._BaseInfo._deserialize(params.get("BaseInfo"))
28912
+ self._RequestId = params.get("RequestId")
28913
+
28914
+
26933
28915
  class ExportAccessInfo(AbstractModel):
26934
28916
  r"""DescribeAccessExports接口
26935
28917
 
@@ -32653,6 +34635,750 @@ class LLMPkg(AbstractModel):
32653
34635
 
32654
34636
 
32655
34637
 
34638
+ class LimitHeader(AbstractModel):
34639
+ r"""限流Header数据结构
34640
+
34641
+ """
34642
+
34643
+ def __init__(self):
34644
+ r"""
34645
+ :param _Key: key
34646
+ 注意:此字段可能返回 null,表示取不到有效值。
34647
+ :type Key: str
34648
+ :param _Value: value
34649
+ 注意:此字段可能返回 null,表示取不到有效值。
34650
+ :type Value: str
34651
+ :param _Type: 匹配方式,支持EXACT(等于), REGEX(正则) , IN(属于) , NOT_IN(不属于), CONTAINS(包含), NOT_CONTAINS(不包含)
34652
+ 注意:此字段可能返回 null,表示取不到有效值。
34653
+ :type Type: str
34654
+ """
34655
+ self._Key = None
34656
+ self._Value = None
34657
+ self._Type = None
34658
+
34659
+ @property
34660
+ def Key(self):
34661
+ r"""key
34662
+ 注意:此字段可能返回 null,表示取不到有效值。
34663
+ :rtype: str
34664
+ """
34665
+ return self._Key
34666
+
34667
+ @Key.setter
34668
+ def Key(self, Key):
34669
+ self._Key = Key
34670
+
34671
+ @property
34672
+ def Value(self):
34673
+ r"""value
34674
+ 注意:此字段可能返回 null,表示取不到有效值。
34675
+ :rtype: str
34676
+ """
34677
+ return self._Value
34678
+
34679
+ @Value.setter
34680
+ def Value(self, Value):
34681
+ self._Value = Value
34682
+
34683
+ @property
34684
+ def Type(self):
34685
+ r"""匹配方式,支持EXACT(等于), REGEX(正则) , IN(属于) , NOT_IN(不属于), CONTAINS(包含), NOT_CONTAINS(不包含)
34686
+ 注意:此字段可能返回 null,表示取不到有效值。
34687
+ :rtype: str
34688
+ """
34689
+ return self._Type
34690
+
34691
+ @Type.setter
34692
+ def Type(self, Type):
34693
+ self._Type = Type
34694
+
34695
+
34696
+ def _deserialize(self, params):
34697
+ self._Key = params.get("Key")
34698
+ self._Value = params.get("Value")
34699
+ self._Type = params.get("Type")
34700
+ memeber_set = set(params.keys())
34701
+ for name, value in vars(self).items():
34702
+ property_name = name[1:]
34703
+ if property_name in memeber_set:
34704
+ memeber_set.remove(property_name)
34705
+ if len(memeber_set) > 0:
34706
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
34707
+
34708
+
34709
+
34710
+ class LimitHeaderName(AbstractModel):
34711
+ r"""限流Header参数名
34712
+
34713
+ """
34714
+
34715
+ def __init__(self):
34716
+ r"""
34717
+ :param _ParamsName: 参数名
34718
+ 注意:此字段可能返回 null,表示取不到有效值。
34719
+ :type ParamsName: str
34720
+ :param _Type: 操作符号,支持REGEX(正则),IN(属于),NOT_IN(不属于), EACH(每个参数值)
34721
+ 注意:此字段可能返回 null,表示取不到有效值。
34722
+ :type Type: str
34723
+ """
34724
+ self._ParamsName = None
34725
+ self._Type = None
34726
+
34727
+ @property
34728
+ def ParamsName(self):
34729
+ r"""参数名
34730
+ 注意:此字段可能返回 null,表示取不到有效值。
34731
+ :rtype: str
34732
+ """
34733
+ return self._ParamsName
34734
+
34735
+ @ParamsName.setter
34736
+ def ParamsName(self, ParamsName):
34737
+ self._ParamsName = ParamsName
34738
+
34739
+ @property
34740
+ def Type(self):
34741
+ r"""操作符号,支持REGEX(正则),IN(属于),NOT_IN(不属于), EACH(每个参数值)
34742
+ 注意:此字段可能返回 null,表示取不到有效值。
34743
+ :rtype: str
34744
+ """
34745
+ return self._Type
34746
+
34747
+ @Type.setter
34748
+ def Type(self, Type):
34749
+ self._Type = Type
34750
+
34751
+
34752
+ def _deserialize(self, params):
34753
+ self._ParamsName = params.get("ParamsName")
34754
+ self._Type = params.get("Type")
34755
+ memeber_set = set(params.keys())
34756
+ for name, value in vars(self).items():
34757
+ property_name = name[1:]
34758
+ if property_name in memeber_set:
34759
+ memeber_set.remove(property_name)
34760
+ if len(memeber_set) > 0:
34761
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
34762
+
34763
+
34764
+
34765
+ class LimitMethod(AbstractModel):
34766
+ r"""限流方法数据结构
34767
+
34768
+ """
34769
+
34770
+ def __init__(self):
34771
+ r"""
34772
+ :param _Method: 需要限流的请求方式
34773
+ 注意:此字段可能返回 null,表示取不到有效值。
34774
+ :type Method: str
34775
+ :param _Type: 匹配方式,支持EXACT(等于), REGEX(正则) , IN(属于) , NOT_IN(不属于), CONTAINS(包含), NOT_CONTAINS(不包含)
34776
+ 注意:此字段可能返回 null,表示取不到有效值。
34777
+ :type Type: str
34778
+ """
34779
+ self._Method = None
34780
+ self._Type = None
34781
+
34782
+ @property
34783
+ def Method(self):
34784
+ r"""需要限流的请求方式
34785
+ 注意:此字段可能返回 null,表示取不到有效值。
34786
+ :rtype: str
34787
+ """
34788
+ return self._Method
34789
+
34790
+ @Method.setter
34791
+ def Method(self, Method):
34792
+ self._Method = Method
34793
+
34794
+ @property
34795
+ def Type(self):
34796
+ r"""匹配方式,支持EXACT(等于), REGEX(正则) , IN(属于) , NOT_IN(不属于), CONTAINS(包含), NOT_CONTAINS(不包含)
34797
+ 注意:此字段可能返回 null,表示取不到有效值。
34798
+ :rtype: str
34799
+ """
34800
+ return self._Type
34801
+
34802
+ @Type.setter
34803
+ def Type(self, Type):
34804
+ self._Type = Type
34805
+
34806
+
34807
+ def _deserialize(self, params):
34808
+ self._Method = params.get("Method")
34809
+ self._Type = params.get("Type")
34810
+ memeber_set = set(params.keys())
34811
+ for name, value in vars(self).items():
34812
+ property_name = name[1:]
34813
+ if property_name in memeber_set:
34814
+ memeber_set.remove(property_name)
34815
+ if len(memeber_set) > 0:
34816
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
34817
+
34818
+
34819
+
34820
+ class LimitPath(AbstractModel):
34821
+ r"""限流Path
34822
+
34823
+ """
34824
+
34825
+ def __init__(self):
34826
+ r"""
34827
+ :param _Path: 限流路径
34828
+ 注意:此字段可能返回 null,表示取不到有效值。
34829
+ :type Path: str
34830
+ :param _Type: 匹配方式
34831
+ 注意:此字段可能返回 null,表示取不到有效值。
34832
+ :type Type: str
34833
+ """
34834
+ self._Path = None
34835
+ self._Type = None
34836
+
34837
+ @property
34838
+ def Path(self):
34839
+ r"""限流路径
34840
+ 注意:此字段可能返回 null,表示取不到有效值。
34841
+ :rtype: str
34842
+ """
34843
+ return self._Path
34844
+
34845
+ @Path.setter
34846
+ def Path(self, Path):
34847
+ self._Path = Path
34848
+
34849
+ @property
34850
+ def Type(self):
34851
+ r"""匹配方式
34852
+ 注意:此字段可能返回 null,表示取不到有效值。
34853
+ :rtype: str
34854
+ """
34855
+ return self._Type
34856
+
34857
+ @Type.setter
34858
+ def Type(self, Type):
34859
+ self._Type = Type
34860
+
34861
+
34862
+ def _deserialize(self, params):
34863
+ self._Path = params.get("Path")
34864
+ self._Type = params.get("Type")
34865
+ memeber_set = set(params.keys())
34866
+ for name, value in vars(self).items():
34867
+ property_name = name[1:]
34868
+ if property_name in memeber_set:
34869
+ memeber_set.remove(property_name)
34870
+ if len(memeber_set) > 0:
34871
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
34872
+
34873
+
34874
+
34875
+ class LimitRuleV2(AbstractModel):
34876
+ r"""自研版限流规则数据结构
34877
+
34878
+ """
34879
+
34880
+ def __init__(self):
34881
+ r"""
34882
+ :param _LimitRuleID: 规则ID
34883
+ :type LimitRuleID: int
34884
+ :param _Name: 规则名
34885
+ :type Name: str
34886
+ :param _Priority: 优先级
34887
+ :type Priority: int
34888
+ :param _Status: 规则开关,0表示关闭,1表示开启
34889
+ :type Status: int
34890
+ :param _TsVersion: 时间戳
34891
+ :type TsVersion: int
34892
+ :param _LimitObject: 限流对象,API或Domain
34893
+ :type LimitObject: str
34894
+ :param _LimitMethod: 限流方法名
34895
+ 注意:此字段可能返回 null,表示取不到有效值。
34896
+ :type LimitMethod: :class:`tencentcloud.waf.v20180125.models.LimitMethod`
34897
+ :param _LimitPaths: 路径
34898
+ 注意:此字段可能返回 null,表示取不到有效值。
34899
+ :type LimitPaths: :class:`tencentcloud.waf.v20180125.models.LimitPath`
34900
+ :param _LimitHeaders: Header参数
34901
+ 注意:此字段可能返回 null,表示取不到有效值。
34902
+ :type LimitHeaders: list of LimitHeader
34903
+ :param _LimitWindow: 限流窗口
34904
+ :type LimitWindow: :class:`tencentcloud.waf.v20180125.models.LimitWindow`
34905
+ :param _LimitStrategy: 限流策略,0:观察,1:拦截,2:人机
34906
+ :type LimitStrategy: int
34907
+ :param _LimitHeaderName: Header参数名
34908
+ 注意:此字段可能返回 null,表示取不到有效值。
34909
+ :type LimitHeaderName: :class:`tencentcloud.waf.v20180125.models.LimitHeaderName`
34910
+ :param _GetParamsName: Get参数名
34911
+ 注意:此字段可能返回 null,表示取不到有效值。
34912
+ :type GetParamsName: :class:`tencentcloud.waf.v20180125.models.MatchOption`
34913
+ :param _GetParamsValue: Get参数值
34914
+ 注意:此字段可能返回 null,表示取不到有效值。
34915
+ :type GetParamsValue: :class:`tencentcloud.waf.v20180125.models.MatchOption`
34916
+ :param _PostParamsName: Post参数名
34917
+ 注意:此字段可能返回 null,表示取不到有效值。
34918
+ :type PostParamsName: :class:`tencentcloud.waf.v20180125.models.MatchOption`
34919
+ :param _PostParamsValue: Post参数值
34920
+ 注意:此字段可能返回 null,表示取不到有效值。
34921
+ :type PostParamsValue: :class:`tencentcloud.waf.v20180125.models.MatchOption`
34922
+ :param _IpLocation: Ip属地
34923
+ 注意:此字段可能返回 null,表示取不到有效值。
34924
+ :type IpLocation: :class:`tencentcloud.waf.v20180125.models.MatchOption`
34925
+ :param _RedirectInfo: 重定向信息,当LimitStrategy为2时,此字段不为空
34926
+ 注意:此字段可能返回 null,表示取不到有效值。
34927
+ :type RedirectInfo: :class:`tencentcloud.waf.v20180125.models.RedirectInfo`
34928
+ :param _BlockPage: 拦截页面,0表示429,否则为BlockPageID
34929
+ :type BlockPage: int
34930
+ :param _ObjectSrc: 限流对象来源,0:手动填写,1:API资产
34931
+ :type ObjectSrc: int
34932
+ :param _QuotaShare: 是否共享配额,只有当对象为URL时有效,false表示URL独享配额,true表示所有URL共享配额
34933
+ :type QuotaShare: bool
34934
+ :param _PathsOption: 路径选项,可配置每个路径的请求方法
34935
+ 注意:此字段可能返回 null,表示取不到有效值。
34936
+ :type PathsOption: list of PathItem
34937
+ :param _Order: 574新增需求,限流执行顺序,0:默认情况,限流优先,1:安全防护优先
34938
+ :type Order: int
34939
+ """
34940
+ self._LimitRuleID = None
34941
+ self._Name = None
34942
+ self._Priority = None
34943
+ self._Status = None
34944
+ self._TsVersion = None
34945
+ self._LimitObject = None
34946
+ self._LimitMethod = None
34947
+ self._LimitPaths = None
34948
+ self._LimitHeaders = None
34949
+ self._LimitWindow = None
34950
+ self._LimitStrategy = None
34951
+ self._LimitHeaderName = None
34952
+ self._GetParamsName = None
34953
+ self._GetParamsValue = None
34954
+ self._PostParamsName = None
34955
+ self._PostParamsValue = None
34956
+ self._IpLocation = None
34957
+ self._RedirectInfo = None
34958
+ self._BlockPage = None
34959
+ self._ObjectSrc = None
34960
+ self._QuotaShare = None
34961
+ self._PathsOption = None
34962
+ self._Order = None
34963
+
34964
+ @property
34965
+ def LimitRuleID(self):
34966
+ r"""规则ID
34967
+ :rtype: int
34968
+ """
34969
+ return self._LimitRuleID
34970
+
34971
+ @LimitRuleID.setter
34972
+ def LimitRuleID(self, LimitRuleID):
34973
+ self._LimitRuleID = LimitRuleID
34974
+
34975
+ @property
34976
+ def Name(self):
34977
+ r"""规则名
34978
+ :rtype: str
34979
+ """
34980
+ return self._Name
34981
+
34982
+ @Name.setter
34983
+ def Name(self, Name):
34984
+ self._Name = Name
34985
+
34986
+ @property
34987
+ def Priority(self):
34988
+ r"""优先级
34989
+ :rtype: int
34990
+ """
34991
+ return self._Priority
34992
+
34993
+ @Priority.setter
34994
+ def Priority(self, Priority):
34995
+ self._Priority = Priority
34996
+
34997
+ @property
34998
+ def Status(self):
34999
+ r"""规则开关,0表示关闭,1表示开启
35000
+ :rtype: int
35001
+ """
35002
+ return self._Status
35003
+
35004
+ @Status.setter
35005
+ def Status(self, Status):
35006
+ self._Status = Status
35007
+
35008
+ @property
35009
+ def TsVersion(self):
35010
+ r"""时间戳
35011
+ :rtype: int
35012
+ """
35013
+ return self._TsVersion
35014
+
35015
+ @TsVersion.setter
35016
+ def TsVersion(self, TsVersion):
35017
+ self._TsVersion = TsVersion
35018
+
35019
+ @property
35020
+ def LimitObject(self):
35021
+ r"""限流对象,API或Domain
35022
+ :rtype: str
35023
+ """
35024
+ return self._LimitObject
35025
+
35026
+ @LimitObject.setter
35027
+ def LimitObject(self, LimitObject):
35028
+ self._LimitObject = LimitObject
35029
+
35030
+ @property
35031
+ def LimitMethod(self):
35032
+ r"""限流方法名
35033
+ 注意:此字段可能返回 null,表示取不到有效值。
35034
+ :rtype: :class:`tencentcloud.waf.v20180125.models.LimitMethod`
35035
+ """
35036
+ return self._LimitMethod
35037
+
35038
+ @LimitMethod.setter
35039
+ def LimitMethod(self, LimitMethod):
35040
+ self._LimitMethod = LimitMethod
35041
+
35042
+ @property
35043
+ def LimitPaths(self):
35044
+ r"""路径
35045
+ 注意:此字段可能返回 null,表示取不到有效值。
35046
+ :rtype: :class:`tencentcloud.waf.v20180125.models.LimitPath`
35047
+ """
35048
+ return self._LimitPaths
35049
+
35050
+ @LimitPaths.setter
35051
+ def LimitPaths(self, LimitPaths):
35052
+ self._LimitPaths = LimitPaths
35053
+
35054
+ @property
35055
+ def LimitHeaders(self):
35056
+ r"""Header参数
35057
+ 注意:此字段可能返回 null,表示取不到有效值。
35058
+ :rtype: list of LimitHeader
35059
+ """
35060
+ return self._LimitHeaders
35061
+
35062
+ @LimitHeaders.setter
35063
+ def LimitHeaders(self, LimitHeaders):
35064
+ self._LimitHeaders = LimitHeaders
35065
+
35066
+ @property
35067
+ def LimitWindow(self):
35068
+ r"""限流窗口
35069
+ :rtype: :class:`tencentcloud.waf.v20180125.models.LimitWindow`
35070
+ """
35071
+ return self._LimitWindow
35072
+
35073
+ @LimitWindow.setter
35074
+ def LimitWindow(self, LimitWindow):
35075
+ self._LimitWindow = LimitWindow
35076
+
35077
+ @property
35078
+ def LimitStrategy(self):
35079
+ r"""限流策略,0:观察,1:拦截,2:人机
35080
+ :rtype: int
35081
+ """
35082
+ return self._LimitStrategy
35083
+
35084
+ @LimitStrategy.setter
35085
+ def LimitStrategy(self, LimitStrategy):
35086
+ self._LimitStrategy = LimitStrategy
35087
+
35088
+ @property
35089
+ def LimitHeaderName(self):
35090
+ r"""Header参数名
35091
+ 注意:此字段可能返回 null,表示取不到有效值。
35092
+ :rtype: :class:`tencentcloud.waf.v20180125.models.LimitHeaderName`
35093
+ """
35094
+ return self._LimitHeaderName
35095
+
35096
+ @LimitHeaderName.setter
35097
+ def LimitHeaderName(self, LimitHeaderName):
35098
+ self._LimitHeaderName = LimitHeaderName
35099
+
35100
+ @property
35101
+ def GetParamsName(self):
35102
+ r"""Get参数名
35103
+ 注意:此字段可能返回 null,表示取不到有效值。
35104
+ :rtype: :class:`tencentcloud.waf.v20180125.models.MatchOption`
35105
+ """
35106
+ return self._GetParamsName
35107
+
35108
+ @GetParamsName.setter
35109
+ def GetParamsName(self, GetParamsName):
35110
+ self._GetParamsName = GetParamsName
35111
+
35112
+ @property
35113
+ def GetParamsValue(self):
35114
+ r"""Get参数值
35115
+ 注意:此字段可能返回 null,表示取不到有效值。
35116
+ :rtype: :class:`tencentcloud.waf.v20180125.models.MatchOption`
35117
+ """
35118
+ return self._GetParamsValue
35119
+
35120
+ @GetParamsValue.setter
35121
+ def GetParamsValue(self, GetParamsValue):
35122
+ self._GetParamsValue = GetParamsValue
35123
+
35124
+ @property
35125
+ def PostParamsName(self):
35126
+ r"""Post参数名
35127
+ 注意:此字段可能返回 null,表示取不到有效值。
35128
+ :rtype: :class:`tencentcloud.waf.v20180125.models.MatchOption`
35129
+ """
35130
+ return self._PostParamsName
35131
+
35132
+ @PostParamsName.setter
35133
+ def PostParamsName(self, PostParamsName):
35134
+ self._PostParamsName = PostParamsName
35135
+
35136
+ @property
35137
+ def PostParamsValue(self):
35138
+ r"""Post参数值
35139
+ 注意:此字段可能返回 null,表示取不到有效值。
35140
+ :rtype: :class:`tencentcloud.waf.v20180125.models.MatchOption`
35141
+ """
35142
+ return self._PostParamsValue
35143
+
35144
+ @PostParamsValue.setter
35145
+ def PostParamsValue(self, PostParamsValue):
35146
+ self._PostParamsValue = PostParamsValue
35147
+
35148
+ @property
35149
+ def IpLocation(self):
35150
+ r"""Ip属地
35151
+ 注意:此字段可能返回 null,表示取不到有效值。
35152
+ :rtype: :class:`tencentcloud.waf.v20180125.models.MatchOption`
35153
+ """
35154
+ return self._IpLocation
35155
+
35156
+ @IpLocation.setter
35157
+ def IpLocation(self, IpLocation):
35158
+ self._IpLocation = IpLocation
35159
+
35160
+ @property
35161
+ def RedirectInfo(self):
35162
+ r"""重定向信息,当LimitStrategy为2时,此字段不为空
35163
+ 注意:此字段可能返回 null,表示取不到有效值。
35164
+ :rtype: :class:`tencentcloud.waf.v20180125.models.RedirectInfo`
35165
+ """
35166
+ return self._RedirectInfo
35167
+
35168
+ @RedirectInfo.setter
35169
+ def RedirectInfo(self, RedirectInfo):
35170
+ self._RedirectInfo = RedirectInfo
35171
+
35172
+ @property
35173
+ def BlockPage(self):
35174
+ r"""拦截页面,0表示429,否则为BlockPageID
35175
+ :rtype: int
35176
+ """
35177
+ return self._BlockPage
35178
+
35179
+ @BlockPage.setter
35180
+ def BlockPage(self, BlockPage):
35181
+ self._BlockPage = BlockPage
35182
+
35183
+ @property
35184
+ def ObjectSrc(self):
35185
+ r"""限流对象来源,0:手动填写,1:API资产
35186
+ :rtype: int
35187
+ """
35188
+ return self._ObjectSrc
35189
+
35190
+ @ObjectSrc.setter
35191
+ def ObjectSrc(self, ObjectSrc):
35192
+ self._ObjectSrc = ObjectSrc
35193
+
35194
+ @property
35195
+ def QuotaShare(self):
35196
+ r"""是否共享配额,只有当对象为URL时有效,false表示URL独享配额,true表示所有URL共享配额
35197
+ :rtype: bool
35198
+ """
35199
+ return self._QuotaShare
35200
+
35201
+ @QuotaShare.setter
35202
+ def QuotaShare(self, QuotaShare):
35203
+ self._QuotaShare = QuotaShare
35204
+
35205
+ @property
35206
+ def PathsOption(self):
35207
+ r"""路径选项,可配置每个路径的请求方法
35208
+ 注意:此字段可能返回 null,表示取不到有效值。
35209
+ :rtype: list of PathItem
35210
+ """
35211
+ return self._PathsOption
35212
+
35213
+ @PathsOption.setter
35214
+ def PathsOption(self, PathsOption):
35215
+ self._PathsOption = PathsOption
35216
+
35217
+ @property
35218
+ def Order(self):
35219
+ r"""574新增需求,限流执行顺序,0:默认情况,限流优先,1:安全防护优先
35220
+ :rtype: int
35221
+ """
35222
+ return self._Order
35223
+
35224
+ @Order.setter
35225
+ def Order(self, Order):
35226
+ self._Order = Order
35227
+
35228
+
35229
+ def _deserialize(self, params):
35230
+ self._LimitRuleID = params.get("LimitRuleID")
35231
+ self._Name = params.get("Name")
35232
+ self._Priority = params.get("Priority")
35233
+ self._Status = params.get("Status")
35234
+ self._TsVersion = params.get("TsVersion")
35235
+ self._LimitObject = params.get("LimitObject")
35236
+ if params.get("LimitMethod") is not None:
35237
+ self._LimitMethod = LimitMethod()
35238
+ self._LimitMethod._deserialize(params.get("LimitMethod"))
35239
+ if params.get("LimitPaths") is not None:
35240
+ self._LimitPaths = LimitPath()
35241
+ self._LimitPaths._deserialize(params.get("LimitPaths"))
35242
+ if params.get("LimitHeaders") is not None:
35243
+ self._LimitHeaders = []
35244
+ for item in params.get("LimitHeaders"):
35245
+ obj = LimitHeader()
35246
+ obj._deserialize(item)
35247
+ self._LimitHeaders.append(obj)
35248
+ if params.get("LimitWindow") is not None:
35249
+ self._LimitWindow = LimitWindow()
35250
+ self._LimitWindow._deserialize(params.get("LimitWindow"))
35251
+ self._LimitStrategy = params.get("LimitStrategy")
35252
+ if params.get("LimitHeaderName") is not None:
35253
+ self._LimitHeaderName = LimitHeaderName()
35254
+ self._LimitHeaderName._deserialize(params.get("LimitHeaderName"))
35255
+ if params.get("GetParamsName") is not None:
35256
+ self._GetParamsName = MatchOption()
35257
+ self._GetParamsName._deserialize(params.get("GetParamsName"))
35258
+ if params.get("GetParamsValue") is not None:
35259
+ self._GetParamsValue = MatchOption()
35260
+ self._GetParamsValue._deserialize(params.get("GetParamsValue"))
35261
+ if params.get("PostParamsName") is not None:
35262
+ self._PostParamsName = MatchOption()
35263
+ self._PostParamsName._deserialize(params.get("PostParamsName"))
35264
+ if params.get("PostParamsValue") is not None:
35265
+ self._PostParamsValue = MatchOption()
35266
+ self._PostParamsValue._deserialize(params.get("PostParamsValue"))
35267
+ if params.get("IpLocation") is not None:
35268
+ self._IpLocation = MatchOption()
35269
+ self._IpLocation._deserialize(params.get("IpLocation"))
35270
+ if params.get("RedirectInfo") is not None:
35271
+ self._RedirectInfo = RedirectInfo()
35272
+ self._RedirectInfo._deserialize(params.get("RedirectInfo"))
35273
+ self._BlockPage = params.get("BlockPage")
35274
+ self._ObjectSrc = params.get("ObjectSrc")
35275
+ self._QuotaShare = params.get("QuotaShare")
35276
+ if params.get("PathsOption") is not None:
35277
+ self._PathsOption = []
35278
+ for item in params.get("PathsOption"):
35279
+ obj = PathItem()
35280
+ obj._deserialize(item)
35281
+ self._PathsOption.append(obj)
35282
+ self._Order = params.get("Order")
35283
+ memeber_set = set(params.keys())
35284
+ for name, value in vars(self).items():
35285
+ property_name = name[1:]
35286
+ if property_name in memeber_set:
35287
+ memeber_set.remove(property_name)
35288
+ if len(memeber_set) > 0:
35289
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
35290
+
35291
+
35292
+
35293
+ class LimitWindow(AbstractModel):
35294
+ r"""限流窗口大小
35295
+
35296
+ """
35297
+
35298
+ def __init__(self):
35299
+ r"""
35300
+ :param _Second: 每秒允许通过的最大请求数
35301
+ 注意:此字段可能返回 null,表示取不到有效值。
35302
+ :type Second: int
35303
+ :param _Minute: 每分钟允许通过的最大请求数
35304
+ 注意:此字段可能返回 null,表示取不到有效值。
35305
+ :type Minute: int
35306
+ :param _Hour: 每小时允许通过的最大请求数
35307
+ 注意:此字段可能返回 null,表示取不到有效值。
35308
+ :type Hour: int
35309
+ :param _QuotaShare: 是否共享配额,只有当对象为URL时有效,false表示URL独享配额,true表示所有URL共享配额
35310
+ 注意:此字段可能返回 null,表示取不到有效值。
35311
+ :type QuotaShare: bool
35312
+ """
35313
+ self._Second = None
35314
+ self._Minute = None
35315
+ self._Hour = None
35316
+ self._QuotaShare = None
35317
+
35318
+ @property
35319
+ def Second(self):
35320
+ r"""每秒允许通过的最大请求数
35321
+ 注意:此字段可能返回 null,表示取不到有效值。
35322
+ :rtype: int
35323
+ """
35324
+ return self._Second
35325
+
35326
+ @Second.setter
35327
+ def Second(self, Second):
35328
+ self._Second = Second
35329
+
35330
+ @property
35331
+ def Minute(self):
35332
+ r"""每分钟允许通过的最大请求数
35333
+ 注意:此字段可能返回 null,表示取不到有效值。
35334
+ :rtype: int
35335
+ """
35336
+ return self._Minute
35337
+
35338
+ @Minute.setter
35339
+ def Minute(self, Minute):
35340
+ self._Minute = Minute
35341
+
35342
+ @property
35343
+ def Hour(self):
35344
+ r"""每小时允许通过的最大请求数
35345
+ 注意:此字段可能返回 null,表示取不到有效值。
35346
+ :rtype: int
35347
+ """
35348
+ return self._Hour
35349
+
35350
+ @Hour.setter
35351
+ def Hour(self, Hour):
35352
+ self._Hour = Hour
35353
+
35354
+ @property
35355
+ def QuotaShare(self):
35356
+ r"""是否共享配额,只有当对象为URL时有效,false表示URL独享配额,true表示所有URL共享配额
35357
+ 注意:此字段可能返回 null,表示取不到有效值。
35358
+ :rtype: bool
35359
+ """
35360
+ return self._QuotaShare
35361
+
35362
+ @QuotaShare.setter
35363
+ def QuotaShare(self, QuotaShare):
35364
+ self._QuotaShare = QuotaShare
35365
+
35366
+
35367
+ def _deserialize(self, params):
35368
+ self._Second = params.get("Second")
35369
+ self._Minute = params.get("Minute")
35370
+ self._Hour = params.get("Hour")
35371
+ self._QuotaShare = params.get("QuotaShare")
35372
+ memeber_set = set(params.keys())
35373
+ for name, value in vars(self).items():
35374
+ property_name = name[1:]
35375
+ if property_name in memeber_set:
35376
+ memeber_set.remove(property_name)
35377
+ if len(memeber_set) > 0:
35378
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
35379
+
35380
+
35381
+
32656
35382
  class LoadBalancer(AbstractModel):
32657
35383
  r"""负载均衡的监听器
32658
35384
 
@@ -33777,6 +36503,78 @@ class MajorEventsProPkg(AbstractModel):
33777
36503
 
33778
36504
 
33779
36505
 
36506
+ class MatchOption(AbstractModel):
36507
+ r"""限流规则中匹配条件
36508
+
36509
+ """
36510
+
36511
+ def __init__(self):
36512
+ r"""
36513
+ :param _Params: 匹配参数
36514
+ 注意:此字段可能返回 null,表示取不到有效值。
36515
+ :type Params: str
36516
+ :param _Func: 逻辑符号
36517
+ 注意:此字段可能返回 null,表示取不到有效值。
36518
+ :type Func: str
36519
+ :param _Content: 匹配内容
36520
+ 注意:此字段可能返回 null,表示取不到有效值。
36521
+ :type Content: str
36522
+ """
36523
+ self._Params = None
36524
+ self._Func = None
36525
+ self._Content = None
36526
+
36527
+ @property
36528
+ def Params(self):
36529
+ r"""匹配参数
36530
+ 注意:此字段可能返回 null,表示取不到有效值。
36531
+ :rtype: str
36532
+ """
36533
+ return self._Params
36534
+
36535
+ @Params.setter
36536
+ def Params(self, Params):
36537
+ self._Params = Params
36538
+
36539
+ @property
36540
+ def Func(self):
36541
+ r"""逻辑符号
36542
+ 注意:此字段可能返回 null,表示取不到有效值。
36543
+ :rtype: str
36544
+ """
36545
+ return self._Func
36546
+
36547
+ @Func.setter
36548
+ def Func(self, Func):
36549
+ self._Func = Func
36550
+
36551
+ @property
36552
+ def Content(self):
36553
+ r"""匹配内容
36554
+ 注意:此字段可能返回 null,表示取不到有效值。
36555
+ :rtype: str
36556
+ """
36557
+ return self._Content
36558
+
36559
+ @Content.setter
36560
+ def Content(self, Content):
36561
+ self._Content = Content
36562
+
36563
+
36564
+ def _deserialize(self, params):
36565
+ self._Params = params.get("Params")
36566
+ self._Func = params.get("Func")
36567
+ self._Content = params.get("Content")
36568
+ memeber_set = set(params.keys())
36569
+ for name, value in vars(self).items():
36570
+ property_name = name[1:]
36571
+ if property_name in memeber_set:
36572
+ memeber_set.remove(property_name)
36573
+ if len(memeber_set) > 0:
36574
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
36575
+
36576
+
36577
+
33780
36578
  class MiniExtendPkg(AbstractModel):
33781
36579
  r"""小程序安全接入ID扩展资源信息
33782
36580
 
@@ -34818,6 +37616,260 @@ class ModifyApiSecEventChangeResponse(AbstractModel):
34818
37616
  self._RequestId = params.get("RequestId")
34819
37617
 
34820
37618
 
37619
+ class ModifyApiSecSensitiveRuleRequest(AbstractModel):
37620
+ r"""ModifyApiSecSensitiveRule请求参数结构体
37621
+
37622
+ """
37623
+
37624
+ def __init__(self):
37625
+ r"""
37626
+ :param _Domain: 域名
37627
+ :type Domain: str
37628
+ :param _Status: 1表示开,0表示关,3表示删除
37629
+ :type Status: int
37630
+ :param _RuleName: 规则名称
37631
+ :type RuleName: str
37632
+ :param _CustomRule: 客户自定义配置
37633
+ :type CustomRule: :class:`tencentcloud.waf.v20180125.models.ApiSecCustomSensitiveRule`
37634
+ :param _RuleNameList: rulename列表,批量操作的时候填改值
37635
+ :type RuleNameList: list of str
37636
+ :param _CustomApiExtractRule: api提取规则内容
37637
+ :type CustomApiExtractRule: :class:`tencentcloud.waf.v20180125.models.ApiSecExtractRule`
37638
+ :param _ApiExtractRuleName: 批量操作的时候的api提取规则
37639
+ :type ApiExtractRuleName: list of str
37640
+ :param _ApiSecPrivilegeRule: 自定义api鉴权规则
37641
+ :type ApiSecPrivilegeRule: :class:`tencentcloud.waf.v20180125.models.ApiSecPrivilegeRule`
37642
+ :param _ApiSecPrivilegeRuleName: 匹配操作时候的api鉴权规则
37643
+ :type ApiSecPrivilegeRuleName: list of str
37644
+ :param _ApiSecSceneRuleNameList: 批量操作的时候的自定义场景列表
37645
+ :type ApiSecSceneRuleNameList: list of str
37646
+ :param _ApiSecSceneRule: 单条自定义api场景规则
37647
+ :type ApiSecSceneRule: :class:`tencentcloud.waf.v20180125.models.ApiSecSceneRule`
37648
+ :param _ApiSecCustomEventRuleNameList: 批量操作的时候的自定义事件规则列表
37649
+ :type ApiSecCustomEventRuleNameList: list of str
37650
+ :param _ApiSecCustomEventRuleRule: 自定义事件规则
37651
+ :type ApiSecCustomEventRuleRule: :class:`tencentcloud.waf.v20180125.models.ApiSecCustomEventRule`
37652
+ """
37653
+ self._Domain = None
37654
+ self._Status = None
37655
+ self._RuleName = None
37656
+ self._CustomRule = None
37657
+ self._RuleNameList = None
37658
+ self._CustomApiExtractRule = None
37659
+ self._ApiExtractRuleName = None
37660
+ self._ApiSecPrivilegeRule = None
37661
+ self._ApiSecPrivilegeRuleName = None
37662
+ self._ApiSecSceneRuleNameList = None
37663
+ self._ApiSecSceneRule = None
37664
+ self._ApiSecCustomEventRuleNameList = None
37665
+ self._ApiSecCustomEventRuleRule = None
37666
+
37667
+ @property
37668
+ def Domain(self):
37669
+ r"""域名
37670
+ :rtype: str
37671
+ """
37672
+ return self._Domain
37673
+
37674
+ @Domain.setter
37675
+ def Domain(self, Domain):
37676
+ self._Domain = Domain
37677
+
37678
+ @property
37679
+ def Status(self):
37680
+ r"""1表示开,0表示关,3表示删除
37681
+ :rtype: int
37682
+ """
37683
+ return self._Status
37684
+
37685
+ @Status.setter
37686
+ def Status(self, Status):
37687
+ self._Status = Status
37688
+
37689
+ @property
37690
+ def RuleName(self):
37691
+ r"""规则名称
37692
+ :rtype: str
37693
+ """
37694
+ return self._RuleName
37695
+
37696
+ @RuleName.setter
37697
+ def RuleName(self, RuleName):
37698
+ self._RuleName = RuleName
37699
+
37700
+ @property
37701
+ def CustomRule(self):
37702
+ r"""客户自定义配置
37703
+ :rtype: :class:`tencentcloud.waf.v20180125.models.ApiSecCustomSensitiveRule`
37704
+ """
37705
+ return self._CustomRule
37706
+
37707
+ @CustomRule.setter
37708
+ def CustomRule(self, CustomRule):
37709
+ self._CustomRule = CustomRule
37710
+
37711
+ @property
37712
+ def RuleNameList(self):
37713
+ r"""rulename列表,批量操作的时候填改值
37714
+ :rtype: list of str
37715
+ """
37716
+ return self._RuleNameList
37717
+
37718
+ @RuleNameList.setter
37719
+ def RuleNameList(self, RuleNameList):
37720
+ self._RuleNameList = RuleNameList
37721
+
37722
+ @property
37723
+ def CustomApiExtractRule(self):
37724
+ r"""api提取规则内容
37725
+ :rtype: :class:`tencentcloud.waf.v20180125.models.ApiSecExtractRule`
37726
+ """
37727
+ return self._CustomApiExtractRule
37728
+
37729
+ @CustomApiExtractRule.setter
37730
+ def CustomApiExtractRule(self, CustomApiExtractRule):
37731
+ self._CustomApiExtractRule = CustomApiExtractRule
37732
+
37733
+ @property
37734
+ def ApiExtractRuleName(self):
37735
+ r"""批量操作的时候的api提取规则
37736
+ :rtype: list of str
37737
+ """
37738
+ return self._ApiExtractRuleName
37739
+
37740
+ @ApiExtractRuleName.setter
37741
+ def ApiExtractRuleName(self, ApiExtractRuleName):
37742
+ self._ApiExtractRuleName = ApiExtractRuleName
37743
+
37744
+ @property
37745
+ def ApiSecPrivilegeRule(self):
37746
+ r"""自定义api鉴权规则
37747
+ :rtype: :class:`tencentcloud.waf.v20180125.models.ApiSecPrivilegeRule`
37748
+ """
37749
+ return self._ApiSecPrivilegeRule
37750
+
37751
+ @ApiSecPrivilegeRule.setter
37752
+ def ApiSecPrivilegeRule(self, ApiSecPrivilegeRule):
37753
+ self._ApiSecPrivilegeRule = ApiSecPrivilegeRule
37754
+
37755
+ @property
37756
+ def ApiSecPrivilegeRuleName(self):
37757
+ r"""匹配操作时候的api鉴权规则
37758
+ :rtype: list of str
37759
+ """
37760
+ return self._ApiSecPrivilegeRuleName
37761
+
37762
+ @ApiSecPrivilegeRuleName.setter
37763
+ def ApiSecPrivilegeRuleName(self, ApiSecPrivilegeRuleName):
37764
+ self._ApiSecPrivilegeRuleName = ApiSecPrivilegeRuleName
37765
+
37766
+ @property
37767
+ def ApiSecSceneRuleNameList(self):
37768
+ r"""批量操作的时候的自定义场景列表
37769
+ :rtype: list of str
37770
+ """
37771
+ return self._ApiSecSceneRuleNameList
37772
+
37773
+ @ApiSecSceneRuleNameList.setter
37774
+ def ApiSecSceneRuleNameList(self, ApiSecSceneRuleNameList):
37775
+ self._ApiSecSceneRuleNameList = ApiSecSceneRuleNameList
37776
+
37777
+ @property
37778
+ def ApiSecSceneRule(self):
37779
+ r"""单条自定义api场景规则
37780
+ :rtype: :class:`tencentcloud.waf.v20180125.models.ApiSecSceneRule`
37781
+ """
37782
+ return self._ApiSecSceneRule
37783
+
37784
+ @ApiSecSceneRule.setter
37785
+ def ApiSecSceneRule(self, ApiSecSceneRule):
37786
+ self._ApiSecSceneRule = ApiSecSceneRule
37787
+
37788
+ @property
37789
+ def ApiSecCustomEventRuleNameList(self):
37790
+ r"""批量操作的时候的自定义事件规则列表
37791
+ :rtype: list of str
37792
+ """
37793
+ return self._ApiSecCustomEventRuleNameList
37794
+
37795
+ @ApiSecCustomEventRuleNameList.setter
37796
+ def ApiSecCustomEventRuleNameList(self, ApiSecCustomEventRuleNameList):
37797
+ self._ApiSecCustomEventRuleNameList = ApiSecCustomEventRuleNameList
37798
+
37799
+ @property
37800
+ def ApiSecCustomEventRuleRule(self):
37801
+ r"""自定义事件规则
37802
+ :rtype: :class:`tencentcloud.waf.v20180125.models.ApiSecCustomEventRule`
37803
+ """
37804
+ return self._ApiSecCustomEventRuleRule
37805
+
37806
+ @ApiSecCustomEventRuleRule.setter
37807
+ def ApiSecCustomEventRuleRule(self, ApiSecCustomEventRuleRule):
37808
+ self._ApiSecCustomEventRuleRule = ApiSecCustomEventRuleRule
37809
+
37810
+
37811
+ def _deserialize(self, params):
37812
+ self._Domain = params.get("Domain")
37813
+ self._Status = params.get("Status")
37814
+ self._RuleName = params.get("RuleName")
37815
+ if params.get("CustomRule") is not None:
37816
+ self._CustomRule = ApiSecCustomSensitiveRule()
37817
+ self._CustomRule._deserialize(params.get("CustomRule"))
37818
+ self._RuleNameList = params.get("RuleNameList")
37819
+ if params.get("CustomApiExtractRule") is not None:
37820
+ self._CustomApiExtractRule = ApiSecExtractRule()
37821
+ self._CustomApiExtractRule._deserialize(params.get("CustomApiExtractRule"))
37822
+ self._ApiExtractRuleName = params.get("ApiExtractRuleName")
37823
+ if params.get("ApiSecPrivilegeRule") is not None:
37824
+ self._ApiSecPrivilegeRule = ApiSecPrivilegeRule()
37825
+ self._ApiSecPrivilegeRule._deserialize(params.get("ApiSecPrivilegeRule"))
37826
+ self._ApiSecPrivilegeRuleName = params.get("ApiSecPrivilegeRuleName")
37827
+ self._ApiSecSceneRuleNameList = params.get("ApiSecSceneRuleNameList")
37828
+ if params.get("ApiSecSceneRule") is not None:
37829
+ self._ApiSecSceneRule = ApiSecSceneRule()
37830
+ self._ApiSecSceneRule._deserialize(params.get("ApiSecSceneRule"))
37831
+ self._ApiSecCustomEventRuleNameList = params.get("ApiSecCustomEventRuleNameList")
37832
+ if params.get("ApiSecCustomEventRuleRule") is not None:
37833
+ self._ApiSecCustomEventRuleRule = ApiSecCustomEventRule()
37834
+ self._ApiSecCustomEventRuleRule._deserialize(params.get("ApiSecCustomEventRuleRule"))
37835
+ memeber_set = set(params.keys())
37836
+ for name, value in vars(self).items():
37837
+ property_name = name[1:]
37838
+ if property_name in memeber_set:
37839
+ memeber_set.remove(property_name)
37840
+ if len(memeber_set) > 0:
37841
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
37842
+
37843
+
37844
+
37845
+ class ModifyApiSecSensitiveRuleResponse(AbstractModel):
37846
+ r"""ModifyApiSecSensitiveRule返回参数结构体
37847
+
37848
+ """
37849
+
37850
+ def __init__(self):
37851
+ r"""
37852
+ :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
37853
+ :type RequestId: str
37854
+ """
37855
+ self._RequestId = None
37856
+
37857
+ @property
37858
+ def RequestId(self):
37859
+ r"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
37860
+ :rtype: str
37861
+ """
37862
+ return self._RequestId
37863
+
37864
+ @RequestId.setter
37865
+ def RequestId(self, RequestId):
37866
+ self._RequestId = RequestId
37867
+
37868
+
37869
+ def _deserialize(self, params):
37870
+ self._RequestId = params.get("RequestId")
37871
+
37872
+
34821
37873
  class ModifyAreaBanAreasRequest(AbstractModel):
34822
37874
  r"""ModifyAreaBanAreas请求参数结构体
34823
37875
 
@@ -35534,6 +38586,180 @@ class ModifyBatchIpAccessControlResponse(AbstractModel):
35534
38586
  self._RequestId = params.get("RequestId")
35535
38587
 
35536
38588
 
38589
+ class ModifyBotIdRuleRequest(AbstractModel):
38590
+ r"""ModifyBotIdRule请求参数结构体
38591
+
38592
+ """
38593
+
38594
+ def __init__(self):
38595
+ r"""
38596
+ :param _Domain: 域名
38597
+ :type Domain: str
38598
+ :param _SceneId: 场景ID
38599
+ :type SceneId: str
38600
+ :param _Data: 配置信息,支持批量
38601
+ :type Data: list of BotIdConfig
38602
+ :param _GlobalSwitch: 0-全局设置不生效 1-全局开关配置字段生效 2-全局动作配置字段生效 3-全局开关和动作字段都生效 4-只修改全局重定向路径 5-只修改全局防护等级
38603
+ :type GlobalSwitch: int
38604
+ :param _Status: 全局开关
38605
+ :type Status: bool
38606
+ :param _RuleAction: 全局动作
38607
+ :type RuleAction: str
38608
+ :param _GlobalRedirect: 全局重定向路径
38609
+ :type GlobalRedirect: str
38610
+ :param _ProtectLevel: 防护等级:normal-正常;strict-严格
38611
+ :type ProtectLevel: str
38612
+ """
38613
+ self._Domain = None
38614
+ self._SceneId = None
38615
+ self._Data = None
38616
+ self._GlobalSwitch = None
38617
+ self._Status = None
38618
+ self._RuleAction = None
38619
+ self._GlobalRedirect = None
38620
+ self._ProtectLevel = None
38621
+
38622
+ @property
38623
+ def Domain(self):
38624
+ r"""域名
38625
+ :rtype: str
38626
+ """
38627
+ return self._Domain
38628
+
38629
+ @Domain.setter
38630
+ def Domain(self, Domain):
38631
+ self._Domain = Domain
38632
+
38633
+ @property
38634
+ def SceneId(self):
38635
+ r"""场景ID
38636
+ :rtype: str
38637
+ """
38638
+ return self._SceneId
38639
+
38640
+ @SceneId.setter
38641
+ def SceneId(self, SceneId):
38642
+ self._SceneId = SceneId
38643
+
38644
+ @property
38645
+ def Data(self):
38646
+ r"""配置信息,支持批量
38647
+ :rtype: list of BotIdConfig
38648
+ """
38649
+ return self._Data
38650
+
38651
+ @Data.setter
38652
+ def Data(self, Data):
38653
+ self._Data = Data
38654
+
38655
+ @property
38656
+ def GlobalSwitch(self):
38657
+ r"""0-全局设置不生效 1-全局开关配置字段生效 2-全局动作配置字段生效 3-全局开关和动作字段都生效 4-只修改全局重定向路径 5-只修改全局防护等级
38658
+ :rtype: int
38659
+ """
38660
+ return self._GlobalSwitch
38661
+
38662
+ @GlobalSwitch.setter
38663
+ def GlobalSwitch(self, GlobalSwitch):
38664
+ self._GlobalSwitch = GlobalSwitch
38665
+
38666
+ @property
38667
+ def Status(self):
38668
+ r"""全局开关
38669
+ :rtype: bool
38670
+ """
38671
+ return self._Status
38672
+
38673
+ @Status.setter
38674
+ def Status(self, Status):
38675
+ self._Status = Status
38676
+
38677
+ @property
38678
+ def RuleAction(self):
38679
+ r"""全局动作
38680
+ :rtype: str
38681
+ """
38682
+ return self._RuleAction
38683
+
38684
+ @RuleAction.setter
38685
+ def RuleAction(self, RuleAction):
38686
+ self._RuleAction = RuleAction
38687
+
38688
+ @property
38689
+ def GlobalRedirect(self):
38690
+ r"""全局重定向路径
38691
+ :rtype: str
38692
+ """
38693
+ return self._GlobalRedirect
38694
+
38695
+ @GlobalRedirect.setter
38696
+ def GlobalRedirect(self, GlobalRedirect):
38697
+ self._GlobalRedirect = GlobalRedirect
38698
+
38699
+ @property
38700
+ def ProtectLevel(self):
38701
+ r"""防护等级:normal-正常;strict-严格
38702
+ :rtype: str
38703
+ """
38704
+ return self._ProtectLevel
38705
+
38706
+ @ProtectLevel.setter
38707
+ def ProtectLevel(self, ProtectLevel):
38708
+ self._ProtectLevel = ProtectLevel
38709
+
38710
+
38711
+ def _deserialize(self, params):
38712
+ self._Domain = params.get("Domain")
38713
+ self._SceneId = params.get("SceneId")
38714
+ if params.get("Data") is not None:
38715
+ self._Data = []
38716
+ for item in params.get("Data"):
38717
+ obj = BotIdConfig()
38718
+ obj._deserialize(item)
38719
+ self._Data.append(obj)
38720
+ self._GlobalSwitch = params.get("GlobalSwitch")
38721
+ self._Status = params.get("Status")
38722
+ self._RuleAction = params.get("RuleAction")
38723
+ self._GlobalRedirect = params.get("GlobalRedirect")
38724
+ self._ProtectLevel = params.get("ProtectLevel")
38725
+ memeber_set = set(params.keys())
38726
+ for name, value in vars(self).items():
38727
+ property_name = name[1:]
38728
+ if property_name in memeber_set:
38729
+ memeber_set.remove(property_name)
38730
+ if len(memeber_set) > 0:
38731
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
38732
+
38733
+
38734
+
38735
+ class ModifyBotIdRuleResponse(AbstractModel):
38736
+ r"""ModifyBotIdRule返回参数结构体
38737
+
38738
+ """
38739
+
38740
+ def __init__(self):
38741
+ r"""
38742
+ :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
38743
+ :type RequestId: str
38744
+ """
38745
+ self._RequestId = None
38746
+
38747
+ @property
38748
+ def RequestId(self):
38749
+ r"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
38750
+ :rtype: str
38751
+ """
38752
+ return self._RequestId
38753
+
38754
+ @RequestId.setter
38755
+ def RequestId(self, RequestId):
38756
+ self._RequestId = RequestId
38757
+
38758
+
38759
+ def _deserialize(self, params):
38760
+ self._RequestId = params.get("RequestId")
38761
+
38762
+
35537
38763
  class ModifyBotSceneStatusRequest(AbstractModel):
35538
38764
  r"""ModifyBotSceneStatus请求参数结构体
35539
38765
 
@@ -42002,6 +45228,57 @@ class ParamCompareList(AbstractModel):
42002
45228
 
42003
45229
 
42004
45230
 
45231
+ class PathItem(AbstractModel):
45232
+ r"""指定限流path和对应的method
45233
+
45234
+ """
45235
+
45236
+ def __init__(self):
45237
+ r"""
45238
+ :param _Path: 请求路径
45239
+ :type Path: str
45240
+ :param _Method: 请求方法
45241
+ :type Method: str
45242
+ """
45243
+ self._Path = None
45244
+ self._Method = None
45245
+
45246
+ @property
45247
+ def Path(self):
45248
+ r"""请求路径
45249
+ :rtype: str
45250
+ """
45251
+ return self._Path
45252
+
45253
+ @Path.setter
45254
+ def Path(self, Path):
45255
+ self._Path = Path
45256
+
45257
+ @property
45258
+ def Method(self):
45259
+ r"""请求方法
45260
+ :rtype: str
45261
+ """
45262
+ return self._Method
45263
+
45264
+ @Method.setter
45265
+ def Method(self, Method):
45266
+ self._Method = Method
45267
+
45268
+
45269
+ def _deserialize(self, params):
45270
+ self._Path = params.get("Path")
45271
+ self._Method = params.get("Method")
45272
+ memeber_set = set(params.keys())
45273
+ for name, value in vars(self).items():
45274
+ property_name = name[1:]
45275
+ if property_name in memeber_set:
45276
+ memeber_set.remove(property_name)
45277
+ if len(memeber_set) > 0:
45278
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
45279
+
45280
+
45281
+
42005
45282
  class PeakPointsItem(AbstractModel):
42006
45283
  r"""PeakPoints数组项
42007
45284
 
@@ -43412,6 +46689,55 @@ class QpsData(AbstractModel):
43412
46689
 
43413
46690
 
43414
46691
 
46692
+ class QueryBypassAllStatusRequest(AbstractModel):
46693
+ r"""QueryBypassAllStatus请求参数结构体
46694
+
46695
+ """
46696
+
46697
+
46698
+ class QueryBypassAllStatusResponse(AbstractModel):
46699
+ r"""QueryBypassAllStatus返回参数结构体
46700
+
46701
+ """
46702
+
46703
+ def __init__(self):
46704
+ r"""
46705
+ :param _Result: 该用户是否被加入了全局的bypass列表
46706
+ :type Result: bool
46707
+ :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
46708
+ :type RequestId: str
46709
+ """
46710
+ self._Result = None
46711
+ self._RequestId = None
46712
+
46713
+ @property
46714
+ def Result(self):
46715
+ r"""该用户是否被加入了全局的bypass列表
46716
+ :rtype: bool
46717
+ """
46718
+ return self._Result
46719
+
46720
+ @Result.setter
46721
+ def Result(self, Result):
46722
+ self._Result = Result
46723
+
46724
+ @property
46725
+ def RequestId(self):
46726
+ r"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
46727
+ :rtype: str
46728
+ """
46729
+ return self._RequestId
46730
+
46731
+ @RequestId.setter
46732
+ def RequestId(self, RequestId):
46733
+ self._RequestId = RequestId
46734
+
46735
+
46736
+ def _deserialize(self, params):
46737
+ self._Result = params.get("Result")
46738
+ self._RequestId = params.get("RequestId")
46739
+
46740
+
43415
46741
  class RCEPkg(AbstractModel):
43416
46742
  r"""有效REC设备安全包信息
43417
46743
 
@@ -43568,6 +46894,129 @@ class RCEPkg(AbstractModel):
43568
46894
 
43569
46895
 
43570
46896
 
46897
+ class RateLimitCommonRsp(AbstractModel):
46898
+ r"""限流相关通用返回
46899
+
46900
+ """
46901
+
46902
+ def __init__(self):
46903
+ r"""
46904
+ :param _Code: 响应码
46905
+ :type Code: int
46906
+ :param _Info: 提示信息
46907
+ :type Info: str
46908
+ """
46909
+ self._Code = None
46910
+ self._Info = None
46911
+
46912
+ @property
46913
+ def Code(self):
46914
+ r"""响应码
46915
+ :rtype: int
46916
+ """
46917
+ return self._Code
46918
+
46919
+ @Code.setter
46920
+ def Code(self, Code):
46921
+ self._Code = Code
46922
+
46923
+ @property
46924
+ def Info(self):
46925
+ r"""提示信息
46926
+ :rtype: str
46927
+ """
46928
+ return self._Info
46929
+
46930
+ @Info.setter
46931
+ def Info(self, Info):
46932
+ self._Info = Info
46933
+
46934
+
46935
+ def _deserialize(self, params):
46936
+ self._Code = params.get("Code")
46937
+ self._Info = params.get("Info")
46938
+ memeber_set = set(params.keys())
46939
+ for name, value in vars(self).items():
46940
+ property_name = name[1:]
46941
+ if property_name in memeber_set:
46942
+ memeber_set.remove(property_name)
46943
+ if len(memeber_set) > 0:
46944
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
46945
+
46946
+
46947
+
46948
+ class RedirectInfo(AbstractModel):
46949
+ r"""重定向信息
46950
+
46951
+ """
46952
+
46953
+ def __init__(self):
46954
+ r"""
46955
+ :param _Protocol: 协议
46956
+ 注意:此字段可能返回 null,表示取不到有效值。
46957
+ :type Protocol: str
46958
+ :param _Domain: 域名
46959
+ 注意:此字段可能返回 null,表示取不到有效值。
46960
+ :type Domain: str
46961
+ :param _Url: url路径
46962
+ 注意:此字段可能返回 null,表示取不到有效值。
46963
+ :type Url: str
46964
+ """
46965
+ self._Protocol = None
46966
+ self._Domain = None
46967
+ self._Url = None
46968
+
46969
+ @property
46970
+ def Protocol(self):
46971
+ r"""协议
46972
+ 注意:此字段可能返回 null,表示取不到有效值。
46973
+ :rtype: str
46974
+ """
46975
+ return self._Protocol
46976
+
46977
+ @Protocol.setter
46978
+ def Protocol(self, Protocol):
46979
+ self._Protocol = Protocol
46980
+
46981
+ @property
46982
+ def Domain(self):
46983
+ r"""域名
46984
+ 注意:此字段可能返回 null,表示取不到有效值。
46985
+ :rtype: str
46986
+ """
46987
+ return self._Domain
46988
+
46989
+ @Domain.setter
46990
+ def Domain(self, Domain):
46991
+ self._Domain = Domain
46992
+
46993
+ @property
46994
+ def Url(self):
46995
+ r"""url路径
46996
+ 注意:此字段可能返回 null,表示取不到有效值。
46997
+ :rtype: str
46998
+ """
46999
+ return self._Url
47000
+
47001
+ @Url.setter
47002
+ def Url(self, Url):
47003
+ self._Url = Url
47004
+
47005
+
47006
+ def _deserialize(self, params):
47007
+ self._Protocol = params.get("Protocol")
47008
+ self._Domain = params.get("Domain")
47009
+ self._Url = params.get("Url")
47010
+ memeber_set = set(params.keys())
47011
+ for name, value in vars(self).items():
47012
+ property_name = name[1:]
47013
+ if property_name in memeber_set:
47014
+ memeber_set.remove(property_name)
47015
+ if len(memeber_set) > 0:
47016
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
47017
+
47018
+
47019
+
43571
47020
  class RefreshAccessCheckResultRequest(AbstractModel):
43572
47021
  r"""RefreshAccessCheckResult请求参数结构体
43573
47022
 
@@ -43632,6 +47081,40 @@ class RefreshAccessCheckResultResponse(AbstractModel):
43632
47081
  self._RequestId = params.get("RequestId")
43633
47082
 
43634
47083
 
47084
+ class RemoveBypassAllRuleRequest(AbstractModel):
47085
+ r"""RemoveBypassAllRule请求参数结构体
47086
+
47087
+ """
47088
+
47089
+
47090
+ class RemoveBypassAllRuleResponse(AbstractModel):
47091
+ r"""RemoveBypassAllRule返回参数结构体
47092
+
47093
+ """
47094
+
47095
+ def __init__(self):
47096
+ r"""
47097
+ :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
47098
+ :type RequestId: str
47099
+ """
47100
+ self._RequestId = None
47101
+
47102
+ @property
47103
+ def RequestId(self):
47104
+ r"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
47105
+ :rtype: str
47106
+ """
47107
+ return self._RequestId
47108
+
47109
+ @RequestId.setter
47110
+ def RequestId(self, RequestId):
47111
+ self._RequestId = RequestId
47112
+
47113
+
47114
+ def _deserialize(self, params):
47115
+ self._RequestId = params.get("RequestId")
47116
+
47117
+
43635
47118
  class ReqUserRule(AbstractModel):
43636
47119
  r"""用户规则更新输出规则子项
43637
47120
 
@@ -47498,6 +50981,447 @@ class UpdateProtectionModesResponse(AbstractModel):
47498
50981
  self._RequestId = params.get("RequestId")
47499
50982
 
47500
50983
 
50984
+ class UpdateRateLimitV2Request(AbstractModel):
50985
+ r"""UpdateRateLimitV2请求参数结构体
50986
+
50987
+ """
50988
+
50989
+ def __init__(self):
50990
+ r"""
50991
+ :param _Domain: 域名
50992
+ :type Domain: str
50993
+ :param _LimitRuleId: 规则ID
50994
+ :type LimitRuleId: int
50995
+ :param _Name: 规则名
50996
+ :type Name: str
50997
+ :param _Priority: 优先级
50998
+ :type Priority: int
50999
+ :param _Status: 开关,0关闭,1开启
51000
+ :type Status: int
51001
+ :param _LimitObject: 支持API,Domain。如果基于API,则LimitPaths不能为空,否则LimitPaths为空
51002
+ :type LimitObject: str
51003
+ :param _LimitStrategy: 限流策略,0:观察,1:拦截,2:人机
51004
+ :type LimitStrategy: int
51005
+ :param _LimitHeaderName: 基于Header参数名限流
51006
+ :type LimitHeaderName: :class:`tencentcloud.waf.v20180125.models.LimitHeaderName`
51007
+ :param _LimitMethod: 限流方法
51008
+ :type LimitMethod: :class:`tencentcloud.waf.v20180125.models.LimitMethod`
51009
+ :param _LimitPaths: 限流路径
51010
+ :type LimitPaths: :class:`tencentcloud.waf.v20180125.models.LimitPath`
51011
+ :param _LimitHeaders: 限流Headers
51012
+ :type LimitHeaders: list of LimitHeader
51013
+ :param _LimitWindow: 限流窗口
51014
+ :type LimitWindow: :class:`tencentcloud.waf.v20180125.models.LimitWindow`
51015
+ :param _GetParamsName: 基于Get参数名限流
51016
+ :type GetParamsName: :class:`tencentcloud.waf.v20180125.models.MatchOption`
51017
+ :param _GetParamsValue: 基于Get参数值限流
51018
+ :type GetParamsValue: :class:`tencentcloud.waf.v20180125.models.MatchOption`
51019
+ :param _PostParamsName: 基于Post参数名限流
51020
+ :type PostParamsName: :class:`tencentcloud.waf.v20180125.models.MatchOption`
51021
+ :param _PostParamsValue: 基于Post参数值限流
51022
+ :type PostParamsValue: :class:`tencentcloud.waf.v20180125.models.MatchOption`
51023
+ :param _IpLocation: 基于IP归属地限流
51024
+ :type IpLocation: :class:`tencentcloud.waf.v20180125.models.MatchOption`
51025
+ :param _RedirectInfo: 重定向信息,当LimitStrategy为重定向时,此字段必填
51026
+ :type RedirectInfo: :class:`tencentcloud.waf.v20180125.models.RedirectInfo`
51027
+ :param _BlockPage: 拦截页面,0表示429,否则填写blockPageID
51028
+ :type BlockPage: int
51029
+ :param _ObjectSrc: 限流对象来源,0:手动填写,1:API资产
51030
+ :type ObjectSrc: int
51031
+ :param _QuotaShare: 是否共享配额,只有当对象为URL时有效,false表示URL独享配额,true表示所有URL共享配额
51032
+ :type QuotaShare: bool
51033
+ :param _PathsOption: 路径选项,可配置每个路径的请求方法
51034
+ :type PathsOption: list of PathItem
51035
+ :param _Order: 限流执行顺序,0:默认情况,限流优先,1:安全防护优先
51036
+ :type Order: int
51037
+ """
51038
+ self._Domain = None
51039
+ self._LimitRuleId = None
51040
+ self._Name = None
51041
+ self._Priority = None
51042
+ self._Status = None
51043
+ self._LimitObject = None
51044
+ self._LimitStrategy = None
51045
+ self._LimitHeaderName = None
51046
+ self._LimitMethod = None
51047
+ self._LimitPaths = None
51048
+ self._LimitHeaders = None
51049
+ self._LimitWindow = None
51050
+ self._GetParamsName = None
51051
+ self._GetParamsValue = None
51052
+ self._PostParamsName = None
51053
+ self._PostParamsValue = None
51054
+ self._IpLocation = None
51055
+ self._RedirectInfo = None
51056
+ self._BlockPage = None
51057
+ self._ObjectSrc = None
51058
+ self._QuotaShare = None
51059
+ self._PathsOption = None
51060
+ self._Order = None
51061
+
51062
+ @property
51063
+ def Domain(self):
51064
+ r"""域名
51065
+ :rtype: str
51066
+ """
51067
+ return self._Domain
51068
+
51069
+ @Domain.setter
51070
+ def Domain(self, Domain):
51071
+ self._Domain = Domain
51072
+
51073
+ @property
51074
+ def LimitRuleId(self):
51075
+ r"""规则ID
51076
+ :rtype: int
51077
+ """
51078
+ return self._LimitRuleId
51079
+
51080
+ @LimitRuleId.setter
51081
+ def LimitRuleId(self, LimitRuleId):
51082
+ self._LimitRuleId = LimitRuleId
51083
+
51084
+ @property
51085
+ def Name(self):
51086
+ r"""规则名
51087
+ :rtype: str
51088
+ """
51089
+ return self._Name
51090
+
51091
+ @Name.setter
51092
+ def Name(self, Name):
51093
+ self._Name = Name
51094
+
51095
+ @property
51096
+ def Priority(self):
51097
+ r"""优先级
51098
+ :rtype: int
51099
+ """
51100
+ return self._Priority
51101
+
51102
+ @Priority.setter
51103
+ def Priority(self, Priority):
51104
+ self._Priority = Priority
51105
+
51106
+ @property
51107
+ def Status(self):
51108
+ r"""开关,0关闭,1开启
51109
+ :rtype: int
51110
+ """
51111
+ return self._Status
51112
+
51113
+ @Status.setter
51114
+ def Status(self, Status):
51115
+ self._Status = Status
51116
+
51117
+ @property
51118
+ def LimitObject(self):
51119
+ r"""支持API,Domain。如果基于API,则LimitPaths不能为空,否则LimitPaths为空
51120
+ :rtype: str
51121
+ """
51122
+ return self._LimitObject
51123
+
51124
+ @LimitObject.setter
51125
+ def LimitObject(self, LimitObject):
51126
+ self._LimitObject = LimitObject
51127
+
51128
+ @property
51129
+ def LimitStrategy(self):
51130
+ r"""限流策略,0:观察,1:拦截,2:人机
51131
+ :rtype: int
51132
+ """
51133
+ return self._LimitStrategy
51134
+
51135
+ @LimitStrategy.setter
51136
+ def LimitStrategy(self, LimitStrategy):
51137
+ self._LimitStrategy = LimitStrategy
51138
+
51139
+ @property
51140
+ def LimitHeaderName(self):
51141
+ r"""基于Header参数名限流
51142
+ :rtype: :class:`tencentcloud.waf.v20180125.models.LimitHeaderName`
51143
+ """
51144
+ return self._LimitHeaderName
51145
+
51146
+ @LimitHeaderName.setter
51147
+ def LimitHeaderName(self, LimitHeaderName):
51148
+ self._LimitHeaderName = LimitHeaderName
51149
+
51150
+ @property
51151
+ def LimitMethod(self):
51152
+ r"""限流方法
51153
+ :rtype: :class:`tencentcloud.waf.v20180125.models.LimitMethod`
51154
+ """
51155
+ return self._LimitMethod
51156
+
51157
+ @LimitMethod.setter
51158
+ def LimitMethod(self, LimitMethod):
51159
+ self._LimitMethod = LimitMethod
51160
+
51161
+ @property
51162
+ def LimitPaths(self):
51163
+ r"""限流路径
51164
+ :rtype: :class:`tencentcloud.waf.v20180125.models.LimitPath`
51165
+ """
51166
+ return self._LimitPaths
51167
+
51168
+ @LimitPaths.setter
51169
+ def LimitPaths(self, LimitPaths):
51170
+ self._LimitPaths = LimitPaths
51171
+
51172
+ @property
51173
+ def LimitHeaders(self):
51174
+ r"""限流Headers
51175
+ :rtype: list of LimitHeader
51176
+ """
51177
+ return self._LimitHeaders
51178
+
51179
+ @LimitHeaders.setter
51180
+ def LimitHeaders(self, LimitHeaders):
51181
+ self._LimitHeaders = LimitHeaders
51182
+
51183
+ @property
51184
+ def LimitWindow(self):
51185
+ r"""限流窗口
51186
+ :rtype: :class:`tencentcloud.waf.v20180125.models.LimitWindow`
51187
+ """
51188
+ return self._LimitWindow
51189
+
51190
+ @LimitWindow.setter
51191
+ def LimitWindow(self, LimitWindow):
51192
+ self._LimitWindow = LimitWindow
51193
+
51194
+ @property
51195
+ def GetParamsName(self):
51196
+ r"""基于Get参数名限流
51197
+ :rtype: :class:`tencentcloud.waf.v20180125.models.MatchOption`
51198
+ """
51199
+ return self._GetParamsName
51200
+
51201
+ @GetParamsName.setter
51202
+ def GetParamsName(self, GetParamsName):
51203
+ self._GetParamsName = GetParamsName
51204
+
51205
+ @property
51206
+ def GetParamsValue(self):
51207
+ r"""基于Get参数值限流
51208
+ :rtype: :class:`tencentcloud.waf.v20180125.models.MatchOption`
51209
+ """
51210
+ return self._GetParamsValue
51211
+
51212
+ @GetParamsValue.setter
51213
+ def GetParamsValue(self, GetParamsValue):
51214
+ self._GetParamsValue = GetParamsValue
51215
+
51216
+ @property
51217
+ def PostParamsName(self):
51218
+ r"""基于Post参数名限流
51219
+ :rtype: :class:`tencentcloud.waf.v20180125.models.MatchOption`
51220
+ """
51221
+ return self._PostParamsName
51222
+
51223
+ @PostParamsName.setter
51224
+ def PostParamsName(self, PostParamsName):
51225
+ self._PostParamsName = PostParamsName
51226
+
51227
+ @property
51228
+ def PostParamsValue(self):
51229
+ r"""基于Post参数值限流
51230
+ :rtype: :class:`tencentcloud.waf.v20180125.models.MatchOption`
51231
+ """
51232
+ return self._PostParamsValue
51233
+
51234
+ @PostParamsValue.setter
51235
+ def PostParamsValue(self, PostParamsValue):
51236
+ self._PostParamsValue = PostParamsValue
51237
+
51238
+ @property
51239
+ def IpLocation(self):
51240
+ r"""基于IP归属地限流
51241
+ :rtype: :class:`tencentcloud.waf.v20180125.models.MatchOption`
51242
+ """
51243
+ return self._IpLocation
51244
+
51245
+ @IpLocation.setter
51246
+ def IpLocation(self, IpLocation):
51247
+ self._IpLocation = IpLocation
51248
+
51249
+ @property
51250
+ def RedirectInfo(self):
51251
+ r"""重定向信息,当LimitStrategy为重定向时,此字段必填
51252
+ :rtype: :class:`tencentcloud.waf.v20180125.models.RedirectInfo`
51253
+ """
51254
+ return self._RedirectInfo
51255
+
51256
+ @RedirectInfo.setter
51257
+ def RedirectInfo(self, RedirectInfo):
51258
+ self._RedirectInfo = RedirectInfo
51259
+
51260
+ @property
51261
+ def BlockPage(self):
51262
+ r"""拦截页面,0表示429,否则填写blockPageID
51263
+ :rtype: int
51264
+ """
51265
+ return self._BlockPage
51266
+
51267
+ @BlockPage.setter
51268
+ def BlockPage(self, BlockPage):
51269
+ self._BlockPage = BlockPage
51270
+
51271
+ @property
51272
+ def ObjectSrc(self):
51273
+ r"""限流对象来源,0:手动填写,1:API资产
51274
+ :rtype: int
51275
+ """
51276
+ return self._ObjectSrc
51277
+
51278
+ @ObjectSrc.setter
51279
+ def ObjectSrc(self, ObjectSrc):
51280
+ self._ObjectSrc = ObjectSrc
51281
+
51282
+ @property
51283
+ def QuotaShare(self):
51284
+ r"""是否共享配额,只有当对象为URL时有效,false表示URL独享配额,true表示所有URL共享配额
51285
+ :rtype: bool
51286
+ """
51287
+ return self._QuotaShare
51288
+
51289
+ @QuotaShare.setter
51290
+ def QuotaShare(self, QuotaShare):
51291
+ self._QuotaShare = QuotaShare
51292
+
51293
+ @property
51294
+ def PathsOption(self):
51295
+ r"""路径选项,可配置每个路径的请求方法
51296
+ :rtype: list of PathItem
51297
+ """
51298
+ return self._PathsOption
51299
+
51300
+ @PathsOption.setter
51301
+ def PathsOption(self, PathsOption):
51302
+ self._PathsOption = PathsOption
51303
+
51304
+ @property
51305
+ def Order(self):
51306
+ r"""限流执行顺序,0:默认情况,限流优先,1:安全防护优先
51307
+ :rtype: int
51308
+ """
51309
+ return self._Order
51310
+
51311
+ @Order.setter
51312
+ def Order(self, Order):
51313
+ self._Order = Order
51314
+
51315
+
51316
+ def _deserialize(self, params):
51317
+ self._Domain = params.get("Domain")
51318
+ self._LimitRuleId = params.get("LimitRuleId")
51319
+ self._Name = params.get("Name")
51320
+ self._Priority = params.get("Priority")
51321
+ self._Status = params.get("Status")
51322
+ self._LimitObject = params.get("LimitObject")
51323
+ self._LimitStrategy = params.get("LimitStrategy")
51324
+ if params.get("LimitHeaderName") is not None:
51325
+ self._LimitHeaderName = LimitHeaderName()
51326
+ self._LimitHeaderName._deserialize(params.get("LimitHeaderName"))
51327
+ if params.get("LimitMethod") is not None:
51328
+ self._LimitMethod = LimitMethod()
51329
+ self._LimitMethod._deserialize(params.get("LimitMethod"))
51330
+ if params.get("LimitPaths") is not None:
51331
+ self._LimitPaths = LimitPath()
51332
+ self._LimitPaths._deserialize(params.get("LimitPaths"))
51333
+ if params.get("LimitHeaders") is not None:
51334
+ self._LimitHeaders = []
51335
+ for item in params.get("LimitHeaders"):
51336
+ obj = LimitHeader()
51337
+ obj._deserialize(item)
51338
+ self._LimitHeaders.append(obj)
51339
+ if params.get("LimitWindow") is not None:
51340
+ self._LimitWindow = LimitWindow()
51341
+ self._LimitWindow._deserialize(params.get("LimitWindow"))
51342
+ if params.get("GetParamsName") is not None:
51343
+ self._GetParamsName = MatchOption()
51344
+ self._GetParamsName._deserialize(params.get("GetParamsName"))
51345
+ if params.get("GetParamsValue") is not None:
51346
+ self._GetParamsValue = MatchOption()
51347
+ self._GetParamsValue._deserialize(params.get("GetParamsValue"))
51348
+ if params.get("PostParamsName") is not None:
51349
+ self._PostParamsName = MatchOption()
51350
+ self._PostParamsName._deserialize(params.get("PostParamsName"))
51351
+ if params.get("PostParamsValue") is not None:
51352
+ self._PostParamsValue = MatchOption()
51353
+ self._PostParamsValue._deserialize(params.get("PostParamsValue"))
51354
+ if params.get("IpLocation") is not None:
51355
+ self._IpLocation = MatchOption()
51356
+ self._IpLocation._deserialize(params.get("IpLocation"))
51357
+ if params.get("RedirectInfo") is not None:
51358
+ self._RedirectInfo = RedirectInfo()
51359
+ self._RedirectInfo._deserialize(params.get("RedirectInfo"))
51360
+ self._BlockPage = params.get("BlockPage")
51361
+ self._ObjectSrc = params.get("ObjectSrc")
51362
+ self._QuotaShare = params.get("QuotaShare")
51363
+ if params.get("PathsOption") is not None:
51364
+ self._PathsOption = []
51365
+ for item in params.get("PathsOption"):
51366
+ obj = PathItem()
51367
+ obj._deserialize(item)
51368
+ self._PathsOption.append(obj)
51369
+ self._Order = params.get("Order")
51370
+ memeber_set = set(params.keys())
51371
+ for name, value in vars(self).items():
51372
+ property_name = name[1:]
51373
+ if property_name in memeber_set:
51374
+ memeber_set.remove(property_name)
51375
+ if len(memeber_set) > 0:
51376
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
51377
+
51378
+
51379
+
51380
+ class UpdateRateLimitV2Response(AbstractModel):
51381
+ r"""UpdateRateLimitV2返回参数结构体
51382
+
51383
+ """
51384
+
51385
+ def __init__(self):
51386
+ r"""
51387
+ :param _BaseInfo: 操作结果
51388
+ :type BaseInfo: :class:`tencentcloud.waf.v20180125.models.RateLimitCommonRsp`
51389
+ :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
51390
+ :type RequestId: str
51391
+ """
51392
+ self._BaseInfo = None
51393
+ self._RequestId = None
51394
+
51395
+ @property
51396
+ def BaseInfo(self):
51397
+ r"""操作结果
51398
+ :rtype: :class:`tencentcloud.waf.v20180125.models.RateLimitCommonRsp`
51399
+ """
51400
+ return self._BaseInfo
51401
+
51402
+ @BaseInfo.setter
51403
+ def BaseInfo(self, BaseInfo):
51404
+ self._BaseInfo = BaseInfo
51405
+
51406
+ @property
51407
+ def RequestId(self):
51408
+ r"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
51409
+ :rtype: str
51410
+ """
51411
+ return self._RequestId
51412
+
51413
+ @RequestId.setter
51414
+ def RequestId(self, RequestId):
51415
+ self._RequestId = RequestId
51416
+
51417
+
51418
+ def _deserialize(self, params):
51419
+ if params.get("BaseInfo") is not None:
51420
+ self._BaseInfo = RateLimitCommonRsp()
51421
+ self._BaseInfo._deserialize(params.get("BaseInfo"))
51422
+ self._RequestId = params.get("RequestId")
51423
+
51424
+
47501
51425
  class UpsertCCAutoStatusRequest(AbstractModel):
47502
51426
  r"""UpsertCCAutoStatus请求参数结构体
47503
51427