Description
Describe the feature: Currently, when the documentation or implementation is out of sync (see #2179 , #2180 for examples) the API becomes unusable and users have to resort to using the underlying perform_request
method eliminating some of the benefits of having a dedicated API (parameter checking, URL composition, type hinting, ...). It would be useful to still be able to pass in the entire body
in those cases.
It would also be great for the common use case of getting an object from Elasticsearch, modifying it, and reapplying it to the cluster, for example index templates, ILM policies, and other configurations. This cannot be now easily done with **body
since there are some manually introduced changes like _meta
in the JSON body as opposed to meta
in the python API. This makes the API extremely brittle for such cases.