tccli 3.0.1350.1__py2.py3-none-any.whl → 3.0.1352.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 (61) hide show
  1. tccli/__init__.py +1 -1
  2. tccli/services/ai3d/v20250513/api.json +1 -1
  3. tccli/services/ai3d/v20250513/examples.json +1 -1
  4. tccli/services/apm/v20210622/api.json +7 -9
  5. tccli/services/ccc/v20200210/api.json +1 -1
  6. tccli/services/cdb/v20170320/api.json +2 -2
  7. tccli/services/cdn/v20180606/api.json +1 -1
  8. tccli/services/cdwch/v20200915/api.json +7 -7
  9. tccli/services/cdwch/v20200915/examples.json +2 -2
  10. tccli/services/ctem/ctem_client.py +371 -0
  11. tccli/services/ctem/v20231128/api.json +2111 -571
  12. tccli/services/ctem/v20231128/examples.json +56 -0
  13. tccli/services/cwp/v20180228/api.json +11 -1
  14. tccli/services/cynosdb/v20190107/api.json +28 -0
  15. tccli/services/cynosdb/v20190107/examples.json +4 -4
  16. tccli/services/ess/ess_client.py +114 -8
  17. tccli/services/ess/v20201111/api.json +212 -0
  18. tccli/services/ess/v20201111/examples.json +16 -0
  19. tccli/services/gme/v20180711/api.json +40 -0
  20. tccli/services/iss/v20230517/api.json +9 -9
  21. tccli/services/kms/v20190118/api.json +188 -0
  22. tccli/services/live/v20180801/api.json +299 -3
  23. tccli/services/live/v20180801/examples.json +6 -6
  24. tccli/services/lke/lke_client.py +12 -436
  25. tccli/services/lke/v20231130/api.json +25 -1065
  26. tccli/services/lke/v20231130/examples.json +0 -64
  27. tccli/services/lkeap/v20240522/api.json +94 -17
  28. tccli/services/lkeap/v20240522/examples.json +2 -2
  29. tccli/services/mongodb/v20190725/api.json +2 -2
  30. tccli/services/mongodb/v20190725/examples.json +1 -1
  31. tccli/services/monitor/monitor_client.py +53 -0
  32. tccli/services/monitor/v20180724/api.json +38 -24
  33. tccli/services/monitor/v20180724/examples.json +2 -2
  34. tccli/services/monitor/v20230616/api.json +58 -195
  35. tccli/services/monitor/v20230616/examples.json +4 -10
  36. tccli/services/mps/mps_client.py +53 -0
  37. tccli/services/mps/v20190612/api.json +586 -285
  38. tccli/services/mps/v20190612/examples.json +18 -4
  39. tccli/services/ocr/v20181119/api.json +24 -4
  40. tccli/services/ocr/v20181119/examples.json +1 -1
  41. tccli/services/omics/v20221128/api.json +9 -0
  42. tccli/services/pts/v20210728/api.json +1 -1
  43. tccli/services/redis/v20180412/api.json +24 -5
  44. tccli/services/redis/v20180412/examples.json +1 -1
  45. tccli/services/scf/v20180416/api.json +3 -0
  46. tccli/services/ssl/v20191205/api.json +31 -1
  47. tccli/services/teo/teo_client.py +777 -35
  48. tccli/services/teo/v20220901/api.json +1026 -3
  49. tccli/services/teo/v20220901/examples.json +154 -0
  50. tccli/services/tione/v20211111/api.json +9 -0
  51. tccli/services/tke/v20180525/api.json +2 -2
  52. tccli/services/tse/tse_client.py +80 -27
  53. tccli/services/tse/v20201207/api.json +193 -0
  54. tccli/services/tse/v20201207/examples.json +8 -0
  55. tccli/services/vod/v20180717/api.json +60 -60
  56. tccli/services/vod/v20180717/examples.json +20 -20
  57. {tccli-3.0.1350.1.dist-info → tccli-3.0.1352.1.dist-info}/METADATA +2 -2
  58. {tccli-3.0.1350.1.dist-info → tccli-3.0.1352.1.dist-info}/RECORD +61 -61
  59. {tccli-3.0.1350.1.dist-info → tccli-3.0.1352.1.dist-info}/WHEEL +0 -0
  60. {tccli-3.0.1350.1.dist-info → tccli-3.0.1352.1.dist-info}/entry_points.txt +0 -0
  61. {tccli-3.0.1350.1.dist-info → tccli-3.0.1352.1.dist-info}/license_files/LICENSE +0 -0
