Action Classes
**************

See also: It is important to note that each action has a
  *do_action()* method, which accepts no arguments.  This is the means
  by which all actions are executed.

* Alias

* Allocation

* Close

* ClusterRouting

* CreateIndex

* DeleteIndices

* DeleteSnapshots

* ForceMerge

* IndexSettings

* Open

* Reindex

* Replicas

* Restore

* Rollover

* Shrink

* Snapshot


Alias
=====

class curator.actions.Alias(name=None, extra_settings={}, **kwargs)

   Define the Alias object.

   Parameters:
      * **name** -- The alias name

      * **extra_settings** (*dict**, **representing the settings.*)
        -- Extra settings, including filters and routing. For more
        information see https://www.elastic.co/guide/en/elasticsearch
        /reference/current/indices-aliases.html

   actions = None

      The list of actions to perform.  Populated by
      "curator.actions.Alias.add" and "curator.actions.Alias.remove"

   add(ilo, warn_if_no_indices=False)

      Create *add* statements for each index in *ilo* for *alias*,
      then append them to *actions*.  Add any *extras* that may be
      there.

      Parameters:
         **ilo** -- A "curator.indexlist.IndexList" object

   body()

      Return a *body* string suitable for use with the
      *update_aliases* API call.

   client = None

      Instance variable. The Elasticsearch Client object derived from
      *ilo*

   do_action()

      Run the API call *update_aliases* with the results of *body()*

   do_dry_run()

      Log what the output would be, but take no action.

   extra_settings = None

      Instance variable. Any extra things to add to the alias, like
      filters, or routing.

   name = None

      Instance variable The strftime parsed version of *name*.

   remove(ilo, warn_if_no_indices=False)

      Create *remove* statements for each index in *ilo* for *alias*,
      then append them to *actions*.

      Parameters:
         **ilo** -- A "curator.indexlist.IndexList" object

   warn_if_no_indices = None

      Instance variable. Preset default value to *False*.


Allocation
==========

class curator.actions.Allocation(ilo, key=None, value=None, allocation_type='require', wait_for_completion=False, wait_interval=3, max_wait=-1)

   Parameters:
      * **ilo** -- A "curator.indexlist.IndexList" object

      * **key** -- An arbitrary metadata attribute key.  Must match
        the key assigned to at least some of your nodes to have any
        effect.

      * **value** -- An arbitrary metadata attribute value.  Must
        correspond to values associated with *key* assigned to at
        least some of your nodes to have any effect. If a *None* value
        is provided, it will remove any setting associated with that
        *key*.

      * **allocation_type** -- Type of allocation to apply. Default
        is *require*

      * **wait_for_completion** (*bool*) -- Wait (or not) for the
        operation to complete before returning.  (default: *False*)

      * **wait_interval** -- How long in seconds to wait between
        checks for completion.

      * **max_wait** -- Maximum number of seconds to
        *wait_for_completion*

   Note: See:
     https://www.elastic.co/guide/en/elasticsearch/reference/current
     /shard-allocation-filtering.html

   client = None

      Instance variable. The Elasticsearch Client object derived from
      *ilo*

   do_action()

      Change allocation settings for indices in *index_list.indices*
      with the settings in *body*.

   do_dry_run()

      Log what the output would be, but take no action.

   index_list = None

      Instance variable. Internal reference to *ilo*

   max_wait = None

      Instance variable. How long in seconds to *wait_for_completion*
      before returning with an exception. A value of -1 means wait
      forever.

   wait_interval = None

      Instance variable How many seconds to wait between checks for
      completion.

   wfc = None

      Instance variable. Internal reference to *wait_for_completion*


Close
=====

