Ejemplo n.º 1
0
 /**
  * @param string $osFamily
  * @param string $osVersion
  */
 public function xGetRoleImagesAction($osFamily, $osVersion)
 {
     $this->restrictAccess('IMAGES', 'MANAGE');
     $data = [];
     $osIds = Os::findIdsBy($osFamily, null, $osVersion);
     foreach (Image::find([['$or' => [['envId' => $this->getEnvironmentId(true)], ['envId' => NULL]]], ['osId' => ['$in' => $osIds]], ['status' => Image::STATUS_ACTIVE]]) as $image) {
         /* @var $image Image */
         $data[] = ['platform' => $image->platform, 'cloudLocation' => $image->cloudLocation, 'id' => $image->id, 'architecture' => $image->architecture, 'source' => $image->source, 'createdByEmail' => $image->createdByEmail, 'os_family' => $image->getOs()->family, 'os_generation' => $image->getOs()->generation, 'os_version' => $image->getOs()->version, 'os_id' => $image->getOs()->id, 'os' => $image->getOs()->name];
     }
     $this->response->data(['images' => $data]);
 }
Ejemplo n.º 2
0
 public function getOsDetails()
 {
     $retval = new stdClass();
     switch ($this->osFamily) {
         case "windows":
             $retval->family = "windows";
             if (strpos($this->osName, '2008Server') === 0) {
                 $generation = '2008';
             } elseif (strpos($this->osName, '2012Server') === 0) {
                 $generation = '2012';
             }
             $retval->generation = $generation;
             $retval->version = $this->osVersion;
             $retval->name = "Windows {$generation}";
             if (substr($this->osName, -2) == 'R2') {
                 $retval->name .= " R2";
             }
             break;
         case "ubuntu":
             $retval->family = $this->osFamily;
             $retval->generation = $this->osVersion;
             $retval->version = $this->osVersion;
             $retval->name = "Ubuntu {$retval->version} " . ucfirst($this->osName);
             break;
         case "centos":
             $retval->family = $this->osFamily;
             $retval->generation = (int) substr($this->osVersion, 0, 1);
             $retval->version = $this->osVersion;
             $retval->name = "CentOS {$retval->version} Final";
             break;
         case "amazon":
             $retval->family = $this->osFamily;
             $retval->generation = $this->osVersion;
             $retval->version = $this->osVersion;
             $retval->name = "Amazon Linux {$retval->version}";
             break;
         case "oel":
             $retval->family = $this->osFamily;
             $retval->generation = (int) substr($this->osVersion, 0, 1);
             $retval->version = $this->osVersion;
             $retval->name = "Oracle Enterprise Linux Server {$this->osVersion}";
             if ($retval->generation == 5) {
                 $retval->name .= " Tikanga";
             } elseif ($retval->generation == 6) {
                 $retval->name .= " Santiago";
             }
             break;
         case "redhat":
             $retval->family = $this->osFamily;
             $retval->generation = (int) substr($this->osVersion, 0, 1);
             $retval->version = $this->osVersion;
             $retval->name = "Redhat {$this->osVersion}";
             if ($retval->generation == 5) {
                 $retval->name .= " Tikanga";
             } elseif ($retval->generation == 6) {
                 $retval->name .= " Santiago";
             }
             break;
         case "scientific":
             $retval->family = $this->osFamily;
             $retval->generation = (int) substr($this->osVersion, 0, 1);
             $retval->version = $this->osVersion;
             $retval->name = "Scientific {$this->osVersion}";
             if ($retval->generation == 5) {
                 $retval->name .= " Boron";
             } elseif ($retval->generation == 6) {
                 $retval->name .= " Carbon";
             }
             break;
         case "debian":
             $retval->family = $this->osFamily;
             $retval->generation = (int) substr($this->osVersion, 0, 1);
             $retval->version = $this->osVersion;
             $retval->name = "Debian {$this->osVersion}";
             if ($retval->generation == 5) {
                 $retval->name .= " Lenny";
             } elseif ($retval->generation == 6) {
                 $retval->name .= " Squeeze";
             } elseif ($retval->generation == 7) {
                 $retval->name .= " Wheezy";
             }
             break;
         default:
             $retval->generation = '';
             $retval->version = '';
             $retval->name = $this->osName;
     }
     $osIds = Os::findIdsBy($retval->family, $retval->generation, $retval->version);
     if (count($osIds) > 0) {
         $retval->id = $osIds[0];
     } else {
         $osIds = Os::findIdsBy($retval->family, $retval->generation, NULL);
         if (count($osIds) > 0) {
             $retval->id = $osIds[0];
         } else {
             $retval->id = Os::UNKNOWN_OS;
         }
     }
     return $retval;
 }