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