from elasticsearch import Elasticsearch class DataIntegrityMonitor: def __init__( self, host, username, password, cloud_id=None, api_key=None, use_api_key=False, ): self.host = host if use_api_key: self.client = Elasticsearch(cloud_id=cloud_id, api_key=api_key) else: self.client = Elasticsearch( hosts=[self.host], basic_auth=(username, password) ) def run_checks(self, index, checks): passed_checks = [] failed_checks = [] for check in checks: if check.run_check(self.client, index).check_passed: passed_checks.append(check) else: failed_checks.append(check) return passed_checks, failed_checks