博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何用 Lua 查询青云的主机
阅读量:6228 次
发布时间:2019-06-21

本文共 1315 字,大约阅读时间需要 4 分钟。

hot3.png

首先安装内置青云SDK的 qlua 命令: go get github.com/chai2010/qingcloud-go/cmd/qlua

注:这个解释器不是官方的C语言版本Lua解释器,而且纯Go语言实现的 解释器订制而来。

创建一个JSON格式的配置文件,里面含有基本是口令信息 ~/.qingcloud/qcli.json:

{	"api_server": "https://api.qingcloud.com/iaas/",	"access_key_id": "公钥",	"secret_access_key": "私钥",	"zone": "pek3a"}

然后创建 hello.lua 脚本:

local qc = require("qingcloud.iaas")if #arg == 1 and arg[1] == '-v' then	print(qc.version)	print(qc.version_info.git_sha1_version)	print(qc.version_info.build_date)	do return endendif #arg == 1 and arg[1] == '-h' then	print(qc.copyright)	print("hello, 青云!")	do return endendlocal config = qc.LoadJSON("~/.qingcloud/qcli.json")local client = qc.Client:new(config)local reply, err = client:DescribeInstances {	--owner = "usr-xxxxxxxx",	zone = "pek3a",	limit = 100}if err ~= nil then	print("error:", err)	do return endendif reply.ret_code ~= 0 then	print(reply.ret_code)	print(reply.message)	do return endendfor i = 1, #reply.instance_set do	local item = reply.instance_set[i]	print(i,		item.instance_id,		item.instance_type,		item.memory_current..'MB',		item.status,		item.create_time,		item.instance_name	)endprint('total: ' .. reply.total_count)

可以输入一下命令执行:

$ qlua hello.lua -h$ qlua hello.lua -v$ qlua hello.lua

如果虚机数量巨大,则需要多次调用 client:DescribeInstances 获取。

参考:

转载于:https://my.oschina.net/chai2010/blog/1592163

你可能感兴趣的文章
MySQL 常见错误提示
查看>>
Dynamips ADSL实验之一pppoeoa(工大瑞普修正版)
查看>>
SQL Server 2012 Always on Availability Groups安装Step by step 1
查看>>
磁盘及文件操作命令
查看>>
shell 学习之case语句
查看>>
体验async/await异步编程
查看>>
Mac OS Mavericks “本地项目”钥匙串
查看>>
用winhex给自己的文件加把锁
查看>>
烂泥:阿里云RDS本地恢复数据
查看>>
php连接oracle测试和pdo连接mysql测试
查看>>
天兔(Lepus)数据库监控系统快速安装部署
查看>>
设置GRUB密码及重置密码
查看>>
使用组策略配置域中计算机系统更新
查看>>
Seam的中文化支持
查看>>
NetBeans 开发 Applet
查看>>
Git学习教程(五):Git标签
查看>>
域环境配置ISA2006企业版存储服务器及NLB之一配置存储服务器
查看>>
[IE 技巧] 显示/隐藏IE 的菜单/工具栏
查看>>
微软私有云分享(R2)2-服务模板的变量
查看>>
足球防守技巧
查看>>