def resolve_index()

in src/es_pii_tool/helpers/elastic_api.py [0:0]


def resolve_index(client: 'Elasticsearch', index: str) -> t.Dict:
    """Resolve an index

    :param client: A client connection object
    :param index: The index name

    :type client: :py:class:`~.elasticsearch.Elasticsearch`
    :type index: str

    :returns: The return value from
        :py:meth:`~.elasticsearch.Elasticsearch.IndicesClient.resolve_index`
    :rtype: dict
    """
    logger.debug('Resolving index: %s', index)
    try:
        response = dict(
            client.indices.resolve_index(
                name=index, expand_wildcards=['open', 'hidden']
            )
        )
        logger.debug(response)
    except (ApiError, NotFoundError, TransportError, BadRequestError) as err:
        logger.error("Index: '%s' not found. Error: %s", index, err)
        raise MissingIndex(f'Index "{index}" not found', err, index)
    logger.debug('Index resolved.')
    return response