tccli 3.0.1115.1__py2.py3-none-any.whl → 3.0.1117.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 (44) hide show
  1. tccli/__init__.py +1 -1
  2. tccli/services/aiart/v20221229/examples.json +1 -1
  3. tccli/services/cat/v20180409/api.json +1 -1
  4. tccli/services/cat/v20180409/examples.json +2 -2
  5. tccli/services/ccc/v20200210/api.json +2 -2
  6. tccli/services/ckafka/v20190819/api.json +20 -0
  7. tccli/services/dasb/v20191018/api.json +55 -1
  8. tccli/services/dasb/v20191018/examples.json +1 -1
  9. tccli/services/domain/domain_client.py +871 -129
  10. tccli/services/domain/v20180808/api.json +1502 -146
  11. tccli/services/domain/v20180808/examples.json +112 -0
  12. tccli/services/dts/v20211206/api.json +2 -2
  13. tccli/services/ess/v20201111/api.json +13 -13
  14. tccli/services/essbasic/v20210526/api.json +15 -15
  15. tccli/services/gs/v20191118/api.json +11 -8
  16. tccli/services/hai/v20230812/examples.json +1 -1
  17. tccli/services/ims/v20201229/api.json +2 -2
  18. tccli/services/lighthouse/v20200324/api.json +36 -36
  19. tccli/services/live/v20180801/api.json +19 -0
  20. tccli/services/mna/mna_client.py +110 -4
  21. tccli/services/mna/v20210119/api.json +182 -0
  22. tccli/services/mna/v20210119/examples.json +16 -0
  23. tccli/services/ocr/v20181119/api.json +60 -0
  24. tccli/services/ocr/v20181119/examples.json +1 -1
  25. tccli/services/postgres/v20170312/api.json +1 -0
  26. tccli/services/postgres/v20170312/examples.json +10 -4
  27. tccli/services/rum/v20210622/api.json +6 -6
  28. tccli/services/rum/v20210622/examples.json +2 -2
  29. tccli/services/ssl/v20191205/api.json +1 -1
  30. tccli/services/ssl/v20191205/examples.json +1 -1
  31. tccli/services/tdmq/v20200217/api.json +15 -5
  32. tccli/services/tdmq/v20200217/examples.json +3 -3
  33. tccli/services/teo/v20220901/api.json +2 -2
  34. tccli/services/tmt/v20180321/api.json +3 -3
  35. tccli/services/trocket/v20230308/api.json +15 -15
  36. tccli/services/trocket/v20230308/examples.json +2 -2
  37. tccli/services/trtc/v20190722/api.json +2 -2
  38. tccli/services/wedata/v20210820/api.json +132 -14
  39. tccli/services/wedata/v20210820/examples.json +7 -7
  40. {tccli-3.0.1115.1.dist-info → tccli-3.0.1117.1.dist-info}/METADATA +2 -2
  41. {tccli-3.0.1115.1.dist-info → tccli-3.0.1117.1.dist-info}/RECORD +44 -44
  42. {tccli-3.0.1115.1.dist-info → tccli-3.0.1117.1.dist-info}/WHEEL +0 -0
  43. {tccli-3.0.1115.1.dist-info → tccli-3.0.1117.1.dist-info}/entry_points.txt +0 -0
  44. {tccli-3.0.1115.1.dist-info → tccli-3.0.1117.1.dist-info}/license_files/LICENSE +0 -0
@@ -258,7 +258,7 @@
258
258
  },
259
259
  {
260
260
  "disabled": false,
261
- "document": "**GIF/长图检测专用**,用于表示GIF截帧频率(每隔多少张图片抽取一帧进行检测),长图则按照长边:短边取整计算要切割的总图数;默认值为0,此时只会检测GIF的第一帧或对长图不进行切分处理。<br>备注:Interval与MaxFrames参数需要组合使用。例如,Interval=3, MaxFrames=400,则代表在检测GIF/长图时,将每间隔2帧检测一次且最多检测400帧。",
261
+ "document": "**GIF检测专用**,用于表示GIF截帧频率(每隔多少张图片抽取一帧进行检测);默认值为0,此时只会检测GIF的第一帧或不进行切分处理。<br>备注:Interval与MaxFrames参数需要组合使用。例如,Interval=3, MaxFrames=400,则代表在检测GIF时,将每间隔2帧检测一次且最多检测400帧。",
262
262
  "example": "1",
263
263
  "member": "int64",
264
264
  "name": "Interval",
@@ -267,7 +267,7 @@
267
267
  },
