def METHOD_NAME(self, repository, snapshot, body=None, params=None):
    """
    Create a snapshot in repository
    `<http://www.elastic.co/guide/en/elasticsearch/reference/current/modules-snapshots.html>`_
    :arg repository: A repository name
    :arg snapshot: A snapshot name
    :arg body: The snapshot definition
    :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
    """
    for param in (repository, snapshot):
        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, snapshot), params=params, body=body)
    return data