phper API调用之ZStack
公司刚好给一个编写ZStack虚拟机启动的任务, 材料就只有一个开发文档 ,附上官网地址:https://www.zstack.io/.
一开始也是没听过 ,不过之前有做过docker项目的API开发,所以也没有那么担心,不过查询了百度上众多文章 ,对宇如何使用的步骤很少,都是一些介绍理论的知识,由于精力不够,所以也没有深刻研读,只是暂时想学会使用的方法,
我所用的框架是基于Symfony核心开发的eudsoho的框架,作为一个tper,实在初次体验,感觉坑很多,不在这里深谈。
在ZStack里我们要有几个概念
1.Authorization: OAuth 会话UU(Session UUID)
可以设置会话超时时间 ,一般不设置默认10分钟过期,最高30天
2.多看手册,讲的还是很清楚的。废话不多写
有个Webhook功能 很重要 ,但是文档上就是一笔带过,给我造成了不小得麻烦。
这里的
/**
* 创建虚拟机
*
* @param array()
* @return \think\Response
*/
public function createVm($config){
$curl = new Curl();
$curl->setTimeout(0);
$curl->setHeader('Content-Type','application/json');
$curl->setHeader('Authorization','OAuth'.$this->thesessionid);
// $curl->setHeader('X-Job-UUID','6b4899e137624f73adbcfe29195d3d98');
$curl->setHeader('X-Web-Hook',"http://192.168.1.221:8077/course/lesson/callstack");
$data = $curl->post($this->controllerIp."zstack/