ServerCreateInfo::GetProperties PHP Method

GetProperties() public method

public GetProperties ( )
    public function GetProperties()
    {
        return $this->properties;
    }

Usage Example

Ejemplo n.º 1
0
 /**
  *
  * @param ServerCreateInfo $serverCreateInfo
  * @param bool $isImport
  * @return DBServer
  */
 public static function Create(ServerCreateInfo $creInfo, $isImport = false, $setPendingStatus = false)
 {
     $db = \Scalr::getDb();
     $startWithLetter = in_array($creInfo->platform, array(SERVER_PLATFORMS::CLOUDSTACK, SERVER_PLATFORMS::IDCF, SERVER_PLATFORMS::GCE));
     if ($isImport) {
         $startWithLetter = true;
     }
     $server_id = Scalr::GenerateUID(false, $startWithLetter);
     $status = !$isImport ? SERVER_STATUS::PENDING_LAUNCH : SERVER_STATUS::IMPORTING;
     if ($setPendingStatus) {
         $status = SERVER_STATUS::PENDING;
     }
     // IF no index defined
     if (!$creInfo->index && !$isImport) {
         $indexes = $db->GetAll("\n                SELECT `index` FROM servers\n                WHERE farm_roleid=?\n                AND status NOT IN (?,?,?)\n            ", array($creInfo->dbFarmRole->ID, SERVER_STATUS::TERMINATED, SERVER_STATUS::PENDING_TERMINATE, SERVER_STATUS::TROUBLESHOOTING));
         $used_indexes = array();
         if (count($indexes) > 0) {
             foreach ($indexes as $index) {
                 $used_indexes[$index['index']] = true;
             }
         }
         for ($i = 1;; $i++) {
             if (!$used_indexes[$i]) {
                 $creInfo->index = $i;
                 break;
             }
         }
     } elseif ($isImport) {
         $creInfo->index = 0;
     }
     $client_id = $creInfo->clientId ? $creInfo->clientId : $creInfo->dbFarmRole->GetFarmObject()->ClientID;
     $db->Execute("\n            INSERT INTO servers SET\n            `server_id`     = ?,\n            `farm_id`       = ?,\n            `env_id`        = ?,\n            `farm_roleid`   = ?,\n            `client_id`     = ?,\n            `platform`      = ?,\n            `status`        = ?,\n            `remote_ip`     = ?,\n            `local_ip`      = ?,\n            `dtadded`       = NOW(),\n            `index`         = ?\n        ", array($server_id, $creInfo->farmId ? $creInfo->farmId : $creInfo->dbFarmRole->FarmID, $creInfo->envId, $creInfo->dbFarmRole ? $creInfo->dbFarmRole->ID : 0, $client_id, $creInfo->platform, $status, $creInfo->remoteIp, $creInfo->localIp, $creInfo->index));
     $DBServer = DBServer::LoadByID($server_id);
     $DBServer->SetProperties($creInfo->GetProperties());
     $DBServer->setOsType($DBServer->osType);
     try {
         if ($DBServer->farmRoleId) {
             $db->Execute("INSERT INTO servers_launch_timelog SET\n                    `server_id`     = ?,\n                    `os_family`     = ?,\n                    `os_version`    = ?,\n                    `cloud`         = ?,\n                    `cloud_location`    = ?,\n                    `server_type`       = ?,\n                    `behaviors`     = ?,\n                    `ts_created`    = ?\n                ", array($server_id, $DBServer->GetFarmRoleObject()->GetRoleObject()->getOs()->family, $DBServer->GetFarmRoleObject()->GetRoleObject()->getOs()->version, $DBServer->platform, $DBServer->cloudLocation, $DBServer->GetFlavor(), implode(",", $DBServer->GetFarmRoleObject()->GetRoleObject()->getBehaviors()), time()));
         }
     } catch (Exception $e) {
     }
     return $DBServer;
 }
All Usage Examples Of ServerCreateInfo::GetProperties