tccli 3.0.1188.1__py2.py3-none-any.whl → 3.0.1190.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.
Files changed (61) hide show
  1. tccli/__init__.py +1 -1
  2. tccli/services/__init__.py +2 -1
  3. tccli/services/aiart/aiart_client.py +53 -0
  4. tccli/services/aiart/v20221229/api.json +107 -0
  5. tccli/services/aiart/v20221229/examples.json +8 -0
  6. tccli/services/apm/v20210622/api.json +3 -1
  7. tccli/services/billing/v20180709/api.json +3 -0
  8. tccli/services/billing/v20180709/examples.json +1 -1
  9. tccli/services/cfg/v20210820/api.json +20 -5
  10. tccli/services/cfw/v20190904/api.json +82 -2
  11. tccli/services/ckafka/v20190819/api.json +5 -5
  12. tccli/services/dcdb/dcdb_client.py +106 -0
  13. tccli/services/dcdb/v20180411/api.json +318 -0
  14. tccli/services/dcdb/v20180411/examples.json +28 -0
  15. tccli/services/dnspod/dnspod_client.py +53 -0
  16. tccli/services/dnspod/v20210323/api.json +118 -0
  17. tccli/services/dnspod/v20210323/examples.json +8 -0
  18. tccli/services/emr/emr_client.py +269 -4
  19. tccli/services/emr/v20190103/api.json +591 -0
  20. tccli/services/emr/v20190103/examples.json +46 -0
  21. tccli/services/es/es_client.py +53 -0
  22. tccli/services/es/v20180416/api.json +54 -0
  23. tccli/services/es/v20180416/examples.json +14 -0
  24. tccli/services/ess/v20201111/api.json +9 -9
  25. tccli/services/ess/v20201111/examples.json +7 -1
  26. tccli/services/essbasic/essbasic_client.py +53 -0
  27. tccli/services/essbasic/v20210526/api.json +120 -0
  28. tccli/services/essbasic/v20210526/examples.json +14 -0
  29. tccli/services/iotexplorer/v20190423/api.json +2 -2
  30. tccli/services/iss/iss_client.py +118 -65
  31. tccli/services/iss/v20230517/api.json +78 -0
  32. tccli/services/iss/v20230517/examples.json +8 -0
  33. tccli/services/mariadb/mariadb_client.py +110 -4
  34. tccli/services/mariadb/v20170312/api.json +318 -0
  35. tccli/services/mariadb/v20170312/examples.json +16 -0
  36. tccli/services/mps/v20190612/api.json +131 -3
  37. tccli/services/ocr/v20181119/api.json +22 -2
  38. tccli/services/redis/redis_client.py +110 -4
  39. tccli/services/redis/v20180412/api.json +209 -0
  40. tccli/services/redis/v20180412/examples.json +16 -0
  41. tccli/services/sms/v20210111/api.json +9 -9
  42. tccli/services/ssl/v20191205/api.json +3 -3
  43. tccli/services/ssl/v20191205/examples.json +2 -2
  44. tccli/services/teo/v20220901/api.json +14 -14
  45. tccli/services/tke/tke_client.py +364 -46
  46. tccli/services/tke/v20180525/api.json +9 -0
  47. tccli/services/tke/v20220501/api.json +525 -0
  48. tccli/services/tke/v20220501/examples.json +54 -0
  49. tccli/services/tsf/v20180326/api.json +74 -29
  50. tccli/services/vdb/v20230616/api.json +491 -0
  51. tccli/services/vdb/v20230616/examples.json +46 -0
  52. tccli/services/vdb/vdb_client.py +265 -0
  53. tccli/services/vod/v20240718/api.json +121 -0
  54. tccli/services/vod/v20240718/examples.json +31 -0
  55. tccli/services/vod/vod_client.py +58 -0
  56. tccli/services/vpc/v20170312/api.json +13 -4
  57. {tccli-3.0.1188.1.dist-info → tccli-3.0.1190.1.dist-info}/METADATA +2 -2
  58. {tccli-3.0.1188.1.dist-info → tccli-3.0.1190.1.dist-info}/RECORD +61 -59
  59. {tccli-3.0.1188.1.dist-info → tccli-3.0.1190.1.dist-info}/WHEEL +0 -0
  60. {tccli-3.0.1188.1.dist-info → tccli-3.0.1190.1.dist-info}/entry_points.txt +0 -0
  61. {tccli-3.0.1188.1.dist-info → tccli-3.0.1190.1.dist-info}/license_files/LICENSE +0 -0
