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
andcurator.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
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
-
bkey
= None¶ Instance variable. Populated at instance creation time. Value is
index.routing.allocation.
allocation_type.
key.
value
-
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
- ilo – A
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
- ilo – A
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
, andnone
(string, not NoneType). If routing_type is allocation, this can also benew_primaries
, and if rebalance, it can bereplicas
. - 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
- client – An
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/elasticsearch/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
- client – An
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.
- ilo – A
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
- slo – A
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
- ilo – A
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 isFalse
-
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.
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
- ilo – A
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 doesunlimited
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 toall
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
- ilo – A
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
- ilo – A
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/elasticsearch/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.
- slo – A
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
- client – An
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, 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 innode_filters
to determine which node will be the shrink node. - node_filters (dict, representing the filters) – If the value of
shrink_node
isDETERMINISTIC
, the values innode_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_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_interval
= None¶ Instance variable. How many seconds to wait between checks for completion.
-
wfc
= None¶ Instance variable. Internal reference to wait_for_completion
- ilo – A
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.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
-
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.
- ilo – A