tccli 3.0.1157.1__py2.py3-none-any.whl → 3.0.1159.1__py2.py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
Files changed (46) hide show
  1. tccli/__init__.py +1 -1
  2. tccli/services/ams/v20201229/api.json +328 -70
  3. tccli/services/ams/v20201229/examples.json +3 -3
  4. tccli/services/bi/v20220105/api.json +1 -1
  5. tccli/services/cat/v20180409/api.json +9 -0
  6. tccli/services/ccc/v20200210/api.json +3 -3
  7. tccli/services/cdb/v20170320/api.json +30 -3
  8. tccli/services/cdn/v20180606/api.json +86 -0
  9. tccli/services/cfw/cfw_client.py +53 -0
  10. tccli/services/cfw/v20190904/api.json +277 -0
  11. tccli/services/cfw/v20190904/examples.json +8 -0
  12. tccli/services/cls/v20201016/api.json +3 -3
  13. tccli/services/cls/v20201016/examples.json +1 -1
  14. tccli/services/cynosdb/v20190107/api.json +91 -0
  15. tccli/services/dbbrain/v20210527/api.json +10 -1
  16. tccli/services/ecm/v20190719/api.json +23 -5
  17. tccli/services/emr/emr_client.py +53 -0
  18. tccli/services/emr/v20190103/api.json +351 -98
  19. tccli/services/emr/v20190103/examples.json +11 -3
  20. tccli/services/ess/v20201111/api.json +32 -14
  21. tccli/services/ess/v20201111/examples.json +8 -2
  22. tccli/services/essbasic/v20210526/api.json +1 -1
  23. tccli/services/hunyuan/v20230901/api.json +114 -3
  24. tccli/services/mongodb/mongodb_client.py +53 -0
  25. tccli/services/mongodb/v20190725/api.json +71 -0
  26. tccli/services/mongodb/v20190725/examples.json +8 -0
  27. tccli/services/monitor/v20180724/api.json +8 -8
  28. tccli/services/ocr/v20181119/api.json +27 -0
  29. tccli/services/redis/v20180412/api.json +3 -3
  30. tccli/services/tke/tke_client.py +53 -0
  31. tccli/services/tke/v20180525/api.json +188 -0
  32. tccli/services/tke/v20180525/examples.json +8 -0
  33. tccli/services/trtc/v20190722/api.json +3 -3
  34. tccli/services/trtc/v20190722/examples.json +2 -2
  35. tccli/services/vm/v20201229/api.json +209 -45
  36. tccli/services/vm/v20201229/examples.json +1 -1
  37. tccli/services/vm/v20210922/api.json +25 -25
  38. tccli/services/vpc/v20170312/api.json +2 -1
  39. tccli/services/vpc/v20170312/examples.json +3 -3
  40. tccli/services/waf/v20180125/api.json +13 -13
  41. tccli/services/wedata/v20210820/api.json +10 -0
  42. {tccli-3.0.1157.1.dist-info → tccli-3.0.1159.1.dist-info}/METADATA +2 -2
  43. {tccli-3.0.1157.1.dist-info → tccli-3.0.1159.1.dist-info}/RECORD +46 -46
  44. {tccli-3.0.1157.1.dist-info → tccli-3.0.1159.1.dist-info}/WHEEL +0 -0
  45. {tccli-3.0.1157.1.dist-info → tccli-3.0.1159.1.dist-info}/entry_points.txt +0 -0
  46. {tccli-3.0.1157.1.dist-info → tccli-3.0.1159.1.dist-info}/license_files/LICENSE +0 -0
