tccli 3.0.909.1__py2.py3-none-any.whl → 3.0.910.1__py2.py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
Files changed (57) hide show
  1. tccli/__init__.py +1 -1
  2. tccli/examples/cdn/v20180606/DescribeHttpsPackages.md +19 -18
  3. tccli/examples/cdn/v20180606/DescribeTrafficPackages.md +16 -14
  4. tccli/examples/cfs/v20190719/DescribeCfsFileSystems.md +31 -31
  5. tccli/examples/cfs/v20190719/UpdateCfsPGroup.md +1 -1
  6. tccli/examples/emr/v20190103/InquiryPriceRenewInstance.md +32 -1
  7. tccli/examples/es/v20180416/ModifyEsVipSecurityGroup.md +21 -0
  8. tccli/examples/ess/v20201111/CreateFlowReminds.md +3 -3
  9. tccli/examples/ess/v20201111/CreateFlowSignReview.md +2 -2
  10. tccli/examples/lcic/v20220817/DescribeDocument.md +52 -16
  11. tccli/examples/live/v20180801/DeleteLiveTranscodeTemplate.md +1 -1
  12. tccli/examples/monitor/v20180724/DeletePrometheusScrapeJobs.md +4 -4
  13. tccli/examples/monitor/v20180724/DescribeExporterIntegrations.md +5 -5
  14. tccli/examples/monitor/v20180724/DescribePrometheusAgents.md +10 -10
  15. tccli/examples/monitor/v20180724/DescribePrometheusScrapeJobs.md +8 -8
  16. tccli/examples/ocr/v20181119/DriverLicenseOCR.md +2 -2
  17. tccli/examples/vod/v20180717/DescribeRebuildMediaTemplates.md +2 -2
  18. tccli/examples/vod/v20180717/ModifyRebuildMediaTemplate.md +2 -2
  19. tccli/examples/vod/v20180717/RebuildMedia.md +2 -2
  20. tccli/examples/vod/v20180717/RebuildMediaByTemplate.md +2 -2
  21. tccli/examples/vpc/v20170312/DescribeSecurityGroups.md +1 -1
  22. tccli/examples/wedata/v20210820/DescribeColumnLineage.md +77 -0
  23. tccli/examples/wedata/v20210820/DescribeTableLineage.md +79 -0
  24. tccli/services/cdn/v20180606/api.json +49 -67
  25. tccli/services/cdn/v20180606/examples.json +3 -3
  26. tccli/services/cfs/v20190719/api.json +65 -26
  27. tccli/services/cfs/v20190719/examples.json +3 -3
  28. tccli/services/emr/v20190103/api.json +5 -12
  29. tccli/services/emr/v20190103/examples.json +7 -1
  30. tccli/services/es/es_client.py +65 -12
  31. tccli/services/es/v20180416/api.json +43 -0
  32. tccli/services/es/v20180416/examples.json +8 -0
  33. tccli/services/ess/v20201111/api.json +1 -1
  34. tccli/services/ess/v20201111/examples.json +3 -3
  35. tccli/services/essbasic/v20210526/api.json +9 -0
  36. tccli/services/lcic/v20220817/api.json +27 -16
  37. tccli/services/lcic/v20220817/examples.json +10 -4
  38. tccli/services/live/v20180801/api.json +3 -3
  39. tccli/services/live/v20180801/examples.json +1 -1
  40. tccli/services/monitor/v20180724/api.json +20 -24
  41. tccli/services/monitor/v20180724/examples.json +11 -11
  42. tccli/services/ocr/v20181119/api.json +22 -5
  43. tccli/services/ocr/v20181119/examples.json +1 -1
  44. tccli/services/tke/v20180525/api.json +14 -1
  45. tccli/services/tse/v20201207/api.json +20 -39
  46. tccli/services/vod/v20180717/api.json +33 -30
  47. tccli/services/vod/v20180717/examples.json +8 -8
  48. tccli/services/vpc/v20170312/api.json +21 -7
  49. tccli/services/vpc/v20170312/examples.json +1 -1
  50. tccli/services/wedata/v20210820/api.json +1146 -211
  51. tccli/services/wedata/v20210820/examples.json +16 -0
  52. tccli/services/wedata/wedata_client.py +106 -0
  53. {tccli-3.0.909.1.dist-info → tccli-3.0.910.1.dist-info}/METADATA +82 -3
  54. {tccli-3.0.909.1.dist-info → tccli-3.0.910.1.dist-info}/RECORD +57 -54
  55. {tccli-3.0.909.1.dist-info → tccli-3.0.910.1.dist-info}/WHEEL +0 -0
  56. {tccli-3.0.909.1.dist-info → tccli-3.0.910.1.dist-info}/entry_points.txt +0 -0
  57. {tccli-3.0.909.1.dist-info → tccli-3.0.910.1.dist-info}/license_files/LICENSE +0 -0
