/json/ 返回json格式对象
不需要验证的接口
userLogin
说明: 前台用户登录,由于有访问限制,请务必提交客户端ip 参数:
agent_ip:客户端ip
user_name:用户名
password:密码
结果:
成功:
status:success
value:
id:用户id
apikey:操作密钥
失败:
status:failed
info:Auth_failed
regUser
说明: 前台用户注册
参数:
realname:真实姓名
email:email地址
pwd:密码
company_name:公司名
jobs:职位
结果:
成功:
status:success
value:
id:用户id
apikey:操作密钥
失败:
status:failed
info:Email_Exists
authAdmin
说明: 后台管理员登录
参数:
admin_name:管理员名
password:管理员密码
结果:
成功:
status:success
value:
admin_id:管理员id
apikey:操作密钥
priv_list:权限列表
失败:
status:failed
info:Auth_failed
resetPass
说明:重置密码,管理员可调
参数:
email: email
oldpwd: 原密码
newpwd: 新密码
结果:
成功:
status:success
value:True
失败:
status:failed
info:Error
doVNCConnect
说明:请求一个webvnc连接
参数:
vm_id: 虚拟机id
结果:
成功:
status:success
value:端口
失败:
status:failed
info:vmid_invalid
info:Resource_Halted
需要验证的接口(管理员和用户都可调用)
凡是此接口参数都必须带上apikey,如果apikey验证失败,会返回status:failed,info:Error_ApiKey
UserInfo
说明:获取用户信息
参数:
apikey:
client_ip:
user_id:用户id
结果:
成功:
status:success
value:
id:id
email:email地址
realname:真实姓名
jobs:工作
company_name:工作单位
lastlogintime:上次登录时间
registe_time:注册时间
resourceList
说明:获取指定资源池或者所有资源池列表
参数:
apikey:
client_ip:
location_id:资源池id(可选)
location_name:资源池名(可选)
结果:
成功:
status:success
value:
列表
location_id:资源池id
location_name:资源池名
type:线路类型(仅管理员可见)
uname:资源池用户名(仅管理员可见)
passwd:资源池密码(仅管理员可见)
ip:资源池接口(仅管理员可见) 失败:
status:failed
info:Error_Id
createVm
说明:创建虚拟机
参数:
apikey:
vm_name:虚拟机名
config_id:方案id
user_id:虚拟机所属用户id
client_ip:客户端ip(操作记录用)
image_name:模版名
rid:资源池id
返回:
成功:
status:success
value:1
失败:
status:failed
info:Resouce_Halted
imageList
说明:获取指定资源池上的模版镜像列表或者指定模版镜像
参数:
apikey:
rid:资源池id
filename:模版镜像名(可选,如果包括则返回单个值)
结果:
成功:
status:success
value:
[如果参数包括filename则是列表,反之是字典]
name:模版名
desc:模版描述
version:(系统自动生成的一个版本号)
enable:可用状态
template:基于何种操作系统
username:系统用户名
password:系统密码
port:系统远程连接端口
失败:
status:failed
info:rid_invalid (资源池不存在)
info:Resource_halted (资源池暂不可用)
getVmInfo
说明:获取虚拟机信息
参数:
apikey:
client_ip:
vm_id:虚拟机id
is_template:是否为模版虚拟机
结果:
成功:
status:succes
value:
state:虚拟机状态[RUNNING(运行中),HALTED(关机),BUILDING(创建中), EXCEPT(异常,造成此状态的原因可能是网络中断或者节点服务中断)] lblvmmemory:虚拟机内存(单位M)
lblvmcpu:虚拟机cpu个数
address:虚拟机ip
disk:虚拟机硬盘大小(单位G)
vnc_password:虚拟机vnc密码
lock:虚拟机锁定状态
computer_ip:所在计算节点的ip
lblvmname:虚拟机名
lblvmuuid:虚拟机id
control_ip:虚拟机所在主控ip
uuid:虚拟机uuid标识
失败:
status:failed
info:Error_User_Vm(不存在的虚拟机)
vmAction
说明:虚拟机操作
参数:
apikey:
vm_id:虚拟机/模版虚拟机id
action:虚拟机操作[startup开机,shutdown关机,delete删除用户虚拟机,lock锁定, unlock解除锁定,deltemplate删除模版虚拟机]
is_template:是否为模版虚拟机
client_ip:客户端ip(操作记录用)
结果:
成功:
status:success
value:任务id
失败:
status:failed
value:vmid_invalid(虚拟机id不存在)
value:Resource_Halted(资源池暂不中用)
addDisk
说明:为虚拟机添加硬盘
参数:
apikey:
client_ip:
vm_id:虚拟机id
disk:添加大小(不带单位,单位G)
结果:
成功:
status:success
value:1
结果:
status:failed
info:Resource_Halted
getVmPerf
说明:获取虚拟机的性能数据
参数:
apikey:
vm_id:虚拟机id
period:周期(分钟)
结果:
成功:
status:success
value:cpu,memory,vif,disk的rrd数据失败:
status:failed
info:Resource_Halted
userVmList
说明:获取用户所有的虚拟机
参数:
apikey:
结果:
成功:
status:success
value:
vm_id:虚拟机id
vm_name:虚拟机名
vm_uuid:虚拟机uuid标识
失败:
status:failed
info:Error
updateVmConfig
说明:升级虚拟机配置
参数:
apikey:
vm_id:虚拟机id
config_id:配置
client_ip:客户端ip(记录操作日志用)
结果:
成功:
status:success
value:1
失败:
status:failed
info:vmid_invalid (虚拟机不存在)
info:configid_invalid (配置不存在)
info:Resource_Halted (资源池服务暂不可用)
getVmNetwork
说明:获取虚拟机的网络详细信息
参数:
apikey:
client_ip:
vm_id:虚拟机id
结果:
成功:
status:success
value:
[网卡列表]
device:挂载设备
MAC:mac地址
limit:网速限制
network:
ip:ip地址
attached:是否挂载
vif_uuid:网卡uuid标识
失败:
status:failed
info:Resource_Halted
getVmStorage
说明:获取虚拟机的硬盘详细信息
参数:
apikey:
vm_id:虚拟机id
client_ip:
结果:
成功:
status:success
value:
[硬盘列表]
name_label:硬盘名
description:硬盘描述
sr_name:storage名
device:挂载设备
disksize:硬盘大小
mode:读写属性
attached:挂载状态
path:挂载路径
bootable:是否可启动失败:
status:failed
info:Resource_Halted
listAllBack
说明:获取虚拟机的快照列表
参数:
apikey:
vm_id:虚拟机id
client_ip:
结果:
成功:
status:success
value:
[快照列表]
uuid:快照uuid标识
name_label:快照名
time:创建时间
size:快照大小
失败:
status:failed
info:resource_Halted
delBack
说明:删除快照
参数:
apikey:
client_ip:
vm_id:虚拟机名
snapshotname:快照名
snapshotuuid:快照uuid标识结果:
成功:
status:success
value:1
失败:
status:failed
info:Resource_Halted
createBack
说明:创建快照
参数:
apikey:
client_ip:
vm_id:虚拟机名
snapshotname:快照名
结果:
成功:
status:success
value:任务id
失败:
status:failed
info:Resource_Halted
recoveryBack
说明:恢复快照
参数:
apikey:
client_ip:
vm_id:虚拟机名
snapshotname:快照名
snapshotuuid:快照uuid标识结果:
成功:
status:success
value:任务id
失败:
status:failed
info:Resource_Halted
mountISO
说明:挂载iso
参数:
apikey:
client_ip:
vm_id:虚拟机id
is_template:是否为模版虚拟机
isoname:iso名
结果:
成功:
status:success
value:1
失败:
status:failed
info:Resource_Halted
unmountISO
说明:弹出iso
参数:
apikey:
client_ip:
vm_id:虚拟机id
is_template:是否为模版虚拟机结果:
成功:
status:success
value:1
失败:
status:failed
info:Resource_Halted
getCdrom
说明:获取iso的状态
参数:
apikey:
client_ip:
vm_id:虚拟机id
is_template:是否为模版虚拟机结果:
成功:
status:success
value:
[cdrom列表]
device:挂载设备
uuid:uuid标识
iso:当前挂载iso名
attached:是否已挂载
bootable:是否可启动失败:
status:failed
info:Resource_Halted
说明:获取所有可挂载iso
参数:
apikey:
client_ip:
vm_id:虚拟机id
is_template:是否为模版虚拟机
结果:
成功:
status:success
value:
[iso列表]
filename:文件名
name:iso别名
desc:描述
version:版本号(自动生成)
enable:可用状态
失败:
status:failed
info:Resource_Halted
taskInfo
说明:获取任务结果
参数:
apikey:
client_ip:
taskid:任务id
结果:
成功:
status:success
value:
task_id:任务id
user_id:任务所属用户id
fun_name:操作方法
params:操作参数
status:任务状态
start_time:起始时间
end_time:完成结果
task_result:结果[1正在执行,2失败,3成功]
task_info:任务描述
is_admin:是否管理员操作
task_uuid:任务uuid
localtion_id:所属资源池
vm_id:所属虚拟机
status:failed
info:Error_Request (非所属用户请求)
info:Error_TaskId (不存在的任务id)
configList
说明:获取计算机配置清单
参数:
apikey:
client_ip:
config_id:可选
结果:
成功:
status:success
value:
[如果未提供config_id则返回列表]
group_name:分组名
com_ids:计算节点
location_name:资源池名
location_id:资源池id
h_id:配置id
h_cpu:cpu个数
h_weight:cpu权重
h_cap:cpu配额
h_hard:硬盘大小
h_memory:内存大小
h_name:配置名
h_networknum:网卡数量
h_ipnum:ip数量
h_bandwith:带宽大小
h_desc:配置描述
失败:
status:failed
info:
info:
vmLog
说明:获取虚拟机操作日志
参数:
apikey:
client_ip:
vm_id:虚拟机id
结果:
成功
status:success
value:
[列表]
id:id
oper_time:操作时间
client_ip:操作ip
description:操作内容
user_id:用户id
vm_id:虚拟机id
getUserResource
说明:获取用户的剩余可用资源
参数:
apikey:
client_ip:
vm_id: 虚拟机id
结果:
成功:
status:success
value:
res_id:资源id
cpu_total:总共cpu
cpu_free:可用cpu
memory_total:总共内存(单位M)
memory_free:可用内存(单位M)
disk_total:总共硬盘(单位G)
disk_free:可用硬盘(单位G)
ip_total:总共ip
ip_free:可用ip
network_total:总共网卡
network_free:可用网卡
失败:
status:failed
info:Error
需要验证的接口(仅管理员可调用)
userVmList
说明:获取资源池里所有的用户虚拟机(管理员可调)
参数:
apikey:
id:资源池id
client_ip:
成功:
vm_id:虚拟机id
vm_name:虚拟机名
vm_uuid:虚拟机uuid标识
location_id:资源池id
user_id:用户id
失败:
status:failed
info:Error
AdminInfo
说明:获取管理员信息
参数:
apikey:
client_ip:
id:管理员id
结果:
成功:
status:success
value:
id:管理员id
name:管理员用户名
password:管理员密码
description:描述
type_id:类型id
grounp_name:分类名
function_list:允许调用的接口
notes:分组描述
失败:
status:failed
info:AdminId_Null (未提供管理员id)
info:AdminId_Invaild (管理员id不存在)
addResource
说明:添加资源池
参数:
apikey:
client_ip:
name:资源池名
type:资源池线路类型
ip:资源池接口ip(不需要加http://,但是需要有端口,ip:port) uname:资源池用户名
passwd:资源池密码
成功:
status:success
value:True
失败:
status:failed
info:Error
updateResource
说明:更新资源池
参数:
apikey:
client_ip:
id:资源池id
ip:资源池ip(格式ip:port)
name:资源池名
type:资源池线路类似
uname:资源池用户名
passwd资源池密码
结果:
成功:
status:success
value:True
delResource
说明:删除资源池 (删除后资源池里的所有虚拟机将无法操作,请先确认资源池里无虚拟机再删除)
参数:
apikey:
client_ip:
id:资源池id
结果:
成功:
status:success
value:True
失败:
status:failed
info:Error_ID
computeGroup
说明:获取指定分组或者所有分组信息
参数:
分组id和资源池id只用提供一个,如果提供分组id则返回单个,如果提供资源池id 则返回所的分组
client_ip:
gid:分组id
rid:资源池id
结果:
成功:
status:success
value:
[如果获取所有的则是列表]
group_id:分组id
location_id:资源池id
group_name:分组名
com_ids:计算节点id(逗号分隔所有的id)
addGroup
说明:添加分组
参数:
apikey:
client_ip:
rid:资源池id
group_name:分组名称
cid:计算节点ip列表
结果:
成功:
status:success
value:True
失败:
status:failed
info:Cid_Already_In_Use (计算节点已经被使用)
delGroup
说明:删除分组
参数:
apikey:
client_ip:
gid:分组id
结果:
成功:
status:success
value:True
updateGroup
说明:更新分组信息
参数:
client_ip:
rid:资源池id
gid:分组id
group_name:资源池名
cid: 计算节点的id列表
结果:
成功:
status:success
value:True
addIp
说明:向资源池添加ip(起始ip和结束ip必须在同一个ip段) 参数:
apikey:
client_ip:
rid:资源池id
start_ip:起始ip
end_ip:结束ip
netmask:掩码
gateway:网关
dns:dns
结果:
成功:
status:success
value:True
失败:
status:failed
info:Resource_Halted
updateIp
说明:修改资源池里的ip
参数:
apikey:
client_ip:
rid:资源池id
ipid:ip的id
ip_address:ip地址
结果:
成功:
status:success
value:True
失败:
status:failed
info:rid_invalid (资源池id不存在)
info:Resource_Halted (资源池服务暂不可用)
delIp
说明:从资源池删除ip
参数:
apikey:
client_ip:
rid:资源池id
ipid:ip的id
结果:
成功:
status:success
value:True
失败:
status:failed
info:rid_invalid (资源池id不存在)
info:Resource_Halted (资源池服务暂不可用)
listIp
说明:列出资源池里的所有IP
参数:
apikey:
client_ip:
rid:资源池id
结果:
成功:
status:success
value:
[ip列表]
id:ip id
mac:ip对应的mac地址
ip:ip
netmask:掩码
gateway:网关
dns:dns
state:是否可用
vm_uuid:占用的虚拟机
失败:
status:failed
info:rid_invalid (资源池id不存在)
info:Resource_Halted (资源池服务暂不可用)
说明:
参数:
apikey:
client_ip:
rid:资源池id
ipid: ip id
结果:
成功:
status:success
value:
[ip列表]
id:ip id
mac:ip对应的mac地址
ip:ip
netmask:掩码
gateway:网关
dns:dns
state:是否可用
vm_uuid:占用的虚拟机
失败:
status:failed
info:rid_invalid (资源池id不存在)
info:Resource_Halted (资源池服务暂不可用)
getHostPerf:
说明:获取物理机的性能
参数:
apikey:
client_ip:
rid:资源池id
cid:计算节点id
period:周期(单位:分钟)
结果:
成功:
status:success
value:cpu,memory,vif,disk的rrd数据失败:
status:failed
info:Resource_Halted
setVhdInfo
说明:根据文件名(filename)设置模版虚拟机的详细信息参数:
client_ip:
rid:资源池id
filename:文件名
name:模版名
desc:模版描述
enable:可用状态
template:基于的何种系统
username:系统用户名
password:系统密码
port:系统远程连接端口
结果:
成功:
status:success
value:True
失败:
status:failed
info:rid_invalid (资源池id不存在)
info:Resource_Halted (资源池服务暂不可用)
templateVmList
说明:获取模版虚拟机列表
参数:
apikey:
client_ip:
rid:资源池id
结果:
成功:
status:success
value:
[虚拟机列表]
location_id:资源池id
location_name:资源池名
type:资源池线路类型
ip:资源池连接ip
uname:资源池用户名
passwd:资源池密码
vm_id:虚拟机id
vm_uuid:虚拟机uuid标识
setIsoInfo
说明: 根据文件名(filename)设置iso的详细信息
参数:
apikey: