tccli 3.0.1392.1__py2.py3-none-any.whl → 3.0.1394.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 +2 -1
- tccli/services/ai3d/v20250513/api.json +4 -4
- tccli/services/apm/apm_client.py +53 -0
- tccli/services/apm/v20210622/api.json +354 -0
- tccli/services/apm/v20210622/examples.json +8 -0
- tccli/services/billing/billing_client.py +326 -8
- tccli/services/billing/v20180709/api.json +2120 -187
- tccli/services/billing/v20180709/examples.json +48 -0
- tccli/services/ccc/v20200210/api.json +88 -10
- tccli/services/cdb/v20170320/api.json +1 -1
- tccli/services/cdn/v20180606/api.json +46 -9
- tccli/services/clb/v20180317/api.json +9 -0
- tccli/services/csip/v20221121/api.json +1 -1
- tccli/services/cvm/cvm_client.py +0 -212
- tccli/services/cvm/v20170312/api.json +80 -842
- tccli/services/cvm/v20170312/examples.json +24 -56
- tccli/services/dbbrain/dbbrain_client.py +136 -30
- tccli/services/dbbrain/v20210527/api.json +243 -0
- tccli/services/dbbrain/v20210527/examples.json +16 -0
- tccli/services/dsgc/v20190723/api.json +73 -15
- tccli/services/eb/v20210416/api.json +28 -1
- tccli/services/eb/v20210416/examples.json +1 -1
- tccli/services/es/es_client.py +53 -0
- tccli/services/es/v20180416/api.json +182 -0
- tccli/services/es/v20180416/examples.json +8 -0
- tccli/services/gs/gs_client.py +216 -4
- tccli/services/gs/v20191118/api.json +201 -0
- tccli/services/gs/v20191118/examples.json +32 -0
- tccli/services/gwlb/v20240906/api.json +70 -0
- tccli/services/iai/v20180301/api.json +33 -24
- tccli/services/iai/v20180301/examples.json +4 -4
- tccli/services/lcic/v20220817/api.json +49 -3
- tccli/services/lke/lke_client.py +53 -0
- tccli/services/lke/v20231130/api.json +452 -15
- tccli/services/lke/v20231130/examples.json +8 -0
- tccli/services/lkeap/v20240522/api.json +1 -1
- tccli/services/mna/v20210119/api.json +10 -1
- tccli/services/mna/v20210119/examples.json +1 -1
- tccli/services/mps/v20190612/api.json +19 -0
- tccli/services/oceanus/oceanus_client.py +212 -0
- tccli/services/oceanus/v20190422/api.json +294 -0
- tccli/services/oceanus/v20190422/examples.json +32 -0
- tccli/services/ocr/v20181119/api.json +2 -2
- tccli/services/redis/v20180412/api.json +63 -33
- tccli/services/redis/v20180412/examples.json +1 -1
- tccli/services/sms/v20190711/api.json +1 -1
- tccli/services/sms/v20210111/api.json +1 -1
- tccli/services/sqlserver/v20180328/api.json +15 -5
- tccli/services/sqlserver/v20180328/examples.json +1 -1
- tccli/services/tat/v20201028/api.json +12 -2
- tccli/services/tcss/v20201101/api.json +6 -6
- tccli/services/tcss/v20201101/examples.json +1 -1
- tccli/services/tione/v20211111/api.json +2 -2
- tccli/services/trocket/v20230308/api.json +4 -4
- tccli/services/tsf/v20180326/api.json +2 -2
- tccli/services/vod/v20180717/api.json +7 -7
- tccli/services/vpc/v20170312/api.json +3 -3
- tccli/services/vtc/v20240223/api.json +1 -1
- tccli/services/waf/v20180125/api.json +8 -8
- tccli/services/waf/v20180125/examples.json +1 -1
- tccli/services/wedata/v20250806/api.json +13645 -0
- tccli/services/wedata/v20250806/examples.json +621 -0
- tccli/services/wedata/wedata_client.py +5031 -1157
- {tccli-3.0.1392.1.dist-info → tccli-3.0.1394.1.dist-info}/METADATA +2 -2
- {tccli-3.0.1392.1.dist-info → tccli-3.0.1394.1.dist-info}/RECORD +69 -67
- {tccli-3.0.1392.1.dist-info → tccli-3.0.1394.1.dist-info}/WHEEL +0 -0
- {tccli-3.0.1392.1.dist-info → tccli-3.0.1394.1.dist-info}/entry_points.txt +0 -0
- {tccli-3.0.1392.1.dist-info → tccli-3.0.1394.1.dist-info}/license_files/LICENSE +0 -0
tccli/services/gs/gs_client.py
CHANGED
@@ -693,7 +693,7 @@ def doModifyAndroidInstancesProperties(args, parsed_globals):
|
|
693
693
|
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
694
694
|
|
695
695
|
|
696
|
-
def
|
696
|
+
def doDeleteAndroidInstanceBackups(args, parsed_globals):
|
697
697
|
g_param = parse_global_arg(parsed_globals)
|
698
698
|
|
699
699
|
if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
|
@@ -722,11 +722,11 @@ def doCreateSession(args, parsed_globals):
|
|
722
722
|
client = mod.GsClient(cred, g_param[OptionsDefine.Region], profile)
|
723
723
|
client._sdkVersion += ("_CLI_" + __version__)
|
724
724
|
models = MODELS_MAP[g_param[OptionsDefine.Version]]
|
725
|
-
model = models.
|
725
|
+
model = models.DeleteAndroidInstanceBackupsRequest()
|
726
726
|
model.from_json_string(json.dumps(args))
|
727
727
|
start_time = time.time()
|
728
728
|
while True:
|
729
|
-
rsp = client.
|
729
|
+
rsp = client.DeleteAndroidInstanceBackups(model)
|
730
730
|
result = rsp.to_json_string()
|
731
731
|
try:
|
732
732
|
json_obj = json.loads(result)
|
@@ -1109,6 +1109,58 @@ def doStopAndroidInstancesApp(args, parsed_globals):
|
|
1109
1109
|
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
1110
1110
|
|
1111
1111
|
|
1112
|
+
def doRestoreAndroidInstance(args, parsed_globals):
|
1113
|
+
g_param = parse_global_arg(parsed_globals)
|
1114
|
+
|
1115
|
+
if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
|
1116
|
+
cred = credential.CVMRoleCredential()
|
1117
|
+
elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
|
1118
|
+
cred = credential.STSAssumeRoleCredential(
|
1119
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
|
1120
|
+
g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
|
1121
|
+
)
|
1122
|
+
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):
|
1123
|
+
cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
|
1124
|
+
else:
|
1125
|
+
cred = credential.Credential(
|
1126
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
|
1127
|
+
)
|
1128
|
+
http_profile = HttpProfile(
|
1129
|
+
reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
|
1130
|
+
reqMethod="POST",
|
1131
|
+
endpoint=g_param[OptionsDefine.Endpoint],
|
1132
|
+
proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
|
1133
|
+
)
|
1134
|
+
profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
|
1135
|
+
if g_param[OptionsDefine.Language]:
|
1136
|
+
profile.language = g_param[OptionsDefine.Language]
|
1137
|
+
mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
|
1138
|
+
client = mod.GsClient(cred, g_param[OptionsDefine.Region], profile)
|
1139
|
+
client._sdkVersion += ("_CLI_" + __version__)
|
1140
|
+
models = MODELS_MAP[g_param[OptionsDefine.Version]]
|
1141
|
+
model = models.RestoreAndroidInstanceRequest()
|
1142
|
+
model.from_json_string(json.dumps(args))
|
1143
|
+
start_time = time.time()
|
1144
|
+
while True:
|
1145
|
+
rsp = client.RestoreAndroidInstance(model)
|
1146
|
+
result = rsp.to_json_string()
|
1147
|
+
try:
|
1148
|
+
json_obj = json.loads(result)
|
1149
|
+
except TypeError as e:
|
1150
|
+
json_obj = json.loads(result.decode('utf-8')) # python3.3
|
1151
|
+
if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
|
1152
|
+
break
|
1153
|
+
cur_time = time.time()
|
1154
|
+
if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
|
1155
|
+
raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
|
1156
|
+
(g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
|
1157
|
+
search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
|
1158
|
+
else:
|
1159
|
+
print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
|
1160
|
+
time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
|
1161
|
+
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
1162
|
+
|
1163
|
+
|
1112
1164
|
def doTrylockWorker(args, parsed_globals):
|
1113
1165
|
g_param = parse_global_arg(parsed_globals)
|
1114
1166
|
|
@@ -1213,6 +1265,58 @@ def doDescribeAndroidInstanceImages(args, parsed_globals):
|
|
1213
1265
|
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
1214
1266
|
|
1215
1267
|
|
1268
|
+
def doCreateSession(args, parsed_globals):
|
1269
|
+
g_param = parse_global_arg(parsed_globals)
|
1270
|
+
|
1271
|
+
if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
|
1272
|
+
cred = credential.CVMRoleCredential()
|
1273
|
+
elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
|
1274
|
+
cred = credential.STSAssumeRoleCredential(
|
1275
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
|
1276
|
+
g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
|
1277
|
+
)
|
1278
|
+
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):
|
1279
|
+
cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
|
1280
|
+
else:
|
1281
|
+
cred = credential.Credential(
|
1282
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
|
1283
|
+
)
|
1284
|
+
http_profile = HttpProfile(
|
1285
|
+
reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
|
1286
|
+
reqMethod="POST",
|
1287
|
+
endpoint=g_param[OptionsDefine.Endpoint],
|
1288
|
+
proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
|
1289
|
+
)
|
1290
|
+
profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
|
1291
|
+
if g_param[OptionsDefine.Language]:
|
1292
|
+
profile.language = g_param[OptionsDefine.Language]
|
1293
|
+
mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
|
1294
|
+
client = mod.GsClient(cred, g_param[OptionsDefine.Region], profile)
|
1295
|
+
client._sdkVersion += ("_CLI_" + __version__)
|
1296
|
+
models = MODELS_MAP[g_param[OptionsDefine.Version]]
|
1297
|
+
model = models.CreateSessionRequest()
|
1298
|
+
model.from_json_string(json.dumps(args))
|
1299
|
+
start_time = time.time()
|
1300
|
+
while True:
|
1301
|
+
rsp = client.CreateSession(model)
|
1302
|
+
result = rsp.to_json_string()
|
1303
|
+
try:
|
1304
|
+
json_obj = json.loads(result)
|
1305
|
+
except TypeError as e:
|
1306
|
+
json_obj = json.loads(result.decode('utf-8')) # python3.3
|
1307
|
+
if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
|
1308
|
+
break
|
1309
|
+
cur_time = time.time()
|
1310
|
+
if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
|
1311
|
+
raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
|
1312
|
+
(g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
|
1313
|
+
search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
|
1314
|
+
else:
|
1315
|
+
print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
|
1316
|
+
time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
|
1317
|
+
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
1318
|
+
|
1319
|
+
|
1216
1320
|
def doStartAndroidInstancesApp(args, parsed_globals):
|
1217
1321
|
g_param = parse_global_arg(parsed_globals)
|
1218
1322
|
|
@@ -1369,6 +1473,58 @@ def doModifyAndroidInstancesResolution(args, parsed_globals):
|
|
1369
1473
|
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
1370
1474
|
|
1371
1475
|
|
1476
|
+
def doDescribeAndroidInstanceBackups(args, parsed_globals):
|
1477
|
+
g_param = parse_global_arg(parsed_globals)
|
1478
|
+
|
1479
|
+
if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
|
1480
|
+
cred = credential.CVMRoleCredential()
|
1481
|
+
elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
|
1482
|
+
cred = credential.STSAssumeRoleCredential(
|
1483
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
|
1484
|
+
g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
|
1485
|
+
)
|
1486
|
+
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):
|
1487
|
+
cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
|
1488
|
+
else:
|
1489
|
+
cred = credential.Credential(
|
1490
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
|
1491
|
+
)
|
1492
|
+
http_profile = HttpProfile(
|
1493
|
+
reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
|
1494
|
+
reqMethod="POST",
|
1495
|
+
endpoint=g_param[OptionsDefine.Endpoint],
|
1496
|
+
proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
|
1497
|
+
)
|
1498
|
+
profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
|
1499
|
+
if g_param[OptionsDefine.Language]:
|
1500
|
+
profile.language = g_param[OptionsDefine.Language]
|
1501
|
+
mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
|
1502
|
+
client = mod.GsClient(cred, g_param[OptionsDefine.Region], profile)
|
1503
|
+
client._sdkVersion += ("_CLI_" + __version__)
|
1504
|
+
models = MODELS_MAP[g_param[OptionsDefine.Version]]
|
1505
|
+
model = models.DescribeAndroidInstanceBackupsRequest()
|
1506
|
+
model.from_json_string(json.dumps(args))
|
1507
|
+
start_time = time.time()
|
1508
|
+
while True:
|
1509
|
+
rsp = client.DescribeAndroidInstanceBackups(model)
|
1510
|
+
result = rsp.to_json_string()
|
1511
|
+
try:
|
1512
|
+
json_obj = json.loads(result)
|
1513
|
+
except TypeError as e:
|
1514
|
+
json_obj = json.loads(result.decode('utf-8')) # python3.3
|
1515
|
+
if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
|
1516
|
+
break
|
1517
|
+
cur_time = time.time()
|
1518
|
+
if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
|
1519
|
+
raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
|
1520
|
+
(g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
|
1521
|
+
search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
|
1522
|
+
else:
|
1523
|
+
print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
|
1524
|
+
time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
|
1525
|
+
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
1526
|
+
|
1527
|
+
|
1372
1528
|
def doDeleteAndroidInstanceLabel(args, parsed_globals):
|
1373
1529
|
g_param = parse_global_arg(parsed_globals)
|
1374
1530
|
|
@@ -2305,6 +2461,58 @@ def doUploadFileToAndroidInstances(args, parsed_globals):
|
|
2305
2461
|
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
2306
2462
|
|
2307
2463
|
|
2464
|
+
def doBackUpAndroidInstance(args, parsed_globals):
|
2465
|
+
g_param = parse_global_arg(parsed_globals)
|
2466
|
+
|
2467
|
+
if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
|
2468
|
+
cred = credential.CVMRoleCredential()
|
2469
|
+
elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
|
2470
|
+
cred = credential.STSAssumeRoleCredential(
|
2471
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
|
2472
|
+
g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
|
2473
|
+
)
|
2474
|
+
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):
|
2475
|
+
cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
|
2476
|
+
else:
|
2477
|
+
cred = credential.Credential(
|
2478
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
|
2479
|
+
)
|
2480
|
+
http_profile = HttpProfile(
|
2481
|
+
reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
|
2482
|
+
reqMethod="POST",
|
2483
|
+
endpoint=g_param[OptionsDefine.Endpoint],
|
2484
|
+
proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
|
2485
|
+
)
|
2486
|
+
profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
|
2487
|
+
if g_param[OptionsDefine.Language]:
|
2488
|
+
profile.language = g_param[OptionsDefine.Language]
|
2489
|
+
mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
|
2490
|
+
client = mod.GsClient(cred, g_param[OptionsDefine.Region], profile)
|
2491
|
+
client._sdkVersion += ("_CLI_" + __version__)
|
2492
|
+
models = MODELS_MAP[g_param[OptionsDefine.Version]]
|
2493
|
+
model = models.BackUpAndroidInstanceRequest()
|
2494
|
+
model.from_json_string(json.dumps(args))
|
2495
|
+
start_time = time.time()
|
2496
|
+
while True:
|
2497
|
+
rsp = client.BackUpAndroidInstance(model)
|
2498
|
+
result = rsp.to_json_string()
|
2499
|
+
try:
|
2500
|
+
json_obj = json.loads(result)
|
2501
|
+
except TypeError as e:
|
2502
|
+
json_obj = json.loads(result.decode('utf-8')) # python3.3
|
2503
|
+
if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
|
2504
|
+
break
|
2505
|
+
cur_time = time.time()
|
2506
|
+
if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
|
2507
|
+
raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
|
2508
|
+
(g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
|
2509
|
+
search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
|
2510
|
+
else:
|
2511
|
+
print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
|
2512
|
+
time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
|
2513
|
+
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
2514
|
+
|
2515
|
+
|
2308
2516
|
def doModifyAndroidApp(args, parsed_globals):
|
2309
2517
|
g_param = parse_global_arg(parsed_globals)
|
2310
2518
|
|
@@ -4045,7 +4253,7 @@ ACTION_MAP = {
|
|
4045
4253
|
"UninstallAndroidInstancesApp": doUninstallAndroidInstancesApp,
|
4046
4254
|
"CreateAndroidInstanceImage": doCreateAndroidInstanceImage,
|
4047
4255
|
"ModifyAndroidInstancesProperties": doModifyAndroidInstancesProperties,
|
4048
|
-
"
|
4256
|
+
"DeleteAndroidInstanceBackups": doDeleteAndroidInstanceBackups,
|
4049
4257
|
"ModifyAndroidInstancesInformation": doModifyAndroidInstancesInformation,
|
4050
4258
|
"DeleteAndroidInstanceImages": doDeleteAndroidInstanceImages,
|
4051
4259
|
"DistributeFileToAndroidInstances": doDistributeFileToAndroidInstances,
|
@@ -4053,11 +4261,14 @@ ACTION_MAP = {
|
|
4053
4261
|
"CreateAndroidInstances": doCreateAndroidInstances,
|
4054
4262
|
"RebootAndroidInstances": doRebootAndroidInstances,
|
4055
4263
|
"StopAndroidInstancesApp": doStopAndroidInstancesApp,
|
4264
|
+
"RestoreAndroidInstance": doRestoreAndroidInstance,
|
4056
4265
|
"TrylockWorker": doTrylockWorker,
|
4057
4266
|
"DescribeAndroidInstanceImages": doDescribeAndroidInstanceImages,
|
4267
|
+
"CreateSession": doCreateSession,
|
4058
4268
|
"StartAndroidInstancesApp": doStartAndroidInstancesApp,
|
4059
4269
|
"RestartAndroidInstancesApp": doRestartAndroidInstancesApp,
|
4060
4270
|
"ModifyAndroidInstancesResolution": doModifyAndroidInstancesResolution,
|
4271
|
+
"DescribeAndroidInstanceBackups": doDescribeAndroidInstanceBackups,
|
4061
4272
|
"DeleteAndroidInstanceLabel": doDeleteAndroidInstanceLabel,
|
4062
4273
|
"DistributeAndroidInstanceImageToHosts": doDistributeAndroidInstanceImageToHosts,
|
4063
4274
|
"CreateAndroidInstanceLabel": doCreateAndroidInstanceLabel,
|
@@ -4076,6 +4287,7 @@ ACTION_MAP = {
|
|
4076
4287
|
"ModifyAndroidInstanceInformation": doModifyAndroidInstanceInformation,
|
4077
4288
|
"ModifyAndroidInstancesAppBlacklist": doModifyAndroidInstancesAppBlacklist,
|
4078
4289
|
"UploadFileToAndroidInstances": doUploadFileToAndroidInstances,
|
4290
|
+
"BackUpAndroidInstance": doBackUpAndroidInstance,
|
4079
4291
|
"ModifyAndroidApp": doModifyAndroidApp,
|
4080
4292
|
"SyncAndroidInstanceImage": doSyncAndroidInstanceImage,
|
4081
4293
|
"ModifyAndroidInstanceResolution": doModifyAndroidInstanceResolution,
|
@@ -1,5 +1,12 @@
|
|
1
1
|
{
|
2
2
|
"actions": {
|
3
|
+
"BackUpAndroidInstance": {
|
4
|
+
"document": "备份安卓实例。该接口需要联系我们开通内网存储才能使用。",
|
5
|
+
"input": "BackUpAndroidInstanceRequest",
|
6
|
+
"name": "备份安卓实例",
|
7
|
+
"output": "BackUpAndroidInstanceResponse",
|
8
|
+
"status": "online"
|
9
|
+
},
|
3
10
|
"BackUpAndroidInstanceToStorage": {
|
4
11
|
"document": "备份云手机数据到指定存储,支持 COS 和兼容 AWS S3 协议的对象存储服务。如果是备份到 COS 时,会使用公网流量,授权 COS bucket 请在控制台中操作。",
|
5
12
|
"input": "BackUpAndroidInstanceToStorageRequest",
|
@@ -133,6 +140,13 @@
|
|
133
140
|
"output": "DeleteAndroidInstanceBackupFilesResponse",
|
134
141
|
"status": "online"
|
135
142
|
},
|
143
|
+
"DeleteAndroidInstanceBackups": {
|
144
|
+
"document": "批量删除安卓实例备份",
|
145
|
+
"input": "DeleteAndroidInstanceBackupsRequest",
|
146
|
+
"name": "批量删除安卓实例备份",
|
147
|
+
"output": "DeleteAndroidInstanceBackupsResponse",
|
148
|
+
"status": "online"
|
149
|
+
},
|
136
150
|
"DeleteAndroidInstanceImages": {
|
137
151
|
"document": "删除安卓实例镜像",
|
138
152
|
"input": "DeleteAndroidInstanceImagesRequest",
|
@@ -161,6 +175,13 @@
|
|
161
175
|
"output": "DescribeAndroidInstanceAppsResponse",
|
162
176
|
"status": "online"
|
163
177
|
},
|
178
|
+
"DescribeAndroidInstanceBackups": {
|
179
|
+
"document": "查询安卓实例备份列表",
|
180
|
+
"input": "DescribeAndroidInstanceBackupsRequest",
|
181
|
+
"name": "查询安卓实例备份列表",
|
182
|
+
"output": "DescribeAndroidInstanceBackupsResponse",
|
183
|
+
"status": "online"
|
184
|
+
},
|
164
185
|
"DescribeAndroidInstanceImages": {
|
165
186
|
"document": "查询安卓实例镜像信息,当镜像的 AndroidInstanceImageState 为 NORMAL 时,镜像处于可用状态。",
|
166
187
|
"input": "DescribeAndroidInstanceImagesRequest",
|
@@ -406,6 +427,13 @@
|
|
406
427
|
"output": "RestartAndroidInstancesAppResponse",
|
407
428
|
"status": "online"
|
408
429
|
},
|
430
|
+
"RestoreAndroidInstance": {
|
431
|
+
"document": "还原安卓实例。该接口需要联系我们开通内网存储才能使用。",
|
432
|
+
"input": "RestoreAndroidInstanceRequest",
|
433
|
+
"name": "还原安卓实例",
|
434
|
+
"output": "RestoreAndroidInstanceResponse",
|
435
|
+
"status": "online"
|
436
|
+
},
|
409
437
|
"RestoreAndroidInstanceFromStorage": {
|
410
438
|
"document": "使用指定存储数据还原云手机,支持 COS 和兼容 AWS S3 协议的对象存储服务。如果还原数据来自 COS 时,会使用公网流量,授权 COS bucket 请在控制台中操作。",
|
411
439
|
"input": "RestoreAndroidInstanceFromStorageRequest",
|
@@ -1516,6 +1544,61 @@
|
|
1516
1544
|
],
|
1517
1545
|
"usage": "both"
|
1518
1546
|
},
|
1547
|
+
"BackUpAndroidInstanceRequest": {
|
1548
|
+
"document": "BackUpAndroidInstance请求参数结构体",
|
1549
|
+
"members": [
|
1550
|
+
{
|
1551
|
+
"disabled": false,
|
1552
|
+
"document": "安卓实例ID",
|
1553
|
+
"example": "cai-1a2b3c4d",
|
1554
|
+
"member": "string",
|
1555
|
+
"name": "AndroidInstanceId",
|
1556
|
+
"required": true,
|
1557
|
+
"type": "string"
|
1558
|
+
},
|
1559
|
+
{
|
1560
|
+
"disabled": false,
|
1561
|
+
"document": "包含的路径,支持仅含一个通配符*,通配符不能出现在路径开始",
|
1562
|
+
"example": "[ \"/data/tmp/\"]",
|
1563
|
+
"member": "string",
|
1564
|
+
"name": "Includes",
|
1565
|
+
"required": false,
|
1566
|
+
"type": "list"
|
1567
|
+
},
|
1568
|
+
{
|
1569
|
+
"disabled": false,
|
1570
|
+
"document": "需要排除路径,支持仅含一个通配符*,通配符不能出现在路径开始",
|
1571
|
+
"example": "[ \"/data/tmp/\"]",
|
1572
|
+
"member": "string",
|
1573
|
+
"name": "Excludes",
|
1574
|
+
"required": false,
|
1575
|
+
"type": "list"
|
1576
|
+
}
|
1577
|
+
],
|
1578
|
+
"type": "object"
|
1579
|
+
},
|
1580
|
+
"BackUpAndroidInstanceResponse": {
|
1581
|
+
"document": "BackUpAndroidInstance返回参数结构体",
|
1582
|
+
"members": [
|
1583
|
+
{
|
1584
|
+
"disabled": false,
|
1585
|
+
"document": "备份 ID",
|
1586
|
+
"example": "backup-1a2b",
|
1587
|
+
"member": "string",
|
1588
|
+
"name": "BackupId",
|
1589
|
+
"output_required": true,
|
1590
|
+
"type": "string",
|
1591
|
+
"value_allowed_null": false
|
1592
|
+
},
|
1593
|
+
{
|
1594
|
+
"document": "唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。",
|
1595
|
+
"member": "string",
|
1596
|
+
"name": "RequestId",
|
1597
|
+
"type": "string"
|
1598
|
+
}
|
1599
|
+
],
|
1600
|
+
"type": "object"
|
1601
|
+
},
|
1519
1602
|
"BackUpAndroidInstanceToStorageRequest": {
|
1520
1603
|
"document": "BackUpAndroidInstanceToStorage请求参数结构体",
|
1521
1604
|
"members": [
|
@@ -2900,6 +2983,33 @@
|
|
2900
2983
|
],
|
2901
2984
|
"type": "object"
|
2902
2985
|
},
|
2986
|
+
"DeleteAndroidInstanceBackupsRequest": {
|
2987
|
+
"document": "DeleteAndroidInstanceBackups请求参数结构体",
|
2988
|
+
"members": [
|
2989
|
+
{
|
2990
|
+
"disabled": false,
|
2991
|
+
"document": "备份ID列表",
|
2992
|
+
"example": "[\"backup-1a2b\"]",
|
2993
|
+
"member": "string",
|
2994
|
+
"name": "BackupIds",
|
2995
|
+
"required": true,
|
2996
|
+
"type": "list"
|
2997
|
+
}
|
2998
|
+
],
|
2999
|
+
"type": "object"
|
3000
|
+
},
|
3001
|
+
"DeleteAndroidInstanceBackupsResponse": {
|
3002
|
+
"document": "DeleteAndroidInstanceBackups返回参数结构体",
|
3003
|
+
"members": [
|
3004
|
+
{
|
3005
|
+
"document": "唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。",
|
3006
|
+
"member": "string",
|
3007
|
+
"name": "RequestId",
|
3008
|
+
"type": "string"
|
3009
|
+
}
|
3010
|
+
],
|
3011
|
+
"type": "object"
|
3012
|
+
},
|
2903
3013
|
"DeleteAndroidInstanceImagesRequest": {
|
2904
3014
|
"document": "DeleteAndroidInstanceImages请求参数结构体",
|
2905
3015
|
"members": [
|
@@ -3074,6 +3184,51 @@
|
|
3074
3184
|
],
|
3075
3185
|
"type": "object"
|
3076
3186
|
},
|
3187
|
+
"DescribeAndroidInstanceBackupsRequest": {
|
3188
|
+
"document": "DescribeAndroidInstanceBackups请求参数结构体",
|
3189
|
+
"members": [
|
3190
|
+
{
|
3191
|
+
"disabled": false,
|
3192
|
+
"document": "备份ID列表",
|
3193
|
+
"example": "[\"backup-1a2b\"]",
|
3194
|
+
"member": "string",
|
3195
|
+
"name": "BackupIds",
|
3196
|
+
"required": false,
|
3197
|
+
"type": "list"
|
3198
|
+
},
|
3199
|
+
{
|
3200
|
+
"disabled": false,
|
3201
|
+
"document": "分页偏移",
|
3202
|
+
"example": "10",
|
3203
|
+
"member": "int64",
|
3204
|
+
"name": "Offset",
|
3205
|
+
"required": false,
|
3206
|
+
"type": "int"
|
3207
|
+
},
|
3208
|
+
{
|
3209
|
+
"disabled": false,
|
3210
|
+
"document": "每页数量",
|
3211
|
+
"example": "100",
|
3212
|
+
"member": "int64",
|
3213
|
+
"name": "Limit",
|
3214
|
+
"required": false,
|
3215
|
+
"type": "int"
|
3216
|
+
}
|
3217
|
+
],
|
3218
|
+
"type": "object"
|
3219
|
+
},
|
3220
|
+
"DescribeAndroidInstanceBackupsResponse": {
|
3221
|
+
"document": "DescribeAndroidInstanceBackups返回参数结构体",
|
3222
|
+
"members": [
|
3223
|
+
{
|
3224
|
+
"document": "唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。",
|
3225
|
+
"member": "string",
|
3226
|
+
"name": "RequestId",
|
3227
|
+
"type": "string"
|
3228
|
+
}
|
3229
|
+
],
|
3230
|
+
"type": "object"
|
3231
|
+
},
|
3077
3232
|
"DescribeAndroidInstanceImagesRequest": {
|
3078
3233
|
"document": "DescribeAndroidInstanceImages请求参数结构体",
|
3079
3234
|
"members": [
|
@@ -5153,6 +5308,52 @@
|
|
5153
5308
|
],
|
5154
5309
|
"type": "object"
|
5155
5310
|
},
|
5311
|
+
"RestoreAndroidInstanceRequest": {
|
5312
|
+
"document": "RestoreAndroidInstance请求参数结构体",
|
5313
|
+
"members": [
|
5314
|
+
{
|
5315
|
+
"disabled": false,
|
5316
|
+
"document": "安卓实例 ID",
|
5317
|
+
"example": "cai-1a2b3c4d",
|
5318
|
+
"member": "string",
|
5319
|
+
"name": "AndroidInstanceId",
|
5320
|
+
"required": true,
|
5321
|
+
"type": "string"
|
5322
|
+
},
|
5323
|
+
{
|
5324
|
+
"disabled": false,
|
5325
|
+
"document": "备份 ID",
|
5326
|
+
"example": "backup-1a2b",
|
5327
|
+
"member": "string",
|
5328
|
+
"name": "BackupId",
|
5329
|
+
"required": true,
|
5330
|
+
"type": "string"
|
5331
|
+
}
|
5332
|
+
],
|
5333
|
+
"type": "object"
|
5334
|
+
},
|
5335
|
+
"RestoreAndroidInstanceResponse": {
|
5336
|
+
"document": "RestoreAndroidInstance返回参数结构体",
|
5337
|
+
"members": [
|
5338
|
+
{
|
5339
|
+
"disabled": false,
|
5340
|
+
"document": "实例任务 ID",
|
5341
|
+
"example": "任务 ID",
|
5342
|
+
"member": "string",
|
5343
|
+
"name": "TaskId",
|
5344
|
+
"output_required": true,
|
5345
|
+
"type": "string",
|
5346
|
+
"value_allowed_null": false
|
5347
|
+
},
|
5348
|
+
{
|
5349
|
+
"document": "唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。",
|
5350
|
+
"member": "string",
|
5351
|
+
"name": "RequestId",
|
5352
|
+
"type": "string"
|
5353
|
+
}
|
5354
|
+
],
|
5355
|
+
"type": "object"
|
5356
|
+
},
|
5156
5357
|
"S3Options": {
|
5157
5358
|
"document": "S3协议参数",
|
5158
5359
|
"members": [
|
@@ -1,5 +1,13 @@
|
|
1
1
|
{
|
2
2
|
"actions": {
|
3
|
+
"BackUpAndroidInstance": [
|
4
|
+
{
|
5
|
+
"document": "示例",
|
6
|
+
"input": "POST / HTTP/1.1\nHost: gs.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: BackUpAndroidInstance\n<公共请求参数>\n\n{\n \"AndroidInstanceId\": \"cai-251006279-fe2d6u0dry4\",\n \"Includes\": [\n \"/data/misc/\"\n ]\n}",
|
7
|
+
"output": "{\n \"Response\": {\n \"BackupId\": \"cai-251006279-fe2d6u0dry4-20250814194831\",\n \"RequestId\": \"d8b4d88f-f1ee-46af-80b6-a82e8d0efecd\"\n }\n}",
|
8
|
+
"title": "示例"
|
9
|
+
}
|
10
|
+
],
|
3
11
|
"BackUpAndroidInstanceToStorage": [
|
4
12
|
{
|
5
13
|
"document": "示例",
|
@@ -158,6 +166,14 @@
|
|
158
166
|
"title": "示例"
|
159
167
|
}
|
160
168
|
],
|
169
|
+
"DeleteAndroidInstanceBackups": [
|
170
|
+
{
|
171
|
+
"document": "示例",
|
172
|
+
"input": "POST / HTTP/1.1\nHost: gs.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: DeleteAndroidInstanceBackups\n<公共请求参数>\n\n{\n \"BackupIds\": [\n \"cai-251006279-fe2d6u0dry4-20250814193859\"\n ]\n}",
|
173
|
+
"output": "{\n \"Response\": {\n \"RequestId\": \"ae7f7eb2-7c82-4278-bb50-34a132714218\"\n }\n}",
|
174
|
+
"title": "示例"
|
175
|
+
}
|
176
|
+
],
|
161
177
|
"DeleteAndroidInstanceImages": [
|
162
178
|
{
|
163
179
|
"document": "删除安卓实例镜像",
|
@@ -190,6 +206,14 @@
|
|
190
206
|
"title": "查询安卓实例应用"
|
191
207
|
}
|
192
208
|
],
|
209
|
+
"DescribeAndroidInstanceBackups": [
|
210
|
+
{
|
211
|
+
"document": "示例",
|
212
|
+
"input": "POST / HTTP/1.1\nHost: gs.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: DescribeAndroidInstanceBackups\n<公共请求参数>\n\n{}",
|
213
|
+
"output": "{\n \"Response\": {\n \"RequestId\": \"249a2ab6-3259-4bec-8683-bbf03492e894\"\n }\n}",
|
214
|
+
"title": "示例"
|
215
|
+
}
|
216
|
+
],
|
193
217
|
"DescribeAndroidInstanceImages": [
|
194
218
|
{
|
195
219
|
"document": "查询安卓实例镜像",
|
@@ -470,6 +494,14 @@
|
|
470
494
|
"title": "示例"
|
471
495
|
}
|
472
496
|
],
|
497
|
+
"RestoreAndroidInstance": [
|
498
|
+
{
|
499
|
+
"document": "示例",
|
500
|
+
"input": "POST / HTTP/1.1\nHost: gs.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: RestoreAndroidInstance\n<公共请求参数>\n\n{\n \"AndroidInstanceId\": \"cai-251006279-fe2dmi83dvo\",\n \"BackupId\": \"cai-251006279-fe2d6u0dry4-20250814194831\"\n}",
|
501
|
+
"output": "{\n \"Response\": {\n \"RequestId\": \"84f5461e-175b-4dde-bafc-e009900b831b\",\n \"TaskId\": \"6f082b31-9400-4c54-97ab-0a36dd788925\"\n }\n}",
|
502
|
+
"title": "示例"
|
503
|
+
}
|
504
|
+
],
|
473
505
|
"RestoreAndroidInstanceFromStorage": [
|
474
506
|
{
|
475
507
|
"document": "示例",
|