@@ -448,6 +448,14 @@
448
448
  "title": "获取集群命名空间列表"
449
449
  }
450
450
  ],
451
+ "DescribeColumnLineage": [
452
+ {
453
+ "document": "列出表血缘信息",
454
+ "input": "POST / HTTP/1.1\nHost: wedata.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: DescribeColumnLineage\n<公共请求参数>\n\n{\n \"Direction\": \"xx\",\n \"InputDepth\": 0,\n \"ExtParams\": [\n {\n \"Name\": \"xx\",\n \"Value\": \"xx\"\n }\n ],\n \"OutputDepth\": 0,\n \"IgnoreTemp\": true,\n \"Data\": {\n \"ParentId\": \"xx\",\n \"Params\": \"xx\",\n \"MetastoreType\": \"xx\",\n \"RelationParams\": \"xx\",\n \"QualifiedName\": \"xx\",\n \"Description\": \"xx\",\n \"TableName\": \"xx\",\n \"ColumnNameCn\": \"xx\",\n \"ParentSet\": \"xx\",\n \"ChildSet\": \"xx\",\n \"ColumnType\": \"xx\",\n \"UpStreamCount\": 0,\n \"PrefixPath\": \"xx\",\n \"DatasourceId\": \"xx\",\n \"ModifyTime\": \"xx\",\n \"MetastoreTypeName\": \"xx\",\n \"Tasks\": [\n \"xx\"\n ],\n \"DownStreamCount\": 0,\n \"ExtParams\": [\n {\n \"Name\": \"xx\",\n \"Value\": \"xx\"\n }\n ],\n \"Id\": \"xx\",\n \"ColumnName\": \"xx\",\n \"TableId\": \"xx\",\n \"CreateTime\": \"xx\"\n }\n}",
455
+ "output": "{\n \"Response\": {\n \"RequestId\": \"xx\",\n \"ColumnAggregationLineage\": {\n \"ChildSet\": \"xx\",\n \"ParentSet\": \"xx\",\n \"ParentId\": \"xx\",\n \"TableName\": \"xx\",\n \"MetastoreType\": \"xx\",\n \"ColumnInfoSet\": [\n {\n \"QualifiedName\": \"xx\",\n \"Tasks\": [\n \"xx\"\n ],\n \"ColumnType\": \"xx\",\n \"Description\": \"xx\",\n \"DownStreamCount\": 0,\n \"UpStreamCount\": 0,\n \"CreateTime\": \"xx\",\n \"ColumnName\": \"xx\",\n \"PrefixPath\": \"xx\",\n \"Params\": \"xx\",\n \"ModifyTime\": \"xx\",\n \"RelationParams\": \"xx\",\n \"ColumnNameCn\": \"xx\",\n \"Id\": \"xx\",\n \"DatasourceId\": \"xx\"\n }\n ]\n }\n }\n}",
456
+ "title": "列出表血缘信息"
457
+ }
458
+ ],
451
459
  "DescribeDataBases": [
452
460
  {
453
461
  "document": "",
@@ -1080,6 +1088,14 @@
1080
1088
  "title": "获取数据表信息"
1081
1089
  }
1082
1090
  ],