class curator.actions.Close(ilo, delete_aliases=False)

   Parameters:
      * **ilo** -- A "curator.indexlist.IndexList" object

      * **delete_aliases** (*bool*) -- If *True*, will delete any
        associated aliases before closing indices.

   client = None

      Instance variable. The Elasticsearch Client object derived from
      *ilo*

   delete_aliases = None

      Instance variable. Internal reference to *delete_aliases*

   do_action()

      Close open indices in *index_list.indices*

   do_dry_run()

      Log what the output would be, but take no action.

   index_list = None

      Instance variable. Internal reference to *ilo*


ClusterRouting
==============

class curator.actions.ClusterRouting(client, routing_type=None, setting=None, value=None, wait_for_completion=False, wait_interval=9, max_wait=-1)

   For now, the cluster routing settings are hardcoded to be
   "transient"

   Parameters:
      * **client** -- An "elasticsearch.Elasticsearch" client object

      * **routing_type** -- Type of routing to apply. Either
        *allocation* or *rebalance*

      * **setting** -- Currently, the only acceptable value for
        *setting* is "enable". This is here in case that changes.

      * **value** -- Used only if *setting* is *enable*. Semi-
        dependent on *routing_type*. Acceptable values for
        *allocation* and *rebalance* are "all", "primaries", and
        "none" (string, not *NoneType*). If *routing_type* is
        *allocation*, this can also be "new_primaries", and if
        *rebalance*, it can be "replicas".

      * **wait_for_completion** (*bool*) -- Wait (or not) for the
        operation to complete before returning.  (default: *False*)

      * **wait_interval** -- How long in seconds to wait between
        checks for completion.

      * **max_wait** -- Maximum number of seconds to
        *wait_for_completion*

   client = None

      Instance variable. An "elasticsearch.Elasticsearch" client
      object

   do_action()

      Change cluster routing settings with the settings in *body*.

   do_dry_run()

      Log what the output would be, but take no action.

   max_wait = None

      Instance variable. How long in seconds to *wait_for_completion*
      before returning with an exception. A value of -1 means wait
      forever.

   wait_interval = None

      Instance variable How many seconds to wait between checks for
      completion.

   wfc = None

      Instance variable. Internal reference to *wait_for_completion*


CreateIndex
===========

class curator.actions.CreateIndex(client, name, extra_settings={})

   Parameters:
      * **client** -- An "elasticsearch.Elasticsearch" client object

      * **name** -- A name, which can contain "time.strftime()"
        strings

      * **extra_settings** (*dict**, **representing the settings and
        mappings.*) -- The *settings* and *mappings* for the index.
        For more information see https://www.elastic.co/guide/en/elas
        ticsearch/reference/current/indices-create-index.html

   body = None

      Instance variable. Extracted from the config yaml, it should be
      a dictionary of mappings and settings suitable for index
      creation.

   client = None

      Instance variable. An "elasticsearch.Elasticsearch" client
      object

   do_action()

      Create index identified by *name* with settings in *body*

   do_dry_run()

      Log what the output would be, but take no action.

   name = None

      Instance variable. The parsed version of *name*


DeleteIndices
=============

class curator.actions.DeleteIndices(ilo, master_timeout=30)

   Parameters:
      * **ilo** -- A "curator.indexlist.IndexList" object

      * **master_timeout** -- Number of seconds to wait for master
        node response

   client = None

      Instance variable. The Elasticsearch Client object derived from
      *ilo*

   do_action()

      Delete indices in *index_list.indices*

   do_dry_run()

      Log what the output would be, but take no action.

   index_list = None

      Instance variable. Internal reference to *ilo*

   master_timeout = None

      Instance variable. String value of *master_timeout* + 's', for
      seconds.


DeleteSnapshots
===============

