/** * Return a list of all the available instance images * * @return ImageList|boolean */ public function imagesInstance() { $this->resetError(); $this->adapterResult = $this->rackspace->listImages(true); if ($this->adapterResult === false) { $this->setError(); return false; } $images = $this->adapterResult->toArray(); $result = array(); $i = 0; foreach ($images as $image) { if (strtolower($image['status']) === 'active') { if (strpos($image['name'], 'Windows') !== false) { $platform = Image::IMAGE_WINDOWS; } else { $platform = Image::IMAGE_LINUX; } if (strpos($image['name'], 'x64') !== false) { $arch = Image::ARCH_64BIT; } else { $arch = Image::ARCH_32BIT; } $result[$i] = array(Image::IMAGE_ID => $image['id'], Image::IMAGE_NAME => $image['name'], Image::IMAGE_DESCRIPTION => $image['name'], Image::IMAGE_ARCHITECTURE => $arch, Image::IMAGE_PLATFORM => $platform); unset($image['id']); unset($image['name']); $result[$i] = array_merge($image, $result[$i]); $i++; } } return new ImageList($result, $this->adapterResult); }
/** * Test list images */ public function testListImages() { self::$images = $this->rackspace->listImages(true); $this->assertTrue(count(self::$images) > 0); $image = self::$images[0]; $imageId = $image->getId(); $this->assertTrue(!empty($imageId)); }