tccli 3.0.1326.1__py2.py3-none-any.whl → 3.0.1327.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/ams/v20201229/api.json +9 -9
- tccli/services/cdb/v20170320/api.json +9 -9
- tccli/services/cdc/v20201214/api.json +5 -5
- tccli/services/cfs/v20190719/api.json +4 -4
- tccli/services/clb/clb_client.py +53 -0
- tccli/services/clb/v20180317/api.json +100 -0
- tccli/services/clb/v20180317/examples.json +8 -0
- tccli/services/emr/v20190103/api.json +19 -0
- tccli/services/ess/v20201111/api.json +1 -1
- tccli/services/gs/gs_client.py +167 -8
- tccli/services/gs/v20191118/api.json +269 -9
- tccli/services/gs/v20191118/examples.json +26 -2
- tccli/services/lowcode/v20210108/api.json +60 -0
- tccli/services/monitor/monitor_client.py +117 -11
- tccli/services/monitor/v20180724/api.json +151 -0
- tccli/services/monitor/v20180724/examples.json +16 -0
- tccli/services/mrs/v20200910/api.json +1 -1
- tccli/services/oceanus/v20190422/api.json +15 -5
- tccli/services/oceanus/v20190422/examples.json +8 -2
- tccli/services/privatedns/privatedns_client.py +53 -0
- tccli/services/privatedns/v20201028/api.json +179 -0
- tccli/services/privatedns/v20201028/examples.json +8 -0
- tccli/services/tcss/v20201101/api.json +190 -32
- tccli/services/tcss/v20201101/examples.json +6 -6
- tccli/services/tms/v20201229/api.json +2 -2
- tccli/services/tms/v20201229/examples.json +1 -1
- tccli/services/vm/v20210922/api.json +13 -13
- tccli/services/vm/v20210922/examples.json +2 -2
- tccli/services/vpc/v20170312/api.json +2 -2
- {tccli-3.0.1326.1.dist-info → tccli-3.0.1327.1.dist-info}/METADATA +2 -2
- {tccli-3.0.1326.1.dist-info → tccli-3.0.1327.1.dist-info}/RECORD +35 -35
- {tccli-3.0.1326.1.dist-info → tccli-3.0.1327.1.dist-info}/WHEEL +0 -0
- {tccli-3.0.1326.1.dist-info → tccli-3.0.1327.1.dist-info}/entry_points.txt +0 -0
- {tccli-3.0.1326.1.dist-info → tccli-3.0.1327.1.dist-info}/license_files/LICENSE +0 -0
@@ -35,7 +35,7 @@
|
|
35
35
|
"CreateAndroidAppVersion": [
|
36
36
|
{
|
37
37
|
"document": "创建安卓应用版本",
|
38
|
-
"input": "POST / HTTP/1.1\nHost: gs.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: CreateAndroidAppVersion\n<公共请求参数>\n\n{\n \"AndroidAppId\": \"apk-ne70ubtu\",\n \"Command\": \"tar -zxvf test-1.0.X.tar.gz && cd test-1.0.X && ./install.sh\",\n \"UninstallCommand\": \"cd test-1.0.X && ./uninstall.sh\",\n \"DownloadUrl\": \"\"\n}",
|
38
|
+
"input": "POST / HTTP/1.1\nHost: gs.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: CreateAndroidAppVersion\n<公共请求参数>\n\n{\n \"AndroidAppId\": \"apk-ne70ubtu\",\n \"Command\": \"tar -zxvf test-1.0.X.tar.gz && cd test-1.0.X && ./install.sh\",\n \"UninstallCommand\": \"cd test-1.0.X && ./uninstall.sh\",\n \"DownloadUrl\": \"\",\n \"CleanupMode\": \"CLEANUP_AFTER_INSTALL\"\n}",
|
39
39
|
"output": "{\n \"Response\": {\n \"AndroidAppVersion\": \"1705458203832573301\",\n \"RequestId\": \"143c46a1-70f4-4371-8cc8-c30efef53c4e\"\n }\n}",
|
40
40
|
"title": "创建安卓应用版本"
|
41
41
|
},
|
@@ -46,6 +46,14 @@
|
|
46
46
|
"title": "使用应用包下载链接创建安卓应用版本"
|
47
47
|
}
|
48
48
|
],
|
49
|
+
"CreateAndroidInstanceADB": [
|
50
|
+
{
|
51
|
+
"document": "示例",
|
52
|
+
"input": "POST / HTTP/1.1\nHost: gs.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: CreateAndroidInstanceADB\n<公共请求参数>\n\n{\n \"AndroidInstanceId\": \"cai-251006279-ea99cM7rbg6\"\n}",
|
53
|
+
"output": "{\n \"Response\": {\n \"ConnectCommand\": \"ssh -i private_key.pem -L 5555:cai-251006279-ea99cM7rbg6:5555 root@test-ap-shenzhen-1.webssh.crtrcloud.com -p 12222\",\n \"HostName\": \"test-ap-shenzhen-1.webssh.crtrcloud.com\",\n \"Port\": 12222,\n \"PrivateKey\": \"-----BEGIN OPENSSH PRIVATE KEY-----\\nb3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtz\\nc2gtZWQyNTUxOQAAACDZ2upaoRI2s2uMA8ESBiDnS9heOvxhBAQOQzSrFv1aagAA\\nAIjvnnQA7550AAAAAAtzc2gtZWQyNTUxOQAAACDZ2upaoRI2s2uMA8ESBiDnS9he\\nOvxhBAQOQzSrFv1aagAAAEAWnd+o1zmFUPf6K78mAcnFtIcV+OJ7D8mzaI050YgK\\ncdna6lqhEjaza4wDwRIGIOdL2F46/GEEBA5DNKsW/VpqAAAAAAECAwQF\\n-----END OPENSSH PRIVATE KEY-----\\n\",\n \"RequestId\": \"c53f2591-97ae-4eec-a66c-c12e312ea519\",\n \"UserName\": \"root\"\n }\n}",
|
54
|
+
"title": "示例"
|
55
|
+
}
|
56
|
+
],
|
49
57
|
"CreateAndroidInstanceImage": [
|
50
58
|
{
|
51
59
|
"document": "创建安卓实例镜像",
|
@@ -146,7 +154,7 @@
|
|
146
154
|
{
|
147
155
|
"document": "查询安卓应用信息",
|
148
156
|
"input": "POST / HTTP/1.1\nHost: gs.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: DescribeAndroidApps\n<公共请求参数>\n\n{\n \"Offset\": 2,\n \"Limit\": 2\n}",
|
149
|
-
"output": "{\n \"Response\": {\n \"Apps\": [\n {\n \"AndroidAppId\": \"apk-ne70ubtu\",\n \"AndroidAppVersionInfo\": [\n {\n \"AndroidAppVersion\": \"1705404913631168348\",\n \"CreateTime\": \"2024-01-16T11:36:20Z\",\n \"Command\": \"tar -zxvf test-1.0.X.tgz && cd test-1.0.X && ./install.sh\",\n \"UninstallCommand\": \"cd test-1.0.X && ./uninstall.sh\",\n \"State\": \"CREATE_SUCCESS\"\n },\n {\n \"AndroidAppVersion\": \"1705406075397560877\",\n \"CreateTime\": \"2024-01-16T11:54:35Z\",\n \"Command\": \"tar -zxvf test-2.0.X.tgz && cd test-2.0.X && ./install.sh\",\n \"UninstallCommand\": \"cd test-2.0.X && ./uninstall.sh\",\n \"State\": \"CREATE_FAIL\"\n }\n ],\n \"Name\": \"控制台测试1\",\n \"State\": \"ONLINE\",\n \"UserId\": \"user1\",\n \"AppMode\": \"ADVANCED\",\n \"CreateTime\": \"2024-01-16T11:54:35Z\"\n },\n {\n \"AndroidAppId\": \"apk-d6fyydrc\",\n \"AndroidAppVersionInfo\": null,\n \"Name\": \"控制台测试1\",\n \"State\": \"ONLINE\",\n \"UserId\": \"user2\",\n \"AppMode\": \"NORMAL\",\n \"CreateTime\": \"2024-01-16T11:54:35Z\"\n }\n ],\n \"RequestId\": \"5eae7edb-7e12-451e-a4c1-7cf0b777c6e7\",\n \"TotalCount\": 2\n }\n}",
|
157
|
+
"output": "{\n \"Response\": {\n \"Apps\": [\n {\n \"AndroidAppId\": \"apk-ne70ubtu\",\n \"AndroidAppVersionInfo\": [\n {\n \"AndroidAppVersion\": \"1705404913631168348\",\n \"CreateTime\": \"2024-01-16T11:36:20Z\",\n \"Command\": \"tar -zxvf test-1.0.X.tgz && cd test-1.0.X && ./install.sh\",\n \"UninstallCommand\": \"cd test-1.0.X && ./uninstall.sh\",\n \"CleanupMode\": \"CLEANUP_ON_UNINSTALL\",\n \"State\": \"CREATE_SUCCESS\"\n },\n {\n \"AndroidAppVersion\": \"1705406075397560877\",\n \"CreateTime\": \"2024-01-16T11:54:35Z\",\n \"Command\": \"tar -zxvf test-2.0.X.tgz && cd test-2.0.X && ./install.sh\",\n \"UninstallCommand\": \"cd test-2.0.X && ./uninstall.sh\",\n \"CleanupMode\": \"CLEANUP_AFTER_INSTALL\",\n \"State\": \"CREATE_FAIL\"\n }\n ],\n \"Name\": \"控制台测试1\",\n \"State\": \"ONLINE\",\n \"UserId\": \"user1\",\n \"AppMode\": \"ADVANCED\",\n \"CreateTime\": \"2024-01-16T11:54:35Z\"\n },\n {\n \"AndroidAppId\": \"apk-d6fyydrc\",\n \"AndroidAppVersionInfo\": null,\n \"Name\": \"控制台测试1\",\n \"State\": \"ONLINE\",\n \"UserId\": \"user2\",\n \"AppMode\": \"NORMAL\",\n \"CreateTime\": \"2024-01-16T11:54:35Z\"\n }\n ],\n \"RequestId\": \"5eae7edb-7e12-451e-a4c1-7cf0b777c6e7\",\n \"TotalCount\": 2\n }\n}",
|
150
158
|
"title": "查询安卓应用信息"
|
151
159
|
}
|
152
160
|
],
|
@@ -238,6 +246,14 @@
|
|
238
246
|
"title": "安装安卓实例应用"
|
239
247
|
}
|
240
248
|
],
|
249
|
+
"InstallAndroidInstancesAppWithURL": [
|
250
|
+
{
|
251
|
+
"document": "示例",
|
252
|
+
"input": "POST / HTTP/1.1\nHost: gs.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: InstallAndroidInstancesAppWithURL\n<公共请求参数>\n\n{\n \"AndroidInstanceIds\": [\n \"cai-251006279-6c8fJh1iNOc\"\n ],\n \"AndroidAppURL\": \"https://test.cos.ap-nanjing.myqcloud.com/tmp/177.apk\"\n}",
|
253
|
+
"output": "{\n \"Response\": {\n \"RequestId\": \"057fce8a-1dc2-48df-bb5a-69a4f3fae4ac\",\n \"TaskSet\": [\n {\n \"AndroidInstanceId\": \"cai-251006279-6c8fJh1iNOc\",\n \"TaskId\": \"64e5dee5-824b-4899-805a-bf0694e3334a\"\n }\n ]\n }\n}",
|
254
|
+
"title": "示例"
|
255
|
+
}
|
256
|
+
],
|
241
257
|
"ModifyAndroidApp": [
|
242
258
|
{
|
243
259
|
"document": "",
|
@@ -286,6 +302,14 @@
|
|
286
302
|
"title": "示例"
|
287
303
|
}
|
288
304
|
],
|
305
|
+
"ModifyAndroidInstancesProperties": [
|
306
|
+
{
|
307
|
+
"document": "示例",
|
308
|
+
"input": "POST / HTTP/1.1\nHost: gs.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: ModifyAndroidInstancesProperties\n<公共请求参数>\n\n{\n \"AndroidInstanceIds\": [\n \"cai-251006279-ea99wkeEIID\",\n \"cai-251006279-ea99NQV3Qw7\"\n ],\n \"AndroidInstanceDevice\": {\n \"Brand\": \"google\",\n \"Model\": \"Pixel3\"\n },\n \"AndroidInstanceProperties\": [\n {\n \"Key\": \"testkey\",\n \"Value\": \"testvalue\"\n }\n ]\n}",
|
309
|
+
"output": "{\n \"Response\": {\n \"RequestId\": \"16152a6a-d031-4506-8eba-466e6a286c01\"\n }\n}",
|
310
|
+
"title": "示例"
|
311
|
+
}
|
312
|
+
],
|
289
313
|
"ModifyAndroidInstancesResolution": [
|
290
314
|
{
|
291
315
|
"document": "示例",
|
@@ -1328,6 +1328,36 @@
|
|
1328
1328
|
"output_required": false,
|
1329
1329
|
"type": "string",
|
1330
1330
|
"value_allowed_null": false
|
1331
|
+
},
|
1332
|
+
{
|
1333
|
+
"disabled": false,
|
1334
|
+
"document": "上传文件状态",
|
1335
|
+
"example": "Ready",
|
1336
|
+
"member": "string",
|
1337
|
+
"name": "DocStatus",
|
1338
|
+
"output_required": false,
|
1339
|
+
"type": "string",
|
1340
|
+
"value_allowed_null": false
|
1341
|
+
},
|
1342
|
+
{
|
1343
|
+
"disabled": false,
|
1344
|
+
"document": "文件上传失败的具体原因",
|
1345
|
+
"example": "failed",
|
1346
|
+
"member": "string",
|
1347
|
+
"name": "ErrMsg",
|
1348
|
+
"output_required": false,
|
1349
|
+
"type": "string",
|
1350
|
+
"value_allowed_null": false
|
1351
|
+
},
|
1352
|
+
{
|
1353
|
+
"disabled": false,
|
1354
|
+
"document": "Cos存储文件ID",
|
1355
|
+
"example": "cloud://aa.doc",
|
1356
|
+
"member": "string",
|
1357
|
+
"name": "FileId",
|
1358
|
+
"output_required": false,
|
1359
|
+
"type": "string",
|
1360
|
+
"value_allowed_null": false
|
1331
1361
|
}
|
1332
1362
|
],
|
1333
1363
|
"usage": "out"
|
@@ -1688,6 +1718,36 @@
|
|
1688
1718
|
"output_required": false,
|
1689
1719
|
"type": "string",
|
1690
1720
|
"value_allowed_null": false
|
1721
|
+
},
|
1722
|
+
{
|
1723
|
+
"disabled": false,
|
1724
|
+
"document": "文档上传状态",
|
1725
|
+
"example": "Ready",
|
1726
|
+
"member": "string",
|
1727
|
+
"name": "DocStatus",
|
1728
|
+
"output_required": false,
|
1729
|
+
"type": "string",
|
1730
|
+
"value_allowed_null": false
|
1731
|
+
},
|
1732
|
+
{
|
1733
|
+
"disabled": false,
|
1734
|
+
"document": "上传文件失败时具体的错误消息",
|
1735
|
+
"example": "xxx param invalid",
|
1736
|
+
"member": "string",
|
1737
|
+
"name": "ErrMsg",
|
1738
|
+
"output_required": false,
|
1739
|
+
"type": "string",
|
1740
|
+
"value_allowed_null": false
|
1741
|
+
},
|
1742
|
+
{
|
1743
|
+
"disabled": false,
|
1744
|
+
"document": "Cos存储文件ID",
|
1745
|
+
"example": "cloud://aa.doc",
|
1746
|
+
"member": "string",
|
1747
|
+
"name": "FileId",
|
1748
|
+
"output_required": false,
|
1749
|
+
"type": "string",
|
1750
|
+
"value_allowed_null": false
|
1691
1751
|
}
|
1692
1752
|
],
|
1693
1753
|
"usage": "out"
|
@@ -1683,6 +1683,58 @@ def doDeleteAlertRules(args, parsed_globals):
|
|
1683
1683
|
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
1684
1684
|
|
1685
1685
|
|
1686
|
+
def doDescribePolicyGroupList(args, parsed_globals):
|
1687
|
+
g_param = parse_global_arg(parsed_globals)
|
1688
|
+
|
1689
|
+
if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
|
1690
|
+
cred = credential.CVMRoleCredential()
|
1691
|
+
elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
|
1692
|
+
cred = credential.STSAssumeRoleCredential(
|
1693
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
|
1694
|
+
g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
|
1695
|
+
)
|
1696
|
+
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):
|
1697
|
+
cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
|
1698
|
+
else:
|
1699
|
+
cred = credential.Credential(
|
1700
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
|
1701
|
+
)
|
1702
|
+
http_profile = HttpProfile(
|
1703
|
+
reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
|
1704
|
+
reqMethod="POST",
|
1705
|
+
endpoint=g_param[OptionsDefine.Endpoint],
|
1706
|
+
proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
|
1707
|
+
)
|
1708
|
+
profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
|
1709
|
+
if g_param[OptionsDefine.Language]:
|
1710
|
+
profile.language = g_param[OptionsDefine.Language]
|
1711
|
+
mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
|
1712
|
+
client = mod.MonitorClient(cred, g_param[OptionsDefine.Region], profile)
|
1713
|
+
client._sdkVersion += ("_CLI_" + __version__)
|
1714
|
+
models = MODELS_MAP[g_param[OptionsDefine.Version]]
|
1715
|
+
model = models.DescribePolicyGroupListRequest()
|
1716
|
+
model.from_json_string(json.dumps(args))
|
1717
|
+
start_time = time.time()
|
1718
|
+
while True:
|
1719
|
+
rsp = client.DescribePolicyGroupList(model)
|
1720
|
+
result = rsp.to_json_string()
|
1721
|
+
try:
|
1722
|
+
json_obj = json.loads(result)
|
1723
|
+
except TypeError as e:
|
1724
|
+
json_obj = json.loads(result.decode('utf-8')) # python3.3
|
1725
|
+
if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
|
1726
|
+
break
|
1727
|
+
cur_time = time.time()
|
1728
|
+
if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
|
1729
|
+
raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
|
1730
|
+
(g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
|
1731
|
+
search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
|
1732
|
+
else:
|
1733
|
+
print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
|
1734
|
+
time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
|
1735
|
+
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
1736
|
+
|
1737
|
+
|
1686
1738
|
def doDescribeBaseMetrics(args, parsed_globals):
|
1687
1739
|
g_param = parse_global_arg(parsed_globals)
|
1688
1740
|
|
@@ -2671,7 +2723,7 @@ def doCreateConditionsTemplate(args, parsed_globals):
|
|
2671
2723
|
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
2672
2724
|
|
2673
2725
|
|
2674
|
-
def
|
2726
|
+
def doDescribeExternalClusterUninstallCommand(args, parsed_globals):
|
2675
2727
|
g_param = parse_global_arg(parsed_globals)
|
2676
2728
|
|
2677
2729
|
if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
|
@@ -2700,11 +2752,11 @@ def doGetPrometheusAgentManagementCommand(args, parsed_globals):
|
|
2700
2752
|
client = mod.MonitorClient(cred, g_param[OptionsDefine.Region], profile)
|
2701
2753
|
client._sdkVersion += ("_CLI_" + __version__)
|
2702
2754
|
models = MODELS_MAP[g_param[OptionsDefine.Version]]
|
2703
|
-
model = models.
|
2755
|
+
model = models.DescribeExternalClusterUninstallCommandRequest()
|
2704
2756
|
model.from_json_string(json.dumps(args))
|
2705
2757
|
start_time = time.time()
|
2706
2758
|
while True:
|
2707
|
-
rsp = client.
|
2759
|
+
rsp = client.DescribeExternalClusterUninstallCommand(model)
|
2708
2760
|
result = rsp.to_json_string()
|
2709
2761
|
try:
|
2710
2762
|
json_obj = json.loads(result)
|
@@ -2723,7 +2775,7 @@ def doGetPrometheusAgentManagementCommand(args, parsed_globals):
|
|
2723
2775
|
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
2724
2776
|
|
2725
2777
|
|
2726
|
-
def
|
2778
|
+
def doGetPrometheusAgentManagementCommand(args, parsed_globals):
|
2727
2779
|
g_param = parse_global_arg(parsed_globals)
|
2728
2780
|
|
2729
2781
|
if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
|
@@ -2752,11 +2804,11 @@ def doDescribePrometheusAgents(args, parsed_globals):
|
|
2752
2804
|
client = mod.MonitorClient(cred, g_param[OptionsDefine.Region], profile)
|
2753
2805
|
client._sdkVersion += ("_CLI_" + __version__)
|
2754
2806
|
models = MODELS_MAP[g_param[OptionsDefine.Version]]
|
2755
|
-
model = models.
|
2807
|
+
model = models.GetPrometheusAgentManagementCommandRequest()
|
2756
2808
|
model.from_json_string(json.dumps(args))
|
2757
2809
|
start_time = time.time()
|
2758
2810
|
while True:
|
2759
|
-
rsp = client.
|
2811
|
+
rsp = client.GetPrometheusAgentManagementCommand(model)
|
2760
2812
|
result = rsp.to_json_string()
|
2761
2813
|
try:
|
2762
2814
|
json_obj = json.loads(result)
|
@@ -6363,7 +6415,7 @@ def doUpdateGrafanaWhiteList(args, parsed_globals):
|
|
6363
6415
|
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
6364
6416
|
|
6365
6417
|
|
6366
|
-
def
|
6418
|
+
def doDescribePrometheusAgents(args, parsed_globals):
|
6367
6419
|
g_param = parse_global_arg(parsed_globals)
|
6368
6420
|
|
6369
6421
|
if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
|
@@ -6392,11 +6444,11 @@ def doDescribePolicyGroupList(args, parsed_globals):
|
|
6392
6444
|
client = mod.MonitorClient(cred, g_param[OptionsDefine.Region], profile)
|
6393
6445
|
client._sdkVersion += ("_CLI_" + __version__)
|
6394
6446
|
models = MODELS_MAP[g_param[OptionsDefine.Version]]
|
6395
|
-
model = models.
|
6447
|
+
model = models.DescribePrometheusAgentsRequest()
|
6396
6448
|
model.from_json_string(json.dumps(args))
|
6397
6449
|
start_time = time.time()
|
6398
6450
|
while True:
|
6399
|
-
rsp = client.
|
6451
|
+
rsp = client.DescribePrometheusAgents(model)
|
6400
6452
|
result = rsp.to_json_string()
|
6401
6453
|
try:
|
6402
6454
|
json_obj = json.loads(result)
|
@@ -7143,6 +7195,58 @@ def doGetMonitorData(args, parsed_globals):
|
|
7143
7195
|
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
7144
7196
|
|
7145
7197
|
|
7198
|
+
def doCreateExternalCluster(args, parsed_globals):
|
7199
|
+
g_param = parse_global_arg(parsed_globals)
|
7200
|
+
|
7201
|
+
if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
|
7202
|
+
cred = credential.CVMRoleCredential()
|
7203
|
+
elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
|
7204
|
+
cred = credential.STSAssumeRoleCredential(
|
7205
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
|
7206
|
+
g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
|
7207
|
+
)
|
7208
|
+
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):
|
7209
|
+
cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
|
7210
|
+
else:
|
7211
|
+
cred = credential.Credential(
|
7212
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
|
7213
|
+
)
|
7214
|
+
http_profile = HttpProfile(
|
7215
|
+
reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
|
7216
|
+
reqMethod="POST",
|
7217
|
+
endpoint=g_param[OptionsDefine.Endpoint],
|
7218
|
+
proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
|
7219
|
+
)
|
7220
|
+
profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
|
7221
|
+
if g_param[OptionsDefine.Language]:
|
7222
|
+
profile.language = g_param[OptionsDefine.Language]
|
7223
|
+
mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
|
7224
|
+
client = mod.MonitorClient(cred, g_param[OptionsDefine.Region], profile)
|
7225
|
+
client._sdkVersion += ("_CLI_" + __version__)
|
7226
|
+
models = MODELS_MAP[g_param[OptionsDefine.Version]]
|
7227
|
+
model = models.CreateExternalClusterRequest()
|
7228
|
+
model.from_json_string(json.dumps(args))
|
7229
|
+
start_time = time.time()
|
7230
|
+
while True:
|
7231
|
+
rsp = client.CreateExternalCluster(model)
|
7232
|
+
result = rsp.to_json_string()
|
7233
|
+
try:
|
7234
|
+
json_obj = json.loads(result)
|
7235
|
+
except TypeError as e:
|
7236
|
+
json_obj = json.loads(result.decode('utf-8')) # python3.3
|
7237
|
+
if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
|
7238
|
+
break
|
7239
|
+
cur_time = time.time()
|
7240
|
+
if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
|
7241
|
+
raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
|
7242
|
+
(g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
|
7243
|
+
search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
|
7244
|
+
else:
|
7245
|
+
print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
|
7246
|
+
time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
|
7247
|
+
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
7248
|
+
|
7249
|
+
|
7146
7250
|
def doUpdateDNSConfig(args, parsed_globals):
|
7147
7251
|
g_param = parse_global_arg(parsed_globals)
|
7148
7252
|
|
@@ -8592,6 +8696,7 @@ ACTION_MAP = {
|
|
8592
8696
|
"DeletePrometheusScrapeJobs": doDeletePrometheusScrapeJobs,
|
8593
8697
|
"EnableGrafanaSSO": doEnableGrafanaSSO,
|
8594
8698
|
"DeleteAlertRules": doDeleteAlertRules,
|
8699
|
+
"DescribePolicyGroupList": doDescribePolicyGroupList,
|
8595
8700
|
"DescribeBaseMetrics": doDescribeBaseMetrics,
|
8596
8701
|
"DescribeAlarmEvents": doDescribeAlarmEvents,
|
8597
8702
|
"DescribePhoneAlarmFlowTotalCount": doDescribePhoneAlarmFlowTotalCount,
|
@@ -8611,8 +8716,8 @@ ACTION_MAP = {
|
|
8611
8716
|
"UpdateGrafanaEnvironments": doUpdateGrafanaEnvironments,
|
8612
8717
|
"DescribePolicyConditionList": doDescribePolicyConditionList,
|
8613
8718
|
"CreateConditionsTemplate": doCreateConditionsTemplate,
|
8719
|
+
"DescribeExternalClusterUninstallCommand": doDescribeExternalClusterUninstallCommand,
|
8614
8720
|
"GetPrometheusAgentManagementCommand": doGetPrometheusAgentManagementCommand,
|
8615
|
-
"DescribePrometheusAgents": doDescribePrometheusAgents,
|
8616
8721
|
"UpdatePrometheusScrapeJob": doUpdatePrometheusScrapeJob,
|
8617
8722
|
"DescribePrometheusInstanceInitStatus": doDescribePrometheusInstanceInitStatus,
|
8618
8723
|
"UpgradeGrafanaInstance": doUpgradeGrafanaInstance,
|
@@ -8682,7 +8787,7 @@ ACTION_MAP = {
|
|
8682
8787
|
"CreateRecordingRule": doCreateRecordingRule,
|
8683
8788
|
"DescribeAlertRules": doDescribeAlertRules,
|
8684
8789
|
"UpdateGrafanaWhiteList": doUpdateGrafanaWhiteList,
|
8685
|
-
"
|
8790
|
+
"DescribePrometheusAgents": doDescribePrometheusAgents,
|
8686
8791
|
"DescribeAlarmPolicies": doDescribeAlarmPolicies,
|
8687
8792
|
"DescribePrometheusTargetsTMP": doDescribePrometheusTargetsTMP,
|
8688
8793
|
"DescribeRecordingRules": doDescribeRecordingRules,
|
@@ -8697,6 +8802,7 @@ ACTION_MAP = {
|
|
8697
8802
|
"ModifyPrometheusInstanceAttributes": doModifyPrometheusInstanceAttributes,
|
8698
8803
|
"ModifyAlarmPolicyTasks": doModifyAlarmPolicyTasks,
|
8699
8804
|
"GetMonitorData": doGetMonitorData,
|
8805
|
+
"CreateExternalCluster": doCreateExternalCluster,
|
8700
8806
|
"UpdateDNSConfig": doUpdateDNSConfig,
|
8701
8807
|
"DescribeServiceDiscovery": doDescribeServiceDiscovery,
|
8702
8808
|
"RunPrometheusInstance": doRunPrometheusInstance,
|
@@ -70,6 +70,13 @@
|
|
70
70
|
"output": "CreateExporterIntegrationResponse",
|
71
71
|
"status": "online"
|
72
72
|
},
|
73
|
+
"CreateExternalCluster": {
|
74
|
+
"document": "注册外部集群到云上 TMP 实例",
|
75
|
+
"input": "CreateExternalClusterRequest",
|
76
|
+
"name": "注册外部 k8s 集群",
|
77
|
+
"output": "CreateExternalClusterResponse",
|
78
|
+
"status": "online"
|
79
|
+
},
|
73
80
|
"CreateGrafanaInstance": {
|
74
81
|
"document": "本接口(CreateGrafanaInstance)用于创建 Grafana 包年包月实例,默认基础版、到期自动续费、不可使用代金券。",
|
75
82
|
"input": "CreateGrafanaInstanceRequest",
|
@@ -462,6 +469,13 @@
|
|
462
469
|
"output": "DescribeExternalClusterRegisterCommandResponse",
|
463
470
|
"status": "online"
|
464
471
|
},
|
472
|
+
"DescribeExternalClusterUninstallCommand": {
|
473
|
+
"document": "查看外部集群 Agent 卸载命令",
|
474
|
+
"input": "DescribeExternalClusterUninstallCommandRequest",
|
475
|
+
"name": "查看外部集群 Agent 卸载命令",
|
476
|
+
"output": "DescribeExternalClusterUninstallCommandResponse",
|
477
|
+
"status": "online"
|
478
|
+
},
|
465
479
|
"DescribeGrafanaChannels": {
|
466
480
|
"document": "列出 Grafana 所有告警通道",
|
467
481
|
"input": "DescribeGrafanaChannelsRequest",
|
@@ -4145,6 +4159,97 @@
|
|
4145
4159
|
],
|
4146
4160
|
"type": "object"
|
4147
4161
|
},
|
4162
|
+
"CreateExternalClusterRequest": {
|
4163
|
+
"document": "CreateExternalCluster请求参数结构体",
|
4164
|
+
"members": [
|
4165
|
+
{
|
4166
|
+
"disabled": false,
|
4167
|
+
"document": "实例 ID",
|
4168
|
+
"example": "prom-abcd",
|
4169
|
+
"member": "string",
|
4170
|
+
"name": "InstanceId",
|
4171
|
+
"required": true,
|
4172
|
+
"type": "string"
|
4173
|
+
},
|
4174
|
+
{
|
4175
|
+
"disabled": false,
|
4176
|
+
"document": "集群所在地域",
|
4177
|
+
"example": "ap-shanghai",
|
4178
|
+
"member": "string",
|
4179
|
+
"name": "ClusterRegion",
|
4180
|
+
"required": true,
|
4181
|
+
"type": "string"
|
4182
|
+
},
|
4183
|
+
{
|
4184
|
+
"disabled": false,
|
4185
|
+
"document": "集群名称",
|
4186
|
+
"example": "cluster name",
|
4187
|
+
"member": "string",
|
4188
|
+
"name": "ClusterName",
|
4189
|
+
"required": false,
|
4190
|
+
"type": "string"
|
4191
|
+
},
|
4192
|
+
{
|
4193
|
+
"disabled": false,
|
4194
|
+
"document": "集群 ID",
|
4195
|
+
"example": "ecls-abcd",
|
4196
|
+
"member": "string",
|
4197
|
+
"name": "ClusterId",
|
4198
|
+
"required": false,
|
4199
|
+
"type": "string"
|
4200
|
+
},
|
4201
|
+
{
|
4202
|
+
"disabled": false,
|
4203
|
+
"document": "外部标签",
|
4204
|
+
"example": "[{\"Name\": \"cluster_name\", \"Value\": \"ai\"}]",
|
4205
|
+
"member": "Label",
|
4206
|
+
"name": "ExternalLabels",
|
4207
|
+
"required": false,
|
4208
|
+
"type": "list"
|
4209
|
+
},
|
4210
|
+
{
|
4211
|
+
"disabled": false,
|
4212
|
+
"document": "是否打开预聚合规则",
|
4213
|
+
"example": "bool",
|
4214
|
+
"member": "bool",
|
4215
|
+
"name": "OpenDefaultRecord",
|
4216
|
+
"required": false,
|
4217
|
+
"type": "bool"
|
4218
|
+
},
|
4219
|
+
{
|
4220
|
+
"disabled": false,
|
4221
|
+
"document": "是否开启公网",
|
4222
|
+
"example": "bool",
|
4223
|
+
"member": "bool",
|
4224
|
+
"name": "EnableExternal",
|
4225
|
+
"required": false,
|
4226
|
+
"type": "bool"
|
4227
|
+
}
|
4228
|
+
],
|
4229
|
+
"type": "object"
|
4230
|
+
},
|
4231
|
+
"CreateExternalClusterResponse": {
|
4232
|
+
"document": "CreateExternalCluster返回参数结构体",
|
4233
|
+
"members": [
|
4234
|
+
{
|
4235
|
+
"disabled": false,
|
4236
|
+
"document": "集群 ID",
|
4237
|
+
"example": "ecls-abcd",
|
4238
|
+
"member": "string",
|
4239
|
+
"name": "ClusterId",
|
4240
|
+
"output_required": false,
|
4241
|
+
"type": "string",
|
4242
|
+
"value_allowed_null": false
|
4243
|
+
},
|
4244
|
+
{
|
4245
|
+
"document": "唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。",
|
4246
|
+
"member": "string",
|
4247
|
+
"name": "RequestId",
|
4248
|
+
"type": "string"
|
4249
|
+
}
|
4250
|
+
],
|
4251
|
+
"type": "object"
|
4252
|
+
},
|
4148
4253
|
"CreateGrafanaInstanceRequest": {
|
4149
4254
|
"document": "CreateGrafanaInstance请求参数结构体",
|
4150
4255
|
"members": [
|
@@ -8719,6 +8824,52 @@
|
|
8719
8824
|
],
|
8720
8825
|
"type": "object"
|
8721
8826
|
},
|
8827
|
+
"DescribeExternalClusterUninstallCommandRequest": {
|
8828
|
+
"document": "DescribeExternalClusterUninstallCommand请求参数结构体",
|
8829
|
+
"members": [
|
8830
|
+
{
|
8831
|
+
"disabled": false,
|
8832
|
+
"document": "实例 ID",
|
8833
|
+
"example": "prom-abcd",
|
8834
|
+
"member": "string",
|
8835
|
+
"name": "InstanceId",
|
8836
|
+
"required": true,
|
8837
|
+
"type": "string"
|
8838
|
+
},
|
8839
|
+
{
|
8840
|
+
"disabled": false,
|
8841
|
+
"document": "集群 ID",
|
8842
|
+
"example": "ecls-abcd",
|
8843
|
+
"member": "string",
|
8844
|
+
"name": "ClusterId",
|
8845
|
+
"required": true,
|
8846
|
+
"type": "string"
|
8847
|
+
}
|
8848
|
+
],
|
8849
|
+
"type": "object"
|
8850
|
+
},
|
8851
|
+
"DescribeExternalClusterUninstallCommandResponse": {
|
8852
|
+
"document": "DescribeExternalClusterUninstallCommand返回参数结构体",
|
8853
|
+
"members": [
|
8854
|
+
{
|
8855
|
+
"disabled": false,
|
8856
|
+
"document": "卸载命令",
|
8857
|
+
"example": "apiVersion: batch/v1 kind: Job metadata: name: uninstaller spec: template: spec: containers: - name: uninstaller image: ccr.ccs.tencentyun.com/cloudmonitor/agent-installer:v0.0.8",
|
8858
|
+
"member": "string",
|
8859
|
+
"name": "Command",
|
8860
|
+
"output_required": true,
|
8861
|
+
"type": "string",
|
8862
|
+
"value_allowed_null": false
|
8863
|
+
},
|
8864
|
+
{
|
8865
|
+
"document": "唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。",
|
8866
|
+
"member": "string",
|
8867
|
+
"name": "RequestId",
|
8868
|
+
"type": "string"
|
8869
|
+
}
|
8870
|
+
],
|
8871
|
+
"type": "object"
|
8872
|
+
},
|
8722
8873
|
"DescribeGrafanaChannelsRequest": {
|
8723
8874
|
"document": "DescribeGrafanaChannels请求参数结构体",
|
8724
8875
|
"members": [
|
@@ -194,6 +194,14 @@
|
|
194
194
|
"title": "e. 创建 Ingress NGINX Controller 集成"
|
195
195
|
}
|
196
196
|
],
|
197
|
+
"CreateExternalCluster": [
|
198
|
+
{
|
199
|
+
"document": "",
|
200
|
+
"input": "POST / HTTP/1.1\nHost: monitor.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: CreateExternalCluster\n<公共请求参数>\n\n{\n \"ClusterName\": \"test-cluster\",\n \"InstanceId\": \"prom-abcd\",\n \"ClusterRegion\": \"ap-shanghai\"\n}",
|
201
|
+
"output": "{\n \"Response\": {\n \"ClusterId\": \"ecls-abc\",\n \"RequestId\": \"abcd-abcd\"\n }\n}",
|
202
|
+
"title": "组测集群到云上"
|
203
|
+
}
|
204
|
+
],
|
197
205
|
"CreateGrafanaInstance": [
|
198
206
|
{
|
199
207
|
"document": "创建Grafana实例",
|
@@ -684,6 +692,14 @@
|
|
684
692
|
"title": "查看外部集群注册命令"
|
685
693
|
}
|
686
694
|
],
|
695
|
+
"DescribeExternalClusterUninstallCommand": [
|
696
|
+
{
|
697
|
+
"document": "",
|
698
|
+
"input": "POST / HTTP/1.1\nHost: monitor.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: DescribeExternalClusterUninstallCommand\n<公共请求参数>\n\n{\n \"InstanceId\": \"prom-abcd\",\n \"ClusterId\": \"ecls-abcd\"\n}",
|
699
|
+
"output": "{\n \"Response\": {\n \"Command\": \"\\n---\\napiVersion: v1\\nkind: ServiceAccount\\nmetadata:\\n name: tmp-uninstaller\\n namespace: default\\n---\\napiVersion: rbac.authorization.k8s.io/v1\\nkind: ClusterRoleBinding\\nmetadata:\\n name: tmp-uninstaller\\nroleRef:\\n apiGroup: rbac.authorization.k8s.io\\n kind: ClusterRole\\n name: cluster-admin\\nsubjects:\\n- kind: ServiceAccount\\n name: tmp-uninstaller\\n namespace: default\\n---\\napiVersion: batch/v1\\nkind: Job\\nmetadata:\\n name: tmp-uninstaller\\n namespace: default\\nspec:\\n backoffLimit: 2\\n ttlSecondsAfterFinished: 10\\n template:\\n spec:\\n tolerations:\\n - operator: Exists\\n serviceAccountName: tmp-uninstaller\\n containers:\\n - name: uninstaller\\n image: ccr.ccs.tencentyun.com/cloudmonitor/agent-installer:v0.0.9\\n command:\\n - uninstall\\n args:\\n - all \\n - prom-abcd\\n restartPolicy: Never\\n\",\n \"RequestId\": \"bfa18d10-fe18-4f0e-b7e8-18857f951655\"\n }\n}",
|
700
|
+
"title": "查看外部集群 Agent 卸载命令"
|
701
|
+
}
|
702
|
+
],
|
687
703
|
"DescribeGrafanaChannels": [
|
688
704
|
{
|
689
705
|
"document": "",
|
@@ -6272,7 +6272,7 @@
|
|
6272
6272
|
"members": [
|
6273
6273
|
{
|
6274
6274
|
"disabled": false,
|
6275
|
-
"document": "异步任务ID\n1
|
6275
|
+
"document": "异步任务ID\n1.因上传图片TaskID 仅 24 小时内有效,请于提交任务获取TaskID后24小时内调用ImageMaskAsyncGetResult接口获取结果.\n2.建议在获取到TaskID 后,5-10分钟后再调用 ImageMaskAsyncGetResult 接口获取脱敏结果。",
|
6276
6276
|
"example": "1cf14582-bd61-4ea2-93ca-c63eaa8d427a",
|
6277
6277
|
"member": "string",
|
6278
6278
|
"name": "TaskID",
|
@@ -127,7 +127,7 @@
|
|
127
127
|
"status": "online"
|
128
128
|
},
|
129
129
|
"DescribeJobEvents": {
|
130
|
-
"document": "
|
130
|
+
"document": "请求参数不包含 \"RunningOrderIds\"时,接口获取指定作业的事件,包括作业启动停止、运行失败、快照失败、作业异常等各种事件类型;请求参数不包含 \"RunningOrderIds\"时,接口为查询作业实例ID接口,获取作业实例",
|
131
131
|
"input": "DescribeJobEventsRequest",
|
132
132
|
"name": "获取指定作业的事件",
|
133
133
|
"output": "DescribeJobEventsResponse",
|
@@ -3113,10 +3113,10 @@
|
|
3113
3113
|
{
|
3114
3114
|
"disabled": false,
|
3115
3115
|
"document": "该作业指定范围内的事件列表\n注意:此字段可能返回 null,表示取不到有效值。",
|
3116
|
-
"example": "[]",
|
3116
|
+
"example": "[ ]",
|
3117
3117
|
"member": "JobEvent",
|
3118
3118
|
"name": "Events",
|
3119
|
-
"
|
3119
|
+
"output_required": true,
|
3120
3120
|
"type": "list",
|
3121
3121
|
"value_allowed_null": true
|
3122
3122
|
},
|
@@ -3126,7 +3126,7 @@
|
|
3126
3126
|
"example": "[3,2,1]",
|
3127
3127
|
"member": "uint64",
|
3128
3128
|
"name": "RunningOrderIds",
|
3129
|
-
"
|
3129
|
+
"output_required": true,
|
3130
3130
|
"type": "list",
|
3131
3131
|
"value_allowed_null": true
|
3132
3132
|
},
|
@@ -3136,10 +3136,20 @@
|
|
3136
3136
|
"example": "10",
|
3137
3137
|
"member": "uint64",
|
3138
3138
|
"name": "TotalCount",
|
3139
|
-
"
|
3139
|
+
"output_required": true,
|
3140
3140
|
"type": "int",
|
3141
3141
|
"value_allowed_null": true
|
3142
3142
|
},
|
3143
|
+
{
|
3144
|
+
"disabled": false,
|
3145
|
+
"document": "实例对应的版本\n注意:此字段可能返回 null,表示取不到有效值。",
|
3146
|
+
"example": "[1,2,3]",
|
3147
|
+
"member": "uint64",
|
3148
|
+
"name": "Versions",
|
3149
|
+
"output_required": false,
|
3150
|
+
"type": "list",
|
3151
|
+
"value_allowed_null": true
|
3152
|
+
},
|
3143
3153
|
{
|
3144
3154
|
"document": "唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。",
|
3145
3155
|
"member": "string",
|