Scalr_Net_Scalarizr_Client::getClient PHP Method

getClient() public static method

public static getClient ( $dbServer, $namespace = null, $port = 8010 )
    public static function getClient($dbServer, $namespace = null, $port = 8010)
    {
        switch ($namespace) {
            case "service":
                return new Scalr_Net_Scalarizr_Services_Service($dbServer, $port);
                break;
            case "mysql":
                return new Scalr_Net_Scalarizr_Services_Mysql($dbServer, $port);
                break;
            case "postgresql":
                return new Scalr_Net_Scalarizr_Services_Postgresql($dbServer, $port);
                break;
            case "redis":
                return new Scalr_Net_Scalarizr_Services_Redis($dbServer, $port);
                break;
            case "sysinfo":
                return new Scalr_Net_Scalarizr_Services_Sysinfo($dbServer, $port);
                break;
            case "system":
                return new Scalr_Net_Scalarizr_Services_System($dbServer, $port);
                break;
            case "operation":
                return new Scalr_Net_Scalarizr_Services_Operation($dbServer, $port);
                break;
            case "image":
                return new Scalr_Net_Scalarizr_Services_Image($dbServer, $port);
                break;
            default:
                return new Scalr_Net_Scalarizr_Client($dbServer, $port);
                break;
        }
    }

Usage Example

Example #1
0
 public function getScriptingLogAction()
 {
     $this->request->restrictAccess(Acl::RESOURCE_LOGS_SCRIPTING_LOGS);
     $this->request->defineParams(array('executionId' => array('type' => 'string')));
     $info = $this->db->GetRow("SELECT * FROM scripting_log WHERE execution_id = ? LIMIT 1", array($this->getParam('executionId')));
     if (!$info) {
         throw new Exception('Script execution log not found');
     }
     try {
         $dbServer = DBServer::LoadByID($info['server_id']);
         if (!in_array($dbServer->status, array(SERVER_STATUS::INIT, SERVER_STATUS::RUNNING))) {
             throw new Exception();
         }
     } catch (Exception $e) {
         throw new Exception('Server was terminated and logs no longer available');
     }
     //Note! We should not check not-owned-farms permission here. It's approved by Igor.
     if ($dbServer->envId != $this->environment->id) {
         throw new \Scalr_Exception_InsufficientPermissions();
     }
     $client = Scalr_Net_Scalarizr_Client::getClient($dbServer, Scalr_Net_Scalarizr_Client::NAMESPACE_SYSTEM, $dbServer->getPort(DBServer::PORT_API));
     $logs = $client->getScriptLogs($this->getParam('executionId'));
     $msg = sprintf("STDERR: %s \n\n STDOUT: %s", base64_decode($logs->stderr), base64_decode($logs->stdout));
     $msg = nl2br(htmlspecialchars($msg));
     $this->response->data(array('message' => $msg));
 }
All Usage Examples Of Scalr_Net_Scalarizr_Client::getClient