ec4sap python客户端
ec4sap-client的Python项目详细描述
ec4sap python客户端
摘要
这个python客户端提供了一个api,可以方便地访问swisscom ec4sap环境。它是用Python2.7编写的(稍后将提供到Python3的端口)。api基于abiquo提供的python客户端。
Git存储库:
- https://gitlab.swisscloud.io/itclouds/ec4sap-python-client
- https://github.com/abiquo/api-python-client
开始
- 使用“pip install ec4sap client”安装ec4sap客户端-对于需要全局安装的cli(sudo)
- 调整配置(见下文)
- 写些代码,玩得开心
示例1:让当前用户可以访问所有vm,并将其导出为.csv(不需要管理员权限)
fromec4sapimportconfigfromec4sap.abiquo_apiimport*fromec4sap.abiquo_envimport*env=ABIQUO_ENV("int")vm=ABQ_VM(env).scanAllTenant(keys=config.CSV_FORMAT_VM)printvm.csvHeader()foriinrange(vm.count()):printvm.csvRow(i)
设置环境
那个 ec4sap python客户机使用oauth1在abiquo中验证您的客户机。与门户用来验证用户的oauth2相比,这些凭据存储在abiquo的用户上下文中,不会过期。要使用客户机,必须在ec4sap用户上下文中注册应用程序。这将通过控制台进行(见下文)。
首先,您需要一个活动的OAuth2令牌(身份验证承载器)-这是工作中最困难的部分:
- 登录到所需的ec4sap环境(dev/int/prd)
- 打开浏览器的开发人员控制台(Chrome上的F12)
- 搜索启用mos的vm
- 在虚拟机的上下文菜单中选择“虚拟机服务”
- 在CMS ORCH API请求(E.Q.“../Folders?的请求头中搜索参数“authorization:bearer…”。“…”
使用此令牌,您现在可以在abiquo中注册应用程序并生成一组oauth1令牌:
- 启动ec4sap控制台(console.py)
- 设置所需的环境(最可能是prd和/或int)
>>> set env int
- 注册您的应用程序(名称E.Q.MyApp可免费选择)
>>> reg MyApp 43ee89a5-049d-4f39-b66a-6b72df75a89d
OK: Registration of application MyApp successful
Application Name : MyApp
Application Key : 123-456-789
Application Secret : xxxxxxxxxxxxxxxxx
Acess Token : abc-def-ghi
Access Secret : xxxxxxxxxxxxxxxxx
- 令牌现在存储在本地,您的ec4sap客户机已经准备好了。如果您需要一个以上的环境,可以从nr.1重新开始