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.
- tccli/__init__.py +1 -1
- tccli/services/aiart/v20221229/examples.json +1 -1
- tccli/services/cat/v20180409/api.json +1 -1
- tccli/services/cat/v20180409/examples.json +2 -2
- tccli/services/ccc/v20200210/api.json +2 -2
- tccli/services/ckafka/v20190819/api.json +20 -0
- tccli/services/dasb/v20191018/api.json +55 -1
- tccli/services/dasb/v20191018/examples.json +1 -1
- tccli/services/domain/domain_client.py +871 -129
- tccli/services/domain/v20180808/api.json +1502 -146
- tccli/services/domain/v20180808/examples.json +112 -0
- tccli/services/dts/v20211206/api.json +2 -2
- tccli/services/ess/v20201111/api.json +13 -13
- tccli/services/essbasic/v20210526/api.json +15 -15
- tccli/services/gs/v20191118/api.json +11 -8
- tccli/services/hai/v20230812/examples.json +1 -1
- tccli/services/ims/v20201229/api.json +2 -2
- tccli/services/lighthouse/v20200324/api.json +36 -36
- tccli/services/live/v20180801/api.json +19 -0
- tccli/services/mna/mna_client.py +110 -4
- tccli/services/mna/v20210119/api.json +182 -0
- tccli/services/mna/v20210119/examples.json +16 -0
- tccli/services/ocr/v20181119/api.json +60 -0
- tccli/services/ocr/v20181119/examples.json +1 -1
- tccli/services/postgres/v20170312/api.json +1 -0
- tccli/services/postgres/v20170312/examples.json +10 -4
- tccli/services/rum/v20210622/api.json +6 -6
- tccli/services/rum/v20210622/examples.json +2 -2
- tccli/services/ssl/v20191205/api.json +1 -1
- tccli/services/ssl/v20191205/examples.json +1 -1
- tccli/services/tdmq/v20200217/api.json +15 -5
- tccli/services/tdmq/v20200217/examples.json +3 -3
- tccli/services/teo/v20220901/api.json +2 -2
- tccli/services/tmt/v20180321/api.json +3 -3
- tccli/services/trocket/v20230308/api.json +15 -15
- tccli/services/trocket/v20230308/examples.json +2 -2
- tccli/services/trtc/v20190722/api.json +2 -2
- tccli/services/wedata/v20210820/api.json +132 -14
- tccli/services/wedata/v20210820/examples.json +7 -7
- {tccli-3.0.1115.1.dist-info → tccli-3.0.1117.1.dist-info}/METADATA +2 -2
- {tccli-3.0.1115.1.dist-info → tccli-3.0.1117.1.dist-info}/RECORD +44 -44
- {tccli-3.0.1115.1.dist-info → tccli-3.0.1117.1.dist-info}/WHEEL +0 -0
- {tccli-3.0.1115.1.dist-info → tccli-3.0.1117.1.dist-info}/entry_points.txt +0 -0
- {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
|
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
|
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
|
898
|
-
"example": "[\"lhkp-f7rjie1q
|
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
|
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
|
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
|
-
"
|
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
|
-
"
|
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
|
-
"
|
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
|
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
|
-
"
|
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
|
-
"
|
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
|
5003
|
-
"example": "[\"lhkp-f7rjie1q
|
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
|
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
|
-
"
|
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": "
|
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
|
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
|
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
|
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
|
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"
|
tccli/services/mna/mna_client.py
CHANGED
@@ -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
|
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.
|
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.
|
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
|
-
"
|
1350
|
+
"GetFlowAlarmInfo": doGetFlowAlarmInfo,
|
1245
1351
|
"OrderFlowPackage": doOrderFlowPackage,
|
1246
1352
|
"GetStatisticData": doGetStatisticData,
|
1247
1353
|
"GetHardwareList": doGetHardwareList,
|