@@ -12,7 +12,7 @@
12
12
  {
13
13
  "document": "",
14
14
  "input": "POST / HTTP/1.1\nHost: ams.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: CreateAudioModerationSyncTask\n<公共请求参数>\n\n{\n \"BizType\": \"test_biztype\",\n \"FileUrl\": \"https://test.myqcloud.com/test.mp3\",\n \"DataId\": \"test0000000000001\",\n \"Name\": \"test_file\",\n \"FileFormat\": \"mp3\"\n}",
15
- "output": "{\n \"Response\": {\n \"RequestId\": \"xx\",\n \"DataId\": \"test0000000000001\",\n \"Label\": \"Normal\",\n \"SubLabel\": \"\",\n \"Name\": \"test_audio\",\n \"BizType\": \"test_biztype\",\n \"Suggestion\": \"Pass\",\n \"AsrText\": \"新年快乐,恭喜发财,身体健康,万事如意。\",\n \"TextResults\": [\n {\n \"Label\": \"Normal\",\n \"Score\": 0,\n \"Keywords\": 0,\n \"Suggestion\": \"Pass\",\n \"LibId\": \"\",\n \"LibType\": 0,\n \"LibName\": \"\",\n \"SubLabel\": \"\"\n }\n ],\n \"MoanResults\": [],\n \"LanguageResults\": [],\n \"SpeakerResults\": [],\n \"RecognitionResults\": [],\n \"Duration\": \"15000\"\n }\n}",
15
+ "output": "{\n \"Response\": {\n \"RequestId\": \"24235235-sfsddgsdg-242532-test\",\n \"DataId\": \"test0000000000001\",\n \"Label\": \"Normal\",\n \"SubLabel\": \"\",\n \"Name\": \"test_audio\",\n \"BizType\": \"test_biztype\",\n \"Suggestion\": \"Pass\",\n \"AsrText\": \"新年快乐,恭喜发财,身体健康,万事如意。\",\n \"TextResults\": [\n {\n \"Label\": \"Normal\",\n \"Score\": 0,\n \"Keywords\": [],\n \"Suggestion\": \"Pass\",\n \"LibId\": \"\",\n \"LibType\": 0,\n \"LibName\": \"\",\n \"SubLabel\": \"\"\n }\n ],\n \"MoanResults\": [],\n \"LanguageResults\": [],\n \"SpeakerResults\": [],\n \"RecognitionResults\": [],\n \"Duration\": \"15000\"\n }\n}",
16
16
  "title": "音频同步接口返回示例"
17
17
  }
18
18
  ],
@@ -34,7 +34,7 @@
34
34
  {
35
35
  "document": "在创建任务后,可以通过TaskId查看任务详情",
36
36
  "input": "POST / HTTP/1.1\nHost: ams.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: DescribeTaskDetail\n<公共请求参数>\n\n{\n \"TaskId\": \"task-video-XwxJtbkKXWgCt8AZ\"\n}",
37
- "output": "{\n \"Response\": {\n \"TaskId\": \"w-audio-X_Qnzci_GulDQ01r\",\n \"DataId\": \"\",\n \"BizType\": \"202012161\",\n \"Name\": \"\",\n \"Status\": \"FINISH\",\n \"Type\": \"AUDIO\",\n \"Suggestion\": \"Review\",\n \"Labels\": [\n {\n \"Label\": \"Abuse\",\n \"Suggestion\": \"Review\",\n \"Score\": 0,\n \"SubLabel\": \"\"\n }\n ],\n \"InputInfo\": {\n \"Type\": \"URL\",\n \"Url\": \"https://test.cos.ap-guangzhou.myqcloud.com/porn5.mp3\"\n },\n \"AudioText\": \"音频文本\",\n \"AudioSegments\": [\n {\n \"Result\": {\n \"HitFlag\": 0,\n \"Url\": \"https://cos.ap-guangzhou.myqcloud.com/0.mp3\",\n \"Suggestion\": \"Pass\",\n \"Label\": \"Normal\",\n \"Text\": \"\",\n \"TextResults\": [],\n \"MoanResults\": [],\n \"LanguageResults\": [],\n \"Duration\": \"60000\",\n \"Score\": 0,\n \"Extra\": \"\",\n \"SubLabel\": \"\"\n },\n \"OffsetTime\": \"0\"\n }\n ],\n \"ErrorType\": \"\",\n \"ErrorDescription\": \"\",\n \"CreatedAt\": \"2021-01-05T08:48:13.069Z\",\n \"UpdatedAt\": \"2021-01-05T08:49:31.421Z\",\n \"RequestId\": \"34785328532523\",\n \"Label\": \"Abuse\"\n }\n}",
37
+ "output": "{\n \"Response\": {\n \"TaskId\": \"abc\",\n \"DataId\": \"abc\",\n \"BizType\": \"abc\",\n \"Name\": \"abc\",\n \"Status\": \"abc\",\n \"Type\": \"abc\",\n \"Suggestion\": \"abc\",\n \"Labels\": [\n {\n \"Label\": \"abc\",\n \"Suggestion\": \"abc\",\n \"Score\": 0,\n \"SubLabel\": \"abc\"\n }\n ],\n \"InputInfo\": {\n \"Type\": \"abc\",\n \"Url\": \"abc\",\n \"BucketInfo\": {\n \"Bucket\": \"abc\",\n \"Region\": \"abc\",\n \"Object\": \"abc\"\n }\n },\n \"AudioText\": \"abc\",\n \"AudioSegments\": [\n {\n \"OffsetTime\": \"abc\",\n \"Result\": {\n \"HitFlag\": 0,\n \"Label\": \"abc\",\n \"Suggestion\": \"abc\",\n \"Score\": 0,\n \"Text\": \"abc\",\n \"Url\": \"abc\",\n \"Duration\": \"abc\",\n \"Extra\": \"abc\",\n \"TextResults\": [\n {\n \"Label\": \"abc\",\n \"Keywords\": [\n \"abc\"\n ],\n \"LibId\": \"abc\",\n \"LibName\": \"abc\",\n \"Score\": 0,\n \"Suggestion\": \"abc\",\n \"LibType\": 0,\n \"SubLabel\": \"abc\"\n }\n ],\n \"MoanResults\": [\n {\n \"Label\": \"abc\",\n \"Score\": 0,\n \"StartTime\": 0,\n \"EndTime\": 0,\n \"SubLabelCode\": \"abc\",\n \"SubLabel\": \"abc\",\n \"Suggestion\": \"abc\"\n }\n ],\n \"LanguageResults\": [\n {\n \"Label\": \"abc\",\n \"Score\": 0,\n \"StartTime\": 0,\n \"EndTime\": 0,\n \"SubLabelCode\": \"abc\"\n }\n ],\n \"SubLabel\": \"abc\",\n \"RecognitionResults\": [\n {\n \"Label\": \"abc\",\n \"Tags\": [\n {\n \"Name\": \"abc\",\n \"Score\": 0,\n \"StartTime\": 0,\n \"EndTime\": 0\n }\n ]\n }\n ]\n }\n }\n ],\n \"ErrorType\": \"abc\",\n \"ErrorDescription\": \"abc\",\n \"CreatedAt\": \"abc\",\n \"UpdatedAt\": \"abc\",\n \"Label\": \"abc\",\n \"RequestId\": \"abc\"\n }\n}",
38
38
  "title": "查看任务详情"
39
39
  }
