"""Audit Logger Example.""" import os from auditlogger.logger import AuditLogger from auditlogger.record_event import RecordEvent def bulk_create_then_log(count, hosts, os_host): """Bulk create and log records.""" records = [create_record(i) for i in range(0, count)] logger = AuditLogger(hosts, os_host) logger.log(records) def create_record(index): """Create a new record.""" new_record = { "id": index, "value": "Nam-batch", "type": "name"} # Record the creation event as a RecordEvent ev = RecordEvent( new_record["type"], # record type new_record["id"], # record id "create", # event name { "original": None, "updated": new_record }, # changeset "oa", # user type "102") # user id ev.ES_INDEX = "record-event-ows-collaborator" ev.OS_INDEX = "record_event_ows_collaborator_write" return ev if __name__ == "__main__": # Requires AWS credentials to be accessible to boto3 or send username+password. hosts = [ # hosts is an array of dicts defining endpoints. { "host": os.getenv("ELASTICSEARCH_HOST"), "port": 443, "username": os.getenv("ELASTICSEARCH_USERNAME"), "password": os.getenv("ELASTICSEARCH_PASSWORD") }, ] # you can create your user from terraform. os_host = { "host": os.getenv("OPENSEARCH_HOST"), "port": 443, "username": os.getenv("OPENSEARCH_USERNAME"), "password": os.getenv("OPENSEARCH_PASSWORD") } bulk_create_then_log(10, hosts, os_host)