Exemplo n.º 1
0
 public static function getEnabledPricingSchemas(ICloudService $cloud)
 {
     $res = array();
     if (count($cloud->getCapabilities()) > 0) {
         $capabilities = $cloud->getCapabilities();
         $enabled_pricing_schemas = reset($capabilities)->getPricingSchemas();
         if (count($enabled_pricing_schemas) > 0) {
             foreach ($enabled_pricing_schemas as $ps) {
                 array_push($res, $ps->getIdentifier());
             }
         }
     }
     return json_encode($res);
 }
Exemplo n.º 2
0
 protected function addDataCenterLocation(array $location_data, ICloudService $cloud)
 {
     //check location coordinates...
     $validator = $this->validator_factory->buildValidatorForDataCenterLocation($location_data);
     if ($validator->fails()) {
         return $this->validationError($validator->messages());
     }
     //list($lat,$lng) = $this->geo_coding_service->getCityCoordinates($location_data['city'],$location_data['country']);
     $location = $this->factory->buildDataCenterLocation($location_data['city'], $location_data['state'], $location_data['country'], (double) $location_data['lat'], (double) $location_data['lng'], $cloud->getDataCenterRegion($location_data['region']));
     if (array_key_exists('availability_zones', $location_data) && is_array($location_data['availability_zones'])) {
         foreach ($location_data['availability_zones'] as $az_data) {
             $az = $this->factory->buildAZ($az_data['name'], $location);
             $location->addAvailabilityZone($az);
             $az->setLocation($location);
         }
     }
     $cloud->addDataCenterLocation($location);
     $location->setCloudService($cloud);
     return $cloud;
 }