class curator.actions.DeleteSnapshots(slo, retry_interval=120, retry_count=3)

   Parameters:
      * **slo** -- A "curator.snapshotlist.SnapshotList" object

      * **retry_interval** -- Number of seconds to delay betwen
        retries. Default: 120 (seconds)

      * **retry_count** -- Number of attempts to make. Default: 3

   client = None

      Instance variable. The Elasticsearch Client object derived from
      *slo*

   do_action()

      Delete snapshots in *slo* Retry up to *retry_count* times,
      pausing *retry_interval* seconds between retries.

   do_dry_run()

      Log what the output would be, but take no action.

   repository = None

      Instance variable. The repository name derived from *slo*

   retry_count = None

      Instance variable. Internally accessible copy of *retry_count*

   retry_interval = None

      Instance variable. Internally accessible copy of
      *retry_interval*

   snapshot_list = None

      Instance variable. Internal reference to *slo*


ForceMerge
==========

class curator.actions.ForceMerge(ilo, max_num_segments=None, delay=0)

   Parameters:
      * **ilo** -- A "curator.indexlist.IndexList" object

      * **max_num_segments** -- Number of segments per shard to
        forceMerge

      * **delay** -- Number of seconds to delay between forceMerge
        operations

   client = None

      Instance variable. The Elasticsearch Client object derived from
      *ilo*

   delay = None

      Instance variable. Internally accessible copy of *delay*

   do_action()

      forcemerge indices in *index_list.indices*

   do_dry_run()

      Log what the output would be, but take no action.

   index_list = None

      Instance variable. Internal reference to *ilo*

   max_num_segments = None

      Instance variable. Internally accessible copy of
      *max_num_segments*


IndexSettings
=============

class curator.actions.IndexSettings(ilo, index_settings={}, ignore_unavailable=False, preserve_existing=False)

   Parameters:
      * **ilo** -- A "curator.indexlist.IndexList" object

      * **index_settings** -- A dictionary structure with one or
        more index settings to change.

      * **ignore_unavailable** -- Whether specified concrete indices
        should be ignored when unavailable (missing or closed)

      * **preserve_existing** -- Whether to update existing
        settings. If set to "True" existing settings on an index
        remain unchanged. The default is "False"

   body = None

      Instance variable. Internal reference to *index_settings*

   client = None

      Instance variable. The Elasticsearch Client object derived from
      *ilo*

   do_dry_run()

      Log what the output would be, but take no action.

   ignore_unavailable = None

      Instance variable. Internal reference to *ignore_unavailable*

   index_list = None

      Instance variable. Internal reference to *ilo*

   preserve_existing = None

      Instance variable. Internal reference to *preserve_settings*


Open
====

class curator.actions.Open(ilo)

   Parameters:
      **ilo** -- A "curator.indexlist.IndexList" object

   client = None

      Instance variable. The Elasticsearch Client object derived from
      *ilo*

   do_action()

      Open closed indices in *index_list.indices*

   do_dry_run()

      Log what the output would be, but take no action.

   index_list = None

      Instance variable. Internal reference to *ilo*


Reindex
=======

