tccli 3.0.1197.1__py2.py3-none-any.whl → 3.0.1199.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 (53) hide show
  1. tccli/__init__.py +1 -1
  2. tccli/services/apigateway/apigateway_client.py +57 -4
  3. tccli/services/apigateway/v20180808/api.json +24 -0
  4. tccli/services/apigateway/v20180808/examples.json +8 -0
  5. tccli/services/ccc/ccc_client.py +57 -4
  6. tccli/services/ccc/v20200210/api.json +188 -0
  7. tccli/services/ccc/v20200210/examples.json +8 -0
  8. tccli/services/clb/v20180317/api.json +19 -1
  9. tccli/services/cme/v20191029/api.json +18 -8
  10. tccli/services/cvm/v20170312/api.json +24 -24
  11. tccli/services/cynosdb/cynosdb_client.py +0 -53
  12. tccli/services/cynosdb/v20190107/api.json +0 -92
  13. tccli/services/cynosdb/v20190107/examples.json +0 -8
  14. tccli/services/emr/emr_client.py +114 -8
  15. tccli/services/emr/v20190103/api.json +300 -7
  16. tccli/services/emr/v20190103/examples.json +16 -0
  17. tccli/services/ess/v20201111/api.json +19 -1
  18. tccli/services/ess/v20201111/examples.json +1 -1
  19. tccli/services/essbasic/v20210526/api.json +18 -0
  20. tccli/services/essbasic/v20210526/examples.json +1 -1
  21. tccli/services/faceid/v20180301/api.json +18 -0
  22. tccli/services/iecp/iecp_client.py +298 -1358
  23. tccli/services/iecp/v20210914/api.json +216 -2256
  24. tccli/services/iecp/v20210914/examples.json +0 -166
  25. tccli/services/ims/v20201229/api.json +9 -9
  26. tccli/services/ims/v20201229/examples.json +2 -2
  27. tccli/services/monitor/monitor_client.py +8 -114
  28. tccli/services/monitor/v20180724/api.json +0 -85
  29. tccli/services/monitor/v20180724/examples.json +0 -16
  30. tccli/services/ocr/v20181119/api.json +3 -3
  31. tccli/services/postgres/postgres_client.py +159 -0
  32. tccli/services/postgres/v20170312/api.json +427 -9
  33. tccli/services/postgres/v20170312/examples.json +40 -4
  34. tccli/services/rce/v20201103/api.json +17 -8
  35. tccli/services/sms/v20190711/api.json +8 -8
  36. tccli/services/sms/v20210111/api.json +13 -13
  37. tccli/services/tcss/v20201101/api.json +199 -3
  38. tccli/services/tcss/v20201101/examples.json +5 -5
  39. tccli/services/teo/v20220901/api.json +56 -6
  40. tccli/services/tke/v20180525/api.json +9 -9
  41. tccli/services/tke/v20220501/api.json +5 -5
  42. tccli/services/tse/v20201207/api.json +22 -0
  43. tccli/services/tsf/tsf_client.py +4 -57
  44. tccli/services/tsf/v20180326/api.json +0 -34
  45. tccli/services/tsf/v20180326/examples.json +0 -8
  46. tccli/services/vod/v20180717/api.json +3 -3
  47. tccli/services/vpc/v20170312/examples.json +6 -0
  48. tccli/services/wedata/v20210820/api.json +11 -0
  49. {tccli-3.0.1197.1.dist-info → tccli-3.0.1199.1.dist-info}/METADATA +2 -2
  50. {tccli-3.0.1197.1.dist-info → tccli-3.0.1199.1.dist-info}/RECORD +53 -53
  51. {tccli-3.0.1197.1.dist-info → tccli-3.0.1199.1.dist-info}/WHEEL +0 -0
  52. {tccli-3.0.1197.1.dist-info → tccli-3.0.1199.1.dist-info}/entry_points.txt +0 -0
  53. {tccli-3.0.1197.1.dist-info → tccli-3.0.1199.1.dist-info}/license_files/LICENSE +0 -0
