def METHOD_NAME(self, repository, body, params=None):
    """
    Registers a shared file system repository.
    `<http://www.elastic.co/guide/en/elasticsearch/reference/current/modules-snapshots.html>`_
    :arg repository: A repository name
    :arg body: The repository definition
    :arg master_timeout: Explicit operation timeout for connection to master
        node
    :arg timeout: Explicit operation timeout
    :arg verify: Whether to verify the repository after creation
    """
    for param in (repository, body):
        if param in SKIP_IN_PATH:
            raise ValueError("Empty value passed for a required argument.")
    _, data = self.transport.perform_request('PUT', _make_path('_snapshot',
        repository), params=params, body=body)
    return data