$apiResponse = new APIViewData(1, $deployment, "Unable to use command name specified, detected forbidden characters " . implode('', array_unique($forbidden[0]))); $app->halt(404, $apiResponse->returnJson()); } elseif (!isset($nrpeCmdInfo['cmd_desc']) || empty($nrpeCmdInfo['cmd_desc'])) { $apiResponse = new APIViewData(1, $deployment, "Unable to detect cmd_desc parameter (command description)"); $app->halt(404, $apiResponse->returnJson()); } elseif (!isset($nrpeCmdInfo['cmd_line']) || empty($nrpeCmdInfo['cmd_line'])) { $apiResponse = new APIViewData(1, $deployment, "Unable to detect cmd_line parameter (command line for executing plugin)"); $app->halt(404, $apiResponse->returnJson()); } check_revision_status($deployment); $deployRev = RevDeploy::getDeploymentNextRev($deployment); if (RevDeploy::existsDeploymentNRPECmd($deployment, $nrpeCmdInfo['cmd_name'], $deployRev) === true) { RevDeploy::modifyDeploymentNRPECmd($deployment, $nrpeCmdInfo['cmd_name'], $nrpeCmdInfo, $deployRev); $apiResponse = new APIViewData(0, $deployment, "Successfully Modified NRPE Command: " . $nrpeCmdInfo['cmd_name']); } else { RevDeploy::createDeploymentNRPECmd($deployment, $nrpeCmdInfo['cmd_name'], $nrpeCmdInfo, $deployRev); $apiResponse = new APIViewData(0, $deployment, "Successfully Created NRPE Command: " . $nrpeCmdInfo['cmd_name']); } $apiResponse->printJson(); })->name('saigon-api-create-nrpe-cmd'); $app->get('/sapi/nrpecmd/:deployment/:nrpecmd(/:staged)', function ($deployment, $nrpeCmd, $staged = false) use($app) { check_deployment_exists($app, $deployment); // Load up Current Commands or Staged Commands if ($staged == 1) { $revs = RevDeploy::getDeploymentRevs($deployment); if ($revs['currrev'] == $revs['nextrev']) { $apiResponse = new APIViewData(1, $deployment, "Unable to detect staged revision to reference"); $app->halt(404, $apiResponse->returnJson()); } $deployRev = $revs['nextrev']; } else {
private static function copyNRPECmds($deployment, $revision, array $nrpeCmds) { if (self::$init === false) { self::init(); } foreach ($nrpeCmds as $nrpeCmd => $nrpeArray) { RevDeploy::createDeploymentNRPECmd($deployment, $nrpeCmd, $nrpeArray, $revision); } }
public function copy_to_write() { $viewData = new ViewData(); $deployment = $this->getDeployment('nrpe_cmd_error'); $nrpecmdInfo = $this->fetchNRPECmdInfo($deployment, 'copy_to_write'); $todeployment = $this->getParam('todeployment'); if ($todeployment === false) { $viewData->error = 'Unable to detect deployment to copy command to'; $viewData->availdeployments = $this->getDeploymentsAvailToUser(); $viewData->deployment = $deployment; $viewData->nrpecmdInfo = $nrpecmdInfo; $viewData->action = 'copy_to_write'; $this->sendResponse('command_action_stage', $viewData); } $this->checkGroupAuth($deployment); $this->checkDeploymentRevStatus($todeployment); $deployRev = RevDeploy::getDeploymentNextRev($deployment); $tdRev = RevDeploy::getDeploymentNextRev($todeployment); $nrpecmdName = $nrpecmdInfo['cmd_name']; $nrpecmdInfo = RevDeploy::getDeploymentNRPECmd($deployment, $nrpecmdName, $deployRev); if (RevDeploy::existsDeploymentNRPECmd($todeployment, $nrpecmdName, $tdRev) === true) { RevDeploy::modifyDeploymentNRPECmd($todeployment, $nrpecmdName, $nrpecmdInfo, $tdRev); } else { RevDeploy::createDeploymentNRPECmd($todeployment, $nrpecmdName, $nrpecmdInfo, $tdRev); } $viewData->deployment = $deployment; $viewData->todeployment = $todeployment; $viewData->command = $nrpecmdName; $this->sendResponse('nrpe_cmd_write', $viewData); }