ApacheCloudStackAPI的简约包装。

csapi的Python项目详细描述


apache cloudstack api包装器
==


这个项目是apache cloudstack(acs)api的一个极简包装器。它的
目的是提供一个独立于acs版本的acs库。
而不是为所有acs功能提供函数存根,此库与acs api文档一起使用,`request`函数接受每个调用所需的json值。


“api”类可以从任何代码实例化。它有一个'request`
方法,用于对acs进行api调用。此方法获取请求参数的python
字典,并返回带有结果的python字典。

2。“cli”类是“api”的一个子类,旨在成为一个方便的
类,用于使用由“docopt”解析的命令行参数填充“api”构造函数的独立脚本
。命令行参数可以
直接传入,也可以添加到json文件中,并且“--json”标志可以
用于引用json文件路径。包中包含了一个“cli-example.py”文件,提供了一个如何使用这个用例的工作示例。


这个库的核心是一个单独的“request”方法,描述如下。

``python
api.request(self,params)
````

```sphinx
生成请求并返回结果的python字典或无结果。

:param params:要添加到url的查询参数
:type params:dict

:返回:请求结果作为python字典
:rtype:dict或none
```

**使用父字典的示例` api`class:**

``python
来自csapi import api
api=api(api_key=“your_api_key”,
secret_key=“your_secred_key”,
endpoint=“http://127.0.0.1:8080/client/api”)
accounts=api.request({
“command”:“listaccounts”
})
`````

**使用“cli”子类的示例:**

``python
来自csapi import cli“command”:“listaccounts”
}
```



install
=



>安装此库的最简单方法是通过“pip”。

``bash
$pip install csapi
````

您可以直接拉下源代码并手动安装。

``bash
$git clone https://github.com/swill/csapi.git
$cd csapi
$python setup.py install
````


usage
=


上面有文档说明了核心功能,但值得花一分钟来更好地描述“cli”用例。

`` bash
$./cli-example.py--help


用法:
cli-example.py[--json=<;arg>;][--api-key=<;arg>;--secret-key=<;arg>;][options]
cli example.py(-h--help)

options:
-h--帮助显示此屏幕。
--json=<;arg gt;json配置文件的路径,其名称与选项相同(前面没有--)。
--api_key=<;arg>;cs api key.
--secret_key=<;arg>;cs secret key.
--endpoint=<;arg>;cs endpoint
[默认值:http://127.0.0.1:8080/client/api]。
--poll-interval=<;arg>;interval,以秒为单位,用于检查异步作业上的结果
[默认值:5]。
--logging=<;arg>;boolean用于打开或关闭日志记录[默认值:true]。
--log=<;arg>;要使用的日志文件[默认值:logs/cs_api.log]。
--clear_log=<;arg>;在每次创建api对象时删除日志
[默认值:true]。
--async=<;arg>;boolean指定api是否应等待异步调用
[默认值:false]。
```

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

推荐PyPI第三方库


热门话题
java Android HttpClient cookies   如何使用Java在远程系统上运行SSH命令?   java从字符串数组中的字符串末尾删除“,”   在One plus 3t手机上,当应用程序被终止或从最近的应用程序中刷出时,java Android FCM推送通知不起作用   java如何使垂直滚动条始终位于jtable的末尾   在java中解析迄今为止“未知”的字符串   javascript在Java中获取Nashorn JsonObject   java windows 10和ubuntu可以使用相同的JDK吗?   java在不同的文件中记录不同的日志。但所有日志都放在同一个文件中   具有特定jdk的java Gradle构建项目   xml Java web服务生成错误响应   javascript Jaggery文件更改不显示   java输出二进制搜索树数组   将BufferedReader解析为JSON对象时,java在位置处意外标记文件结尾