/** * @param $sort * @return array */ function getInstanceTypes( $sort = true ) { global $wgOpenStackManagerNovaResourcePrefix; global $wgOpenStackManagerNovaAdminResourcePrefix; $this->novaConnection->set_resource_prefix( $wgOpenStackManagerNovaAdminResourcePrefix ); $response = $this->novaConnection->authenticate( 'DescribeInstanceTypes', array(), $this->novaConnection->hostname ); $instanceTypes = $response->body->instanceTypeSet->item; foreach ( $instanceTypes as $instanceType ) { $instanceType = new OpenStackNovaInstanceType( $instanceType ); $instanceTypeName = $instanceType->getInstanceTypeName(); $this->instanceTypes["$instanceTypeName"] = $instanceType; } $this->novaConnection->set_resource_prefix( $wgOpenStackManagerNovaResourcePrefix ); if ( $sort ) { OpenStackNovaInstanceType::sort( $this->instanceTypes ); } return $this->instanceTypes; }
/** * @return array */ function getInstanceTypes() { $ret = $this->restCall('compute', '/flavors/detail', 'GET'); $instanceTypesarr = array(); $instanceTypes = self::_get_property($ret['body'], 'flavors'); if (!$instanceTypes) { return $instanceTypesarr; } foreach ($instanceTypes as $instanceType) { $instanceType = new OpenStackNovaInstanceType($instanceType); $instanceTypeName = $instanceType->getInstanceTypeName(); $instanceTypesarr[$instanceTypeName] = $instanceType; } OpenStackNovaInstanceType::sort($instanceTypesarr); return $instanceTypesarr; }