腾讯云命令行工具 (TCCLI) 是管理腾讯云资源的统一工具. 使用腾讯云命令行工具, 您可以快速调用腾讯云 API 来管理您的腾讯云资源. 您还可以基于腾讯云的命令行工具来做自动化和脚本处理, 以更多样的方式进行组合和重用.
本文将结合实际用户场景需求, 提供相关 TCCLI 的实践例子, 希望能帮助大家更快速掌握 TCCLI 的用法. 安装, 配置 TCCLI 的详细步骤请参考官网命令行工具 https://cloud.tencent.com/document/product/440/6176 的介绍, 本文就不再重复了.
关于 API 的选用, 本文继续以创建 CVM https://cloud.tencent.com/document/api/213/15730 为例, 因为该 API 较为复杂, 输入参考涉及到的数据类型也较为齐全.
输入参数
其实 TCCLI 的使用也是挺简单的, 对于输入参数的语法是: -- 参数名称 参数值
- String
- String
- ## 用法示例, 注意不要加引号将镜像 ID 引起来, 参数和参数值直接有一个空格, 别漏了哈
- --ImageId img-8toqc6s3
- Integer
- Integer
- ## 用法示例, 注意不要加引号, 参数和参数值直接有一个空格, 别漏了哈
- --InstanceCount 1
- Boolean
由于创建 CVM 的 API 中输入参数没有 Boolean 类型, 那我这里选择关闭实例 https://cloud.tencent.com/document/api/213/15743 的 API 来做示例.
- Boolean
- ## 用法示例, 注意不要加引号, 而且是小写的 true 或者 false.
- --ForceStop true
- Array of String
- Array of String
- ## 用法示例, 注意不要漏了外面的单引号
- --SecurityGroupIds '["sg-is82khqv"]'
- Array of Object
- Array of Object
DataDisk 数据结构
- ## 用法示例, 注意不要漏了外面的单引号
- --DataDisks '[{"DiskType":"LOCAL_BASIC","DiskSize":50},{"DiskType":"CLOUD_BASIC","DiskSize":500}]'
- Object(实例 1)
- Object
Placement 数据结构
- ## 用法示例, 注意不要漏了外面的单引号,
- --Placement '{"Zone":"ap-beijing-3","ProjectId":1048443,"HostIds":["host-cy8swiou"]}'
- Object(实例 2)
- Object
InstanceMarketOptionsRequest 数据结构
SpotMarketOptions 数据结构
- ## 用法示例, 注意不要漏了外面的单引号
- --InstanceMarketOptions '{"MarketType":"spot","SpotOptions":{"MaxPrice":"0.15","SpotInstanceType":"one-time"}}'
- Filters
由于创建 CVM 的 API 中输入参数没有 Filters, 那我这里选择查看实例列表 https://cloud.tencent.com/document/api/213/15728 的 API 来做示例.
补充需要提醒大家的是, 注意 windows 和 linux 操作系统的区别, 在拼接字符串的时候 windows 下可能需要使用转义符. 上面的例子也是如此哈, 要注意 windows 下的转义哈.
linux 示例代码:
tccli cvm DescribeInstances --Filters '[{"Name":"private-ip-address","Values":["172.16.0.12"]}]'
windows 示例代码:
- tccli cvm DescribeInstances --Filters "[{\"Name\":\"private-ip-address\",\"Values\":[\"172.16.0.12\"]}]"
- UserData
- UserData
该参数需要以 base64 方式编码, 支持的最大数据大小为 16KB. 关于获取此参数的详细介绍, 请参阅 Windows 首次启动实例时运行命令 https://cloud.tencent.com/document/product/213/17526 和 Linux 首次启动实例时运行命令 https://cloud.tencent.com/document/product/213/17525 的介绍.
- ## 请不要加引号
- --UserData IyEvYmluL2Jhc2gKIyMgSW5zdGFsbCB0aGUgcGFja2FnZXMKZWNobyAtZSAiMXFhekBXU1giIHwgcGFzc3dkCg==
完整例子
tccli cvm RunInstances --InstanceChargeType SPOTPAID --Placement '{"Zone":"ap-beijing-3"}' --DataDisks '{"DiskType":"LOCAL_BASIC","DiskSize":50},{"DiskType":"CLOUD_BASIC","DiskSize":500}' --InstanceType S2.MEDIUM4 --ImageId img-8toqc6s3 --SystemDisk '{"DiskType":"CLOUD_BASIC","DiskSize":50}' --InternetAccessible '{"InternetChargeType":"TRAFFIC_POSTPAID_BY_HOUR","InternetMaxBandwidthOut":10,"PublicIpAssigned":true}' --InstanceCount 1 --InstanceName TCCLI-TEST --SecurityGroupIds '"sg-is82khqv"' --HostName TCCLI-HOST-NAME1 --VirtualPrivateCloud '{"VpcId":"vpc-faob6vpi","SubnetId":"subnet-mrmr3047"}' --InstanceMarketOptions '{"MarketType":"spot","SpotOptions":{"MaxPrice":"0.15","SpotInstanceType":"one-time"}}' --UserData IyEvYmluL2Jhc2gKIyMgSW5zdGFsbCB0aGUgcGFja2FnZXMKZWNobyAtZSAiMXFhekBXU1giIHwgcGFzc3dkCg==
来源: https://www.qcloud.com/developer/article/1158013