cloudstack api调用python
2016-08-24 17:08
309 查看
通过python调用cloudstack接口,cloudstack 接口通过 admin key来判断是否有访问有权访问
下面就是执行返回的结果,
[root@ucom pycloud]# ./cmd.py
{ "createserviceofferingresponse" : { "serviceoffering" : {"id":"385503cd-acce-4fe8-bbe5-885dd740ba4f","name":"json4c8g","displaytext":"asdasd","cpunumber":4,"cpuspeed":1800,"memory":8096,"created":"2016-08-24T17:06:01+0800","storagetype":"shared","offerha":false,"limitcpuuse":false,"isvolatile":false,"domainid":"740182cc-05d5-11e6-abef-005056830131","domain":"ROOT","issystem":false,"defaultuse":false,"iscustomized":false} } }
#!/usr/bin/env python import urllib2 import urllib import hashlib import hmac import base64 baseurl='http://10.64.8.10:8080/client/api?' #这个字典存放命令下的参数,这里是创建计算方案'command':'createServiceOffering', request={ 'name':'json4c8g', 'command':'createServiceOffering', 'storagetype':'shared', 'memory':'8096', 'cpunumber':'4', 'displaytext':'asdasd', 'cpuspeed':'1800', 'domainid':'1', } #下面的这样写字典的方式主要是和上面有个区分,这里是必须写的参数 request['response']='json' request['apikey']='LYohWAwKAKR_QKqM9Na02xyZ2pVSjvbrt2DRFaMrZuOs6zi9gyzxUkWtzIDSqjF-ZZ4UhD_8dIP6MG9opf3PTg' secretkey='iO8rxr1rid29oHAO3ZiLKOoz6F6E9IWm9V2G7yUNd0zHI6XIEY0JvaBRzHo79p_dQ5NAGDCzTlk7229p4DQNKg' request_str='&'.join(['='.join([k,urllib.quote_plus(request[k])]) for k in request.keys()]) sig_str='&'.join(['='.join([k.lower(),urllib.quote_plus(request[k].lower().replace('+','%20'))])for k in sorted(request.iterkeys())]) sig=urllib.quote_plus(base64.encodestring(hmac.new(secretkey,sig_str,hashlib.sha1).digest()).strip()) req=baseurl+request_str+'&signature='+sig res=urllib2.urlopen(req) #打印返回结果 print res.read()
下面就是执行返回的结果,
[root@ucom pycloud]# ./cmd.py
{ "createserviceofferingresponse" : { "serviceoffering" : {"id":"385503cd-acce-4fe8-bbe5-885dd740ba4f","name":"json4c8g","displaytext":"asdasd","cpunumber":4,"cpuspeed":1800,"memory":8096,"created":"2016-08-24T17:06:01+0800","storagetype":"shared","offerha":false,"limitcpuuse":false,"isvolatile":false,"domainid":"740182cc-05d5-11e6-abef-005056830131","domain":"ROOT","issystem":false,"defaultuse":false,"iscustomized":false} } }
相关文章推荐
- C++调用PythonAPI线程状态和全局解释器锁(转)
- python 调用restapi例子 json 解码方法
- C++ 调用 Python 的 API 解读
- python调用新浪微博API项目实践
- python调用新浪微博API项目实践
- C++调用PythonAPI线程状态和全局解释器锁
- python调用zabbix api接口实时展示数据 推荐
- 使用python调用新浪微博API的小经历
- 如何通过python调用新浪微博的API
- Python调用zabbix api 接口
- ArcGIS10.1python调用Admin API完成几何服务的启动
- python调用中国天气网的公用API获取天气信息
- python调用新浪微博API实践
- Python调用微博api实践
- 关于python调用zabbix api接口的自动化实例 [结合saltstack] 推荐
- python调用win32下的API__&&__Win32Com__[转]使用 python 写 COM
- python调用新浪微博API
- python 实现redis 操作API 接口,提供其他程序调用
- Python调用微博API
- C++调用PythonAPI线程状态和全局解释器锁