tccli/__init__.py CHANGED
@@ -1 +1 @@
1
- __version__ = '3.0.1350.1'
1
+ __version__ = '3.0.1352.1'
@@ -133,7 +133,7 @@
133
133
  "members": [
134
134
  {
135
135
  "disabled": false,
136
- "document": "文生3D,3D内容的描述,中文正向提示词。\n最多支持200个 utf-8 字符。\n文生3D, image、image_url和 prompt必填其一,且prompt和image/image_url不能同时存在。",
136
+ "document": "文生3D,3D内容的描述,中文正向提示词。\n最多支持1024个 utf-8 字符。\n文生3D, image、image_url和 prompt必填其一,且prompt和image/image_url不能同时存在。",
137
137
  "example": "一只小猫",
138
138
  "member": "string",
139
139
  "name": "Prompt",
@@ -4,7 +4,7 @@
4
4
  {
5
5
  "document": "",
6
6
  "input": "POST / HTTP/1.1\nHost: ai3d.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: QueryHunyuanTo3DJob\n<公共请求参数>\n\n{\n \"JobId\": \"1315932989749215232\"\n}",
7
- "output": "{\n \"Response\": {\n \"ErrorCode\": \"\",\n \"ErrorMessage\": \"\",\n \"RequestId\": \"cfbcde8e-dc35-47ec-adda-0fa6d5db1dd2\",\n \"ResultFile3Ds\": [\n {\n \"Type\": \"STL\",\n \"Url\": \"https://xxx.cos.ap-guangzhou.tencentcos.cn/xxx.stl\"\n }\n ],\n \"Status\": \"DONE\"\n }\n}",
7
+ "output": "{\n \"Response\": {\n \"ErrorCode\": \"\",\n \"ErrorMessage\": \"\",\n \"RequestId\": \"cfbcde8e-dc35-47ec-adda-0fa6d5db1dd2\",\n \"ResultFile3Ds\": [\n {\n \"Type\": \"STL\",\n \"Url\": \"https://xxx.cos.ap-guangzhou.tencentcos.cn/xxx.stl\",\n \"PreviewImageUrl\": \"https://xxx.cos.ap-guangzhou.tencentcos.cn/xxx.png\"\n }\n ],\n \"Status\": \"DONE\"\n }\n}",
8
8
  "title": "调用请求示例"
9
9
  }
10
10
  ],
@@ -38,7 +38,7 @@
38
38
  "DescribeGeneralMetricData": {
39
39
  "document": "获取指标数据通用接口。用户根据需要上送请求参数,返回对应的指标数据。\n接口调用频率限制为:20次/秒,1200次/分钟。单请求的数据点数限制为1440个。",
40
40
  "input": "DescribeGeneralMetricDataRequest",
41
- "name": "获取指标数据通用接口",
41
+ "name": "获取指标数据通用接口(推荐)",
42
42
  "output": "DescribeGeneralMetricDataResponse",
43
43
  "status": "online"
44
44
  },
@@ -1503,7 +1503,7 @@
1503
1503
  {
1504
1504
  "disabled": false,
1505
1505
  "document": "需要查询的指标名称,不可自定义输入,[详情请见。](https://cloud.tencent.com/document/product/248/101681)",
1506
- "example": "[\"request_count\"、“duration”]",
1506
+ "example": "[\"request_count\"、“duration_avg”]",
1507
1507
  "member": "string",
1508
1508
  "name": "Metrics",
1509
1509
  "required": true,
@@ -1566,7 +1566,7 @@
1566
1566
  {
1567
1567
  "disabled": false,
1568
1568
  "document": "是否按固定时间跨度聚合,填入1及大于1的值按1处理,不填按0处理。\n- 填入0,则计算开始时间到截止时间的指标数据。\n- 填入1,则会按照开始时间到截止时间的时间跨度选择聚合粒度:\n - 时间跨度 (0,12) 小时,则按一分钟粒度聚合。\n - 时间跨度 [12,48] 小时,则按五分钟粒度聚合。\n - 时间跨度 (48, +∞) 小时,则按一小时粒度聚合。",
1569
- "example": "60",
1569
+ "example": "1",
1570
1570
  "member": "int64",
1571
1571
  "name": "Period",
1572
1572
  "required": false,
@@ -1575,7 +1575,7 @@
1575
1575
  {
1576
1576
  "disabled": false,
1577
1577
  "document": "对查询指标进行排序:\nKey 填写云 API 指标名称,[详情请见。](https://cloud.tencent.com/document/product/248/101681)\nValue 填写排序方式: \n- asc:对查询指标进行升序排序\n- desc:对查询指标进行降序排序",
1578
- "example": "{ \t\"Key\": \"duration\", \"Value\": \"desc\"",
1578
+ "example": "{ \t\"Key\": \"duration_avg\", \"Value\": \"desc\"",
1579
1579
  "member": "OrderBy",
1580
1580
  "name": "OrderBy",
1581
1581
  "required": false,
@@ -2244,12 +2244,11 @@
2244
2244
  {
2245
2245
  "disabled": false,
2246
2246
  "document": "过滤维度名",
2247
- "example": "serviceName",
2247
+ "example": "service.name",
2248
2248
  "member": "string",
2249
2249
  "name": "Key",
2250
2250
  "required": true,
2251
- "type": "string",
2252
- "value_allowed_null": false
2251
+ "type": "string"
2253
2252
  },
2254
2253
  {
2255
2254
  "disabled": false,
@@ -2258,8 +2257,7 @@
2258
2257
  "member": "string",
2259
2258
  "name": "Value",
2260
2259
  "required": true,
2261
- "type": "string",
2262
- "value_allowed_null": false
2260
+ "type": "string"
2263
2261
  }
2264
2262
  ],
2265
2263
  "usage": "in"
@@ -8491,7 +8491,7 @@
8491
8491
  },
8492
8492
  {
8493
8493
  "disabled": false,
8494
- "document": "ServerPushText消息的优先级,0表示可被打断,1表示不会被打断。**目前仅支持传入0,如果需要传入1,请提工单联系我们添加权限。**\n注意:在接收到Priority=1的消息后,后续其他任何消息都会被忽略(包括Priority=1的消息),直到Priority=1的消息处理结束。该字段可与Interrupt、DropMode字段配合使用。\n例子:\n- Priority=1、Interrupt=true,会打断现有交互,立刻播报,播报过程中不会被打断\n- Priority=1、Interrupt=false、DropMode=1,会等待当前交互结束,再进行播报,播报过程中不会被打断\n",
8494
+ "document": "ServerPushText消息的优先级,0表示可被打断,1表示不会被打断。\n注意:在接收到Priority=1的消息后,后续其他任何消息都会被忽略(包括Priority=1的消息),直到Priority=1的消息处理结束。该字段可与Interrupt、DropMode字段配合使用。\n例子:\n- Priority=1、Interrupt=true,会打断现有交互,立刻播报,播报过程中不会被打断\n- Priority=1、Interrupt=false、DropMode=1,会等待当前交互结束,再进行播报,播报过程中不会被打断\n",
8495
8495
  "example": "0",
8496
8496
  "member": "uint64",
8497
8497
  "name": "Priority",
@@ -2940,7 +2940,7 @@
2940
2940
  },
2941
2941
  {
2942
2942
  "disabled": false,
2943
- "document": "弹性扩容观测周期(秒级),可取值为:5,30,45,60,180,300,600,900,1800。",
2943
+ "document": "弹性扩容观测周期(秒级),可取值为:15,30,45,60,180,300,600,900,1800。",
2944
2944
  "example": "300",
2945
2945
  "member": "int64",
2946
2946
  "name": "ExpandSecondPeriod",
@@ -2951,7 +2951,7 @@
2951
2951
  },
2952
2952
  {
2953
2953
  "disabled": false,
2954
- "document": "缩容观测周期(秒级),可取值为:300。",
2954
+ "document": "缩容观测周期(秒级),可取值为:300、600、900、1800。",
2955
2955
  "example": "300",
2956
2956
  "member": "int64",
2957
2957
  "name": "ShrinkSecondPeriod",
@@ -10119,7 +10119,7 @@
10119
10119
  },
10120
10120
  {
10121
10121
  "disabled": false,
10122
- "document": "http 头部值,最多可设置 1000 个字符\nMode 为 del 时非必填\nMode 为 add/set 时必填\n注意:此字段可能返回 null,表示取不到有效值。",
10122
+ "document": "http 头部值,最多可设置 2000 个字符\nMode 为 del 时非必填\nMode 为 add/set 时必填\n注意:此字段可能返回 null,表示取不到有效值。",
10123
10123
  "example": "value",
10124
10124
  "member": "string",
10125
10125
  "name": "HeaderValue",
@@ -1649,7 +1649,7 @@
1649
1649
  {
1650
1650
  "disabled": false,
1651
1651
  "document": "搜索的集群id名称",
1652
- "example": "cdwch-xxxx",
1652
+ "example": "clickhouse-cn-xxxxxx",
1653
1653
  "member": "string",
1654
1654
  "name": "SearchInstanceID",
1655
1655
  "required": false,
@@ -1658,7 +1658,7 @@
1658
1658
  {
1659
1659
  "disabled": false,
1660
1660
  "document": "搜索的集群name",
1661
- "example": "-",
1661
+ "example": "clickhouse-cn-xxxxxx",
1662
1662
  "member": "string",
1663
1663
  "name": "SearchInstanceName",
1664
1664
  "required": false,
@@ -1694,7 +1694,7 @@
1694
1694
  {
1695
1695
  "disabled": false,
1696
1696
  "document": "集群类型,弹性版或自研数仓版",
1697
- "example": "",
1697
+ "example": "clickhouse-cn",
1698
1698
  "member": "string",
1699
1699
  "name": "InstanceType",
1700
1700
  "required": false,
@@ -1703,7 +1703,7 @@
1703
1703
  {
1704
1704
  "disabled": false,
1705
1705
  "document": "组件名称列表",
1706
- "example": "",
1706
+ "example": "0",
1707
1707
  "member": "string",
1708
1708
  "name": "Components",
1709
1709
  "required": false,
@@ -1728,7 +1728,7 @@
1728
1728
  {
1729
1729
  "disabled": false,
1730
1730
  "document": "实例数组\n注意:此字段可能返回 null,表示取不到有效值。",
1731
- "example": "-",
1731
+ "example": "[{\"instanceId:\"clickhouse-cn\"\"}]",
1732
1732
  "member": "CnInstanceInfo",
1733
1733
  "name": "InstancesList",
1734
1734
  "output_required": true,
@@ -1737,8 +1737,8 @@
1737
1737
  },
1738
1738
  {
1739
1739
  "disabled": false,
1740
- "document": "-\n注意:此字段可能返回 null,表示取不到有效值。",
1741
- "example": "-",
1740
+ "document": "错误信息\n注意:此字段可能返回 null,表示取不到有效值。",
1741
+ "example": "-1",
1742
1742
  "member": "string",
1743
1743
  "name": "ErrorMsg",
1744
1744
  "output_required": true,
@@ -67,8 +67,8 @@
67
67
  "DescribeCNInstances": [
68
68
  {
69
69
  "document": "",
70
- "input": "POST / HTTP/1.1\nHost: cdwch.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: DescribeCNInstances\n<公共请求参数>\n\n{\n \"Offset\": 0,\n \"Limit\": 0,\n \"SearchTags\": [\n {\n \"AllValue\": 0,\n \"TagKey\": \"test\",\n \"TagValue\": \"test\"\n }\n ],\n \"SearchInstanceID\": \"test\",\n \"SearchInstanceName\": \"test\"\n}",
71
- "output": "{\n \"Response\": {\n \"TotalCount\": 0,\n \"InstancesList\": [\n {\n \"ID\": 0,\n \"InstanceType\": \"abc\",\n \"InstanceName\": \"abc\",\n \"Status\": \"abc\",\n \"StatusDesc\": \"abc\",\n \"InstanceStateInfo\": {\n \"InstanceState\": \"abc\",\n \"FlowCreateTime\": \"abc\",\n \"FlowName\": \"abc\",\n \"FlowProgress\": 0,\n \"InstanceStateDesc\": \"abc\",\n \"FlowMsg\": \"abc\",\n \"ProcessName\": \"abc\",\n \"RequestId\": \"abc\",\n \"ProcessSubName\": \"abc\"\n },\n \"InstanceID\": \"abc\",\n \"Resources\": [\n {\n \"ID\": 0,\n \"InstanceID\": \"abc\",\n \"AppID\": 0,\n \"Uin\": \"abc\",\n \"Component\": \"abc\",\n \"DeployMode\": 0,\n \"SpecName\": \"abc\",\n \"ResourceID\": \"abc\",\n \"Status\": 0,\n \"IP\": \"abc\",\n \"CPU\": 1,\n \"Memory\": 1,\n \"Storage\": 1,\n \"UUID\": \"abc\",\n \"Region\": \"abc\",\n \"Zone\": \"abc\",\n \"Details\": \"abc\",\n \"CreateTime\": \"abc\",\n \"ModifyTime\": \"abc\",\n \"ExpireTime\": \"abc\"\n }\n ]\n }\n ],\n \"ErrorMsg\": \"abc\",\n \"RequestId\": \"abc\"\n }\n}",
70
+ "input": "POST / HTTP/1.1\nHost: cdwch.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: DescribeInstances\n<公共请求参数>\n\n{\n \"Limit\": 10,\n \"SearchInstanceName\": \"\",\n \"SearchInstanceID\": \"\",\n \"Offset\": 0\n}",
71
+ "output": "{\n \"Response\": {\n \"RequestId\": \"1093578c-caab-42fe-a888-37968fd42035\",\n \"InstancesList\": [\n {\n \"ID\": 1336,\n \"InstanceType\": \"clickhouse-cn\",\n \"InstanceID\": \"clickhouse-cn-xxxxxx\",\n \"InstanceName\": \"cdwch-test-3\",\n \"Status\": \"Serving\",\n \"StatusDesc\": \"运行中\"\n }\n ],\n \"ErrorMsg\": \"\",\n \"TotalCount\": 1\n }\n}",
72
72
  "title": "查询云原生实例列表"
73
73
  }
74
74
  ],
@@ -121,6 +121,58 @@ def doDescribeManages(args, parsed_globals):
121
121
  FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
122
122
 
123
123
 
124
+ def doDescribeLeakageDatas(args, parsed_globals):
125
+ g_param = parse_global_arg(parsed_globals)
126
+
127
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
128
+ cred = credential.CVMRoleCredential()
129
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
130
+ cred = credential.STSAssumeRoleCredential(
131
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
132
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
133
+ )
134
+ 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):
135
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
136
+ else:
137
+ cred = credential.Credential(
138
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
139
+ )
140
+ http_profile = HttpProfile(
141
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
142
+ reqMethod="POST",
143
+ endpoint=g_param[OptionsDefine.Endpoint],
144
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
145
+ )
146
+ profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
147
+ if g_param[OptionsDefine.Language]:
148
+ profile.language = g_param[OptionsDefine.Language]
149
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
150
+ client = mod.CtemClient(cred, g_param[OptionsDefine.Region], profile)
151
+ client._sdkVersion += ("_CLI_" + __version__)
152
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
153
+ model = models.DescribeLeakageDatasRequest()
154
+ model.from_json_string(json.dumps(args))
155
+ start_time = time.time()
156
+ while True:
157
+ rsp = client.DescribeLeakageDatas(model)
158
+ result = rsp.to_json_string()
159
+ try:
160
+ json_obj = json.loads(result)
161
+ except TypeError as e:
162
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
163
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
164
+ break
165
+ cur_time = time.time()
166
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
167
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
168
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
169
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
170
+ else:
171
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
172
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
173
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
174
+
175
+
124
176
  def doModifyCustomer(args, parsed_globals):
125
177
  g_param = parse_global_arg(parsed_globals)
126
178
 
@@ -381,6 +433,58 @@ def doDescribeWechatApplets(args, parsed_globals):
381
433
  FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
382
434
 
383
435
 
436
+ def doDescribeFakeWebsites(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.CtemClient(cred, g_param[OptionsDefine.Region], profile)
463
+ client._sdkVersion += ("_CLI_" + __version__)
464
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
465
+ model = models.DescribeFakeWebsitesRequest()
466
+ model.from_json_string(json.dumps(args))
467
+ start_time = time.time()
468
+ while True:
469
+ rsp = client.DescribeFakeWebsites(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 doDescribeSensitiveInfos(args, parsed_globals):
385
489
  g_param = parse_global_arg(parsed_globals)
386
490
 
@@ -433,6 +537,58 @@ def doDescribeSensitiveInfos(args, parsed_globals):
433
537
  FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
434
538
 
435
539
 
540
+ def doDescribeFakeMiniPrograms(args, parsed_globals):
541
+ g_param = parse_global_arg(parsed_globals)
542
+
543
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
544
+ cred = credential.CVMRoleCredential()
545
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
546
+ cred = credential.STSAssumeRoleCredential(
547
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
548
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
549
+ )
550
+ 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):
551
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
552
+ else:
553
+ cred = credential.Credential(
554
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
555
+ )
556
+ http_profile = HttpProfile(
557
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
558
+ reqMethod="POST",
559
+ endpoint=g_param[OptionsDefine.Endpoint],
560
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
561
+ )
562
+ profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
563
+ if g_param[OptionsDefine.Language]:
564
+ profile.language = g_param[OptionsDefine.Language]
565
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
566
+ client = mod.CtemClient(cred, g_param[OptionsDefine.Region], profile)
567
+ client._sdkVersion += ("_CLI_" + __version__)
568
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
569
+ model = models.DescribeFakeMiniProgramsRequest()
570
+ model.from_json_string(json.dumps(args))
571
+ start_time = time.time()
572
+ while True:
573
+ rsp = client.DescribeFakeMiniPrograms(model)
574
+ result = rsp.to_json_string()
575
+ try:
576
+ json_obj = json.loads(result)
577
+ except TypeError as e:
578
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
579
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
580
+ break
581
+ cur_time = time.time()
582
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
583
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
584
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
585
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
586
+ else:
587
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
588
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
589
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
590
+
591
+
436
592
  def doDescribeSubDomains(args, parsed_globals):
437
593
  g_param = parse_global_arg(parsed_globals)
438
594
 
@@ -537,6 +693,110 @@ def doDescribeCustomers(args, parsed_globals):
537
693
  FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
538
694
 
539
695
 
696
+ def doDescribeLeakageEmails(args, parsed_globals):
697
+ g_param = parse_global_arg(parsed_globals)
698
+
699
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
700
+ cred = credential.CVMRoleCredential()
701
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
702
+ cred = credential.STSAssumeRoleCredential(
703
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
704
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
705
+ )
706
+ 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):
707
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
708
+ else:
709
+ cred = credential.Credential(
710
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
711
+ )
712
+ http_profile = HttpProfile(
713
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
714
+ reqMethod="POST",
715
+ endpoint=g_param[OptionsDefine.Endpoint],
716
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
717
+ )
718
+ profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
719
+ if g_param[OptionsDefine.Language]:
720
+ profile.language = g_param[OptionsDefine.Language]
721
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
722
+ client = mod.CtemClient(cred, g_param[OptionsDefine.Region], profile)
723
+ client._sdkVersion += ("_CLI_" + __version__)
724
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
725
+ model = models.DescribeLeakageEmailsRequest()
726
+ model.from_json_string(json.dumps(args))
727
+ start_time = time.time()
728
+ while True:
729
+ rsp = client.DescribeLeakageEmails(model)
730
+ result = rsp.to_json_string()
731
+ try:
732
+ json_obj = json.loads(result)
733
+ except TypeError as e:
734
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
735
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
736
+ break
737
+ cur_time = time.time()
738
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
739
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
740
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
741
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
742
+ else:
743
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
744
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
745
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
746
+
747
+
748
+ def doDescribeFakeApps(args, parsed_globals):
749
+ g_param = parse_global_arg(parsed_globals)
750
+
751
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
752
+ cred = credential.CVMRoleCredential()
753
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
754
+ cred = credential.STSAssumeRoleCredential(
755
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
756
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
757
+ )
758
+ elif os.getenv(OptionsDefine.ENV_TKE_REGION) and os.getenv(OptionsDefine.ENV_TKE_PROVIDER_ID) and os.getenv(OptionsDefine.ENV_TKE_WEB_IDENTITY_TOKEN_FILE) and os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN):
759
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
760
+ else:
761
+ cred = credential.Credential(
762
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
763
+ )
764
+ http_profile = HttpProfile(
765
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
766
+ reqMethod="POST",
767
+ endpoint=g_param[OptionsDefine.Endpoint],
768
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
769
+ )
770
+ profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
771
+ if g_param[OptionsDefine.Language]:
772
+ profile.language = g_param[OptionsDefine.Language]
773
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
774
+ client = mod.CtemClient(cred, g_param[OptionsDefine.Region], profile)
775
+ client._sdkVersion += ("_CLI_" + __version__)
776
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
777
+ model = models.DescribeFakeAppsRequest()
778
+ model.from_json_string(json.dumps(args))
779
+ start_time = time.time()
780
+ while True:
781
+ rsp = client.DescribeFakeApps(model)
782
+ result = rsp.to_json_string()
783
+ try:
784
+ json_obj = json.loads(result)
785
+ except TypeError as e:
786
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
787
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
788
+ break
789
+ cur_time = time.time()
790
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
791
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
792
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
793
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
794
+ else:
795
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
796
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
797
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
798
+
799
+
540
800
  def doDescribeApps(args, parsed_globals):
541
801
  g_param = parse_global_arg(parsed_globals)
542
802
 
@@ -589,6 +849,58 @@ def doDescribeApps(args, parsed_globals):
589
849
  FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
590
850
 
591
851
 
852
+ def doDescribeFakeWechatOfficials(args, parsed_globals):
853
+ g_param = parse_global_arg(parsed_globals)
854
+
855
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
856
+ cred = credential.CVMRoleCredential()
857
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
858
+ cred = credential.STSAssumeRoleCredential(
859
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
860
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
861
+ )
862
+ 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):
863
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
864
+ else:
865
+ cred = credential.Credential(
866
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
867
+ )
868
+ http_profile = HttpProfile(
869
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
870
+ reqMethod="POST",
871
+ endpoint=g_param[OptionsDefine.Endpoint],
872
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
873
+ )
874
+ profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
875
+ if g_param[OptionsDefine.Language]:
876
+ profile.language = g_param[OptionsDefine.Language]
877
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
878
+ client = mod.CtemClient(cred, g_param[OptionsDefine.Region], profile)
879
+ client._sdkVersion += ("_CLI_" + __version__)
880
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
881
+ model = models.DescribeFakeWechatOfficialsRequest()
882
+ model.from_json_string(json.dumps(args))
883
+ start_time = time.time()
884
+ while True:
885
+ rsp = client.DescribeFakeWechatOfficials(model)
886
+ result = rsp.to_json_string()
887
+ try:
888
+ json_obj = json.loads(result)
889
+ except TypeError as e:
890
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
891
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
892
+ break
893
+ cur_time = time.time()
894
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
895
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
896
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
897
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
898
+ else:
899
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
900
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
901
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
902
+
903
+
592
904
  def doDescribeJobRecordDetails(args, parsed_globals):
593
905
  g_param = parse_global_arg(parsed_globals)
594
906
 
@@ -1005,6 +1317,58 @@ def doDescribeDarkWebs(args, parsed_globals):
1005
1317
  FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
1006
1318
 
1007
1319
 
1320
+ def doDescribeLeakageCodes(args, parsed_globals):
1321
+ g_param = parse_global_arg(parsed_globals)
1322
+
1323
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
1324
+ cred = credential.CVMRoleCredential()
1325
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
1326
+ cred = credential.STSAssumeRoleCredential(
1327
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
1328
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
1329
+ )
1330
+ 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):
1331
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
1332
+ else:
1333
+ cred = credential.Credential(
1334
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
1335
+ )
1336
+ http_profile = HttpProfile(
1337
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
1338
+ reqMethod="POST",
1339
+ endpoint=g_param[OptionsDefine.Endpoint],
1340
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
1341
+ )
1342
+ profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
1343
+ if g_param[OptionsDefine.Language]:
1344
+ profile.language = g_param[OptionsDefine.Language]
1345
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
1346
+ client = mod.CtemClient(cred, g_param[OptionsDefine.Region], profile)
1347
+ client._sdkVersion += ("_CLI_" + __version__)
1348
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
1349
+ model = models.DescribeLeakageCodesRequest()
1350
+ model.from_json_string(json.dumps(args))
1351
+ start_time = time.time()
1352
+ while True:
1353
+ rsp = client.DescribeLeakageCodes(model)
1354
+ result = rsp.to_json_string()
1355
+ try:
1356
+ json_obj = json.loads(result)
1357
+ except TypeError as e:
1358
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
1359
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
1360
+ break
1361
+ cur_time = time.time()
1362
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
1363
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
1364
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
1365
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
1366
+ else:
1367
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
1368
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
1369
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
1370
+
1371
+
1008
1372
  def doDescribeWechatOfficialAccounts(args, parsed_globals):
1009
1373
  g_param = parse_global_arg(parsed_globals)
1010
1374
 
@@ -1330,15 +1694,21 @@ MODELS_MAP = {
1330
1694
  ACTION_MAP = {
1331
1695
  "DescribeNetDisks": doDescribeNetDisks,
1332
1696
  "DescribeManages": doDescribeManages,
1697
+ "DescribeLeakageDatas": doDescribeLeakageDatas,
1333
1698
  "ModifyCustomer": doModifyCustomer,
1334
1699
  "DescribeDomains": doDescribeDomains,
1335
1700
  "DescribeVuls": doDescribeVuls,
1336
1701
  "DescribeConfigs": doDescribeConfigs,
1337
1702
  "DescribeWechatApplets": doDescribeWechatApplets,
1703
+ "DescribeFakeWebsites": doDescribeFakeWebsites,
1338
1704
  "DescribeSensitiveInfos": doDescribeSensitiveInfos,
1705
+ "DescribeFakeMiniPrograms": doDescribeFakeMiniPrograms,
1339
1706
  "DescribeSubDomains": doDescribeSubDomains,
1340
1707
  "DescribeCustomers": doDescribeCustomers,
1708
+ "DescribeLeakageEmails": doDescribeLeakageEmails,
1709
+ "DescribeFakeApps": doDescribeFakeApps,
1341
1710
  "DescribeApps": doDescribeApps,
1711
+ "DescribeFakeWechatOfficials": doDescribeFakeWechatOfficials,
1342
1712
  "DescribeJobRecordDetails": doDescribeJobRecordDetails,
1343
1713
  "DescribeSuspiciousAssets": doDescribeSuspiciousAssets,
1344
1714
  "DescribeGithubs": doDescribeGithubs,
@@ -1347,6 +1717,7 @@ ACTION_MAP = {
1347
1717
  "DescribeHttps": doDescribeHttps,
1348
1718
  "DescribeAssets": doDescribeAssets,
1349
1719
  "DescribeDarkWebs": doDescribeDarkWebs,
1720
+ "DescribeLeakageCodes": doDescribeLeakageCodes,
1350
1721
  "DescribeWechatOfficialAccounts": doDescribeWechatOfficialAccounts,
1351
1722
  "DescribeEnterprises": doDescribeEnterprises,
1352
1723
  "CreateCustomer": doCreateCustomer,