@@ -231,6 +231,13 @@
231
231
  "output": "DescribeDomainShareInfoResponse",
232
232
  "status": "online"
233
233
  },
234
+ "DescribeDomainShareUserList": {
235
+ "document": "获取指定域名的已共享列表",
236
+ "input": "DescribeDomainShareUserListRequest",
237
+ "name": "获取指定域名的已共享列表",
238
+ "output": "DescribeDomainShareUserListResponse",
239
+ "status": "online"
240
+ },
234
241
  "DescribeDomainWhois": {
235
242
  "document": "获取域名Whois信息",
236
243
  "input": "DescribeDomainWhoisRequest",
@@ -3531,6 +3538,51 @@
3531
3538
  ],
3532
3539
  "type": "object"
3533
3540
  },
3541
+ "DescribeDomainShareUserListRequest": {
3542
+ "document": "DescribeDomainShareUserList请求参数结构体",
3543
+ "members": [
3544
+ {
3545
+ "disabled": false,
3546
+ "document": "域名",
3547
+ "example": "dnspod.cn",
3548
+ "member": "string",
3549
+ "name": "Domain",
3550
+ "required": true,
3551
+ "type": "string"
3552
+ },
3553
+ {
3554
+ "disabled": false,
3555
+ "document": "域名 ID 。参数 DomainId 优先级比参数 Domain 高,如果传递参数 DomainId 将忽略参数 Domain 。可以通过接口DescribeDomainList查到所有的Domain以及DomainId",
3556
+ "example": "61",
3557
+ "member": "uint64",
3558
+ "name": "DomainId",
3559
+ "required": false,
3560
+ "type": "int"
3561
+ }
3562
+ ],
3563
+ "type": "object"
3564
+ },
3565
+ "DescribeDomainShareUserListResponse": {
3566
+ "document": "DescribeDomainShareUserList返回参数结构体",
3567
+ "members": [
3568
+ {
3569
+ "disabled": false,
3570
+ "document": "域名套餐信息",
3571
+ "example": "无",
3572
+ "member": "DomainShareUserInfo",
3573
+ "name": "DomainShareList",
3574
+ "type": "list",
3575
+ "value_allowed_null": false
3576
+ },
3577
+ {
3578
+ "document": "唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。",
3579
+ "member": "string",
3580
+ "name": "RequestId",
3581
+ "type": "string"
3582
+ }
3583
+ ],
3584
+ "type": "object"
3585
+ },
3534
3586
  "DescribeDomainWhoisRequest": {
3535
3587
  "document": "DescribeDomainWhois请求参数结构体",
3536
3588
  "members": [
@@ -5873,6 +5925,72 @@
5873
5925
  ],
5874
5926
  "usage": "out"
5875
5927
  },
