tccli 3.0.1364.1__py2.py3-none-any.whl → 3.0.1366.1__py2.py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. tccli/__init__.py +1 -1
  2. tccli/services/autoscaling/v20180419/api.json +1 -1
  3. tccli/services/cdb/v20170320/api.json +12 -12
  4. tccli/services/cdn/cdn_client.py +161 -1380
  5. tccli/services/cdn/v20180606/api.json +5302 -9471
  6. tccli/services/cdn/v20180606/examples.json +0 -184
  7. tccli/services/cfs/v20190719/api.json +7 -7
  8. tccli/services/chc/v20230418/api.json +1 -1
  9. tccli/services/cls/v20201016/api.json +28 -24
  10. tccli/services/cls/v20201016/examples.json +2 -2
  11. tccli/services/cynosdb/v20190107/api.json +1 -1
  12. tccli/services/cynosdb/v20190107/examples.json +1 -1
  13. tccli/services/dlc/dlc_client.py +1622 -403
  14. tccli/services/dlc/v20210125/api.json +10988 -8007
  15. tccli/services/dlc/v20210125/examples.json +186 -2
  16. tccli/services/emr/v20190103/api.json +1 -1
  17. tccli/services/es/v20250101/api.json +38 -1
  18. tccli/services/ess/ess_client.py +110 -4
  19. tccli/services/ess/v20201111/api.json +359 -6
  20. tccli/services/ess/v20201111/examples.json +22 -0
  21. tccli/services/hunyuan/hunyuan_client.py +73 -179
  22. tccli/services/hunyuan/v20230901/api.json +0 -190
  23. tccli/services/hunyuan/v20230901/examples.json +0 -16
  24. tccli/services/ims/v20201229/api.json +2 -2
  25. tccli/services/lke/v20231130/api.json +47 -4
  26. tccli/services/mongodb/v20190725/api.json +2 -2
  27. tccli/services/mongodb/v20190725/examples.json +1 -1
  28. tccli/services/monitor/v20180724/api.json +2 -2
  29. tccli/services/mps/v20190612/api.json +5 -5
  30. tccli/services/mqtt/v20240516/api.json +84 -0
  31. tccli/services/ocr/v20181119/api.json +49 -3
  32. tccli/services/partners/v20180321/api.json +4 -4
  33. tccli/services/postgres/v20170312/api.json +20 -20
  34. tccli/services/postgres/v20170312/examples.json +2 -2
  35. tccli/services/sqlserver/v20180328/api.json +10 -10
  36. tccli/services/sqlserver/v20180328/examples.json +1 -1
  37. tccli/services/ssl/v20191205/api.json +4 -4
  38. tccli/services/tcbr/v20220217/api.json +114 -9
  39. tccli/services/tcr/v20190924/api.json +2 -2
  40. tccli/services/teo/teo_client.py +1266 -206
  41. tccli/services/teo/v20220901/api.json +1798 -116
  42. tccli/services/teo/v20220901/examples.json +160 -0
  43. tccli/services/tione/v20211111/api.json +48 -38
  44. tccli/services/tione/v20211111/examples.json +1 -1
  45. tccli/services/trtc/v20190722/api.json +40 -7
  46. tccli/services/waf/v20180125/api.json +499 -0
  47. tccli/services/waf/v20180125/examples.json +32 -0
  48. tccli/services/waf/waf_client.py +224 -12
  49. tccli/services/wsa/v20250508/api.json +2 -2
  50. tccli/services/wsa/v20250508/examples.json +2 -2
  51. {tccli-3.0.1364.1.dist-info → tccli-3.0.1366.1.dist-info}/METADATA +2 -2
  52. {tccli-3.0.1364.1.dist-info → tccli-3.0.1366.1.dist-info}/RECORD +55 -55
  53. {tccli-3.0.1364.1.dist-info → tccli-3.0.1366.1.dist-info}/WHEEL +0 -0
  54. {tccli-3.0.1364.1.dist-info → tccli-3.0.1366.1.dist-info}/entry_points.txt +0 -0
  55. {tccli-3.0.1364.1.dist-info → tccli-3.0.1366.1.dist-info}/license_files/LICENSE +0 -0
@@ -124,6 +124,14 @@
124
124
  "title": "新增IP黑白名单"
125
125
  }
126
126
  ],
127
+ "CreateOwaspWhiteRule": [
128
+ {
129
+ "document": "",
130
+ "input": "POST / HTTP/1.1\nHost: waf.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: CreateOwaspWhiteRule\n<公共请求参数>\n\n{\n \"Name\": \"测试白名单\",\n \"Domain\": \"owasp.saas3.testwaf.com\",\n \"Strategies\": [\n {\n \"Field\": \"IP\",\n \"CompareFunc\": \"eq\",\n \"Content\": \"1.1.1.1\",\n \"Arg\": \"GET\"\n }\n ],\n \"Ids\": [\n 16\n ],\n \"Type\": 1,\n \"JobType\": \"TimedJob\",\n \"JobDateTime\": {\n \"Timed\": [\n {\n \"StartDateTime\": 0,\n \"EndDateTime\": 0\n }\n ],\n \"TimeTZone\": \"UTC+8\\t\"\n },\n \"ExpireTime\": 0,\n \"Status\": 1\n}",
131
+ "output": "{\n \"Response\": {\n \"RuleId\": \"23123145\",\n \"RequestId\": \"01006b52-0313-4771-83eb-968d7b592dfa\"\n }\n}",
132
+ "title": "添加白名单"
133
+ }
134
+ ],
127
135
  "CreatePostCKafkaFlow": [
128
136
  {
129
137
  "document": "",
@@ -244,6 +252,14 @@
244
252
  "title": "删除IP黑白名单"
245
253
  }
246
254
  ],
255
+ "DeleteOwaspWhiteRule": [
256
+ {
257
+ "document": "",
258
+ "input": "POST / HTTP/1.1\nHost: waf.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: DeleteOwaspWhiteRule\n<公共请求参数>\n\n{\n \"Ids\": [\n 1\n ],\n \"Domain\": \"owasp.saas3.testwaf.com\"\n}",
259
+ "output": "{\n \"Response\": {\n \"RequestId\": \"e3223d5a-7dcc-4378-98dd-e4874b1c6f84\"\n }\n}",
260
+ "title": "删除白名单"
261
+ }
262
+ ],
247
263
  "DeleteSession": [
248
264
  {
249
265
  "document": "",
@@ -630,6 +646,14 @@
630
646
  "title": "查看对象列表"
631
647
  }
632
648
  ],
