/**
  * @param IOpenStackImplementation $implementation
  * @param                          $data
  */
 public function buildOpenStackPowered(IOpenStackImplementation $implementation, $data)
 {
     $implementation->setCompatibleWithCompute($data['compatible_compute']);
     $implementation->setCompatibleWithStorage($data['compatible_storage']);
     $implementation->setCompatibleWithFederatedIdentity($data['compatible_federated_identity']);
     if (isset($data['interop_program_version_id'])) {
         $program_version = new InteropProgramVersion();
         $program_version->ID = (int) $data['interop_program_version_id'];
         $implementation->setProgramVersion($program_version);
     }
 }
 protected function registerHyperVisor(IOpenStackImplementation $implementation, $hypervisor_type_id)
 {
     $hypervisor = $this->hypervisor_type_repository->getById($hypervisor_type_id);
     if (!$hypervisor) {
         throw new NotFoundEntityException('', '');
     }
     $implementation->addHyperVisor($hypervisor);
 }