getList() public static method

public static getList ( $accountId, $envId )
Esempio n. 1
0
 public function editAction()
 {
     $this->request->defineParams(array('schedulerTaskId' => array('type' => 'int')));
     //$DBFarmRole->FarmID;
     $task = Scalr_SchedulerTask::init();
     $task->loadById($this->getParam(self::CALL_PARAM_NAME));
     $this->user->getPermissions()->validate($task);
     $taskValues = array('targetId' => $task->targetId, 'targetType' => $task->targetType, 'id' => $task->id, 'name' => $task->name, 'type' => $task->type, 'comments' => $task->comments, 'config' => $task->config, 'startTime' => $task->startTime ? Scalr_Util_DateTime::convertTimeZone(new DateTime($task->startTime), $task->timezone)->format('Y-m-d H:i') : '', 'endTime' => $task->endTime ? Scalr_Util_DateTime::convertTimeZone(new DateTime($task->endTime), $task->timezone)->format('Y-m-d H:i') : '', 'restartEvery' => $task->restartEvery, 'timezone' => $task->timezone);
     $taskValues['config']['scriptId'] = (int) $taskValues['config']['scriptId'];
     $taskValues['config']['scriptIsSync'] = (int) $taskValues['config']['scriptIsSync'];
     $farmWidget = array();
     switch ($task->targetType) {
         case Scalr_SchedulerTask::TARGET_FARM:
             $farmWidget = self::loadController('Farms')->getFarmWidget(array('farmId' => $task->targetId), 'addAll');
             break;
         case Scalr_SchedulerTask::TARGET_ROLE:
             $farmWidget = self::loadController('Farms')->getFarmWidget(array('farmRoleId' => $task->targetId), 'addAll');
             break;
         case Scalr_SchedulerTask::TARGET_INSTANCE:
             try {
                 $DBServer = DBServer::LoadByFarmRoleIDAndIndex($task->targetId, $task->targetServerIndex);
                 $farmWidget = self::loadController('Farms')->getFarmWidget(array('serverId' => $DBServer->serverId), 'addAll');
             } catch (Exception $e) {
                 $farmWidget = self::loadController('Farms')->getFarmWidget(array('farmRoleId' => $task->targetId), 'addAll');
             }
             break;
         default:
             break;
     }
     $this->response->page('ui/schedulertasks/create.js', array('farmWidget' => $farmWidget, 'timezones' => Scalr_Util_DateTime::getTimezones(), 'scripts' => Script::getList($this->user->getAccountId(), $this->getEnvironmentId()), 'defaultTimezone' => $this->user->getSetting(Scalr_Account_User::SETTING_UI_TIMEZONE), 'task' => $taskValues));
 }
Esempio n. 2
0
 public function scriptingAction()
 {
     $this->request->restrictAccess(Acl::RESOURCE_LOGS_SCRIPTING_LOGS);
     $farms = self::loadController('Farms')->getList();
     array_unshift($farms, array('id' => '0', 'name' => 'All farms'));
     $scripts = array_map(function ($s) {
         return ['id' => $s['id'], 'name' => $s['name']];
     }, Script::getList($this->user->getAccountId(), $this->getEnvironmentId()));
     array_unshift($scripts, array('id' => 0, 'name' => ''));
     $glEvents = array_keys(EVENT_TYPE::getScriptingEvents());
     sort($glEvents);
     array_unshift($glEvents, '');
     $events = array_merge($glEvents, $this->db->GetCol('SELECT name FROM event_definitions WHERE env_id = ? ORDER BY name ASC', array($this->getEnvironmentId())));
     $tasks = $this->db->GetAll('SELECT id, name FROM scheduler WHERE env_id = ? ORDER BY name ASC', array($this->getEnvironmentId()));
     array_unshift($tasks, array('id' => 0, 'name' => ''));
     $this->response->page('ui/logs/scripting.js', array('farms' => $farms, 'scripts' => $scripts, 'events' => $events, 'tasks' => $tasks));
 }
