44import logging
55
66
7- def get_elasticsearch_client (url = None , basic_auth = None , api_key = None ):
7+ def get_elasticsearch_client (url = None , basic_auth = None , api_key = None , verify_certs = False ):
88 """
99 Create an Elasticsearch client instance using Django settings.
1010
1111 :param url: Elasticsearch URL. If None, it will be taken from Django settings.
1212 :param basic_auth: Basic authentication credentials. If None, it will be taken from Django settings.
1313 :param api_key: API key. If None, it will be taken from Django settings.
14+ :param verify_certs: Whether to verify SSL certificates. If None, it will be taken from Django settings.
1415 """
1516 if not url :
1617 url = getattr (settings , "ES_URL" , None )
@@ -21,12 +22,15 @@ def get_elasticsearch_client(url=None, basic_auth=None, api_key=None):
2122 if not api_key :
2223 api_key = getattr (settings , "ES_API_KEY" , None )
2324
25+ if not verify_certs :
26+ verify_certs = getattr (settings , "ES_VERIFY_CERTS" , False )
27+
2428 if basic_auth :
25- client = Elasticsearch (url , basic_auth = basic_auth )
29+ client = Elasticsearch (url , basic_auth = basic_auth , verify_certs = verify_certs )
2630 elif api_key :
27- client = Elasticsearch (url , api_key = api_key )
31+ client = Elasticsearch (url , api_key = api_key , verify_certs = verify_certs )
2832 else :
29- client = Elasticsearch (url )
33+ client = Elasticsearch (url , verify_certs = verify_certs )
3034
3135 return client
3236
0 commit comments