in eland/cli/eland_import_hub_model.py [0:0]
def get_es_client(cli_args, logger):
try:
es_args = {
"request_timeout": 300,
"verify_certs": cli_args.insecure,
"ca_certs": cli_args.ca_certs,
"node_class": "requests",
}
# Deployment location
if cli_args.url:
es_args["hosts"] = cli_args.url
if cli_args.cloud_id:
es_args["cloud_id"] = cli_args.cloud_id
# Authentication
if cli_args.es_api_key:
es_args["api_key"] = cli_args.es_api_key
elif cli_args.es_username:
if not cli_args.es_password:
logging.error(
f"Password for user {cli_args.es_username} was not specified."
)
exit(1)
es_args["basic_auth"] = (cli_args.es_username, cli_args.es_password)
es_client = Elasticsearch(**es_args)
return es_client
except AuthenticationException as e:
logger.error(e)
exit(1)