istic-openstack/server/core/Compute.php
2016-02-28 20:21:05 +01:00

160 lines
3.9 KiB
PHP

<?php
//namespace istic-openstack\Server\core;
// TODO introduce error-handling based on errors specific to the compute module
use OpenStack\Common\Error;
class compute
{
/** @var App $app protected, contains the main app object */
protected $app;
/** @var OpenStack\Identity $libClass protected, contains the library Compute object */
protected $libClass;
public function __construct($app)
{
$this->app = $app;
$this->libClass = $app->getLibClass("Compute");
}
/**
* List servers.
* @return array
*/
public function listServers()
{
$servers = $this->libClass->listServers();
$this->app->setOutput("Servers", $servers);
return;
}
/**
* List flavors.
* @return array
*/
public function listFlavors()
{
$flavors = $this->libClass->listFlavors();
$this->app->setOutput("Flavors", $flavors);
return;
}
/**
* List images.
* @return array
*/
public function listImages()
{
$images = $this->libClass->listImages();
$this->app->setOutput("Images", $images);
return;
}
/**
* Create server.
* @return array
*/
public function createServer()
{
$server = $this->libClass->createServer();
}
/**
* Get server details.
* @return array
*/
public function getServer()
{
$serverId = $this->app->getPostParam("serverId");
$opt = array('id' => $serverId);
$server = $this->libClass->getServer($opt);
$this->app->setOutput("MyServer", $server);
return;
}
/**
* Get flavor details.
* @return array
*/
public function getFlavor()
{
$flavorId = $this->app->getPostParam("flavorId");
$opt = array('id' => $flavorId);
$flavor = $this->libClass->getFlavor($opt);
$this->app->setOutput("MyFlavor", $flavor);
return;
}
/**
* Get image details.
* @return array
*/
public function getImage(array $options = [])
{
$imageId = $this->app->getPostParam("imageId");
$opt = array('id' => $imageId);
$image = $this->libClass->getImage($opt);
$this->app->setOutput("MyImage", $image);
return;
}
/* working on tests
public function update()
{
$image = $this->app->getServer(array $options = []);
}
public function delete()
{
//TODO
}
public function changePassword($newPassword)
{
//TODO
}
public function reboot($type = Enum::REBOOT_SOFT)
{
//TODO
}
public function rebuild(array $options)
{
//TODO
}
public function resize($flavorId)
{
//TODO
}
public function confirmResize()
{
//TODO
}
public function revertResize()
{
//TODO
}
public function createImage(array $options)
{
//TODO
}
public function listAddresses(array $options = [])
{
//TODO
}
public function getMetadata()
{
//TODO
}
public function resetMetadata(array $metadata)
{
//TODO
}
public function mergeMetadata(array $metadata)
{
//TODO
}
public function getMetadataItem($key)
{
//TODO
}
public function deleteMetadataItem($key)
{
//TODO
}
*/
}