1091
+ "DescribeTableLineage": [
1092
+ {
1093
+ "document": "列出表血缘信息",
1094
+ "input": "POST / HTTP/1.1\nHost: wedata.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: DescribeTableLineage\n<公共请求参数>\n\n{\n \"Direction\": \"xx\",\n \"InputDepth\": 0,\n \"ExtParams\": [\n {\n \"Name\": \"xx\",\n \"Value\": \"xx\"\n }\n ],\n \"OutputDepth\": 0,\n \"IgnoreTemp\": true,\n \"Data\": {\n \"ChildSet\": \"xx\",\n \"Tasks\": [\n \"xx\"\n ],\n \"Description\": \"xx\",\n \"DownStreamCount\": 0,\n \"ProjectId\": \"xx\",\n \"ExtParams\": [\n {\n \"Name\": \"xx\",\n \"Value\": \"xx\"\n }\n ],\n \"MetastoreType\": \"xx\",\n \"TableName\": \"xx\",\n \"QualifiedName\": \"xx\",\n \"CreateTime\": \"xx\",\n \"UpStreamCount\": 0,\n \"PrefixPath\": \"xx\",\n \"Params\": [\n {\n \"Name\": \"xx\",\n \"Value\": \"xx\"\n }\n ],\n \"DatasourceId\": \"xx\",\n \"ModifyTime\": \"xx\",\n \"TableId\": \"xx\",\n \"ParentSet\": \"xx\",\n \"Id\": \"xx\",\n \"MetastoreTypeName\": \"xx\"\n }\n}",
1095
+ "output": "{\n \"Response\": {\n \"RequestId\": \"xx\",\n \"TableLineage\": {\n \"ChildSet\": \"xx\",\n \"Tasks\": [\n \"xx\"\n ],\n \"Description\": \"xx\",\n \"DownStreamCount\": 0,\n \"ProjectId\": \"xx\",\n \"ExtParams\": [\n {\n \"Name\": \"xx\",\n \"Value\": \"xx\"\n }\n ],\n \"MetastoreType\": \"xx\",\n \"TableName\": \"xx\",\n \"QualifiedName\": \"xx\",\n \"CreateTime\": \"xx\",\n \"UpStreamCount\": 0,\n \"PrefixPath\": \"xx\",\n \"Params\": [\n {\n \"Name\": \"xx\",\n \"Value\": \"xx\"\n }\n ],\n \"DatasourceId\": \"xx\",\n \"ModifyTime\": \"xx\",\n \"TableId\": \"xx\",\n \"ParentSet\": \"xx\",\n \"Id\": \"xx\",\n \"MetastoreTypeName\": \"xx\"\n }\n }\n}",
1096
+ "title": "列出表血缘信息"
1097
+ }
1098
+ ],
1083
1099
  "DescribeTableQualityDetails": [
1084
1100
  {
1085
1101
  "document": "分页查询表数据质量详情",
@@ -7037,6 +7037,58 @@ def doBatchStopIntegrationTasks(args, parsed_globals):
7037
7037
  FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
7038
7038
 
7039
7039
 
7040
+ def doDescribeTableLineage(args, parsed_globals):
7041
+ g_param = parse_global_arg(parsed_globals)
7042
+
7043
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
7044
+ cred = credential.CVMRoleCredential()
7045
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
7046
+ cred = credential.STSAssumeRoleCredential(
7047
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
7048
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')]
7049
+ )
7050
+ elif os.getenv(OptionsDefine.ENV_TKE_REGION) and os.getenv(OptionsDefine.ENV_TKE_PROVIDER_ID) and os.getenv(OptionsDefine.ENV_TKE_IDENTITY_TOKEN_FILE) and os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN):
7051
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
7052
+ else:
7053
+ cred = credential.Credential(
7054
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
7055
+ )
7056
+ http_profile = HttpProfile(
7057
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
7058
+ reqMethod="POST",
7059
+ endpoint=g_param[OptionsDefine.Endpoint],
7060
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
7061
+ )
7062
+ profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
7063
+ if g_param[OptionsDefine.Language]:
7064
+ profile.language = g_param[OptionsDefine.Language]
7065
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
7066
+ client = mod.WedataClient(cred, g_param[OptionsDefine.Region], profile)
7067
+ client._sdkVersion += ("_CLI_" + __version__)
7068
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
7069
+ model = models.DescribeTableLineageRequest()
7070
+ model.from_json_string(json.dumps(args))
7071
+ start_time = time.time()
7072
+ while True:
7073
+ rsp = client.DescribeTableLineage(model)
7074
+ result = rsp.to_json_string()
7075
+ try:
7076
+ json_obj = json.loads(result)
7077
+ except TypeError as e:
7078
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
7079
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
7080
+ break
7081
+ cur_time = time.time()
7082
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
7083
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
7084
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
7085
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
7086
+ else:
7087
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
7088
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
7089
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
7090
+
7091
+
7040
7092
  def doDescribeRuleExecExportResult(args, parsed_globals):
7041
7093
  g_param = parse_global_arg(parsed_globals)
7042
7094
 
@@ -7453,6 +7505,58 @@ def doModifyTaskScript(args, parsed_globals):
7453
7505
  FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
7454
7506
 
7455
7507
 
7508
+ def doDescribeColumnLineage(args, parsed_globals):
7509
+ g_param = parse_global_arg(parsed_globals)
7510
+
7511
+ if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
7512
+ cred = credential.CVMRoleCredential()
7513
+ elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
7514
+ cred = credential.STSAssumeRoleCredential(
7515
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
7516
+ g_param[OptionsDefine.RoleSessionName.replace('-', '_')]
7517
+ )
7518
+ elif os.getenv(OptionsDefine.ENV_TKE_REGION) and os.getenv(OptionsDefine.ENV_TKE_PROVIDER_ID) and os.getenv(OptionsDefine.ENV_TKE_IDENTITY_TOKEN_FILE) and os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN):
7519
+ cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
7520
+ else:
7521
+ cred = credential.Credential(
7522
+ g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
7523
+ )
7524
+ http_profile = HttpProfile(
7525
+ reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
7526
+ reqMethod="POST",
7527
+ endpoint=g_param[OptionsDefine.Endpoint],
7528
+ proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
7529
+ )
7530
+ profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
7531
+ if g_param[OptionsDefine.Language]:
7532
+ profile.language = g_param[OptionsDefine.Language]
7533
+ mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
7534
+ client = mod.WedataClient(cred, g_param[OptionsDefine.Region], profile)
7535
+ client._sdkVersion += ("_CLI_" + __version__)
7536
+ models = MODELS_MAP[g_param[OptionsDefine.Version]]
7537
+ model = models.DescribeColumnLineageRequest()
7538
+ model.from_json_string(json.dumps(args))
7539
+ start_time = time.time()
7540
+ while True:
7541
+ rsp = client.DescribeColumnLineage(model)
7542
+ result = rsp.to_json_string()
7543
+ try:
7544
+ json_obj = json.loads(result)
7545
+ except TypeError as e:
7546
+ json_obj = json.loads(result.decode('utf-8')) # python3.3
7547
+ if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
7548
+ break
7549
+ cur_time = time.time()
7550
+ if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
7551
+ raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
7552
+ (g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
7553
+ search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
7554
+ else:
7555
+ print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
7556
+ time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
7557
+ FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
7558
+
7559
+
7456
7560
  def doDescribeTableInfoList(args, parsed_globals):
7457
7561
  g_param = parse_global_arg(parsed_globals)
7458
7562
 
@@ -10459,6 +10563,7 @@ ACTION_MAP = {
10459
10563
  "DescribeExecStrategy": doDescribeExecStrategy,
10460
10564
  "CreateWorkflow": doCreateWorkflow,
10461
10565
  "BatchStopIntegrationTasks": doBatchStopIntegrationTasks,
10566
+ "DescribeTableLineage": doDescribeTableLineage,
10462
10567
  "DescribeRuleExecExportResult": doDescribeRuleExecExportResult,
10463
10568
  "DescribeRules": doDescribeRules,
10464
10569
  "StartIntegrationTask": doStartIntegrationTask,
@@ -10467,6 +10572,7 @@ ACTION_MAP = {
10467
10572
  "BatchDeleteIntegrationTasks": doBatchDeleteIntegrationTasks,
10468
10573
  "DescribeIntegrationTasks": doDescribeIntegrationTasks,
10469
10574
  "ModifyTaskScript": doModifyTaskScript,
10575
+ "DescribeColumnLineage": doDescribeColumnLineage,
10470
10576
  "DescribeTableInfoList": doDescribeTableInfoList,
10471
10577
  "ModifyRuleTemplate": doModifyRuleTemplate,
10472
10578
  "DescribeTaskInstances": doDescribeTaskInstances,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: tccli
3
- Version: 3.0.909.1
3
+ Version: 3.0.910.1
4
4
  Summary: Universal Command Line Environment for Tencent Cloud
5
5
  Project-URL: Bug Tracker, https://github.com/TencentCloud/tencentcloud-cli/issues
6
6
  Project-URL: Homepage, https://github.com/TencentCloud/tencentcloud-cli
@@ -13,7 +13,7 @@ Classifier: Programming Language :: Python :: 2.7
13
13
  Classifier: Programming Language :: Python :: 3
14
14
  Requires-Dist: jmespath==0.10.0
15
15
  Requires-Dist: six==1.16.0
16
- Requires-Dist: tencentcloud-sdk-python>=3.0.909
16
+ Requires-Dist: tencentcloud-sdk-python>=3.0.910
17
17
  Description-Content-Type: text/markdown
18
18
 
19
19
  # 命令行工具简介
@@ -148,6 +148,86 @@ set http_proxy=https://myproxy.com:1111
148
148
  tccli cvm DescribeRegions --https-proxy https://192.168.1.1:1111
149
149
  ```
150
150
 
151
+ # 凭证管理
152
+
153
+ 腾讯云命令行工具(TCCLI)目前支持以下几种方式进行凭证管理,获取凭证的优先级:实例角色 > 角色 > TKE OIDC > 临时密钥 > 永久密钥:
154
+
155
+ 1. 实例角色
156
+
157
+ 有关实例角色的相关概念请参阅:[腾讯云实例角色](https://cloud.tencent.com/document/product/213/47668)
158
+
159
+ 在您为实例绑定角色后,您可以在实例中访问相关元数据接口获取临时凭证,SDK 会自动刷新临时凭证。相关命令如下:
160
+
161
+ 使用方式:
162
+ - 命令行输入
163
+ ```bash
164
+ tccli cvm DescribeRegions --use-cvm-role
165
+ ```
166
+
167
+ 2. 角色
168
+
169
+ 有关角色的相关概念请参阅:[腾讯云角色概述](https://cloud.tencent.com/document/product/598/19420)
170
+
171
+ 要使用此种方式,您必须在腾讯云访问管理控制台上创建了一个角色,具体创建过程请参阅:[腾讯云角色创建](https://cloud.tencent.com/document/product/598/19381)
172
+
173
+ 在您拥有角色后,可以通过如下方式获取临时凭证,相关命令如下:
174
+
175
+ - 命令行输入
176
+
177
+ ```bash
178
+ tccli cvm DescribeRegions --secretId xx --secretKey xx --role-arn xx --role-session-name
179
+ ```
180
+
181
+ - 环境变量
182
+
183
+ 配置环境变量:`TENCENTCLOUD_SECRET_ID`, `TENCENTCLOUD_SECRET_KEY`, `TENCENTCLOUD_ROLE_ARN`, `TENCENTCLOUD_ROLE_SESSION_NAME`
184
+
185
+ 3. TKE OIDC
186
+
187
+ - 环境变量
188
+ 配置环境变量:`TKE_REGION`, `TKE_PROVIDER_ID`, `TKE_IDENTITY_TOKEN_FILE`, `TKE_ROLE_ARN`
189
+
190
+ 4. 临时密钥
191
+
192
+ - 命令行输入
193
+ ```bash
194
+ tccli cvm DescribeRegions --secretId xx --secretKey xx --token xx
195
+ ```
196
+
197
+
198
+ - 环境变量
199
+ 配置环境变量:`TENCENTCLOUD_SECRET_ID`, `TENCENTCLOUD_SECRET_KEY`, `TENCENTCLOUD_TOKEN`
200
+
201
+
202
+ - xxx.credential文件
203
+ ```json
204
+ {
205
+ "secretId": "AKIDxxxxxxxxxxxxxxxxxxxxQsPk",
206
+ "secretKey": "QgoxxxxxxxxxxxxxxxxgvW4",
207
+ "token": "xxxxxxxxxxxxxxxxxx"
208
+ }
209
+ ```
210
+
211
+
212
+ 5. 永久密钥
213
+
214
+ - 命令行输入
215
+ ```bash
216
+ tccli cvm DescribeRegions --secretId xx --secretKey xx
217
+ ```
218
+
219
+
220
+ - 环境变量
221
+ 配置环境变量:`TENCENTCLOUD_SECRET_ID`, `TENCENTCLOUD_SECRET_KEY`
222
+
223
+
224
+ - xxx.credential文件
225
+ ```json
226
+ {
227
+ "secretId": "AKIDxxxxxxxxxxxxxxxxxxxxQsPk",
228
+ "secretKey": "QgoxxxxxxxxxxxxxxxxgvW4"
229
+ }
230
+ ```
151
231
 
152
232
  # 使用TCCLI
153
233
  命令行工具集成了腾讯云所有支持云 API 的产品,可以在命令行下完成对腾讯云产品的配置和管理。包括使用TCCLI创建云服务器,操作云服务器,通过TCCLI创建CBS盘、查看CBS盘使用情况,通过TCCLI创建VPC网络、往VPC网络中添加资源等等,所有在控制台页面能完成的操作,均能再命令行工具上执行命令实现。
@@ -321,4 +401,3 @@ tccli cvm DescribeInstancesStatus --region ap-hongkong --waiter "{'expr':'Instan
321
401
  "InstanceIdSet": null
322
402
  }
323
403
  ```
324
-