tccli 3.0.1134.1__py2.py3-none-any.whl → 3.0.1136.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/__init__.py +3 -0
- tccli/services/asr/asr_client.py +53 -0
- tccli/services/asr/v20190614/api.json +193 -1
- tccli/services/asr/v20190614/examples.json +8 -0
- tccli/services/batch/v20170312/api.json +8 -5
- tccli/services/batch/v20170312/examples.json +1 -1
- tccli/services/cdb/cdb_client.py +57 -4
- tccli/services/cdb/v20170320/api.json +270 -0
- tccli/services/cdb/v20170320/examples.json +8 -0
- tccli/services/ckafka/v20190819/api.json +1 -1
- tccli/services/cls/v20201016/api.json +3 -3
- tccli/services/dlc/dlc_client.py +53 -0
- tccli/services/dlc/v20210125/api.json +138 -4
- tccli/services/dlc/v20210125/examples.json +13 -5
- tccli/services/dsgc/v20190723/api.json +35 -35
- tccli/services/eiam/v20210420/api.json +4 -4
- tccli/services/eiam/v20210420/examples.json +4 -4
- tccli/services/ess/v20201111/api.json +1 -1
- tccli/services/essbasic/v20210526/api.json +3 -3
- tccli/services/facefusion/v20181201/api.json +12 -12
- tccli/services/facefusion/v20181201/examples.json +4 -4
- tccli/services/iotexplorer/iotexplorer_client.py +53 -0
- tccli/services/iotexplorer/v20190423/api.json +137 -4
- tccli/services/iotexplorer/v20190423/examples.json +8 -0
- tccli/services/lcic/v20220817/api.json +4 -4
- tccli/services/lighthouse/v20200324/api.json +15 -15
- tccli/services/lighthouse/v20200324/examples.json +7 -7
- tccli/services/lke/lke_client.py +175 -16
- tccli/services/lke/v20231130/api.json +782 -165
- tccli/services/lke/v20231130/examples.json +35 -5
- tccli/services/ocr/v20181119/api.json +1 -1
- tccli/services/ses/v20201002/api.json +20 -1
- tccli/services/tdmq/tdmq_client.py +53 -0
- tccli/services/tdmq/v20200217/api.json +321 -0
- tccli/services/tdmq/v20200217/examples.json +8 -0
- tccli/services/tem/v20210701/api.json +8 -5
- tccli/services/tem/v20210701/examples.json +2 -2
- tccli/services/tke/v20180525/api.json +33 -21
- tccli/services/tke/v20180525/examples.json +4 -4
- tccli/services/trocket/trocket_client.py +65 -12
- tccli/services/trocket/v20230308/api.json +196 -0
- tccli/services/trocket/v20230308/examples.json +8 -0
- tccli/services/trtc/v20190722/api.json +48 -66
- tccli/services/tsi/__init__.py +4 -0
- tccli/services/tsi/tsi_client.py +301 -0
- tccli/services/tsi/v20210325/api.json +373 -0
- tccli/services/tsi/v20210325/examples.json +29 -0
- tccli/services/vpc/v20170312/api.json +36 -16
- tccli/services/vpc/v20170312/examples.json +9 -3
- tccli/services/waf/v20180125/api.json +70 -0
- tccli/services/waf/v20180125/examples.json +8 -0
- tccli/services/waf/waf_client.py +53 -0
- {tccli-3.0.1134.1.dist-info → tccli-3.0.1136.1.dist-info}/METADATA +2 -2
- {tccli-3.0.1134.1.dist-info → tccli-3.0.1136.1.dist-info}/RECORD +58 -54
- {tccli-3.0.1134.1.dist-info → tccli-3.0.1136.1.dist-info}/WHEEL +0 -0
- {tccli-3.0.1134.1.dist-info → tccli-3.0.1136.1.dist-info}/entry_points.txt +0 -0
- {tccli-3.0.1134.1.dist-info → tccli-3.0.1136.1.dist-info}/license_files/LICENSE +0 -0
tccli/__init__.py
CHANGED
@@ -1 +1 @@
|
|
1
|
-
__version__ = '3.0.
|
1
|
+
__version__ = '3.0.1136.1'
|
tccli/services/__init__.py
CHANGED
tccli/services/asr/asr_client.py
CHANGED
@@ -537,6 +537,58 @@ def doCreateCustomization(args, parsed_globals):
|
|
537
537
|
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
538
538
|
|
539
539
|
|
540
|
+
def doVoicePrintGroupVerify(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.AsrClient(cred, g_param[OptionsDefine.Region], profile)
|
567
|
+
client._sdkVersion += ("_CLI_" + __version__)
|
568
|
+
models = MODELS_MAP[g_param[OptionsDefine.Version]]
|
569
|
+
model = models.VoicePrintGroupVerifyRequest()
|
570
|
+
model.from_json_string(json.dumps(args))
|
571
|
+
start_time = time.time()
|
572
|
+
while True:
|
573
|
+
rsp = client.VoicePrintGroupVerify(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
|
+
|
540
592
|
def doDeleteAsrVocab(args, parsed_globals):
|
541
593
|
g_param = parse_global_arg(parsed_globals)
|
542
594
|
|
@@ -1390,6 +1442,7 @@ ACTION_MAP = {
|
|
1390
1442
|
"SetVocabState": doSetVocabState,
|
1391
1443
|
"DownloadAsrVocab": doDownloadAsrVocab,
|
1392
1444
|
"CreateCustomization": doCreateCustomization,
|
1445
|
+
"VoicePrintGroupVerify": doVoicePrintGroupVerify,
|
1393
1446
|
"DeleteAsrVocab": doDeleteAsrVocab,
|
1394
1447
|
"SentenceRecognition": doSentenceRecognition,
|
1395
1448
|
"CreateRecTask": doCreateRecTask,
|
@@ -168,6 +168,13 @@
|
|
168
168
|
"output": "VoicePrintEnrollResponse",
|
169
169
|
"status": "online"
|
170
170
|
},
|
171
|
+
"VoicePrintGroupVerify": {
|
172
|
+
"document": "说话人验证1:N接口,可以通过传入一段说话人音频,并且指定已存在的groupId, 和返回topN, 接口返回groupId内所有声纹和传入音频声纹比对打分TopN的结果。",
|
173
|
+
"input": "VoicePrintGroupVerifyRequest",
|
174
|
+
"name": "说话人验证1:N",
|
175
|
+
"output": "VoicePrintGroupVerifyResponse",
|
176
|
+
"status": "online"
|
177
|
+
},
|
171
178
|
"VoicePrintUpdate": {
|
172
179
|
"document": "本接口用于更新和覆盖已注册的音频数据和说话人昵称,更新后原有的音频数据将失效。",
|
173
180
|
"input": "VoicePrintUpdateRequest",
|
@@ -2048,6 +2055,62 @@
|
|
2048
2055
|
],
|
2049
2056
|
"type": "object"
|
2050
2057
|
},
|
2058
|
+
"VerifyTop": {
|
2059
|
+
"document": "声纹组对比结果top数据",
|
2060
|
+
"members": [
|
2061
|
+
{
|
2062
|
+
"disabled": false,
|
2063
|
+
"document": "相似度打分\n注意:此字段可能返回 null,表示取不到有效值。",
|
2064
|
+
"example": "0.70",
|
2065
|
+
"member": "string",
|
2066
|
+
"name": "Score",
|
2067
|
+
"output_required": false,
|
2068
|
+
"required": false,
|
2069
|
+
"type": "string",
|
2070
|
+
"value_allowed_null": true
|
2071
|
+
},
|
2072
|
+
{
|
2073
|
+
"disabled": false,
|
2074
|
+
"document": "说话人id\n注意:此字段可能返回 null,表示取不到有效值。",
|
2075
|
+
"example": "dsadcsds-dsads-dsadasd",
|
2076
|
+
"member": "string",
|
2077
|
+
"name": "VoicePrintId",
|
2078
|
+
"output_required": false,
|
2079
|
+
"required": false,
|
2080
|
+
"type": "string",
|
2081
|
+
"value_allowed_null": true
|
2082
|
+
},
|
2083
|
+
{
|
2084
|
+
"disabled": false,
|
2085
|
+
"document": "说话人昵称\n注意:此字段可能返回 null,表示取不到有效值。",
|
2086
|
+
"example": "小明",
|
2087
|
+
"member": "string",
|
2088
|
+
"name": "SpeakerId",
|
2089
|
+
"output_required": false,
|
2090
|
+
"required": false,
|
2091
|
+
"type": "string",
|
2092
|
+
"value_allowed_null": true
|
2093
|
+
}
|
2094
|
+
],
|
2095
|
+
"usage": "both"
|
2096
|
+
},
|
2097
|
+
"VerifyTopResult": {
|
2098
|
+
"document": "说话人验证1:N返回结果",
|
2099
|
+
"members": [
|
2100
|
+
{
|
2101
|
+
"disabled": false,
|
2102
|
+
"document": "对比打分结果,按照打分降序排列返回\n注意:此字段可能返回 null,表示取不到有效值。",
|
2103
|
+
"example": "无",
|
2104
|
+
"member": "VerifyTop",
|
2105
|
+
"name": "VerifyTops",
|
2106
|
+
"output_required": false,
|
2107
|
+
"required": false,
|
2108
|
+
"type": "list",
|
2109
|
+
"value_allowed_null": true
|
2110
|
+
}
|
2111
|
+
],
|
2112
|
+
"usage": "both"
|
2113
|
+
},
|
2051
2114
|
"Vocab": {
|
2052
2115
|
"document": "[词表内容](https://cloud.tencent.com/document/product/1093/41484#3.-.E8.BE.93.E5.87.BA.E5.8F.82.E6.95.B0)",
|
2053
2116
|
"members": [
|
@@ -2262,13 +2325,42 @@
|
|
2262
2325
|
"output_required": false,
|
2263
2326
|
"type": "int",
|
2264
2327
|
"value_allowed_null": true
|
2328
|
+
},
|
2329
|
+
{
|
2330
|
+
"disabled": false,
|
2331
|
+
"document": "说话人id列表\n注意:此字段可能返回 null,表示取不到有效值。",
|
2332
|
+
"example": "无",
|
2333
|
+
"member": "VoicePrintBaseData",
|
2334
|
+
"name": "VoicePrintList",
|
2335
|
+
"output_required": false,
|
2336
|
+
"type": "list",
|
2337
|
+
"value_allowed_null": true
|
2265
2338
|
}
|
2266
2339
|
],
|
2267
2340
|
"usage": "out"
|
2268
2341
|
},
|
2269
2342
|
"VoicePrintCountRequest": {
|
2270
2343
|
"document": "VoicePrintCount请求参数结构体",
|
2271
|
-
"members": [
|
2344
|
+
"members": [
|
2345
|
+
{
|
2346
|
+
"disabled": false,
|
2347
|
+
"document": "分组ID,仅支持大小写字母和下划线的组合,不超过128个字符",
|
2348
|
+
"example": "无",
|
2349
|
+
"member": "string",
|
2350
|
+
"name": "GroupId",
|
2351
|
+
"required": false,
|
2352
|
+
"type": "string"
|
2353
|
+
},
|
2354
|
+
{
|
2355
|
+
"disabled": false,
|
2356
|
+
"document": "统计模式\n0: 统计所有声纹数量\n1: 统计指定分组下的声纹数量",
|
2357
|
+
"example": "0",
|
2358
|
+
"member": "int64",
|
2359
|
+
"name": "CountMod",
|
2360
|
+
"required": false,
|
2361
|
+
"type": "int"
|
2362
|
+
}
|
2363
|
+
],
|
2272
2364
|
"type": "object"
|
2273
2365
|
},
|
2274
2366
|
"VoicePrintCountResponse": {
|
@@ -2304,6 +2396,24 @@
|
|
2304
2396
|
"name": "VoicePrintId",
|
2305
2397
|
"required": false,
|
2306
2398
|
"type": "string"
|
2399
|
+
},
|
2400
|
+
{
|
2401
|
+
"disabled": false,
|
2402
|
+
"document": "说话人分组ID,仅支持大小写字母和下划线的组合,不超过128个字符",
|
2403
|
+
"example": "无",
|
2404
|
+
"member": "string",
|
2405
|
+
"name": "GroupId",
|
2406
|
+
"required": false,
|
2407
|
+
"type": "string"
|
2408
|
+
},
|
2409
|
+
{
|
2410
|
+
"disabled": false,
|
2411
|
+
"document": "删除模式: \n0.默认值,删除该条声纹\n1.从分组中删除该条声纹,声纹本身不删除\n2.从声纹库中删除分组,仅删除分组信息,不会真正删除分组中的声纹",
|
2412
|
+
"example": "0",
|
2413
|
+
"member": "int64",
|
2414
|
+
"name": "DelMod",
|
2415
|
+
"required": false,
|
2416
|
+
"type": "int"
|
2307
2417
|
}
|
2308
2418
|
],
|
2309
2419
|
"type": "object"
|
@@ -2368,6 +2478,15 @@
|
|
2368
2478
|
"name": "SpeakerNick",
|
2369
2479
|
"required": false,
|
2370
2480
|
"type": "string"
|
2481
|
+
},
|
2482
|
+
{
|
2483
|
+
"disabled": false,
|
2484
|
+
"document": "分组id, 仅支持大小写字母和下划线的组合,不超过128个字符",
|
2485
|
+
"example": "无",
|
2486
|
+
"member": "string",
|
2487
|
+
"name": "GroupId",
|
2488
|
+
"required": false,
|
2489
|
+
"type": "string"
|
2371
2490
|
}
|
2372
2491
|
],
|
2373
2492
|
"type": "object"
|
@@ -2394,6 +2513,79 @@
|
|
2394
2513
|
],
|
2395
2514
|
"type": "object"
|
2396
2515
|
},
|
2516
|
+
"VoicePrintGroupVerifyRequest": {
|
2517
|
+
"document": "VoicePrintGroupVerify请求参数结构体",
|
2518
|
+
"members": [
|
2519
|
+
{
|
2520
|
+
"disabled": false,
|
2521
|
+
"document": "音频格式 0: pcm, 1: wav",
|
2522
|
+
"example": "0",
|
2523
|
+
"member": "int64",
|
2524
|
+
"name": "VoiceFormat",
|
2525
|
+
"required": true,
|
2526
|
+
"type": "int"
|
2527
|
+
},
|
2528
|
+
{
|
2529
|
+
"disabled": false,
|
2530
|
+
"document": "音频采样率,目前支持16000,单位:Hz,必填",
|
2531
|
+
"example": "16000",
|
2532
|
+
"member": "int64",
|
2533
|
+
"name": "SampleRate",
|
2534
|
+
"required": true,
|
2535
|
+
"type": "int"
|
2536
|
+
},
|
2537
|
+
{
|
2538
|
+
"disabled": false,
|
2539
|
+
"document": "音频数据, base64 编码, 音频时长不能超过30s,数据大小不超过2M",
|
2540
|
+
"example": "无",
|
2541
|
+
"member": "string",
|
2542
|
+
"name": "Data",
|
2543
|
+
"required": true,
|
2544
|
+
"type": "string"
|
2545
|
+
},
|
2546
|
+
{
|
2547
|
+
"disabled": false,
|
2548
|
+
"document": "分组id, 支持数字,字母,下划线,长度不超过128",
|
2549
|
+
"example": "test_group",
|
2550
|
+
"member": "string",
|
2551
|
+
"name": "GroupId",
|
2552
|
+
"required": true,
|
2553
|
+
"type": "string"
|
2554
|
+
},
|
2555
|
+
{
|
2556
|
+
"disabled": false,
|
2557
|
+
"document": "返回打分结果降序排列topN, TopN大于0, 小于可创建声纹最大数量",
|
2558
|
+
"example": "1",
|
2559
|
+
"member": "uint64",
|
2560
|
+
"name": "TopN",
|
2561
|
+
"required": true,
|
2562
|
+
"type": "int"
|
2563
|
+
}
|
2564
|
+
],
|
2565
|
+
"type": "object"
|
2566
|
+
},
|
2567
|
+
"VoicePrintGroupVerifyResponse": {
|
2568
|
+
"document": "VoicePrintGroupVerify返回参数结构体",
|
2569
|
+
"members": [
|
2570
|
+
{
|
2571
|
+
"disabled": false,
|
2572
|
+
"document": "TopN 返回结果;系统建议打分70分以上为同一个人音色,评分也取决于音频质量、长度等其他原因影响,您可以按照业务需求适当提高或降低分数要求",
|
2573
|
+
"example": "无",
|
2574
|
+
"member": "VerifyTopResult",
|
2575
|
+
"name": "Data",
|
2576
|
+
"output_required": false,
|
2577
|
+
"type": "object",
|
2578
|
+
"value_allowed_null": false
|
2579
|
+
},
|
2580
|
+
{
|
2581
|
+
"document": "唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。",
|
2582
|
+
"member": "string",
|
2583
|
+
"name": "RequestId",
|
2584
|
+
"type": "string"
|
2585
|
+
}
|
2586
|
+
],
|
2587
|
+
"type": "object"
|
2588
|
+
},
|
2397
2589
|
"VoicePrintUpdateRequest": {
|
2398
2590
|
"document": "VoicePrintUpdate请求参数结构体",
|
2399
2591
|
"members": [
|
@@ -222,6 +222,14 @@
|
|
222
222
|
"title": "注册说话人"
|
223
223
|
}
|
224
224
|
],
|
225
|
+
"VoicePrintGroupVerify": [
|
226
|
+
{
|
227
|
+
"document": "提供一段音频数据和提前注册的一组说话人数据进行比对, 返回topN",
|
228
|
+
"input": "POST / HTTP/1.1\nHost: asr.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: VoicePrintGroupVerify\n<公共请求参数>\n\n{\n \"VoiceFormat\": 1,\n \"SampleRate\": 16000,\n \"Data\": \"UklGRsb7AQBXQVZFZm10IBAAAAAB\",\n \"GroupId\": \"test\",\n \"TopN\": 2\n}",
|
229
|
+
"output": "{\n \"Response\": {\n \"Data\": {\n \"VerifyTops\": [\n {\n \"Score\": \"100.0\",\n \"SpeakerId\": \"张三\",\n \"VoicePrintId\": \"03c7c4-34e1-4cc2-97d4-f031bc6538d0\"\n },\n {\n \"Score\": \"89.0\",\n \"SpeakerId\": \"李四\",\n \"VoicePrintId\": \"16a936-c0c9-44b8-81e6-19515a9515ef\"\n }\n ]\n },\n \"RequestId\": \"affe4cc1-7158-ad-aefc-371fce09c092\"\n }\n}",
|
230
|
+
"title": "说话人验证1:N"
|
231
|
+
}
|
232
|
+
],
|
225
233
|
"VoicePrintUpdate": [
|
226
234
|
{
|
227
235
|
"document": "更新说话人的音频和昵称",
|
@@ -1434,7 +1434,7 @@
|
|
1434
1434
|
{
|
1435
1435
|
"disabled": false,
|
1436
1436
|
"document": "过滤条件。\n<li> zone - String - 是否必填:否 -(过滤条件)按照可用区过滤。</li>\n<li> instance-family String - 是否必填:否 -(过滤条件)按照机型系列过滤。实例机型系列形如:S1、I1、M1等。</li>",
|
1437
|
-
"example": "",
|
1437
|
+
"example": "\t[{\"Name\":\"zone\",\"Values\":[\"ap-guangzhou-1\"]}]",
|
1438
1438
|
"member": "Filter",
|
1439
1439
|
"name": "Filters",
|
1440
1440
|
"required": false,
|
@@ -1449,9 +1449,10 @@
|
|
1449
1449
|
{
|
1450
1450
|
"disabled": false,
|
1451
1451
|
"document": "机型配置数组",
|
1452
|
-
"example": "",
|
1452
|
+
"example": "无",
|
1453
1453
|
"member": "InstanceTypeConfig",
|
1454
1454
|
"name": "InstanceTypeConfigSet",
|
1455
|
+
"output_required": true,
|
1455
1456
|
"type": "list",
|
1456
1457
|
"value_allowed_null": false
|
1457
1458
|
},
|
@@ -2013,7 +2014,7 @@
|
|
2013
2014
|
{
|
2014
2015
|
"disabled": false,
|
2015
2016
|
"document": "过滤条件。\n<li> zone - String - 是否必填:否 -(过滤条件)按照可用区过滤。</li>\n<li> instance-family String - 是否必填:否 -(过滤条件)按照机型系列过滤。实例机型系列形如:S1、I1、M1等。</li>\n<li> instance-type - String - 是否必填:否 - (过滤条件)按照机型过滤。</li>\n<li> instance-charge-type - String - 是否必填:否 -(过滤条件)按照实例计费模式过滤。 ( POSTPAID_BY_HOUR:表示后付费,即按量计费机型 | SPOTPAID:表示竞价付费机型。 ) </li>",
|
2016
|
-
"example": "",
|
2017
|
+
"example": "[{\"Name\":\"zone\",\"Values\":[\"ap-guangzhou-1\"]}]",
|
2017
2018
|
"member": "Filter",
|
2018
2019
|
"name": "Filters",
|
2019
2020
|
"required": false,
|
@@ -2028,9 +2029,10 @@
|
|
2028
2029
|
{
|
2029
2030
|
"disabled": false,
|
2030
2031
|
"document": "可用区机型配置列表。",
|
2031
|
-
"example": "",
|
2032
|
+
"example": "无",
|
2032
2033
|
"member": "InstanceTypeQuotaItem",
|
2033
2034
|
"name": "InstanceTypeQuotaSet",
|
2035
|
+
"output_required": true,
|
2034
2036
|
"type": "list",
|
2035
2037
|
"value_allowed_null": false
|
2036
2038
|
},
|
@@ -2054,9 +2056,10 @@
|
|
2054
2056
|
{
|
2055
2057
|
"disabled": false,
|
2056
2058
|
"document": "CVM实例分类列表",
|
2057
|
-
"example": "",
|
2059
|
+
"example": "[{\"InstanceFamilySet\": [\"C3\",\"CN3\"],\"InstanceCategory\": \"COMPUTE_3\"}",
|
2058
2060
|
"member": "InstanceCategoryItem",
|
2059
2061
|
"name": "InstanceCategorySet",
|
2062
|
+
"output_required": true,
|
2060
2063
|
"type": "list",
|
2061
2064
|
"value_allowed_null": false
|
2062
2065
|
},
|
@@ -116,7 +116,7 @@
|
|
116
116
|
{
|
117
117
|
"document": "",
|
118
118
|
"input": "https://batch.tencentcloudapi.com/?Action=DescribeCvmZoneInstanceConfigInfos\r\n&Filters.0.Name=zone\r\n&Filters.0.Values.0=ap-chongqing-1\r\n&Filters.1.Name=instance-charge-type\r\n&Filters.1.Values.0=POSTPAID_BY_HOUR\r\n&<公共请求参数>",
|
119
|
-
"output": "{\n \"Response\": {\n \"InstanceTypeQuotaSet\": [\n {\n \"Status\": \"SELL\",\n \"Zone\": \"ap-
|
119
|
+
"output": "{\n \"Response\": {\n \"InstanceTypeQuotaSet\": [\n {\n \"Status\": \"SELL\",\n \"Zone\": \"ap-guangzhou-2\",\n \"NetworkCard\": 0,\n \"Price\": {\n \"DiscountPrice\": 59,\n \"OriginalPriceThreeYear\": 0,\n \"DiscountOneYear\": 0,\n \"UnitPrice\": 0,\n \"UnitPriceThirdStep\": 0,\n \"OriginalPriceFiveYear\": 0,\n \"Discount\": 0,\n \"DiscountFiveYear\": 0,\n \"UnitPriceDiscountThirdStep\": 0,\n \"UnitPriceSecondStep\": 0,\n \"OriginalPrice\": 59,\n \"DiscountThreeYear\": 0,\n \"UnitPriceDiscountSecondStep\": 0,\n \"UnitPriceDiscount\": 0,\n \"DiscountPriceFiveYear\": 0,\n \"OriginalPriceOneYear\": 708,\n \"ChargeUnit\": \"HOUR\",\n \"DiscountPriceThreeYear\": 0,\n \"DiscountPriceOneYear\": 587.64\n },\n \"InstanceFamily\": \"S2\",\n \"Externals\": {},\n \"InstanceType\": \"S2.SMALL1\",\n \"TypeName\": \"Standard S2\",\n \"InstanceChargeType\": \"POSTPAID_BY_HOUR\",\n \"Memory\": 1,\n \"LocalDiskTypeList\": [],\n \"Cpu\": 1,\n \"SoldOutReason\": \"\",\n \"StorageBlockAmount\": 0,\n \"CpuType\": \"Intel Xeon E5-2680 v4\",\n \"InstancePps\": 20,\n \"InstanceBandwidth\": 1.5,\n \"Gpu\": 0,\n \"GpuCount\": 0,\n \"Fpga\": 0,\n \"Remark\": \"\",\n \"Frequency\": \"2.4GHz\",\n \"StatusCategory\": \"EnoughStock\"\n }\n ],\n \"RequestId\": \"c28559ca-d3cf-40f0-9664-2ab303484efa\"\n }\n}",
|
120
120
|
"title": "查看重庆一区按量计费机型配置信息"
|
121
121
|
}
|
122
122
|
],
|
tccli/services/cdb/cdb_client.py
CHANGED
@@ -433,6 +433,58 @@ def doIsolateDBInstance(args, parsed_globals):
|
|
433
433
|
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
434
434
|
|
435
435
|
|
436
|
+
def doDescribeRoGroups(args, parsed_globals):
|
437
|
+
g_param = parse_global_arg(parsed_globals)
|
438
|
+
|
439
|
+
if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
|
440
|
+
cred = credential.CVMRoleCredential()
|
441
|
+
elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
|
442
|
+
cred = credential.STSAssumeRoleCredential(
|
443
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
|
444
|
+
g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
|
445
|
+
)
|
446
|
+
elif os.getenv(OptionsDefine.ENV_TKE_REGION) and os.getenv(OptionsDefine.ENV_TKE_PROVIDER_ID) and os.getenv(OptionsDefine.ENV_TKE_WEB_IDENTITY_TOKEN_FILE) and os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN):
|
447
|
+
cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
|
448
|
+
else:
|
449
|
+
cred = credential.Credential(
|
450
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
|
451
|
+
)
|
452
|
+
http_profile = HttpProfile(
|
453
|
+
reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
|
454
|
+
reqMethod="POST",
|
455
|
+
endpoint=g_param[OptionsDefine.Endpoint],
|
456
|
+
proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
|
457
|
+
)
|
458
|
+
profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
|
459
|
+
if g_param[OptionsDefine.Language]:
|
460
|
+
profile.language = g_param[OptionsDefine.Language]
|
461
|
+
mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
|
462
|
+
client = mod.CdbClient(cred, g_param[OptionsDefine.Region], profile)
|
463
|
+
client._sdkVersion += ("_CLI_" + __version__)
|
464
|
+
models = MODELS_MAP[g_param[OptionsDefine.Version]]
|
465
|
+
model = models.DescribeRoGroupsRequest()
|
466
|
+
model.from_json_string(json.dumps(args))
|
467
|
+
start_time = time.time()
|
468
|
+
while True:
|
469
|
+
rsp = client.DescribeRoGroups(model)
|
470
|
+
result = rsp.to_json_string()
|
471
|
+
try:
|
472
|
+
json_obj = json.loads(result)
|
473
|
+
except TypeError as e:
|
474
|
+
json_obj = json.loads(result.decode('utf-8')) # python3.3
|
475
|
+
if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
|
476
|
+
break
|
477
|
+
cur_time = time.time()
|
478
|
+
if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
|
479
|
+
raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
|
480
|
+
(g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
|
481
|
+
search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
|
482
|
+
else:
|
483
|
+
print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
|
484
|
+
time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
|
485
|
+
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
486
|
+
|
487
|
+
|
436
488
|
def doDescribeAccounts(args, parsed_globals):
|
437
489
|
g_param = parse_global_arg(parsed_globals)
|
438
490
|
|
@@ -1005,7 +1057,7 @@ def doStopRollback(args, parsed_globals):
|
|
1005
1057
|
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
1006
1058
|
|
1007
1059
|
|
1008
|
-
def
|
1060
|
+
def doDescribeInstanceUpgradeType(args, parsed_globals):
|
1009
1061
|
g_param = parse_global_arg(parsed_globals)
|
1010
1062
|
|
1011
1063
|
if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
|
@@ -1034,11 +1086,11 @@ def doDescribeRoGroups(args, parsed_globals):
|
|
1034
1086
|
client = mod.CdbClient(cred, g_param[OptionsDefine.Region], profile)
|
1035
1087
|
client._sdkVersion += ("_CLI_" + __version__)
|
1036
1088
|
models = MODELS_MAP[g_param[OptionsDefine.Version]]
|
1037
|
-
model = models.
|
1089
|
+
model = models.DescribeInstanceUpgradeTypeRequest()
|
1038
1090
|
model.from_json_string(json.dumps(args))
|
1039
1091
|
start_time = time.time()
|
1040
1092
|
while True:
|
1041
|
-
rsp = client.
|
1093
|
+
rsp = client.DescribeInstanceUpgradeType(model)
|
1042
1094
|
result = rsp.to_json_string()
|
1043
1095
|
try:
|
1044
1096
|
json_obj = json.loads(result)
|
@@ -8564,6 +8616,7 @@ ACTION_MAP = {
|
|
8564
8616
|
"CreateAuditRuleTemplate": doCreateAuditRuleTemplate,
|
8565
8617
|
"BalanceRoGroupLoad": doBalanceRoGroupLoad,
|
8566
8618
|
"IsolateDBInstance": doIsolateDBInstance,
|
8619
|
+
"DescribeRoGroups": doDescribeRoGroups,
|
8567
8620
|
"DescribeAccounts": doDescribeAccounts,
|
8568
8621
|
"ModifyInstanceTag": doModifyInstanceTag,
|
8569
8622
|
"DescribeTimeWindow": doDescribeTimeWindow,
|
@@ -8575,7 +8628,7 @@ ACTION_MAP = {
|
|
8575
8628
|
"DescribeCdbZoneConfig": doDescribeCdbZoneConfig,
|
8576
8629
|
"CloseAuditService": doCloseAuditService,
|
8577
8630
|
"StopRollback": doStopRollback,
|
8578
|
-
"
|
8631
|
+
"DescribeInstanceUpgradeType": doDescribeInstanceUpgradeType,
|
8579
8632
|
"OfflineIsolatedInstances": doOfflineIsolatedInstances,
|
8580
8633
|
"CreateAuditLogFile": doCreateAuditLogFile,
|
8581
8634
|
"OpenDBInstanceGTID": doOpenDBInstanceGTID,
|