class curator.actions.Reindex(ilo, request_body, refresh=True, requests_per_second=-1, slices=1, timeout=60, wait_for_active_shards=1, wait_for_completion=True, max_wait=-1, wait_interval=9, remote_url_prefix=None, remote_ssl_no_validate=None, remote_certificate=None, remote_client_cert=None, remote_client_key=None, remote_aws_key=None, remote_aws_secret_key=None, remote_aws_region=None, remote_filters={}, migration_prefix='', migration_suffix='')

   Parameters:
      * **ilo** -- A "curator.indexlist.IndexList" object

      * **request_body** -- The body to send to
        "elasticsearch.Elasticsearch.reindex()", which must be
        complete and usable, as Curator will do no vetting of the
        request_body. If it fails to function, Curator will return an
        exception.

      * **refresh** (*bool*) -- Whether to refresh the entire target
        index after the operation is complete. (default: *True*)

      * **requests_per_second** -- The throttle to set on this
        request in sub-requests per second. "-1" means set no throttle
        as does "unlimited" which is the only non-float this accepts.
        (default: "-1")

      * **slices** -- The number of slices this task  should be
        divided into. 1 means the task will not be sliced into
        subtasks. (default: "1")

      * **timeout** -- The length in seconds each individual bulk
        request should wait for shards that are unavailable. (default:
        "60")

      * **wait_for_active_shards** -- Sets the number of shard
        copies that must be active before proceeding with the reindex
        operation. (default: "1") means the primary shard only. Set to
        "all" for all shard copies, otherwise set to any non-negative
        value less than or equal to the total number of copies for the
        shard (number of replicas + 1)

      * **wait_for_completion** (*bool*) -- Wait (or not) for the
        operation to complete before returning.  (default: *True*)

      * **wait_interval** -- How long in seconds to wait between
        checks for completion.

      * **max_wait** -- Maximum number of seconds to
        *wait_for_completion*

      * **remote_url_prefix** (*str*) -- *Optional* url prefix, if
        needed to reach the Elasticsearch API (i.e., it's not at the
        root level)

      * **remote_ssl_no_validate** (*bool*) -- If *True*, do not
        validate the certificate chain.  This is an insecure option
        and you will see warnings in the log output.

      * **remote_certificate** -- Path to SSL/TLS certificate

      * **remote_client_cert** -- Path to SSL/TLS client certificate
        (public key)

      * **remote_client_key** -- Path to SSL/TLS private key

      * **remote_aws_key** -- AWS IAM Access Key (Only used if the
        "requests-aws4auth" python module is installed)

      * **remote_aws_secret_key** -- AWS IAM Secret Access Key (Only
        used if the "requests-aws4auth" python module is installed)

      * **remote_aws_region** -- AWS Region (Only used if the
        "requests-aws4auth" python module is installed)

      * **remote_filters** -- Apply these filters to the remote
        client for remote index selection.

      * **migration_prefix** -- When migrating, prepend this value
        to the index name.

      * **migration_suffix** -- When migrating, append this value to
        the index name.

   body = None

      Instance variable. Internal reference to *request_body*

   client = None

      Instance variable. The Elasticsearch Client object derived from
      *ilo*

   do_action()

      Execute "elasticsearch.Elasticsearch.reindex()" operation with
      the provided request_body and arguments.

   do_dry_run()

      Log what the output would be, but take no action.

   index_list = None

      Instance variable. Internal reference to *ilo*

   max_wait = None

      Instance variable. How long in seconds to *wait_for_completion*
      before returning with an exception. A value of -1 means wait
      forever.

   mpfx = None

      Instance variable. Internal reference to *migration_prefix*

   msfx = None

      Instance variable. Internal reference to *migration_suffix*

   refresh = None

      Instance variable. Internal reference to *refresh*

   requests_per_second = None

      Instance variable. Internal reference to *requests_per_second*

   show_run_args(source, dest)

      Show what will run

   slices = None

      Instance variable. Internal reference to *slices*

   timeout = None

      Instance variable. Internal reference to *timeout*, and add "s"
      for seconds.

   wait_for_active_shards = None

      Instance variable. Internal reference to
      *wait_for_active_shards*

   wait_interval = None

      Instance variable How many seconds to wait between checks for
      completion.

   wfc = None

      Instance variable. Internal reference to *wait_for_completion*


Replicas
========

class curator.actions.Replicas(ilo, count=None, wait_for_completion=False, wait_interval=9, max_wait=-1)

   Parameters:
      * **ilo** -- A "curator.indexlist.IndexList" object

      * **count** -- The count of replicas per shard

      * **wait_for_completion** (*bool*) -- Wait (or not) for the
        operation to complete before returning.  (default: *False*)

      * **wait_interval** -- How long in seconds to wait between
        checks for completion.

      * **max_wait** -- Maximum number of seconds to
        *wait_for_completion*

   client = None

      Instance variable. The Elasticsearch Client object derived from
      *ilo*

   count = None

      Instance variable. Internally accessible copy of *count*

   do_action()

      Update the replica count of indices in *index_list.indices*

   do_dry_run()

      Log what the output would be, but take no action.

   index_list = None

      Instance variable. Internal reference to *ilo*

   max_wait = None

      Instance variable. How long in seconds to *wait_for_completion*
      before returning with an exception. A value of -1 means wait
      forever.

   wait_interval = None

      Instance variable How many seconds to wait between checks for
      completion.

   wfc = None

      Instance variable. Internal reference to *wait_for_completion*


