.. versionadded:: 2017.7.0

    Obtain snapshot residing in specified repository.

    repository
        Repository name
    snapshot
        Snapshot name, use _all to obtain all snapshots in specified repository
    ignore_unavailable
        Ignore unavailable snapshots

    CLI example::

        salt myminion elasticsearch.snapshot_get testrepo testsnapshot

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

    Obtain snapshot residing in specified repository.

    repository
        Repository name
    snapshot
        Snapshot name, use _all to obtain all snapshots in specified repository
    ignore_unavailable
        Ignore unavailable snapshots

    CLI example::

        salt myminion elasticsearch.snapshot_get testrepo testsnapshot
    '''
    es = _get_instance(hosts, profile)

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