tccli 3.0.1114.1__py2.py3-none-any.whl → 3.0.1116.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.
- tccli/__init__.py +1 -1
- tccli/services/aiart/v20221229/examples.json +1 -1
- tccli/services/asr/v20190614/api.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/cdwdoris/v20211228/api.json +9 -0
- tccli/services/ckafka/v20190819/api.json +20 -0
- tccli/services/cynosdb/v20190107/api.json +151 -50
- tccli/services/dasb/dasb_client.py +347 -29
- tccli/services/dasb/v20191018/api.json +966 -13
- tccli/services/dasb/v20191018/examples.json +48 -0
- tccli/services/dbbrain/dbbrain_client.py +53 -0
- tccli/services/dbbrain/v20210527/api.json +62 -0
- tccli/services/dbbrain/v20210527/examples.json +9 -1
- tccli/services/dlc/dlc_client.py +61 -8
- tccli/services/dlc/v20210125/api.json +53 -0
- tccli/services/dlc/v20210125/examples.json +8 -0
- 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/dsgc/v20190723/api.json +30 -17
- tccli/services/dsgc/v20190723/examples.json +1 -1
- tccli/services/dts/v20211206/api.json +2 -2
- tccli/services/ess/v20201111/api.json +10 -1
- tccli/services/ess/v20201111/examples.json +1 -1
- tccli/services/essbasic/v20210526/api.json +2 -2
- tccli/services/gs/v20191118/api.json +11 -8
- tccli/services/iotexplorer/iotexplorer_client.py +326 -8
- tccli/services/iotexplorer/v20190423/api.json +583 -0
- tccli/services/iotexplorer/v20190423/examples.json +48 -0
- tccli/services/lighthouse/v20200324/api.json +16 -16
- 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/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/teo/v20220901/api.json +1 -1
- tccli/services/tione/v20211111/api.json +11 -0
- tccli/services/tmt/v20180321/api.json +3 -3
- {tccli-3.0.1114.1.dist-info → tccli-3.0.1116.1.dist-info}/METADATA +2 -2
- {tccli-3.0.1114.1.dist-info → tccli-3.0.1116.1.dist-info}/RECORD +49 -49
- {tccli-3.0.1114.1.dist-info → tccli-3.0.1116.1.dist-info}/WHEEL +0 -0
- {tccli-3.0.1114.1.dist-info → tccli-3.0.1116.1.dist-info}/entry_points.txt +0 -0
- {tccli-3.0.1114.1.dist-info → tccli-3.0.1116.1.dist-info}/license_files/LICENSE +0 -0
@@ -1,5 +1,21 @@
|
|
1
1
|
{
|
2
2
|
"actions": {
|
3
|
+
"ActivateTWeCallLicense": [
|
4
|
+
{
|
5
|
+
"document": "",
|
6
|
+
"input": "POST / HTTP/1.1\nHost: iotexplorer.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: ActivateTWeCallLicense\n<公共请求参数>\n\n{\n \"PkgType\": 1,\n \"MiniProgramAppId\": \"abc\",\n \"DeviceList\": [\n {\n \"ModelId\": \"1qaz\",\n \"Sn\": \"p/d\"\n }\n ]\n}",
|
7
|
+
"output": "{\n \"Response\": {\n \"RequestId\": \"abc\"\n }\n}",
|
8
|
+
"title": "成功激活示例"
|
9
|
+
}
|
10
|
+
],
|
11
|
+
"AssignTWeCallLicense": [
|
12
|
+
{
|
13
|
+
"document": "",
|
14
|
+
"input": "POST / HTTP/1.1\nHost: iotexplorer.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: AssignTWeCallLicense\n<公共请求参数>\n\n{\n \"PkgType\": 1,\n \"MiniProgramAppId\": \"abc\",\n \"DeductNum\": 1\n}",
|
15
|
+
"output": "{\n \"Response\": {\n \"RequestId\": \"abc\"\n }\n}",
|
16
|
+
"title": "分配成功"
|
17
|
+
}
|
18
|
+
],
|
3
19
|
"BindCloudStorageUser": [
|
4
20
|
{
|
5
21
|
"document": "",
|
@@ -52,6 +68,14 @@
|
|
52
68
|
"title": "同步调用设备行为,设备不在线。"
|
53
69
|
}
|
54
70
|
],
|
71
|
+
"CancelAssignTWeCallLicense": [
|
72
|
+
{
|
73
|
+
"document": "",
|
74
|
+
"input": "POST / HTTP/1.1\nHost: iotexplorer.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: CancelAssignTWeCallLicense\n<公共请求参数>\n\n{\n \"PkgId\": \"abc\"\n}",
|
75
|
+
"output": "{\n \"Response\": {\n \"RequestId\": \"abc\"\n }\n}",
|
76
|
+
"title": "成功取消分配"
|
77
|
+
}
|
78
|
+
],
|
55
79
|
"ControlDeviceData": [
|
56
80
|
{
|
57
81
|
"document": "设置设备数据",
|
@@ -706,6 +730,14 @@
|
|
706
730
|
"title": "获取视频防盗链播放URL"
|
707
731
|
}
|
708
732
|
],
|
733
|
+
"GetAuthMiniProgramAppList": [
|
734
|
+
{
|
735
|
+
"document": "",
|
736
|
+
"input": "POST / HTTP/1.1\nHost: iotexplorer.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: GetAuthMiniProgramAppList\n<公共请求参数>\n\n{\n \"MiniProgramAppId\": \"123wdc\"\n}",
|
737
|
+
"output": "{\n \"Response\": {\n \"RequestId\": \"abc\",\n \"Total\": 1,\n \"MiniProgramList\": [\n {\n \"MiniProgramAppId\": \"1qaz\",\n \"MiniProgramName\": \"appBane\",\n \"LicenseNum\": 100,\n \"CreateTime\": 45674345567\n }\n ]\n }\n}",
|
738
|
+
"title": "成功查询小程序列表"
|
739
|
+
}
|
740
|
+
],
|
709
741
|
"GetBatchProductionsList": [
|
710
742
|
{
|
711
743
|
"document": "",
|
@@ -800,6 +832,22 @@
|
|
800
832
|
"title": "获取产品列表"
|
801
833
|
}
|
802
834
|
],
|
835
|
+
"GetTWeCallActiveStatus": [
|
836
|
+
{
|
837
|
+
"document": "",
|
838
|
+
"input": "POST / HTTP/1.1\nHost: iotexplorer.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: GetTWeCallActiveStatus\n<公共请求参数>\n\n{\n \"MiniProgramAppId\": \"abc\",\n \"DeviceList\": [\n {\n \"ModelId\": \"1qaz\",\n \"Sn\": \"p/d\"\n }\n ]\n}",
|
839
|
+
"output": "{\n \"Response\": {\n \"RequestId\": \"abc\",\n \"TWeCallActiveInfos\": [\n {\n \"ModelId\": \"1qaz\",\n \"Sn\": \"p/d\",\n \"ExpireTime\": 45674345567\n }\n ]\n }\n}",
|
840
|
+
"title": "成功获取激活状态"
|
841
|
+
}
|
842
|
+
],
|
843
|
+
"GetTWeCallPkgList": [
|
844
|
+
{
|
845
|
+
"document": "",
|
846
|
+
"input": "POST / HTTP/1.1\nHost: iotexplorer.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: GetTWeCallPkgList\n<公共请求参数>\n\n{\n \"MiniProgramAppId\": \"abc\"\n}",
|
847
|
+
"output": "{\n \"Response\": {\n \"RequestId\": \"abc\",\n \"Total\": 1,\n \"TWeCallPkgList\": [\n {\n \"PkgId\": \"1qaz\",\n \"PkgType\": 1,\n \"CreateTime\": 45674345567,\n \"ExpireTime\": 45674345567,\n \"LicenseTotalNum\": 1,\n \"LicenseUsedNum\": 1\n }\n ]\n }\n}",
|
848
|
+
"title": "成功查询示例"
|
849
|
+
}
|
850
|
+
],
|
803
851
|
"GetTopicRuleList": [
|
804
852
|
{
|
805
853
|
"document": "",
|
@@ -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",
|
@@ -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
|
},
|
@@ -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",
|
@@ -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",
|
@@ -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",
|
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,
|
@@ -77,6 +77,13 @@
|
|
77
77
|
"output": "GetDevicesResponse",
|
78
78
|
"status": "online"
|
79
79
|
},
|
80
|
+
"GetFlowAlarmInfo": {
|
81
|
+
"document": "根据AppId查询用户设置的流量告警信息,包括阈值,回调url和key",
|
82
|
+
"input": "GetFlowAlarmInfoRequest",
|
83
|
+
"name": "查询流量告警信息",
|
84
|
+
"output": "GetFlowAlarmInfoResponse",
|
85
|
+
"status": "online"
|
86
|
+
},
|
80
87
|
"GetFlowPackages": {
|
81
88
|
"document": "获取流量包列表",
|
82
89
|
"input": "GetFlowPackagesRequest",
|
@@ -91,6 +98,13 @@
|
|
91
98
|
"output": "GetFlowStatisticResponse",
|
92
99
|
"status": "online"
|
93
100
|
},
|
101
|
+
"GetFlowStatisticByGroup": {
|
102
|
+
"document": "获取指定分组,指定时间数据流量使用情况",
|
103
|
+
"input": "GetFlowStatisticByGroupRequest",
|
104
|
+
"name": "根据设备组获取数据流量统计数据",
|
105
|
+
"output": "GetFlowStatisticByGroupResponse",
|
106
|
+
"status": "online"
|
107
|
+
},
|
94
108
|
"GetHardwareList": {
|
95
109
|
"document": "获取厂商硬件列表",
|
96
110
|
"input": "GetHardwareListRequest",
|
@@ -1653,6 +1667,53 @@
|
|
1653
1667
|
],
|
1654
1668
|
"type": "object"
|
1655
1669
|
},
|
1670
|
+
"GetFlowAlarmInfoRequest": {
|
1671
|
+
"document": "GetFlowAlarmInfo请求参数结构体",
|
1672
|
+
"members": [],
|
1673
|
+
"type": "object"
|
1674
|
+
},
|
1675
|
+
"GetFlowAlarmInfoResponse": {
|
1676
|
+
"document": "GetFlowAlarmInfo返回参数结构体",
|
1677
|
+
"members": [
|
1678
|
+
{
|
1679
|
+
"disabled": false,
|
1680
|
+
"document": "流量包的告警阈值\n注意:此字段可能返回 null,表示取不到有效值。",
|
1681
|
+
"example": "20",
|
1682
|
+
"member": "int64",
|
1683
|
+
"name": "AlarmValue",
|
1684
|
+
"output_required": false,
|
1685
|
+
"type": "int",
|
1686
|
+
"value_allowed_null": true
|
1687
|
+
},
|
1688
|
+
{
|
1689
|
+
"disabled": false,
|
1690
|
+
"document": "告警通知回调url\n注意:此字段可能返回 null,表示取不到有效值。",
|
1691
|
+
"example": "http://ip:port/callurl",
|
1692
|
+
"member": "string",
|
1693
|
+
"name": "NotifyUrl",
|
1694
|
+
"output_required": true,
|
1695
|
+
"type": "string",
|
1696
|
+
"value_allowed_null": true
|
1697
|
+
},
|
1698
|
+
{
|
1699
|
+
"disabled": false,
|
1700
|
+
"document": "告警通知回调key\n注意:此字段可能返回 null,表示取不到有效值。",
|
1701
|
+
"example": "xd23y5cb89bx23432",
|
1702
|
+
"member": "string",
|
1703
|
+
"name": "CallbackKey",
|
1704
|
+
"output_required": true,
|
1705
|
+
"type": "string",
|
1706
|
+
"value_allowed_null": true
|
1707
|
+
},
|
1708
|
+
{
|
1709
|
+
"document": "唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。",
|
1710
|
+
"member": "string",
|
1711
|
+
"name": "RequestId",
|
1712
|
+
"type": "string"
|
1713
|
+
}
|
1714
|
+
],
|
1715
|
+
"type": "object"
|
1716
|
+
},
|
1656
1717
|
"GetFlowPackagesRequest": {
|
1657
1718
|
"document": "GetFlowPackages请求参数结构体",
|
1658
1719
|
"members": [
|
@@ -1736,6 +1797,127 @@
|
|
1736
1797
|
],
|
1737
1798
|
"type": "object"
|
1738
1799
|
},
|
1800
|
+
"GetFlowStatisticByGroupRequest": {
|
1801
|
+
"document": "GetFlowStatisticByGroup请求参数结构体",
|
1802
|
+
"members": [
|
1803
|
+
{
|
1804
|
+
"disabled": false,
|
1805
|
+
"document": "分组ID",
|
1806
|
+
"example": "1a2b3c4d5e",
|
1807
|
+
"member": "string",
|
1808
|
+
"name": "GroupId",
|
1809
|
+
"required": true,
|
1810
|
+
"type": "string"
|
1811
|
+
},
|
1812
|
+
{
|
1813
|
+
"disabled": false,
|
1814
|
+
"document": "开始查找时间",
|
1815
|
+
"example": "1659514436",
|
1816
|
+
"member": "int64",
|
1817
|
+
"name": "BeginTime",
|
1818
|
+
"required": true,
|
1819
|
+
"type": "int"
|
1820
|
+
},
|
1821
|
+
{
|
1822
|
+
"disabled": false,
|
1823
|
+
"document": "截止时间",
|
1824
|
+
"example": "1659515436",
|
1825
|
+
"member": "int64",
|
1826
|
+
"name": "EndTime",
|
1827
|
+
"required": true,
|
1828
|
+
"type": "int"
|
1829
|
+
},
|
1830
|
+
{
|
1831
|
+
"disabled": false,
|
1832
|
+
"document": "流量种类(1:上行流量,2:下行流量, 3: 上下行总和)",
|
1833
|
+
"example": "1",
|
1834
|
+
"member": "int64",
|
1835
|
+
"name": "Type",
|
1836
|
+
"required": true,
|
1837
|
+
"type": "int"
|
1838
|
+
},
|
1839
|
+
{
|
1840
|
+
"disabled": false,
|
1841
|
+
"document": "时间粒度(1:按小时统计,2:按天统计)",
|
1842
|
+
"example": "1",
|
1843
|
+
"member": "int64",
|
1844
|
+
"name": "TimeGranularity",
|
1845
|
+
"required": true,
|
1846
|
+
"type": "int"
|
1847
|
+
},
|
1848
|
+
{
|
1849
|
+
"disabled": false,
|
1850
|
+
"document": "接入区域。取值范围:['MC','AP','EU','AM'] MC=中国大陆 AP=亚太 EU=欧洲 AM=美洲。不填代表全量区域。",
|
1851
|
+
"example": "MC",
|
1852
|
+
"member": "string",
|
1853
|
+
"name": "AccessRegion",
|
1854
|
+
"required": false,
|
1855
|
+
"type": "string"
|
1856
|
+
},
|
1857
|
+
{
|
1858
|
+
"disabled": false,
|
1859
|
+
"document": "网关类型。0:公有云网关;1:自有网关。不传默认为0。",
|
1860
|
+
"example": "0",
|
1861
|
+
"member": "int64",
|
1862
|
+
"name": "GatewayType",
|
1863
|
+
"required": false,
|
1864
|
+
"type": "int"
|
1865
|
+
}
|
1866
|
+
],
|
1867
|
+
"type": "object"
|
1868
|
+
},
|
1869
|
+
"GetFlowStatisticByGroupResponse": {
|
1870
|
+
"document": "GetFlowStatisticByGroup返回参数结构体",
|
1871
|
+
"members": [
|
1872
|
+
{
|
1873
|
+
"disabled": false,
|
1874
|
+
"document": "流量详细信息",
|
1875
|
+
"example": "无",
|
1876
|
+
"member": "NetDetails",
|
1877
|
+
"name": "NetDetails",
|
1878
|
+
"output_required": true,
|
1879
|
+
"type": "list",
|
1880
|
+
"value_allowed_null": false
|
1881
|
+
},
|
1882
|
+
{
|
1883
|
+
"disabled": false,
|
1884
|
+
"document": "查找时间段流量使用最大值(单位:byte)",
|
1885
|
+
"example": "216516",
|
1886
|
+
"member": "float",
|
1887
|
+
"name": "MaxValue",
|
1888
|
+
"output_required": true,
|
1889
|
+
"type": "float",
|
1890
|
+
"value_allowed_null": false
|
1891
|
+
},
|
1892
|
+
{
|
1893
|
+
"disabled": false,
|
1894
|
+
"document": "查找时间段流量使用平均值(单位:byte)",
|
1895
|
+
"example": "25151",
|
1896
|
+
"member": "float",
|
1897
|
+
"name": "AvgValue",
|
1898
|
+
"output_required": true,
|
1899
|
+
"type": "float",
|
1900
|
+
"value_allowed_null": false
|
1901
|
+
},
|
1902
|
+
{
|
1903
|
+
"disabled": false,
|
1904
|
+
"document": "查找时间段流量使用总量(单位:byte)",
|
1905
|
+
"example": "35465464",
|
1906
|
+
"member": "float",
|
1907
|
+
"name": "TotalValue",
|
1908
|
+
"output_required": true,
|
1909
|
+
"type": "float",
|
1910
|
+
"value_allowed_null": false
|
1911
|
+
},
|
1912
|
+
{
|
1913
|
+
"document": "唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。",
|
1914
|
+
"member": "string",
|
1915
|
+
"name": "RequestId",
|
1916
|
+
"type": "string"
|
1917
|
+
}
|
1918
|
+
],
|
1919
|
+
"type": "object"
|
1920
|
+
},
|
1739
1921
|
"GetFlowStatisticRequest": {
|
1740
1922
|
"document": "GetFlowStatistic请求参数结构体",
|
1741
1923
|
"members": [
|
@@ -88,6 +88,14 @@
|
|
88
88
|
"title": "获取设备基本信息列表"
|
89
89
|
}
|
90
90
|
],
|
91
|
+
"GetFlowAlarmInfo": [
|
92
|
+
{
|
93
|
+
"document": "",
|
94
|
+
"input": "POST / HTTP/1.1\nHost: mna.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: GetFlowAlarmInfo\n<公共请求参数>\n\n{}",
|
95
|
+
"output": "{\n \"Response\": {\n \"AlarmValue\": 20,\n \"NotifyUrl\": \"http://ip:port/callurl\",\n \"CallbackKey\": \"xd23y5cb89bx23432\",\n \"RequestId\": \"1206563f-f13f-4647-aaa8-37fa86954cc4-1\"\n }\n}",
|
96
|
+
"title": "示例1"
|
97
|
+
}
|
98
|
+
],
|
91
99
|
"GetFlowPackages": [
|
92
100
|
{
|
93
101
|
"document": "",
|
@@ -110,6 +118,14 @@
|
|
110
118
|
"title": "获取多个设备的流量使用信息之和"
|
111
119
|
}
|
112
120
|
],
|
121
|
+
"GetFlowStatisticByGroup": [
|
122
|
+
{
|
123
|
+
"document": "",
|
124
|
+
"input": "POST / HTTP/1.1\nHost: mna.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: GetFlowStatisticByGroup\n<公共请求参数>\n\n{\n \"GroupId\": \"cliGrp-xf8rboasbh\",\n \"BeginTime\": 1711296000,\n \"EndTime\": 1711987200,\n \"Type\": 1,\n \"TimeGranularity\": 2,\n \"AccessRegion\": \"MC\",\n \"GatewayType\": 0\n}",
|
125
|
+
"output": "{\n \"Response\": {\n \"AvgValue\": 154434162.5,\n \"MaxValue\": 305576473,\n \"NetDetails\": [\n {\n \"Current\": 305576473,\n \"Time\": \"1711555200\"\n },\n {\n \"Current\": 3291852,\n \"Time\": \"1711641600\"\n }\n ],\n \"RequestId\": \"e5b650a9-d994-439f-9132-3e5c56054903\",\n \"TotalValue\": 308868325\n }\n}",
|
126
|
+
"title": "根据分组获取用量统计信息"
|
127
|
+
}
|
128
|
+
],
|
113
129
|
"GetHardwareList": [
|
114
130
|
{
|
115
131
|
"document": "硬件信息列表",
|