getCanonicalOpenstackPlatforms() public static method

Gets the list of canonical OpenStack based clouds
public static getCanonicalOpenstackPlatforms ( ) : array
return array
Ejemplo n.º 1
0
 public function _cloudCredentialsType($from, $to, $action)
 {
     switch ($action) {
         case static::ACT_CONVERT_TO_OBJECT:
             /* @var $from Entity\CloudCredentials */
             $to->cloudCredentialsType = static::$cloudsMap[$from->cloud];
             break;
         case static::ACT_CONVERT_TO_ENTITY:
             /* @var $to Entity\CloudCredentials */
             $to->cloud = array_flip(static::$cloudsMap)[$from->cloudCredentialsType];
             break;
         case static::ACT_GET_FILTER_CRITERIA:
             switch ($from->cloudCredentialsType) {
                 case static::CLOUD_CREDENTIALS_TYPE_OPENSTACK:
                     $cloud = ['$in' => PlatformFactory::getCanonicalOpenstackPlatforms()];
                     break;
                 case static::CLOUD_CREDENTIALS_TYPE_CLOUDSTACK:
                     $cloud = ['$in' => PlatformFactory::getCloudstackBasedPlatforms()];
                     break;
                 case static::CLOUD_CREDENTIALS_TYPE_RACKSPACE:
                     $cloud = ['$in' => PlatformFactory::getRackspacePlatforms()];
                     break;
                 default:
                     $clouds = array_flip(static::$cloudsMap);
                     if (empty($clouds[$from->cloudCredentialsType])) {
                         throw new ApiErrorException(400, ErrorMessage::ERR_INVALID_VALUE, "Unknown cloudCredentialsType '{$from->cloudCredentialsType}'");
                     }
                     $cloud = $clouds[$from->cloudCredentialsType];
                     break;
             }
             return [['cloud' => $cloud]];
     }
 }
 public function _cloudCredentialsType($from, $to, $action)
 {
     switch ($action) {
         case static::ACT_CONVERT_TO_OBJECT:
             /* @var $from Entity\CloudCredentials */
             $to->cloudCredentialsType = static::CLOUD_CREDENTIALS_TYPE_OPENSTACK;
             break;
         case static::ACT_CONVERT_TO_ENTITY:
             /* @var $to Entity\CloudCredentials */
             $to->cloud = $this->getOpenstackProvider($from);
             break;
         case static::ACT_GET_FILTER_CRITERIA:
             return [['cloud' => ['$in' => PlatformFactory::getCanonicalOpenstackPlatforms()]]];
     }
 }