8个版本 (5个重大更新)
使用旧的Rust 2015
0.9.0 | 2018年3月1日 |
---|---|
0.8.2 | 2018年3月1日 |
0.8.1 | 2018年2月25日 |
0.5.0 | 2018年2月19日 |
0.2.0 | 2018年2月15日 |
#10 in #xml-rpc
18KB
375 行
xapirpc
针对xapi rpc调用的极简库和CLI客户端。
该包提供了一个小的CLI实用工具来对xapi进行RPC调用,并导出一个库,该库提供了一些常见的辅助函数来创建xapi客户端(请参阅docs.rs上的文档)。CLI可执行文件提供了一个使用示例。
CLI工具的输出是json格式,因此可以将其管道传递到jq
或其他json工具进行进一步过滤。例如,您可以使用以下方法获取所有虚拟机的uuid
和name_label
。
xapirpc VM get_all_records | jq '.[]|select(.is_a_template==false)|{uuid, name_label}'
CLI帮助应该明确所有支持的定制选项。
$ xapirpc --help
Minimal xapi xmlrpc CLI client
USAGE:
xapirpc [FLAGS] [OPTIONS] <class> <method> [args]...
FLAGS:
--compact Output the result as non-prettified json
--help Prints help information
-V, --version Prints version information
OPTIONS:
-h, --host <host> XenServer host. Can be passed with the XAPI_HOST env variable.
-p, --pass <pass> XenServer host user password. Can be passed with the XAPI_PASSWORD env variable.
-u, --user <user> XenServer host user name. Can be passed with the XAPI_USER env variable.
ARGS:
<class> Case sensitive value for the xapi class
<method> Case sensitive value for the xapi method
<args>... Ordered list of arguments for the call (if any). Do not pass a session.
host
、user
和pass
的值可以通过创建并添加到json对象中来手动配置。
$HOME/.config/xapirpc/config.prefs.json
例如:
$ cat $HOME/.config/xapirpc/config.prefs.json
{"user":"my_user_name","pass":"my_pass"}
要尝试它,请克隆此存储库,并使用cargo build --release
或使用cargo install xapirpc --force
安装它。
致谢
感谢
- @gaborigloi将库移植到
quicli
- @Pistahh修复了
jq
示例和代码中的注释
依赖项
~23–33MB
~588K SLoC