code: def put_watch(self, id, body=None, params=None):
          
          if id in SKIP_IN_PATH:
              raise ValueError("Empty value passed for a required argument 'id'.")
          return self.transport.perform_request(
              "PUT", _make_path("_watcher", "watch", id), params=params, body=body
          )
docs: `<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 if_primary_term: only update the watch if the last operation that
              has changed the watch has the specified primary term
          :arg if_seq_no: only update the watch if the last operation that has
              changed the watch has the specified sequence number
          :arg version: Explicit version number for concurrency control