diff options
| author | Loic GUEGAN <loic@Manzerbredes.home> | 2016-04-20 09:10:28 +0200 |
|---|---|---|
| committer | Loic GUEGAN <loic@Manzerbredes.home> | 2016-04-20 09:10:28 +0200 |
| commit | a5fb35e17ee27a21cc925a12ac937a763c61056d (patch) | |
| tree | e0daa3527beb044ac601b2430165c81a0027db56 /server/core/FloatingIp.php | |
| parent | 7a587387aab354e8101dc04ee54c78ab4b036617 (diff) | |
| parent | 71794b98c560fa7904a4b3550a21b64ec6cd9339 (diff) | |
Merge branch 'loic' into loic-image-edition
Diffstat (limited to 'server/core/FloatingIp.php')
| -rwxr-xr-x | server/core/FloatingIp.php | 195 |
1 files changed, 195 insertions, 0 deletions
diff --git a/server/core/FloatingIp.php b/server/core/FloatingIp.php new file mode 100755 index 0000000..4271a84 --- /dev/null +++ b/server/core/FloatingIp.php @@ -0,0 +1,195 @@ +<?php +/** +* File containing the FloatingIp Class. +* +* @version 1.0 Initialisation of this file +* @since 1.0 Core application's file +* +* @author Evan Pisani 'yogg at epsina . com' +* +* @todo Complete the functions with errors detection and finish the descriptions +*/ +use OpenCloud\Common\Error\BadResponseError; +use OpenCloud\Common\Error\BaseError; +use OpenCloud\Common\Error\NotImplementedError; +use OpenCloud\Common\Error\UserInputError; + +include("CoreInterface.php"); + +/** +* Image Class of the back-end application +* +* Management of images +* +*/ +class floatingIp implements Core{ + + /** @var App $app protected, contains the main app object */ + protected $app; + + /** @var OpenStack\Identity $libClass protected, contains the library Identity object */ + protected $libClass; + + /** + * Image constructor + * + * @param App $app the main app object + * + * @return Image + */ + public function __construct($app){ + if(!isset($app)){ + $this->app->setOutput("Error", "Incorrect parameter app"); + } + $this->app = $app; + $this->libClass = $app->getLibClass("FloatingIp"); + } + + + /** + * Execute an action + * + * @param String $action name of another function of this class + * + * @return void + */ + public function action($action){ + $this->{$action.""}(); + } + + /** + * Create a new floating IP adress + * + * @param array $opt Options for the floating ip creation (floatingipo and floating network id are required, others are optionals) + * + * @return floatingip + */ + private function createFloatingIp(){ + $opt = $this->app->getPostParam("opt"); + + if(!isset($opt)){ + $this->app->setOutput("Error", "Incorrect parameter opt"); + } + try{ + $floatingip = $this->libClass->create($opt); + if(!isset){ + $this->app->setOutput("Error", "Unknowing error during floating ip creation"); + } + else{ + $this->app->setOutput("FloatingIp", $floatingip); + } + }catch(BadResponseError $e){ + $this->app->getErrorInstance()->BadResponseHandler($e); + }catch(UserInputError $e){ + $this->app->getErrorInstance()->UserInputHandler($e); + }catch(BaseError $e){ + $this->app->getErrorInstance()->BaseErrorHandler($e); + }catch(NotImplementedError $e){ + $this->app->getErrorInstance()->NotImplementedHandler($e); + }catch(Exception $e){ + $this->app->getErrorInstance()->OtherException($e); + } + } + + /** + * Update floating ip + * + * @param id the id of the floatingip to update + * + * @return Image + */ + private function updateFloatingIp(){ + $id = $this->app->getPostParam("id"); + + if(!isset($id)){ + $this->app->setOutput("Error", "Incorrect parameter opt"); + } + try{ + $floatingip = null; //obtenir ip + + $floatingip->update(); + + if(!isset){ + $this->app->setOutput("Error", "Unknowing error during floating ip creation"); + } + }catch(BadResponseError $e){ + $this->app->getErrorInstance()->BadResponseHandler($e); + }catch(UserInputError $e){ + $this->app->getErrorInstance()->UserInputHandler($e); + }catch(BaseError $e){ + $this->app->getErrorInstance()->BaseErrorHandler($e); + }catch(NotImplementedError $e){ + $this->app->getErrorInstance()->NotImplementedHandler($e); + }catch(Exception $e){ + $this->app->getErrorInstance()->OtherException($e); + } + } + + /** + * Delete a floating ip + * + * @param string floatingip_id the floating-ip id to delete + * + * @return void + */ + private function deleteFloatingIp(){ + $id = $this->app->getPostParam("id"); + + if(!isset($id)){ + $this->app->setOutput("Error", "Incorrect parameter opt"); + } + try{ + $floatingip = null; //obtenir ip + + $floatingip->delete(); + + if(!isset){ + $this->app->setOutput("Error", "Unknowing error during floating ip creation"); + } + }catch(BadResponseError $e){ + $this->app->getErrorInstance()->BadResponseHandler($e); + }catch(UserInputError $e){ + $this->app->getErrorInstance()->UserInputHandler($e); + }catch(BaseError $e){ + $this->app->getErrorInstance()->BaseErrorHandler($e); + }catch(NotImplementedError $e){ + $this->app->getErrorInstance()->NotImplementedHandler($e); + }catch(Exception $e){ + $this->app->getErrorInstance()->OtherException($e); + } + } + + /** + * Retrieve a floating ip + * + * @param string floatingip_id the floating-ip id to retrieve + * + * @return void + */ + private function retrieveFloatingIp(){ + $id = $this->app->getPostParam("id"); + + if(!isset($id)){ + $this->app->setOutput("Error", "Incorrect parameter opt"); + } + try{ + $floatingip = null; //obtenir ip + + $floatingip->retrieve(); + + if(!isset){ + $this->app->setOutput("Error", "Unknowing error during floating ip creation"); + } + }catch(BadResponseError $e){ + $this->app->getErrorInstance()->BadResponseHandler($e); + }catch(UserInputError $e){ + $this->app->getErrorInstance()->UserInputHandler($e); + }catch(BaseError $e){ + $this->app->getErrorInstance()->BaseErrorHandler($e); + }catch(NotImplementedError $e){ + $this->app->getErrorInstance()->NotImplementedHandler($e); + }catch(Exception $e){ + $this->app->getErrorInstance()->OtherException($e); + } + } +} |
