in curator/indexlist.py [0:0]
def filter_ilm(self, exclude=True):
"""
Match indices that have the setting ``index.lifecycle.name``
:param exclude: If ``exclude=True``, this filter will remove matching
``indices``. If ``exclude=False``, then only matching indices will be
kept in ``indices``. Default is ``True``
"""
self.loggit.debug('Filtering indices with index.lifecycle.name')
index_lists = chunk_index_list(self.indices)
if index_lists == [['']]:
self.loggit.debug('Empty working list. No ILM indices to filter.')
return
for lst in index_lists:
working_list = self._get_indices_settings(lst)
if working_list:
for index in list(working_list.keys()):
try:
subvalue = working_list[index]['settings']['index']['lifecycle']
has_ilm = 'name' in subvalue
msg = f"{index} has index.lifecycle.name {subvalue['name']}"
except KeyError:
has_ilm = False
msg = f'index.lifecycle.name is not set for index {index}'
self.__excludify(has_ilm, exclude, index, msg)