那么有列出许多的SDK页存在的OpenStack API客户端SDK。
编号:
https://wiki.openstack.org/wiki/SDKs#PHP
上市的有两个PHP的SDK为OpenStack的现在:
编号:
https://github.com/rackspace/php-opencloud https://github.com/zendframework/ZendService_OpenStack
我不会用符咒作为一个界面。坦率地说,我不确定OpenStack是你正在做什么的正确工具。但是,如果你想玩devstack并得到一个想法,我认为rackspace的php客户端SDK可能是一个好的开始。 Devstack也不是一种获得这种体验的不错方式。用php-opencloud纺一台服务器的
例如:
$server = $compute->server();
try {
$response = $server->create(array(
'name' => 'My lovely server',
'image' => $ubuntu,
'flavor' => $twoGbFlavor
));
} catch (\Guzzle\Http\Exception\BadResponseException $e) {
// No! Something failed. Let's find out:
$responseBody = (string) $e->getResponse()->getBody();
$statusCode = $e->getResponse()->getStatusCode();
$headers = $e->getResponse()->getHeaderLines();
echo sprintf("Status: %s\nBody: %s\nHeaders: %s", $statusCode, $responseBody, implode(', ', $headers));
}
这将是一个轮询功能:
use OpenCloud\Compute\Constants\ServerState;
$callback = function($server) {
if (!empty($server->error)) {
var_dump($server->error);
exit;
} else {
echo sprintf(
"Waiting on %s/%-12s %4s%%",
$server->name(),
$server->status(),
isset($server->progress) ? $server->progress : 0
);
}
};
$server->waitFor(ServerState::ACTIVE, 600, $callback);