/** * Creates a new search job. * * @param string $search The search query for the job to perform. * @param array $args (optional) Job-specific creation arguments, * merged with {<br/> * **namespace**: (optional) {Splunk_Namespace} The namespace in which * to create the entity. Defaults to the service's * namespace.<br/> * }<br/> * For details, see the * <a href="http://docs.splunk.com/Documentation/Splunk/latest/RESTAPI/RESTsearch#search.2Fjobs"> * "POST search/jobs"</a> * endpoint in the REST API Documentation. * @return Splunk_Job * @throws Splunk_IOException */ public function create($search, $args = array()) { $args = array_merge(array('search' => $search), $args); if (array_key_exists('exec_mode', $args) && $args['exec_mode'] === 'oneshot') { throw new InvalidArgumentException('Cannot create oneshot jobs with this method. Use createOneshot() instead.'); } $namespace = Splunk_Util::getArgument($args, 'namespace', NULL); $response = $this->sendPost('', $args); $xml = new SimpleXMLElement($response->body); $sid = Splunk_XmlUtil::getTextContentAtXpath($xml, '/response/sid'); return $this->getReference($sid, $namespace); }