elasticsearch/docs/reference/rest-api/logstash/put-pipeline.asciidoc
James Rodewig 255c9a7f95
[DOCS] Move x-pack docs to docs/reference dir (#99209)
**Problem:**
For historical reasons, source files for the Elasticsearch Guide's security, watcher, and Logstash API docs are housed in the `x-pack/docs` directory. This can confuse new contributors who expect Elasticsearch Guide docs to be located in `docs/reference`. 

**Solution:**
- Move the security, watcher, and Logstash API doc source files to the `docs/reference` directory
- Update doc snippet tests to use security

Rel: https://github.com/elastic/platform-docs-team/issues/208
2023-09-12 14:53:41 -04:00

97 lines
2.7 KiB
Text

[role="xpack"]
[[logstash-api-put-pipeline]]
=== Create or update {ls} pipeline API
++++
<titleabbrev>Create or update {ls} pipeline</titleabbrev>
++++
This API creates or updates a {ls} pipeline used for
{logstash-ref}/logstash-centralized-pipeline-management.html[{ls} Central
Management].
[[logstash-api-put-pipeline-request]]
==== {api-request-title}
`PUT _logstash/pipeline/<pipeline_id>`
[[logstash-api-put-pipeline-prereqs]]
==== {api-prereq-title}
* If the {es} {security-features} are enabled, you must have the
`manage_logstash_pipelines` cluster privilege to use this API.
[[logstash-api-put-pipeline-desc]]
==== {api-description-title}
Creates a {ls} pipeline. If the specified pipeline exists, the pipeline is
replaced.
[[logstash-api-put-pipeline-params]]
==== {api-path-parms-title}
`<pipeline_id>`::
(Required, string) Identifier for the pipeline.
[[logstash-api-put-pipeline-request-body]]
==== {api-request-body-title}
`description`::
(Optional, string)
Description of the pipeline. This description is not used by {es} or {ls}.
`last_modified`::
(Required, string)
Date the pipeline was last updated. Must be in the `yyyy-MM-dd'T'HH:mm:ss.SSSZZ`
<<mapping-date-format,`strict_date_time`>> format.
`pipeline`::
(Required, string)
Configuration for the pipeline. For supported syntax, see the
{logstash-ref}/configuration-file-structure.html[{ls} configuration
documentation].
`pipeline_metadata`::
(Required, object)
Optional metadata about the pipeline. May have any contents. This metadata is
not generated or used by {es} or {ls}.
`pipeline_settings`::
(Required, object)
Settings for the pipeline. Supports only flat keys in dot notation. For
supported settings, see the {logstash-ref}/logstash-settings-file.html[{ls}
settings documentation].
`username`::
(Required, string)
User who last updated the pipeline.
[[logstash-api-put-pipeline-example]]
==== {api-examples-title}
The following example creates a new pipeline named `my_pipeline`:
[source,console]
--------------------------------------------------
PUT _logstash/pipeline/my_pipeline
{
"description": "Sample pipeline for illustration purposes",
"last_modified": "2021-01-02T02:50:51.250Z",
"pipeline_metadata": {
"type": "logstash_pipeline",
"version": "1"
},
"username": "elastic",
"pipeline": "input {}\n filter { grok {} }\n output {}",
"pipeline_settings": {
"pipeline.workers": 1,
"pipeline.batch.size": 125,
"pipeline.batch.delay": 50,
"queue.type": "memory",
"queue.max_bytes": "1gb",
"queue.checkpoint.writes": 1024
}
}
--------------------------------------------------
If the request succeeds, you receive an empty response with an appropriate
status code.