begining of floating ip
This commit is contained in:
parent
aa26e5f959
commit
9e7eb6774b
2 changed files with 201 additions and 0 deletions
|
@ -118,6 +118,12 @@ class AppTest{
|
|||
return $this->errorClass;
|
||||
|
||||
}
|
||||
|
||||
public function getOutput($key){
|
||||
|
||||
return $this->output[$key];
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
195
server/core/FloatingIp.php
Normal file
195
server/core/FloatingIp.php
Normal file
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Reference in a new issue