5928
+ "DomainShareUserInfo": {
5929
+ "document": "域名共享信息",
5930
+ "members": [
5931
+ {
5932
+ "disabled": false,
5933
+ "document": "共享记录ID",
5934
+ "example": "21253",
5935
+ "member": "uint64",
5936
+ "name": "DomainShareId",
5937
+ "required": false,
5938
+ "type": "int",
5939
+ "value_allowed_null": false
5940
+ },
5941
+ {
5942
+ "disabled": false,
5943
+ "document": "共享模式。r-只读;w-可写;rw-可读写。\n注意:此字段可能返回 null,表示取不到有效值。",
5944
+ "example": "rw",
5945
+ "member": "string",
5946
+ "name": "Mode",
5947
+ "required": false,
5948
+ "type": "string",
5949
+ "value_allowed_null": true
5950
+ },
5951
+ {
5952
+ "disabled": false,
5953
+ "document": "共享到的用户昵称\n注意:此字段可能返回 null,表示取不到有效值。",
5954
+ "example": "张三",
5955
+ "member": "string",
5956
+ "name": "Nickname",
5957
+ "required": false,
5958
+ "type": "string",
5959
+ "value_allowed_null": true
5960
+ },
5961
+ {
5962
+ "disabled": false,
5963
+ "document": "共享到的用户UIN\n注意:此字段可能返回 null,表示取不到有效值。",
5964
+ "example": "700000283316",
5965
+ "member": "string",
5966
+ "name": "QCloudUIN",
5967
+ "required": false,
5968
+ "type": "string",
5969
+ "value_allowed_null": true
5970
+ },
5971
+ {
5972
+ "disabled": false,
5973
+ "document": "共享状态。enabled-有效;pause-无效。\n注意:此字段可能返回 null,表示取不到有效值。",
5974
+ "example": "enabled",
5975
+ "member": "string",
5976
+ "name": "Status",
5977
+ "required": false,
5978
+ "type": "string",
5979
+ "value_allowed_null": true
5980
+ },
5981
+ {
5982
+ "disabled": false,
5983
+ "document": "共享的子域名\n注意:此字段可能返回 null,表示取不到有效值。",
5984
+ "example": "api",
5985
+ "member": "string",
5986
+ "name": "SubDomain",
5987
+ "required": false,
5988
+ "type": "string",
5989
+ "value_allowed_null": true
5990
+ }
5991
+ ],
5992
+ "usage": "out"
5993
+ },
5876
5994
  "DownloadSnapshotRequest": {
5877
5995
  "document": "DownloadSnapshot请求参数结构体",
5878
5996
  "members": [
@@ -276,6 +276,14 @@
276
276
  "title": "获取域名共享信息"
277
277
  }
278
278
  ],
