public function copy_write() { $viewData = new ViewData(); $deployment = $this->getDeployment('host_template_error'); $this->checkGroupAuth($deployment); $this->checkDeploymentRevStatus($deployment); $modrevision = RevDeploy::getDeploymentNextRev($deployment); $hostName = $this->getParam('hostName'); $hostInfo = $this->fetchHostTemplateInfo($deployment, 'copy_write', $modrevision); if (RevDeploy::existsDeploymentHostTemplate($deployment, $hostName, $modrevision) === true) { $viewData->error = 'Host template information exists for ' . $hostName . ' into ' . $deployment . ' Deployment'; $viewData->action = 'copy_write'; $viewData->hosttemplate = $hostName; $viewData->deployment = $deployment; $viewData->hosttemplates = RevDeploy::getCommonMergedDeploymentHostTemplates($deployment, $modrevision); $viewData->hostchkcmds = RevDeploy::getCommonMergedDeploymentHostCheckCommands($deployment, $modrevision); $viewData->timeperiods = RevDeploy::getCommonMergedDeploymentTimeperiods($deployment, $modrevision); $viewData->contacts = RevDeploy::getCommonMergedDeploymentContacts($deployment, $modrevision); $viewData->contactgroups = RevDeploy::getCommonMergedDeploymentContactGroups($deployment, $modrevision); $viewData->hostInfo = $hostInfo; $this->sendResponse('host_template_action_stage', $viewData); } if (RevDeploy::createDeploymentHostTemplate($deployment, $hostName, $hostInfo, $modrevision) === false) { $viewData->header = $this->getErrorHeader('host_template_error'); $viewData->error = 'Unable to write host tempalte information for ' . $hostName . ' into ' . $deployment . ' Deployment'; $this->sendError('generic_error', $viewData); } $viewData->deployment = $deployment; $viewData->host = $hostName; $this->sendResponse('host_template_write', $viewData); }
public function copy_write() { $viewData = new ViewData(); $deployment = $this->getDeployment('ngnt_error'); $this->checkGroupAuth($deployment); $this->checkDeploymentRevStatus($deployment); $modrevision = RevDeploy::getDeploymentNextRev($deployment); $ngntInfo = $this->fetchNGNTInfo($deployment, 'copy_write', $modrevision); if (RevDeploy::existsDeploymentNodeTemplate($deployment, $ngntInfo['name'], $modrevision) === true) { $viewData->error = 'Unable to process request, a node template with the same name already exists'; $viewData->nodeInfo = $ngntInfo; $viewData->services = RevDeploy::getCommonMergedDeploymentSvcs($deployment, $modrevision); $viewData->hosttemplates = RevDeploy::getCommonMergedDeploymentHostTemplates($deployment, $modrevision); if ($ngntInfo['type'] == 'dynamic') { $viewData->hostgroups = RevDeploy::getCommonMergedDeploymentHostGroups($deployment, $modrevision); $this->sendResponse('ngnt_action_stage', $viewData); } elseif ($ngntInfo['type'] == 'static') { $viewData->hostgroups = RevDeploy::getCommonMergedDeploymentHostGroups($deployment, $modrevision); $this->sendResponse('ngnt_action_static_stage', $viewData); } elseif ($ngntInfo['type'] == 'standard') { $this->sendResponse('ngnt_action_standard_stage', $viewData); } } if (RevDeploy::createDeploymentNodeTemplate($deployment, $ngntInfo['name'], $ngntInfo, $modrevision) === false) { $viewData->header = $this->getErrorHeader('ngnt_error'); $viewData->error = 'Unable to write node template information for ' . $ngntInfo['name'] . ' to ' . $deployment; $this->sendError('generic_error', $viewData); } $viewData->nodeTemp = $ngntInfo['name']; $viewData->deployment = $deployment; $this->sendResponse('ngnt_write', $viewData); }
public static function copyDeploymentRevision($deployment, $fromrev, $torev) { if (self::$init === false) { self::init(); } self::$m_commonrepo = RevDeploy::getDeploymentCommonRepo($deployment); $results = array(); $results['timeperiods'] = RevDeploy::getCommonMergedDeploymentTimeperiodswData($deployment, $fromrev); $results['commands'] = RevDeploy::getCommonMergedDeploymentCommands($deployment, $fromrev, false); $results['contacttemplates'] = RevDeploy::getCommonMergedDeploymentContactTemplates($deployment, $fromrev); $results['contactgroups'] = RevDeploy::getCommonMergedDeploymentContactGroups($deployment, $fromrev); $results['contacts'] = RevDeploy::getCommonMergedDeploymentContacts($deployment, $fromrev); $results['hosttemplates'] = RevDeploy::getCommonMergedDeploymentHostTemplates($deployment, $fromrev); $results['hostgroups'] = RevDeploy::getCommonMergedDeploymentHostGroups($deployment, $fromrev); $results['servicetemplates'] = RevDeploy::getCommonMergedDeploymentSvcTemplates($deployment, $fromrev); $results['servicegroups'] = RevDeploy::getCommonMergedDeploymentSvcGroups($deployment, $fromrev); $results['servicedependencies'] = RevDeploy::getCommonMergedDeploymentSvcDependencies($deployment, $fromrev); $results['serviceescalations'] = RevDeploy::getDeploymentSvcEscalationswInfo($deployment, $fromrev); $results['services'] = RevDeploy::getCommonMergedDeploymentSvcs($deployment, $fromrev); $results['nodetemplates'] = RevDeploy::getDeploymentNodeTemplateswInfo($deployment, $fromrev); $results['resourcecfg'] = RevDeploy::getDeploymentResourceCfg($deployment, $fromrev); $results['cgicfg'] = RevDeploy::getDeploymentCgiCfg($deployment, $fromrev); $results['modgearmancfg'] = RevDeploy::getDeploymentModgearmanCfg($deployment, $fromrev); $results['nagioscfg'] = RevDeploy::getDeploymentNagiosCfg($deployment, $fromrev); $results['nrpecmds'] = RevDeploy::getDeploymentNRPECmdswInfo($deployment, $fromrev); $results['nrpecfg'] = RevDeploy::getDeploymentNRPECfg($deployment, $fromrev); $results['nrpeplugins'] = RevDeploy::getDeploymentNRPEPluginswData($deployment, $fromrev); $results['supnrpecfg'] = RevDeploy::getDeploymentSupNRPECfg($deployment, $fromrev); $results['supnrpeplugins'] = RevDeploy::getDeploymentSupNRPEPluginswData($deployment, $fromrev); $results['nagiosplugins'] = RevDeploy::getDeploymentNagiosPluginswData($deployment, $fromrev); foreach ($results as $key => $value) { if (empty($value)) { continue; } switch ($key) { case 'timeperiods': self::copyTimeperiods($deployment, $torev, $results['timeperiods']); break; case 'commands': self::copyCommands($deployment, $torev, $results['commands']); break; case 'contacttemplates': self::copyContactTemplates($deployment, $torev, $results['contacttemplates']); break; case 'contactgroups': self::copyContactGroups($deployment, $torev, $results['contactgroups']); break; case 'contacts': self::copyContacts($deployment, $torev, $results['contacts']); break; case 'hosttemplates': self::copyHostTemplates($deployment, $torev, $results['hosttemplates']); break; case 'hostgroups': self::copyHostGroups($deployment, $torev, $results['hostgroups']); break; case 'servicetemplates': self::copyServiceTemplates($deployment, $torev, $results['servicetemplates']); break; case 'servicegroups': self::copyServiceGroups($deployment, $torev, $results['servicegroups']); break; case 'servicedependencies': self::copyServiceDependencies($deployment, $torev, $results['servicedependencies']); break; case 'serviceescalations': self::copyServiceEscalations($deployment, $torev, $results['serviceescalations']); break; case 'services': self::copyServices($deployment, $torev, $results['services']); break; case 'nodetemplates': self::copyNodeTemplates($deployment, $torev, $results['nodetemplates']); break; case 'resourcecfg': self::copyResourceCfg($deployment, $torev, $results['resourcecfg']); break; case 'cgicfg': self::copyCGICfg($deployment, $torev, $results['cgicfg']); break; case 'modgearmancfg': self::copyModgearmanCfg($deployment, $torev, $results['modgearmancfg']); break; case 'nagioscfg': self::copyNagiosCfg($deployment, $torev, $results['nagioscfg']); break; case 'nrpecmds': self::copyNRPECmds($deployment, $torev, $results['nrpecmds']); break; case 'nrpecfg': self::copyNRPECfg($deployment, $torev, $results['nrpecfg']); break; case 'nrpeplugins': self::copyNRPEPlugins($deployment, $torev, $results['nrpeplugins']); break; case 'supnrpecfg': self::copySupNRPECfg($deployment, $torev, $results['supnrpecfg']); break; case 'supnrpeplugins': self::copySupNRPEPlugins($deployment, $torev, $results['supnrpeplugins']); break; case 'nagiosplugins': self::copyNagiosPlugins($deployment, $torev, $results['nagiosplugins']); break; default: break; } } }
check_deployment_exists($app, $deployment); $request = $app->request(); $commonMerge = $request->get('common'); 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 { $deployRev = RevDeploy::getDeploymentRev($deployment); } $apiResponse = new APIViewData(0, $deployment, false); if ($commonMerge == 1) { $apiResponse->setExtraResponseData('host_templates', RevDeploy::getCommonMergedDeploymentHostTemplates($deployment, $deployRev)); } else { $apiResponse->setExtraResponseData('host_templates', RevDeploy::getDeploymentHostTemplateswInfo($deployment, $deployRev)); } $apiResponse->printJson(); })->name('saigon-api-get-host-templates'); $app->get('/sapi/hosttemplate/:deployment/:hosttemplate(/:staged)', function ($deployment, $hosttemplate, $staged = false) use($app) { check_deployment_exists($app, $deployment); 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 {