/** * Create a new instance * * @param string $name * @param array $options * @return Instance|boolean */ public function createInstance($name, $options) { if (empty($name)) { throw new Exception\InvalidArgumentException('You must specify the name of the instance'); } if (empty($options) || !is_array($options)) { throw new Exception\InvalidArgumentException('The options must be an array'); } $this->resetError(); // @todo create an generic abstract definition for an instance? $metadata = array(); if (isset($options['metadata'])) { $metadata = $options['metadata']; unset($options['metadata']); } $files = array(); if (isset($options['files'])) { $files = $options['files']; unset($options['files']); } $options['name'] = $name; $this->adapterResult = $this->rackspace->createServer($options, $metadata, $files); if ($this->adapterResult === false) { $this->setError(); return false; } return new Instance($this, $this->convertAttributes($this->adapterResult->toArray())); }
/** * Test create server */ public function testCreateServer() { $data = array('name' => TESTS_ZEND_SERVICE_RACKSPACE_SERVER_NAME, 'imageId' => TESTS_ZEND_SERVICE_RACKSPACE_SERVER_IMAGEID, 'flavorId' => TESTS_ZEND_SERVICE_RACKSPACE_SERVER_FLAVORID); $server = $this->rackspace->createServer($data); $this->assertTrue($server !== false); self::$serverId = $server->getId(); $this->assertEquals(TESTS_ZEND_SERVICE_RACKSPACE_SERVER_NAME, $server->getName()); $this->assertEquals(self::$serverId, 20247478); }
/** * Test create server */ public function testCreateServer() { $data = array('name' => TESTS_ZEND_SERVICE_RACKSPACE_SERVER_NAME, 'imageId' => TESTS_ZEND_SERVICE_RACKSPACE_SERVER_IMAGEID, 'flavorId' => TESTS_ZEND_SERVICE_RACKSPACE_SERVER_FLAVORID); $server = self::$rackspace->createServer($data); $this->assertTrue($server !== false); self::$serverId = $server->getId(); self::$adminPass = $server->getAdminPass(); $this->assertEquals(TESTS_ZEND_SERVICE_RACKSPACE_SERVER_NAME, $server->getName()); $this->assertTrue(self::waitForStatus('active')); }
/** * Create a server in the shared Ip Group * * @param array $data * @param array $metadata * @param array $files * @return Zend\Service\Rackspace\Servers\Server|boolean */ public function createServer(array $data, $metadata=array(),$files=array()) { $data['sharedIpGroupId']= (integer) $this->id; return $this->service->createServer($data,$metadata,$files); }