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

# stack es cluster put-component-template cli command
<cli-modifiers>
</cli-modifiers>

```bash
elastic stack es cluster put-component-template \
  --template <template> \
  --name <name> \
  [options]
```

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

## Options

<definitions>
  <definition term="--template string required">
    The template to be applied which includes mappings, settings, or aliases configuration.
  </definition>
  <definition term="--name string required">
    Name of the component template to create.
    Elasticsearch includes the following built-in component templates: `logs-mappings`; `logs-settings`; `metrics-mappings`; `metrics-settings`;`synthetics-mapping`; `synthetics-settings`.
    Elastic Agent uses these templates to configure backing indices for its data streams.
    If you use Elastic Agent and want to overwrite one of these templates, set the `version` for your replacement template higher than the current version.
    If you don’t use Elastic Agent and want to disable all built-in component and index templates, set `stack.templates.enabled` to `false` using the cluster update settings API.
  </definition>
  <definition term="--create">
    If `true`, this request cannot replace or update existing component templates.
  </definition>
  <definition term="--cause string">
    User defined reason for create the component template.
  </definition>
  <definition term="--master-timeout string">
    Period to wait for a connection to the master node.
    If no response is received before the timeout expires, the request fails and returns an error.
  </definition>
  <definition term="--version number">
    Version number used to manage component templates externally.
    This number isn't automatically generated or incremented by Elasticsearch.
    To unset a version, replace the template without specifying a version.
  </definition>
  <definition term="--meta string">
    Optional user metadata about the component template.
    It may have any contents. This map is not automatically generated by Elasticsearch.
    This information is stored in the cluster state, so keeping it short is preferable.
    To unset `_meta`, replace the template without specifying this information.
  </definition>
  <definition term="--deprecated">
    Marks this index template as deprecated. When creating or updating a non-deprecated index template
    that uses deprecated components, Elasticsearch will emit a deprecation warning.
  </definition>
  <definition term="--error-trace">
    When set to `true` Elasticsearch will include the full stack trace of errors
    when they occur.
  </definition>
  <definition term="--filter-path string">
    Comma-separated list of filters in dot notation which reduce the response
    returned by Elasticsearch.
    **Repeatable:** pass `--filter-path` multiple times to supply more than one value
  </definition>
  <definition term="--human">
    When set to `true` will return statistics in a format suitable for humans.
    For example `"exists_time": "1h"` for humans and
    `"exists_time_in_millis": 3600000` for computers. When disabled the human
    readable values will be omitted. This makes sense for responses being consumed
    only by machines.
  </definition>
  <definition term="--pretty">
    If set to `true` the returned JSON will be "pretty-formatted". Only use
    this option for debugging only.
  </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>
</definitions>


## Global Options

<definitions>
  <definition term="--json">
    output as JSON
  </definition>
</definitions>