40
40
  ],
@@ -42,7 +42,7 @@
42
42
  {
43
43
  "document": "查看审核任务列表",
44
44
  "input": "POST / HTTP/1.1\nHost: ams.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: DescribeTasks\n<公共请求参数>\n\n{\n \"Filter\": {\n \"Type\": \"AUDIO\"\n }\n}",
45
- "output": "{\n \"Response\": {\n \"Total\": \"1\",\n \"Data\": [\n {\n \"TaskId\": \"task-video-XwxJtbkKXWgCt8AZ\",\n \"DataId\": \"data_test_01\",\n \"BizType\": \"1001\",\n \"Name\": \"测试视频\",\n \"Status\": \"FINISH\",\n \"Type\": \"VIDEO\",\n \"Suggestion\": \"Block\",\n \"Labels\": [\n {\n \"Label\": \"Porn\",\n \"Suggestion\": \"Block\",\n \"Score\": 99\n },\n {\n \"Label\": \"Hot\",\n \"Suggestion\": \"Block\",\n \"Score\": 70\n }\n ],\n \"MediaInfo\": {\n \"Codecs\": \"h264 aac\",\n \"Duration\": 36,\n \"Width\": 352,\n \"Height\": 640\n },\n \"CreatedAt\": \"2020-07-13T11:47:01.925Z\",\n \"UpdatedAt\": \"2020-07-13T11:47:25.840Z\"\n }\n ],\n \"PageToken\": \"4765-48dXwxJtbkKXW8d3eb\",\n \"RequestId\": \"8d3e4765-48db-40b5-8fdb-aaf1d7225a60\"\n }\n}",
45
+ "output": "{\n \"Response\": {\n \"Total\": \"abc\",\n \"Data\": [\n {\n \"DataId\": \"abc\",\n \"TaskId\": \"abc\",\n \"Status\": \"abc\",\n \"Name\": \"abc\",\n \"BizType\": \"abc\",\n \"Type\": \"abc\",\n \"Suggestion\": \"abc\",\n \"MediaInfo\": {\n \"Codecs\": \"abc\",\n \"Duration\": 0,\n \"Width\": 0,\n \"Height\": 0,\n \"Thumbnail\": \"abc\"\n },\n \"Labels\": [\n {\n \"Label\": \"abc\",\n \"Suggestion\": \"abc\",\n \"Score\": 0,\n \"SubLabel\": \"abc\"\n }\n ],\n \"CreatedAt\": \"abc\",\n \"UpdatedAt\": \"abc\"\n }\n ],\n \"PageToken\": \"abc\",\n \"RequestId\": \"abc\"\n }\n}",
46
46
  "title": "查看审核任务列表"
47
47
  }
