腾讯云 TCCLI 实践分享

腾讯云命令行工具(TCCLI)是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。

本文将结合实际用户场景需求,提供相关 TCCLI 的实践例子,希望能帮助大家更快速掌握 TCCLI 的用法。安装、配置 TCCLI 的详细步骤请参考官网命令行工具的介绍,本文就不再重复了。

关于 API 的选用,本文继续以创建 CVM 为例,因为该 API 较为复杂,输入参考涉及到的数据类型也较为齐全。

输入参数

其实 TCCLI 的使用也是挺简单的,对于输入参数的语法是: --参数名称 参数值

String

String
## 用法示例,注意不要加引号将镜像ID引起来,参数和参数值直接有一个空格,别漏了哈
--ImageId img-8toqc6s3

Integer

Integer
## 用法示例,注意不要加引号,参数和参数值直接有一个空格,别漏了哈
--InstanceCount 1

Boolean

由于创建 CVM 的API 中输入参数没有 Boolean 类型,那我这里选择关闭实例的 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,那我这里选择查看实例列表的 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首次启动实例时运行命令Linux首次启动实例时运行命令的介绍。

## 请不要加引号
--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==

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏JMCui

Linux 学习记录 三(Vim 文书编辑器).

    所有的Unix Like系统都会内建vi文书编辑器,其他的文书编辑器不一定存在,vim是vi的升级版,具有程序编辑的能力,可以主动的以字体颜色辨别语法的...

3305
来自专栏代码GG之家

android MVVM开发模式(三)

android MVVM开发模式(三) 为了更好地理解@BindingAdapter,github地址里面提交了一个adapters目录,将系统提供的适配提交上...

1965
来自专栏java 成神之路

编码规范

3689
来自专栏pangguoming

Python相对、绝对导入浅析

这篇文章从另外一个不同的视角来分析一下Python的import机制,主要的目的是为了搞懂import中absolute、relative import遇到的几...

4147
来自专栏高爽的专栏

Java线程(四):线程中断、线程让步、线程睡眠、线程合并

最近在Review线程专栏,修改了诸多之前描述不够严谨的地方,凡是带有Review标记的文章都是修改过了。本篇文章是插进来的,因为原来没有写,现在...

2480
来自专栏fixzd

[代码结构设计]根据不同条件使用不同实现类的业务代码设计

这样大家可能不是太理解。举个例子,现在大街小巷上的商户都采用了聚合支付的支付方式,聚合支付也就是商户柜台前放了一个支持支付宝、微信、京东钱包、银联等等的二维码,...

1064
来自专栏Greenplum

Linux 常用命令(五)

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND

1040
来自专栏python3

习题23:更多更多的练习

1 在第一行执行了import lianxi_23 ,和你之前做过的一样,import导入一个模块,而我们写的lianxi_23.py就是一个模块,注意导入模块...

992
来自专栏岑玉海

hbase源码系列(八)从Snapshot恢复表

在看这一章之前,建议大家先去看一下snapshot的使用。这一章是上一章snapshot的续集,上一章了讲了怎么做snapshot的原理,这一章就怎么从snap...

2956
来自专栏xingoo, 一个梦想做发明家的程序员

Windows下elasticsearch插入数据报错!

  按照官方文档操作,但是windows下有些不同,它不认识单引号',因此如果这样操作,就会报错: C:\Users\neusoft>curl localhos...

19210

扫码关注云+社区