IBM Cloud命令行使用指南(Call API篇)

这里将介绍使用IBM Cloud的命令行调用IBM IaaS平台的API来对IBM Cloud平台的基础架构进行日常的管理,查询和维护。

 

首先,在大家能够使用命令行Call API之前,需要先设置好自己的命令行(CLI)环境。可以是自己笔记本上的Windows或Mac OS,也可以是专门在云上开的用于管理的Linux虚拟机环境,笔者就是在IBM云上开了这样一个2C4G的虚拟机,机器开在IBM达拉斯机房,从国内远程登录到达拉斯机房的速度和网络稳定性还算比较满意。读者有需要的也可以考虑在IBM香港,韩国或日本的机房开这样一个虚拟机,国内连接这几个地方的网络都还比较稳定(此处只谈SSH等远程登录方式),进入IBM环境之后,再连往IBM的其他数据中心的时候,我们可以走IBM内网连接,这样既能保证网络性能,又能保证网络质量。当然,我们的CLI的API Call其实也没用到内网,上面又扯多了。

 

有关如何设定CLI运行环境,请参考下面的URL:

https://blog.csdn.net/koolincn/article/details/104492312

 

Section 1 – 获取机器列表信息

 

我们先来看看直接命令行获取账号下物理机信息的命令以及输出:

slcli hardware list

这个命令是获取的所有物理机信息,如需要过滤,则需要通过Linux Shell的过滤功能来实现。 获取虚拟机的命令如下: slcli virtual list

 

我们再来看一下使用API获取账号下物理机信息的命令与输出:

命令:slcli call-api Account getHardware --filter 'hardware.datacenter.name IN fra05' --mask=id,hostname,primaryIpAddress,primaryBackendIpAddress,datacenter.name

我们可以看到,调用API可以有更多的选择去输出想要的字段,通过对结果添加mask ②来实现。通过添加filter ①(过滤)实现对整个输出结果集的筛选,我们这里的筛选条件是FRA05机房,与上面直接命令行的过滤一致,但是直接命令行的筛选会把含有fra05字串的所有记录都过滤出来,没有Call API的filter来得精准。

 

大家或许也注意到了,API调用的输出中,红框圈出③的关于数据中心名词一列,其格式似乎与其他列不一致,这是由于我们mask中用到的datacenter.name这个字段中的datacenter他自己本身包含有多个Local的字段,我们现在只是让其输出了其中的一个,所以在格式上,他还是保留了需要输出自己其他字段的格式。我们可以看下我们让他输出其他字段时的效果。

命令:slcli call-api Account getHardware --filter 'hardware.datacenter.name IN fra05' --mask=id,hostname,primaryIpAddress,primaryBackendIpAddress,datacenter[id,name,longName]

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值