From 721620a549f38ca13f82351ae12d777f929b7372 Mon Sep 17 00:00:00 2001 From: "yogg@epsina.com" Date: Wed, 27 Jan 2016 19:19:42 +0100 Subject: [PATCH] =?UTF-8?q?=20Modifications=20qui=20seront=20valid=C3=A9es?= =?UTF-8?q?=20:=20=09modifi=C3=A9=C2=A0:=20=20=20=20=20=20=20=20=20server/?= =?UTF-8?q?core/Image.php?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/core/Image.php | 97 ++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 96 insertions(+), 1 deletion(-) 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 @@ - +"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(); +} + + +?>