tccli


Nametccli JSON
Version 3.0.1084.1 PyPI version JSON
download
home_pageNone
SummaryUniversal Command Line Environment for Tencent Cloud
upload_time2024-03-26 08:57:44
maintainerNone
docs_urlNone
authorNone
requires_pythonNone
licenseNone
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI
coveralls test coverage No coveralls.
            # 命令行工具简介
欢迎使用腾讯云命令行工具(TCCLI),TCCLI是管理腾讯云资源的统一工具。通过腾讯云命令行工具,您可以快速轻松的调用腾讯云 API来管理您的腾讯云资源。您还可以基于腾讯云的命令行工具来做自动化和脚本处理,能够以更多样的方式进行组合和重用。
# 安装TCCLI
1. 安装 Python 环境和 Pip 工具,安装命令行工具前请确保您的系统已经安装了 Python 环境和 Pip 工具。**注意python版本必须为2.7及以上版本**,更多内容请参考[python主页](https://www.python.org/)和[pip主页](https://pypi.org/project/pip/)。
2. TCCLI依赖于TencentCloudApi Python SDK,**如果TencentCloudApi Python SDK的版本号小于要安装TCCLI版本号,在安装TCCLI时会自动升级TencentCloudApi Python SDK**。
3. 安装TCCLI,执行以下命令:
```bash
pip install tccli
```
如果是MacOS用户,您还可以使用homebrew来安装tccli:

> 执行如下命令之前您需要先安装homebrew,安装的方法可以参考[homebrew官网](https://brew.sh/index_zh-cn)
```bash
brew tap tencentcloud/tccli
brew install tccli
```
注意:如果是从3.0.252.3以下版本升级的需要执行
```bash
sudo pip uninstall tccli jmespath
sudo pip install tccli
```
4. 安装完成之后执行tccli --version检测是否安装成功。
5. 如果您的环境是linux环境,您可以通过以下命令启动自动补全功能:
```bash
complete -C 'tccli_completer' tccli
```
可以将命令``complete -C 'tccli_completer' tccli``加入环境变量(/etc/profile)中,使自动补全功能一直有效。

## 在 Docker 上使用

```shell
docker run --rm -it tencentcom/tencentcloud-cli --version
docker run --rm -it tencentcom/tencentcloud-cli help
```

## 在 Coding-CI 上使用

```yaml
master:
  push:
  - stages:
    - name: run with tencentcloud-cli
      image: tencentcom/tencentcloud-cli
      commands: |
        tccli --version
        tccli help
```        

# 配置TCCLI
要使用腾讯云命令行工具,您还需要进行一些初始化配置,使其完成使用 云 API的必要前提条件。
1. 交互模式,您可以通过tccli configure命令进入交互模式快速配置。

```bash
$  tccli configure
TencentCloud API secretId [*afcQ]:AKIDwLw1234MMfPRle2g9nR2OTI787aBCDP
TencentCloud API secretKey [*ArFd]:OxXj7khcV1234dQSSYNABcdCc1LiArFd
region: ap-guangzhou
output[json]:
```
secretId: 云 API 密钥SecretId。
secretIKey: 云 API 密钥SecretKey。
region: 云产品地域,请移驾对应产品页面获取可用的region。
output: 可选参数,请求回包输出格式,支持[json table text]三种格式,默认为json。
更多信息请执行tccli configure help查看。

注意:如果环境变量定义了相关配置,则会优先于配置文件生效。分别为 TENCENTCLOUD\_SECRET\_ID,TENCENTCLOUD\_SECRET\_KEY,TENCENTCLOUD\_REGION。

2. 命令行模式,通过命令行模式您可以在自动化脚本中配置您的信息。
```bash
# set子命令可以设置某一配置,也可同时配置多个。
tccli configure set secretId AKIDwLw1234MMfPRle2g9nR2OTI787aBCDP
tccli configure set region ap-guangzhou  output json language zh-CN

# get子命令用于获取配置信息。
tccli configure get secretKey
secretKey = OxXj7khcV1234dQSSYNABcdCc1LiArFd

# list子命令打印所有配置信息。
tccli configure list
credential:
secretId =  AKIDwLw1234MMfPRle2g9nR2OTI787aBCDP
secretKey =  OxXj7khcV1234dQSSYNABcdCc1LiArFd
configure:
region =  ap-guangzhou
output =  json
language = zh-CN

# remove子命令删除配置文件
tccli configure remove
```
更多信息请执行tccli configure [list get set remove] help查看。

3. 多账户支持,TCCLI支持多账户,方便您多种配置同时使用。
```bash
在交互模式中指定账户名test。
$  tccli configure --profile test
TencentCloud API secretId [*BCDP]:AKIDwLw1234MMfPRle2g9nR2OTI787aBCDP
TencentCloud API secretKey [*ArFd]:OxXj7khcV1234dQSSYNABcdCc1LiArFd
region: ap-guangzhou
output[json]:

# set/get/list/remove子命令指定账户名test。
tccli configure set region ap-guangzhou  output json language zh-CN --profile test
tccli configure get secretKey      --profile test
tccli configure list      --profile test
tccli configure remove      --profile test


在调用接口时指定账户(以cvm DescribeZones接口为例)。
tccli cvm DescribeZones --profile test
```
如果不希望输入命令是手动指定账户名,还可以设置环境变量,tccli能从环境变量中读取指定的profile
```bash
export TCCLI_PROFILE=test
```

4. 您可以配置https代理,让tccli通过代理调用API

在环境变量中配置https代理
```bash
# 在Linux/Unix和macOS中执行如下类似命令配置环境变量
export https_proxy=https://192.168.1.1:1111
export https_proxy=https://myproxy.com:1111

# 在Windows的终端中执行如下类似命令配置环境变量
setx http_proxy=https://192.168.1.1:1111
set  http_proxy=https://myproxy.com:1111
# setx表示设置永久环境变量,设置后重启终端生效
```

您也可以直接使用'--https-proxy'选项设置https代理
```bash
# 例如
tccli cvm DescribeRegions --https-proxy https://192.168.1.1:1111
```

# 凭证管理

腾讯云命令行工具(TCCLI)目前支持以下几种方式进行凭证管理,获取凭证的优先级:实例角色 > 角色 > TKE OIDC > 临时密钥 > 永久密钥:

1. 实例角色

有关实例角色的相关概念请参阅:[腾讯云实例角色](https://cloud.tencent.com/document/product/213/47668)

在您为实例绑定角色后,您可以在实例中访问相关元数据接口获取临时凭证,SDK 会自动刷新临时凭证。相关命令如下:

使用方式:
- 命令行输入
```bash
tccli cvm DescribeRegions --use-cvm-role
```

2. 角色

有关角色的相关概念请参阅:[腾讯云角色概述](https://cloud.tencent.com/document/product/598/19420)

要使用此种方式,您必须在腾讯云访问管理控制台上创建了一个角色,具体创建过程请参阅:[腾讯云角色创建](https://cloud.tencent.com/document/product/598/19381)

在您拥有角色后,可以通过如下方式获取临时凭证,相关命令如下:

- 命令行输入

```bash
tccli cvm DescribeRegions --secretId xx --secretKey xx --role-arn xx --role-session-name
```

- 环境变量

配置环境变量:`TENCENTCLOUD_SECRET_ID`, `TENCENTCLOUD_SECRET_KEY`, `TENCENTCLOUD_ROLE_ARN`, `TENCENTCLOUD_ROLE_SESSION_NAME`

3. TKE OIDC

- 环境变量
  配置环境变量:`TKE_REGION`, `TKE_PROVIDER_ID`, `TKE_WEB_IDENTITY_TOKEN_FILE`, `TKE_ROLE_ARN`

4. 临时密钥

- 命令行输入
```bash
tccli cvm DescribeRegions --secretId xx --secretKey xx --token xx
```


- 环境变量
  配置环境变量:`TENCENTCLOUD_SECRET_ID`, `TENCENTCLOUD_SECRET_KEY`, `TENCENTCLOUD_TOKEN`


- xxx.credential文件
```json
{
  "secretId": "AKIDxxxxxxxxxxxxxxxxxxxxQsPk",
  "secretKey": "QgoxxxxxxxxxxxxxxxxgvW4",
  "token": "xxxxxxxxxxxxxxxxxx"
}
```


5. 永久密钥

- 命令行输入
```bash
tccli cvm DescribeRegions --secretId xx --secretKey xx
```


- 环境变量
  配置环境变量:`TENCENTCLOUD_SECRET_ID`, `TENCENTCLOUD_SECRET_KEY`


- xxx.credential文件
```json
{
  "secretId": "AKIDxxxxxxxxxxxxxxxxxxxxQsPk",
  "secretKey": "QgoxxxxxxxxxxxxxxxxgvW4"
}
```

# 使用TCCLI
命令行工具集成了腾讯云所有支持云 API 的产品,可以在命令行下完成对腾讯云产品的配置和管理。包括使用TCCLI创建云服务器,操作云服务器,通过TCCLI创建CBS盘、查看CBS盘使用情况,通过TCCLI创建VPC网络、往VPC网络中添加资源等等,所有在控制台页面能完成的操作,均能再命令行工具上执行命令实现。
* 通过tccli cvm DescribeInstances命令查看当前账号有哪些云服务器。
* 通过tccli cbs DescribeDisks命令查看有CBS盘列表。

以创建一台cvm为例(**请注意demo中非简单类型的参数必须为标准json格式**):
```bash
tccli cvm RunInstances --InstanceChargeType POSTPAID_BY_HOUR --InstanceChargePrepaid '{"Period":1,"RenewFlag":"DISABLE_NOTIFY_AND_MANUAL_RENEW"}'
 --Placement '{"Zone":"ap-guangzhou-2"}' --InstanceType S1.SMALL1 --ImageId img-8toqc6s3 --SystemDisk '{"DiskType":"CLOUD_BASIC", "DiskSize":50}'
--InternetAccessible '{"InternetChargeType":"TRAFFIC_POSTPAID_BY_HOUR","InternetMaxBandwidthOut":10,"PublicIpAssigned":true}' --InstanceCount 1
--InstanceName TCCLI-TEST --LoginSettings '{"Password":"isd@cloud"}' --SecurityGroupIds '["sg-0rszg2vb"]' --HostName TCCLI-HOST-NAME1
```
更多功能,您可以通过tccli help查看支持的产品,通过tccli cvm help(以cvm举例)查看产品支持的接口。通过tccli cbs DescribeDisks help(以cbs产品的DescribeDisks接口为例) 查看接口支持的参数。如果想看详细信息,可以在help的后面增加字段'--detail'查看。例如:分别使用tccli help --detail,tccli cvm help --detail和tccli cbs DescribeDisks help --detail查看对应的详细信息。

## 返回值
从3.0.1009.1版本开始,命令行执行成功返回0值,执行失败返回非0值。

# 高级功能
## 多版本接口访问
某些产品可能存在多个版本的接口,TCCLI默认访问最新版本的接口。如果您想访问特定旧版本的接口,可以通过以下方式实现(以cvm举例)。
```bash
# 设置cvm产品默认使用版本:2017-03-12。
tccli configure set cvm.version 2017-03-12

# 在实时使用时指定版本号。
tccli cvm help --version 2017-03-12
tccli cvm DescribeZones help --version 2017-03-12
tccli cvm DescribeZones --version 2017-03-12
```
## 指定输出语言
指定公共参数`language`可以获得接口指定语言的返回,`language`参数也支持在配置文件中配置,默认值为"zh-CN"
```
# 在实时使用时指定语言
tccli cvm DescribeZones --language zh-CN
tccli cvm DescribeZones --language en-US
```
## 指定最近的接入点(Endpoint)
TCCLI默认会请求就近的接口点访问服务,你也可以针对某一产品指定自己的Endpoint(以cvm为例)。
```bash
# 设置cvm产品默认endpoint。
tccli configure set cvm.endpoint cvm.ap-guangzhou.tencentcloudapi.com

# 调用时实时指定。
tccli cvm DescribeZones --endpoint cvm.ap-guangzhou.tencentcloudapi.com
```
## 返回结果过滤

TCCLI 支持 [JMESPath](https://jmespath.org/examples.html) ,以下仅为部分示例,全部过滤能力请参考 JMESPath 官方文档。

1. 不加任何过滤时的输出(以cvm DescribeZones接口的返回为例)。
```bash
[root@VM_180_248_centos ~]# tccli cvm DescribeZones
{
    "TotalCount": 4,
    "ZoneSet": [
        {
            "ZoneState": "AVAILABLE",
            "ZoneId": "100001",
            "Zone": "ap-guangzhou-1",
            "ZoneName": "广州一区"
        },
        {
            "ZoneState": "AVAILABLE",
            "ZoneId": "100002",
            "Zone": "ap-guangzhou-2",
            "ZoneName": "广州二区"
        },
        {
            "ZoneState": "AVAILABLE",
            "ZoneId": "100003",
            "Zone": "ap-guangzhou-3",
            "ZoneName": "广州三区"
        },
        {
            "ZoneState": "AVAILABLE",
            "ZoneId": "100004",
            "Zone": "ap-guangzhou-4",
            "ZoneName": "广州四区"
        }
    ],
    "RequestId": "4fd313a6-155f-4c7a-bf86-898c02fcae02"
}
```
2. 只看某个字段。
```bash
[root@VM_180_248_centos ~]# tccli cvm DescribeZones  --filter TotalCount
4
```
3. 指定某个数组类型对象的第N个子对象的信息。
注意:Mac OS 系统使用如下命令可能会报错 `zsh: no matches found: xxx`,这时需要将说明过滤行为的内容用单引号包裹起来
```bash
[root@VM_180_248_centos ~]# tccli cvm DescribeZones  --filter ZoneSet[0]
{
    "ZoneState": "AVAILABLE",
    "ZoneId": "100001",
    "Zone": "ap-guangzhou-1",
    "ZoneName": "广州一区"
}
```
4. 指定数组类型对象下所有某个名称的子对象的某个字段。
```bash
[root@VM_180_248_centos ~]# tccli cvm DescribeZones  --filter ZoneSet[*].ZoneName
[
    "广州一区",
    "广州二区",
    "广州三区",
    "广州四区"
]
```
5. 过滤数组里的子对象,同时还以新的名称展示。
注意:这里需要将说明过滤行为的内容用单引号包裹起来。
```bash
[root@VM_180_248_centos ~]# tccli cvm DescribeZones  --filter 'ZoneSet[*].{name:ZoneName, id:ZoneId}'
[
    {
        "name": "广州一区",
        "id": "100001"
    },
    {
        "name": "广州二区",
        "id": "100002"
    },
    {
        "name": "广州三区",
        "id": "100003"
    },
    {
        "name": "广州四区",
        "id": "100004"
    }
]
```
6. 高级过滤。CVM 的 DescribeInstances 接口,返回结构体中 InstanceSet 是一个数组,里面每个元素都是一个实例的信息。假设我们想要获取中国香港地域每个实例的唯一标识符 InstanceId,实例名称 InstanceName,并且过滤特定标签。标签是一个数组,里面每个元素是一个字典,键值 Key 是标签名,键值 Value 是标签值,我们想要获取标签名是`app`的标签值。最后结果打印文本。注意,过滤的标签值实际为数组,我们只取第一个,确保不会因为是数组而导致换行。此外,复杂的命令行语句编写困难,维护不便,建议使用 SDK 封装为程序调用更为合理。
```
tccli cvm DescribeInstances --region ap-hongkong --filter 'InstanceSet[].[InstanceId,InstanceName,Tags[?Key==`app`].Value|[0]]' --output text
ins-6xe51ktg    未命名  elastic-search
```
## 结果轮询
可以使用'--waiter'参数来轮询实例的信息直到出现指定的状态
```
# 例如执行如下命令,程序将一定的时间间隔对实例的状态进行轮询,直到实例的状态为'RUNNING'或者超时为止,`--region`的值需改为您的实例所在的地域
tccli cvm DescribeInstancesStatus --region ap-hongkong --waiter "{'expr':'InstanceStatusSet[0].InstanceState','to':'RUNNING'}"
# 您可以自己指定超时的时间和睡眠的时间,如下面的例子,设定的超时时间为180秒,睡眠的时间为5秒。
tccli cvm DescribeInstancesStatus --region ap-hongkong --waiter "{'expr':'InstanceStatusSet[0].InstanceState','to':'RUNNING','timeout':180,'interval':5}"
```
使用'--waiter'参数时,必须指定一以下两个参数:

- expr: 指定被查询的字段,使用[jmespath](http://jmespath.org/)来查找被指定的字段的值
- to: 被轮询的字段的目标值

可选子参数:

- timeout: 轮询的超时时间(s)
- inaterval: 进程睡眠的时间(s)

您可以在配置文件中设置可选子参数的值,例如
```
# 在default.configure文件中,您可以添加如下参数,设置系统超时时间为180诗,睡眠时间为5s
    "waiter": {
        "interval": 5,
        "timeout": 180
      },
```
## 输出入参骨架到json文件
```bash
[root@VM_180_248_centos ~]# tccli cvm RunInstances  --generate-cli-skeleton > /tmp/RunInstances.json
```
## 从json文件读取参数,--cli-input-json后接file://+文件路径
```bash
[root@VM_180_248_centos ~]# tccli cvm RunInstances --cli-input-json file:///tmp/RunInstances.json
{
    "RequestId": "20e2b42d-3260-4750-9293-79116208330e", 
    "InstanceIdSet": null
}
```

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "tccli",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": null,
    "author": null,
    "author_email": "tencentcloudapi <tencentcloudapi@tencent.com>",
    "download_url": "https://files.pythonhosted.org/packages/01/87/a54af806d25a95cd9ff093ebfeeece5a28ea7849353a635653092e365cbd/tccli-3.0.1084.1.tar.gz",
    "platform": null,
    "description": "# \u547d\u4ee4\u884c\u5de5\u5177\u7b80\u4ecb\n\u6b22\u8fce\u4f7f\u7528\u817e\u8baf\u4e91\u547d\u4ee4\u884c\u5de5\u5177(TCCLI)\uff0cTCCLI\u662f\u7ba1\u7406\u817e\u8baf\u4e91\u8d44\u6e90\u7684\u7edf\u4e00\u5de5\u5177\u3002\u901a\u8fc7\u817e\u8baf\u4e91\u547d\u4ee4\u884c\u5de5\u5177\uff0c\u60a8\u53ef\u4ee5\u5feb\u901f\u8f7b\u677e\u7684\u8c03\u7528\u817e\u8baf\u4e91 API\u6765\u7ba1\u7406\u60a8\u7684\u817e\u8baf\u4e91\u8d44\u6e90\u3002\u60a8\u8fd8\u53ef\u4ee5\u57fa\u4e8e\u817e\u8baf\u4e91\u7684\u547d\u4ee4\u884c\u5de5\u5177\u6765\u505a\u81ea\u52a8\u5316\u548c\u811a\u672c\u5904\u7406\uff0c\u80fd\u591f\u4ee5\u66f4\u591a\u6837\u7684\u65b9\u5f0f\u8fdb\u884c\u7ec4\u5408\u548c\u91cd\u7528\u3002\n# \u5b89\u88c5TCCLI\n1. \u5b89\u88c5 Python \u73af\u5883\u548c Pip \u5de5\u5177\uff0c\u5b89\u88c5\u547d\u4ee4\u884c\u5de5\u5177\u524d\u8bf7\u786e\u4fdd\u60a8\u7684\u7cfb\u7edf\u5df2\u7ecf\u5b89\u88c5\u4e86 Python \u73af\u5883\u548c Pip \u5de5\u5177\u3002**\u6ce8\u610fpython\u7248\u672c\u5fc5\u987b\u4e3a2.7\u53ca\u4ee5\u4e0a\u7248\u672c**,\u66f4\u591a\u5185\u5bb9\u8bf7\u53c2\u8003[python\u4e3b\u9875](https://www.python.org/)\u548c[pip\u4e3b\u9875](https://pypi.org/project/pip/)\u3002\n2. TCCLI\u4f9d\u8d56\u4e8eTencentCloudApi Python SDK\uff0c**\u5982\u679cTencentCloudApi Python SDK\u7684\u7248\u672c\u53f7\u5c0f\u4e8e\u8981\u5b89\u88c5TCCLI\u7248\u672c\u53f7\uff0c\u5728\u5b89\u88c5TCCLI\u65f6\u4f1a\u81ea\u52a8\u5347\u7ea7TencentCloudApi Python SDK**\u3002\n3. \u5b89\u88c5TCCLI\uff0c\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff1a\n```bash\npip install tccli\n```\n\u5982\u679c\u662fMacOS\u7528\u6237\uff0c\u60a8\u8fd8\u53ef\u4ee5\u4f7f\u7528homebrew\u6765\u5b89\u88c5tccli\uff1a\n\n> \u6267\u884c\u5982\u4e0b\u547d\u4ee4\u4e4b\u524d\u60a8\u9700\u8981\u5148\u5b89\u88c5homebrew\uff0c\u5b89\u88c5\u7684\u65b9\u6cd5\u53ef\u4ee5\u53c2\u8003[homebrew\u5b98\u7f51](https://brew.sh/index_zh-cn)\n```bash\nbrew tap tencentcloud/tccli\nbrew install tccli\n```\n\u6ce8\u610f\uff1a\u5982\u679c\u662f\u4ece3.0.252.3\u4ee5\u4e0b\u7248\u672c\u5347\u7ea7\u7684\u9700\u8981\u6267\u884c\n```bash\nsudo pip uninstall tccli jmespath\nsudo pip install tccli\n```\n4. \u5b89\u88c5\u5b8c\u6210\u4e4b\u540e\u6267\u884ctccli --version\u68c0\u6d4b\u662f\u5426\u5b89\u88c5\u6210\u529f\u3002\n5. \u5982\u679c\u60a8\u7684\u73af\u5883\u662flinux\u73af\u5883\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u4ee5\u4e0b\u547d\u4ee4\u542f\u52a8\u81ea\u52a8\u8865\u5168\u529f\u80fd\uff1a\n```bash\ncomplete -C 'tccli_completer' tccli\n```\n\u53ef\u4ee5\u5c06\u547d\u4ee4``complete -C 'tccli_completer' tccli``\u52a0\u5165\u73af\u5883\u53d8\u91cf(/etc/profile)\u4e2d\uff0c\u4f7f\u81ea\u52a8\u8865\u5168\u529f\u80fd\u4e00\u76f4\u6709\u6548\u3002\n\n## \u5728 Docker \u4e0a\u4f7f\u7528\n\n```shell\ndocker run --rm -it tencentcom/tencentcloud-cli --version\ndocker run --rm -it tencentcom/tencentcloud-cli help\n```\n\n## \u5728 Coding-CI \u4e0a\u4f7f\u7528\n\n```yaml\nmaster:\n  push:\n  - stages:\n    - name: run with tencentcloud-cli\n      image: tencentcom/tencentcloud-cli\n      commands: |\n        tccli --version\n        tccli help\n```        \n\n# \u914d\u7f6eTCCLI\n\u8981\u4f7f\u7528\u817e\u8baf\u4e91\u547d\u4ee4\u884c\u5de5\u5177\uff0c\u60a8\u8fd8\u9700\u8981\u8fdb\u884c\u4e00\u4e9b\u521d\u59cb\u5316\u914d\u7f6e\uff0c\u4f7f\u5176\u5b8c\u6210\u4f7f\u7528 \u4e91 API\u7684\u5fc5\u8981\u524d\u63d0\u6761\u4ef6\u3002\n1. \u4ea4\u4e92\u6a21\u5f0f\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7tccli configure\u547d\u4ee4\u8fdb\u5165\u4ea4\u4e92\u6a21\u5f0f\u5feb\u901f\u914d\u7f6e\u3002\n\n```bash\n$  tccli configure\nTencentCloud API secretId [*afcQ]:AKIDwLw1234MMfPRle2g9nR2OTI787aBCDP\nTencentCloud API secretKey [*ArFd]:OxXj7khcV1234dQSSYNABcdCc1LiArFd\nregion: ap-guangzhou\noutput[json]:\n```\nsecretId: \u4e91 API \u5bc6\u94a5SecretId\u3002\nsecretIKey: \u4e91 API \u5bc6\u94a5SecretKey\u3002\nregion\uff1a \u4e91\u4ea7\u54c1\u5730\u57df\uff0c\u8bf7\u79fb\u9a7e\u5bf9\u5e94\u4ea7\u54c1\u9875\u9762\u83b7\u53d6\u53ef\u7528\u7684region\u3002\noutput\uff1a \u53ef\u9009\u53c2\u6570\uff0c\u8bf7\u6c42\u56de\u5305\u8f93\u51fa\u683c\u5f0f\uff0c\u652f\u6301[json table text]\u4e09\u79cd\u683c\u5f0f\uff0c\u9ed8\u8ba4\u4e3ajson\u3002\n\u66f4\u591a\u4fe1\u606f\u8bf7\u6267\u884ctccli configure help\u67e5\u770b\u3002\n\n\u6ce8\u610f\uff1a\u5982\u679c\u73af\u5883\u53d8\u91cf\u5b9a\u4e49\u4e86\u76f8\u5173\u914d\u7f6e\uff0c\u5219\u4f1a\u4f18\u5148\u4e8e\u914d\u7f6e\u6587\u4ef6\u751f\u6548\u3002\u5206\u522b\u4e3a TENCENTCLOUD\\_SECRET\\_ID\uff0cTENCENTCLOUD\\_SECRET\\_KEY\uff0cTENCENTCLOUD\\_REGION\u3002\n\n2. \u547d\u4ee4\u884c\u6a21\u5f0f\uff0c\u901a\u8fc7\u547d\u4ee4\u884c\u6a21\u5f0f\u60a8\u53ef\u4ee5\u5728\u81ea\u52a8\u5316\u811a\u672c\u4e2d\u914d\u7f6e\u60a8\u7684\u4fe1\u606f\u3002\n```bash\n# set\u5b50\u547d\u4ee4\u53ef\u4ee5\u8bbe\u7f6e\u67d0\u4e00\u914d\u7f6e\uff0c\u4e5f\u53ef\u540c\u65f6\u914d\u7f6e\u591a\u4e2a\u3002\ntccli configure set secretId AKIDwLw1234MMfPRle2g9nR2OTI787aBCDP\ntccli configure set region ap-guangzhou  output json language zh-CN\n\n# get\u5b50\u547d\u4ee4\u7528\u4e8e\u83b7\u53d6\u914d\u7f6e\u4fe1\u606f\u3002\ntccli configure get secretKey\nsecretKey = OxXj7khcV1234dQSSYNABcdCc1LiArFd\n\n# list\u5b50\u547d\u4ee4\u6253\u5370\u6240\u6709\u914d\u7f6e\u4fe1\u606f\u3002\ntccli configure list\ncredential:\nsecretId =  AKIDwLw1234MMfPRle2g9nR2OTI787aBCDP\nsecretKey =  OxXj7khcV1234dQSSYNABcdCc1LiArFd\nconfigure:\nregion =  ap-guangzhou\noutput =  json\nlanguage = zh-CN\n\n# remove\u5b50\u547d\u4ee4\u5220\u9664\u914d\u7f6e\u6587\u4ef6\ntccli configure remove\n```\n\u66f4\u591a\u4fe1\u606f\u8bf7\u6267\u884ctccli configure [list get set remove] help\u67e5\u770b\u3002\n\n3. \u591a\u8d26\u6237\u652f\u6301\uff0cTCCLI\u652f\u6301\u591a\u8d26\u6237\uff0c\u65b9\u4fbf\u60a8\u591a\u79cd\u914d\u7f6e\u540c\u65f6\u4f7f\u7528\u3002\n```bash\n\u5728\u4ea4\u4e92\u6a21\u5f0f\u4e2d\u6307\u5b9a\u8d26\u6237\u540dtest\u3002\n$  tccli configure --profile test\nTencentCloud API secretId [*BCDP]:AKIDwLw1234MMfPRle2g9nR2OTI787aBCDP\nTencentCloud API secretKey [*ArFd]:OxXj7khcV1234dQSSYNABcdCc1LiArFd\nregion: ap-guangzhou\noutput[json]:\n\n# set/get/list/remove\u5b50\u547d\u4ee4\u6307\u5b9a\u8d26\u6237\u540dtest\u3002\ntccli configure set region ap-guangzhou  output json language zh-CN --profile test\ntccli configure get secretKey      --profile test\ntccli configure list      --profile test\ntccli configure remove      --profile test\n\n\n\u5728\u8c03\u7528\u63a5\u53e3\u65f6\u6307\u5b9a\u8d26\u6237(\u4ee5cvm DescribeZones\u63a5\u53e3\u4e3a\u4f8b)\u3002\ntccli cvm DescribeZones --profile test\n```\n\u5982\u679c\u4e0d\u5e0c\u671b\u8f93\u5165\u547d\u4ee4\u662f\u624b\u52a8\u6307\u5b9a\u8d26\u6237\u540d\uff0c\u8fd8\u53ef\u4ee5\u8bbe\u7f6e\u73af\u5883\u53d8\u91cf\uff0ctccli\u80fd\u4ece\u73af\u5883\u53d8\u91cf\u4e2d\u8bfb\u53d6\u6307\u5b9a\u7684profile\n```bash\nexport TCCLI_PROFILE=test\n```\n\n4. \u60a8\u53ef\u4ee5\u914d\u7f6ehttps\u4ee3\u7406\uff0c\u8ba9tccli\u901a\u8fc7\u4ee3\u7406\u8c03\u7528API\n\n\u5728\u73af\u5883\u53d8\u91cf\u4e2d\u914d\u7f6ehttps\u4ee3\u7406\n```bash\n# \u5728Linux/Unix\u548cmacOS\u4e2d\u6267\u884c\u5982\u4e0b\u7c7b\u4f3c\u547d\u4ee4\u914d\u7f6e\u73af\u5883\u53d8\u91cf\nexport https_proxy=https://192.168.1.1:1111\nexport https_proxy=https://myproxy.com:1111\n\n# \u5728Windows\u7684\u7ec8\u7aef\u4e2d\u6267\u884c\u5982\u4e0b\u7c7b\u4f3c\u547d\u4ee4\u914d\u7f6e\u73af\u5883\u53d8\u91cf\nsetx http_proxy=https://192.168.1.1:1111\nset  http_proxy=https://myproxy.com:1111\n# setx\u8868\u793a\u8bbe\u7f6e\u6c38\u4e45\u73af\u5883\u53d8\u91cf\uff0c\u8bbe\u7f6e\u540e\u91cd\u542f\u7ec8\u7aef\u751f\u6548\n```\n\n\u60a8\u4e5f\u53ef\u4ee5\u76f4\u63a5\u4f7f\u7528'--https-proxy'\u9009\u9879\u8bbe\u7f6ehttps\u4ee3\u7406\n```bash\n# \u4f8b\u5982\ntccli cvm DescribeRegions --https-proxy https://192.168.1.1:1111\n```\n\n# \u51ed\u8bc1\u7ba1\u7406\n\n\u817e\u8baf\u4e91\u547d\u4ee4\u884c\u5de5\u5177\uff08TCCLI\uff09\u76ee\u524d\u652f\u6301\u4ee5\u4e0b\u51e0\u79cd\u65b9\u5f0f\u8fdb\u884c\u51ed\u8bc1\u7ba1\u7406\uff0c\u83b7\u53d6\u51ed\u8bc1\u7684\u4f18\u5148\u7ea7\uff1a\u5b9e\u4f8b\u89d2\u8272 > \u89d2\u8272 > TKE OIDC > \u4e34\u65f6\u5bc6\u94a5 > \u6c38\u4e45\u5bc6\u94a5\uff1a\n\n1. \u5b9e\u4f8b\u89d2\u8272\n\n\u6709\u5173\u5b9e\u4f8b\u89d2\u8272\u7684\u76f8\u5173\u6982\u5ff5\u8bf7\u53c2\u9605\uff1a[\u817e\u8baf\u4e91\u5b9e\u4f8b\u89d2\u8272](https://cloud.tencent.com/document/product/213/47668)\n\n\u5728\u60a8\u4e3a\u5b9e\u4f8b\u7ed1\u5b9a\u89d2\u8272\u540e\uff0c\u60a8\u53ef\u4ee5\u5728\u5b9e\u4f8b\u4e2d\u8bbf\u95ee\u76f8\u5173\u5143\u6570\u636e\u63a5\u53e3\u83b7\u53d6\u4e34\u65f6\u51ed\u8bc1\uff0cSDK \u4f1a\u81ea\u52a8\u5237\u65b0\u4e34\u65f6\u51ed\u8bc1\u3002\u76f8\u5173\u547d\u4ee4\u5982\u4e0b\uff1a\n\n\u4f7f\u7528\u65b9\u5f0f\uff1a\n- \u547d\u4ee4\u884c\u8f93\u5165\n```bash\ntccli cvm DescribeRegions --use-cvm-role\n```\n\n2. \u89d2\u8272\n\n\u6709\u5173\u89d2\u8272\u7684\u76f8\u5173\u6982\u5ff5\u8bf7\u53c2\u9605\uff1a[\u817e\u8baf\u4e91\u89d2\u8272\u6982\u8ff0](https://cloud.tencent.com/document/product/598/19420)\n\n\u8981\u4f7f\u7528\u6b64\u79cd\u65b9\u5f0f\uff0c\u60a8\u5fc5\u987b\u5728\u817e\u8baf\u4e91\u8bbf\u95ee\u7ba1\u7406\u63a7\u5236\u53f0\u4e0a\u521b\u5efa\u4e86\u4e00\u4e2a\u89d2\u8272\uff0c\u5177\u4f53\u521b\u5efa\u8fc7\u7a0b\u8bf7\u53c2\u9605\uff1a[\u817e\u8baf\u4e91\u89d2\u8272\u521b\u5efa](https://cloud.tencent.com/document/product/598/19381)\n\n\u5728\u60a8\u62e5\u6709\u89d2\u8272\u540e\uff0c\u53ef\u4ee5\u901a\u8fc7\u5982\u4e0b\u65b9\u5f0f\u83b7\u53d6\u4e34\u65f6\u51ed\u8bc1\uff0c\u76f8\u5173\u547d\u4ee4\u5982\u4e0b\uff1a\n\n- \u547d\u4ee4\u884c\u8f93\u5165\n\n```bash\ntccli cvm DescribeRegions --secretId xx --secretKey xx --role-arn xx --role-session-name\n```\n\n- \u73af\u5883\u53d8\u91cf\n\n\u914d\u7f6e\u73af\u5883\u53d8\u91cf\uff1a`TENCENTCLOUD_SECRET_ID`, `TENCENTCLOUD_SECRET_KEY`, `TENCENTCLOUD_ROLE_ARN`, `TENCENTCLOUD_ROLE_SESSION_NAME`\n\n3. TKE OIDC\n\n- \u73af\u5883\u53d8\u91cf\n  \u914d\u7f6e\u73af\u5883\u53d8\u91cf\uff1a`TKE_REGION`, `TKE_PROVIDER_ID`, `TKE_WEB_IDENTITY_TOKEN_FILE`, `TKE_ROLE_ARN`\n\n4. \u4e34\u65f6\u5bc6\u94a5\n\n- \u547d\u4ee4\u884c\u8f93\u5165\n```bash\ntccli cvm DescribeRegions --secretId xx --secretKey xx --token xx\n```\n\n\n- \u73af\u5883\u53d8\u91cf\n  \u914d\u7f6e\u73af\u5883\u53d8\u91cf\uff1a`TENCENTCLOUD_SECRET_ID`, `TENCENTCLOUD_SECRET_KEY`, `TENCENTCLOUD_TOKEN`\n\n\n- xxx.credential\u6587\u4ef6\n```json\n{\n  \"secretId\": \"AKIDxxxxxxxxxxxxxxxxxxxxQsPk\",\n  \"secretKey\": \"QgoxxxxxxxxxxxxxxxxgvW4\",\n  \"token\": \"xxxxxxxxxxxxxxxxxx\"\n}\n```\n\n\n5. \u6c38\u4e45\u5bc6\u94a5\n\n- \u547d\u4ee4\u884c\u8f93\u5165\n```bash\ntccli cvm DescribeRegions --secretId xx --secretKey xx\n```\n\n\n- \u73af\u5883\u53d8\u91cf\n  \u914d\u7f6e\u73af\u5883\u53d8\u91cf\uff1a`TENCENTCLOUD_SECRET_ID`, `TENCENTCLOUD_SECRET_KEY`\n\n\n- xxx.credential\u6587\u4ef6\n```json\n{\n  \"secretId\": \"AKIDxxxxxxxxxxxxxxxxxxxxQsPk\",\n  \"secretKey\": \"QgoxxxxxxxxxxxxxxxxgvW4\"\n}\n```\n\n# \u4f7f\u7528TCCLI\n\u547d\u4ee4\u884c\u5de5\u5177\u96c6\u6210\u4e86\u817e\u8baf\u4e91\u6240\u6709\u652f\u6301\u4e91 API \u7684\u4ea7\u54c1\uff0c\u53ef\u4ee5\u5728\u547d\u4ee4\u884c\u4e0b\u5b8c\u6210\u5bf9\u817e\u8baf\u4e91\u4ea7\u54c1\u7684\u914d\u7f6e\u548c\u7ba1\u7406\u3002\u5305\u62ec\u4f7f\u7528TCCLI\u521b\u5efa\u4e91\u670d\u52a1\u5668\uff0c\u64cd\u4f5c\u4e91\u670d\u52a1\u5668\uff0c\u901a\u8fc7TCCLI\u521b\u5efaCBS\u76d8\u3001\u67e5\u770bCBS\u76d8\u4f7f\u7528\u60c5\u51b5\uff0c\u901a\u8fc7TCCLI\u521b\u5efaVPC\u7f51\u7edc\u3001\u5f80VPC\u7f51\u7edc\u4e2d\u6dfb\u52a0\u8d44\u6e90\u7b49\u7b49\uff0c\u6240\u6709\u5728\u63a7\u5236\u53f0\u9875\u9762\u80fd\u5b8c\u6210\u7684\u64cd\u4f5c\uff0c\u5747\u80fd\u518d\u547d\u4ee4\u884c\u5de5\u5177\u4e0a\u6267\u884c\u547d\u4ee4\u5b9e\u73b0\u3002\n* \u901a\u8fc7tccli cvm DescribeInstances\u547d\u4ee4\u67e5\u770b\u5f53\u524d\u8d26\u53f7\u6709\u54ea\u4e9b\u4e91\u670d\u52a1\u5668\u3002\n* \u901a\u8fc7tccli cbs DescribeDisks\u547d\u4ee4\u67e5\u770b\u6709CBS\u76d8\u5217\u8868\u3002\n\n\u4ee5\u521b\u5efa\u4e00\u53f0cvm\u4e3a\u4f8b(**\u8bf7\u6ce8\u610fdemo\u4e2d\u975e\u7b80\u5355\u7c7b\u578b\u7684\u53c2\u6570\u5fc5\u987b\u4e3a\u6807\u51c6json\u683c\u5f0f**)\uff1a\n```bash\ntccli cvm RunInstances --InstanceChargeType POSTPAID_BY_HOUR --InstanceChargePrepaid '{\"Period\":1,\"RenewFlag\":\"DISABLE_NOTIFY_AND_MANUAL_RENEW\"}'\n --Placement '{\"Zone\":\"ap-guangzhou-2\"}' --InstanceType S1.SMALL1 --ImageId img-8toqc6s3 --SystemDisk '{\"DiskType\":\"CLOUD_BASIC\", \"DiskSize\":50}'\n--InternetAccessible '{\"InternetChargeType\":\"TRAFFIC_POSTPAID_BY_HOUR\",\"InternetMaxBandwidthOut\":10,\"PublicIpAssigned\":true}' --InstanceCount 1\n--InstanceName TCCLI-TEST --LoginSettings '{\"Password\":\"isd@cloud\"}' --SecurityGroupIds '[\"sg-0rszg2vb\"]' --HostName TCCLI-HOST-NAME1\n```\n\u66f4\u591a\u529f\u80fd\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7tccli help\u67e5\u770b\u652f\u6301\u7684\u4ea7\u54c1\uff0c\u901a\u8fc7tccli cvm help\uff08\u4ee5cvm\u4e3e\u4f8b\uff09\u67e5\u770b\u4ea7\u54c1\u652f\u6301\u7684\u63a5\u53e3\u3002\u901a\u8fc7tccli cbs DescribeDisks help(\u4ee5cbs\u4ea7\u54c1\u7684DescribeDisks\u63a5\u53e3\u4e3a\u4f8b) \u67e5\u770b\u63a5\u53e3\u652f\u6301\u7684\u53c2\u6570\u3002\u5982\u679c\u60f3\u770b\u8be6\u7ec6\u4fe1\u606f\uff0c\u53ef\u4ee5\u5728help\u7684\u540e\u9762\u589e\u52a0\u5b57\u6bb5'--detail'\u67e5\u770b\u3002\u4f8b\u5982\uff1a\u5206\u522b\u4f7f\u7528tccli help --detail\uff0ctccli cvm help --detail\u548ctccli cbs DescribeDisks help --detail\u67e5\u770b\u5bf9\u5e94\u7684\u8be6\u7ec6\u4fe1\u606f\u3002\n\n## \u8fd4\u56de\u503c\n\u4ece3.0.1009.1\u7248\u672c\u5f00\u59cb\uff0c\u547d\u4ee4\u884c\u6267\u884c\u6210\u529f\u8fd4\u56de0\u503c\uff0c\u6267\u884c\u5931\u8d25\u8fd4\u56de\u975e0\u503c\u3002\n\n# \u9ad8\u7ea7\u529f\u80fd\n## \u591a\u7248\u672c\u63a5\u53e3\u8bbf\u95ee\n\u67d0\u4e9b\u4ea7\u54c1\u53ef\u80fd\u5b58\u5728\u591a\u4e2a\u7248\u672c\u7684\u63a5\u53e3\uff0cTCCLI\u9ed8\u8ba4\u8bbf\u95ee\u6700\u65b0\u7248\u672c\u7684\u63a5\u53e3\u3002\u5982\u679c\u60a8\u60f3\u8bbf\u95ee\u7279\u5b9a\u65e7\u7248\u672c\u7684\u63a5\u53e3\uff0c\u53ef\u4ee5\u901a\u8fc7\u4ee5\u4e0b\u65b9\u5f0f\u5b9e\u73b0(\u4ee5cvm\u4e3e\u4f8b)\u3002\n```bash\n# \u8bbe\u7f6ecvm\u4ea7\u54c1\u9ed8\u8ba4\u4f7f\u7528\u7248\u672c:2017-03-12\u3002\ntccli configure set cvm.version 2017-03-12\n\n# \u5728\u5b9e\u65f6\u4f7f\u7528\u65f6\u6307\u5b9a\u7248\u672c\u53f7\u3002\ntccli cvm help --version 2017-03-12\ntccli cvm DescribeZones help --version 2017-03-12\ntccli cvm DescribeZones --version 2017-03-12\n```\n## \u6307\u5b9a\u8f93\u51fa\u8bed\u8a00\n\u6307\u5b9a\u516c\u5171\u53c2\u6570`language`\u53ef\u4ee5\u83b7\u5f97\u63a5\u53e3\u6307\u5b9a\u8bed\u8a00\u7684\u8fd4\u56de\uff0c`language`\u53c2\u6570\u4e5f\u652f\u6301\u5728\u914d\u7f6e\u6587\u4ef6\u4e2d\u914d\u7f6e\uff0c\u9ed8\u8ba4\u503c\u4e3a\"zh-CN\"\n```\n# \u5728\u5b9e\u65f6\u4f7f\u7528\u65f6\u6307\u5b9a\u8bed\u8a00\ntccli cvm DescribeZones --language zh-CN\ntccli cvm DescribeZones --language en-US\n```\n## \u6307\u5b9a\u6700\u8fd1\u7684\u63a5\u5165\u70b9(Endpoint)\nTCCLI\u9ed8\u8ba4\u4f1a\u8bf7\u6c42\u5c31\u8fd1\u7684\u63a5\u53e3\u70b9\u8bbf\u95ee\u670d\u52a1\uff0c\u4f60\u4e5f\u53ef\u4ee5\u9488\u5bf9\u67d0\u4e00\u4ea7\u54c1\u6307\u5b9a\u81ea\u5df1\u7684Endpoint(\u4ee5cvm\u4e3a\u4f8b)\u3002\n```bash\n# \u8bbe\u7f6ecvm\u4ea7\u54c1\u9ed8\u8ba4endpoint\u3002\ntccli configure set cvm.endpoint cvm.ap-guangzhou.tencentcloudapi.com\n\n# \u8c03\u7528\u65f6\u5b9e\u65f6\u6307\u5b9a\u3002\ntccli cvm DescribeZones --endpoint cvm.ap-guangzhou.tencentcloudapi.com\n```\n## \u8fd4\u56de\u7ed3\u679c\u8fc7\u6ee4\n\nTCCLI \u652f\u6301 [JMESPath](https://jmespath.org/examples.html) \uff0c\u4ee5\u4e0b\u4ec5\u4e3a\u90e8\u5206\u793a\u4f8b\uff0c\u5168\u90e8\u8fc7\u6ee4\u80fd\u529b\u8bf7\u53c2\u8003 JMESPath \u5b98\u65b9\u6587\u6863\u3002\n\n1. \u4e0d\u52a0\u4efb\u4f55\u8fc7\u6ee4\u65f6\u7684\u8f93\u51fa(\u4ee5cvm DescribeZones\u63a5\u53e3\u7684\u8fd4\u56de\u4e3a\u4f8b)\u3002\n```bash\n[root@VM_180_248_centos ~]# tccli cvm DescribeZones\n{\n    \"TotalCount\": 4,\n    \"ZoneSet\": [\n        {\n            \"ZoneState\": \"AVAILABLE\",\n            \"ZoneId\": \"100001\",\n            \"Zone\": \"ap-guangzhou-1\",\n            \"ZoneName\": \"\u5e7f\u5dde\u4e00\u533a\"\n        },\n        {\n            \"ZoneState\": \"AVAILABLE\",\n            \"ZoneId\": \"100002\",\n            \"Zone\": \"ap-guangzhou-2\",\n            \"ZoneName\": \"\u5e7f\u5dde\u4e8c\u533a\"\n        },\n        {\n            \"ZoneState\": \"AVAILABLE\",\n            \"ZoneId\": \"100003\",\n            \"Zone\": \"ap-guangzhou-3\",\n            \"ZoneName\": \"\u5e7f\u5dde\u4e09\u533a\"\n        },\n        {\n            \"ZoneState\": \"AVAILABLE\",\n            \"ZoneId\": \"100004\",\n            \"Zone\": \"ap-guangzhou-4\",\n            \"ZoneName\": \"\u5e7f\u5dde\u56db\u533a\"\n        }\n    ],\n    \"RequestId\": \"4fd313a6-155f-4c7a-bf86-898c02fcae02\"\n}\n```\n2. \u53ea\u770b\u67d0\u4e2a\u5b57\u6bb5\u3002\n```bash\n[root@VM_180_248_centos ~]# tccli cvm DescribeZones  --filter TotalCount\n4\n```\n3. \u6307\u5b9a\u67d0\u4e2a\u6570\u7ec4\u7c7b\u578b\u5bf9\u8c61\u7684\u7b2cN\u4e2a\u5b50\u5bf9\u8c61\u7684\u4fe1\u606f\u3002\n\u6ce8\u610f\uff1aMac OS \u7cfb\u7edf\u4f7f\u7528\u5982\u4e0b\u547d\u4ee4\u53ef\u80fd\u4f1a\u62a5\u9519 `zsh: no matches found: xxx`\uff0c\u8fd9\u65f6\u9700\u8981\u5c06\u8bf4\u660e\u8fc7\u6ee4\u884c\u4e3a\u7684\u5185\u5bb9\u7528\u5355\u5f15\u53f7\u5305\u88f9\u8d77\u6765\n```bash\n[root@VM_180_248_centos ~]# tccli cvm DescribeZones  --filter ZoneSet[0]\n{\n    \"ZoneState\": \"AVAILABLE\",\n    \"ZoneId\": \"100001\",\n    \"Zone\": \"ap-guangzhou-1\",\n    \"ZoneName\": \"\u5e7f\u5dde\u4e00\u533a\"\n}\n```\n4. \u6307\u5b9a\u6570\u7ec4\u7c7b\u578b\u5bf9\u8c61\u4e0b\u6240\u6709\u67d0\u4e2a\u540d\u79f0\u7684\u5b50\u5bf9\u8c61\u7684\u67d0\u4e2a\u5b57\u6bb5\u3002\n```bash\n[root@VM_180_248_centos ~]# tccli cvm DescribeZones  --filter ZoneSet[*].ZoneName\n[\n    \"\u5e7f\u5dde\u4e00\u533a\",\n    \"\u5e7f\u5dde\u4e8c\u533a\",\n    \"\u5e7f\u5dde\u4e09\u533a\",\n    \"\u5e7f\u5dde\u56db\u533a\"\n]\n```\n5. \u8fc7\u6ee4\u6570\u7ec4\u91cc\u7684\u5b50\u5bf9\u8c61\uff0c\u540c\u65f6\u8fd8\u4ee5\u65b0\u7684\u540d\u79f0\u5c55\u793a\u3002\n\u6ce8\u610f\uff1a\u8fd9\u91cc\u9700\u8981\u5c06\u8bf4\u660e\u8fc7\u6ee4\u884c\u4e3a\u7684\u5185\u5bb9\u7528\u5355\u5f15\u53f7\u5305\u88f9\u8d77\u6765\u3002\n```bash\n[root@VM_180_248_centos ~]# tccli cvm DescribeZones  --filter 'ZoneSet[*].{name:ZoneName, id:ZoneId}'\n[\n    {\n        \"name\": \"\u5e7f\u5dde\u4e00\u533a\",\n        \"id\": \"100001\"\n    },\n    {\n        \"name\": \"\u5e7f\u5dde\u4e8c\u533a\",\n        \"id\": \"100002\"\n    },\n    {\n        \"name\": \"\u5e7f\u5dde\u4e09\u533a\",\n        \"id\": \"100003\"\n    },\n    {\n        \"name\": \"\u5e7f\u5dde\u56db\u533a\",\n        \"id\": \"100004\"\n    }\n]\n```\n6. \u9ad8\u7ea7\u8fc7\u6ee4\u3002CVM \u7684 DescribeInstances \u63a5\u53e3\uff0c\u8fd4\u56de\u7ed3\u6784\u4f53\u4e2d InstanceSet \u662f\u4e00\u4e2a\u6570\u7ec4\uff0c\u91cc\u9762\u6bcf\u4e2a\u5143\u7d20\u90fd\u662f\u4e00\u4e2a\u5b9e\u4f8b\u7684\u4fe1\u606f\u3002\u5047\u8bbe\u6211\u4eec\u60f3\u8981\u83b7\u53d6\u4e2d\u56fd\u9999\u6e2f\u5730\u57df\u6bcf\u4e2a\u5b9e\u4f8b\u7684\u552f\u4e00\u6807\u8bc6\u7b26 InstanceId\uff0c\u5b9e\u4f8b\u540d\u79f0 InstanceName\uff0c\u5e76\u4e14\u8fc7\u6ee4\u7279\u5b9a\u6807\u7b7e\u3002\u6807\u7b7e\u662f\u4e00\u4e2a\u6570\u7ec4\uff0c\u91cc\u9762\u6bcf\u4e2a\u5143\u7d20\u662f\u4e00\u4e2a\u5b57\u5178\uff0c\u952e\u503c Key \u662f\u6807\u7b7e\u540d\uff0c\u952e\u503c Value \u662f\u6807\u7b7e\u503c\uff0c\u6211\u4eec\u60f3\u8981\u83b7\u53d6\u6807\u7b7e\u540d\u662f`app`\u7684\u6807\u7b7e\u503c\u3002\u6700\u540e\u7ed3\u679c\u6253\u5370\u6587\u672c\u3002\u6ce8\u610f\uff0c\u8fc7\u6ee4\u7684\u6807\u7b7e\u503c\u5b9e\u9645\u4e3a\u6570\u7ec4\uff0c\u6211\u4eec\u53ea\u53d6\u7b2c\u4e00\u4e2a\uff0c\u786e\u4fdd\u4e0d\u4f1a\u56e0\u4e3a\u662f\u6570\u7ec4\u800c\u5bfc\u81f4\u6362\u884c\u3002\u6b64\u5916\uff0c\u590d\u6742\u7684\u547d\u4ee4\u884c\u8bed\u53e5\u7f16\u5199\u56f0\u96be\uff0c\u7ef4\u62a4\u4e0d\u4fbf\uff0c\u5efa\u8bae\u4f7f\u7528 SDK \u5c01\u88c5\u4e3a\u7a0b\u5e8f\u8c03\u7528\u66f4\u4e3a\u5408\u7406\u3002\n```\ntccli cvm DescribeInstances --region ap-hongkong --filter 'InstanceSet[].[InstanceId,InstanceName,Tags[?Key==`app`].Value|[0]]' --output text\nins-6xe51ktg    \u672a\u547d\u540d  elastic-search\n```\n## \u7ed3\u679c\u8f6e\u8be2\n\u53ef\u4ee5\u4f7f\u7528'--waiter'\u53c2\u6570\u6765\u8f6e\u8be2\u5b9e\u4f8b\u7684\u4fe1\u606f\u76f4\u5230\u51fa\u73b0\u6307\u5b9a\u7684\u72b6\u6001\n```\n# \u4f8b\u5982\u6267\u884c\u5982\u4e0b\u547d\u4ee4\uff0c\u7a0b\u5e8f\u5c06\u4e00\u5b9a\u7684\u65f6\u95f4\u95f4\u9694\u5bf9\u5b9e\u4f8b\u7684\u72b6\u6001\u8fdb\u884c\u8f6e\u8be2\uff0c\u76f4\u5230\u5b9e\u4f8b\u7684\u72b6\u6001\u4e3a'RUNNING'\u6216\u8005\u8d85\u65f6\u4e3a\u6b62\uff0c`--region`\u7684\u503c\u9700\u6539\u4e3a\u60a8\u7684\u5b9e\u4f8b\u6240\u5728\u7684\u5730\u57df\ntccli cvm DescribeInstancesStatus --region ap-hongkong --waiter \"{'expr':'InstanceStatusSet[0].InstanceState','to':'RUNNING'}\"\n# \u60a8\u53ef\u4ee5\u81ea\u5df1\u6307\u5b9a\u8d85\u65f6\u7684\u65f6\u95f4\u548c\u7761\u7720\u7684\u65f6\u95f4\uff0c\u5982\u4e0b\u9762\u7684\u4f8b\u5b50\uff0c\u8bbe\u5b9a\u7684\u8d85\u65f6\u65f6\u95f4\u4e3a180\u79d2\uff0c\u7761\u7720\u7684\u65f6\u95f4\u4e3a5\u79d2\u3002\ntccli cvm DescribeInstancesStatus --region ap-hongkong --waiter \"{'expr':'InstanceStatusSet[0].InstanceState','to':'RUNNING','timeout':180,'interval':5}\"\n```\n\u4f7f\u7528'--waiter'\u53c2\u6570\u65f6\uff0c\u5fc5\u987b\u6307\u5b9a\u4e00\u4ee5\u4e0b\u4e24\u4e2a\u53c2\u6570\uff1a\n\n- expr: \u6307\u5b9a\u88ab\u67e5\u8be2\u7684\u5b57\u6bb5\uff0c\u4f7f\u7528[jmespath](http://jmespath.org/)\u6765\u67e5\u627e\u88ab\u6307\u5b9a\u7684\u5b57\u6bb5\u7684\u503c\n- to: \u88ab\u8f6e\u8be2\u7684\u5b57\u6bb5\u7684\u76ee\u6807\u503c\n\n\u53ef\u9009\u5b50\u53c2\u6570\uff1a\n\n- timeout: \u8f6e\u8be2\u7684\u8d85\u65f6\u65f6\u95f4(s)\n- inaterval: \u8fdb\u7a0b\u7761\u7720\u7684\u65f6\u95f4(s)\n\n\u60a8\u53ef\u4ee5\u5728\u914d\u7f6e\u6587\u4ef6\u4e2d\u8bbe\u7f6e\u53ef\u9009\u5b50\u53c2\u6570\u7684\u503c\uff0c\u4f8b\u5982\n```\n# \u5728default.configure\u6587\u4ef6\u4e2d\uff0c\u60a8\u53ef\u4ee5\u6dfb\u52a0\u5982\u4e0b\u53c2\u6570\uff0c\u8bbe\u7f6e\u7cfb\u7edf\u8d85\u65f6\u65f6\u95f4\u4e3a180\u8bd7\uff0c\u7761\u7720\u65f6\u95f4\u4e3a5s\n    \"waiter\": {\n        \"interval\": 5,\n        \"timeout\": 180\n      },\n```\n## \u8f93\u51fa\u5165\u53c2\u9aa8\u67b6\u5230json\u6587\u4ef6\n```bash\n[root@VM_180_248_centos ~]# tccli cvm RunInstances  --generate-cli-skeleton > /tmp/RunInstances.json\n```\n## \u4ecejson\u6587\u4ef6\u8bfb\u53d6\u53c2\u6570\uff0c--cli-input-json\u540e\u63a5file://+\u6587\u4ef6\u8def\u5f84\n```bash\n[root@VM_180_248_centos ~]# tccli cvm RunInstances --cli-input-json file:///tmp/RunInstances.json\n{\n    \"RequestId\": \"20e2b42d-3260-4750-9293-79116208330e\", \n    \"InstanceIdSet\": null\n}\n```\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Universal Command Line Environment for Tencent Cloud",
    "version": "3.0.1084.1",
    "project_urls": {
        "Bug Tracker": "https://github.com/TencentCloud/tencentcloud-cli/issues",
        "Homepage": "https://github.com/TencentCloud/tencentcloud-cli"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1f2f3dc134adfa391c0c7614e8ebdcf423a5c572b0e75fb4e48aa073afdef28d",
                "md5": "9d76e532ab5807c6524ba9c75a292b91",
                "sha256": "2d86d32f257d27501ecf61530d112987803771d48cf5aa755070418c30cb7999"
            },
            "downloads": -1,
            "filename": "tccli-3.0.1084.1-py2.py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "9d76e532ab5807c6524ba9c75a292b91",
            "packagetype": "bdist_wheel",
            "python_version": "py2.py3",
            "requires_python": null,
            "size": 15832529,
            "upload_time": "2024-03-26T08:57:32",
            "upload_time_iso_8601": "2024-03-26T08:57:32.214578Z",
            "url": "https://files.pythonhosted.org/packages/1f/2f/3dc134adfa391c0c7614e8ebdcf423a5c572b0e75fb4e48aa073afdef28d/tccli-3.0.1084.1-py2.py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0187a54af806d25a95cd9ff093ebfeeece5a28ea7849353a635653092e365cbd",
                "md5": "e2289ff65fe38a566bd39b5d8e99e4c4",
                "sha256": "a777ac7ac1cf2b7da184f6701118369b7851e5757c85a9dac89d865f9ad40d89"
            },
            "downloads": -1,
            "filename": "tccli-3.0.1084.1.tar.gz",
            "has_sig": false,
            "md5_digest": "e2289ff65fe38a566bd39b5d8e99e4c4",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 11349089,
            "upload_time": "2024-03-26T08:57:44",
            "upload_time_iso_8601": "2024-03-26T08:57:44.746298Z",
            "url": "https://files.pythonhosted.org/packages/01/87/a54af806d25a95cd9ff093ebfeeece5a28ea7849353a635653092e365cbd/tccli-3.0.1084.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-26 08:57:44",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "TencentCloud",
    "github_project": "tencentcloud-cli",
    "travis_ci": true,
    "coveralls": false,
    "github_actions": true,
    "tox": true,
    "lcname": "tccli"
}
        
Elapsed time: 0.23437s