﻿---
title: stack es indices put-index-template cli command
description: Create or update an index template. Behaviour flags: --dry-run — validate all inputs and exit without performing any action 
url: https://docs-v3-preview.elastic.dev/elastic/cli/pull/480/cli/stack/es/indices/put-index-template
---

# stack es indices put-index-template cli command
<cli-modifiers>
</cli-modifiers>

```bash
elastic stack es indices put-index-template --name <name> [options]
```

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

## Options

<definitions>
  <definition term="--name string required">
    Index or template name
  </definition>
  <definition term="--[no-]create">
    If `true`, this request cannot replace or update existing index templates.
  </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="--cause string">
    User defined reason for creating or updating the index template
  </definition>
  <definition term="--index-patterns string">
    Array of wildcard (`*`) expressions used to match the names of data streams and indices during creation.
    **Repeatable:** pass `--index-patterns` multiple times to supply more than one value
  </definition>
  <definition term="--composed-of string[]">
    An ordered list of component template names. Component templates are merged in the order specified, meaning that the last component template specified has the highest precedence.
  </definition>
  <definition term="--template string">
    Template to be applied. It may optionally include an `aliases`, `mappings`, or `settings` configuration.
  </definition>
  <definition term="--data-stream string">
    If this object is included, the template is used to create data streams and their backing indices. Supports an empty object. Data streams require a matching index template with a `data_stream` object.
  </definition>
  <definition term="--priority number">
    Priority to determine index template precedence when a new data stream or index is created. The index template with the highest priority is chosen. If no priority is specified the template is treated as though it is of priority 0 (lowest priority). This number is not automatically generated by Elasticsearch.
  </definition>
  <definition term="--version number">
    Version number used to manage index templates externally. This number is not automatically generated by Elasticsearch. External systems can use these version numbers to simplify template management. To unset a version, replace the template without specifying one.
  </definition>
  <definition term="--meta string">
    Optional user metadata about the index template. It may have any contents. It is not automatically generated or used by Elasticsearch. This user-defined object is stored in the cluster state, so keeping it short is preferable To unset the metadata, replace the template without specifying it.
  </definition>
  <definition term="--[no-]allow-auto-create">
    This setting overrides the value of the `action.auto_create_index` cluster setting. If set to `true` in a template, then indices can be automatically created using that template even if auto-creation of indices is disabled via `actions.auto_create_index`. If set to `false`, then indices or data streams matching the template must always be explicitly created, and may never be automatically created.
  </definition>
  <definition term="--ignore-missing-component-templates string[]">
    The configuration option ignore_missing_component_templates can be used when an index template references a component template that might not exist
  </definition>
  <definition term="--[no-]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="--input-file string">
    path to a JSON file to use as command input
  </definition>
  <definition term="--[no-]dry-run">
    validate all inputs and exit without performing any action (preview changes without applying them)
  </definition>
</definitions>


## Global Options

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