Coverage for /Users/buh/.pyenv/versions/3.12.2/envs/es-testbed/lib/python3.12/site-packages/es_testbed/entities/data_stream.py: 100%
20 statements
« prev ^ index » next coverage.py v7.4.4, created at 2024-05-06 15:43 -0600
« prev ^ index » next coverage.py v7.4.4, created at 2024-05-06 15:43 -0600
1"""data_stream Entity Class"""
3import typing as t
4import logging
5from es_testbed.entities.alias import Alias
6from es_testbed.helpers.es_api import get_backing_indices
8if t.TYPE_CHECKING:
9 from elasticsearch8 import Elasticsearch
11logger = logging.getLogger(__name__)
13# pylint: disable=missing-docstring,too-many-arguments
16class DataStream(Alias):
17 """data_stream Entity Class"""
19 def __init__(
20 self,
21 client: 'Elasticsearch',
22 name: t.Union[str, None] = None,
23 ):
24 super().__init__(client=client, name=name)
25 self.index_tracker = []
26 self.alias = None
28 @property
29 def backing_indices(self):
30 """Return the list of backing indices for the data_stream"""
31 return get_backing_indices(self.client, self.name)
33 def verify(self, index_list: t.Sequence[str]) -> bool:
34 """Verify that the backing indices match ``index_list``"""
35 retval = False
36 if self.backing_indices == index_list:
37 logger.debug('Confirm match of data_stream "%s" backing indices', self.name)
38 retval = True
39 return retval