48
48
  ]
@@ -932,7 +932,7 @@
932
932
  },
933
933
  {
934
934
  "disabled": false,
935
- "document": "page表示嵌出页面,panel表嵌出整个看板",
935
+ "document": "page表示嵌出页面,panel表示嵌出整个看板",
936
936
  "example": "1",
937
937
  "member": "string",
938
938
  "name": "Scope",
@@ -202,6 +202,15 @@
202
202
  "name": "NodeIpType",
203
203
  "required": false,
204
204
  "type": "int"
205
+ },
206
+ {
207
+ "disabled": false,
208
+ "document": "供应商子账户同步标志",
209
+ "example": "无",
210
+ "member": "int64",
211
+ "name": "SubSyncFlag",
212
+ "required": false,
213
+ "type": "int"
205
214
  }
206
215
  ],
207
216
  "type": "object"
@@ -2440,7 +2440,7 @@
2440
2440
  },
2441
2441
  {
2442
2442
  "disabled": false,
2443
- "document": "待删除客服邮箱列表",
2443
+ "document": "待删除客服邮箱列表,一次最大支持200个。",
2444
2444
  "example": "[\"a\",\"b\",\"c\"]",
2445
2445
  "member": "string",
2446
2446
  "name": "StaffList",
@@ -4599,7 +4599,7 @@
4599
4599
  "members": [
4600
4600
  {
4601
4601
  "disabled": false,
4602
- "document": "起始时间戳,Unix 秒级时间戳",
4602
+ "document": "起始时间戳,Unix 秒级时间戳,最大支持近180天。",
4603
4603
  "example": "1611631881",
4604
4604
  "member": "int64",
4605
4605
  "name": "StartTimeStamp",
@@ -4608,7 +4608,7 @@
4608
4608
  },
4609
4609
  {
4610
4610
  "disabled": false,
4611
- "document": "结束时间戳,Unix 秒级时间戳",
4611
+ "document": "结束时间戳,Unix 秒级时间戳,结束时间与开始时间的区间范围小于90天。",
4612
4612
  "example": "1611631881",
4613
4613
  "member": "int64",
4614
4614
  "name": "EndTimeStamp",
@@ -5304,7 +5304,7 @@
5304
5304
  },
5305
5305
  {
5306
5306
  "disabled": false,
5307
- "document": "克隆实例类型。支持值包括: \"UNIVERSAL\" - 通用型实例, \"EXCLUSIVE\" - 独享型实例。 不指定则默认为通用型。",
5307
+ "document": "克隆实例类型。支持值包括:\"UNIVERSAL\" - 通用型实例,\"EXCLUSIVE\" - 独享型实例,\"CLOUD_NATIVE_CLUSTER\" - 集群版标准型,\"CLOUD_NATIVE_CLUSTER_EXCLUSIVE\" - 集群版加强型。不指定则默认为通用型。",
5308
5308
  "example": "UNIVERSAL",
5309
5309
  "member": "string",
5310
5310
  "name": "DeviceType",
@@ -5373,6 +5373,15 @@
5373
5373
  "name": "Period",
5374
5374
  "required": false,
5375
5375
  "type": "int"
5376
+ },
5377
+ {
5378
+ "disabled": false,
5379
+ "document": "集群版节点拓扑配置。",
5380
+ "example": "无",
5381
+ "member": "ClusterTopology",
5382
+ "name": "ClusterTopology",
5383
+ "required": false,
5384
+ "type": "object"
5376
5385
  }
5377
5386
  ],
5378
5387
  "type": "object"
@@ -5711,7 +5720,7 @@
5711
5720
  },
