diff options
| author | yogg@epsina.com <evan.pisani@etudiant.univ-rennes1.fr> | 2016-01-27 19:19:42 +0100 |
|---|---|---|
| committer | yogg@epsina.com <evan.pisani@etudiant.univ-rennes1.fr> | 2016-01-27 19:19:42 +0100 |
| commit | 721620a549f38ca13f82351ae12d777f929b7372 (patch) | |
| tree | 75780f36c477c8debfbec169d9185fd7b0441331 /server/core/Image.php | |
| parent | ba8bbc77fb302f95b2e508d1ff1203f451311bf4 (diff) | |
Modifications qui seront validées :
modifié : server/core/Image.php
Diffstat (limited to 'server/core/Image.php')
| -rw-r--r-- | server/core/Image.php | 97 |
1 files changed, 96 insertions, 1 deletions
diff --git a/server/core/Image.php b/server/core/Image.php index 8d1c8b6..984f03a 100644 --- a/server/core/Image.php +++ b/server/core/Image.php @@ -1 +1,96 @@ - +<?php +ini_set('display_errors', 1); +date_default_timezone_set("Europe/Paris"); +require '../vendor/autoload.php'; + +$options = Array(); +$options["user"] = Array("name"=>"admin", "password"=>"ae5or6cn", "domain"=>["id"=>"Default"]); +$options["scope"] = Array("project"=>Array("name"=>"admin", "domain"=>["id"=>"Default"])); +$options["authUrl"] = "http://148.60.11.31:5000/v3"; + +$openstack = OpenStack\OpenStack($options); + + +public function create_image(array $opt){ + $service = $openstack->imagesV2(); + + // OPTIONS A VOIR + $image = $service->createImage([ + 'name' => $opt[name], + 'tags' => ['{tag1}', '{tag2}'], // A VOIR + 'containerFormat' => $opt[containerFormat], + 'diskFormat' => $opt[diskFormat], + 'visibility' => $opt[visibility], + 'minDisk' => 10, + 'protected' => true, + 'minRam' => 10, + ]); + + return $image; +} + +public function list_image(){ + $images = $openstack->imagesV2()->listImages(); + return $images; +} + + +public function image_details($id){ + $service = $openstack->imagesV2(); + $image = $service->getImage($id); + return $image; +} + + +public function update_image($id, array $opt){ + $service = $openstack->imagesV2(); + + //OPTIONS A VOIR + $image = $service->getImage($id); + $image->update([ + 'minDisk' => 1, + 'minRam' => 1, + 'name' => $opt[name], + 'protected' => false, + 'visibility' => $opt[visibility], + ]); + + return $image; +} + +// RETOUR A VOIR +public function delete_image($name){ + $openstack->imagesV2()->getImage($name)->delete(); +} + +// RETOUR A VOIR +public function reactivate_image($id){ + $service = $openstack->imagesV2(); + $image = $service->getImage($id); + $image->reactivate(); +} + +// RETOUR A VOIR +public function desactivate_function($id){ + $service = $openstack->imagesV2(); + $image = $service->getImage($id); + $image->deactivate(); +} + +// RETOUR A VOIR +public function upload_image($id, $file_name){ + $service = $openstack->imagesV2(); + $image = $service->getImage($id); + $stream = \GuzzleHttp\Psr7\stream_for(fopen($file_name, 'r')); // A VOIR + $image->uploadData($stream); +} + +// RETOUR A VOIR +public function download_image($id){ + $service = $openstack->imagesV2(); + $image = $service->getImage($id); + $stream = $image->downloadData(); +} + + +?> |
