def METHOD_NAME(self, id, body, params=None):
    """
    `<http://www.elastic.co/guide/en/elasticsearch/reference/current/watcher-api-put-watch.html>`_
    :arg id: Watch ID
    :arg body: The watch
    :arg active: Specify whether the watch is in/active by default
    :arg master_timeout: Explicit operation timeout for connection to master
        node
    """
    for param in (id, body):
        if param in SKIP_IN_PATH:
            raise ValueError("Empty value passed for a required argument.")
    return self.transport.perform_request(
        "PUT",
        _make_path("_xpack", "watcher", "watch", id),
        params=params,
        body=body,
    )