code: def restore(self, repository, snapshot, body=None, params=None):
          
          for param in (repository, snapshot):
              if param in SKIP_IN_PATH:
                  raise ValueError("Empty value passed for a required argument.")
          return self.transport.perform_request('POST', _make_path('_snapshot',
              repository, snapshot, '_restore'), params=params, body=body)
docs: Restore a snapshot.
          `<http://www.elastic.co/guide/en/elasticsearch/reference/current/modules-snapshots.html>`_
  
          :arg repository: A repository name
          :arg snapshot: A snapshot name
          :arg body: Details of what to restore
          :arg master_timeout: Explicit operation timeout for connection to master
              node
          :arg wait_for_completion: Should this request wait until the operation
              has completed before returning, default False