--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/web/lib/Zend/Cloud/Infrastructure/Adapter.php Thu Mar 21 19:52:38 2013 +0100
@@ -0,0 +1,167 @@
+<?php
+/**
+ * @category Zend
+ * @package Zend_Cloud
+ * @subpackage Infrastructure
+ * @copyright Copyright (c) 2005-2012 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-2012 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();
+}