labmanagersoapapi的命令行接口

lmsh的Python项目详细描述


概述

lab manager shell是lab manager的soap api的命令行接口。 它目前只支持Lab Manager的外部API。

命令

每个命令都有文档记录,可以通过帮助命令使用,其中 接受单个参数、命令名或不接受参数。 如果不给出任何参数,那么所有现有命令都将是 显示。例如:

(lmsh) help

Documented commands (type help <topic>):
========================================
checkout  delete  deploy  list  machines  show  undeploy

表格填写的数量也很有限,主要是 自动完成命令和子命令。自动完成参数 例如,配置id需要查询lab manager服务器, 这将需要相当长的时间来自动完成。

是现有命令在运行中的一个示例。

列出库和工作区中的所有计算机:

(lmsh) list
  id   |              name              | deployed |    type    |      owner
=======+================================+==========+============+================
191    | TestServerOne                  | False    | workspace  | testowner1
289    | TestServerTwo                  | True     | workspace  | testowner2
1393   | TestServerThree                | False    | library    | testowner2

显示配置ID 289中的所有计算机(用于查看IP 机器地址:

(lmsh) machines 289
 id  |  name  |   internal    |        MAC        | memory | config
=====+========+===============+===================+========+=======
9601 | web1   | 172.10.10.100 | 00:50:56:0b:0e:01 | 1024   | 289
9602 | web2   | 172.10.10.101 | 00:50:56:0b:0e:02 | 1024   | 289
9603 | web3   | 172.10.10.102 | 00:50:56:0b:0e:03 | 1024   | 289
9604 | db1    | 172.10.10.103 | 00:50:56:0b:0e:04 | 4096   | 289

部署/取消部署配置:

(lmsh) undeploy 289
Undeploying config...
(lmsh) deploy unfenced 289
Deploying config...
(lmsh)

可编写脚本的单个命令

也可以在不输入交互式shell的情况下运行单个命令:

[user@machine ~]$ lmsh machines 289
 id  |  name  |   internal    |        MAC        | memory | config
=====+========+===============+===================+========+=======
9601 | web1   | 172.10.10.100 | 00:50:56:0b:0e:01 | 1024   | 289
9602 | web2   | 172.10.10.101 | 00:50:56:0b:0e:02 | 1024   | 289
9603 | web3   | 172.10.10.102 | 00:50:56:0b:0e:03 | 1024   | 289
9604 | db1    | 172.10.10.103 | 00:50:56:0b:0e:04 | 4096   | 289

这允许你做一些事情,比如在程序上取消部署所有 使用命令行/BASH的现有配置:

for id in $(lmsh list workspace | grep '^[0-9]' | cut -d' ' -f 1)
do
    lmsh undeploy $id
done

尽管对于更复杂的用途,您可能只想使用 labmanager.api模块直接在python中。

配置

您可以通过 命令行或rc文件。例如,以下各项:

$ lmsh --hostname=mylabmanager.com --username=myusername \
    --organization=myorg --workspace=myworkspace

相当于:

$ cat > ~/.lmshrc
[default]
hostname=mylabmanager.com
username=myusername
organization=myorg
workspace=myworkspace

$ lmsh

注意,上面的配置位于default部分。你可以 在~/.lmshrc中定义多个节,然后指定 使用--section选项加载哪些配置选项。

您还可以在配置文件中指定password选项。如果 配置文件没有password选项,那么您将 运行lmsh时提示输入密码:

$ lmsh
password:
(lmsh)

命令行选项与rc选项合并,因此命令行选项将 重写配置值。如果你想把your~/.lmshrc文件中的默认值。例如,运行此命令 (假设您在~/.lmshrc中有上述配置文件):

$ lmsh --workspace=alternate_workspace

首先加载~/.lmshrc,然后重写工作区值 从myworkspacealternate_workspace。最终的结果是 hostnameusernameorganization~/.lmshrc文件和workspace值从该值加载 在命令行中指定。

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

推荐PyPI第三方库


热门话题
Java RMI客户端访问被拒绝   java让JavaFX事件监听器与我的方法对话   java与xml spring配置相关   java当我在字符串中插入这个XML Soap请求时,为什么Eclipse会给我一个错误?   音频音频合成   java创建了一个Tic-Tac-Toe应用程序,我有一个bug,它每次在同一个正方形上声明一个平局   java为返回的字符串值设置参数   Java中的ClassFormatError   java在启动后更改Spring云配置服务器uri   用Java中的自定义类替换默认字符串类   java junit测试套件:ClassNotFoundException   java自定义对象集包含相同的对象   通过关系查找的java Spring数据CRUDepository   java将数据存储到aerospike中   java使用itextpdf将添加内容的pdf转换为安卓中的位图   java正在遍历队列的concurrentHashMap,以查看是否所有队列都是空的,而其他线程可能会添加到队列中   java Hibernate:未找到本机查询异常   java Mockito准确地验证所有参数   java我可以在它自己的类中声明一个对象吗?