from elasticsearch import Elasticsearch, RequestsHttpConnection from requests_aws4auth import AWS4Auth import boto3 def elasticsearch_client(): # For example, my-test-domain.us-east-1.es.amazonaws.com host = 'vpc-dev-sduberg-playlists-poc-3pgysirlzsuo7l4kfqelbdfciy.us-east-1.es.amazonaws.com' # noqa # e.g. us-west-1 region = 'us-east-1' service = 'es' credentials = boto3.Session().get_credentials() awsauth = AWS4Auth(credentials.access_key, credentials.secret_key, region, service, session_token=credentials.token) es = Elasticsearch( hosts=[{'host': host, 'port': 443}], http_auth=awsauth, use_ssl=True, verify_certs=True, connection_class=RequestsHttpConnection ) return es