腾讯云命令行工具 TCCLI
# 腾讯云命令行工具 TCCLI
TCCLI 是管理腾讯云资源的统一工具。通过腾讯云命令行工具,您可以快速轻松的调用腾讯云 API 来管理您的腾讯云资源。您还可以基于 TCCLI 来做自动化和脚本处理,能够以更多样的方式进行组合和重用。
# 安装 TCCLI
注:安装命令行工具前请确保您的系统已经安装了 Python 环境和 pip 工具。
腾讯云官网教程上Mac OS 系统可以使用 Homebrew 进行安装,但实测M1芯片安装是失败的。
根据GitHub上的回答I worked around this problem by pip3 install tccli
继而采用pip3来安装。
# brew通过brew安装python
brew install python@3.9
# 安装pip3
python3 -m ensurepip --upgrade
# 安装tccli
pip3 install tccli
2
3
4
5
6
安装完后提示了警告信息并且控制台输入tccli
命令会提示command not find。
Installing collected packages: jmespath, tccli
WARNING: The scripts tccli and tccli_completer are installed in '/Users/worthy/Library/Python/3.9/bin' which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
Successfully installed jmespath-0.10.0 tccli-3.0.1082.1
WARNING: You are using pip version 21.2.4; however, version 24.0 is available.
You should consider upgrading via the '/Library/Developer/CommandLineTools/usr/bin/python3 -m pip install --upgrade pip' command.
2
3
4
5
6
参照提示信息是没有配置PATH,于是在.zshrc文件添加一行,然后执行source .zshrc
,在执行tccli
就正确返回提示内容了。
export PATH=/Users/worthy/Library/Python/3.9/bin:$PATH
# TCCLI 配置方法
使用 TCCLI 前您需要进行一些初始化配置,使其完成使用云 API 的必要前提条件。
# 交互模式
通过执行 tccli configure
命令进入交互模式快速配置。
$ tccli configure
TencentCloud API secretId [*afcQ]:AKIDz8krbsJ5yKBZQpn74WFkmLPx3*******
TencentCloud API secretKey [*ArFd]:Gu5t9xGARNpq86cd98joQYCN3*******
region: ap-guangzhou
output[json]:
2
3
4
5
说明:
secretId:云 API 密钥 SecretId,前往 API 密钥管理 (opens new window) 获取。
secretKey:云 API 密钥 SecretKey,前往 API 密钥管理 (opens new window) 获取。
region: 云产品地域,请前往对应云产品的 API 文档 (opens new window) 获取可用的 region。例如云服务器的 地域列表 (opens new window)。
output:可选参数,请求返回包输出格式,支持 [json table text] 三种格式,默认为 json。更多信息请执行
tccli configure help
查看。
# TCCLI 配置文件
使用 tccli configure
命令后,TCCLI 会在 ~/.tccli
目录下生成对应的 default.configure
和 default.credential
文件,这两个文件记录均为 JSON 格式的内容。 default.configure
记录对应产品调用的版本(默认最新版)和 endpoint(默认为最近接入点),以及默认的输出格式和指定的地域。 default.credential
则记录的是用户的密钥信息。 示例如下:
# default.configure文件格式,cvm产品默认调用版本 2017-03-12 的接口,默认的请求域名为 cvm.tencentcloudapi.com
{
...
"cvm": {
"endpoint": "cvm.tencentcloudapi.com",
"version": "2017-03-12"
},
...
"output": "json",
"region": "ap-guanzhou",
...
}
# default.credential的文件格式
{
"secretId": "AKIDz8krbsJ5yKBZQpn74WFkmLPx3*******",
"secretKey": "Gu5t9xGARNpq86cd98joQYCN3*******"
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# TCCLI 使用方法
TCCLI 集成了腾讯云所有支持云 API 的产品,您可以在命令行下完成对腾讯云产品的配置和管理。包括使用 TCCLI 创建云服务器、操作云服务器、通过 TCCLI 创建云硬盘、查看云硬盘使用情况、通过 TCCLI 创建私有网络、往私有网络中添加资源等,所有在控制台页面能完成的操作,均能在 TCCLI 上执行命令实现。
我主要是使用TCCLI来快速修改安全组,使本机的IP在安全组上放行所有端口。具体的命令可以在API Explorer里配置好所需参数,然后在CLI示例中复制命令即可。
# 使用示例
#!/bin/bash
response=$(curl -s "http://members.3322.org/dyndns/getip")
tccli vpc ReplaceSecurityGroupPolicies --cli-unfold-argument --region ap-beijing --SecurityGroupId sg-xxxxxxxx --SecurityGroupPolicySet.Ingress.0.PolicyIndex 0 --SecurityGroupPolicySet.Ingress.0.Protocol ALL --SecurityGroupPolicySet.Ingress.0.Port ALL --SecurityGroupPolicySet.Ingress.0.CidrBlock $response --SecurityGroupPolicySet.Ingress.0.Action ACCEPT
echo $response
2
3
4