那麼有列出許多的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);