Restore
=======

class curator.actions.Restore(slo, name=None, indices=None, include_aliases=False, ignore_unavailable=False, include_global_state=False, partial=False, rename_pattern=None, rename_replacement=None, extra_settings={}, wait_for_completion=True, wait_interval=9, max_wait=-1, skip_repo_fs_check=False)

   Parameters:
      * **slo** -- A "curator.snapshotlist.SnapshotList" object

      * **name** (*str*) -- Name of the snapshot to restore.  If no
        name is provided, it will restore the most recent snapshot by
        age.

      * **indices** (*list*) -- A list of indices to restore.  If no
        indices are provided, it will restore all indices in the
        snapshot.

      * **include_aliases** (*bool*) -- If set to *True*, restore
        aliases with the indices. (default: *False*)

      * **ignore_unavailable** (*bool*) -- Ignore unavailable
        shards/indices. (default: *False*)

      * **include_global_state** (*bool*) -- Restore cluster global
        state with snapshot. (default: *False*)

      * **partial** (*bool*) -- Do not fail if primary shard is
        unavailable. (default: *False*)

      * **rename_pattern** (*str*) -- A regular expression pattern
        with one or more captures, e.g. "index_(.+)"

      * **rename_replacement** (*str*) -- A target index name
        pattern with *$#* numbered references to the captures in
        "rename_pattern", e.g. "restored_index_$1"

      * **extra_settings** (*dict**, **representing the settings.*)
        -- Extra settings, including shard count and settings to omit.
        For more information see https://www.elastic.co/guide/en/elas
        ticsearch/reference/current/modules-
        snapshots.html#_changing_index_settings_during_restore

      * **wait_for_completion** (*bool*) -- Wait (or not) for the
        operation to complete before returning.  (default: *True*)

      * **wait_interval** -- How long in seconds to wait between
        checks for completion.

      * **max_wait** -- Maximum number of seconds to
        *wait_for_completion*

      * **skip_repo_fs_check** (*bool*) -- Do not validate write
        access to repository on all cluster nodes before proceeding.
        (default: *False*).  Useful for shared filesystems where
        intermittent timeouts can affect validation, but won't likely
        affect snapshot success.

   body = None

      Instance variable. Populated at instance creation time from the
      other options

   client = None

      Instance variable. The Elasticsearch Client object derived from
      *slo*

   do_action()

      Restore indices with options passed.

   do_dry_run()

      Log what the output would be, but take no action.

   max_wait = None

      Instance variable. How long in seconds to *wait_for_completion*
      before returning with an exception. A value of -1 means wait
      forever.

   name = None

      Instance variable. Will use a provided snapshot name, or the
      most recent snapshot in slo

   py_rename_replacement = None

      Also an instance variable version of "rename_replacement" but
      with Java regex group designations of "$#" converted to Python's
      "\\#" style.

   rename_pattern = None

      Instance variable version of "rename_pattern"

   rename_replacement = None

      Instance variable version of "rename_replacement"

   report_state()

      Log the state of the restore This should only be done if
      "wait_for_completion" is *True*, and only after completing the
      restore.

   repository = None

      Instance variable. *repository* derived from *slo*

   skip_repo_fs_check = None

      Instance variable. Internally accessible copy of
      *skip_repo_fs_check*

   snapshot_list = None

      Instance variable. Internal reference to *slo*

   wait_interval = None

      Instance variable How many seconds to wait between checks for
      completion.


