} unset($plugindata['deployment']); unset($plugindata['desc']); $results[$plugin] = $plugindata; } if (!empty($results)) { echo json_encode($results); return; } $apiResponse = new APIViewData(1, $deployment, "Unable to detect specified nagios plugins: {$plugins}"); $app->halt(403, $apiResponse->returnJson()); } else { $plugindata = RevDeploy::getDeploymentNagiosPlugin($deployment, $plugins, $deployrev); if (empty($plugindata)) { $commonrev = RevDeploy::getDeploymentRev('common'); $plugindata = RevDeploy::getDeploymentNagiosPlugin('common', $plugins, $commonrev); if (empty($plugindata)) { $apiResponse = new APIViewData(1, $deployment, "Unable to detect specified nagios plugin: {$plugins}"); $app->halt(403, $apiResponse->returnJson()); } } unset($plugindata['deployment']); unset($plugindata['desc']); $results[$plugins] = $plugindata; echo json_encode($results); return; } })->via('GET', 'POST'); $app->map('/api/getNagiosPlugins/:deployment', function ($deployment) use($app) { check_deployment_exists($app, $deployment); $deployrev = RevDeploy::getDeploymentRev($deployment);
foreach ($plugins as $plugin) { $pluginData = RevDeploy::getDeploymentNagiosPlugin($deployment, $plugin, $deployRev); if ($pluginData !== false) { $results[$plugin] = $pluginData; } } if (!empty($results)) { $apiResponse = new APIViewData(0, $deployment, false); $apiResponse->setExtraResponseData('plugins', $results); $apiResponse->printJson(); } else { $apiResponse = new APIViewData(1, $deployment, "Unable to detect nagios plugin(s) specified: {$nagiosPlugin}"); $app->halt(404, $apiResponse->returnJson()); } } else { $pluginData = RevDeploy::getDeploymentNagiosPlugin($deployment, $nagiosPlugin, $deployRev); if ($pluginData !== false) { $apiResponse = new APIViewData(0, $deployment, false); $apiResponse->setExtraResponseData('plugin', $pluginData); $apiResponse->printJson(); } else { $apiResponse = new APIViewData(1, $deployment, "Unable to detect nagios plugin specified: {$nagiosPlugin}"); $app->halt(404, $apiResponse->returnJson()); } } })->name('saigon-api-get-nagios-plugin'); $app->delete('/sapi/nagiosplugin/:deployment/:nagiosplugin', function ($deployment, $nagiosPlugin) use($app) { check_deployment_exists($app, $deployment); check_auth($app, $deployment); check_revision_status($deployment); $deployRev = RevDeploy::getDeploymentNextRev($deployment);
public function copy_to_write() { $viewData = new ViewData(); $deployment = $this->getDeployment('nagios_plugin_error'); $plugin = $this->getPlugin('nagios_plugin_error'); $todeployment = $this->getParam('todeployment'); if ($todeployment === false) { $viewData->header = $this->getErrorHeader('nagios_plugin_error'); $viewData->error = 'Unable to detect deployment to copy command to'; $this->sendResponse('generic_error', $viewData); } $this->checkGroupAuth($todeployment); $this->checkDeploymentRevStatus($todeployment); $tdRev = RevDeploy::getDeploymentNextRev($todeployment); $deployRev = RevDeploy::getDeploymentNextRev($deployment); $pluginInfo = RevDeploy::getDeploymentNagiosPlugin($deployment, $plugin, $deployRev); if (RevDeploy::existsDeploymentNagiosPlugin($todeployment, $plugin, $tdRev) === true) { RevDeploy::modifyDeploymentNagiosPlugin($todeployment, $plugin, $pluginInfo, $tdRev); } else { RevDeploy::createDeploymentNagiosPlugin($todeployment, $plugin, $pluginInfo, $tdRev); } $viewData->todeployment = $todeployment; $ccs = $this->getParam('ccs'); if ($ccs == 1) { $viewData->deployment = $todeployment; } else { $viewData->deployment = $deployment; } $viewData->plugin = $plugin; $this->sendResponse('nagios_plugin_write', $viewData); }