649
+ "DescribeOwaspWhiteRules": [
650
+ {
651
+ "document": "",
652
+ "input": "POST / HTTP/1.1\nHost: waf.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: DescribeOwaspWhiteRules\n<公共请求参数>\n\n{\n \"Domain\": \"owasp.saas3.testwaf.com\"\n}",
653
+ "output": "{\n \"Response\": {\n \"List\": [],\n \"RequestId\": \"f04cbb2c-7276-49b3-8576-c6c9ff9eb7bb\",\n \"Total\": 0\n }\n}",
654
+ "title": "展示白名单"
655
+ }
656
+ ],
633
657
  "DescribePeakPoints": [
634
658
  {
635
659
  "document": "",
@@ -1204,6 +1228,14 @@
1204
1228
  "title": "修改防护对象"
1205
1229
  }
1206
1230
  ],
1231
+ "ModifyOwaspWhiteRule": [
1232
+ {
1233
+ "document": "",
1234
+ "input": "POST / HTTP/1.1\nHost: waf.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: ModifyOwaspWhiteRule\n<公共请求参数>\n\n{\n \"RuleId\": 10000,\n \"Name\": \"测试白名单\",\n \"Domain\": \"owasp.saas3.testwaf.com\",\n \"Strategies\": [\n {\n \"Field\": \"IP\",\n \"CompareFunc\": \"eq\",\n \"Content\": \"1.1.1.1\",\n \"Arg\": \"GET\",\n \"CaseNotSensitive\": 1\n }\n ],\n \"Ids\": [\n 10000\n ],\n \"Type\": 1,\n \"JobType\": \"TimedJob\",\n \"JobDateTime\": {\n \"Timed\": [\n {\n \"StartDateTime\": 0,\n \"EndDateTime\": 0\n }\n ],\n \"Cron\": [\n {\n \"StartTime\": \"0\",\n \"EndTime\": \"0\"\n }\n ],\n \"TimeTZone\": \"UTC+8\\t\"\n },\n \"ExpireTime\": 0,\n \"Status\": 1\n}",
1235
+ "output": "{\n \"Response\": {\n \"RequestId\": \"e1955c61-d2de-40e2-a084-8fdfa871ceec\"\n }\n}",
1236
+ "title": "修改规则白名单"
1237
+ }
1238
+ ],
1207
1239
  "ModifyProtectionStatus": [
1208
1240
  {
1209
1241
  "document": "",
@@ -69,6 +69,58 @@ def doDescribeAttackType(args, parsed_globals):
69
69
  FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
70
70
 
71
71
 
72
+ def doDescribePeakPoints(args, parsed_globals):
73
+ g_param = parse_global_arg(parsed_globals)
74
+
75
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
76
+ cred = credential.CVMRoleCredential()
77
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
78
+ cred = credential.STSAssumeRoleCredential(
79
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
80
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
81
+ )
82
+ elif os.getenv(OptionsDefine.ENV_TKE_REGION) and os.getenv(OptionsDefine.ENV_TKE_PROVIDER_ID) and os.getenv(OptionsDefine.ENV_TKE_WEB_IDENTITY_TOKEN_FILE) and os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN):
83
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
84
+ else:
85
+ cred = credential.Credential(
86
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
87
+ )
88
+ http_profile = HttpProfile(
89
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
90
+ reqMethod="POST",
91
+ endpoint=g_param[OptionsDefine.Endpoint],
92
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
93
+ )
94
+ profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
95
+ if g_param[OptionsDefine.Language]:
96
+ profile.language = g_param[OptionsDefine.Language]
97
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
98
+ client = mod.WafClient(cred, g_param[OptionsDefine.Region], profile)
99
+ client._sdkVersion += ("_CLI_" + __version__)
100
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
101
+ model = models.DescribePeakPointsRequest()
102
+ model.from_json_string(json.dumps(args))
103
+ start_time = time.time()
104
+ while True:
105
+ rsp = client.DescribePeakPoints(model)
106
+ result = rsp.to_json_string()
107
+ try:
108
+ json_obj = json.loads(result)
109
+ except TypeError as e:
110
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
111
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
112
+ break
113
+ cur_time = time.time()
114
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
115
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
116
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
117
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
118
+ else:
119
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
120
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
121
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
122
+
123
+
72
124
  def doDescribeDomainDetailsClb(args, parsed_globals):
73
125
  g_param = parse_global_arg(parsed_globals)
74
126
 
@@ -381,6 +433,58 @@ def doDeleteIpAccessControl(args, parsed_globals):
381
433
  FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
382
434
 
383
435
 
436
+ def doDeleteOwaspWhiteRule(args, parsed_globals):
437
+ g_param = parse_global_arg(parsed_globals)
438
+
439
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
440
+ cred = credential.CVMRoleCredential()
441
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
442
+ cred = credential.STSAssumeRoleCredential(
443
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
444
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
445
+ )
446
+ elif os.getenv(OptionsDefine.ENV_TKE_REGION) and os.getenv(OptionsDefine.ENV_TKE_PROVIDER_ID) and os.getenv(OptionsDefine.ENV_TKE_WEB_IDENTITY_TOKEN_FILE) and os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN):
447
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
448
+ else:
449
+ cred = credential.Credential(
450
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
451
+ )
452
+ http_profile = HttpProfile(
453
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
454
+ reqMethod="POST",
455
+ endpoint=g_param[OptionsDefine.Endpoint],
456
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
457
+ )
458
+ profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
459
+ if g_param[OptionsDefine.Language]:
460
+ profile.language = g_param[OptionsDefine.Language]
461
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
462
+ client = mod.WafClient(cred, g_param[OptionsDefine.Region], profile)
463
+ client._sdkVersion += ("_CLI_" + __version__)
464
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
465
+ model = models.DeleteOwaspWhiteRuleRequest()
466
+ model.from_json_string(json.dumps(args))
467
+ start_time = time.time()
468
+ while True:
469
+ rsp = client.DeleteOwaspWhiteRule(model)
470
+ result = rsp.to_json_string()
471
+ try:
472
+ json_obj = json.loads(result)
473
+ except TypeError as e:
474
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
475
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
476
+ break
477
+ cur_time = time.time()
478
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
479
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
480
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
481
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
482
+ else:
483
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
484
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
485
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
486
+
487
+
384
488
  def doDescribeAreaBanAreas(args, parsed_globals):
385
489
  g_param = parse_global_arg(parsed_globals)
386
490
 
@@ -1889,7 +1993,7 @@ def doDeleteAntiInfoLeakRule(args, parsed_globals):
1889
1993
  FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
1890
1994
 
1891
1995
 
1892
- def doDescribePeakPoints(args, parsed_globals):
1996
+ def doCreateOwaspWhiteRule(args, parsed_globals):
1893
1997
  g_param = parse_global_arg(parsed_globals)
1894
1998
 
1895
1999
  if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
@@ -1918,11 +2022,11 @@ def doDescribePeakPoints(args, parsed_globals):
1918
2022
  client = mod.WafClient(cred, g_param[OptionsDefine.Region], profile)
1919
2023
  client._sdkVersion += ("_CLI_" + __version__)
1920
2024
  models = MODELS_MAP[g_param[OptionsDefine.Version]]