Rollover
========

class curator.actions.Rollover(client, name, conditions, new_index=None, extra_settings=None, wait_for_active_shards=1)

   Parameters:
      * **client** -- An "elasticsearch.Elasticsearch" client object

      * **name** -- The name of the single-index-mapped alias to
        test for rollover conditions.

      * **conditions** -- A dictionary of conditions to test

      * **extra_settings** -- Must be either *None*, or a dictionary
        of settings to apply to the new index on rollover. This is
        used in place of *settings* in the Rollover API, mostly
        because it's already existent in other places here in Curator

      * **wait_for_active_shards** -- The number of shards expected
        to be active before returning.

   New_index:
      The new index name

   body()

      Create a body from conditions and settings

   client = None

      Instance variable. The Elasticsearch Client object

   conditions = None

      Instance variable. Internal reference to *conditions*

   do_action()

      Rollover the index referenced by alias *name*

   do_dry_run()

      Log what the output would be, but take no action.

   doit(dry_run=False)

      This exists solely to prevent having to have duplicate code in
      both *do_dry_run* and *do_action*

   new_index = None

      Instance variable. Internal reference to *new_index*

   settings = None

      Instance variable. Internal reference to *extra_settings*

   wait_for_active_shards = None

      Instance variable. Internal reference to
      *wait_for_active_shards*


Shrink
======

class curator.actions.Shrink(ilo, shrink_node='DETERMINISTIC', node_filters={}, number_of_shards=1, number_of_replicas=1, shrink_prefix='', shrink_suffix='-shrink', copy_aliases=False, delete_after=True, post_allocation={}, wait_for_active_shards=1, wait_for_rebalance=True, extra_settings={}, wait_for_completion=True, wait_interval=9, max_wait=-1)

   Parameters:
      * **ilo** -- A "curator.indexlist.IndexList" object

      * **shrink_node** -- The node name to use as the shrink
        target, or "DETERMINISTIC", which will use the values in
        "node_filters" to determine which node will be the shrink
        node.

      * **node_filters** (*dict**, **representing the filters*) --
        If the value of "shrink_node" is "DETERMINISTIC", the values
        in "node_filters" will be used while determining which node to
        allocate the shards on before performing the shrink.

      * **number_of_shards** -- The number of shards the shrunk
        index should have

      * **number_of_replicas** -- The number of replicas for the
        shrunk index

      * **shrink_prefix** -- Prepend the shrunk index with this
        value

      * **shrink_suffix** -- Append the value to the shrunk index
        (default: *-shrink*)

      * **copy_aliases** (*bool*) -- Whether to copy each source
        index aliases to target index after shrinking. the aliases
        will be added to target index and deleted from source index at
        the same time(default: *False*)

      * **delete_after** (*bool*) -- Whether to delete each index
        after shrinking. (default: *True*)

      * **post_allocation** (dict, with keys *allocation_type*,
        *key*, and *value*) -- If populated, the *allocation_type*,
        *key*, and *value* will be applied to the shrunk index to re-
        route it.

      * **wait_for_active_shards** -- The number of shards expected
        to be active before returning.

      * **extra_settings** (*dict*) -- Permitted root keys are
        *settings* and *aliases*. See https://www.elastic.co/guide/en
        /elasticsearch/reference/current/indices-shrink-index.html

      * **wait_for_rebalance** (*bool*) -- Wait for rebalance.
        (default: *True*)

      * **wait_for_active_shards** -- Wait for active shards before
        returning.

      * **wait_for_completion** (*bool*) -- Wait (or not) for the
        operation to complete before returning.  You should not
        normally change this, ever. (default: *True*)

      * **wait_interval** -- How long in seconds to wait between
        checks for completion.

      * **max_wait** -- Maximum number of seconds to
        *wait_for_completion*

   client = None

      Instance variable. The Elasticsearch Client object derived from
      *ilo*

   copy_aliases = None

      Instance variable. Internal reference to *copy_aliases*

   delete_after = None

      Instance variable. Internal reference to *delete_after*

   do_dry_run()

      Show what a regular run would do, but don't actually do it.

   index_list = None

      Instance variable. Internal reference to *ilo*

   max_wait = None

      Instance variable. How long in seconds to *wait_for_completion*
      before returning with an exception. A value of -1 means wait
      forever.

   most_available_node()

      Determine which data node name has the most available free
      space, and meets the other node filters settings.

      Parameters:
         **client** -- An "elasticsearch.Elasticsearch" client object

   node_filters = None

      Instance variable. Internal reference to *node_filters*

   number_of_shards = None

      Instance variable. Internal reference to *number_of_shards*

   post_allocation = None

      Instance variable. Internal reference to *post_allocation*

   shrink_node = None

      Instance variable. Internal reference to *shrink_node*

   shrink_prefix = None

      Instance variable. Internal reference to *shrink_prefix*

   shrink_suffix = None

      Instance variable. Internal reference to *shrink_suffix*

   wait_for_rebalance = None

      Instance variable. Internal reference to *wait_for_rebalance*

   wait_interval = None

      Instance variable. How many seconds to wait between checks for
      completion.

   wfc = None

      Instance variable. Internal reference to *wait_for_completion*


