.. versionadded:: 2017.7.0

    Obtain status of all currently running snapshots.

    repository
        Particular repository to look for snapshots
    snapshot
        Snapshot name
    ignore_unavailable
        Ignore unavailable snapshots

    CLI example::

        salt myminion elasticsearch.snapshot_status ignore_unavailable=True

def snapshot_status(repository=None, snapshot=None, ignore_unavailable=False, hosts=None, profile=None):
    '''
    .. versionadded:: 2017.7.0

    Obtain status of all currently running snapshots.

    repository
        Particular repository to look for snapshots
    snapshot
        Snapshot name
    ignore_unavailable
        Ignore unavailable snapshots

    CLI example::

        salt myminion elasticsearch.snapshot_status ignore_unavailable=True
    '''
    es = _get_instance(hosts, profile)

    try:
        return es.snapshot.status(repository=repository, snapshot=snapshot, ignore_unavailable=ignore_unavailable)
    except elasticsearch.TransportError as e:
        raise CommandExecutionError("Cannot obtain snapshot status, server returned code {0} with message {1}".format(e.status_code, e.error))