in cartography/intel/aws/elasticsearch.py [0:0]
def _get_es_domains(client):
"""
Get ES domains.
:param client: ES boto client
:return: list of ES domains
"""
data = client.list_domain_names()
domain_names = [d['DomainName'] for d in data.get('DomainNames', [])]
# NOTE describe_elasticsearch_domains takes at most 5 domain names
domain_name_chunks = [domain_names[i:i + 5] for i in range(0, len(domain_names), 5)]
domains = []
for domain_name_chunk in domain_name_chunks:
chunk_data = client.describe_elasticsearch_domains(DomainNames=domain_name_chunk)
domains.extend(chunk_data['DomainStatusList'])
return domains