Snapshot
========

class curator.actions.Snapshot(ilo, repository=None, name=None, ignore_unavailable=False, include_global_state=True, partial=False, wait_for_completion=True, wait_interval=9, max_wait=-1, skip_repo_fs_check=False)

   Parameters:
      * **ilo** -- A "curator.indexlist.IndexList" object

      * **repository** -- The Elasticsearch snapshot repository to
        use

      * **name** -- What to name the snapshot.

      * **wait_for_completion** (*bool*) -- Wait (or not) for the
        operation to complete before returning.  (default: *True*)

      * **wait_interval** -- How long in seconds to wait between
        checks for completion.

      * **max_wait** -- Maximum number of seconds to
        *wait_for_completion*

      * **ignore_unavailable** (*bool*) -- Ignore unavailable
        shards/indices. (default: *False*)

      * **include_global_state** (*bool*) -- Store cluster global
        state with snapshot. (default: *True*)

      * **partial** (*bool*) -- Do not fail if primary shard is
        unavailable. (default: *False*)

      * **skip_repo_fs_check** (*bool*) -- Do not validate write
        access to repository on all cluster nodes before proceeding.
        (default: *False*).  Useful for shared filesystems where
        intermittent timeouts can affect validation, but won't likely
        affect snapshot success.

   body = None

      Instance variable. Populated at instance creation time by
      calling "curator.utils.utils.create_snapshot_body" with
      *ilo.indices* and the provided arguments: *ignore_unavailable*,
      *include_global_state*, *partial*

   client = None

      Instance variable. The Elasticsearch Client object derived from
      *ilo*

   do_action()

      Snapshot indices in *index_list.indices*, with options passed.

   do_dry_run()

      Log what the output would be, but take no action.

   get_state()

      Get the state of the snapshot

   index_list = None

      Instance variable. Internal reference to *ilo*

   max_wait = None

      Instance variable. How long in seconds to *wait_for_completion*
      before returning with an exception. A value of -1 means wait
      forever.

   name = None

      Instance variable. The parsed version of *name*

   report_state()

      Log the state of the snapshot and raise an exception if the
      state is not "SUCCESS"

   repository = None

      Instance variable. Internally accessible copy of *repository*

   skip_repo_fs_check = None

      Instance variable. Internally accessible copy of
      *skip_repo_fs_check*

   wait_for_completion = None

      Instance variable. Internally accessible copy of
      *wait_for_completion*

   wait_interval = None

      Instance variable How many seconds to wait between checks for
      completion.
