tccli 3.0.1197.1__py2.py3-none-any.whl → 3.0.1199.1__py2.py3-none-any.whl
Sign up to get free protection for your applications and to get access to all the features.
- tccli/__init__.py +1 -1
- tccli/services/apigateway/apigateway_client.py +57 -4
- tccli/services/apigateway/v20180808/api.json +24 -0
- tccli/services/apigateway/v20180808/examples.json +8 -0
- tccli/services/ccc/ccc_client.py +57 -4
- tccli/services/ccc/v20200210/api.json +188 -0
- tccli/services/ccc/v20200210/examples.json +8 -0
- tccli/services/clb/v20180317/api.json +19 -1
- tccli/services/cme/v20191029/api.json +18 -8
- tccli/services/cvm/v20170312/api.json +24 -24
- tccli/services/cynosdb/cynosdb_client.py +0 -53
- tccli/services/cynosdb/v20190107/api.json +0 -92
- tccli/services/cynosdb/v20190107/examples.json +0 -8
- tccli/services/emr/emr_client.py +114 -8
- tccli/services/emr/v20190103/api.json +300 -7
- tccli/services/emr/v20190103/examples.json +16 -0
- tccli/services/ess/v20201111/api.json +19 -1
- tccli/services/ess/v20201111/examples.json +1 -1
- tccli/services/essbasic/v20210526/api.json +18 -0
- tccli/services/essbasic/v20210526/examples.json +1 -1
- tccli/services/faceid/v20180301/api.json +18 -0
- tccli/services/iecp/iecp_client.py +298 -1358
- tccli/services/iecp/v20210914/api.json +216 -2256
- tccli/services/iecp/v20210914/examples.json +0 -166
- tccli/services/ims/v20201229/api.json +9 -9
- tccli/services/ims/v20201229/examples.json +2 -2
- tccli/services/monitor/monitor_client.py +8 -114
- tccli/services/monitor/v20180724/api.json +0 -85
- tccli/services/monitor/v20180724/examples.json +0 -16
- tccli/services/ocr/v20181119/api.json +3 -3
- tccli/services/postgres/postgres_client.py +159 -0
- tccli/services/postgres/v20170312/api.json +427 -9
- tccli/services/postgres/v20170312/examples.json +40 -4
- tccli/services/rce/v20201103/api.json +17 -8
- tccli/services/sms/v20190711/api.json +8 -8
- tccli/services/sms/v20210111/api.json +13 -13
- tccli/services/tcss/v20201101/api.json +199 -3
- tccli/services/tcss/v20201101/examples.json +5 -5
- tccli/services/teo/v20220901/api.json +56 -6
- tccli/services/tke/v20180525/api.json +9 -9
- tccli/services/tke/v20220501/api.json +5 -5
- tccli/services/tse/v20201207/api.json +22 -0
- tccli/services/tsf/tsf_client.py +4 -57
- tccli/services/tsf/v20180326/api.json +0 -34
- tccli/services/tsf/v20180326/examples.json +0 -8
- tccli/services/vod/v20180717/api.json +3 -3
- tccli/services/vpc/v20170312/examples.json +6 -0
- tccli/services/wedata/v20210820/api.json +11 -0
- {tccli-3.0.1197.1.dist-info → tccli-3.0.1199.1.dist-info}/METADATA +2 -2
- {tccli-3.0.1197.1.dist-info → tccli-3.0.1199.1.dist-info}/RECORD +53 -53
- {tccli-3.0.1197.1.dist-info → tccli-3.0.1199.1.dist-info}/WHEEL +0 -0
- {tccli-3.0.1197.1.dist-info → tccli-3.0.1199.1.dist-info}/entry_points.txt +0 -0
- {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默认接口请求频率限制:
|
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
|
-
"
|
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,
|