# Snapshot Lifecycle Management (SLM)

class elasticsearch.client.SlmClient

  To use this client, access `client.slm` from an `Elasticsearch` client. For example:

      from elasticsearch import Elasticsearch

      # Create the client instance
      client = Elasticsearch(...)
      # Use the slm client
      client.slm.<method>(...)

  delete_lifecycle(*, policy_id, error_trace=None, filter_path=None, human=None, master_timeout=None, pretty=None, timeout=None)

    Delete a policy.

    Delete a snapshot lifecycle policy definition. This operation prevents any future snapshots from being taken but does not cancel in-progress snapshots or remove previously-taken snapshots.

    https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-slm-delete-lifecycle

    Parameters:

      - policy_id (str) – The id of the snapshot lifecycle policy to remove

      - master_timeout (str | Literal[-1] | ~typing.Literal[0] | None) – 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.

      - timeout (str | Literal[-1] | ~typing.Literal[0] | None) – The period to wait for a response. If no response is received before the timeout expires, the request fails and returns an error.

      - error_trace (bool | None)

      - filter_path (str | Sequence[str] | None)

      - human (bool | None)

      - pretty (bool | None)

    Return type:

      ObjectApiResponse[Any]

  execute_lifecycle(*, policy_id, error_trace=None, filter_path=None, human=None, master_timeout=None, pretty=None, timeout=None)

    Run a policy.

    Immediately create a snapshot according to the snapshot lifecycle policy without waiting for the scheduled time. The snapshot policy is normally applied according to its schedule, but you might want to manually run a policy before performing an upgrade or other maintenance.

    https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-slm-execute-lifecycle

    Parameters:

      - policy_id (str) – The id of the snapshot lifecycle policy to be executed

      - master_timeout (str | Literal[-1] | ~typing.Literal[0] | None) – 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.

      - timeout (str | Literal[-1] | ~typing.Literal[0] | None) – The period to wait for a response. If no response is received before the timeout expires, the request fails and returns an error.

      - error_trace (bool | None)

      - filter_path (str | Sequence[str] | None)

      - human (bool | None)

      - pretty (bool | None)

    Return type:

      ObjectApiResponse[Any]

  execute_retention(*, error_trace=None, filter_path=None, human=None, master_timeout=None, pretty=None, timeout=None)

    Run a retention policy.

    Manually apply the retention policy to force immediate removal of snapshots that are expired according to the snapshot lifecycle policy retention rules. The retention policy is normally applied according to its schedule.

    https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-slm-execute-retention

    Parameters:

      - master_timeout (str | Literal[-1] | ~typing.Literal[0] | None) – 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.

      - timeout (str | Literal[-1] | ~typing.Literal[0] | None) – The period to wait for a response. If no response is received before the timeout expires, the request fails and returns an error.

      - error_trace (bool | None)

      - filter_path (str | Sequence[str] | None)

      - human (bool | None)

      - pretty (bool | None)

    Return type:

      ObjectApiResponse[Any]

  get_lifecycle(*, policy_id=None, error_trace=None, filter_path=None, human=None, master_timeout=None, pretty=None, timeout=None)

    Get policy information.

    Get snapshot lifecycle policy definitions and information about the latest snapshot attempts.

    https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-slm-get-lifecycle

    Parameters:

      - policy_id (str | Sequence[str] | None) – A comma-separated list of snapshot lifecycle policy identifiers.

      - master_timeout (str | Literal[-1] | ~typing.Literal[0] | None) – 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.

      - timeout (str | Literal[-1] | ~typing.Literal[0] | None) – The period to wait for a response. If no response is received before the timeout expires, the request fails and returns an error.

      - error_trace (bool | None)

      - filter_path (str | Sequence[str] | None)

      - human (bool | None)

      - pretty (bool | None)

    Return type:

      ObjectApiResponse[Any]

  get_stats(*, error_trace=None, filter_path=None, human=None, master_timeout=None, pretty=None, timeout=None)

    Get snapshot lifecycle management statistics.

    Get global and policy-level statistics about actions taken by snapshot lifecycle management.

    https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-slm-get-stats

    Parameters:

      - master_timeout (str | Literal[-1] | ~typing.Literal[0] | None) – 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.

      - timeout (str | Literal[-1] | ~typing.Literal[0] | None) – Period to wait for a response. If no response is received before the timeout expires, the request fails and returns an error.

      - error_trace (bool | None)

      - filter_path (str | Sequence[str] | None)

      - human (bool | None)

      - pretty (bool | None)

    Return type:

      ObjectApiResponse[Any]

  get_status(*, error_trace=None, filter_path=None, human=None, master_timeout=None, pretty=None, timeout=None)

    Get the snapshot lifecycle management status.

    https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-slm-get-status

    Parameters:

      - master_timeout (str | Literal[-1] | ~typing.Literal[0] | None) – 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.

      - timeout (str | Literal[-1] | ~typing.Literal[0] | None) – 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.

      - error_trace (bool | None)

      - filter_path (str | Sequence[str] | None)

      - human (bool | None)

      - pretty (bool | None)

    Return type:

      ObjectApiResponse[Any]

  put_lifecycle(*, policy_id, config=None, error_trace=None, filter_path=None, human=None, master_timeout=None, name=None, pretty=None, repository=None, retention=None, schedule=None, timeout=None, body=None)

    Create or update a policy.

    Create or update a snapshot lifecycle policy. If the policy already exists, this request increments the policy version. Only the latest version of a policy is stored.

    https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-slm-put-lifecycle

    Parameters:

      - policy_id (str) – The identifier for the snapshot lifecycle policy you want to create or update.

      - config (Mapping[str, Any] | None) – Configuration for each snapshot created by the policy.

      - master_timeout (str | Literal[-1] | ~typing.Literal[0] | None) – 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.

      - name (str | None) – 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.

      - repository (str | None) – 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.

      - retention (Mapping[str, Any] | None) – Retention rules used to retain and delete snapshots created by the policy.

      - schedule (str | None) – Periodic or absolute schedule at which the policy creates snapshots. SLM applies schedule changes immediately.

      - timeout (str | Literal[-1] | ~typing.Literal[0] | None) – 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.

      - error_trace (bool | None)

      - filter_path (str | Sequence[str] | None)

      - human (bool | None)

      - pretty (bool | None)

      - body (Dict[str, Any] | None)

    Return type:

      ObjectApiResponse[Any]

  start(*, error_trace=None, filter_path=None, human=None, master_timeout=None, pretty=None, timeout=None)

    Start snapshot lifecycle management.

    Snapshot lifecycle management (SLM) starts automatically when a cluster is formed. Manually starting SLM is necessary only if it has been stopped using the stop SLM API.

    https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-slm-start

    Parameters:

      - master_timeout (str | Literal[-1] | ~typing.Literal[0] | None) – 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.

      - timeout (str | Literal[-1] | ~typing.Literal[0] | None) – 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.

      - error_trace (bool | None)

      - filter_path (str | Sequence[str] | None)

      - human (bool | None)

      - pretty (bool | None)

    Return type:

      ObjectApiResponse[Any]

  stop(*, error_trace=None, filter_path=None, human=None, master_timeout=None, pretty=None, timeout=None)

    Stop snapshot lifecycle management.

    Stop all snapshot lifecycle management (SLM) operations and the SLM plugin. This API is useful when you are performing maintenance on a cluster and need to prevent SLM from performing any actions on your data streams or indices. Stopping SLM does not stop any snapshots that are in progress. You can manually trigger snapshots with the run snapshot lifecycle policy API even if SLM is stopped.

    The API returns a response as soon as the request is acknowledged, but the plugin might continue to run until in-progress operations complete and it can be safely stopped. Use the get snapshot lifecycle management status API to see if SLM is running.

    https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-slm-stop

    Parameters:

      - master_timeout (str | Literal[-1] | ~typing.Literal[0] | None) – 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.

      - timeout (str | Literal[-1] | ~typing.Literal[0] | None) – 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.

      - error_trace (bool | None)

      - filter_path (str | Sequence[str] | None)

      - human (bool | None)

      - pretty (bool | None)

    Return type:

      ObjectApiResponse[Any]