279
+ "DescribeDomainShareUserList": [
280
+ {
281
+ "document": "获取指定域名的已共享列表",
282
+ "input": "POST / HTTP/1.1\nHost: dnspod.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: DescribeDomainShareUserList\n<公共请求参数>\n\n{\n \"Domain\": \"example.com\"\n}",
283
+ "output": "{\n \"Response\": {\n \"RequestId\": \"1dbb40a1-8834-43e2-bae0-c5e2d0823944\",\n \"DomainShareList\": [\n {\n \"DomainShareId\": 21253,\n \"Mode\": \"rw\",\n \"Nickname\": \"我的测试环境企业\",\n \"QCloudUIN\": \"700000283316\",\n \"Status\": \"enabled\",\n \"SubDomain\": \"\"\n }\n ]\n }\n}",
284
+ "title": "获取指定域名的已共享列表"
285
+ }
286
+ ],
279
287
  "DescribeDomainWhois": [
280
288
  {
281
289
  "document": "获取域名Whois信息",
@@ -1213,6 +1213,58 @@ def doDeleteUserManagerUserList(args, parsed_globals):
1213
1213
  FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
1214
1214
 
1215
1215
 
1216
+ def doTerminateSLInstance(args, parsed_globals):
1217
+ g_param = parse_global_arg(parsed_globals)
1218
+
1219
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
1220
+ cred = credential.CVMRoleCredential()
1221
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
1222
+ cred = credential.STSAssumeRoleCredential(
1223
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
1224
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
1225
+ )
1226
+ 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):
1227
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
1228
+ else:
1229
+ cred = credential.Credential(
1230
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
1231
+ )
1232
+ http_profile = HttpProfile(
1233
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
1234
+ reqMethod="POST",
1235
+ endpoint=g_param[OptionsDefine.Endpoint],
1236
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
1237
+ )
1238
+ profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
1239
+ if g_param[OptionsDefine.Language]:
1240
+ profile.language = g_param[OptionsDefine.Language]
1241
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
1242
+ client = mod.EmrClient(cred, g_param[OptionsDefine.Region], profile)
1243
+ client._sdkVersion += ("_CLI_" + __version__)
1244
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
1245
+ model = models.TerminateSLInstanceRequest()
1246
+ model.from_json_string(json.dumps(args))
1247
+ start_time = time.time()
1248
+ while True:
1249
+ rsp = client.TerminateSLInstance(model)
1250
+ result = rsp.to_json_string()
1251
+ try:
1252
+ json_obj = json.loads(result)
1253
+ except TypeError as e:
1254
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
1255
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
1256
+ break
1257
+ cur_time = time.time()
1258
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
1259
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
1260
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
1261
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
1262
+ else:
1263
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
1264
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
1265
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
1266
+
1267
+
1216
1268
  def doAddUsersForUserManager(args, parsed_globals):
1217
1269
  g_param = parse_global_arg(parsed_globals)
1218
1270
 
@@ -1317,6 +1369,110 @@ def doModifyAutoRenewFlag(args, parsed_globals):
1317
1369
  FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
1318
1370
 
1319
1371
 
1372
+ def doCreateSLInstance(args, parsed_globals):
1373
+ g_param = parse_global_arg(parsed_globals)
1374
+
1375
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
1376
+ cred = credential.CVMRoleCredential()
1377
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
1378
+ cred = credential.STSAssumeRoleCredential(
1379
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
1380
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
1381
+ )
1382
+ 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):
1383
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
1384
+ else:
1385
+ cred = credential.Credential(
1386
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
1387
+ )
1388
+ http_profile = HttpProfile(
1389
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
1390
+ reqMethod="POST",
1391
+ endpoint=g_param[OptionsDefine.Endpoint],
1392
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
1393
+ )
1394
+ profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
1395
+ if g_param[OptionsDefine.Language]:
1396
+ profile.language = g_param[OptionsDefine.Language]
1397
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
1398
+ client = mod.EmrClient(cred, g_param[OptionsDefine.Region], profile)
1399
+ client._sdkVersion += ("_CLI_" + __version__)
1400
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
1401
+ model = models.CreateSLInstanceRequest()
1402
+ model.from_json_string(json.dumps(args))
1403
+ start_time = time.time()
1404
+ while True:
1405
+ rsp = client.CreateSLInstance(model)
1406
+ result = rsp.to_json_string()
1407
+ try:
1408
+ json_obj = json.loads(result)
1409
+ except TypeError as e:
1410
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
1411
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
1412
+ break
1413
+ cur_time = time.time()
1414
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
1415
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
1416
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
1417
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
1418
+ else:
1419
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
1420
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
1421
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
1422
+
1423
+
1424
+ def doDescribeSLInstanceList(args, parsed_globals):
1425
+ g_param = parse_global_arg(parsed_globals)
1426
+
1427
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
1428
+ cred = credential.CVMRoleCredential()
1429
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
1430
+ cred = credential.STSAssumeRoleCredential(
1431
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
1432
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
1433
+ )
1434
+ 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):
1435
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
1436
+ else:
1437
+ cred = credential.Credential(
1438
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
1439
+ )
1440
+ http_profile = HttpProfile(
1441
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
1442
+ reqMethod="POST",
1443
+ endpoint=g_param[OptionsDefine.Endpoint],
1444
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
1445
+ )
1446
+ profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
1447
+ if g_param[OptionsDefine.Language]:
1448
+ profile.language = g_param[OptionsDefine.Language]
1449
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
1450
+ client = mod.EmrClient(cred, g_param[OptionsDefine.Region], profile)
1451
+ client._sdkVersion += ("_CLI_" + __version__)
1452
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
1453
+ model = models.DescribeSLInstanceListRequest()
1454
+ model.from_json_string(json.dumps(args))
1455
+ start_time = time.time()
1456
+ while True:
1457
+ rsp = client.DescribeSLInstanceList(model)
1458
+ result = rsp.to_json_string()
1459
+ try:
1460
+ json_obj = json.loads(result)
1461
+ except TypeError as e:
1462
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
1463
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
1464
+ break
1465
+ cur_time = time.time()
1466
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
1467
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
1468
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
1469
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
1470
+ else:
1471
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
1472
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
1473
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
1474
+
1475
+
1320
1476
  def doDescribeJobFlow(args, parsed_globals):
