istic-openstack/server/core/Compute.php
2016-02-28 19:50:33 +01:00

154 lines
3.7 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(array $options)
{
$server = $this->libClass->createServer();
}
/**
* Get server details.
* @return array
*/
public function getServer(array $options = [])
{
$server = $this->libClass->getServer($options);
$this->app->setOutput("MyServer", $server);
return;
}
/**
* Get flavor details.
* @return array
*/
public function getFlavor(array $options = [])
{
$flavor = $this->libClass->getFlavor($options);
$this->app->setOutput("MyFlavor", $flavor);
return;
}
/**
* Get image details.
* @return array
*/
public function getImage(array $options = [])
{
$image = $this->libClass->getImage($options);
$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
}
*/
}