1921
- model = models.DescribePeakPointsRequest()
2025
+ model = models.CreateOwaspWhiteRuleRequest()
1922
2026
  model.from_json_string(json.dumps(args))
1923
2027
  start_time = time.time()
1924
2028
  while True:
1925
- rsp = client.DescribePeakPoints(model)
2029
+ rsp = client.CreateOwaspWhiteRule(model)
1926
2030
  result = rsp.to_json_string()
1927
2031
  try:
1928
2032
  json_obj = json.loads(result)
@@ -3553,6 +3657,58 @@ def doDescribeAttackOverview(args, parsed_globals):
3553
3657
  FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
3554
3658
 
3555
3659
 
3660
+ def doModifyOwaspWhiteRule(args, parsed_globals):
3661
+ g_param = parse_global_arg(parsed_globals)
3662
+
3663
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
3664
+ cred = credential.CVMRoleCredential()
3665
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
3666
+ cred = credential.STSAssumeRoleCredential(
3667
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
3668
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
3669
+ )
3670
+ elif os.getenv(OptionsDefine.ENV_TKE_REGION) and os.getenv(OptionsDefine.ENV_TKE_PROVIDER_ID) and os.getenv(OptionsDefine.ENV_TKE_WEB_IDENTITY_TOKEN_FILE) and os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN):
3671
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
3672
+ else:
3673
+ cred = credential.Credential(
3674
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
3675
+ )
3676
+ http_profile = HttpProfile(
3677
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
3678
+ reqMethod="POST",
3679
+ endpoint=g_param[OptionsDefine.Endpoint],
3680
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
3681
+ )
3682
+ profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
3683
+ if g_param[OptionsDefine.Language]:
3684
+ profile.language = g_param[OptionsDefine.Language]
3685
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
3686
+ client = mod.WafClient(cred, g_param[OptionsDefine.Region], profile)
3687
+ client._sdkVersion += ("_CLI_" + __version__)
3688
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
3689
+ model = models.ModifyOwaspWhiteRuleRequest()
3690
+ model.from_json_string(json.dumps(args))
3691
+ start_time = time.time()
3692
+ while True:
3693
+ rsp = client.ModifyOwaspWhiteRule(model)
3694
+ result = rsp.to_json_string()
3695
+ try:
3696
+ json_obj = json.loads(result)
3697
+ except TypeError as e:
3698
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
3699
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
3700
+ break
3701
+ cur_time = time.time()
3702
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
3703
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
3704
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
3705
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
3706
+ else:
3707
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
3708
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
3709
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
3710
+
3711
+
3556
3712
  def doDescribeAttackWhiteRule(args, parsed_globals):
3557
3713
  g_param = parse_global_arg(parsed_globals)
3558
3714
 
@@ -3761,7 +3917,7 @@ def doDescribePolicyStatus(args, parsed_globals):
3761
3917
  FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
3762
3918
 
3763
3919
 
3764
- def doDescribeSession(args, parsed_globals):
3920
+ def doDescribeBotSceneList(args, parsed_globals):
3765
3921
  g_param = parse_global_arg(parsed_globals)
3766
3922
 
3767
3923
  if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
@@ -3790,11 +3946,11 @@ def doDescribeSession(args, parsed_globals):
3790
3946
  client = mod.WafClient(cred, g_param[OptionsDefine.Region], profile)
3791
3947
  client._sdkVersion += ("_CLI_" + __version__)
3792
3948
  models = MODELS_MAP[g_param[OptionsDefine.Version]]
3793
- model = models.DescribeSessionRequest()
3949
+ model = models.DescribeBotSceneListRequest()
3794
3950
  model.from_json_string(json.dumps(args))
3795
3951
  start_time = time.time()
3796
3952
  while True:
3797
- rsp = client.DescribeSession(model)
3953
+ rsp = client.DescribeBotSceneList(model)
3798
3954
  result = rsp.to_json_string()
3799
3955
  try:
3800
3956
  json_obj = json.loads(result)
@@ -4177,6 +4333,58 @@ def doDescribeCiphersDetail(args, parsed_globals):
4177
4333
  FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
4178
4334
 
4179
4335
 
4336
+ def doDescribeOwaspWhiteRules(args, parsed_globals):
4337
+ g_param = parse_global_arg(parsed_globals)
4338
+
4339
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
4340
+ cred = credential.CVMRoleCredential()
4341
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
4342
+ cred = credential.STSAssumeRoleCredential(
4343
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
4344
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
4345
+ )
4346
+ elif os.getenv(OptionsDefine.ENV_TKE_REGION) and os.getenv(OptionsDefine.ENV_TKE_PROVIDER_ID) and os.getenv(OptionsDefine.ENV_TKE_WEB_IDENTITY_TOKEN_FILE) and os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN):
4347
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
4348
+ else:
4349
+ cred = credential.Credential(
4350
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
4351
+ )
4352
+ http_profile = HttpProfile(
4353
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
4354
+ reqMethod="POST",
4355
+ endpoint=g_param[OptionsDefine.Endpoint],
4356
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
4357
+ )
4358
+ profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
4359
+ if g_param[OptionsDefine.Language]:
4360
+ profile.language = g_param[OptionsDefine.Language]
4361
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
4362
+ client = mod.WafClient(cred, g_param[OptionsDefine.Region], profile)
4363
+ client._sdkVersion += ("_CLI_" + __version__)
4364
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
4365
+ model = models.DescribeOwaspWhiteRulesRequest()
4366
+ model.from_json_string(json.dumps(args))
4367
+ start_time = time.time()
4368
+ while True:
4369
+ rsp = client.DescribeOwaspWhiteRules(model)
4370
+ result = rsp.to_json_string()
4371
+ try:
4372
+ json_obj = json.loads(result)
4373
+ except TypeError as e:
4374
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
4375
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
4376
+ break
4377
+ cur_time = time.time()
4378
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
4379
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
4380
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
4381
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
4382
+ else:
4383
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
4384
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
4385
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
4386
+
4387
+
4180
4388
  def doModifyAreaBanStatus(args, parsed_globals):
4181
4389
  g_param = parse_global_arg(parsed_globals)
4182
4390
 
@@ -7193,7 +7401,7 @@ def doDescribeWafAutoDenyStatus(args, parsed_globals):
7193
7401
  FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
7194
7402
 
7195
7403
 
7196
- def doDescribeBotSceneList(args, parsed_globals):
7404
+ def doDescribeSession(args, parsed_globals):
7197
7405
  g_param = parse_global_arg(parsed_globals)
7198
7406
 
7199
7407
  if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
@@ -7222,11 +7430,11 @@ def doDescribeBotSceneList(args, parsed_globals):
7222
7430
  client = mod.WafClient(cred, g_param[OptionsDefine.Region], profile)
7223
7431
  client._sdkVersion += ("_CLI_" + __version__)
