public function show() { include_once "views/app.php"; $app = new App(); $result = $app->show(); $this->user = unserialize($_SESSION["user"]); $this->vars = array(); $this->vars["user"] = $this->user; $this->vars["result"] = $result; AppView::show($this->vars); }
/** * create a new server and associate a public ip * * @param String $networkId the id of the network where the server will be created * @param String $imageName name of the new image * @param String $serverName name ofthe new server * @param String $flavor kind of server * * @return void */ private function createPublicServer() { $networkId = $this->app->getPostParam('networkId'); $imageName = $this->app->getPostParam('imageName'); $serverName = $this->app->getPostParam('serverName'); $flavor = $this->app->getPostParam('flavor'); if (!isset($imageName)) { $this->app->setOutput("Error", "Incorrect imageName parameter"); } else { if (!isset($serverName)) { $this->app->setOutput("Error", "Incorrect serverName parameter"); } else { if (!isset($flavor)) { $this->app->setOutput("Error", "Incorrect flavor parameter"); } else { // Création image $opt = array(); $opt['name'] = $imageName; $image->setPostParam('opt', $opt); $image->action("createImage"); $image = json_decode($this->app->show(), true)["Images"]; // Création server $compute->setPostParam('name', $serverName); $compute->setPostParam('imageId', $image['id']); $compute->setPostParam('flavorId', $flavor); $compute->action("createServer"); $server = json_decode($this->app->show(), true)["Compute"]; // liste des adresses ip publiques diponibles $networkLayer3->action("listFloatingIp"); $listFloatingIp = json_decode($App->show(), true)["NetworkLayer3"]; $ip = null; foreach ($listFloatingIp as $f) { if (strcmp($f['status'], "DOWN")) { $ip = $f; } } // Si pas d'ip publique disponible on en créé une if (!isset($ip)) { // Ajout adresse IP public $optIp = array(); $opt['floatingNetworkId'] = $networkId; $floatingIp->setPostParam('opt', $optIp); $networkLayer3->action("createFloatingIp"); $ip = json_decode($App->show(), true)["NetworkLayer3"]; } // Association de l'ip publique au serveur /* * API non diponible pour le moment */ } } } }