5712
5721
  {
5713
5722
  "disabled": false,
5714
- "document": "实例隔离类型。支持值包括: \"UNIVERSAL\" - 通用型实例, \"EXCLUSIVE\" - 独享型实例, \"BASIC_V2\" - ONTKE单节点实例。 不指定则默认为通用型实例。",
5723
+ "document": "实例隔离类型。支持值包括:\"UNIVERSAL\" - 通用型实例,\"EXCLUSIVE\" - 独享型实例,\"BASIC_V2\" - ONTKE 单节点实例,\"CLOUD_NATIVE_CLUSTER\" - 集群版标准型,\"CLOUD_NATIVE_CLUSTER_EXCLUSIVE\" - 集群版加强型。不指定则默认为通用型实例。",
5715
5724
  "example": "UNIVERSAL",
5716
5725
  "member": "string",
5717
5726
  "name": "DeviceType",
@@ -5816,6 +5825,15 @@
5816
5825
  "name": "Vips",
5817
5826
  "required": false,
5818
5827
  "type": "list"
5828
+ },
5829
+ {
5830
+ "disabled": false,
5831
+ "document": "集群版节点拓扑配置。",
5832
+ "example": "无",
5833
+ "member": "ClusterTopology",
5834
+ "name": "ClusterTopology",
5835
+ "required": false,
5836
+ "type": "object"
5819
5837
  }
5820
5838
  ],
5821
5839
  "type": "object"
@@ -6091,7 +6109,7 @@
6091
6109
  },
6092
6110
  {
6093
6111
  "disabled": false,
6094
- "document": "实例隔离类型。支持值包括: \"UNIVERSAL\" - 通用型实例, \"EXCLUSIVE\" - 独享型实例, \"BASIC_V2\" - ONTKE单节点实例。 不指定则默认为通用型实例。",
6112
+ "document": "实例隔离类型。支持值包括:\"UNIVERSAL\" - 通用型实例,\"EXCLUSIVE\" - 独享型实例,\"BASIC_V2\" - ONTKE 单节点实例,\"CLOUD_NATIVE_CLUSTER\" - 集群版标准型,\"CLOUD_NATIVE_CLUSTER_EXCLUSIVE\" - 集群版加强型。不指定则默认为通用型实例。",
6095
6113
  "example": "UNIVERSAL",
6096
6114
  "member": "string",
6097
6115
  "name": "DeviceType",
@@ -6196,6 +6214,15 @@
6196
6214
  "name": "Vips",
6197
6215
  "required": false,
6198
6216
  "type": "list"
6217
+ },
6218
+ {
6219
+ "disabled": false,
6220
+ "document": "集群版节点拓扑配置。",
6221
+ "example": "无",
6222
+ "member": "ClusterTopology",
6223
+ "name": "ClusterTopology",
6224
+ "required": false,
6225
+ "type": "object"
6199
6226
  }
6200
6227
  ],
6201
6228
  "type": "object"
@@ -8635,6 +8635,16 @@
8635
8635
  "output_required": true,
8636
8636
  "type": "object",
8637
8637
  "value_allowed_null": true
8638
+ },
8639
+ {
8640
+ "disabled": false,
8641
+ "document": "参数黑名单\n注意:此字段可能返回 null,表示取不到有效值。",
8642
+ "example": "无",
8643
+ "member": "ParamFilter",
8644
+ "name": "ParamFilter",
8645
+ "output_required": true,
8646
+ "type": "object",
8647
+ "value_allowed_null": true
8638
8648
  }
8639
8649
  ],
8640
8650
  "usage": "out"
@@ -13319,6 +13329,73 @@
13319
13329
  ],
13320
13330
  "usage": "both"
13321
13331
  },
