﻿---
title: stack es slm put-lifecycle cli command
description: Create or update a policy. 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/slm/put-lifecycle
applies_to:
  - Elastic Cloud Serverless: Preview
  - Elastic Stack: Preview
---

# stack es slm put-lifecycle cli command
<cli-modifiers>
</cli-modifiers>

```bash
elastic stack es slm put-lifecycle --policy-id <policy-id> [options]
```

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

## Options

<definitions>
  <definition term="--policy-id string required">
    The identifier for the snapshot lifecycle policy you want to create or update.
  </definition>
  <definition term="--master-timeout string">
    The 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.
    To indicate that the request should never timeout, set it to `-1`.
  </definition>
  <definition term="--timeout string">
    The period to wait for a response.
    If no response is received before the timeout expires, the request fails and returns an error.
    To indicate that the request should never timeout, set it to `-1`.
  </definition>
  <definition term="--config string">
    Configuration for each snapshot created by the policy.
  </definition>
  <definition term="--name string">
    Name automatically assigned to each snapshot created by the policy. Date math is supported. To prevent conflicting snapshot names, a UUID is automatically appended to each snapshot name.
  </definition>
  <definition term="--repository string">
    Repository used to store snapshots created by this policy. This repository must exist prior to the policy’s creation. You can create a repository using the snapshot repository API.
  </definition>
  <definition term="--retention string">
    Retention rules used to retain and delete snapshots created by the policy.
  </definition>
  <definition term="--schedule string">
    Periodic or absolute schedule at which the policy creates snapshots. SLM applies schedule changes immediately.
  </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>