@@ -21,13 +21,6 @@
21
21
  "output": "BindingPolicyTagResponse",
22
22
  "status": "online"
23
23
  },
24
- "CheckIsPrometheusNewUser": {
25
- "document": "接口功能是检查是否为prometheus新用户,已有其他功能更加全面的接口替代\n\n判断用户是否为云原生监控新用户,即在任何地域下均未创建过监控实例的用户",
26
- "input": "CheckIsPrometheusNewUserRequest",
27
- "name": "判断用户是否为云原生监控新用户",
28
- "output": "CheckIsPrometheusNewUserResponse",
29
- "status": "deprecated"
30
- },
31
24
  "CleanGrafanaInstance": {
32
25
  "document": "强制销毁 Grafana 实例",
33
26
  "input": "CleanGrafanaInstanceRequest",
@@ -658,13 +651,6 @@
658
651
  "output": "DescribePrometheusInstancesOverviewResponse",
659
652
  "status": "online"
660
653
  },
661
- "DescribePrometheusRecordRuleYaml": {
662
- "document": "DescribePrometheusRecordRules 接口可完全代替该接口。近30天仅有3次调用,且都是报错请求\n\n拉取Prometheus聚合规则yaml列表",
663
- "input": "DescribePrometheusRecordRuleYamlRequest",
664
- "name": "拉取Prometheus聚合规则yaml列表",
665
- "output": "DescribePrometheusRecordRuleYamlResponse",
666
- "status": "deprecated"
667
- },
668
654
  "DescribePrometheusRecordRules": {
669
655
  "document": "获取聚合规则列表,包含关联集群内crd资源创建的record rule",
670
656
  "input": "DescribePrometheusRecordRulesRequest",
@@ -2838,23 +2824,6 @@
2838
2824
  ],
2839
2825
  "usage": "both"
2840
2826
  },
2841
- "CheckIsPrometheusNewUserRequest": {
2842
- "document": "CheckIsPrometheusNewUser请求参数结构体",
2843
- "members": [],
2844
- "type": "object"
2845
- },
2846
- "CheckIsPrometheusNewUserResponse": {
2847
- "document": "CheckIsPrometheusNewUser返回参数结构体",
2848
- "members": [
2849
- {
2850
- "document": "唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。",
2851
- "member": "string",
2852
- "name": "RequestId",
2853
- "type": "string"
2854
- }
2855
- ],
2856
- "type": "object"
2857
- },
2858
2827
  "CleanGrafanaInstanceRequest": {
2859
2828
  "document": "CleanGrafanaInstance请求参数结构体",
2860
2829
  "members": [
@@ -12237,60 +12206,6 @@
12237
12206
  ],
12238
12207
  "type": "object"
12239
12208
  },
12240
- "DescribePrometheusRecordRuleYamlRequest": {
12241
- "document": "DescribePrometheusRecordRuleYaml请求参数结构体",
12242
- "members": [
12243
- {
12244
- "disabled": false,
12245
- "document": "实例id",
12246
- "example": "xxx",
12247
- "member": "string",
12248
- "name": "InstanceId",
12249
- "required": true,
12250
- "type": "string"
12251
- },
12252
- {
12253
- "disabled": false,
12254
- "document": "分页",
12255
- "example": "1",
12256
- "member": "uint64",
12257
- "name": "Offset",
12258
- "required": false,
12259
- "type": "int"
12260
- },
12261
- {
12262
- "disabled": false,
12263
- "document": "分页",
12264
- "example": "10",
12265
- "member": "uint64",
12266
- "name": "Limit",
12267
- "required": false,
12268
- "type": "int"
12269
- },
12270
- {
12271
- "disabled": false,
12272
- "document": "过滤,当前支持\nName = Name\nValues = 目标名称列表",
12273
- "example": "xxx",
12274
- "member": "Filter",
12275
- "name": "Filters",
12276
- "required": false,
12277
- "type": "list"
12278
- }
12279
- ],
12280
- "type": "object"
12281
- },
12282
- "DescribePrometheusRecordRuleYamlResponse": {
12283
- "document": "DescribePrometheusRecordRuleYaml返回参数结构体",
12284
- "members": [
12285
- {
12286
- "document": "唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。",
12287
- "member": "string",
12288
- "name": "RequestId",
12289
- "type": "string"
12290
- }
12291
- ],
12292
- "type": "object"
12293
- },
12294
12209
  "DescribePrometheusRecordRulesRequest": {
12295
12210
  "document": "DescribePrometheusRecordRules请求参数结构体",
12296
12211
  "members": [
@@ -24,14 +24,6 @@
24
24
  "title": "策略绑定标签"
25
25
  }
26
26
  ],
