騰訊云 TCCLI 實踐分享

日期:2018-12-24 09:19 / 人氣:142 / 來源:騰訊云服務器

騰訊云命令行工具(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==

作者:騰訊云代理商


广东时时彩几分钟开奖