* @license http://www.apache.org/licenses/LICENSE-2.0 Apache2 * @link http://elastic.co */ class Put extends AbstractEndpoint { // The name of the template private $name; /** * @param array $body * * @throws \Elasticsearch\Common\Exceptions\InvalidArgumentException * @return $this */ public function setBody($body) { if (isset($body) !== true) { return $this; } $this->body = $body; return $this; } /** * @param $name * * @return $this */ public function setName($name) { if (isset($name) !== true) { return $this; } $this->name = $name; return $this; } /** * @throws \Elasticsearch\Common\Exceptions\RuntimeException * @return string */ public function getURI() { if (isset($this->name) !== true) { throw new Exceptions\RuntimeException( 'name is required for Put' ); } $name = $this->name; $uri = "/_template/$name"; if (isset($name) === true) { $uri = "/_template/$name"; } return $uri; } /** * @return string[] */ public function getParamWhitelist() { return array( 'order', 'timeout', 'master_timeout', 'flat_settings', 'create' ); } /** * @return array * @throws \Elasticsearch\Common\Exceptions\RuntimeException */ public function getBody() { if (isset($this->body) !== true) { throw new Exceptions\RuntimeException('Body is required for Put Template'); } return $this->body; } /** * @return string */ public function getMethod() { return 'PUT'; } }