solusvm客户端api的轻量级包装器。

beam的Python项目详细描述


https://img.shields.io/pypi/status/beam.svghttps://img.shields.io/pypi/v/beam.svghttps://img.shields.io/pypi/pyversions/beam.svghttps://travis-ci.org/gebn/beam.svg?branch=masterhttps://coveralls.io/repos/github/gebn/beam/badge.svg?branch=master

solusvm客户端api的轻量级包装器。

功能

  • 查询主机的内存、带宽、IP地址和存储使用情况。
  • 启动、重新启动和关闭计算机。
  • 可配置以与任何solusvm提供程序一起使用。
  • 命令行客户机和直观的python模块,用于您自己的脚本。

设置

  1. 运行pip install beam下载模块。
  2. 按如下所示创建.beam.ini库存文件。

库存

库存文件保存有关托管提供商和主机的信息, 因此beam知道如何联系相关的api端点以及 使用。下面是一个示例文件:

[special:vendors]
ramnode = https://vpscp.ramnode.com
vendor2 = https://vendor2-panel.com
default = ramnode

[nyc-1]
key = nyc-1_host_key
hash = nyc-1_host_hash

[ams-1]
key = ams-1_host_key
hash = ams-1_host_hash
vendor = vendor2

这个文件定义了两个主机,nyc-1,由ramnode托管,和ams-1, 由Fliphost托管。最上面是一个特殊供应商的供应商名称 节(假定所有其他节表示主机)。格式映射 solusvm api的基本终结点的供应商名称。那default 指令指示每个主机的隐式供应商,并且必须指定 定义了多个供应商。

每个主机都有自己的部分。正确的keyhash值可以是 从供应商使用的solusvm控制面板获取。如果主机不是 由默认供应商提供,vendor指令指定正确的 一个。

用法

beam提供了一个python库来对主机进行编程访问,并且 一个简单的cli,它用几行代码包装它。

cli

cli客户端可用于查找有关单个主机的信息。

$ beam --help
usage: beam [-h] [-V]
            (-A {boot,reboot,shutdown} | -a ATTRIBUTES [ATTRIBUTES ...])
            [host]

A lightweight wrapper for the SolusVM client API.

positional arguments:
  host                  the identifier of the host whose information to
                        retrieve

optional arguments:
  -h, --help            show this help message and exit
  -V, --version         show program's version number and exit
  -A {boot,reboot,shutdown}, --action {boot,reboot,shutdown}
                        an action to execute against the host
  -a ATTRIBUTES [ATTRIBUTES ...], --attributes ATTRIBUTES [ATTRIBUTES ...]
                        one or more attributes of the host to retrieve
$ beam -a bandwidth.free_percentage
0.4983459835
$ beam nyc-1 -a primary_ip
2604:180:2:32b::498b
$ beam ams-1 -a is_online memory.used_bytes
True
34578234983
$ beam nyc-1 -A shutdown
OK

importbeam# shutdown a specific hosthost=beam.host('nyc-1')# name, key or hashifhost.is_online:host.shutdown()# boot all offline hosts[host.boot()forhostinbeam.hosts()ifnothost.is_online]# get a list of hosts using above 90% of their memoryhosts=[hostforhostinbeam.hosts()ifhost.memory.used_percentage>.9]# get a list of hosts with less than 10 GiB of storage lefthosts=[hostforhostinbeam.hosts()ifhost.storage.free_bytes<1024**3*10]

路线图

  • 生成文档。
  • 将单元测试覆盖率提高到100%,并实现一些集成测试。

词源学

虽然“索罗斯”的意思是孤独,但这有点令人沮丧。索罗斯也会变戏法 太阳的图像给我。太阳beams向下-其名称在 皮皮-原来是这样。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java根据选择随机设置图标   java如何将Android Studio与本地服务器数据库SQL server 2008连接?   java在点击鼠标后绘制一个椭圆形   java选项窗格相对于其父项的位置   java如何在Android中的switch case中使用String[]输入?   安卓无法从“15.0.1”确定java版本   如果满足特定条件,java是否重置计时器?   java是一个实体类,可以在OOAD中返回其他实体实例吗?   bash将对jar文件| cut | awk和java程序的调用集成到一个统一进程中   Spring安全更新身份验证成功时的最后登录日期   数据库身份验证中基于Java控制台的客户端服务器登录应用程序错误   java Selenium junit测试失败,驱动程序过早获取URL   java LibGdx多点触摸事件混淆   带扫描仪的java打印空间   来自旧版应用程序的java springcloudsleuth头   java如何实现模板设计模式?   java如何比较具有多个值的键的两个映射?   读取时R中的java MemoryError。xlsx