27
- "CheckIsPrometheusNewUser": [
28
- {
29
- "document": "判断用户是否为新用户",
30
- "input": "POST / HTTP/1.1\nHost: monitor.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: CheckIsPrometheusNewUser\n<公共请求参数>\n\n{}",
31
- "output": "{\n \"Response\": {\n \"RequestId\": \"xx\"\n }\n}",
32
- "title": "判断用户是否为新用户"
33
- }
34
- ],
35
27
  "CleanGrafanaInstance": [
36
28
  {
37
29
  "document": "强制销毁 Grafana 实例",
@@ -914,14 +906,6 @@
914
906
  "title": "获取实例列表"
915
907
  }
916
908
  ],
917
- "DescribePrometheusRecordRuleYaml": [
918
- {
919
- "document": "拉取聚合规则列表",
920
- "input": "https://monitor.tencentcloudapi.com/?Action=DescribePrometheusRecordRuleYaml\n&InstanceId=prom-xxx\n&<公共请求参数>",
921
- "output": "{\n \"Response\": {\n \"RequestId\": \"eac6b301-a322-493a-8e36-83b295459397\"\n }\n}",
922
- "title": "拉取聚合规则列表"
923
- }
924
- ],
925
909
  "DescribePrometheusRecordRules": [
926
910
  {
927
911
  "document": "拉取聚合规则",
@@ -365,7 +365,7 @@
365
365
  "status": "online"
366
366
  },
367
367
  "RecognizeIndonesiaIDCardOCR": {
368
- "document": "印尼身份证识别\n\n默认接口请求频率限制:20次/秒。",
368
+ "document": "印尼身份证识别\n\n默认接口请求频率限制:5次/秒。",
369
369
  "input": "RecognizeIndonesiaIDCardOCRRequest",
370
370
  "name": "印尼身份证识别",
371
371
  "output": "RecognizeIndonesiaIDCardOCRResponse",
@@ -2536,7 +2536,7 @@
2536
2536
  },
2537
2537
  {
2538
2538
  "disabled": false,
2539
- "document": "可以指定要识别的票证类型,指定后不出现在此列表的票证将不返回类型。不指定时默认返回所有支持类别票证的识别信息。\n\n以下是当前支持的类型:\nIDCardFront: 身份证正面识别\nIDCardBack: 身份证背面识别\nPassport: 护照\nBusinessCard: 名片识别\nBankCard: 银行卡识别\nVehicleLicenseFront: 行驶证主页识别\nVehicleLicenseBack: 行驶证副页识别\nDriverLicenseFront: 驾驶证主页识别\nDriverLicenseBack: 驾驶证副页识别\nPermitFront: 港澳台通行证正面\nResidenceBooklet: 户口本资料页\nMainlandPermitFront: 港澳台来往内地通行证正面\nHmtResidentPermitFront: 港澳台居住证正面\nHmtResidentPermitBack: 港澳台居住证背面\nEstateCert: 不动产证\nBizLicense: 营业执照",
2539
+ "document": "可以指定要识别的票证类型,指定后不出现在此列表的票证将不返回类型。不指定时默认返回所有支持类别票证的识别信息。\n\n以下是当前支持的类型:\nIDCardFront: 身份证正面识别\nIDCardBack: 身份证背面识别\nPassport: 护照\nBusinessCard: 名片识别\nBankCard: 银行卡识别\nVehicleLicenseFront: 行驶证主页识别\nVehicleLicenseBack: 行驶证副页识别\nDriverLicenseFront: 驾驶证主页识别\nDriverLicenseBack: 驾驶证副页识别\nPermitFront: 港澳台通行证正面\nResidenceBooklet: 户口本资料页\nMainlandPermitFront: 港澳台来往内地通行证正面\nHmtResidentPermitFront: 港澳台居住证正面\nHmtResidentPermitBack: 港澳台居住证背面\nEstateCert: 不动产证\nBizLicense: 营业执照\nForeignPermanentResidentFront: 外国人永居证正面识别\nForeignPermanentResidentBack: 外国人永居证背面识别",
2540
2540
  "example": "\"\"",
2541
2541
  "member": "string",
2542
2542
  "name": "DiscernType",
@@ -2555,7 +2555,7 @@
2555
2555
  "example": "\"\"",
2556
2556
  "member": "ClassifyDetectInfo",
2557
2557
  "name": "ClassifyDetectInfos",
2558
- "required": true,
2558
+ "output_required": true,
2559
2559
  "type": "list",
2560
2560
  "value_allowed_null": false
2561
2561
  },
@@ -433,6 +433,58 @@ def doModifyDBInstanceName(args, parsed_globals):
433
433
  FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
434
434
 
435
435
 
436
+ def doDescribeDedicatedClusters(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.PostgresClient(cred, g_param[OptionsDefine.Region], profile)
463
+ client._sdkVersion += ("_CLI_" + __version__)
464
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
465
+ model = models.DescribeDedicatedClustersRequest()
466
+ model.from_json_string(json.dumps(args))
467
+ start_time = time.time()
468
+ while True:
469
+ rsp = client.DescribeDedicatedClusters(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 doDeleteParameterTemplate(args, parsed_globals):
437
489
  g_param = parse_global_arg(parsed_globals)
438
490
 
@@ -1733,6 +1785,58 @@ def doCreateServerlessDBInstance(args, parsed_globals):
1733
1785
  FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
1734
1786
 
1735
1787
 
1788
+ def doCreateDatabase(args, parsed_globals):
1789
+ g_param = parse_global_arg(parsed_globals)
1790
+
1791
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
1792
+ cred = credential.CVMRoleCredential()
1793
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
1794
+ cred = credential.STSAssumeRoleCredential(
1795
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
1796
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
1797
+ )
1798
+ 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):
1799
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
1800
+ else:
1801
+ cred = credential.Credential(
1802
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
1803
+ )
1804
+ http_profile = HttpProfile(
1805
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
1806
+ reqMethod="POST",
1807
+ endpoint=g_param[OptionsDefine.Endpoint],
1808
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
1809
+ )
1810
+ profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
1811
+ if g_param[OptionsDefine.Language]:
1812
+ profile.language = g_param[OptionsDefine.Language]
1813
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
1814
+ client = mod.PostgresClient(cred, g_param[OptionsDefine.Region], profile)
1815
+ client._sdkVersion += ("_CLI_" + __version__)
1816
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
1817
+ model = models.CreateDatabaseRequest()
1818
+ model.from_json_string(json.dumps(args))
1819
+ start_time = time.time()
1820
+ while True:
1821
+ rsp = client.CreateDatabase(model)
1822
+ result = rsp.to_json_string()
1823
+ try:
1824
+ json_obj = json.loads(result)
1825
+ except TypeError as e:
1826
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
1827
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
1828
+ break
1829
+ cur_time = time.time()
1830
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
1831
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
1832
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
1833
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
1834
+ else:
1835
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
1836
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
1837
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
1838
+
1839
+
1736
1840
  def doCreateAccount(args, parsed_globals):
1737
1841
  g_param = parse_global_arg(parsed_globals)
1738
1842
 
@@ -4333,6 +4437,58 @@ def doOpenDBExtranetAccess(args, parsed_globals):
4333
4437
  FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
4334
4438
 
4335
4439
 
4440
+ def doModifyDatabaseOwner(args, parsed_globals):
4441
+ g_param = parse_global_arg(parsed_globals)
4442
+
4443
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
4444
+ cred = credential.CVMRoleCredential()
4445
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
4446
+ cred = credential.STSAssumeRoleCredential(
4447
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
4448
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
4449
+ )
4450
+ 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):
4451
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
4452
+ else:
4453
+ cred = credential.Credential(
4454
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
4455
+ )
4456
+ http_profile = HttpProfile(
4457
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
4458
+ reqMethod="POST",
4459
+ endpoint=g_param[OptionsDefine.Endpoint],
4460
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
4461
+ )
4462
+ profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
4463
+ if g_param[OptionsDefine.Language]:
4464
+ profile.language = g_param[OptionsDefine.Language]
4465
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
4466
+ client = mod.PostgresClient(cred, g_param[OptionsDefine.Region], profile)
4467
+ client._sdkVersion += ("_CLI_" + __version__)
4468
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
4469
+ model = models.ModifyDatabaseOwnerRequest()
4470
+ model.from_json_string(json.dumps(args))
4471
+ start_time = time.time()
4472
+ while True:
4473
+ rsp = client.ModifyDatabaseOwner(model)
4474
+ result = rsp.to_json_string()
4475
+ try:
4476
+ json_obj = json.loads(result)
4477
+ except TypeError as e:
4478
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
4479
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
4480
+ break
4481
+ cur_time = time.time()
4482
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
4483
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
4484
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
4485
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
4486
+ else:
4487
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
4488
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
4489
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
4490
+
4491
+
4336
4492
  def doDeleteAccount(args, parsed_globals):
4337
4493
  g_param = parse_global_arg(parsed_globals)
4338
4494
 
@@ -5132,6 +5288,7 @@ ACTION_MAP = {
5132
5288
  "ModifyAccountRemark": doModifyAccountRemark,
5133
5289
  "SetAutoRenewFlag": doSetAutoRenewFlag,
5134
5290
  "ModifyDBInstanceName": doModifyDBInstanceName,
5291
+ "DescribeDedicatedClusters": doDescribeDedicatedClusters,
5135
5292
  "DeleteParameterTemplate": doDeleteParameterTemplate,
5136
5293
  "DescribeDBInstanceParameters": doDescribeDBInstanceParameters,
5137
5294
  "DeleteServerlessDBInstance": doDeleteServerlessDBInstance,
@@ -5157,6 +5314,7 @@ ACTION_MAP = {
5157
5314
  "CloseServerlessDBExtranetAccess": doCloseServerlessDBExtranetAccess,
5158
5315
  "ModifyDBInstanceDeployment": doModifyDBInstanceDeployment,
5159
5316
  "CreateServerlessDBInstance": doCreateServerlessDBInstance,
5317
+ "CreateDatabase": doCreateDatabase,
5160
5318
  "CreateAccount": doCreateAccount,
5161
5319
  "ModifyDBInstanceParameters": doModifyDBInstanceParameters,
5162
5320
  "DescribeBaseBackups": doDescribeBaseBackups,
@@ -5207,6 +5365,7 @@ ACTION_MAP = {
5207
5365
  "DescribeBackupPlans": doDescribeBackupPlans,
5208
5366
  "ModifySwitchTimePeriod": doModifySwitchTimePeriod,
5209
5367
  "OpenDBExtranetAccess": doOpenDBExtranetAccess,
5368
+ "ModifyDatabaseOwner": doModifyDatabaseOwner,
5210
5369
  "DeleteAccount": doDeleteAccount,
5211
5370
  "ModifyBackupPlan": doModifyBackupPlan,
5212
5371
  "InitDBInstances": doInitDBInstances,