7224
7432
  models = MODELS_MAP[g_param[OptionsDefine.Version]]
7225
- model = models.DescribeBotSceneListRequest()
7433
+ model = models.DescribeSessionRequest()
7226
7434
  model.from_json_string(json.dumps(args))
7227
7435
  start_time = time.time()
7228
7436
  while True:
7229
- rsp = client.DescribeBotSceneList(model)
7437
+ rsp = client.DescribeSession(model)
7230
7438
  result = rsp.to_json_string()
7231
7439
  try:
7232
7440
  json_obj = json.loads(result)
@@ -8557,12 +8765,14 @@ MODELS_MAP = {
8557
8765
 
8558
8766
  ACTION_MAP = {
8559
8767
  "DescribeAttackType": doDescribeAttackType,
8768
+ "DescribePeakPoints": doDescribePeakPoints,
8560
8769
  "DescribeDomainDetailsClb": doDescribeDomainDetailsClb,
8561
8770
  "AddAntiInfoLeakRules": doAddAntiInfoLeakRules,
8562
8771
  "DescribeAccessIndex": doDescribeAccessIndex,
8563
8772
  "GetAttackTotalCount": doGetAttackTotalCount,
8564
8773
  "DescribeBatchIpAccessControl": doDescribeBatchIpAccessControl,
8565
8774
  "DeleteIpAccessControl": doDeleteIpAccessControl,
8775
+ "DeleteOwaspWhiteRule": doDeleteOwaspWhiteRule,
8566
8776
  "DescribeAreaBanAreas": doDescribeAreaBanAreas,
8567
8777
  "ModifyCustomRule": doModifyCustomRule,
8568
8778
  "DescribeFindDomainList": doDescribeFindDomainList,
@@ -8592,7 +8802,7 @@ ACTION_MAP = {
8592
8802
  "DescribeWebshellStatus": doDescribeWebshellStatus,
8593
8803
  "DescribeDomainWhiteRules": doDescribeDomainWhiteRules,
8594
8804
  "DeleteAntiInfoLeakRule": doDeleteAntiInfoLeakRule,
8595
- "DescribePeakPoints": doDescribePeakPoints,
8805
+ "CreateOwaspWhiteRule": doCreateOwaspWhiteRule,
8596
8806
  "ModifyAreaBanAreas": doModifyAreaBanAreas,
8597
8807
  "CreateDeals": doCreateDeals,
8598
8808
  "DescribeAreaBanSupportAreas": doDescribeAreaBanSupportAreas,
@@ -8624,11 +8834,12 @@ ACTION_MAP = {
8624
8834
  "DeleteAttackDownloadRecord": doDeleteAttackDownloadRecord,
8625
8835
  "DescribeCustomRuleList": doDescribeCustomRuleList,
8626
8836
  "DescribeAttackOverview": doDescribeAttackOverview,
8837
+ "ModifyOwaspWhiteRule": doModifyOwaspWhiteRule,
8627
8838
  "DescribeAttackWhiteRule": doDescribeAttackWhiteRule,
8628
8839
  "DescribeHosts": doDescribeHosts,
8629
8840
  "AddSpartaProtection": doAddSpartaProtection,
8630
8841
  "DescribePolicyStatus": doDescribePolicyStatus,
8631
- "DescribeSession": doDescribeSession,
8842
+ "DescribeBotSceneList": doDescribeBotSceneList,
8632
8843
  "DescribeTopAttackDomain": doDescribeTopAttackDomain,
8633
8844
  "ModifyBotSceneStatus": doModifyBotSceneStatus,
8634
8845
  "ModifyHost": doModifyHost,
@@ -8636,6 +8847,7 @@ ACTION_MAP = {
8636
8847
  "DescribeTlsVersion": doDescribeTlsVersion,
8637
8848
  "ModifyProtectionStatus": doModifyProtectionStatus,
8638
8849
  "DescribeCiphersDetail": doDescribeCiphersDetail,
8850
+ "DescribeOwaspWhiteRules": doDescribeOwaspWhiteRules,
8639
8851
  "ModifyAreaBanStatus": doModifyAreaBanStatus,
8640
8852
  "ModifyIpAccessControl": doModifyIpAccessControl,
8641
8853
  "DescribeAntiFakeRules": doDescribeAntiFakeRules,
@@ -8694,7 +8906,7 @@ ACTION_MAP = {
8694
8906
  "ModifyApiAnalyzeStatus": doModifyApiAnalyzeStatus,
8695
8907
  "ModifyAreaBanRule": doModifyAreaBanRule,
8696
8908
  "DescribeWafAutoDenyStatus": doDescribeWafAutoDenyStatus,
8697
- "DescribeBotSceneList": doDescribeBotSceneList,
8909
+ "DescribeSession": doDescribeSession,
8698
8910
  "ModifyCustomWhiteRuleStatus": doModifyCustomWhiteRuleStatus,
8699
8911
  "DescribePorts": doDescribePorts,
8700
8912
  "ModifyHostMode": doModifyHostMode,
@@ -29,7 +29,7 @@
29
29
  },
30
30
  {
31
31
  "disabled": false,
32
- "document": "返回结果类型,0-自然检索结果(默认),1-垂类VR结果,2-混合结果(垂类VR结果+自然检索结果)",
32
+ "document": "返回结果类型,0-自然检索结果(默认),1-多模态VR结果,2-混合结果(多模态VR结果+自然检索结果)",
33
33
  "example": "2",
34
34
  "member": "int64",
35
35
  "name": "Mode",
@@ -81,7 +81,7 @@
81
81
  },
82
82
  {
83
83
  "disabled": false,
84
- "document": "搜索结果页面",
84
+ "document": "搜索结果页面详情,格式为json字符串。\ntitle:结果标题\ndate:内容发布时间\nurl:内容发布源url\npassage:标准摘要\ncontent:动态摘要 (尊享版字段)\nsite:网站名称,部分不知名站点结果可能为空\nscore:相关性得分,取值0~1,越靠近1表示越相关\nimages:图片列表\nfavicon:网站图标链接,部分不知名站点结果可能为空",
85
85
  "example": "[\"{\\\"passage\\\":\\\"aaa\\\"}\", \"{\\\"passage\\\":\\\"bbb\\\"}\"]",
86
86
  "member": "string",
87
87
  "name": "Pages",
@@ -3,8 +3,8 @@
3
3
  "SearchPro": [
4
4
  {
5
5
  "document": "三星堆的由来,搜索结果示例",
6
- "input": "POST / HTTP/1.1\nHost: search.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: SearchPro\n<公共请求参数>\n\n{\n \"Query\": \"三星堆的由来\"\n}",
7
- "output": "{\n \"Response\": {\n \"Pages\": [\n \"{\\\"passage\\\":\\\"三星堆名字的由来 三星堆遗址位于四川省广汉市西北部,距离成都约40公里,地理位置独特,被三条河流环绕,形成了天然的地理屏障。据《华阳国志》记载,古蜀国“有三江,皆发源于岷山,流至成都平原”。 这三条河流,即今之鸭子河、石亭江和郪江,在三星堆附近交汇,形成了一片肥沃的土地。三星堆之名,最初来源于这一地区的地形特征——三座小山丘呈三角状分布,犹如夜空中的三星,故得名“三星堆”。 三星堆名称的演变 三星堆遗址的发掘,始于20世纪20年代末期,但其真正引起广泛关注是在1986年两个大型祭祀坑的发现之后。在此之前,三星堆只是当地的一个地名,直到考古学家们在这里发现了大量的古代遗存,三星堆才逐渐成为了世界瞩目的焦点。 随着研究的深入,三星堆之名也从一个简单的地理标识,演变为承载着深厚历史文化的符号。\\\",\\\"score\\\":0.897802,\\\"date\\\":\\\"2024-06-07 19:00:51\\\",\\\"title\\\":\\\"三星堆名字的由来,你真的了解吗?三星堆的参观攻略,建议收藏青铜文物玉器古蜀国三星堆遗址_网易订阅\\\",\\\"url\\\":\\\"https://www.163.com/dy/article/J43Q2STU0553FV3Z.html\\\",\\\"site\\\":\\\"网易\\\",\\\"images\\\":[\\\"https://nimg.ws.126.net/?url=http%3A%2F%2Fdingyue.ws.126.net%2F2024%2F0607%2F6554e9f0j00sepikb0015d000ko00f7m.jpg&thumbnail=660x2147483647&quality=80&type=jpg\\\",\\\"https://nimg.ws.126.net/?url=http%3A%2F%2Fdingyue.ws.126.net%2F2024%2F0607%2Fd8580756j00sepikb002sd000op00dwm.jpg&thumbnail=660x2147483647&quality=80&type=jpg\\\",\\\"https://nimg.ws.126.net/?url=http%3A%2F%2Fdingyue.ws.126.net%2F2024%2F0607%2F0cef675bj00sepikb005td000x200m1m.jpg&thumbnail=660x2147483647&quality=80&type=jpg\\\"],\\\"favicon\\\":\\\"http://img01.sogoucdn.com/app/a/200913/a51423369a5d5a02e23e02dbe7ef3ac2.png\\\"}\",\n \"{\\\"passage\\\":\\\"一、地理环境因素三星堆遗址位于四川省广汉市,距离成都约40公里。在四川省广汉市西北部,有三座稍稍隆起的土堆呈直线排列,这种地形布局与夜空中闪烁的三颗星辰相呼应,因此得名“三星堆”。这三个土堆历史悠久,据考古学家研究,它们的存在可以追溯到3000多年前。这三个土堆不仅形态独特,而且在古代具有一定的宗教或象征意义。在三星堆遗址的东北方,有一段残破的城墙,这段城墙呈现出弯月形状,与三个土堆隔河相望。这种自然与人工相结合的景观,在当时的社会背景下,很可能被赋予了一定的神话色彩和宗教意义。这一景观组合在历史上更是被形象地称为“三星伴月”,进一步增添了三星堆名字的文化韵味。其中的“三星”指的就是那三个土堆,而“月”则是指那段弯月般的城墙。当地居民根据这一独特的地理特征,赋予了这片土地以“三星伴月”的美称。这种说法不仅反映了古人对于自然现象的崇拜和敬畏之情,同时也体现了人们对于美好事物的向往和赞美之心。随着时间的推移,这一称谓逐渐深入人心,并最终演变成了“三星堆”这一名称。\\\",\\\"score\\\":0.8887853,\\\"date\\\":\\\"2024-09-03 12:59:00\\\",\\\"title\\\":\\\"三星堆名字的由来_腾讯新闻\\\",\\\"url\\\":\\\"https://news.qq.com/rain/a/20240903A048N700\\\",\\\"site\\\":\\\"腾讯网\\\",\\\"images\\\":[\\\"https://inews.gtimg.com/om_bt/O2Fq2vX-fvhI6nXzMddrrxYIBUR4dH3yhNQhVcxcoiUVkAA/641\\\"],\\\"favicon\\\":\\\"http://img02.sogoucdn.com/app/a/200913/ab735a258a90e8e1f3e3dcf231bf53a9.png\\\"}\",\n \"{\\\"passage\\\":\\\"最早在1929年,一位当地农民在遗址区域内偶然发现了一个玉器坑,这一发现引起了考古界的关注。在四川省广汉市西北部,有<strong>三座稍稍隆起的土堆呈直线排列</strong>,这种地形布局与夜空中闪烁的<strong>三颗星辰</strong>相呼应,因此得名<strong>“三星堆”</strong>。\\\",\\\"score\\\":0.86471426,\\\"date\\\":\\\"2024-09-03 13:06:46\\\",\\\"title\\\":\\\"三星堆名字的由来\\\",\\\"url\\\":\\\"https://so.html5.qq.com/page/real/search_news?docid=70000021_14266d6996591252\\\",\\\"site\\\":\\\"企鹅号\\\",\\\"images\\\":[],\\\"favicon\\\":\\\"http://img02.sogoucdn.com/app/a/200913/ab735a258a90e8e1f3e3dcf231bf53a9.png\\\"}\",\n \"{\\\"passage\\\":\\\"三星堆位于中国四川盆地东北部,距离成都市约30公里,是一处有着丰富文化内涵的古遗址。据史书记载,三星堆最早可以追溯到新石器时代晚期,距今已有约4000年的历史。 关于三星堆的由来,有着多种不同的说法和推测。其中,最为广泛接受的一种观点是,三星堆是由蜀文化与中原文化融合而成的产物。在古代,蜀地是一个相对封闭的地区,其文化发展与中原地区存在着一定的差异。然而,随着中原文化的不断扩张和传播,蜀文化逐渐受到了影响和融合。在这个过程中,三星堆文化逐渐形成并发展起来。 据考古学家推测,三星堆文化的形成可能与商周时期的中原王朝有关。在商周时期,中原地区经济发展达到了巅峰,文化艺术也取得了巨大的成就。与此同时,中原地区与蜀地的交往也逐渐增多,这为蜀地接受中原文化的影响提供了条件。在这样的背景下,三星堆文化逐渐发展起来,成为蜀地文化的代表之一。\\\",\\\"score\\\":0.78509283,\\\"date\\\":\\\"2024-01-24 11:20:00\\\",\\\"title\\\":\\\"三星堆的由来 - 今日头条\\\",\\\"url\\\":\\\"https://www.toutiao.com/article/7327498484092109324/\\\",\\\"site\\\":\\\"今日头条\\\",\\\"images\\\":[\\\"https://p3-sign.toutiaoimg.com/tos-cn-i-6w9my0ksvp/70c89f5c457045b6b1173217da1597fc~tplv-tt-origin-web:gif.jpeg?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1749699243&x-signature=sFP7KBGcnst%2FEsZfETHWr6pCjIo%3D\\\"],\\\"favicon\\\":\\\"http://img02.sogoucdn.com/app/a/200913/cbe956ef91c9f8564d5257e55bddd12e.png\\\"}\",\n \"{\\\"passage\\\":\\\"三星堆的来历推测 先说结论:三星堆可能是史前部落联盟、夏朝开始的蜀地祭祀圣地,商灭夏后祭祀用品被保留,三星堆也成为商朝的区域祭祀分地,周武王伐纣前被当地造反部落攻击后,商朝守卫者被迫焚烧和掩埋祭祀用圣物,形成了今天看到的掩埋坑。 3期:距今约3300~3100年,即公元前1300~1100年,商朝时期; 基于以上考古时间基点,推测三星堆的来历可能是: 阶段一、公元前2600年到2000年,古蜀国时期,三星堆是部落联盟古都和祭祀圣地,对应三星堆一期埋藏前半部分时间,距今约4600年~4000年; 阶段二、夏朝时期。约公元前2000年,大禹治水成功,建立夏朝,至公元前1600年夏朝灭亡,由于大禹本身出身于古蜀部落联盟,虽然首都迁移到了中原地区,但三星堆作为夏朝的祖地和祭祀圣地当然要重视和保留。距今约4000到3600年,对应三星堆埋藏一期后半期; 这可以解释三星堆的文物中为什么有那么多夏朝元素,因为这些本来就是夏朝祭祀用的圣物。 阶段三、商朝时期。约公元前1600年,商汤灭桀,夏朝灭亡商朝建立。至公元前1046年周武王伐纣,对应三星堆埋藏二期和三期; 商灭夏后,蜀地也被征服,因为商朝本身就是一个敬畏鬼神,极端重视祭祀的朝代,对于夏朝的祭祀圣地和圣物也不敢亵渎,所以保留下来。 另有一种可能是,夏被灭后,其祖地三星堆虽然被迫臣服于商朝,但本土力量也保留了相当的实力,商朝统治蜀地也需要借助本土\\\",\\\"score\\\":0.7788365,\\\"date\\\":\\\"2025-01-04 19:03:00\\\",\\\"title\\\":\\\"三星堆的来历推测先说结论:三星堆可能是史前部落联盟、夏朝开始的蜀地祭祀圣地,商灭夏后祭祀用品被保留,三星堆也成为商朝的区域祭祀分地,周武王...\\\",\\\"url\\\":\\\"https://www.toutiao.com/w/1820316008224768/\\\",\\\"site\\\":\\\"今日头条\\\",\\\"images\\\":[\\\"https://p3-sign.toutiaoimg.com/tos-cn-i-ezhpy3drpa/ae9e6a6535504776b6d50f5de45b8d58~tplv-obj:1080:810.image?_iz=97245&bid=15&from=post&gid=1820316008224768&lk3s=06827d14&x-expires=1756684800&x-signature=ZqUgBYUs%2BVsbqpdax03%2BcXR3bR0%3D\\\"],\\\"favicon\\\":\\\"http://img02.sogoucdn.com/app/a/200913/cbe956ef91c9f8564d5257e55bddd12e.png\\\"}\",\n \"{\\\"passage\\\":\\\"三星堆的起源 三星堆文化是夏人的一支从长江中游经三峡西迁成都平原、征服当地土著文化后形成的,同时西迁的还有鄂西川东峡区的土著民族。三星堆文化可以说是以夏文化和鄂西川东峡区土著文化的联盟为主体的考古学文化。通过鄂西地区、三峡地区这样的传播路线进入了四川盆地中心的成都平原,在当地相当发达的土著文化的基础上,形成了三星堆文化。 推荐度: 导读 \\\",\\\"score\\\":0.75272644,\\\"date\\\":\\\"2023-09-11 01:38:34\\\",\\\"title\\\":\\\"三星堆的起源_懂视\\\",\\\"url\\\":\\\"https://www.51dongshi.com/esgedfrrcvbbrsc.html\\\",\\\"site\\\":\\\"懂视生活\\\",\\\"images\\\":[\\\"https://img.51dongshi.com/20231024/wz/11876613852.jpg\\\"],\\\"favicon\\\":\\\"http://img02.sogoucdn.com/app/a/200913/51dongshi2\\\"}\",\n \"{\\\"passage\\\":\\\"之所以叫做“三星堆”,是因为在三星堆遗址发掘地的附近有三个“黄土堆”,传说这三个“黄土堆”是玉皇大帝在马牧河畔洒下的三把土,然后就变成三颗星,所以叫做三星堆。 三星堆古遗址位于四川省广汉市西北的鸭子河南岸,分布面积12平方千米,距今已有5000至3000年历史,是迄今在西南地区发现的范围最大、延续时间最长、文化内涵最丰富的古城、古国、古蜀文化遗址。现有保存最完整的东、西、南城墙和月亮湾内城墙。\\\",\\\"score\\\":0.7482037,\\\"date\\\":\\\"2025-03-21 12:12:30\\\",\\\"title\\\":\\\"为什么叫做三星堆\\\",\\\"url\\\":\\\"https://www.quweiguan.com/shenghuochaxun/3161752.html\\\",\\\"site\\\":\\\"\\\",\\\"images\\\":[],\\\"favicon\\\":\\\"\\\"}\",\n \"{\\\"passage\\\":\\\"1980年,四川省文管会、四川省博物馆与广汉县文化馆组成联合发掘队,在三星堆地点东侧发现18座房址,为三星堆遗址一期文化遗存,碳十四标本测年距今4500年左右,约当新石器时代晚期,这是三星堆迄今发现的最“老”房子。三星堆的发掘工作,进入了一个新的高潮,一个个特别的惊奇走进了人们的视野。这个惊奇的发现,也让当地流传已久的传说得到了验证。原来,三星堆的旁边有两条河,一条马牧河,一条\\\",\\\"score\\\":0.4781157,\\\"date\\\":\\\"2025-03-13 08:28:41\\\",\\\"title\\\":\\\"三星堆的来历-今日头条\\\",\\\"url\\\":\\\"https://www.toutiao.com/topic/7481178137775228980/\\\",\\\"site\\\":\\\"今日头条\\\",\\\"images\\\":[\\\"https://p3-sign.toutiaoimg.com/tos-cn-i-qvj2lq49k0/805b5e86d23e44bfb1b47bb977035c57~tplv-26tn0yjwph-cspd-v1:276:184.awebp?lk3s=d3394059&x-expires=2058519516&x-signature=Uy0SQ6O3I46%2F4g460zYx62NqQF0%3D\\\"],\\\"favicon\\\":\\\"http://img02.sogoucdn.com/app/a/200913/cbe956ef91c9f8564d5257e55bddd12e.png\\\"}\",\n \"{\\\"passage\\\":\\\"提起三星堆,大家对它的第一印象就是神秘。 由于一直没有发现文字,并且与中原的位置相隔甚远,想到那些黄金面具、青铜神树、金权杖、青铜大力人似乎就将我们拉到了那个神秘遥远的年代。 甚至由于造型太过奇特,工艺太过精美,有人将其与外星人联系在一起。 也许你从网上看到过这些图片也觉得惊叹,但是远远不及亲眼看到这些穿越了千年时光站在你面前的青铜器所带来的震撼。 \\\",\\\"score\\\":0.26859814,\\\"date\\\":\\\"2024-08-23 11:56:00\\\",\\\"title\\\":\\\"三星堆到底什么来头?为何商朝一灭亡就埋掉所有国宝?考古新解读_蜀地_文化_文物\\\",\\\"url\\\":\\\"https://www.sohu.com/a/803026098_211762\\\",\\\"site\\\":\\\"搜狐\\\",\\\"images\\\":[\\\"https://q1.itc.cn/q_70/images03/20240823/ec9ca7cc3c9c47eebcccb7ce46ddbbc3.jpeg\\\",\\\"https://q0.itc.cn/q_70/images03/20240823/a402756a74904a01b45dd8dd13a88ba1.jpeg\\\",\\\"https://q6.itc.cn/q_70/images03/20240823/795e6b690f3146bc89e6aaa3b4db5df9.jpeg\\\"],\\\"favicon\\\":\\\"http://img03.sogoucdn.com/app/a/200913/30b30b6c3013fff8a43e58a2bccf2ae4.png\\\"}\",\n \"{\\\"passage\\\":\\\"当大众想要谈论三星堆的时候,多数人首先想到的莫过于那个“千古谜题”——三星堆怎么没有发现文字?迄今为止,关于三星堆的考古发现与相关研究都还不能确定无疑地回答这个谜题,但在考古学者们不断追求“最大限度接近真相”的过程中,在不断积累的数据中,一些新的猜想渐渐被提出。\\\",\\\"score\\\":0.18352455,\\\"date\\\":\\\"2025-06-09 22:27:17\\\",\\\"title\\\":\\\"三星堆为何没有文字?学者:组合器物或是一种“立体文字”\\\",\\\"url\\\":\\\"https://new.qq.com/rain/a/20250609A09G9T00\\\",\\\"site\\\":\\\"腾讯网\\\",\\\"images\\\":[],\\\"favicon\\\":\\\"http://img02.sogoucdn.com/app/a/200913/ab735a258a90e8e1f3e3dcf231bf53a9.png\\\"}\",\n \"{\\\"passage\\\":\\\"大家新年好呀!拖了很久今天更新一下,希望不要打扰大家过新年。 如果86年那次是屏幕前的您和考古队一起来挖的三星堆,那么在溽暑蒸人的7月您汗流浃背的清理完坚实的夯土,接下来看到的是。 一号坑发掘现场 \\\",\\\"score\\\":0.16019097,\\\"date\\\":\\\"2024-02-09 20:45:00\\\",\\\"title\\\":\\\"三星堆的来龙去脉详解 - 今日头条\\\",\\\"url\\\":\\\"https://www.toutiao.com/article/7333577024810959398/\\\",\\\"site\\\":\\\"今日头条\\\",\\\"images\\\":[\\\"https://p3-sign.toutiaoimg.com/tos-cn-i-axegupay5k/6f7a551921e343f4afa9a229a65f50bd~tplv-tt-origin-web:gif.jpeg?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1747627932&x-signature=HKbrgnkmzLcs8i4jcyHEZy3PZgA%3D\\\"],\\\"favicon\\\":\\\"http://img02.sogoucdn.com/app/a/200913/cbe956ef91c9f8564d5257e55bddd12e.png\\\"}\",\n \"{\\\"passage\\\":\\\"封面新闻记者 伍勇6月14日下午,国际著名考古学者、加州大学洛杉矶分校资深教授Lothar von Falkenhausen(罗泰)应邀来到三星堆博物馆,带来了题为《有关三星堆的艺术史思考》的专题讲座。罗泰《有关三星堆的艺术史思考》的专题讲座。\\\",\\\"score\\\":0.13928917,\\\"date\\\":\\\"2025-06-15 15:46:12\\\",\\\"title\\\":\\\"国际学者罗泰三星堆开讲:青铜器里的文明对话与古今之思\\\",\\\"url\\\":\\\"https://new.qq.com/rain/a/20250615A052CE00\\\",\\\"site\\\":\\\"腾讯网\\\",\\\"images\\\":[],\\\"favicon\\\":\\\"http://img02.sogoucdn.com/app/a/200913/ab735a258a90e8e1f3e3dcf231bf53a9.png\\\"}\",\n \"{\\\"passage\\\":\\\"中新社成都6月12日电 题:在西方语境中,如何用文博讲好“中国故事”? ——专访旧金山亚洲艺术博物馆前馆长许杰 作者 贺劭清 王利文 “太阳之光-古蜀文明与世界”展览近日在位于纽约的联合国总部揭幕,这是以三星堆、金沙为代表的古蜀文明首次亮相联合国总部。\\\",\\\"score\\\":0.13428439,\\\"date\\\":\\\"2025-06-12 20:13:06\\\",\\\"title\\\":\\\"东西问许杰:在西方语境中,如何用文博讲好“中国故事”?\\\",\\\"url\\\":\\\"https://new.qq.com/rain/a/20250612A08UC900\\\",\\\"site\\\":\\\"腾讯网\\\",\\\"images\\\":[],\\\"favicon\\\":\\\"http://img02.sogoucdn.com/app/a/200913/ab735a258a90e8e1f3e3dcf231bf53a9.png\\\"}\",\n \"{\\\"passage\\\":\\\"【编者按】党的十八大以来,习近平总书记的文化足迹遍布大江南北,他指出“要治理好今天的中国,需要对我国历史和传统文化有深入了解”。文化,连接着一个民族的过去、现在和未来。为深入学习宣传贯彻习近平文化思想,探寻中华民族的文化记忆,凝聚“何以中国”的文化力量,党建网“党建微视频”栏目特别推出“总书记的文化足迹”系列微视频。今天推出《总书记的文化足迹丨三星堆:四千年文明的回响》,以飨读者。 \\\",\\\"score\\\":0.11235445,\\\"date\\\":\\\"2025-06-06 16:02:30\\\",\\\"title\\\":\\\"总书记的文化足迹丨三星堆:四千年文明的回响\\\",\\\"url\\\":\\\"https://new.qq.com/rain/a/20250606A06MNW00\\\",\\\"site\\\":\\\"腾讯网\\\",\\\"images\\\":[],\\\"favicon\\\":\\\"http://img02.sogoucdn.com/app/a/200913/ab735a258a90e8e1f3e3dcf231bf53a9.png\\\"}\",\n \"{\\\"passage\\\":\\\"\\\\\\\"核反应堆,又称为原子能反应堆或反应堆,是能维持可控自持链式核裂变反应,以实现核能利用的装置。核反应堆通过合理布置核燃料,使得在无需补加中子源的条件下能在其中发生自持链式核裂变过程。严格来说,反应堆这一术语应覆盖裂变堆、聚变堆、裂变聚变混合堆,但一般情况下仅指裂变堆。 \\\",\\\"score\\\":0.10931389,\\\"date\\\":\\\"2025-03-13 09:45:09\\\",\\\"title\\\":\\\"核反应堆\\\",\\\"url\\\":\\\"https://baike.baidu.com/item/核反应堆/426427\\\",\\\"site\\\":\\\"百度百科\\\",\\\"images\\\":[],\\\"favicon\\\":\\\"\\\"}\"\n ],\n \"Query\": \"三星堆的由来\",\n \"RequestId\": \"6f8df221-9a68-4ea2-90d6-a9590cae244c\"\n }\n}",
6
+ "input": "POST / HTTP/1.1\nHost: wsa.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: SearchPro\n<公共请求参数>\n\n{\n \"Query\": \"三星堆的由来\"\n}",
7
+ "output": "{\n \"Response\": {\n \"Pages\": [\n \"{\\\"passage\\\":\\\"三星堆名字的由来 三星堆遗址位于四川省广汉市西北部,距离成都约40公里,地理位置独特,被三条河流环绕,形成了天然的地理屏障。据《华阳国志》记载,古蜀国“有三江,皆发源于岷山,流至成都平原”。 这三条河流,即今之鸭子河、石亭江和郪江,在三星堆附近交汇,形成了一片肥沃的土地。三星堆之名,最初来源于这一地区的地形特征——三座小山丘呈三角状分布,犹如夜空中的三星,故得名“三星堆”。 三星堆名称的演变 三星堆遗址的发掘,始于20世纪20年代末期,但其真正引起广泛关注是在1986年两个大型祭祀坑的发现之后。在此之前,三星堆只是当地的一个地名,直到考古学家们在这里发现了大量的古代遗存,三星堆才逐渐成为了世界瞩目的焦点。 随着研究的深入,三星堆之名也从一个简单的地理标识,演变为承载着深厚历史文化的符号。\\\",\\\"score\\\":0.897802,\\\"date\\\":\\\"2024-06-07 19:00:51\\\",\\\"title\\\":\\\"三星堆名字的由来,你真的了解吗?三星堆的参观攻略,建议收藏青铜文物玉器古蜀国三星堆遗址_网易订阅\\\",\\\"url\\\":\\\"https://www.163.com/dy/article/J43Q2STU0553FV3Z.html\\\",\\\"site\\\":\\\"网易\\\",\\\"images\\\":[],\\\"favicon\\\":\\\"http://img01.sogoucdn.com/app/a/200913/a51423369a5d5a.png\\\"}\",\n \"{\\\"passage\\\":\\\"一、地理环境因素三星堆遗址位于四川省广汉市,距离成都约40公里。在四川省广汉市西北部,有三座稍稍隆起的土堆呈直线排列,这种地形布局与夜空中闪烁的三颗星辰相呼应,因此得名“三星堆”。这三个土堆历史悠久,据考古学家研究,它们的存在可以追溯到3000多年前。这三个土堆不仅形态独特,而且在古代具有一定的宗教或象征意义。在三星堆遗址的东北方,有一段残破的城墙,这段城墙呈现出弯月形状,与三个土堆隔河相望。这种自然与人工相结合的景观,在当时的社会背景下,很可能被赋予了一定的神话色彩和宗教意义。这一景观组合在历史上更是被形象地称为“三星伴月”,进一步增添了三星堆名字的文化韵味。其中的“三星”指的就是那三个土堆,而“月”则是指那段弯月般的城墙。当地居民根据这一独特的地理特征,赋予了这片土地以“三星伴月”的美称。这种说法不仅反映了古人对于自然现象的崇拜和敬畏之情,同时也体现了人们对于美好事物的向往和赞美之心。随着时间的推移,这一称谓逐渐深入人心,并最终演变成了“三星堆”这一名称。\\\",\\\"score\\\":0.8887853,\\\"date\\\":\\\"2024-09-03 12:59:00\\\",\\\"title\\\":\\\"三星堆名字的由来_腾讯新闻\\\",\\\"url\\\":\\\"https://news.qq.com/rain/a/20240903A048N700\\\",\\\"site\\\":\\\"腾讯网\\\",\\\"images\\\":[],\\\"favicon\\\":\\\"http://img02.sogoucdn.com/app/a/200913/ab735a258a90e8.png\\\"}\",\n \"{\\\"passage\\\":\\\"最早在1929年,一位当地农民在遗址区域内偶然发现了一个玉器坑,这一发现引起了考古界的关注。在四川省广汉市西北部,有<strong>三座稍稍隆起的土堆呈直线排列</strong>,这种地形布局与夜空中闪烁的<strong>三颗星辰</strong>相呼应,因此得名<strong>“三星堆”</strong>。\\\",\\\"score\\\":0.86471426,\\\"date\\\":\\\"2024-09-03 13:06:46\\\",\\\"title\\\":\\\"三星堆名字的由来\\\",\\\"url\\\":\\\"https://so.html5.qq.com/page/real/search_news?docid=70000021_14266d6996591252\\\",\\\"site\\\":\\\"企鹅号\\\",\\\"images\\\":[],\\\"favicon\\\":\\\"http://img02.sogoucdn.com/app/a/200913/ab735a25.png\\\"}\"\n ],\n \"Query\": \"三星堆的由来\",\n \"RequestId\": \"6f8df221-9a68-4ea2-90d6-a9590cae244c\"\n }\n}",
8
8
  "title": "联网搜索API示例"
9
9
  }
10
10
  ]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: tccli
3
- Version: 3.0.1364.1
3
+ Version: 3.0.1366.1
4
4
  Summary: Universal Command Line Environment for Tencent Cloud
5
5
  Project-URL: Bug Tracker, https://github.com/TencentCloud/tencentcloud-cli/issues
6
6
  Project-URL: Homepage, https://github.com/TencentCloud/tencentcloud-cli
@@ -13,7 +13,7 @@ Classifier: Programming Language :: Python :: 2.7
13
13
  Classifier: Programming Language :: Python :: 3
14
14
  Requires-Dist: jmespath==0.10.0
15
15
  Requires-Dist: six==1.16.0
16
- Requires-Dist: tencentcloud-sdk-python>=3.0.1364
16
+ Requires-Dist: tencentcloud-sdk-python>=3.0.1366
17
17
  Description-Content-Type: text/markdown
18
18
 
19
19
  # 命令行工具简介