268
268
  {
269
269
  "disabled": false,
270
- "document": "**GIF/长图检测专用**,用于标识最大截帧数量;默认值为1,此时只会检测输入GIF的第一帧或对长图不进行切分处理(可能会造成处理超时)。<br>备注:Interval与MaxFrames参数需要组合使用。例如,Interval=3, MaxFrames=400,则代表在检测GIF/长图时,将每间隔2帧检测一次且最多检测400帧。",
270
+ "document": "**GIF检测专用**,用于标识最大截帧数量;默认值为1,此时只会检测输入GIF的第一帧不进行切分处理(可能会造成处理超时)。<br>备注:Interval与MaxFrames参数需要组合使用。例如,Interval=3, MaxFrames=400,则代表在检测GIF时,将每间隔2帧检测一次且最多检测400帧。",
271
271
  "example": "1",
272
272
  "member": "int64",
273
273
  "name": "MaxFrames",
@@ -894,8 +894,8 @@
894
894
  "members": [
895
895
  {
896
896
  "disabled": false,
897
- "document": "密钥对 ID 列表。每次请求批量密钥对的上限为 100",
898
- "example": "[\"lhkp-f7rjie1q\\n\"]",
897
+ "document": "密钥对 ID 列表,每次请求批量密钥对的上限为 100。可通过[DescribeKeyPairs](https://cloud.tencent.com/document/api/1207/55540)接口返回值中的KeyId获取。",
898
+ "example": "[\"lhkp-f7rjie1q\"]",
899
899
  "member": "string",
900
900
  "name": "KeyIds",
901
901
  "required": true,
@@ -904,7 +904,7 @@
904
904
  {
905
905
  "disabled": false,
906
906
  "document": "实例 ID 列表。每次请求批量实例的上限为 100。可通过[DescribeInstances](https://cloud.tencent.com/document/api/1207/47573)接口返回值中的InstanceId获取。",
907
- "example": "[\"lhins-ruy9d2tw\\n\"]",
907
+ "example": "[\"lhins-ruy9d2tw\"]",
908
908
  "member": "string",
909
909
  "name": "InstanceIds",
910
910
  "required": true,
@@ -930,7 +930,7 @@
930
930
  "members": [
931
931
  {
932
932
  "disabled": false,
933
- "document": "云联网实例ID",
933
+ "document": "云联网实例ID。可通过[DescribeCcnAttachedInstances](https://cloud.tencent.com/document/product/1207/58797)接口返回值中的CcnId获取。",
934
934
  "example": "ccn-f49l6u0z",
935
935
  "member": "string",
936
936
  "name": "CcnId",
@@ -993,7 +993,7 @@
993
993
  "members": [
994
994
  {
995
995
  "disabled": false,
996
- "document": "云硬盘ID列表。",
996
+ "document": "云硬盘ID列表。每次批量请求云硬盘的上限为 100。可通过[DescribeDisks](https://cloud.tencent.com/document/product/1207/66093)接口返回值中的DiskId获取。",
997
997
  "example": "[\"lhdisk-5vmz00i3\"]",
998
998
  "member": "string",
999
999
  "name": "DiskIds",
@@ -1002,7 +1002,7 @@
1002
1002
  },
1003
1003
  {
1004
1004
  "disabled": false,
1005
- "document": "实例ID",
1005
+ "document": "实例ID。可通过[DescribeInstances](https://cloud.tencent.com/document/product/1207/47573)接口返回值中的InstanceId获取。",
1006
1006
  "example": "lhins-qg08np8l",
1007
1007
  "member": "string",
1008
1008
  "name": "InstanceId",
@@ -2507,8 +2507,8 @@
2507
2507
  "members": [
2508
2508
  {
2509
2509
  "disabled": false,
2510
- "document": "密钥对 ID 列表,每次请求批量密钥对的上限为 10",
2511
- "example": "[\"lhkp-1234abcd\\r\\n\"]",
2510
+ "document": "密钥对 ID 列表,每次请求批量密钥对的上限为 10。可通过[DescribeKeyPairs](https://cloud.tencent.com/document/api/1207/55540)接口返回值中的KeyId获取。",
2511
+ "example": "[\"lhkp-1234abcd\"]",
2512
2512
  "member": "string",
2513
2513
  "name": "KeyIds",
2514
2514
  "required": true,
@@ -3149,7 +3149,7 @@
3149
3149
  "members": [
3150
3150
  {
3151
3151
  "disabled": false,
3152
- "document": "云硬盘ID列表。",
3152
+ "document": "云硬盘ID列表。每次批量请求云硬盘的上限为 100。可通过[DescribeDisks](https://cloud.tencent.com/document/product/1207/66093)接口返回值中的DiskId获取。",
3153
3153
  "example": "[\"lhdisk-eobj8huv\"]",
3154
3154
  "member": "string",
3155
3155
  "name": "DiskIds",
@@ -3168,7 +3168,7 @@
3168
3168
  "example": "无",
3169
3169
  "member": "DiskDeniedActions",
3170
3170
  "name": "DiskDeniedActionSet",
3171
- "required": true,
3171
+ "output_required": true,
3172
3172
  "type": "list",
3173
3173
  "value_allowed_null": false
3174
3174
  },
@@ -3186,7 +3186,7 @@
3186
3186
  "members": [
3187
3187
  {
3188
3188
  "disabled": false,
3189
- "document": "云硬盘ID列表。",
3189
+ "document": "云硬盘ID列表。每次批量请求云硬盘的上限为 100。",
3190
3190
  "example": "[\"lhdisk-p1zflrif\"]",
3191
3191
  "member": "string",
3192
3192
  "name": "DiskIds",
@@ -3278,7 +3278,7 @@
3278
3278
  "members": [
3279
3279
  {
3280
3280
  "disabled": false,
3281
- "document": "云硬盘ID列表。",
3281
+ "document": "云硬盘ID列表。每次批量请求云硬盘的上限为 10。可通过[DescribeDisks](https://cloud.tencent.com/document/product/1207/66093)接口返回值中的DiskId获取。",
3282
3282
  "example": "[\"lhdisk-eobj8huv\"]",
3283
3283
  "member": "string",
3284
3284
  "name": "DiskIds",
@@ -3315,7 +3315,7 @@
3315
3315
  "example": "无",
3316
3316
  "member": "DiskReturnable",
3317
3317
  "name": "DiskReturnableSet",
3318
- "required": true,
3318
+ "output_required": true,
3319
3319
  "type": "list",
3320
3320
  "value_allowed_null": false
3321
3321
  },
@@ -3325,7 +3325,7 @@
3325
3325
  "example": "1",
3326
3326
  "member": "int64",
3327
3327
  "name": "TotalCount",
3328
- "required": true,
3328
+ "output_required": true,
3329
3329
  "type": "int",
3330
3330
  "value_allowed_null": false
3331
3331
  },
@@ -4194,7 +4194,7 @@
4194
4194
  "members": [
4195
4195
  {
4196
4196
  "disabled": false,
4197
- "document": "实例 ID 列表。每次请求批量实例的上限为 100",
4197
+ "document": "实例 ID 列表。每次请求批量实例的上限为 100。可通过[DescribeInstances](https://cloud.tencent.com/document/api/1207/47573)接口返回值中的InstanceId获取。",
4198
4198
  "example": "[\"lhins-4r4pvtbg\"]",
4199
4199
  "member": "string",
4200
4200
  "name": "InstanceIds",
@@ -4398,8 +4398,8 @@
4398
4398
  "members": [
4399
4399
  {
4400
4400
  "disabled": false,
4401
- "document": "密钥对 ID 列表。",
4402
- "example": "[\"lhkp-omd12oc1\\r\\n\"]",
4401
+ "document": "密钥对 ID 列表,每次请求批量密钥对的上限为 100。",
4402
+ "example": "[\"lhkp-omd12oc1\"]",
4403
4403
  "member": "string",
4404
4404
  "name": "KeyIds",
4405
4405
  "required": false,
@@ -4444,7 +4444,7 @@
4444
4444
  "example": "1",
4445
4445
  "member": "int64",
4446
4446
  "name": "TotalCount",
4447
- "required": true,
4447
+ "output_required": true,
4448
4448
  "type": "int",
4449
4449
  "value_allowed_null": false
4450
4450
  },
@@ -4454,7 +4454,7 @@
4454
4454
  "example": "无",
4455
4455
  "member": "KeyPair",
4456
4456
  "name": "KeyPairSet",
4457
- "required": true,
4457
+ "output_required": true,
4458
4458
  "type": "list",
4459
4459
  "value_allowed_null": false
4460
4460
  },
@@ -4889,7 +4889,7 @@
4889
4889
  "members": [
4890
4890
  {
4891
4891
  "disabled": false,
4892
- "document": "云联网实例ID",
4892
+ "document": "云联网实例ID。可通过[DescribeCcnAttachedInstances](https://cloud.tencent.com/document/product/1207/58797)接口返回值中的CcnId获取。",
4893
4893
  "example": "ccn-f49l6u0z",
4894
4894
  "member": "string",
4895
4895
  "name": "CcnId",
@@ -4916,7 +4916,7 @@
4916
4916
  "members": [
4917
4917
  {
4918
4918
  "disabled": false,
4919
- "document": "云硬盘ID列表。",
4919
+ "document": "云硬盘ID列表。每次批量请求云硬盘的上限为 100。可通过[DescribeDisks](https://cloud.tencent.com/document/product/1207/66093)接口返回值中的DiskId获取。",
4920
4920
  "example": "[\"lhdisk-eobj8huv\"]",
4921
4921
  "member": "string",
4922
4922
  "name": "DiskIds",
@@ -4999,8 +4999,8 @@
4999
4999
  "members": [
5000
5000
  {
5001
5001
  "disabled": false,
5002
- "document": "密钥对 ID 列表。每次请求批量密钥对的上限为 100",
5003
- "example": "[\"lhkp-f7rjie1q\\n\"]",
5002
+ "document": "密钥对 ID 列表,每次请求批量密钥对的上限为 100。可通过[DescribeKeyPairs](https://cloud.tencent.com/document/api/1207/55540)接口返回值中的KeyId获取。",
5003
+ "example": "[\"lhkp-f7rjie1q\"]",
5004
5004
  "member": "string",
5005
5005
  "name": "KeyIds",
5006
5006
  "required": true,
@@ -5009,7 +5009,7 @@
5009
5009
  {
5010
5010
  "disabled": false,
5011
5011
  "document": "实例 ID 列表。每次请求批量实例的上限为 100。可通过[DescribeInstances](https://cloud.tencent.com/document/api/1207/47573)接口返回值中的InstanceId获取。",
5012
- "example": "[\"lhins-ruy9d2tw\\n\"]",
5012
+ "example": "[\"lhins-ruy9d2tw\"]",
5013
5013
  "member": "string",
5014
5014
  "name": "InstanceIds",
5015
5015
  "required": true,
@@ -6641,7 +6641,7 @@
6641
6641
  "members": [
6642
6642
  {
6643
6643
  "disabled": false,
6644
- "document": "云硬盘ID列表。",
6644
+ "document": "云硬盘ID列表。每次批量请求云硬盘的上限为 1。可通过[DescribeDisks](https://cloud.tencent.com/document/product/1207/66093)接口返回值中的DiskId获取。",
6645
6645
  "example": "[\"lhdisk-eobj8huv\"]",
6646
6646
  "member": "string",
6647
6647
  "name": "DiskIds",
@@ -6669,7 +6669,7 @@
6669
6669
  "example": "无",
6670
6670
  "member": "DiskPrice",
6671
6671
  "name": "DiskPrice",
6672
- "required": true,
6672
+ "output_required": true,
6673
6673
  "type": "object",
6674
6674
  "value_allowed_null": false
6675
6675
  },
@@ -7656,7 +7656,7 @@
7656
7656
  "members": [
7657
7657
  {
7658
7658
  "disabled": false,
7659
- "document": "云硬盘ID列表。",
7659
+ "document": "云硬盘ID列表。每次批量请求云硬盘的上限为 100。可通过[DescribeDisks](https://cloud.tencent.com/document/product/1207/66093)接口返回值中的DiskId获取。",
7660
7660
  "example": "[\"lhdisk-p1zflrif\"]",
7661
7661
  "member": "string",
7662
7662
  "name": "DiskIds",
@@ -7728,7 +7728,7 @@
7728
7728
  "members": [
7729
7729
  {
7730
7730
  "disabled": false,
7731
- "document": "云硬盘ID列表。",
7731
+ "document": "云硬盘ID列表。每次批量请求云硬盘的上限为 100。可通过[DescribeDisks](https://cloud.tencent.com/document/product/1207/66093)接口返回值中的DiskId获取。",
7732
7732
  "example": "[\"lhdisk-eobj8huv\"]",
7733
7733
  "member": "string",
7734
7734
  "name": "DiskIds",
@@ -7737,7 +7737,7 @@
7737
7737
  },
7738
7738
  {
7739
7739
  "disabled": false,
7740
- "document": "自动续费标识。取值范围:<br><li>NOTIFY_AND_AUTO_RENEW:通知过期且自动续费<br><li>NOTIFY_AND_MANUAL_RENEW:通知过期不自动续费<br><li>DISABLE_NOTIFY_AND_MANUAL_RENEW:不通知过期不自动续费<br><br>若该参数指定为NOTIFY_AND_AUTO_RENEW,在账户余额充足的情况下,实例到期后将按月自动续费。",
7740
+ "document": "自动续费标识。取值范围:\n\n- NOTIFY_AND_AUTO_RENEW:通知过期且自动续费\n- NOTIFY_AND_MANUAL_RENEW:通知过期不自动续费\n- DISABLE_NOTIFY_AND_MANUAL_RENEW:不通知过期不自动续费\n\n若该参数指定为NOTIFY_AND_AUTO_RENEW,在账户余额充足的情况下,实例到期后将按月自动续费。",
7741
7741
  "example": "NOTIFY_AND_AUTO_RENEW",
7742
7742
  "member": "string",
7743
7743
  "name": "RenewFlag",
@@ -7982,7 +7982,7 @@
7982
7982
  {
7983
7983
  "disabled": false,
7984
7984
  "document": "实例 ID 列表。每次请求批量实例的上限为 100。可通过[DescribeInstances](https://cloud.tencent.com/document/api/1207/47573)接口返回值中的InstanceId获取。",
7985
- "example": "[\"lhins-ruy9d2tw\\n\",\"lhins-rusdke45\\n\"]",
7985
+ "example": "[\"lhins-ruy9d2tw\",\"lhins-rusdke45\"]",
7986
7986
  "member": "string",
7987
7987
  "name": "InstanceIds",
7988
7988
  "required": true,
@@ -8099,7 +8099,7 @@
8099
8099
  {
8100
8100
  "disabled": false,
8101
8101
  "document": "实例 ID 列表。每次请求批量实例的上限为 100。可通过[DescribeInstances](https://cloud.tencent.com/document/api/1207/47573)接口返回值中的InstanceId获取。",
8102
- "example": "[\"lhins-ruy9d2tw\\n\"]",
8102
+ "example": "[\"lhins-ruy9d2tw\"]",
8103
8103
  "member": "string",
8104
8104
  "name": "InstanceIds",
8105
8105
  "required": true,
@@ -8557,7 +8557,7 @@
8557
8557
  "members": [
8558
8558
  {
8559
8559
  "disabled": false,
8560
- "document": "防火墙模板ID",
8560
+ "document": "防火墙模板ID。可通过 [DescribeFirewallTemplates](https://cloud.tencent.com/document/product/1207/96874) 的返回值 TemplateSet 获取。",
8561
8561
  "example": "lhft-xxxxxxxx",
8562
8562
  "member": "string",
8563
8563
  "name": "TemplateId",
@@ -8566,7 +8566,7 @@
8566
8566
  },
8567
8567
  {
8568
8568
  "disabled": false,
8569
- "document": "防火墙模板规则ID",
8569
+ "document": "防火墙模板规则ID。可通过 [DescribeFirewallTemplateRules](https://cloud.tencent.com/document/product/1207/96875) 的返回值 TemplateRuleSet 获取。",
8570
8570
  "example": "lhftr-xxxxxxxxxx",
8571
8571
  "member": "string",
8572
8572
  "name": "TemplateRuleId",
@@ -8657,7 +8657,7 @@
8657
8657
  "members": [
8658
8658
  {
8659
8659
  "disabled": false,
8660
- "document": "云联网实例ID",
8660
+ "document": "云联网实例ID。可通过[DescribeCcnAttachedInstances](https://cloud.tencent.com/document/product/1207/58797)接口返回值中的CcnId获取。",
8661
8661
  "example": "ccn-f49l6u0z",
8662
8662
  "member": "string",
8663
8663
  "name": "CcnId",
@@ -9382,7 +9382,7 @@
9382
9382
  {
9383
9383
  "disabled": false,
9384
9384
  "document": "实例 ID 列表。每次请求批量实例的上限为 100。可通过[DescribeInstances](https://cloud.tencent.com/document/api/1207/47573)接口返回值中的InstanceId获取。",
9385
- "example": "[\"lhins-ruy9d2tw\\n\",\"lhins-rusdke45\\n\"]",
9385
+ "example": "[\"lhins-ruy9d2tw\",\"lhins-rusdke45\"]",
9386
9386
  "member": "string",
9387
9387
  "name": "InstanceIds",
9388
9388
  "required": true,
@@ -9455,7 +9455,7 @@
9455
9455
  {
9456
9456
  "disabled": false,
9457
9457
  "document": "实例 ID 列表。每次请求批量实例的上限为 100。可通过[DescribeInstances](https://cloud.tencent.com/document/api/1207/47573)接口返回值中的InstanceId获取。",
9458
- "example": "[\"lhins-ruy9d2tw\\n\",\"lhins-rusdke45\\n\"]",
9458
+ "example": "[\"lhins-ruy9d2tw\",\"lhins-rusdke45\"]",
9459
9459
  "member": "string",
9460
9460
  "name": "InstanceIds",
9461
9461
  "required": true,
@@ -3079,6 +3079,15 @@
3079
3079
  "name": "BackupToUrl",
3080
3080
  "required": false,
3081
3081
  "type": "string"
3082
+ },
3083
+ {
3084
+ "disabled": false,
3085
+ "document": "直播转码模板,使用云直播的转码功能进行转码后再转推出去。转码模板需在云直播控制台创建。",
3086
+ "example": "hevc720",
3087
+ "member": "string",
3088
+ "name": "TranscodeTemplateName",
3089
+ "required": false,
3090
+ "type": "string"
3082
3091
  }
3083
3092
  ],
3084
3093
  "type": "object"
@@ -14690,6 +14699,16 @@
14690
14699
  "output_required": true,
14691
14700
  "type": "string",
14692
14701
  "value_allowed_null": true
14702
+ },
14703
+ {
14704
+ "disabled": false,
14705
+ "document": "直播转码模板。\n注意:此字段可能返回 null,表示取不到有效值。",
14706
+ "example": "hevc760",
14707
+ "member": "string",
14708
+ "name": "TranscodeTemplateName",
14709
+ "output_required": false,
14710
+ "type": "string",
14711
+ "value_allowed_null": true
14693
14712
  }
14694
14713
  ],
14695
14714
  "usage": "out"
@@ -173,6 +173,58 @@ def doGetFlowStatistic(args, parsed_globals):
173
173
  FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
174
174
 
175
175
 
176
+ def doGetFlowStatisticByGroup(args, parsed_globals):
177
+ g_param = parse_global_arg(parsed_globals)
178
+
179
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
180
+ cred = credential.CVMRoleCredential()
181
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
182
+ cred = credential.STSAssumeRoleCredential(
183
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
184
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
185
+ )
186
+ 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):
187
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
188
+ else:
189
+ cred = credential.Credential(
190
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
191
+ )
192
+ http_profile = HttpProfile(
193
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
194
+ reqMethod="POST",
195
+ endpoint=g_param[OptionsDefine.Endpoint],
196
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
197
+ )
198
+ profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
199
+ if g_param[OptionsDefine.Language]:
200
+ profile.language = g_param[OptionsDefine.Language]
201
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
202
+ client = mod.MnaClient(cred, g_param[OptionsDefine.Region], profile)
203
+ client._sdkVersion += ("_CLI_" + __version__)
204
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
205
+ model = models.GetFlowStatisticByGroupRequest()
206
+ model.from_json_string(json.dumps(args))
207
+ start_time = time.time()
208
+ while True:
209
+ rsp = client.GetFlowStatisticByGroup(model)
210
+ result = rsp.to_json_string()
211
+ try:
212
+ json_obj = json.loads(result)
213
+ except TypeError as e:
214
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
215
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
216
+ break
217
+ cur_time = time.time()
218
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
219
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
220
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
221
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
222
+ else:
223
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
224
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
225
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
226
+
227
+
176
228
  def doGetMultiFlowStatistic(args, parsed_globals):
177
229
  g_param = parse_global_arg(parsed_globals)
178
230
 
@@ -485,6 +537,58 @@ def doAddHardware(args, parsed_globals):
485
537
  FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
486
538
 
487
539
 
540
+ def doGetDevice(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.MnaClient(cred, g_param[OptionsDefine.Region], profile)
567
+ client._sdkVersion += ("_CLI_" + __version__)
568
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
569
+ model = models.GetDeviceRequest()
570
+ model.from_json_string(json.dumps(args))
571
+ start_time = time.time()
572
+ while True:
573
+ rsp = client.GetDevice(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
+
488
592
  def doCreateQos(args, parsed_globals):
489
593
  g_param = parse_global_arg(parsed_globals)
490
594
 
@@ -901,7 +1005,7 @@ def doDeleteQos(args, parsed_globals):
901
1005
  FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
902
1006
 
903
1007
 
904
- def doGetDevice(args, parsed_globals):
1008
+ def doGetFlowAlarmInfo(args, parsed_globals):
905
1009
  g_param = parse_global_arg(parsed_globals)
906
1010
 
907
1011
  if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
@@ -930,11 +1034,11 @@ def doGetDevice(args, parsed_globals):
930
1034
  client = mod.MnaClient(cred, g_param[OptionsDefine.Region], profile)
931
1035
  client._sdkVersion += ("_CLI_" + __version__)
932
1036
  models = MODELS_MAP[g_param[OptionsDefine.Version]]
933
- model = models.GetDeviceRequest()
1037
+ model = models.GetFlowAlarmInfoRequest()
934
1038
  model.from_json_string(json.dumps(args))
935
1039
  start_time = time.time()
936
1040
  while True:
937
- rsp = client.GetDevice(model)
1041
+ rsp = client.GetFlowAlarmInfo(model)
938
1042
  result = rsp.to_json_string()
939
1043
  try:
940
1044
  json_obj = json.loads(result)
@@ -1227,12 +1331,14 @@ ACTION_MAP = {
1227
1331
  "GetDevicePayMode": doGetDevicePayMode,
1228
1332
  "ModifyPackageRenewFlag": doModifyPackageRenewFlag,
1229
1333
  "GetFlowStatistic": doGetFlowStatistic,
1334
+ "GetFlowStatisticByGroup": doGetFlowStatisticByGroup,
1230
1335
  "GetMultiFlowStatistic": doGetMultiFlowStatistic,
1231
1336
  "GetDevices": doGetDevices,
1232
1337
  "GetPublicKey": doGetPublicKey,
1233
1338
  "ActivateHardware": doActivateHardware,
1234
1339
  "GetFlowPackages": doGetFlowPackages,
1235
1340
  "AddHardware": doAddHardware,
1341
+ "GetDevice": doGetDevice,
1236
1342
  "CreateQos": doCreateQos,
1237
1343
  "DeleteDevice": doDeleteDevice,
1238
1344
  "UpdateDevice": doUpdateDevice,
@@ -1241,7 +1347,7 @@ ACTION_MAP = {
1241
1347
  "GetVendorHardware": doGetVendorHardware,
1242
1348
  "CreateEncryptedKey": doCreateEncryptedKey,
1243
1349
  "DeleteQos": doDeleteQos,
1244
- "GetDevice": doGetDevice,
1350
+ "GetFlowAlarmInfo": doGetFlowAlarmInfo,
1245
1351
  "OrderFlowPackage": doOrderFlowPackage,
1246
1352
  "GetStatisticData": doGetStatisticData,
1247
1353
  "GetHardwareList": doGetHardwareList,