1321
1477
  g_param = parse_global_arg(parsed_globals)
1322
1478
 
@@ -1681,7 +1837,7 @@ def doDescribeResourceScheduleDiffDetail(args, parsed_globals):
1681
1837
  FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
1682
1838
 
1683
1839
 
1684
- def doSyncPodState(args, parsed_globals):
1840
+ def doDescribeSLInstance(args, parsed_globals):
1685
1841
  g_param = parse_global_arg(parsed_globals)
1686
1842
 
1687
1843
  if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
@@ -1710,11 +1866,63 @@ def doSyncPodState(args, parsed_globals):
1710
1866
  client = mod.EmrClient(cred, g_param[OptionsDefine.Region], profile)
1711
1867
  client._sdkVersion += ("_CLI_" + __version__)
1712
1868
  models = MODELS_MAP[g_param[OptionsDefine.Version]]
1713
- model = models.SyncPodStateRequest()
1869
+ model = models.DescribeSLInstanceRequest()
1714
1870
  model.from_json_string(json.dumps(args))
1715
1871
  start_time = time.time()
1716
1872
  while True:
1717
- rsp = client.SyncPodState(model)
1873
+ rsp = client.DescribeSLInstance(model)
1874
+ result = rsp.to_json_string()
1875
+ try:
1876
+ json_obj = json.loads(result)
1877
+ except TypeError as e:
1878
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
1879
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
1880
+ break
1881
+ cur_time = time.time()
1882
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
1883
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
1884
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
1885
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
1886
+ else:
1887
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
1888
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
1889
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
1890
+
1891
+
1892
+ def doModifySLInstance(args, parsed_globals):
1893
+ g_param = parse_global_arg(parsed_globals)
1894
+
1895
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
1896
+ cred = credential.CVMRoleCredential()
1897
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
1898
+ cred = credential.STSAssumeRoleCredential(
1899
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
1900
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
1901
+ )
1902
+ 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):
1903
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
1904
+ else:
1905
+ cred = credential.Credential(
1906
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
1907
+ )
1908
+ http_profile = HttpProfile(
1909
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
1910
+ reqMethod="POST",
1911
+ endpoint=g_param[OptionsDefine.Endpoint],
1912
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
1913
+ )
1914
+ profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
1915
+ if g_param[OptionsDefine.Language]:
1916
+ profile.language = g_param[OptionsDefine.Language]
1917
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
1918
+ client = mod.EmrClient(cred, g_param[OptionsDefine.Region], profile)
1919
+ client._sdkVersion += ("_CLI_" + __version__)
1920
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
1921
+ model = models.ModifySLInstanceRequest()
1922
+ model.from_json_string(json.dumps(args))
1923
+ start_time = time.time()
1924
+ while True:
1925
+ rsp = client.ModifySLInstance(model)
1718
1926
  result = rsp.to_json_string()
1719
1927
  try:
1720
1928
  json_obj = json.loads(result)
@@ -2149,6 +2357,58 @@ def doStartStopServiceOrMonitor(args, parsed_globals):
2149
2357
  FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
2150
2358
 
2151
2359
 
