app->setOutput("Error", "Incorrect parameter app"); } $this->app = $app; $this->libClass = $app->getLibClass("NetworkLayer3"); } /** * Execute an action * * @param String $action name of another function of this class * * @return void */ public function action($action){ $this->{$action.""}(); } /** * List floatingip * * @return void */ private function listFloatingIp(){ try{ $result = array(); $l = $this->libClass->listFloatingIps(); error_log(var_export($l, true), 0); foreach ($l as $tmp) { $result[] = $tmp; } $this->app->setOutput("NetworkLayer3", $result); }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); } } /** * Create a new floating IP adress * * @param array $opt Options for the floating ip creation (floatingNetworkId is required) * * @return void */ private function createFloatingIp(){ $opt = $this->app->getPostParam("opt"); if(!isset($opt)){ $this->app->setOutput("Error", "Incorrect parameter opt"); } try{ $floatingip = $this->libClass->createFloatingIp($opt); if(!isset($floatingip)){ $this->app->setOutput("Error", "Unknowing error during floating ip creation"); }else{ $this->app->setOutput("NetworkLayer3", $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); } } /** * Show floatingip details * * @param String id the id of the floatingip * * @return void */ private function getFloatingIp(){ $id = $this->app->getPostParam("id"); if(!isset($id)){ $this->app->setOutput("Error", "Incorrect parameter opt"); } try{ // List of floating IPs $res = array(); $l = $this->libClass->listFloatingIps(); foreach ($l as $tmp) { $res[] = $tmp; } // Verification if id exists $result = null; foreach ($res as $f) { if(strcmp($f->id, $id)){ $result = $f; } } if(!isset($result)){ // If id doesn't exists $this->app->setOutput("Error", "Unknow id"); }else{ // If id exists $res = $this->libClass->getFloatingIp($id); $this->app->setOutput("NetworkLayer3", $res); } }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 void */ private function updateFloatingIp(){ $id = $this->app->getPostParam("id"); if(!isset($id)){ $this->app->setOutput("Error", "Incorrect parameter opt"); } try{ // List of floating IPs $res = array(); $l = $this->libClass->listFloatingIps(); foreach ($l as $tmp) { $res[] = $tmp; } // Verification if id exists $result = null; foreach ($res as $f) { if(strcmp($f->id, $id)){ $result = $f; } } if(!isset($result)){ // If id doesn't exists $this->app->setOutput("Error", "Unknowing floatingip id"); }else{ $result->update(); } }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{ // List of floating IPs $res = array(); $l = $this->libClass->listFloatingIps(); foreach ($l as $tmp) { $res[] = $tmp; } // Verification if id exists $result = null; foreach ($res as $f) { if(strcmp($f->id, $id)){ $result = $f; } } if(!isset($result)){ // If id doesn't exists $this->app->setOutput("Error", "Unknowing floatingip id"); }else{ $result->delete(); } }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{ // List of floating IPs $res = array(); $l = $this->libClass->listFloatingIps(); foreach ($l as $tmp) { $res[] = $tmp; } // Verification if id exists $result = null; foreach ($res as $f) { if(strcmp($f->id, $id)){ $result = $f; } } if(!isset($result)){ // If id doesn't exists $this->app->setOutput("Error", "Unknowing floatingip id"); }else{ $result->retrieve(); } }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); } } /** * Create a new router * * @param array $opt Options for the new router * externalGatewayInfo[] required (only the param networkId in the tab) * adminStateUp (optionnal) * name (optionnal) * * @return void */ private function createRouter(){ $opt = $this->app->getPostParam("opt"); if(!isset($opt)){ $this->app->setOutput("Error", "Incorrect parameter opt"); } try{ $router = $this->libClass->createRouter($opt); if(!isset($router)){ $this->app->setOutput("Error", "Unknowing error during floating ip creation"); }else{ $this->app->setOutput("NetworkLayer3", $router); } }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); } } /** * List routers * * @return void */ private function listRouters(){ try{ $result = array(); $l = $this->libClass->listRouters(); foreach ($l as $tmp) { $result[] = $tmp; } $this->app->setOutput("NetworkLayer3", $result); }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); } } /** * Show router details * * @param String id the id of the router * * @return void */ private function getRouter(){ $id = $this->app->getPostParam("id"); if(!isset($id)){ $this->app->setOutput("Error", "Incorrect parameter opt"); } try{ // List of routers $res = array(); $l = $this->libClass->listRouters(); foreach ($l as $tmp) { $res[] = $tmp; } // Verification if id exists $result = null; foreach ($res as $f) { if(strcmp($f->id, $id)){ $result = $f; } } if(!isset($result)){ // If id doesn't exists $this->app->setOutput("Error", "Unknow id"); }else{ // If id exists $res = $this->libClass->getRouter($id); $this->app->setOutput("NetworkLayer3", $res); } }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 router * * @param string router the router to delete * * @return void */ private function deleteRouter(){ $id = $this->app->getPostParam("id"); if(!isset($id)){ $this->app->setOutput("Error", "Incorrect parameter opt"); } try{ // List of routers $res = array(); $l = $this->libClass->listRouters(); foreach ($l as $tmp) { $res[] = $tmp; } // Verification if id exists $result = null; foreach ($res as $f) { if(strcmp($f->id, $id)){ $result = $f; } } if(!isset($result)){ // If id doesn't exists $this->app->setOutput("Error", "Unknowing router id"); }else{ $result->delete(); } }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 router * * @param id the id of the floatingip to update * * @return void */ private function updateRouter(){ $id = $this->app->getPostParam("id"); if(!isset($id)){ $this->app->setOutput("Error", "Incorrect parameter opt"); } try{ // List of floating IPs $res = array(); $l = $this->libClass->listRouters(); foreach ($l as $tmp) { $res[] = $tmp; } // Verification if id exists $result = null; foreach ($res as $f) { if(strcmp($f->id, $id)){ $result = $f; } } if(!isset($result)){ // If id doesn't exists $this->app->setOutput("Error", "Unknowing floatingip id"); }else{ $result->update(); } }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); } } }