Esempio n. 3
0
 public function xGetAction()
 {
     $this->request->defineParams(array('schedulerTaskId' => array('type' => 'int')));
     $events = array_map(function ($item) {
         if ($item->envId) {
             $scope = 'environment';
         } else {
             if ($item->accountId) {
                 $scope = 'account';
             } else {
                 $scope = 'scalr';
             }
         }
         return ['name' => $item->name, 'description' => $item->description, 'scope' => $scope];
     }, EventDefinition::find([['$or' => [['accountId' => null], ['accountId' => $this->user->getAccountId()]]], ['$or' => [['envId' => null], ['envId' => $this->getEnvironmentId()]]]], null, ['name' => true])->getArrayCopy());
     //$DBFarmRole->FarmID;
     $task = Scalr_SchedulerTask::init();
     $task->loadById($this->getParam(self::CALL_PARAM_NAME));
     $this->user->getPermissions()->validate($task);
     $taskValues = array('targetId' => $task->targetId, 'targetType' => $task->targetType, 'id' => $task->id, 'name' => $task->name, 'type' => $task->type, 'comments' => $task->comments, 'config' => $task->config, 'startTime' => $task->startTime ? Scalr_Util_DateTime::convertTimeZone(new DateTime($task->startTime), $task->timezone)->format('H:i') : '', 'startTimeDate' => $task->startTime ? Scalr_Util_DateTime::convertTimeZone(new DateTime($task->startTime), $task->timezone)->format('Y-m-d') : '', 'restartEvery' => $task->restartEvery, 'timezone' => $task->timezone);
     $taskValues['config']['scriptId'] = (int) $taskValues['config']['scriptId'];
     $taskValues['config']['scriptIsSync'] = (int) $taskValues['config']['scriptIsSync'];
     $farmWidget = array();
     switch ($task->targetType) {
         case Scalr_SchedulerTask::TARGET_FARM:
             $farmWidget = self::loadController('Farms')->getFarmWidget(array('farmId' => $task->targetId), 'addAll');
             break;
         case Scalr_SchedulerTask::TARGET_ROLE:
             $farmWidget = self::loadController('Farms')->getFarmWidget(array('farmRoleId' => $task->targetId), 'addAll');
             break;
         case Scalr_SchedulerTask::TARGET_INSTANCE:
             try {
                 $DBServer = DBServer::LoadByFarmRoleIDAndIndex($task->targetId, $task->targetServerIndex);
                 $farmWidget = self::loadController('Farms')->getFarmWidget(array('serverId' => $DBServer->serverId), 'addAll');
             } catch (Exception $e) {
                 $farmWidget = self::loadController('Farms')->getFarmWidget(array('farmRoleId' => $task->targetId), 'addAll');
             }
             break;
         default:
             break;
     }
     if ($task->type == Scalr_SchedulerTask::LAUNCH_FARM || $task->type == Scalr_SchedulerTask::TERMINATE_FARM) {
         $farmWidget['options'][] = 'disabledFarmRole';
     }
     $this->response->data(['farmWidget' => $farmWidget, 'task' => $taskValues, 'scripts' => Script::getList($this->user->getAccountId(), $this->getEnvironmentId())]);
 }
Esempio n. 4
0
File: Logs.php Progetto: scalr/scalr
 public function orchestrationAction()
 {
     $this->request->restrictAccess(Acl::RESOURCE_LOGS_ORCHESTRATION_LOGS);
     $farms = self::loadController('Farms')->getList();
     array_unshift($farms, ['id' => '0', 'name' => 'All farms']);
     //todo: use Script::getScriptingData
     $scripts = array_map(function ($s) {
         return ['id' => $s['id'], 'name' => $s['name']];
     }, Script::getList($this->user->getAccountId(), $this->getEnvironmentId()));
     array_unshift($scripts, ['id' => 0, 'name' => '']);
     $glEvents = array_keys(EVENT_TYPE::getScriptingEvents());
     sort($glEvents);
     array_unshift($glEvents, '');
     $events = array_merge($glEvents, array_keys(\Scalr\Model\Entity\EventDefinition::getList($this->user->getAccountId(), $this->getEnvironmentId())));
     $tasks = $this->db->GetAll('SELECT id, name FROM scheduler WHERE env_id = ? ORDER BY name ASC', [$this->getEnvironmentId()]);
     array_unshift($tasks, ['id' => 0, 'name' => '']);
     $this->response->page('ui/logs/orchestration.js', ['farms' => $farms, 'scripts' => $scripts, 'events' => $events, 'tasks' => $tasks]);
 }
Esempio n. 5
0
 /**
  * @param int $farmId
  * @param int $farmRoleId
  * @param string $serverId
  * @param int $scriptId
  * @param int $shortcutId
  * @throws Exception
  * @throws Scalr_Exception_InsufficientPermissions
  */
 public function executeAction($farmId = 0, $farmRoleId = 0, $serverId = '', $scriptId = 0, $shortcutId = 0)
 {
     $this->request->restrictAccess(Acl::RESOURCE_SCRIPTS_ENVIRONMENT, Acl::PERM_SCRIPTS_ENVIRONMENT_EXECUTE);
     $data = ['scripts' => Script::getList($this->user->getAccountId(), $this->getEnvironmentId())];
     if ($shortcutId) {
         /* @var $shortcut ScriptShortcut */
         $shortcut = ScriptShortcut::findPk($shortcutId);
         if (!$shortcut) {
             throw new Exception('Scalr unable to find script execution options for used link');
         }
         if ($shortcut->getScript()) {
             $shortcut->getScript()->checkPermission($this->user, $this->getEnvironmentId());
         }
         $scriptId = $shortcut->scriptId;
         $farmId = $shortcut->farmId;
         $farmRoleId = $shortcut->farmRoleId;
         $data['scriptId'] = $scriptId;
         $data['scriptPath'] = $shortcut->scriptPath;
         $data['scriptTimeout'] = $shortcut->timeout;
         $data['scriptVersion'] = $shortcut->version;
         $data['scriptIsSync'] = $shortcut->isSync;
         $data['scriptParams'] = $shortcut->params;
         $data['shortcutId'] = $shortcutId;
     }
     $data['farmWidget'] = self::loadController('Farms', 'Scalr_UI_Controller')->getFarmWidget(array('farmId' => $farmId == 0 ? '' : (string) $farmId, 'farmRoleId' => (string) $farmRoleId, 'serverId' => $serverId), array('addAll', 'addAllFarm', 'requiredFarm', 'permServers', 'isScalarizedOnly'));
     $data['scriptId'] = $scriptId;
     $this->response->page('ui/scripts/execute.js', $data);
 }