2360
+ def doSyncPodState(args, parsed_globals):
2361
+ g_param = parse_global_arg(parsed_globals)
2362
+
2363
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
2364
+ cred = credential.CVMRoleCredential()
2365
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
2366
+ cred = credential.STSAssumeRoleCredential(
2367
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
2368
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
2369
+ )
2370
+ 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):
2371
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
2372
+ else:
2373
+ cred = credential.Credential(
2374
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
2375
+ )
2376
+ http_profile = HttpProfile(
2377
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
2378
+ reqMethod="POST",
2379
+ endpoint=g_param[OptionsDefine.Endpoint],
2380
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
2381
+ )
2382
+ profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
2383
+ if g_param[OptionsDefine.Language]:
2384
+ profile.language = g_param[OptionsDefine.Language]
2385
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
2386
+ client = mod.EmrClient(cred, g_param[OptionsDefine.Region], profile)
2387
+ client._sdkVersion += ("_CLI_" + __version__)
2388
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
2389
+ model = models.SyncPodStateRequest()
2390
+ model.from_json_string(json.dumps(args))
2391
+ start_time = time.time()
2392
+ while True:
2393
+ rsp = client.SyncPodState(model)
2394
+ result = rsp.to_json_string()
2395
+ try:
2396
+ json_obj = json.loads(result)
2397
+ except TypeError as e:
2398
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
2399
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
2400
+ break
2401
+ cur_time = time.time()
2402
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
2403
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
2404
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
2405
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
2406
+ else:
2407
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
2408
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
2409
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
2410
+
2411
+
2152
2412
  def doTerminateTasks(args, parsed_globals):
2153
2413
  g_param = parse_global_arg(parsed_globals)
2154
2414
 
@@ -2859,8 +3119,11 @@ ACTION_MAP = {
2859
3119
  "ResetYarnConfig": doResetYarnConfig,
2860
3120
  "DescribeUsersForUserManager": doDescribeUsersForUserManager,
2861
3121
  "DeleteUserManagerUserList": doDeleteUserManagerUserList,
3122
+ "TerminateSLInstance": doTerminateSLInstance,
2862
3123
  "AddUsersForUserManager": doAddUsersForUserManager,
2863
3124
  "ModifyAutoRenewFlag": doModifyAutoRenewFlag,
3125
+ "CreateSLInstance": doCreateSLInstance,
3126
+ "DescribeSLInstanceList": doDescribeSLInstanceList,
2864
3127
  "DescribeJobFlow": doDescribeJobFlow,
2865
3128
  "ModifyAutoScaleStrategy": doModifyAutoScaleStrategy,
2866
3129
  "DeleteAutoScaleStrategy": doDeleteAutoScaleStrategy,
@@ -2868,7 +3131,8 @@ ACTION_MAP = {
2868
3131
  "DescribeInstanceRenewNodes": doDescribeInstanceRenewNodes,
2869
3132
  "ModifyResourceScheduler": doModifyResourceScheduler,
2870
3133
  "DescribeResourceScheduleDiffDetail": doDescribeResourceScheduleDiffDetail,
2871
- "SyncPodState": doSyncPodState,
3134
+ "DescribeSLInstance": doDescribeSLInstance,
3135
+ "ModifySLInstance": doModifySLInstance,
2872
3136
  "CreateInstance": doCreateInstance,
2873
3137
  "InquiryPriceCreateInstance": doInquiryPriceCreateInstance,
2874
3138
  "InquirePriceRenewEmr": doInquirePriceRenewEmr,
@@ -2877,6 +3141,7 @@ ACTION_MAP = {
2877
3141
  "ModifyResourceScheduleConfig": doModifyResourceScheduleConfig,
2878
3142
  "DescribeHiveQueries": doDescribeHiveQueries,
2879
3143
  "StartStopServiceOrMonitor": doStartStopServiceOrMonitor,
3144
+ "SyncPodState": doSyncPodState,
2880
3145
  "TerminateTasks": doTerminateTasks,
2881
3146
  "TerminateInstance": doTerminateInstance,
2882
3147
  "DescribeAutoScaleStrategies": doDescribeAutoScaleStrategies,