168 lines
3.6 KiB
PHP
168 lines
3.6 KiB
PHP
<?php
|
|
/**
|
|
* @category Zend
|
|
* @package Zend_Cloud
|
|
* @subpackage Infrastructure
|
|
* @copyright Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com)
|
|
* @license http://framework.zend.com/license/new-bsd New BSD License
|
|
*/
|
|
|
|
/**
|
|
* Adapter interface for infrastructure service
|
|
*
|
|
* @package Zend_Cloud
|
|
* @subpackage Infrastructure
|
|
* @copyright Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com)
|
|
* @license http://framework.zend.com/license/new-bsd New BSD License
|
|
*/
|
|
interface Zend_Cloud_Infrastructure_Adapter
|
|
{
|
|
const HTTP_ADAPTER = 'http_adapter';
|
|
|
|
/**
|
|
* The max. amount of time, in seconds, to wait for a status change
|
|
*/
|
|
const TIMEOUT_STATUS_CHANGE = 30;
|
|
|
|
/**
|
|
* The time step, in seconds, for the status change
|
|
*/
|
|
const TIME_STEP_STATUS_CHANGE = 5;
|
|
|
|
/**
|
|
* Return a list of the available instances
|
|
*
|
|
* @return InstanceList
|
|
*/
|
|
public function listInstances();
|
|
|
|
/**
|
|
* Return the status of an instance
|
|
*
|
|
* @param string $id
|
|
* @return string
|
|
*/
|
|
public function statusInstance($id);
|
|
|
|
/**
|
|
* Wait for status $status with a timeout of $timeout seconds
|
|
*
|
|
* @param string $id
|
|
* @param string $status
|
|
* @param integer $timeout
|
|
* @return boolean
|
|
*/
|
|
public function waitStatusInstance($id, $status, $timeout = self::TIMEOUT_STATUS_CHANGE);
|
|
|
|
/**
|
|
* Return the public DNS name of the instance
|
|
*
|
|
* @param string $id
|
|
* @return string|boolean
|
|
*/
|
|
public function publicDnsInstance($id);
|
|
|
|
/**
|
|
* Reboot an instance
|
|
*
|
|
* @param string $id
|
|
* @return boolean
|
|
*/
|
|
public function rebootInstance($id);
|
|
|
|
/**
|
|
* Create a new instance
|
|
*
|
|
* @param string $name
|
|
* @param array $options
|
|
* @return boolean
|
|
*/
|
|
public function createInstance($name, $options);
|
|
|
|
/**
|
|
* Stop the execution of an instance
|
|
*
|
|
* @param string $id
|
|
* @return boolean
|
|
*/
|
|
public function stopInstance($id);
|
|
|
|
/**
|
|
* Start the execution of an instance
|
|
*
|
|
* @param string $id
|
|
* @return boolean
|
|
*/
|
|
public function startInstance($id);
|
|
|
|
/**
|
|
* Destroy an instance
|
|
*
|
|
* @param string $id
|
|
* @return boolean
|
|
*/
|
|
public function destroyInstance($id);
|
|
|
|
/**
|
|
* Return all the available instances images
|
|
*
|
|
* @return ImageList
|
|
*/
|
|
public function imagesInstance();
|
|
|
|
/**
|
|
* Return all the available zones
|
|
*
|
|
* @return array
|
|
*/
|
|
public function zonesInstance();
|
|
|
|
/**
|
|
* Return the system informations about the $metric of an instance
|
|
*
|
|
* @param string $id
|
|
* @param string $metric
|
|
* @param array $options
|
|
* @return array
|
|
*/
|
|
public function monitorInstance($id, $metric, $options = null);
|
|
|
|
/**
|
|
* Run arbitrary shell script on an instance
|
|
*
|
|
* @param string $id
|
|
* @param array $param
|
|
* @param string|array $cmd
|
|
* @return string|array
|
|
*/
|
|
public function deployInstance($id, $param, $cmd);
|
|
|
|
/**
|
|
* Get the adapter instance
|
|
*
|
|
* @return object
|
|
*/
|
|
public function getAdapter();
|
|
|
|
/**
|
|
* Get the adapter result
|
|
*
|
|
* @return array
|
|
*/
|
|
public function getAdapterResult();
|
|
|
|
/**
|
|
* Get the last HTTP response
|
|
*
|
|
* @return Zend_Http_Response
|
|
*/
|
|
public function getLastHttpResponse();
|
|
|
|
/**
|
|
* Get the last HTTP request
|
|
*
|
|
* @return string
|
|
*/
|
|
public function getLastHttpRequest();
|
|
}
|