serializer = $serializer; } public function getURI(): string { $job_id = $this->job_id ?? null; if (isset($job_id)) { return "/_ml/anomaly_detectors/$job_id/_data"; } throw new RuntimeException('Missing parameter for the endpoint ml.post_data'); } public function getParamWhitelist(): array { return [ 'reset_start', 'reset_end' ]; } public function getMethod(): string { return 'POST'; } public function setBody($body): PostData { if (isset($body) !== true) { return $this; } if (is_array($body) === true || $body instanceof Traversable) { foreach ($body as $item) { $this->body .= $this->serializer->serialize($item) . "\n"; } } elseif (is_string($body)) { $this->body = $body; if (substr($body, -1) != "\n") { $this->body .= "\n"; } } else { throw new InvalidArgumentException("Body must be an array, traversable object or string"); } return $this; } public function setJobId($job_id): PostData { if (isset($job_id) !== true) { return $this; } $this->job_id = $job_id; return $this; } }