public static function convertCloudToArray(ICloudService $cloud) { $res = OpenStackImplementationAssembler::convertOpenStackImplementationToArray($cloud); //override capabilities $res['capabilities'] = array(); foreach ($cloud->getCapabilities() as $service) { $service_res = OpenStackImplementationAssembler::convertCapabilityToArray($service); if (is_null($service_res)) { continue; } $service_res['pricing_schemas'] = array(); foreach ($service->getPricingSchemas() as $ps) { array_push($service_res['pricing_schemas'], $ps->getIdentifier()); } array_push($res['capabilities'], $service_res); } $data_centers = array(); $locations = array(); $regions = array(); foreach ($cloud->getDataCenterRegions() as $region) { array_push($regions, CloudAssembler::convertDataCenterRegionToArray($region)); } foreach ($cloud->getDataCentersLocations() as $location) { array_push($locations, CloudAssembler::convertDataCenterLocationToArray($location)); } $data_centers['regions'] = $regions; $data_centers['locations'] = $locations; $res['data_centers'] = $data_centers; return $res; }
/** * @param IOpenStackImplementation $implementation * @return array */ public static function convertOpenStackImplementationToArray(IOpenStackImplementation $implementation) { $res = RegionalSupportedCompanyServiceAssembler::convertRegionalSupportedCompanyServiceToArray($implementation); $res['compatible_compute'] = $implementation->isCompatibleWithCompute(); $res['compatible_storage'] = $implementation->isCompatibleWithStorage(); $res['interop_program_version_id'] = $implementation->getProgramVersion()->getIdentifier(); $res['compatible_federated_identity'] = $implementation->isCompatibleWithFederatedIdentity(); //capabilities $capabilities = array(); foreach ($implementation->getCapabilities() as $capability) { $capability = OpenStackImplementationAssembler::convertCapabilityToArray($capability); if (!is_null($capability)) { array_push($capabilities, $capability); } } $res['capabilities'] = $capabilities; //hypervisors $hypervisors = array(); foreach ($implementation->getHyperVisors() as $hypervisor) { array_push($hypervisors, $hypervisor->getIdentifier()); } $res['hypervisors'] = $hypervisors; //os guests $guest_os = array(); foreach ($implementation->getGuests() as $guest) { array_push($guest_os, $guest->getIdentifier()); } $res['guest_os'] = $guest_os; //draft if ($res) { return $res; } }
public function getConsultantDraft() { $company_service_id = intval($this->request->param('COMPANY_SERVICE_ID')); $consultant = $this->consultant_draft_repository->getByLiveServiceId($company_service_id); if (!$consultant) { return $this->notFound(); } return $this->ok(OpenStackImplementationAssembler::convertOpenStackImplementationToArray($consultant)); }
public function getCurrentApplianceJson() { $appliance = $this->getCurrentAppliance(); if ($appliance) { return json_encode(OpenStackImplementationAssembler::convertOpenStackImplementationToArray($appliance)); } }
public function getDistributionDraft() { $company_service_id = intval($this->request->param('COMPANY_SERVICE_ID')); $appliance = $this->appliance_draft_repository->getByLiveServiceId($company_service_id); if (!$appliance) { return $this->notFound(); } return $this->ok(OpenStackImplementationAssembler::convertOpenStackImplementationToArray($appliance)); }
public function getPrivateCloudDraft() { $company_service_id = intval($this->request->param('COMPANY_SERVICE_ID')); $private_cloud = $this->private_cloud_draft_repository->getByLiveServiceId($company_service_id); if (!$private_cloud) { return $this->notFound(); } return $this->ok(OpenStackImplementationAssembler::convertOpenStackImplementationToArray($private_cloud)); }