13332
+ "ParamFilter": {
13333
+ "document": "参数黑名单",
13334
+ "members": [
13335
+ {
13336
+ "disabled": false,
13337
+ "document": " 参数黑名单开关\n注意:此字段可能返回 null,表示取不到有效值。",
13338
+ "example": "off",
13339
+ "member": "string",
13340
+ "name": "Switch",
13341
+ "output_required": true,
13342
+ "required": true,
13343
+ "type": "string",
13344
+ "value_allowed_null": true
13345
+ },
13346
+ {
13347
+ "disabled": false,
13348
+ "document": "参数黑名单规则\n注意:此字段可能返回 null,表示取不到有效值。",
13349
+ "example": "[]",
13350
+ "member": "ParamFilterRule",
13351
+ "name": "FilterRules",
13352
+ "output_required": true,
13353
+ "required": false,
13354
+ "type": "list",
13355
+ "value_allowed_null": true
13356
+ }
13357
+ ],
13358
+ "usage": "both"
13359
+ },
13360
+ "ParamFilterRule": {
13361
+ "document": "参数黑名单规则",
13362
+ "members": [
13363
+ {
13364
+ "disabled": false,
13365
+ "document": "参数名\n注意:此字段可能返回 null,表示取不到有效值。",
13366
+ "example": "exampleParam",
13367
+ "member": "string",
13368
+ "name": "Key",
13369
+ "output_required": true,
13370
+ "required": true,
13371
+ "type": "string",
13372
+ "value_allowed_null": true
13373
+ },
13374
+ {
13375
+ "disabled": false,
13376
+ "document": "参数值数组, 小于10个\n注意:此字段可能返回 null,表示取不到有效值。",
13377
+ "example": "['blacklistValue1', 'blacklistValue2']",
13378
+ "member": "string",
13379
+ "name": "Values",
13380
+ "output_required": true,
13381
+ "required": true,
13382
+ "type": "list",
13383
+ "value_allowed_null": true
13384
+ },
13385
+ {
13386
+ "disabled": false,
13387
+ "document": "http 返回码 ( 暂仅支持403)\n注意:此字段可能返回 null,表示取不到有效值。",
13388
+ "example": "403",
13389
+ "member": "string",
13390
+ "name": "ReturnCode",
13391
+ "output_required": true,
13392
+ "required": false,
13393
+ "type": "string",
13394
+ "value_allowed_null": true
13395
+ }
13396
+ ],
13397
+ "usage": "both"
13398
+ },
13322
13399
  "PathBasedOriginRule": {
13323
13400
  "document": "分路径回源规则",
13324
13401
  "members": [
@@ -17379,6 +17456,15 @@
17379
17456
  "name": "HttpsBilling",
17380
17457
  "required": false,
17381
17458
  "type": "object"
17459
+ },
17460
+ {
17461
+ "disabled": false,
17462
+ "document": "参数黑名单",
17463
+ "example": "无",
17464
+ "member": "ParamFilter",
17465
+ "name": "ParamFilter",
17466
+ "required": false,
17467
+ "type": "object"
17382
17468
  }
17383
17469
  ],
17384
17470
  "type": "object"
@@ -1369,6 +1369,58 @@ def doDescribeBlockByIpTimesList(args, parsed_globals):
1369
1369
  FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
1370
1370
 
1371
1371
 
1372
+ def doDescribeNatFwDnatRule(args, parsed_globals):
1373
+ g_param = parse_global_arg(parsed_globals)
1374
+
1375
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
1376
+ cred = credential.CVMRoleCredential()
1377
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
1378
+ cred = credential.STSAssumeRoleCredential(
1379
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
1380
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
1381
+ )
1382
+ 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):
1383
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
1384
+ else:
1385
+ cred = credential.Credential(
1386
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
1387
+ )
1388
+ http_profile = HttpProfile(
1389
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
1390
+ reqMethod="POST",
1391
+ endpoint=g_param[OptionsDefine.Endpoint],
1392
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
1393
+ )
1394
+ profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
1395
+ if g_param[OptionsDefine.Language]:
1396
+ profile.language = g_param[OptionsDefine.Language]
1397
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
1398
+ client = mod.CfwClient(cred, g_param[OptionsDefine.Region], profile)
1399
+ client._sdkVersion += ("_CLI_" + __version__)
1400
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
1401
+ model = models.DescribeNatFwDnatRuleRequest()
1402
+ model.from_json_string(json.dumps(args))
1403
+ start_time = time.time()
1404
+ while True:
1405
+ rsp = client.DescribeNatFwDnatRule(model)
1406
+ result = rsp.to_json_string()
1407
+ try:
1408
+ json_obj = json.loads(result)
1409
+ except TypeError as e:
1410
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
1411
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
1412
+ break
1413
+ cur_time = time.time()
1414
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
1415
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
1416
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
1417
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
1418
+ else:
1419
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
1420
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
1421
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
1422
+
1423
+
1372
1424
  def doDescribeEnterpriseSGRuleProgress(args, parsed_globals):
1373
1425
  g_param = parse_global_arg(parsed_globals)
1374
1426
 
@@ -5930,6 +5982,7 @@ ACTION_MAP = {
5930
5982
  "ModifyBlockIgnoreRuleNew": doModifyBlockIgnoreRuleNew,
5931
5983
  "ModifyEdgeIpSwitch": doModifyEdgeIpSwitch,
5932
5984
  "DescribeBlockByIpTimesList": doDescribeBlockByIpTimesList,
5985
+ "DescribeNatFwDnatRule": doDescribeNatFwDnatRule,
5933
5986
  "DescribeEnterpriseSGRuleProgress": doDescribeEnterpriseSGRuleProgress,
5934
5987
  "DescribeNatFwInfoCount": doDescribeNatFwInfoCount,
5935
5988
  "DescribeNatFwVpcDnsLst": doDescribeNatFwVpcDnsLst,