﻿---
title: stack kb logstash put-logstash-pipeline cli command
description: Create or update a Logstash pipeline Behaviour flags: --dry-run — validate all inputs and exit without performing any action 
url: https://www.elastic.co/elastic/docs-builder/docs/4492/reference/elastic-cli/cli/stack/kb/logstash/put-logstash-pipeline
applies_to:
  - Elastic Cloud Serverless: Preview
  - Elastic Stack: Preview
---

# stack kb logstash put-logstash-pipeline cli command
<cli-modifiers>
</cli-modifiers>

```bash
elastic stack kb logstash put-logstash-pipeline \
  --id <id> \
  --pipeline <pipeline> \
  [options]
```

Create or update a Logstash pipeline
**Behaviour flags:**
`--dry-run` — validate all inputs and exit without performing any action

## Options

<definitions>
  <definition term="--id string required">
    An identifier for the pipeline. Pipeline ID must begin with a letter or underscore and can contain only letters, underscores, dashes, hyphens, and numbers.
  </definition>
  <definition term="--pipeline string required">
    A definition for the pipeline.
  </definition>
  <definition term="--description string">
    A description of the pipeline.
  </definition>
  <definition term="--settings string">
    Supported settings, represented as object keys, include the following: - `pipeline.workers`
    - `pipeline.batch.size`
    - `pipeline.batch.delay`
    - `pipeline.ecs_compatibility`
    - `pipeline.ordered`
    - `queue.type`
    - `queue.max_bytes`
    - `queue.checkpoint.writes`
  </definition>
  <definition term="--input-file string">
    path to a JSON file to use as command input
  </definition>
  <definition term="--dry-run">
    validate all inputs and exit without performing any action (preview changes without applying them)
  </definition>
  <definition term="--no-validate">
    skip input validation and send the request as-is
  </definition>
</definitions>


## Global Options

<definitions>
  <definition term="--output-fields string">
    comma-separated list of fields to include in output (dot-notation supported)
  </definition>
  <definition term="--output-template string">
    Mustache-like template for custom text output (e.g. "{{id}}: {{name}}")
  </definition>
  <definition term="--json">
    output as JSON
  </definition>
</definitions>