tccli 3.0.1112.1__py2.py3-none-any.whl → 3.0.1114.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/cat/v20180409/api.json +2 -2
- tccli/services/cat/v20180409/examples.json +2 -2
- tccli/services/ckafka/v20190819/api.json +13 -3
- tccli/services/dasb/v20191018/api.json +2 -2
- tccli/services/dbbrain/dbbrain_client.py +57 -4
- tccli/services/dbbrain/v20210527/api.json +173 -5
- tccli/services/dbbrain/v20210527/examples.json +15 -1
- tccli/services/dlc/dlc_client.py +129 -23
- tccli/services/dlc/v20210125/api.json +123 -0
- tccli/services/dlc/v20210125/examples.json +16 -0
- tccli/services/ess/ess_client.py +110 -4
- tccli/services/ess/v20201111/api.json +149 -4
- tccli/services/ess/v20201111/examples.json +18 -2
- tccli/services/essbasic/v20210526/api.json +12 -2
- tccli/services/essbasic/v20210526/examples.json +4 -4
- tccli/services/hunyuan/v20230901/api.json +7 -7
- tccli/services/hunyuan/v20230901/examples.json +6 -6
- tccli/services/iotexplorer/iotexplorer_client.py +53 -0
- tccli/services/iotexplorer/v20190423/api.json +61 -0
- tccli/services/iotexplorer/v20190423/examples.json +8 -0
- tccli/services/monitor/v20180724/api.json +27 -0
- tccli/services/mps/v20190612/api.json +67 -1
- tccli/services/svp/svp_client.py +159 -0
- tccli/services/svp/v20240125/api.json +723 -0
- tccli/services/svp/v20240125/examples.json +24 -0
- tccli/services/tdmq/v20200217/api.json +2 -2
- tccli/services/tione/tione_client.py +214 -2228
- tccli/services/tione/v20211111/api.json +5189 -10622
- tccli/services/tione/v20211111/examples.json +0 -304
- {tccli-3.0.1112.1.dist-info → tccli-3.0.1114.1.dist-info}/METADATA +2 -2
- {tccli-3.0.1112.1.dist-info → tccli-3.0.1114.1.dist-info}/RECORD +35 -35
- {tccli-3.0.1112.1.dist-info → tccli-3.0.1114.1.dist-info}/WHEEL +0 -0
- {tccli-3.0.1112.1.dist-info → tccli-3.0.1114.1.dist-info}/entry_points.txt +0 -0
- {tccli-3.0.1112.1.dist-info → tccli-3.0.1114.1.dist-info}/license_files/LICENSE +0 -0
tccli/services/dlc/dlc_client.py
CHANGED
@@ -901,7 +901,7 @@ def doDescribeDMSPartitions(args, parsed_globals):
|
|
901
901
|
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
902
902
|
|
903
903
|
|
904
|
-
def
|
904
|
+
def doDescribeSparkSessionBatchSqlLog(args, parsed_globals):
|
905
905
|
g_param = parse_global_arg(parsed_globals)
|
906
906
|
|
907
907
|
if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
|
@@ -930,11 +930,11 @@ def doDescribeTaskResult(args, parsed_globals):
|
|
930
930
|
client = mod.DlcClient(cred, g_param[OptionsDefine.Region], profile)
|
931
931
|
client._sdkVersion += ("_CLI_" + __version__)
|
932
932
|
models = MODELS_MAP[g_param[OptionsDefine.Version]]
|
933
|
-
model = models.
|
933
|
+
model = models.DescribeSparkSessionBatchSqlLogRequest()
|
934
934
|
model.from_json_string(json.dumps(args))
|
935
935
|
start_time = time.time()
|
936
936
|
while True:
|
937
|
-
rsp = client.
|
937
|
+
rsp = client.DescribeSparkSessionBatchSqlLog(model)
|
938
938
|
result = rsp.to_json_string()
|
939
939
|
try:
|
940
940
|
json_obj = json.loads(result)
|
@@ -1161,7 +1161,7 @@ def doDeleteScript(args, parsed_globals):
|
|
1161
1161
|
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
1162
1162
|
|
1163
1163
|
|
1164
|
-
def
|
1164
|
+
def doDescribeLakeFsDirSummary(args, parsed_globals):
|
1165
1165
|
g_param = parse_global_arg(parsed_globals)
|
1166
1166
|
|
1167
1167
|
if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
|
@@ -1190,11 +1190,11 @@ def doSwitchDataEngineImage(args, parsed_globals):
|
|
1190
1190
|
client = mod.DlcClient(cred, g_param[OptionsDefine.Region], profile)
|
1191
1191
|
client._sdkVersion += ("_CLI_" + __version__)
|
1192
1192
|
models = MODELS_MAP[g_param[OptionsDefine.Version]]
|
1193
|
-
model = models.
|
1193
|
+
model = models.DescribeLakeFsDirSummaryRequest()
|
1194
1194
|
model.from_json_string(json.dumps(args))
|
1195
1195
|
start_time = time.time()
|
1196
1196
|
while True:
|
1197
|
-
rsp = client.
|
1197
|
+
rsp = client.DescribeLakeFsDirSummary(model)
|
1198
1198
|
result = rsp.to_json_string()
|
1199
1199
|
try:
|
1200
1200
|
json_obj = json.loads(result)
|
@@ -1265,7 +1265,7 @@ def doCreateSparkAppTask(args, parsed_globals):
|
|
1265
1265
|
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
1266
1266
|
|
1267
1267
|
|
1268
|
-
def
|
1268
|
+
def doSwitchDataEngineImage(args, parsed_globals):
|
1269
1269
|
g_param = parse_global_arg(parsed_globals)
|
1270
1270
|
|
1271
1271
|
if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
|
@@ -1294,11 +1294,11 @@ def doDescribeLakeFsDirSummary(args, parsed_globals):
|
|
1294
1294
|
client = mod.DlcClient(cred, g_param[OptionsDefine.Region], profile)
|
1295
1295
|
client._sdkVersion += ("_CLI_" + __version__)
|
1296
1296
|
models = MODELS_MAP[g_param[OptionsDefine.Version]]
|
1297
|
-
model = models.
|
1297
|
+
model = models.SwitchDataEngineImageRequest()
|
1298
1298
|
model.from_json_string(json.dumps(args))
|
1299
1299
|
start_time = time.time()
|
1300
1300
|
while True:
|
1301
|
-
rsp = client.
|
1301
|
+
rsp = client.SwitchDataEngineImage(model)
|
1302
1302
|
result = rsp.to_json_string()
|
1303
1303
|
try:
|
1304
1304
|
json_obj = json.loads(result)
|
@@ -1681,6 +1681,58 @@ def doDescribeLakeFsTaskResult(args, parsed_globals):
|
|
1681
1681
|
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
1682
1682
|
|
1683
1683
|
|
1684
|
+
def doAddOptimizerEngines(args, parsed_globals):
|
1685
|
+
g_param = parse_global_arg(parsed_globals)
|
1686
|
+
|
1687
|
+
if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
|
1688
|
+
cred = credential.CVMRoleCredential()
|
1689
|
+
elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
|
1690
|
+
cred = credential.STSAssumeRoleCredential(
|
1691
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
|
1692
|
+
g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
|
1693
|
+
)
|
1694
|
+
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):
|
1695
|
+
cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
|
1696
|
+
else:
|
1697
|
+
cred = credential.Credential(
|
1698
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
|
1699
|
+
)
|
1700
|
+
http_profile = HttpProfile(
|
1701
|
+
reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
|
1702
|
+
reqMethod="POST",
|
1703
|
+
endpoint=g_param[OptionsDefine.Endpoint],
|
1704
|
+
proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
|
1705
|
+
)
|
1706
|
+
profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
|
1707
|
+
if g_param[OptionsDefine.Language]:
|
1708
|
+
profile.language = g_param[OptionsDefine.Language]
|
1709
|
+
mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
|
1710
|
+
client = mod.DlcClient(cred, g_param[OptionsDefine.Region], profile)
|
1711
|
+
client._sdkVersion += ("_CLI_" + __version__)
|
1712
|
+
models = MODELS_MAP[g_param[OptionsDefine.Version]]
|
1713
|
+
model = models.AddOptimizerEnginesRequest()
|
1714
|
+
model.from_json_string(json.dumps(args))
|
1715
|
+
start_time = time.time()
|
1716
|
+
while True:
|
1717
|
+
rsp = client.AddOptimizerEngines(model)
|
1718
|
+
result = rsp.to_json_string()
|
1719
|
+
try:
|
1720
|
+
json_obj = json.loads(result)
|
1721
|
+
except TypeError as e:
|
1722
|
+
json_obj = json.loads(result.decode('utf-8')) # python3.3
|
1723
|
+
if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
|
1724
|
+
break
|
1725
|
+
cur_time = time.time()
|
1726
|
+
if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
|
1727
|
+
raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
|
1728
|
+
(g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
|
1729
|
+
search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
|
1730
|
+
else:
|
1731
|
+
print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
|
1732
|
+
time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
|
1733
|
+
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
1734
|
+
|
1735
|
+
|
1684
1736
|
def doDescribeDataEngineImageVersions(args, parsed_globals):
|
1685
1737
|
g_param = parse_global_arg(parsed_globals)
|
1686
1738
|
|
@@ -3553,6 +3605,58 @@ def doDescribeNotebookSessionLog(args, parsed_globals):
|
|
3553
3605
|
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
3554
3606
|
|
3555
3607
|
|
3608
|
+
def doDescribeTasksCostInfo(args, parsed_globals):
|
3609
|
+
g_param = parse_global_arg(parsed_globals)
|
3610
|
+
|
3611
|
+
if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
|
3612
|
+
cred = credential.CVMRoleCredential()
|
3613
|
+
elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
|
3614
|
+
cred = credential.STSAssumeRoleCredential(
|
3615
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
|
3616
|
+
g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
|
3617
|
+
)
|
3618
|
+
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):
|
3619
|
+
cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
|
3620
|
+
else:
|
3621
|
+
cred = credential.Credential(
|
3622
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
|
3623
|
+
)
|
3624
|
+
http_profile = HttpProfile(
|
3625
|
+
reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
|
3626
|
+
reqMethod="POST",
|
3627
|
+
endpoint=g_param[OptionsDefine.Endpoint],
|
3628
|
+
proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
|
3629
|
+
)
|
3630
|
+
profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
|
3631
|
+
if g_param[OptionsDefine.Language]:
|
3632
|
+
profile.language = g_param[OptionsDefine.Language]
|
3633
|
+
mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
|
3634
|
+
client = mod.DlcClient(cred, g_param[OptionsDefine.Region], profile)
|
3635
|
+
client._sdkVersion += ("_CLI_" + __version__)
|
3636
|
+
models = MODELS_MAP[g_param[OptionsDefine.Version]]
|
3637
|
+
model = models.DescribeTasksCostInfoRequest()
|
3638
|
+
model.from_json_string(json.dumps(args))
|
3639
|
+
start_time = time.time()
|
3640
|
+
while True:
|
3641
|
+
rsp = client.DescribeTasksCostInfo(model)
|
3642
|
+
result = rsp.to_json_string()
|
3643
|
+
try:
|
3644
|
+
json_obj = json.loads(result)
|
3645
|
+
except TypeError as e:
|
3646
|
+
json_obj = json.loads(result.decode('utf-8')) # python3.3
|
3647
|
+
if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
|
3648
|
+
break
|
3649
|
+
cur_time = time.time()
|
3650
|
+
if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
|
3651
|
+
raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
|
3652
|
+
(g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
|
3653
|
+
search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
|
3654
|
+
else:
|
3655
|
+
print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
|
3656
|
+
time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
|
3657
|
+
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
3658
|
+
|
3659
|
+
|
3556
3660
|
def doDescribeResultDownload(args, parsed_globals):
|
3557
3661
|
g_param = parse_global_arg(parsed_globals)
|
3558
3662
|
|
@@ -4021,7 +4125,7 @@ def doDescribeTaskLog(args, parsed_globals):
|
|
4021
4125
|
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
4022
4126
|
|
4023
4127
|
|
4024
|
-
def
|
4128
|
+
def doCancelTask(args, parsed_globals):
|
4025
4129
|
g_param = parse_global_arg(parsed_globals)
|
4026
4130
|
|
4027
4131
|
if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
|
@@ -4050,11 +4154,11 @@ def doDescribeSparkSessionBatchSqlLog(args, parsed_globals):
|
|
4050
4154
|
client = mod.DlcClient(cred, g_param[OptionsDefine.Region], profile)
|
4051
4155
|
client._sdkVersion += ("_CLI_" + __version__)
|
4052
4156
|
models = MODELS_MAP[g_param[OptionsDefine.Version]]
|
4053
|
-
model = models.
|
4157
|
+
model = models.CancelTaskRequest()
|
4054
4158
|
model.from_json_string(json.dumps(args))
|
4055
4159
|
start_time = time.time()
|
4056
4160
|
while True:
|
4057
|
-
rsp = client.
|
4161
|
+
rsp = client.CancelTask(model)
|
4058
4162
|
result = rsp.to_json_string()
|
4059
4163
|
try:
|
4060
4164
|
json_obj = json.loads(result)
|
@@ -5217,7 +5321,7 @@ def doCreateTable(args, parsed_globals):
|
|
5217
5321
|
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
5218
5322
|
|
5219
5323
|
|
5220
|
-
def
|
5324
|
+
def doDescribeTaskResult(args, parsed_globals):
|
5221
5325
|
g_param = parse_global_arg(parsed_globals)
|
5222
5326
|
|
5223
5327
|
if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
|
@@ -5246,11 +5350,11 @@ def doCreateExportTask(args, parsed_globals):
|
|
5246
5350
|
client = mod.DlcClient(cred, g_param[OptionsDefine.Region], profile)
|
5247
5351
|
client._sdkVersion += ("_CLI_" + __version__)
|
5248
5352
|
models = MODELS_MAP[g_param[OptionsDefine.Version]]
|
5249
|
-
model = models.
|
5353
|
+
model = models.DescribeTaskResultRequest()
|
5250
5354
|
model.from_json_string(json.dumps(args))
|
5251
5355
|
start_time = time.time()
|
5252
5356
|
while True:
|
5253
|
-
rsp = client.
|
5357
|
+
rsp = client.DescribeTaskResult(model)
|
5254
5358
|
result = rsp.to_json_string()
|
5255
5359
|
try:
|
5256
5360
|
json_obj = json.loads(result)
|
@@ -5269,7 +5373,7 @@ def doCreateExportTask(args, parsed_globals):
|
|
5269
5373
|
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
5270
5374
|
|
5271
5375
|
|
5272
|
-
def
|
5376
|
+
def doCreateExportTask(args, parsed_globals):
|
5273
5377
|
g_param = parse_global_arg(parsed_globals)
|
5274
5378
|
|
5275
5379
|
if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
|
@@ -5298,11 +5402,11 @@ def doCancelTask(args, parsed_globals):
|
|
5298
5402
|
client = mod.DlcClient(cred, g_param[OptionsDefine.Region], profile)
|
5299
5403
|
client._sdkVersion += ("_CLI_" + __version__)
|
5300
5404
|
models = MODELS_MAP[g_param[OptionsDefine.Version]]
|
5301
|
-
model = models.
|
5405
|
+
model = models.CreateExportTaskRequest()
|
5302
5406
|
model.from_json_string(json.dumps(args))
|
5303
5407
|
start_time = time.time()
|
5304
5408
|
while True:
|
5305
|
-
rsp = client.
|
5409
|
+
rsp = client.CreateExportTask(model)
|
5306
5410
|
result = rsp.to_json_string()
|
5307
5411
|
try:
|
5308
5412
|
json_obj = json.loads(result)
|
@@ -6545,14 +6649,14 @@ ACTION_MAP = {
|
|
6545
6649
|
"SwitchDataEngine": doSwitchDataEngine,
|
6546
6650
|
"AlterDMSDatabase": doAlterDMSDatabase,
|
6547
6651
|
"DescribeDMSPartitions": doDescribeDMSPartitions,
|
6548
|
-
"
|
6652
|
+
"DescribeSparkSessionBatchSqlLog": doDescribeSparkSessionBatchSqlLog,
|
6549
6653
|
"DescribeDMSTables": doDescribeDMSTables,
|
6550
6654
|
"DescribeUserType": doDescribeUserType,
|
6551
6655
|
"DescribeTasks": doDescribeTasks,
|
6552
6656
|
"DeleteScript": doDeleteScript,
|
6553
|
-
"SwitchDataEngineImage": doSwitchDataEngineImage,
|
6554
|
-
"CreateSparkAppTask": doCreateSparkAppTask,
|
6555
6657
|
"DescribeLakeFsDirSummary": doDescribeLakeFsDirSummary,
|
6658
|
+
"CreateSparkAppTask": doCreateSparkAppTask,
|
6659
|
+
"SwitchDataEngineImage": doSwitchDataEngineImage,
|
6556
6660
|
"DescribeDatabases": doDescribeDatabases,
|
6557
6661
|
"AlterDMSPartition": doAlterDMSPartition,
|
6558
6662
|
"CreateUser": doCreateUser,
|
@@ -6560,6 +6664,7 @@ ACTION_MAP = {
|
|
6560
6664
|
"CancelNotebookSessionStatementBatch": doCancelNotebookSessionStatementBatch,
|
6561
6665
|
"DescribeNotebookSessions": doDescribeNotebookSessions,
|
6562
6666
|
"DescribeLakeFsTaskResult": doDescribeLakeFsTaskResult,
|
6667
|
+
"AddOptimizerEngines": doAddOptimizerEngines,
|
6563
6668
|
"DescribeDataEngineImageVersions": doDescribeDataEngineImageVersions,
|
6564
6669
|
"DescribeAdvancedStoreLocation": doDescribeAdvancedStoreLocation,
|
6565
6670
|
"LockMetaData": doLockMetaData,
|
@@ -6596,6 +6701,7 @@ ACTION_MAP = {
|
|
6596
6701
|
"CheckDataEngineImageCanBeUpgrade": doCheckDataEngineImageCanBeUpgrade,
|
6597
6702
|
"DeleteSparkApp": doDeleteSparkApp,
|
6598
6703
|
"DescribeNotebookSessionLog": doDescribeNotebookSessionLog,
|
6704
|
+
"DescribeTasksCostInfo": doDescribeTasksCostInfo,
|
6599
6705
|
"DescribeResultDownload": doDescribeResultDownload,
|
6600
6706
|
"DescribeDMSTable": doDescribeDMSTable,
|
6601
6707
|
"QueryTaskCostDetail": doQueryTaskCostDetail,
|
@@ -6605,7 +6711,7 @@ ACTION_MAP = {
|
|
6605
6711
|
"CheckDataEngineImageCanBeRollback": doCheckDataEngineImageCanBeRollback,
|
6606
6712
|
"CancelSparkSessionBatchSQL": doCancelSparkSessionBatchSQL,
|
6607
6713
|
"DescribeTaskLog": doDescribeTaskLog,
|
6608
|
-
"
|
6714
|
+
"CancelTask": doCancelTask,
|
6609
6715
|
"DescribeTable": doDescribeTable,
|
6610
6716
|
"GetOptimizerPolicy": doGetOptimizerPolicy,
|
6611
6717
|
"DescribeUserInfo": doDescribeUserInfo,
|
@@ -6628,8 +6734,8 @@ ACTION_MAP = {
|
|
6628
6734
|
"CheckLockMetaData": doCheckLockMetaData,
|
6629
6735
|
"CreateImportTask": doCreateImportTask,
|
6630
6736
|
"CreateTable": doCreateTable,
|
6737
|
+
"DescribeTaskResult": doDescribeTaskResult,
|
6631
6738
|
"CreateExportTask": doCreateExportTask,
|
6632
|
-
"CancelTask": doCancelTask,
|
6633
6739
|
"DeleteUsersFromWorkGroup": doDeleteUsersFromWorkGroup,
|
6634
6740
|
"DescribeSparkAppTasks": doDescribeSparkAppTasks,
|
6635
6741
|
"UnbindWorkGroupsFromUser": doUnbindWorkGroupsFromUser,
|
@@ -7,6 +7,13 @@
|
|
7
7
|
"output": "AddDMSPartitionsResponse",
|
8
8
|
"status": "online"
|
9
9
|
},
|
10
|
+
"AddOptimizerEngines": {
|
11
|
+
"document": "添加数据优化资源",
|
12
|
+
"input": "AddOptimizerEnginesRequest",
|
13
|
+
"name": "添加数据优化资源",
|
14
|
+
"output": "AddOptimizerEnginesResponse",
|
15
|
+
"status": "online"
|
16
|
+
},
|
10
17
|
"AddUsersToWorkGroup": {
|
11
18
|
"document": "添加用户到工作组",
|
12
19
|
"input": "AddUsersToWorkGroupRequest",
|
@@ -581,6 +588,13 @@
|
|
581
588
|
"output": "DescribeTasksResponse",
|
582
589
|
"status": "online"
|
583
590
|
},
|
591
|
+
"DescribeTasksCostInfo": {
|
592
|
+
"document": "该接口(DescribeTasksCostInfo)用于查询任务消耗",
|
593
|
+
"input": "DescribeTasksCostInfoRequest",
|
594
|
+
"name": "查询任务消耗",
|
595
|
+
"output": "DescribeTasksCostInfoResponse",
|
596
|
+
"status": "online"
|
597
|
+
},
|
584
598
|
"DescribeUpdatableDataEngines": {
|
585
599
|
"document": "查询可更新配置的引擎列表",
|
586
600
|
"input": "DescribeUpdatableDataEnginesRequest",
|
@@ -930,6 +944,23 @@
|
|
930
944
|
],
|
931
945
|
"type": "object"
|
932
946
|
},
|
947
|
+
"AddOptimizerEnginesRequest": {
|
948
|
+
"document": "AddOptimizerEngines请求参数结构体",
|
949
|
+
"members": [],
|
950
|
+
"type": "object"
|
951
|
+
},
|
952
|
+
"AddOptimizerEnginesResponse": {
|
953
|
+
"document": "AddOptimizerEngines返回参数结构体",
|
954
|
+
"members": [
|
955
|
+
{
|
956
|
+
"document": "唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。",
|
957
|
+
"member": "string",
|
958
|
+
"name": "RequestId",
|
959
|
+
"type": "string"
|
960
|
+
}
|
961
|
+
],
|
962
|
+
"type": "object"
|
963
|
+
},
|
933
964
|
"AddUsersToWorkGroupRequest": {
|
934
965
|
"document": "AddUsersToWorkGroup请求参数结构体",
|
935
966
|
"members": [
|
@@ -9734,6 +9765,98 @@
|
|
9734
9765
|
],
|
9735
9766
|
"type": "object"
|
9736
9767
|
},
|
9768
|
+
"DescribeTasksCostInfoRequest": {
|
9769
|
+
"document": "DescribeTasksCostInfo请求参数结构体",
|
9770
|
+
"members": [
|
9771
|
+
{
|
9772
|
+
"disabled": false,
|
9773
|
+
"document": "过滤条件,如下支持的过滤类型,传参Name应为以下其中一个,其中task-id支持最大50个过滤个数,其他过滤参数支持的总数不超过5个。\ntask-id - String - (任务ID准确过滤)task-id取值形如:e386471f-139a-4e59-877f-50ece8135b99。\ntask-state - String - (任务状态过滤)取值范围 0(初始化), 1(运行中), 2(成功), -1(失败)。\ntask-sql-keyword - String - (SQL语句关键字模糊过滤)取值形如:DROP TABLE。\ntask-operator- string (子uin过滤)",
|
9774
|
+
"example": "无",
|
9775
|
+
"member": "Filter",
|
9776
|
+
"name": "Filters",
|
9777
|
+
"required": false,
|
9778
|
+
"type": "list"
|
9779
|
+
},
|
9780
|
+
{
|
9781
|
+
"disabled": false,
|
9782
|
+
"document": "起始时间点,格式为yyyy-mm-dd HH:MM:SS。默认为45天前的当前时刻",
|
9783
|
+
"example": "2019-01-21 00:00:00",
|
9784
|
+
"member": "string",
|
9785
|
+
"name": "StartTime",
|
9786
|
+
"required": false,
|
9787
|
+
"type": "string"
|
9788
|
+
},
|
9789
|
+
{
|
9790
|
+
"disabled": false,
|
9791
|
+
"document": "结束时间点,格式为yyyy-mm-dd HH:MM:SS时间跨度在(0,30天],支持最近45天数据查询。默认为当前时刻",
|
9792
|
+
"example": "2019-01-22 00:00:00",
|
9793
|
+
"member": "string",
|
9794
|
+
"name": "EndTime",
|
9795
|
+
"required": false,
|
9796
|
+
"type": "string"
|
9797
|
+
},
|
9798
|
+
{
|
9799
|
+
"disabled": false,
|
9800
|
+
"document": "数据引擎名称,用于筛选",
|
9801
|
+
"example": "shared_presto",
|
9802
|
+
"member": "string",
|
9803
|
+
"name": "DataEngineName",
|
9804
|
+
"required": false,
|
9805
|
+
"type": "string"
|
9806
|
+
},
|
9807
|
+
{
|
9808
|
+
"disabled": false,
|
9809
|
+
"document": "下一页的标识",
|
9810
|
+
"example": "上一次返回的searchafter值",
|
9811
|
+
"member": "string",
|
9812
|
+
"name": "SearchAfter",
|
9813
|
+
"required": false,
|
9814
|
+
"type": "string"
|
9815
|
+
},
|
9816
|
+
{
|
9817
|
+
"disabled": false,
|
9818
|
+
"document": "每页的大小",
|
9819
|
+
"example": "10000",
|
9820
|
+
"member": "uint64",
|
9821
|
+
"name": "PageSize",
|
9822
|
+
"required": false,
|
9823
|
+
"type": "int"
|
9824
|
+
}
|
9825
|
+
],
|
9826
|
+
"type": "object"
|
9827
|
+
},
|
9828
|
+
"DescribeTasksCostInfoResponse": {
|
9829
|
+
"document": "DescribeTasksCostInfo返回参数结构体",
|
9830
|
+
"members": [
|
9831
|
+
{
|
9832
|
+
"disabled": false,
|
9833
|
+
"document": "下一页的标识\n注意:此字段可能返回 null,表示取不到有效值。",
|
9834
|
+
"example": "[1716358571169]",
|
9835
|
+
"member": "string",
|
9836
|
+
"name": "SearchAfter",
|
9837
|
+
"output_required": false,
|
9838
|
+
"type": "string",
|
9839
|
+
"value_allowed_null": true
|
9840
|
+
},
|
9841
|
+
{
|
9842
|
+
"disabled": false,
|
9843
|
+
"document": "返回的数据,字符串类型的二维数组,首行为列中文名称\n注意:此字段可能返回 null,表示取不到有效值。",
|
9844
|
+
"example": "[[\\\"任务ID\\\",\\\"引擎具体类别\\\",\\\"任务提交时间\\\",\\\"引擎耗时(ms)\\\",\\\"引擎名称\\\",\\\"使用人\\\",\\\"资源总使用情况(cu*ms)\\\",\\\"资源拆分情况\\\"],[\\\"81e3ca8f-b617-4141-934d-d90dbbf43293\\\",\\\"SparkBatchSQL\\\",\\\"1716358571169\\\",\\\"0\\\",\\\"test_hz\\\",\\\"100000000000\\\",\\\"36396\\\",\\\"[{\\\\\\\"TaskId\\\\\\\":\\\\\\\"cbec28d8-4390-44d2-9c88-5ef777a92ecf\\\\\\\",\\\\\\\"TotalTime\\\\\\\":36396}]\\\"]]",
|
9845
|
+
"member": "string",
|
9846
|
+
"name": "Data",
|
9847
|
+
"output_required": false,
|
9848
|
+
"type": "string",
|
9849
|
+
"value_allowed_null": true
|
9850
|
+
},
|
9851
|
+
{
|
9852
|
+
"document": "唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。",
|
9853
|
+
"member": "string",
|
9854
|
+
"name": "RequestId",
|
9855
|
+
"type": "string"
|
9856
|
+
}
|
9857
|
+
],
|
9858
|
+
"type": "object"
|
9859
|
+
},
|
9737
9860
|
"DescribeTasksRequest": {
|
9738
9861
|
"document": "DescribeTasks请求参数结构体",
|
9739
9862
|
"members": [
|
@@ -8,6 +8,14 @@
|
|
8
8
|
"title": "DMS元数据新增分区"
|
9
9
|
}
|
10
10
|
],
|
11
|
+
"AddOptimizerEngines": [
|
12
|
+
{
|
13
|
+
"document": "",
|
14
|
+
"input": "POST / HTTP/1.1\nHost: dlc.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: AddOptimizerEngines\n<公共请求参数>\n\n{}",
|
15
|
+
"output": "{\n \"Response\": {\n \"RequestId\": \"1304581893_25027_1709796072623_223\"\n }\n}",
|
16
|
+
"title": "实例一"
|
17
|
+
}
|
18
|
+
],
|
11
19
|
"AddUsersToWorkGroup": [
|
12
20
|
{
|
13
21
|
"document": "",
|
@@ -664,6 +672,14 @@
|
|
664
672
|
"title": "查询任务列表"
|
665
673
|
}
|
666
674
|
],
|
675
|
+
"DescribeTasksCostInfo": [
|
676
|
+
{
|
677
|
+
"document": "",
|
678
|
+
"input": "POST / HTTP/1.1\nHost: dlc.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: DescribeTasksCostInfo\n<公共请求参数>\n\n{}",
|
679
|
+
"output": "{\n \"Response\": {\n \"SearchAfter\": \"abc\",\n \"Data\": \"abc\",\n \"RequestId\": \"abc\"\n }\n}",
|
680
|
+
"title": "查询任务消耗"
|
681
|
+
}
|
682
|
+
],
|
667
683
|
"DescribeUpdatableDataEngines": [
|
668
684
|
{
|
669
685
|
"document": "查询需要更新结果桶集群配置的sparksql引擎",
|
tccli/services/ess/ess_client.py
CHANGED
@@ -1993,6 +1993,58 @@ def doDescribeExtendedServiceAuthInfos(args, parsed_globals):
|
|
1993
1993
|
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
1994
1994
|
|
1995
1995
|
|
1996
|
+
def doCreateOrganizationGroupInvitationLink(args, parsed_globals):
|
1997
|
+
g_param = parse_global_arg(parsed_globals)
|
1998
|
+
|
1999
|
+
if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
|
2000
|
+
cred = credential.CVMRoleCredential()
|
2001
|
+
elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
|
2002
|
+
cred = credential.STSAssumeRoleCredential(
|
2003
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
|
2004
|
+
g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
|
2005
|
+
)
|
2006
|
+
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):
|
2007
|
+
cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
|
2008
|
+
else:
|
2009
|
+
cred = credential.Credential(
|
2010
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
|
2011
|
+
)
|
2012
|
+
http_profile = HttpProfile(
|
2013
|
+
reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
|
2014
|
+
reqMethod="POST",
|
2015
|
+
endpoint=g_param[OptionsDefine.Endpoint],
|
2016
|
+
proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
|
2017
|
+
)
|
2018
|
+
profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
|
2019
|
+
if g_param[OptionsDefine.Language]:
|
2020
|
+
profile.language = g_param[OptionsDefine.Language]
|
2021
|
+
mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
|
2022
|
+
client = mod.EssClient(cred, g_param[OptionsDefine.Region], profile)
|
2023
|
+
client._sdkVersion += ("_CLI_" + __version__)
|
2024
|
+
models = MODELS_MAP[g_param[OptionsDefine.Version]]
|
2025
|
+
model = models.CreateOrganizationGroupInvitationLinkRequest()
|
2026
|
+
model.from_json_string(json.dumps(args))
|
2027
|
+
start_time = time.time()
|
2028
|
+
while True:
|
2029
|
+
rsp = client.CreateOrganizationGroupInvitationLink(model)
|
2030
|
+
result = rsp.to_json_string()
|
2031
|
+
try:
|
2032
|
+
json_obj = json.loads(result)
|
2033
|
+
except TypeError as e:
|
2034
|
+
json_obj = json.loads(result.decode('utf-8')) # python3.3
|
2035
|
+
if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
|
2036
|
+
break
|
2037
|
+
cur_time = time.time()
|
2038
|
+
if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
|
2039
|
+
raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
|
2040
|
+
(g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
|
2041
|
+
search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
|
2042
|
+
else:
|
2043
|
+
print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
|
2044
|
+
time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
|
2045
|
+
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
2046
|
+
|
2047
|
+
|
1996
2048
|
def doDescribeFlowEvidenceReport(args, parsed_globals):
|
1997
2049
|
g_param = parse_global_arg(parsed_globals)
|
1998
2050
|
|
@@ -2097,6 +2149,58 @@ def doCreateFlowByFiles(args, parsed_globals):
|
|
2097
2149
|
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
2098
2150
|
|
2099
2151
|
|
2152
|
+
def doCreateBatchSignUrl(args, parsed_globals):
|
2153
|
+
g_param = parse_global_arg(parsed_globals)
|
2154
|
+
|
2155
|
+
if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
|
2156
|
+
cred = credential.CVMRoleCredential()
|
2157
|
+
elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
|
2158
|
+
cred = credential.STSAssumeRoleCredential(
|
2159
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
|
2160
|
+
g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
|
2161
|
+
)
|
2162
|
+
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):
|
2163
|
+
cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
|
2164
|
+
else:
|
2165
|
+
cred = credential.Credential(
|
2166
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
|
2167
|
+
)
|
2168
|
+
http_profile = HttpProfile(
|
2169
|
+
reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
|
2170
|
+
reqMethod="POST",
|
2171
|
+
endpoint=g_param[OptionsDefine.Endpoint],
|
2172
|
+
proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
|
2173
|
+
)
|
2174
|
+
profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
|
2175
|
+
if g_param[OptionsDefine.Language]:
|
2176
|
+
profile.language = g_param[OptionsDefine.Language]
|
2177
|
+
mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
|
2178
|
+
client = mod.EssClient(cred, g_param[OptionsDefine.Region], profile)
|
2179
|
+
client._sdkVersion += ("_CLI_" + __version__)
|
2180
|
+
models = MODELS_MAP[g_param[OptionsDefine.Version]]
|
2181
|
+
model = models.CreateBatchSignUrlRequest()
|
2182
|
+
model.from_json_string(json.dumps(args))
|
2183
|
+
start_time = time.time()
|
2184
|
+
while True:
|
2185
|
+
rsp = client.CreateBatchSignUrl(model)
|
2186
|
+
result = rsp.to_json_string()
|
2187
|
+
try:
|
2188
|
+
json_obj = json.loads(result)
|
2189
|
+
except TypeError as e:
|
2190
|
+
json_obj = json.loads(result.decode('utf-8')) # python3.3
|
2191
|
+
if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
|
2192
|
+
break
|
2193
|
+
cur_time = time.time()
|
2194
|
+
if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
|
2195
|
+
raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
|
2196
|
+
(g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
|
2197
|
+
search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
|
2198
|
+
else:
|
2199
|
+
print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
|
2200
|
+
time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
|
2201
|
+
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
2202
|
+
|
2203
|
+
|
2100
2204
|
def doCreateSeal(args, parsed_globals):
|
2101
2205
|
g_param = parse_global_arg(parsed_globals)
|
2102
2206
|
|
@@ -3085,7 +3189,7 @@ def doUploadFiles(args, parsed_globals):
|
|
3085
3189
|
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
3086
3190
|
|
3087
3191
|
|
3088
|
-
def
|
3192
|
+
def doCreateIntegrationSubOrganizationActiveRecord(args, parsed_globals):
|
3089
3193
|
g_param = parse_global_arg(parsed_globals)
|
3090
3194
|
|
3091
3195
|
if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
|
@@ -3114,11 +3218,11 @@ def doCreateBatchSignUrl(args, parsed_globals):
|
|
3114
3218
|
client = mod.EssClient(cred, g_param[OptionsDefine.Region], profile)
|
3115
3219
|
client._sdkVersion += ("_CLI_" + __version__)
|
3116
3220
|
models = MODELS_MAP[g_param[OptionsDefine.Version]]
|
3117
|
-
model = models.
|
3221
|
+
model = models.CreateIntegrationSubOrganizationActiveRecordRequest()
|
3118
3222
|
model.from_json_string(json.dumps(args))
|
3119
3223
|
start_time = time.time()
|
3120
3224
|
while True:
|
3121
|
-
rsp = client.
|
3225
|
+
rsp = client.CreateIntegrationSubOrganizationActiveRecord(model)
|
3122
3226
|
result = rsp.to_json_string()
|
3123
3227
|
try:
|
3124
3228
|
json_obj = json.loads(result)
|
@@ -4278,8 +4382,10 @@ ACTION_MAP = {
|
|
4278
4382
|
"DescribeUserAutoSignStatus": doDescribeUserAutoSignStatus,
|
4279
4383
|
"CreateFlowGroupByTemplates": doCreateFlowGroupByTemplates,
|
4280
4384
|
"DescribeExtendedServiceAuthInfos": doDescribeExtendedServiceAuthInfos,
|
4385
|
+
"CreateOrganizationGroupInvitationLink": doCreateOrganizationGroupInvitationLink,
|
4281
4386
|
"DescribeFlowEvidenceReport": doDescribeFlowEvidenceReport,
|
4282
4387
|
"CreateFlowByFiles": doCreateFlowByFiles,
|
4388
|
+
"CreateBatchSignUrl": doCreateBatchSignUrl,
|
4283
4389
|
"CreateSeal": doCreateSeal,
|
4284
4390
|
"DescribeIntegrationRoles": doDescribeIntegrationRoles,
|
4285
4391
|
"CreateMultiFlowSignQRCode": doCreateMultiFlowSignQRCode,
|
@@ -4299,7 +4405,7 @@ ACTION_MAP = {
|
|
4299
4405
|
"CreateIntegrationUserRoles": doCreateIntegrationUserRoles,
|
4300
4406
|
"DescribeSignFaceVideo": doDescribeSignFaceVideo,
|
4301
4407
|
"UploadFiles": doUploadFiles,
|
4302
|
-
"
|
4408
|
+
"CreateIntegrationSubOrganizationActiveRecord": doCreateIntegrationSubOrganizationActiveRecord,
|
4303
4409
|
"CreateOrganizationBatchSignUrl": doCreateOrganizationBatchSignUrl,
|
4304
4410
|
"CreateFlowSignUrl": doCreateFlowSignUrl,
|
4305
4411
|
"DescribeFlowComponents": doDescribeFlowComponents,
|