Exemplo n.º 1
0
            }
            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);
Exemplo n.º 2
0
        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);
 }