docs: def snapshot_create(repository, snapshot, body=None, hosts=None, profile=None):
      '''
      .. versionadded:: 2017.7.0
  
      Create snapshot in specified repository by supplied definition.
  
      repository
          Repository name
      snapshot
          Snapshot name
      body
          Snapshot definition as in https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-snapshots.html
  
      CLI example::
  
          salt myminion elasticsearch.snapshot_create testrepo testsnapshot '{"indices":"index_1,index_2","ignore_unavailable":true,"include_global_state":false}'
      '''
      es = _get_instance(hosts, profile)
  
      try:
          response = es.snapshot.create(repository=repository, snapshot=snapshot, body=body)
  
          return response.get('accepted', False)
      except elasticsearch.TransportError as e:
          raise CommandExecutionError("Cannot create snapshot {0} in repository {1}, server returned code {2} with message {3}".format(snapshot, repository, e.status_code, e.error))