diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/SpecReferences.xml b/src/Elastic.Clients.Elasticsearch/_Generated/SpecReferences.xml
index 19572ea8950..469bbdcf883 100644
--- a/src/Elastic.Clients.Elasticsearch/_Generated/SpecReferences.xml
+++ b/src/Elastic.Clients.Elasticsearch/_Generated/SpecReferences.xml
@@ -3,15155 +3,15155 @@
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
- View specification
+ View specification
diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Aggregations/AggregateDictionary.Converters.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Aggregations/AggregateDictionary.Converters.g.cs
index 8b4298d3fdb..5a0229eb5f9 100644
--- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Aggregations/AggregateDictionary.Converters.g.cs
+++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Aggregations/AggregateDictionary.Converters.g.cs
@@ -137,7 +137,7 @@ internal static void ReadItem(ref System.Text.Json.Utf8JsonReader reader, System
"value_count" => reader.ReadValue(options, null),
"variable_width_histogram" => reader.ReadValue(options, null),
"weighted_avg" => reader.ReadValue(options, null),
- _ => throw new System.Text.Json.JsonException($"Variant '{discriminator}' is not supported for type '{nameof(Elastic.Clients.Elasticsearch.Aggregations.IAggregate)}'.")
+ _ => options.TryGetContext(out var settings) && settings.Variants.TryGetReader(discriminator!, out var variantReader) ? variantReader(ref reader, options)! : new Elastic.Clients.Elasticsearch.Aggregations.UnknownAggregate(discriminator!, System.Text.Json.JsonElement.ParseValue(ref reader))
};
}
@@ -365,8 +365,24 @@ internal static void WriteItem(System.Text.Json.Utf8JsonWriter writer, System.Te
case Elastic.Clients.Elasticsearch.Aggregations.WeightedAverageAggregate v:
writer.WriteProperty(options, key, v, static (System.Text.Json.Utf8JsonWriter w, System.Text.Json.JsonSerializerOptions o, string v) => w.WritePropertyName(o, v), static (System.Text.Json.Utf8JsonWriter w, System.Text.Json.JsonSerializerOptions o, Elastic.Clients.Elasticsearch.Aggregations.WeightedAverageAggregate v) => w.WritePropertyName(o, v));
break;
+ case Elastic.Clients.Elasticsearch.Aggregations.UnknownAggregate custom:
+ writer.WritePropertyName(options, key, static (System.Text.Json.Utf8JsonWriter w, System.Text.Json.JsonSerializerOptions o, string v) => w.WritePropertyName(o, v));
+ custom.Content.WriteTo(writer);
+ break;
default:
- throw new System.Text.Json.JsonException($"Variant '{0}' is not supported for type '{nameof(Elastic.Clients.Elasticsearch.Aggregations.IAggregate)}'.");
+ if (options.TryGetContext(out var settings) && settings.Variants.TryGetWriter(value.GetType(), out var variantWriter))
+ {
+ if (!string.Equals(value.Type, variantWriter.Discriminator, System.StringComparison.Ordinal))
+ {
+ throw new System.Text.Json.JsonException($"Variant of runtime type '{value.GetType().Name}' is registered for discriminator '{variantWriter.Discriminator}' but reports '{value.Type}' for type '{nameof(Elastic.Clients.Elasticsearch.Aggregations.IAggregate)}'.");
+ }
+
+ writer.WritePropertyName(options, variantWriter.Discriminator + '#' + name, static (System.Text.Json.Utf8JsonWriter w, System.Text.Json.JsonSerializerOptions o, string v) => w.WritePropertyName(o, v));
+ variantWriter.Write(writer, value, options);
+ break;
+ }
+
+ throw new System.Text.Json.JsonException($"Variant of runtime type '{value.GetType().Name}' with discriminator '{value.Type}' is not registered. Call settings.Variants.Register<{nameof(Elastic.Clients.Elasticsearch.Aggregations.IAggregate)}, T>(\"{value.Type}\") at startup.");
}
}
}
\ No newline at end of file
diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Aggregations/Aggregation.Converters.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Aggregations/Aggregation.Converters.g.cs
index ad3e2df7dd6..fd72191d5b6 100644
--- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Aggregations/Aggregation.Converters.g.cs
+++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Aggregations/Aggregation.Converters.g.cs
@@ -769,13 +769,18 @@ public override Elastic.Clients.Elasticsearch.Aggregations.Aggregation Read(ref
continue;
}
- if (options.UnmappedMemberHandling is System.Text.Json.Serialization.JsonUnmappedMemberHandling.Skip)
+ variantType = reader.GetString()!;
+ reader.Read();
+ if (options.TryGetContext(out var settings) && settings.Variants.TryGetContainerReader(typeof(Elastic.Clients.Elasticsearch.Aggregations.Aggregation), variantType!, out var variantReader))
{
- reader.SafeSkip();
- continue;
+ variant = variantReader(ref reader, options);
+ }
+ else
+ {
+ variant = System.Text.Json.JsonElement.ParseValue(ref reader);
}
- throw new System.Text.Json.JsonException($"Unknown JSON property '{reader.GetString()}' for type '{typeToConvert.Name}'.");
+ continue;
}
reader.ValidateToken(System.Text.Json.JsonTokenType.EndObject);
@@ -1036,7 +1041,31 @@ public override void Write(System.Text.Json.Utf8JsonWriter writer, Elastic.Clien
writer.WriteProperty(options, value.VariantType, (Elastic.Clients.Elasticsearch.Aggregations.WeightedAverageAggregation)value.Variant, null, null);
break;
default:
- throw new System.Text.Json.JsonException($"Variant '{value.VariantType}' is not supported for type '{nameof(Elastic.Clients.Elasticsearch.Aggregations.Aggregation)}'.");
+ if (value.Variant is null)
+ {
+ break;
+ }
+
+ if (value.Variant is System.Text.Json.JsonElement element)
+ {
+ writer.WritePropertyName(value.VariantType!);
+ element.WriteTo(writer);
+ break;
+ }
+
+ if (options.TryGetContext(out var settings) && settings.Variants.TryGetContainerWriter(typeof(Elastic.Clients.Elasticsearch.Aggregations.Aggregation), value.Variant.GetType(), out var variantWriter))
+ {
+ if (!string.Equals(value.VariantType, variantWriter.Discriminator, System.StringComparison.Ordinal))
+ {
+ throw new System.Text.Json.JsonException($"Container variant of runtime type '{value.Variant.GetType().Name}' is registered for variant name '{variantWriter.Discriminator}' but reports '{value.VariantType}' for type '{nameof(Elastic.Clients.Elasticsearch.Aggregations.Aggregation)}'.");
+ }
+
+ writer.WritePropertyName(variantWriter.Discriminator);
+ variantWriter.Write(writer, value.Variant, options);
+ break;
+ }
+
+ throw new System.Text.Json.JsonException($"Container variant of runtime type '{value.Variant.GetType().Name}' for variant '{value.VariantType}' is not registered. Call settings.Variants.RegisterContainer<{nameof(Elastic.Clients.Elasticsearch.Aggregations.Aggregation)}, T>(\"{value.VariantType}\") at startup.");
}
writer.WriteProperty(options, PropAggregations, value.Aggregations, null, static (System.Text.Json.Utf8JsonWriter w, System.Text.Json.JsonSerializerOptions o, System.Collections.Generic.IDictionary? v) => w.WriteDictionaryValue(o, v, null, null));
diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Aggregations/Aggregation.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Aggregations/Aggregation.g.cs
index dd89ec9ef27..2d47f60fb12 100644
--- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Aggregations/Aggregation.g.cs
+++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Aggregations/Aggregation.g.cs
@@ -218,6 +218,20 @@ private void SetVariant(string type, T? value)
VariantType = type;
Variant = value;
}
+
+ public string? VariantName { get => VariantType; }
+
+ [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
+ public T? GetCustomVariant(string variantName)
+ {
+ return GetVariant(variantName);
+ }
+
+ [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
+ public void SetCustomVariant(string variantName, T? value)
+ {
+ SetVariant(variantName, value);
+ }
}
public readonly partial struct AggregationDescriptor
@@ -1670,6 +1684,13 @@ public Elastic.Clients.Elasticsearch.Aggregations.AggregationDescriptor CustomVariant(string variantName, T? value)
+ {
+ Instance.SetCustomVariant(variantName, value);
+ return this;
+ }
+
[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
internal static Elastic.Clients.Elasticsearch.Aggregations.Aggregation Build(System.Action> action)
{
@@ -3472,6 +3493,13 @@ public Elastic.Clients.Elasticsearch.Aggregations.AggregationDescriptor AddMeta(
return this;
}
+ [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
+ public Elastic.Clients.Elasticsearch.Aggregations.AggregationDescriptor CustomVariant(string variantName, T? value)
+ {
+ Instance.SetCustomVariant(variantName, value);
+ return this;
+ }
+
[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
internal static Elastic.Clients.Elasticsearch.Aggregations.Aggregation Build(System.Action action)
{
diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Aggregations/UnknownAggregate.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Aggregations/UnknownAggregate.g.cs
new file mode 100644
index 00000000000..f759473355f
--- /dev/null
+++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Aggregations/UnknownAggregate.g.cs
@@ -0,0 +1,46 @@
+// Licensed to Elasticsearch B.V under one or more agreements.
+// Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
+// See the LICENSE file in the project root for more information.
+//
+// ███╗ ██╗ ██████╗ ████████╗██╗ ██████╗███████╗
+// ████╗ ██║██╔═══██╗╚══██╔══╝██║██╔════╝██╔════╝
+// ██╔██╗ ██║██║ ██║ ██║ ██║██║ █████╗
+// ██║╚██╗██║██║ ██║ ██║ ██║██║ ██╔══╝
+// ██║ ╚████║╚██████╔╝ ██║ ██║╚██████╗███████╗
+// ╚═╝ ╚═══╝ ╚═════╝ ╚═╝ ╚═╝ ╚═════╝╚══════╝
+// ------------------------------------------------
+//
+// This file is automatically generated.
+// Please do not edit these files manually.
+//
+// ------------------------------------------------
+
+#nullable restore
+
+using System;
+using System.Linq;
+using Elastic.Clients.Elasticsearch.Serialization;
+
+namespace Elastic.Clients.Elasticsearch.Aggregations;
+
+public sealed partial class UnknownAggregate : Elastic.Clients.Elasticsearch.Aggregations.IAggregate
+{
+ public string Type { get; }
+ public System.Text.Json.JsonElement Content { get; }
+
+ public UnknownAggregate(string type, System.Text.Json.JsonElement content)
+ {
+ if (type is null)
+ {
+ throw new System.ArgumentNullException(nameof(type));
+ }
+
+ if (content.ValueKind is not System.Text.Json.JsonValueKind.Object)
+ {
+ throw new System.ArgumentException($"Content must be a JSON object, but got '{content.ValueKind}'.", nameof(content));
+ }
+
+ Type = type;
+ Content = content;
+ }
+}
\ No newline at end of file
diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Analysis/Analyzer.Converters.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Analysis/Analyzer.Converters.g.cs
index 884c7a031cc..df8109df6f9 100644
--- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Analysis/Analyzer.Converters.g.cs
+++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Analysis/Analyzer.Converters.g.cs
@@ -94,7 +94,7 @@ public override Elastic.Clients.Elasticsearch.Analysis.IAnalyzer Read(ref System
"thai" => reader.ReadValue(options, null),
"turkish" => reader.ReadValue(options, null),
"whitespace" => reader.ReadValue(options, null),
- _ => throw new System.Text.Json.JsonException($"Variant '{discriminator}' is not supported for type '{nameof(Elastic.Clients.Elasticsearch.Analysis.IAnalyzer)}'.")
+ _ => ReadCustomVariant(ref reader, options, discriminator!)
};
}
@@ -250,7 +250,34 @@ public override void Write(System.Text.Json.Utf8JsonWriter writer, Elastic.Clien
writer.WriteValue(options, (Elastic.Clients.Elasticsearch.Analysis.WhitespaceAnalyzer)value, null);
break;
default:
- throw new System.Text.Json.JsonException($"Variant '{value.Type}' is not supported for type '{nameof(Elastic.Clients.Elasticsearch.Analysis.IAnalyzer)}'.");
+ if (value is Elastic.Clients.Elasticsearch.Analysis.UnknownAnalyzer custom)
+ {
+ writer.WriteValue(options, custom, null);
+ break;
+ }
+
+ if (options.TryGetContext(out var settings) && settings.Variants.TryGetWriter(value.GetType(), out var variantWriter))
+ {
+ if (!string.Equals(value.Type, variantWriter.Discriminator, System.StringComparison.Ordinal))
+ {
+ throw new System.Text.Json.JsonException($"Variant of runtime type '{value.GetType().Name}' is registered for discriminator '{variantWriter.Discriminator}' but reports '{value.Type}' for type '{nameof(Elastic.Clients.Elasticsearch.Analysis.IAnalyzer)}'.");
+ }
+
+ variantWriter.Write(writer, value, options);
+ break;
+ }
+
+ throw new System.Text.Json.JsonException($"Variant of runtime type '{value.GetType().Name}' with discriminator '{value.Type}' is not registered. Call settings.Variants.Register<{nameof(Elastic.Clients.Elasticsearch.Analysis.IAnalyzer)}, T>(\"{value.Type}\") at startup.");
}
}
+
+ private static Elastic.Clients.Elasticsearch.Analysis.IAnalyzer ReadCustomVariant(ref System.Text.Json.Utf8JsonReader reader, System.Text.Json.JsonSerializerOptions options, string discriminator)
+ {
+ if (options.TryGetContext(out var settings) && settings.Variants.TryGetReader(discriminator, out var variantReader))
+ {
+ return variantReader(ref reader, options)!;
+ }
+
+ return reader.ReadValue(options)!;
+ }
}
\ No newline at end of file
diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Analysis/CharFilter.Converters.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Analysis/CharFilter.Converters.g.cs
index 68ac27851e9..34de9a2ab2c 100644
--- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Analysis/CharFilter.Converters.g.cs
+++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Analysis/CharFilter.Converters.g.cs
@@ -50,7 +50,7 @@ public override Elastic.Clients.Elasticsearch.Analysis.ICharFilter Read(ref Syst
"kuromoji_iteration_mark" => reader.ReadValue(options, null),
"mapping" => reader.ReadValue(options, null),
"pattern_replace" => reader.ReadValue(options, null),
- _ => throw new System.Text.Json.JsonException($"Variant '{discriminator}' is not supported for type '{nameof(Elastic.Clients.Elasticsearch.Analysis.ICharFilter)}'.")
+ _ => ReadCustomVariant(ref reader, options, discriminator!)
};
}
@@ -74,7 +74,34 @@ public override void Write(System.Text.Json.Utf8JsonWriter writer, Elastic.Clien
writer.WriteValue(options, (Elastic.Clients.Elasticsearch.Analysis.PatternReplaceCharFilter)value, null);
break;
default:
- throw new System.Text.Json.JsonException($"Variant '{value.Type}' is not supported for type '{nameof(Elastic.Clients.Elasticsearch.Analysis.ICharFilter)}'.");
+ if (value is Elastic.Clients.Elasticsearch.Analysis.UnknownCharFilter custom)
+ {
+ writer.WriteValue(options, custom, null);
+ break;
+ }
+
+ if (options.TryGetContext(out var settings) && settings.Variants.TryGetWriter(value.GetType(), out var variantWriter))
+ {
+ if (!string.Equals(value.Type, variantWriter.Discriminator, System.StringComparison.Ordinal))
+ {
+ throw new System.Text.Json.JsonException($"Variant of runtime type '{value.GetType().Name}' is registered for discriminator '{variantWriter.Discriminator}' but reports '{value.Type}' for type '{nameof(Elastic.Clients.Elasticsearch.Analysis.ICharFilter)}'.");
+ }
+
+ variantWriter.Write(writer, value, options);
+ break;
+ }
+
+ throw new System.Text.Json.JsonException($"Variant of runtime type '{value.GetType().Name}' with discriminator '{value.Type}' is not registered. Call settings.Variants.Register<{nameof(Elastic.Clients.Elasticsearch.Analysis.ICharFilter)}, T>(\"{value.Type}\") at startup.");
}
}
+
+ private static Elastic.Clients.Elasticsearch.Analysis.ICharFilter ReadCustomVariant(ref System.Text.Json.Utf8JsonReader reader, System.Text.Json.JsonSerializerOptions options, string discriminator)
+ {
+ if (options.TryGetContext(out var settings) && settings.Variants.TryGetReader(discriminator, out var variantReader))
+ {
+ return variantReader(ref reader, options)!;
+ }
+
+ return reader.ReadValue(options)!;
+ }
}
\ No newline at end of file
diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Analysis/TokenFilter.Converters.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Analysis/TokenFilter.Converters.g.cs
index 799c9ba84d0..2c72194e783 100644
--- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Analysis/TokenFilter.Converters.g.cs
+++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Analysis/TokenFilter.Converters.g.cs
@@ -119,7 +119,7 @@ public override Elastic.Clients.Elasticsearch.Analysis.ITokenFilter Read(ref Sys
"uppercase" => reader.ReadValue(options, null),
"word_delimiter" => reader.ReadValue(options, null),
"word_delimiter_graph" => reader.ReadValue(options, null),
- _ => throw new System.Text.Json.JsonException($"Variant '{discriminator}' is not supported for type '{nameof(Elastic.Clients.Elasticsearch.Analysis.ITokenFilter)}'.")
+ _ => ReadCustomVariant(ref reader, options, discriminator!)
};
}
@@ -350,7 +350,34 @@ public override void Write(System.Text.Json.Utf8JsonWriter writer, Elastic.Clien
writer.WriteValue(options, (Elastic.Clients.Elasticsearch.Analysis.WordDelimiterGraphTokenFilter)value, null);
break;
default:
- throw new System.Text.Json.JsonException($"Variant '{value.Type}' is not supported for type '{nameof(Elastic.Clients.Elasticsearch.Analysis.ITokenFilter)}'.");
+ if (value is Elastic.Clients.Elasticsearch.Analysis.UnknownTokenFilter custom)
+ {
+ writer.WriteValue(options, custom, null);
+ break;
+ }
+
+ if (options.TryGetContext(out var settings) && settings.Variants.TryGetWriter(value.GetType(), out var variantWriter))
+ {
+ if (!string.Equals(value.Type, variantWriter.Discriminator, System.StringComparison.Ordinal))
+ {
+ throw new System.Text.Json.JsonException($"Variant of runtime type '{value.GetType().Name}' is registered for discriminator '{variantWriter.Discriminator}' but reports '{value.Type}' for type '{nameof(Elastic.Clients.Elasticsearch.Analysis.ITokenFilter)}'.");
+ }
+
+ variantWriter.Write(writer, value, options);
+ break;
+ }
+
+ throw new System.Text.Json.JsonException($"Variant of runtime type '{value.GetType().Name}' with discriminator '{value.Type}' is not registered. Call settings.Variants.Register<{nameof(Elastic.Clients.Elasticsearch.Analysis.ITokenFilter)}, T>(\"{value.Type}\") at startup.");
}
}
+
+ private static Elastic.Clients.Elasticsearch.Analysis.ITokenFilter ReadCustomVariant(ref System.Text.Json.Utf8JsonReader reader, System.Text.Json.JsonSerializerOptions options, string discriminator)
+ {
+ if (options.TryGetContext(out var settings) && settings.Variants.TryGetReader(discriminator, out var variantReader))
+ {
+ return variantReader(ref reader, options)!;
+ }
+
+ return reader.ReadValue(options)!;
+ }
}
\ No newline at end of file
diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Analysis/Tokenizer.Converters.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Analysis/Tokenizer.Converters.g.cs
index 86b93a2a664..111c98cb51c 100644
--- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Analysis/Tokenizer.Converters.g.cs
+++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Analysis/Tokenizer.Converters.g.cs
@@ -63,7 +63,7 @@ public override Elastic.Clients.Elasticsearch.Analysis.ITokenizer Read(ref Syste
"thai" => reader.ReadValue(options, null),
"uax_url_email" => reader.ReadValue(options, null),
"whitespace" => reader.ReadValue(options, null),
- _ => throw new System.Text.Json.JsonException($"Variant '{discriminator}' is not supported for type '{nameof(Elastic.Clients.Elasticsearch.Analysis.ITokenizer)}'.")
+ _ => ReadCustomVariant(ref reader, options, discriminator!)
};
}
@@ -126,7 +126,34 @@ public override void Write(System.Text.Json.Utf8JsonWriter writer, Elastic.Clien
writer.WriteValue(options, (Elastic.Clients.Elasticsearch.Analysis.WhitespaceTokenizer)value, null);
break;
default:
- throw new System.Text.Json.JsonException($"Variant '{value.Type}' is not supported for type '{nameof(Elastic.Clients.Elasticsearch.Analysis.ITokenizer)}'.");
+ if (value is Elastic.Clients.Elasticsearch.Analysis.UnknownTokenizer custom)
+ {
+ writer.WriteValue(options, custom, null);
+ break;
+ }
+
+ if (options.TryGetContext(out var settings) && settings.Variants.TryGetWriter(value.GetType(), out var variantWriter))
+ {
+ if (!string.Equals(value.Type, variantWriter.Discriminator, System.StringComparison.Ordinal))
+ {
+ throw new System.Text.Json.JsonException($"Variant of runtime type '{value.GetType().Name}' is registered for discriminator '{variantWriter.Discriminator}' but reports '{value.Type}' for type '{nameof(Elastic.Clients.Elasticsearch.Analysis.ITokenizer)}'.");
+ }
+
+ variantWriter.Write(writer, value, options);
+ break;
+ }
+
+ throw new System.Text.Json.JsonException($"Variant of runtime type '{value.GetType().Name}' with discriminator '{value.Type}' is not registered. Call settings.Variants.Register<{nameof(Elastic.Clients.Elasticsearch.Analysis.ITokenizer)}, T>(\"{value.Type}\") at startup.");
}
}
+
+ private static Elastic.Clients.Elasticsearch.Analysis.ITokenizer ReadCustomVariant(ref System.Text.Json.Utf8JsonReader reader, System.Text.Json.JsonSerializerOptions options, string discriminator)
+ {
+ if (options.TryGetContext(out var settings) && settings.Variants.TryGetReader(discriminator, out var variantReader))
+ {
+ return variantReader(ref reader, options)!;
+ }
+
+ return reader.ReadValue(options)!;
+ }
}
\ No newline at end of file
diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Analysis/UnknownAnalyzer.Converters.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Analysis/UnknownAnalyzer.Converters.g.cs
new file mode 100644
index 00000000000..f4e4c8f919a
--- /dev/null
+++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Analysis/UnknownAnalyzer.Converters.g.cs
@@ -0,0 +1,64 @@
+// Licensed to Elasticsearch B.V under one or more agreements.
+// Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
+// See the LICENSE file in the project root for more information.
+//
+// ███╗ ██╗ ██████╗ ████████╗██╗ ██████╗███████╗
+// ████╗ ██║██╔═══██╗╚══██╔══╝██║██╔════╝██╔════╝
+// ██╔██╗ ██║██║ ██║ ██║ ██║██║ █████╗
+// ██║╚██╗██║██║ ██║ ██║ ██║██║ ██╔══╝
+// ██║ ╚████║╚██████╔╝ ██║ ██║╚██████╗███████╗
+// ╚═╝ ╚═══╝ ╚═════╝ ╚═╝ ╚═╝ ╚═════╝╚══════╝
+// ------------------------------------------------
+//
+// This file is automatically generated.
+// Please do not edit these files manually.
+//
+// ------------------------------------------------
+
+#nullable restore
+
+using System;
+using System.Linq;
+using Elastic.Clients.Elasticsearch.Serialization;
+
+namespace Elastic.Clients.Elasticsearch.Analysis.Json;
+
+public sealed partial class UnknownAnalyzerConverter : System.Text.Json.Serialization.JsonConverter
+{
+ private static readonly string DiscriminatorName = "type";
+
+ public override Elastic.Clients.Elasticsearch.Analysis.UnknownAnalyzer Read(ref System.Text.Json.Utf8JsonReader reader, System.Type typeToConvert, System.Text.Json.JsonSerializerOptions options)
+ {
+ var content = System.Text.Json.JsonElement.ParseValue(ref reader);
+ if (content.ValueKind is not System.Text.Json.JsonValueKind.Object)
+ {
+ throw new System.Text.Json.JsonException($"Expected a JSON object for '{nameof(Elastic.Clients.Elasticsearch.Analysis.UnknownAnalyzer)}', but got '{content.ValueKind}'.");
+ }
+
+ var type = content.TryGetProperty(DiscriminatorName, out var discriminator) ? discriminator.GetString() : null;
+ if (type is null)
+ {
+ throw new System.Text.Json.JsonException($"Missing required '{DiscriminatorName}' discriminator for '{nameof(Elastic.Clients.Elasticsearch.Analysis.UnknownAnalyzer)}'.");
+ }
+
+ return new Elastic.Clients.Elasticsearch.Analysis.UnknownAnalyzer(type, content);
+ }
+
+ public override void Write(System.Text.Json.Utf8JsonWriter writer, Elastic.Clients.Elasticsearch.Analysis.UnknownAnalyzer value, System.Text.Json.JsonSerializerOptions options)
+ {
+ writer.WriteStartObject();
+ writer.WriteString(DiscriminatorName, value.Type);
+ if (value.Content.ValueKind is System.Text.Json.JsonValueKind.Object)
+ {
+ foreach (var property in value.Content.EnumerateObject())
+ {
+ if (!property.NameEquals(DiscriminatorName))
+ {
+ property.WriteTo(writer);
+ }
+ }
+ }
+
+ writer.WriteEndObject();
+ }
+}
\ No newline at end of file
diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Analysis/UnknownAnalyzer.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Analysis/UnknownAnalyzer.g.cs
new file mode 100644
index 00000000000..b1a961c22a6
--- /dev/null
+++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Analysis/UnknownAnalyzer.g.cs
@@ -0,0 +1,47 @@
+// Licensed to Elasticsearch B.V under one or more agreements.
+// Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
+// See the LICENSE file in the project root for more information.
+//
+// ███╗ ██╗ ██████╗ ████████╗██╗ ██████╗███████╗
+// ████╗ ██║██╔═══██╗╚══██╔══╝██║██╔════╝██╔════╝
+// ██╔██╗ ██║██║ ██║ ██║ ██║██║ █████╗
+// ██║╚██╗██║██║ ██║ ██║ ██║██║ ██╔══╝
+// ██║ ╚████║╚██████╔╝ ██║ ██║╚██████╗███████╗
+// ╚═╝ ╚═══╝ ╚═════╝ ╚═╝ ╚═╝ ╚═════╝╚══════╝
+// ------------------------------------------------
+//
+// This file is automatically generated.
+// Please do not edit these files manually.
+//
+// ------------------------------------------------
+
+#nullable restore
+
+using System;
+using System.Linq;
+using Elastic.Clients.Elasticsearch.Serialization;
+
+namespace Elastic.Clients.Elasticsearch.Analysis;
+
+[System.Text.Json.Serialization.JsonConverter(typeof(Elastic.Clients.Elasticsearch.Analysis.Json.UnknownAnalyzerConverter))]
+public sealed partial class UnknownAnalyzer : Elastic.Clients.Elasticsearch.Analysis.IAnalyzer
+{
+ public string Type { get; }
+ public System.Text.Json.JsonElement Content { get; }
+
+ public UnknownAnalyzer(string type, System.Text.Json.JsonElement content)
+ {
+ if (type is null)
+ {
+ throw new System.ArgumentNullException(nameof(type));
+ }
+
+ if (content.ValueKind is not System.Text.Json.JsonValueKind.Object)
+ {
+ throw new System.ArgumentException($"Content must be a JSON object, but got '{content.ValueKind}'.", nameof(content));
+ }
+
+ Type = type;
+ Content = content;
+ }
+}
\ No newline at end of file
diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Analysis/UnknownCharFilter.Converters.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Analysis/UnknownCharFilter.Converters.g.cs
new file mode 100644
index 00000000000..5be07e3c6bc
--- /dev/null
+++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Analysis/UnknownCharFilter.Converters.g.cs
@@ -0,0 +1,64 @@
+// Licensed to Elasticsearch B.V under one or more agreements.
+// Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
+// See the LICENSE file in the project root for more information.
+//
+// ███╗ ██╗ ██████╗ ████████╗██╗ ██████╗███████╗
+// ████╗ ██║██╔═══██╗╚══██╔══╝██║██╔════╝██╔════╝
+// ██╔██╗ ██║██║ ██║ ██║ ██║██║ █████╗
+// ██║╚██╗██║██║ ██║ ██║ ██║██║ ██╔══╝
+// ██║ ╚████║╚██████╔╝ ██║ ██║╚██████╗███████╗
+// ╚═╝ ╚═══╝ ╚═════╝ ╚═╝ ╚═╝ ╚═════╝╚══════╝
+// ------------------------------------------------
+//
+// This file is automatically generated.
+// Please do not edit these files manually.
+//
+// ------------------------------------------------
+
+#nullable restore
+
+using System;
+using System.Linq;
+using Elastic.Clients.Elasticsearch.Serialization;
+
+namespace Elastic.Clients.Elasticsearch.Analysis.Json;
+
+public sealed partial class UnknownCharFilterConverter : System.Text.Json.Serialization.JsonConverter
+{
+ private static readonly string DiscriminatorName = "type";
+
+ public override Elastic.Clients.Elasticsearch.Analysis.UnknownCharFilter Read(ref System.Text.Json.Utf8JsonReader reader, System.Type typeToConvert, System.Text.Json.JsonSerializerOptions options)
+ {
+ var content = System.Text.Json.JsonElement.ParseValue(ref reader);
+ if (content.ValueKind is not System.Text.Json.JsonValueKind.Object)
+ {
+ throw new System.Text.Json.JsonException($"Expected a JSON object for '{nameof(Elastic.Clients.Elasticsearch.Analysis.UnknownCharFilter)}', but got '{content.ValueKind}'.");
+ }
+
+ var type = content.TryGetProperty(DiscriminatorName, out var discriminator) ? discriminator.GetString() : null;
+ if (type is null)
+ {
+ throw new System.Text.Json.JsonException($"Missing required '{DiscriminatorName}' discriminator for '{nameof(Elastic.Clients.Elasticsearch.Analysis.UnknownCharFilter)}'.");
+ }
+
+ return new Elastic.Clients.Elasticsearch.Analysis.UnknownCharFilter(type, content);
+ }
+
+ public override void Write(System.Text.Json.Utf8JsonWriter writer, Elastic.Clients.Elasticsearch.Analysis.UnknownCharFilter value, System.Text.Json.JsonSerializerOptions options)
+ {
+ writer.WriteStartObject();
+ writer.WriteString(DiscriminatorName, value.Type);
+ if (value.Content.ValueKind is System.Text.Json.JsonValueKind.Object)
+ {
+ foreach (var property in value.Content.EnumerateObject())
+ {
+ if (!property.NameEquals(DiscriminatorName))
+ {
+ property.WriteTo(writer);
+ }
+ }
+ }
+
+ writer.WriteEndObject();
+ }
+}
\ No newline at end of file
diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Analysis/UnknownCharFilter.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Analysis/UnknownCharFilter.g.cs
new file mode 100644
index 00000000000..ab0ace95215
--- /dev/null
+++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Analysis/UnknownCharFilter.g.cs
@@ -0,0 +1,47 @@
+// Licensed to Elasticsearch B.V under one or more agreements.
+// Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
+// See the LICENSE file in the project root for more information.
+//
+// ███╗ ██╗ ██████╗ ████████╗██╗ ██████╗███████╗
+// ████╗ ██║██╔═══██╗╚══██╔══╝██║██╔════╝██╔════╝
+// ██╔██╗ ██║██║ ██║ ██║ ██║██║ █████╗
+// ██║╚██╗██║██║ ██║ ██║ ██║██║ ██╔══╝
+// ██║ ╚████║╚██████╔╝ ██║ ██║╚██████╗███████╗
+// ╚═╝ ╚═══╝ ╚═════╝ ╚═╝ ╚═╝ ╚═════╝╚══════╝
+// ------------------------------------------------
+//
+// This file is automatically generated.
+// Please do not edit these files manually.
+//
+// ------------------------------------------------
+
+#nullable restore
+
+using System;
+using System.Linq;
+using Elastic.Clients.Elasticsearch.Serialization;
+
+namespace Elastic.Clients.Elasticsearch.Analysis;
+
+[System.Text.Json.Serialization.JsonConverter(typeof(Elastic.Clients.Elasticsearch.Analysis.Json.UnknownCharFilterConverter))]
+public sealed partial class UnknownCharFilter : Elastic.Clients.Elasticsearch.Analysis.ICharFilter
+{
+ public string Type { get; }
+ public System.Text.Json.JsonElement Content { get; }
+
+ public UnknownCharFilter(string type, System.Text.Json.JsonElement content)
+ {
+ if (type is null)
+ {
+ throw new System.ArgumentNullException(nameof(type));
+ }
+
+ if (content.ValueKind is not System.Text.Json.JsonValueKind.Object)
+ {
+ throw new System.ArgumentException($"Content must be a JSON object, but got '{content.ValueKind}'.", nameof(content));
+ }
+
+ Type = type;
+ Content = content;
+ }
+}
\ No newline at end of file
diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Analysis/UnknownTokenFilter.Converters.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Analysis/UnknownTokenFilter.Converters.g.cs
new file mode 100644
index 00000000000..1925d4930d3
--- /dev/null
+++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Analysis/UnknownTokenFilter.Converters.g.cs
@@ -0,0 +1,64 @@
+// Licensed to Elasticsearch B.V under one or more agreements.
+// Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
+// See the LICENSE file in the project root for more information.
+//
+// ███╗ ██╗ ██████╗ ████████╗██╗ ██████╗███████╗
+// ████╗ ██║██╔═══██╗╚══██╔══╝██║██╔════╝██╔════╝
+// ██╔██╗ ██║██║ ██║ ██║ ██║██║ █████╗
+// ██║╚██╗██║██║ ██║ ██║ ██║██║ ██╔══╝
+// ██║ ╚████║╚██████╔╝ ██║ ██║╚██████╗███████╗
+// ╚═╝ ╚═══╝ ╚═════╝ ╚═╝ ╚═╝ ╚═════╝╚══════╝
+// ------------------------------------------------
+//
+// This file is automatically generated.
+// Please do not edit these files manually.
+//
+// ------------------------------------------------
+
+#nullable restore
+
+using System;
+using System.Linq;
+using Elastic.Clients.Elasticsearch.Serialization;
+
+namespace Elastic.Clients.Elasticsearch.Analysis.Json;
+
+public sealed partial class UnknownTokenFilterConverter : System.Text.Json.Serialization.JsonConverter
+{
+ private static readonly string DiscriminatorName = "type";
+
+ public override Elastic.Clients.Elasticsearch.Analysis.UnknownTokenFilter Read(ref System.Text.Json.Utf8JsonReader reader, System.Type typeToConvert, System.Text.Json.JsonSerializerOptions options)
+ {
+ var content = System.Text.Json.JsonElement.ParseValue(ref reader);
+ if (content.ValueKind is not System.Text.Json.JsonValueKind.Object)
+ {
+ throw new System.Text.Json.JsonException($"Expected a JSON object for '{nameof(Elastic.Clients.Elasticsearch.Analysis.UnknownTokenFilter)}', but got '{content.ValueKind}'.");
+ }
+
+ var type = content.TryGetProperty(DiscriminatorName, out var discriminator) ? discriminator.GetString() : null;
+ if (type is null)
+ {
+ throw new System.Text.Json.JsonException($"Missing required '{DiscriminatorName}' discriminator for '{nameof(Elastic.Clients.Elasticsearch.Analysis.UnknownTokenFilter)}'.");
+ }
+
+ return new Elastic.Clients.Elasticsearch.Analysis.UnknownTokenFilter(type, content);
+ }
+
+ public override void Write(System.Text.Json.Utf8JsonWriter writer, Elastic.Clients.Elasticsearch.Analysis.UnknownTokenFilter value, System.Text.Json.JsonSerializerOptions options)
+ {
+ writer.WriteStartObject();
+ writer.WriteString(DiscriminatorName, value.Type);
+ if (value.Content.ValueKind is System.Text.Json.JsonValueKind.Object)
+ {
+ foreach (var property in value.Content.EnumerateObject())
+ {
+ if (!property.NameEquals(DiscriminatorName))
+ {
+ property.WriteTo(writer);
+ }
+ }
+ }
+
+ writer.WriteEndObject();
+ }
+}
\ No newline at end of file
diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Analysis/UnknownTokenFilter.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Analysis/UnknownTokenFilter.g.cs
new file mode 100644
index 00000000000..751a25ffae0
--- /dev/null
+++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Analysis/UnknownTokenFilter.g.cs
@@ -0,0 +1,47 @@
+// Licensed to Elasticsearch B.V under one or more agreements.
+// Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
+// See the LICENSE file in the project root for more information.
+//
+// ███╗ ██╗ ██████╗ ████████╗██╗ ██████╗███████╗
+// ████╗ ██║██╔═══██╗╚══██╔══╝██║██╔════╝██╔════╝
+// ██╔██╗ ██║██║ ██║ ██║ ██║██║ █████╗
+// ██║╚██╗██║██║ ██║ ██║ ██║██║ ██╔══╝
+// ██║ ╚████║╚██████╔╝ ██║ ██║╚██████╗███████╗
+// ╚═╝ ╚═══╝ ╚═════╝ ╚═╝ ╚═╝ ╚═════╝╚══════╝
+// ------------------------------------------------
+//
+// This file is automatically generated.
+// Please do not edit these files manually.
+//
+// ------------------------------------------------
+
+#nullable restore
+
+using System;
+using System.Linq;
+using Elastic.Clients.Elasticsearch.Serialization;
+
+namespace Elastic.Clients.Elasticsearch.Analysis;
+
+[System.Text.Json.Serialization.JsonConverter(typeof(Elastic.Clients.Elasticsearch.Analysis.Json.UnknownTokenFilterConverter))]
+public sealed partial class UnknownTokenFilter : Elastic.Clients.Elasticsearch.Analysis.ITokenFilter
+{
+ public string Type { get; }
+ public System.Text.Json.JsonElement Content { get; }
+
+ public UnknownTokenFilter(string type, System.Text.Json.JsonElement content)
+ {
+ if (type is null)
+ {
+ throw new System.ArgumentNullException(nameof(type));
+ }
+
+ if (content.ValueKind is not System.Text.Json.JsonValueKind.Object)
+ {
+ throw new System.ArgumentException($"Content must be a JSON object, but got '{content.ValueKind}'.", nameof(content));
+ }
+
+ Type = type;
+ Content = content;
+ }
+}
\ No newline at end of file
diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Analysis/UnknownTokenizer.Converters.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Analysis/UnknownTokenizer.Converters.g.cs
new file mode 100644
index 00000000000..47eec3d636f
--- /dev/null
+++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Analysis/UnknownTokenizer.Converters.g.cs
@@ -0,0 +1,64 @@
+// Licensed to Elasticsearch B.V under one or more agreements.
+// Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
+// See the LICENSE file in the project root for more information.
+//
+// ███╗ ██╗ ██████╗ ████████╗██╗ ██████╗███████╗
+// ████╗ ██║██╔═══██╗╚══██╔══╝██║██╔════╝██╔════╝
+// ██╔██╗ ██║██║ ██║ ██║ ██║██║ █████╗
+// ██║╚██╗██║██║ ██║ ██║ ██║██║ ██╔══╝
+// ██║ ╚████║╚██████╔╝ ██║ ██║╚██████╗███████╗
+// ╚═╝ ╚═══╝ ╚═════╝ ╚═╝ ╚═╝ ╚═════╝╚══════╝
+// ------------------------------------------------
+//
+// This file is automatically generated.
+// Please do not edit these files manually.
+//
+// ------------------------------------------------
+
+#nullable restore
+
+using System;
+using System.Linq;
+using Elastic.Clients.Elasticsearch.Serialization;
+
+namespace Elastic.Clients.Elasticsearch.Analysis.Json;
+
+public sealed partial class UnknownTokenizerConverter : System.Text.Json.Serialization.JsonConverter
+{
+ private static readonly string DiscriminatorName = "type";
+
+ public override Elastic.Clients.Elasticsearch.Analysis.UnknownTokenizer Read(ref System.Text.Json.Utf8JsonReader reader, System.Type typeToConvert, System.Text.Json.JsonSerializerOptions options)
+ {
+ var content = System.Text.Json.JsonElement.ParseValue(ref reader);
+ if (content.ValueKind is not System.Text.Json.JsonValueKind.Object)
+ {
+ throw new System.Text.Json.JsonException($"Expected a JSON object for '{nameof(Elastic.Clients.Elasticsearch.Analysis.UnknownTokenizer)}', but got '{content.ValueKind}'.");
+ }
+
+ var type = content.TryGetProperty(DiscriminatorName, out var discriminator) ? discriminator.GetString() : null;
+ if (type is null)
+ {
+ throw new System.Text.Json.JsonException($"Missing required '{DiscriminatorName}' discriminator for '{nameof(Elastic.Clients.Elasticsearch.Analysis.UnknownTokenizer)}'.");
+ }
+
+ return new Elastic.Clients.Elasticsearch.Analysis.UnknownTokenizer(type, content);
+ }
+
+ public override void Write(System.Text.Json.Utf8JsonWriter writer, Elastic.Clients.Elasticsearch.Analysis.UnknownTokenizer value, System.Text.Json.JsonSerializerOptions options)
+ {
+ writer.WriteStartObject();
+ writer.WriteString(DiscriminatorName, value.Type);
+ if (value.Content.ValueKind is System.Text.Json.JsonValueKind.Object)
+ {
+ foreach (var property in value.Content.EnumerateObject())
+ {
+ if (!property.NameEquals(DiscriminatorName))
+ {
+ property.WriteTo(writer);
+ }
+ }
+ }
+
+ writer.WriteEndObject();
+ }
+}
\ No newline at end of file
diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Analysis/UnknownTokenizer.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Analysis/UnknownTokenizer.g.cs
new file mode 100644
index 00000000000..0d72c2bfd9a
--- /dev/null
+++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Analysis/UnknownTokenizer.g.cs
@@ -0,0 +1,47 @@
+// Licensed to Elasticsearch B.V under one or more agreements.
+// Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
+// See the LICENSE file in the project root for more information.
+//
+// ███╗ ██╗ ██████╗ ████████╗██╗ ██████╗███████╗
+// ████╗ ██║██╔═══██╗╚══██╔══╝██║██╔════╝██╔════╝
+// ██╔██╗ ██║██║ ██║ ██║ ██║██║ █████╗
+// ██║╚██╗██║██║ ██║ ██║ ██║██║ ██╔══╝
+// ██║ ╚████║╚██████╔╝ ██║ ██║╚██████╗███████╗
+// ╚═╝ ╚═══╝ ╚═════╝ ╚═╝ ╚═╝ ╚═════╝╚══════╝
+// ------------------------------------------------
+//
+// This file is automatically generated.
+// Please do not edit these files manually.
+//
+// ------------------------------------------------
+
+#nullable restore
+
+using System;
+using System.Linq;
+using Elastic.Clients.Elasticsearch.Serialization;
+
+namespace Elastic.Clients.Elasticsearch.Analysis;
+
+[System.Text.Json.Serialization.JsonConverter(typeof(Elastic.Clients.Elasticsearch.Analysis.Json.UnknownTokenizerConverter))]
+public sealed partial class UnknownTokenizer : Elastic.Clients.Elasticsearch.Analysis.ITokenizer
+{
+ public string Type { get; }
+ public System.Text.Json.JsonElement Content { get; }
+
+ public UnknownTokenizer(string type, System.Text.Json.JsonElement content)
+ {
+ if (type is null)
+ {
+ throw new System.ArgumentNullException(nameof(type));
+ }
+
+ if (content.ValueKind is not System.Text.Json.JsonValueKind.Object)
+ {
+ throw new System.ArgumentException($"Content must be a JSON object, but got '{content.ValueKind}'.", nameof(content));
+ }
+
+ Type = type;
+ Content = content;
+ }
+}
\ No newline at end of file
diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Core/Search/FieldSuggester.Converters.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Core/Search/FieldSuggester.Converters.g.cs
index 008d2317963..232e444d5d0 100644
--- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Core/Search/FieldSuggester.Converters.g.cs
+++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Core/Search/FieldSuggester.Converters.g.cs
@@ -81,13 +81,18 @@ public override Elastic.Clients.Elasticsearch.Core.Search.FieldSuggester Read(re
continue;
}
- if (options.UnmappedMemberHandling is System.Text.Json.Serialization.JsonUnmappedMemberHandling.Skip)
+ variantType = reader.GetString()!;
+ reader.Read();
+ if (options.TryGetContext(out var settings) && settings.Variants.TryGetContainerReader(typeof(Elastic.Clients.Elasticsearch.Core.Search.FieldSuggester), variantType!, out var variantReader))
{
- reader.SafeSkip();
- continue;
+ variant = variantReader(ref reader, options);
+ }
+ else
+ {
+ variant = System.Text.Json.JsonElement.ParseValue(ref reader);
}
- throw new System.Text.Json.JsonException($"Unknown JSON property '{reader.GetString()}' for type '{typeToConvert.Name}'.");
+ continue;
}
reader.ValidateToken(System.Text.Json.JsonTokenType.EndObject);
@@ -118,7 +123,31 @@ public override void Write(System.Text.Json.Utf8JsonWriter writer, Elastic.Clien
writer.WriteProperty(options, value.VariantType, (Elastic.Clients.Elasticsearch.Core.Search.TermSuggester)value.Variant, null, null);
break;
default:
- throw new System.Text.Json.JsonException($"Variant '{value.VariantType}' is not supported for type '{nameof(Elastic.Clients.Elasticsearch.Core.Search.FieldSuggester)}'.");
+ if (value.Variant is null)
+ {
+ break;
+ }
+
+ if (value.Variant is System.Text.Json.JsonElement element)
+ {
+ writer.WritePropertyName(value.VariantType!);
+ element.WriteTo(writer);
+ break;
+ }
+
+ if (options.TryGetContext(out var settings) && settings.Variants.TryGetContainerWriter(typeof(Elastic.Clients.Elasticsearch.Core.Search.FieldSuggester), value.Variant.GetType(), out var variantWriter))
+ {
+ if (!string.Equals(value.VariantType, variantWriter.Discriminator, System.StringComparison.Ordinal))
+ {
+ throw new System.Text.Json.JsonException($"Container variant of runtime type '{value.Variant.GetType().Name}' is registered for variant name '{variantWriter.Discriminator}' but reports '{value.VariantType}' for type '{nameof(Elastic.Clients.Elasticsearch.Core.Search.FieldSuggester)}'.");
+ }
+
+ writer.WritePropertyName(variantWriter.Discriminator);
+ variantWriter.Write(writer, value.Variant, options);
+ break;
+ }
+
+ throw new System.Text.Json.JsonException($"Container variant of runtime type '{value.Variant.GetType().Name}' for variant '{value.VariantType}' is not registered. Call settings.Variants.RegisterContainer<{nameof(Elastic.Clients.Elasticsearch.Core.Search.FieldSuggester)}, T>(\"{value.VariantType}\") at startup.");
}
writer.WriteProperty(options, PropPrefix, value.Prefix, null, null);
diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Core/Search/FieldSuggester.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Core/Search/FieldSuggester.g.cs
index 5b641fbbf3d..985a2c72f41 100644
--- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Core/Search/FieldSuggester.g.cs
+++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Core/Search/FieldSuggester.g.cs
@@ -67,6 +67,20 @@ private void SetVariant(string type, T? value)
VariantType = type;
Variant = value;
}
+
+ public string? VariantName { get => VariantType; }
+
+ [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
+ public T? GetCustomVariant(string variantName)
+ {
+ return GetVariant(variantName);
+ }
+
+ [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
+ public void SetCustomVariant(string variantName, T? value)
+ {
+ SetVariant(variantName, value);
+ }
}
public readonly partial struct FieldSuggesterDescriptor
@@ -142,6 +156,13 @@ public Elastic.Clients.Elasticsearch.Core.Search.FieldSuggesterDescriptor CustomVariant(string variantName, T? value)
+ {
+ Instance.SetCustomVariant(variantName, value);
+ return this;
+ }
+
[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
internal static Elastic.Clients.Elasticsearch.Core.Search.FieldSuggester Build(System.Action> action)
{
@@ -242,6 +263,13 @@ public Elastic.Clients.Elasticsearch.Core.Search.FieldSuggesterDescriptor Text(s
return this;
}
+ [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
+ public Elastic.Clients.Elasticsearch.Core.Search.FieldSuggesterDescriptor CustomVariant(string variantName, T? value)
+ {
+ Instance.SetCustomVariant(variantName, value);
+ return this;
+ }
+
[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
internal static Elastic.Clients.Elasticsearch.Core.Search.FieldSuggester Build(System.Action action)
{
diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Core/Search/Rescore.Converters.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Core/Search/Rescore.Converters.g.cs
index 890ab431591..c9225056e5c 100644
--- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Core/Search/Rescore.Converters.g.cs
+++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Core/Search/Rescore.Converters.g.cs
@@ -67,13 +67,18 @@ public override Elastic.Clients.Elasticsearch.Core.Search.Rescore Read(ref Syste
continue;
}
- if (options.UnmappedMemberHandling is System.Text.Json.Serialization.JsonUnmappedMemberHandling.Skip)
+ variantType = reader.GetString()!;
+ reader.Read();
+ if (options.TryGetContext(out var settings) && settings.Variants.TryGetContainerReader(typeof(Elastic.Clients.Elasticsearch.Core.Search.Rescore), variantType!, out var variantReader))
{
- reader.SafeSkip();
- continue;
+ variant = variantReader(ref reader, options);
+ }
+ else
+ {
+ variant = System.Text.Json.JsonElement.ParseValue(ref reader);
}
- throw new System.Text.Json.JsonException($"Unknown JSON property '{reader.GetString()}' for type '{typeToConvert.Name}'.");
+ continue;
}
reader.ValidateToken(System.Text.Json.JsonTokenType.EndObject);
@@ -102,7 +107,31 @@ public override void Write(System.Text.Json.Utf8JsonWriter writer, Elastic.Clien
writer.WriteProperty(options, value.VariantType, (Elastic.Clients.Elasticsearch.Core.Search.ScriptRescore)value.Variant, null, null);
break;
default:
- throw new System.Text.Json.JsonException($"Variant '{value.VariantType}' is not supported for type '{nameof(Elastic.Clients.Elasticsearch.Core.Search.Rescore)}'.");
+ if (value.Variant is null)
+ {
+ break;
+ }
+
+ if (value.Variant is System.Text.Json.JsonElement element)
+ {
+ writer.WritePropertyName(value.VariantType!);
+ element.WriteTo(writer);
+ break;
+ }
+
+ if (options.TryGetContext(out var settings) && settings.Variants.TryGetContainerWriter(typeof(Elastic.Clients.Elasticsearch.Core.Search.Rescore), value.Variant.GetType(), out var variantWriter))
+ {
+ if (!string.Equals(value.VariantType, variantWriter.Discriminator, System.StringComparison.Ordinal))
+ {
+ throw new System.Text.Json.JsonException($"Container variant of runtime type '{value.Variant.GetType().Name}' is registered for variant name '{variantWriter.Discriminator}' but reports '{value.VariantType}' for type '{nameof(Elastic.Clients.Elasticsearch.Core.Search.Rescore)}'.");
+ }
+
+ writer.WritePropertyName(variantWriter.Discriminator);
+ variantWriter.Write(writer, value.Variant, options);
+ break;
+ }
+
+ throw new System.Text.Json.JsonException($"Container variant of runtime type '{value.Variant.GetType().Name}' for variant '{value.VariantType}' is not registered. Call settings.Variants.RegisterContainer<{nameof(Elastic.Clients.Elasticsearch.Core.Search.Rescore)}, T>(\"{value.VariantType}\") at startup.");
}
writer.WriteProperty(options, PropWindowSize, value.WindowSize, null, static (System.Text.Json.Utf8JsonWriter w, System.Text.Json.JsonSerializerOptions o, int? v) => w.WriteNullableValue(o, v));
diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Core/Search/Rescore.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Core/Search/Rescore.g.cs
index 57027c9531c..331f58377e5 100644
--- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Core/Search/Rescore.g.cs
+++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Core/Search/Rescore.g.cs
@@ -65,6 +65,20 @@ private void SetVariant(string type, T? value)
VariantType = type;
Variant = value;
}
+
+ public string? VariantName { get => VariantType; }
+
+ [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
+ public T? GetCustomVariant(string variantName)
+ {
+ return GetVariant(variantName);
+ }
+
+ [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
+ public void SetCustomVariant(string variantName, T? value)
+ {
+ SetVariant(variantName, value);
+ }
}
public readonly partial struct RescoreDescriptor
@@ -128,6 +142,13 @@ public Elastic.Clients.Elasticsearch.Core.Search.RescoreDescriptor Wi
return this;
}
+ [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
+ public Elastic.Clients.Elasticsearch.Core.Search.RescoreDescriptor CustomVariant(string variantName, T? value)
+ {
+ Instance.SetCustomVariant(variantName, value);
+ return this;
+ }
+
[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
internal static Elastic.Clients.Elasticsearch.Core.Search.Rescore Build(System.Action> action)
{
@@ -204,6 +225,13 @@ public Elastic.Clients.Elasticsearch.Core.Search.RescoreDescriptor WindowSize(in
return this;
}
+ [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
+ public Elastic.Clients.Elasticsearch.Core.Search.RescoreDescriptor CustomVariant(string variantName, T? value)
+ {
+ Instance.SetCustomVariant(variantName, value);
+ return this;
+ }
+
[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
internal static Elastic.Clients.Elasticsearch.Core.Search.Rescore Build(System.Action action)
{
diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Core/Search/SuggestDictionary.Converters.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Core/Search/SuggestDictionary.Converters.g.cs
index f6c7e8f5849..7c4ffc11a82 100644
--- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Core/Search/SuggestDictionary.Converters.g.cs
+++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Core/Search/SuggestDictionary.Converters.g.cs
@@ -86,7 +86,7 @@ internal static void WriteItem(System.Text.Json.Utf8JsonWriter writer, System.Te
writer.WriteProperty(options, key, v, static (System.Text.Json.Utf8JsonWriter w, System.Text.Json.JsonSerializerOptions o, string v) => w.WritePropertyName(o, v), static (System.Text.Json.Utf8JsonWriter w, System.Text.Json.JsonSerializerOptions o, System.Collections.Generic.IReadOnlyCollection v) => w.WritePropertyName>(o, v));
break;
default:
- throw new System.Text.Json.JsonException($"Variant '{0}' is not supported for type '{nameof(System.Collections.Generic.IReadOnlyCollection)}'.");
+ throw new System.Text.Json.JsonException($"Variant key '{key}' is not supported for type '{nameof(System.Collections.Generic.IReadOnlyCollection)}'.");
}
}
}
diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/IndexManagement/SettingsSimilarity.Converters.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/IndexManagement/SettingsSimilarity.Converters.g.cs
index a0f2fb7e711..644af2b4e5b 100644
--- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/IndexManagement/SettingsSimilarity.Converters.g.cs
+++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/IndexManagement/SettingsSimilarity.Converters.g.cs
@@ -53,7 +53,7 @@ public override Elastic.Clients.Elasticsearch.IndexManagement.ISettingsSimilarit
"LMDirichlet" => reader.ReadValue(options, null),
"LMJelinekMercer" => reader.ReadValue(options, null),
"scripted" => reader.ReadValue(options, null),
- _ => throw new System.Text.Json.JsonException($"Variant '{discriminator}' is not supported for type '{nameof(Elastic.Clients.Elasticsearch.IndexManagement.ISettingsSimilarity)}'.")
+ _ => ReadCustomVariant(ref reader, options, discriminator!)
};
}
@@ -86,7 +86,34 @@ public override void Write(System.Text.Json.Utf8JsonWriter writer, Elastic.Clien
writer.WriteValue(options, (Elastic.Clients.Elasticsearch.IndexManagement.SettingsSimilarityScripted)value, null);
break;
default:
- throw new System.Text.Json.JsonException($"Variant '{value.Type}' is not supported for type '{nameof(Elastic.Clients.Elasticsearch.IndexManagement.ISettingsSimilarity)}'.");
+ if (value is Elastic.Clients.Elasticsearch.IndexManagement.UnknownSettingsSimilarity custom)
+ {
+ writer.WriteValue(options, custom, null);
+ break;
+ }
+
+ if (options.TryGetContext(out var settings) && settings.Variants.TryGetWriter(value.GetType(), out var variantWriter))
+ {
+ if (!string.Equals(value.Type, variantWriter.Discriminator, System.StringComparison.Ordinal))
+ {
+ throw new System.Text.Json.JsonException($"Variant of runtime type '{value.GetType().Name}' is registered for discriminator '{variantWriter.Discriminator}' but reports '{value.Type}' for type '{nameof(Elastic.Clients.Elasticsearch.IndexManagement.ISettingsSimilarity)}'.");
+ }
+
+ variantWriter.Write(writer, value, options);
+ break;
+ }
+
+ throw new System.Text.Json.JsonException($"Variant of runtime type '{value.GetType().Name}' with discriminator '{value.Type}' is not registered. Call settings.Variants.Register<{nameof(Elastic.Clients.Elasticsearch.IndexManagement.ISettingsSimilarity)}, T>(\"{value.Type}\") at startup.");
}
}
+
+ private static Elastic.Clients.Elasticsearch.IndexManagement.ISettingsSimilarity ReadCustomVariant(ref System.Text.Json.Utf8JsonReader reader, System.Text.Json.JsonSerializerOptions options, string discriminator)
+ {
+ if (options.TryGetContext(out var settings) && settings.Variants.TryGetReader(discriminator, out var variantReader))
+ {
+ return variantReader(ref reader, options)!;
+ }
+
+ return reader.ReadValue(options)!;
+ }
}
\ No newline at end of file
diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/IndexManagement/UnknownSettingsSimilarity.Converters.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/IndexManagement/UnknownSettingsSimilarity.Converters.g.cs
new file mode 100644
index 00000000000..a20bc3f962f
--- /dev/null
+++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/IndexManagement/UnknownSettingsSimilarity.Converters.g.cs
@@ -0,0 +1,64 @@
+// Licensed to Elasticsearch B.V under one or more agreements.
+// Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
+// See the LICENSE file in the project root for more information.
+//
+// ███╗ ██╗ ██████╗ ████████╗██╗ ██████╗███████╗
+// ████╗ ██║██╔═══██╗╚══██╔══╝██║██╔════╝██╔════╝
+// ██╔██╗ ██║██║ ██║ ██║ ██║██║ █████╗
+// ██║╚██╗██║██║ ██║ ██║ ██║██║ ██╔══╝
+// ██║ ╚████║╚██████╔╝ ██║ ██║╚██████╗███████╗
+// ╚═╝ ╚═══╝ ╚═════╝ ╚═╝ ╚═╝ ╚═════╝╚══════╝
+// ------------------------------------------------
+//
+// This file is automatically generated.
+// Please do not edit these files manually.
+//
+// ------------------------------------------------
+
+#nullable restore
+
+using System;
+using System.Linq;
+using Elastic.Clients.Elasticsearch.Serialization;
+
+namespace Elastic.Clients.Elasticsearch.IndexManagement.Json;
+
+public sealed partial class UnknownSettingsSimilarityConverter : System.Text.Json.Serialization.JsonConverter
+{
+ private static readonly string DiscriminatorName = "type";
+
+ public override Elastic.Clients.Elasticsearch.IndexManagement.UnknownSettingsSimilarity Read(ref System.Text.Json.Utf8JsonReader reader, System.Type typeToConvert, System.Text.Json.JsonSerializerOptions options)
+ {
+ var content = System.Text.Json.JsonElement.ParseValue(ref reader);
+ if (content.ValueKind is not System.Text.Json.JsonValueKind.Object)
+ {
+ throw new System.Text.Json.JsonException($"Expected a JSON object for '{nameof(Elastic.Clients.Elasticsearch.IndexManagement.UnknownSettingsSimilarity)}', but got '{content.ValueKind}'.");
+ }
+
+ var type = content.TryGetProperty(DiscriminatorName, out var discriminator) ? discriminator.GetString() : null;
+ if (type is null)
+ {
+ throw new System.Text.Json.JsonException($"Missing required '{DiscriminatorName}' discriminator for '{nameof(Elastic.Clients.Elasticsearch.IndexManagement.UnknownSettingsSimilarity)}'.");
+ }
+
+ return new Elastic.Clients.Elasticsearch.IndexManagement.UnknownSettingsSimilarity(type, content);
+ }
+
+ public override void Write(System.Text.Json.Utf8JsonWriter writer, Elastic.Clients.Elasticsearch.IndexManagement.UnknownSettingsSimilarity value, System.Text.Json.JsonSerializerOptions options)
+ {
+ writer.WriteStartObject();
+ writer.WriteString(DiscriminatorName, value.Type);
+ if (value.Content.ValueKind is System.Text.Json.JsonValueKind.Object)
+ {
+ foreach (var property in value.Content.EnumerateObject())
+ {
+ if (!property.NameEquals(DiscriminatorName))
+ {
+ property.WriteTo(writer);
+ }
+ }
+ }
+
+ writer.WriteEndObject();
+ }
+}
\ No newline at end of file
diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/IndexManagement/UnknownSettingsSimilarity.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/IndexManagement/UnknownSettingsSimilarity.g.cs
new file mode 100644
index 00000000000..9c50e3c15e8
--- /dev/null
+++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/IndexManagement/UnknownSettingsSimilarity.g.cs
@@ -0,0 +1,47 @@
+// Licensed to Elasticsearch B.V under one or more agreements.
+// Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
+// See the LICENSE file in the project root for more information.
+//
+// ███╗ ██╗ ██████╗ ████████╗██╗ ██████╗███████╗
+// ████╗ ██║██╔═══██╗╚══██╔══╝██║██╔════╝██╔════╝
+// ██╔██╗ ██║██║ ██║ ██║ ██║██║ █████╗
+// ██║╚██╗██║██║ ██║ ██║ ██║██║ ██╔══╝
+// ██║ ╚████║╚██████╔╝ ██║ ██║╚██████╗███████╗
+// ╚═╝ ╚═══╝ ╚═════╝ ╚═╝ ╚═╝ ╚═════╝╚══════╝
+// ------------------------------------------------
+//
+// This file is automatically generated.
+// Please do not edit these files manually.
+//
+// ------------------------------------------------
+
+#nullable restore
+
+using System;
+using System.Linq;
+using Elastic.Clients.Elasticsearch.Serialization;
+
+namespace Elastic.Clients.Elasticsearch.IndexManagement;
+
+[System.Text.Json.Serialization.JsonConverter(typeof(Elastic.Clients.Elasticsearch.IndexManagement.Json.UnknownSettingsSimilarityConverter))]
+public sealed partial class UnknownSettingsSimilarity : Elastic.Clients.Elasticsearch.IndexManagement.ISettingsSimilarity
+{
+ public string Type { get; }
+ public System.Text.Json.JsonElement Content { get; }
+
+ public UnknownSettingsSimilarity(string type, System.Text.Json.JsonElement content)
+ {
+ if (type is null)
+ {
+ throw new System.ArgumentNullException(nameof(type));
+ }
+
+ if (content.ValueKind is not System.Text.Json.JsonValueKind.Object)
+ {
+ throw new System.ArgumentException($"Content must be a JSON object, but got '{content.ValueKind}'.", nameof(content));
+ }
+
+ Type = type;
+ Content = content;
+ }
+}
\ No newline at end of file
diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Ingest/Processor.Converters.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Ingest/Processor.Converters.g.cs
index d80fdc87880..514a823a0e8 100644
--- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Ingest/Processor.Converters.g.cs
+++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Ingest/Processor.Converters.g.cs
@@ -447,13 +447,18 @@ public override Elastic.Clients.Elasticsearch.Ingest.Processor Read(ref System.T
continue;
}
- if (options.UnmappedMemberHandling is System.Text.Json.Serialization.JsonUnmappedMemberHandling.Skip)
+ variantType = reader.GetString()!;
+ reader.Read();
+ if (options.TryGetContext(out var settings) && settings.Variants.TryGetContainerReader(typeof(Elastic.Clients.Elasticsearch.Ingest.Processor), variantType!, out var variantReader))
{
- reader.SafeSkip();
- continue;
+ variant = variantReader(ref reader, options);
+ }
+ else
+ {
+ variant = System.Text.Json.JsonElement.ParseValue(ref reader);
}
- throw new System.Text.Json.JsonException($"Unknown JSON property '{reader.GetString()}' for type '{typeToConvert.Name}'.");
+ continue;
}
reader.ValidateToken(System.Text.Json.JsonTokenType.EndObject);
@@ -610,7 +615,31 @@ public override void Write(System.Text.Json.Utf8JsonWriter writer, Elastic.Clien
writer.WriteProperty(options, value.VariantType, (Elastic.Clients.Elasticsearch.Ingest.UserAgentProcessor)value.Variant, null, null);
break;
default:
- throw new System.Text.Json.JsonException($"Variant '{value.VariantType}' is not supported for type '{nameof(Elastic.Clients.Elasticsearch.Ingest.Processor)}'.");
+ if (value.Variant is null)
+ {
+ break;
+ }
+
+ if (value.Variant is System.Text.Json.JsonElement element)
+ {
+ writer.WritePropertyName(value.VariantType!);
+ element.WriteTo(writer);
+ break;
+ }
+
+ if (options.TryGetContext(out var settings) && settings.Variants.TryGetContainerWriter(typeof(Elastic.Clients.Elasticsearch.Ingest.Processor), value.Variant.GetType(), out var variantWriter))
+ {
+ if (!string.Equals(value.VariantType, variantWriter.Discriminator, System.StringComparison.Ordinal))
+ {
+ throw new System.Text.Json.JsonException($"Container variant of runtime type '{value.Variant.GetType().Name}' is registered for variant name '{variantWriter.Discriminator}' but reports '{value.VariantType}' for type '{nameof(Elastic.Clients.Elasticsearch.Ingest.Processor)}'.");
+ }
+
+ writer.WritePropertyName(variantWriter.Discriminator);
+ variantWriter.Write(writer, value.Variant, options);
+ break;
+ }
+
+ throw new System.Text.Json.JsonException($"Container variant of runtime type '{value.Variant.GetType().Name}' for variant '{value.VariantType}' is not registered. Call settings.Variants.RegisterContainer<{nameof(Elastic.Clients.Elasticsearch.Ingest.Processor)}, T>(\"{value.VariantType}\") at startup.");
}
writer.WriteEndObject();
diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Ingest/Processor.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Ingest/Processor.g.cs
index 3b68710d33f..5672f47ff95 100644
--- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Ingest/Processor.g.cs
+++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Ingest/Processor.g.cs
@@ -150,6 +150,20 @@ private void SetVariant(string type, T? value)
VariantType = type;
Variant = value;
}
+
+ public string? VariantName { get => VariantType; }
+
+ [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
+ public T? GetCustomVariant(string variantName)
+ {
+ return GetVariant(variantName);
+ }
+
+ [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
+ public void SetCustomVariant(string variantName, T? value)
+ {
+ SetVariant(variantName, value);
+ }
}
public readonly partial struct ProcessorDescriptor
@@ -759,6 +773,13 @@ public Elastic.Clients.Elasticsearch.Ingest.ProcessorDescriptor UserA
return this;
}
+ [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
+ public Elastic.Clients.Elasticsearch.Ingest.ProcessorDescriptor CustomVariant(string variantName, T? value)
+ {
+ Instance.SetCustomVariant(variantName, value);
+ return this;
+ }
+
[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
internal static Elastic.Clients.Elasticsearch.Ingest.Processor Build(System.Action> action)
{
@@ -1651,6 +1672,13 @@ public Elastic.Clients.Elasticsearch.Ingest.ProcessorDescriptor UserAgent(Sys
return this;
}
+ [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
+ public Elastic.Clients.Elasticsearch.Ingest.ProcessorDescriptor CustomVariant(string variantName, T? value)
+ {
+ Instance.SetCustomVariant(variantName, value);
+ return this;
+ }
+
[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
internal static Elastic.Clients.Elasticsearch.Ingest.Processor Build(System.Action action)
{
diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Mapping/Property.Converters.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Mapping/Property.Converters.g.cs
index 74f170ec041..41c0c48fe47 100644
--- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Mapping/Property.Converters.g.cs
+++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Mapping/Property.Converters.g.cs
@@ -98,7 +98,7 @@ public override Elastic.Clients.Elasticsearch.Mapping.IProperty Read(ref System.
"unsigned_long" => reader.ReadValue(options, null),
"version" => reader.ReadValue(options, null),
"wildcard" => reader.ReadValue(options, null),
- _ => throw new System.Text.Json.JsonException($"Variant '{discriminator}' is not supported for type '{nameof(Elastic.Clients.Elasticsearch.Mapping.IProperty)}'.")
+ _ => ReadCustomVariant(ref reader, options, discriminator!)
};
}
@@ -266,7 +266,34 @@ public override void Write(System.Text.Json.Utf8JsonWriter writer, Elastic.Clien
writer.WriteValue(options, (Elastic.Clients.Elasticsearch.Mapping.WildcardProperty)value, null);
break;
default:
- throw new System.Text.Json.JsonException($"Variant '{value.Type}' is not supported for type '{nameof(Elastic.Clients.Elasticsearch.Mapping.IProperty)}'.");
+ if (value is Elastic.Clients.Elasticsearch.Mapping.UnknownProperty custom)
+ {
+ writer.WriteValue(options, custom, null);
+ break;
+ }
+
+ if (options.TryGetContext(out var settings) && settings.Variants.TryGetWriter(value.GetType(), out var variantWriter))
+ {
+ if (!string.Equals(value.Type, variantWriter.Discriminator, System.StringComparison.Ordinal))
+ {
+ throw new System.Text.Json.JsonException($"Variant of runtime type '{value.GetType().Name}' is registered for discriminator '{variantWriter.Discriminator}' but reports '{value.Type}' for type '{nameof(Elastic.Clients.Elasticsearch.Mapping.IProperty)}'.");
+ }
+
+ variantWriter.Write(writer, value, options);
+ break;
+ }
+
+ throw new System.Text.Json.JsonException($"Variant of runtime type '{value.GetType().Name}' with discriminator '{value.Type}' is not registered. Call settings.Variants.Register<{nameof(Elastic.Clients.Elasticsearch.Mapping.IProperty)}, T>(\"{value.Type}\") at startup.");
}
}
+
+ private static Elastic.Clients.Elasticsearch.Mapping.IProperty ReadCustomVariant(ref System.Text.Json.Utf8JsonReader reader, System.Text.Json.JsonSerializerOptions options, string discriminator)
+ {
+ if (options.TryGetContext(out var settings) && settings.Variants.TryGetReader(discriminator, out var variantReader))
+ {
+ return variantReader(ref reader, options)!;
+ }
+
+ return reader.ReadValue(options)!;
+ }
}
\ No newline at end of file
diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Mapping/UnknownProperty.Converters.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Mapping/UnknownProperty.Converters.g.cs
new file mode 100644
index 00000000000..7521671bee9
--- /dev/null
+++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Mapping/UnknownProperty.Converters.g.cs
@@ -0,0 +1,64 @@
+// Licensed to Elasticsearch B.V under one or more agreements.
+// Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
+// See the LICENSE file in the project root for more information.
+//
+// ███╗ ██╗ ██████╗ ████████╗██╗ ██████╗███████╗
+// ████╗ ██║██╔═══██╗╚══██╔══╝██║██╔════╝██╔════╝
+// ██╔██╗ ██║██║ ██║ ██║ ██║██║ █████╗
+// ██║╚██╗██║██║ ██║ ██║ ██║██║ ██╔══╝
+// ██║ ╚████║╚██████╔╝ ██║ ██║╚██████╗███████╗
+// ╚═╝ ╚═══╝ ╚═════╝ ╚═╝ ╚═╝ ╚═════╝╚══════╝
+// ------------------------------------------------
+//
+// This file is automatically generated.
+// Please do not edit these files manually.
+//
+// ------------------------------------------------
+
+#nullable restore
+
+using System;
+using System.Linq;
+using Elastic.Clients.Elasticsearch.Serialization;
+
+namespace Elastic.Clients.Elasticsearch.Mapping.Json;
+
+public sealed partial class UnknownPropertyConverter : System.Text.Json.Serialization.JsonConverter
+{
+ private static readonly string DiscriminatorName = "type";
+
+ public override Elastic.Clients.Elasticsearch.Mapping.UnknownProperty Read(ref System.Text.Json.Utf8JsonReader reader, System.Type typeToConvert, System.Text.Json.JsonSerializerOptions options)
+ {
+ var content = System.Text.Json.JsonElement.ParseValue(ref reader);
+ if (content.ValueKind is not System.Text.Json.JsonValueKind.Object)
+ {
+ throw new System.Text.Json.JsonException($"Expected a JSON object for '{nameof(Elastic.Clients.Elasticsearch.Mapping.UnknownProperty)}', but got '{content.ValueKind}'.");
+ }
+
+ var type = content.TryGetProperty(DiscriminatorName, out var discriminator) ? discriminator.GetString() : null;
+ if (type is null)
+ {
+ throw new System.Text.Json.JsonException($"Missing required '{DiscriminatorName}' discriminator for '{nameof(Elastic.Clients.Elasticsearch.Mapping.UnknownProperty)}'.");
+ }
+
+ return new Elastic.Clients.Elasticsearch.Mapping.UnknownProperty(type, content);
+ }
+
+ public override void Write(System.Text.Json.Utf8JsonWriter writer, Elastic.Clients.Elasticsearch.Mapping.UnknownProperty value, System.Text.Json.JsonSerializerOptions options)
+ {
+ writer.WriteStartObject();
+ writer.WriteString(DiscriminatorName, value.Type);
+ if (value.Content.ValueKind is System.Text.Json.JsonValueKind.Object)
+ {
+ foreach (var property in value.Content.EnumerateObject())
+ {
+ if (!property.NameEquals(DiscriminatorName))
+ {
+ property.WriteTo(writer);
+ }
+ }
+ }
+
+ writer.WriteEndObject();
+ }
+}
\ No newline at end of file
diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Mapping/UnknownProperty.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Mapping/UnknownProperty.g.cs
new file mode 100644
index 00000000000..f7a3abe9793
--- /dev/null
+++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Mapping/UnknownProperty.g.cs
@@ -0,0 +1,47 @@
+// Licensed to Elasticsearch B.V under one or more agreements.
+// Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
+// See the LICENSE file in the project root for more information.
+//
+// ███╗ ██╗ ██████╗ ████████╗██╗ ██████╗███████╗
+// ████╗ ██║██╔═══██╗╚══██╔══╝██║██╔════╝██╔════╝
+// ██╔██╗ ██║██║ ██║ ██║ ██║██║ █████╗
+// ██║╚██╗██║██║ ██║ ██║ ██║██║ ██╔══╝
+// ██║ ╚████║╚██████╔╝ ██║ ██║╚██████╗███████╗
+// ╚═╝ ╚═══╝ ╚═════╝ ╚═╝ ╚═╝ ╚═════╝╚══════╝
+// ------------------------------------------------
+//
+// This file is automatically generated.
+// Please do not edit these files manually.
+//
+// ------------------------------------------------
+
+#nullable restore
+
+using System;
+using System.Linq;
+using Elastic.Clients.Elasticsearch.Serialization;
+
+namespace Elastic.Clients.Elasticsearch.Mapping;
+
+[System.Text.Json.Serialization.JsonConverter(typeof(Elastic.Clients.Elasticsearch.Mapping.Json.UnknownPropertyConverter))]
+public sealed partial class UnknownProperty : Elastic.Clients.Elasticsearch.Mapping.IProperty
+{
+ public string Type { get; }
+ public System.Text.Json.JsonElement Content { get; }
+
+ public UnknownProperty(string type, System.Text.Json.JsonElement content)
+ {
+ if (type is null)
+ {
+ throw new System.ArgumentNullException(nameof(type));
+ }
+
+ if (content.ValueKind is not System.Text.Json.JsonValueKind.Object)
+ {
+ throw new System.ArgumentException($"Content must be a JSON object, but got '{content.ValueKind}'.", nameof(content));
+ }
+
+ Type = type;
+ Content = content;
+ }
+}
\ No newline at end of file
diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/QueryDsl/Query.Converters.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/QueryDsl/Query.Converters.g.cs
index c4e61256b39..6d5c913723a 100644
--- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/QueryDsl/Query.Converters.g.cs
+++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/QueryDsl/Query.Converters.g.cs
@@ -582,13 +582,18 @@ public override Elastic.Clients.Elasticsearch.QueryDsl.Query Read(ref System.Tex
continue;
}
- if (options.UnmappedMemberHandling is System.Text.Json.Serialization.JsonUnmappedMemberHandling.Skip)
+ variantType = reader.GetString()!;
+ reader.Read();
+ if (options.TryGetContext(out var settings) && settings.Variants.TryGetContainerReader(typeof(Elastic.Clients.Elasticsearch.QueryDsl.Query), variantType!, out var variantReader))
{
- reader.SafeSkip();
- continue;
+ variant = variantReader(ref reader, options);
+ }
+ else
+ {
+ variant = System.Text.Json.JsonElement.ParseValue(ref reader);
}
- throw new System.Text.Json.JsonException($"Unknown JSON property '{reader.GetString()}' for type '{typeToConvert.Name}'.");
+ continue;
}
reader.ValidateToken(System.Text.Json.JsonTokenType.EndObject);
@@ -790,7 +795,31 @@ public override void Write(System.Text.Json.Utf8JsonWriter writer, Elastic.Clien
writer.WriteProperty(options, value.VariantType, (Elastic.Clients.Elasticsearch.QueryDsl.WrapperQuery)value.Variant, null, null);
break;
default:
- throw new System.Text.Json.JsonException($"Variant '{value.VariantType}' is not supported for type '{nameof(Elastic.Clients.Elasticsearch.QueryDsl.Query)}'.");
+ if (value.Variant is null)
+ {
+ break;
+ }
+
+ if (value.Variant is System.Text.Json.JsonElement element)
+ {
+ writer.WritePropertyName(value.VariantType!);
+ element.WriteTo(writer);
+ break;
+ }
+
+ if (options.TryGetContext(out var settings) && settings.Variants.TryGetContainerWriter(typeof(Elastic.Clients.Elasticsearch.QueryDsl.Query), value.Variant.GetType(), out var variantWriter))
+ {
+ if (!string.Equals(value.VariantType, variantWriter.Discriminator, System.StringComparison.Ordinal))
+ {
+ throw new System.Text.Json.JsonException($"Container variant of runtime type '{value.Variant.GetType().Name}' is registered for variant name '{variantWriter.Discriminator}' but reports '{value.VariantType}' for type '{nameof(Elastic.Clients.Elasticsearch.QueryDsl.Query)}'.");
+ }
+
+ writer.WritePropertyName(variantWriter.Discriminator);
+ variantWriter.Write(writer, value.Variant, options);
+ break;
+ }
+
+ throw new System.Text.Json.JsonException($"Container variant of runtime type '{value.Variant.GetType().Name}' for variant '{value.VariantType}' is not registered. Call settings.Variants.RegisterContainer<{nameof(Elastic.Clients.Elasticsearch.QueryDsl.Query)}, T>(\"{value.VariantType}\") at startup.");
}
writer.WriteEndObject();
diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/QueryDsl/Query.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/QueryDsl/Query.g.cs
index 0f3415c3b34..8ae35d38d66 100644
--- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/QueryDsl/Query.g.cs
+++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/QueryDsl/Query.g.cs
@@ -201,6 +201,20 @@ private void SetVariant(string type, T? value)
VariantType = type;
Variant = value;
}
+
+ public string? VariantName { get => VariantType; }
+
+ [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
+ public T? GetCustomVariant(string variantName)
+ {
+ return GetVariant(variantName);
+ }
+
+ [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
+ public void SetCustomVariant(string variantName, T? value)
+ {
+ SetVariant(variantName, value);
+ }
}
public readonly partial struct QueryDescriptor
@@ -1000,6 +1014,13 @@ public Elastic.Clients.Elasticsearch.QueryDsl.QueryDescriptor Wrapper
return this;
}
+ [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
+ public Elastic.Clients.Elasticsearch.QueryDsl.QueryDescriptor CustomVariant(string variantName, T? value)
+ {
+ Instance.SetCustomVariant(variantName, value);
+ return this;
+ }
+
[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
internal static Elastic.Clients.Elasticsearch.QueryDsl.Query Build(System.Action> action)
{
@@ -2128,6 +2149,13 @@ public Elastic.Clients.Elasticsearch.QueryDsl.QueryDescriptor Wrapper(System.Act
return this;
}
+ [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
+ public Elastic.Clients.Elasticsearch.QueryDsl.QueryDescriptor CustomVariant(string variantName, T? value)
+ {
+ Instance.SetCustomVariant(variantName, value);
+ return this;
+ }
+
[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
internal static Elastic.Clients.Elasticsearch.QueryDsl.Query Build(System.Action action)
{
diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/QueryDsl/SpanQuery.Converters.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/QueryDsl/SpanQuery.Converters.g.cs
index 1ef549503fd..4d34161ab73 100644
--- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/QueryDsl/SpanQuery.Converters.g.cs
+++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/QueryDsl/SpanQuery.Converters.g.cs
@@ -123,13 +123,18 @@ public override Elastic.Clients.Elasticsearch.QueryDsl.SpanQuery Read(ref System
continue;
}
- if (options.UnmappedMemberHandling is System.Text.Json.Serialization.JsonUnmappedMemberHandling.Skip)
+ variantType = reader.GetString()!;
+ reader.Read();
+ if (options.TryGetContext(out var settings) && settings.Variants.TryGetContainerReader(typeof(Elastic.Clients.Elasticsearch.QueryDsl.SpanQuery), variantType!, out var variantReader))
{
- reader.SafeSkip();
- continue;
+ variant = variantReader(ref reader, options);
+ }
+ else
+ {
+ variant = System.Text.Json.JsonElement.ParseValue(ref reader);
}
- throw new System.Text.Json.JsonException($"Unknown JSON property '{reader.GetString()}' for type '{typeToConvert.Name}'.");
+ continue;
}
reader.ValidateToken(System.Text.Json.JsonTokenType.EndObject);
@@ -178,7 +183,31 @@ public override void Write(System.Text.Json.Utf8JsonWriter writer, Elastic.Clien
writer.WriteProperty(options, value.VariantType, (Elastic.Clients.Elasticsearch.QueryDsl.SpanWithinQuery)value.Variant, null, null);
break;
default:
- throw new System.Text.Json.JsonException($"Variant '{value.VariantType}' is not supported for type '{nameof(Elastic.Clients.Elasticsearch.QueryDsl.SpanQuery)}'.");
+ if (value.Variant is null)
+ {
+ break;
+ }
+
+ if (value.Variant is System.Text.Json.JsonElement element)
+ {
+ writer.WritePropertyName(value.VariantType!);
+ element.WriteTo(writer);
+ break;
+ }
+
+ if (options.TryGetContext(out var settings) && settings.Variants.TryGetContainerWriter(typeof(Elastic.Clients.Elasticsearch.QueryDsl.SpanQuery), value.Variant.GetType(), out var variantWriter))
+ {
+ if (!string.Equals(value.VariantType, variantWriter.Discriminator, System.StringComparison.Ordinal))
+ {
+ throw new System.Text.Json.JsonException($"Container variant of runtime type '{value.Variant.GetType().Name}' is registered for variant name '{variantWriter.Discriminator}' but reports '{value.VariantType}' for type '{nameof(Elastic.Clients.Elasticsearch.QueryDsl.SpanQuery)}'.");
+ }
+
+ writer.WritePropertyName(variantWriter.Discriminator);
+ variantWriter.Write(writer, value.Variant, options);
+ break;
+ }
+
+ throw new System.Text.Json.JsonException($"Container variant of runtime type '{value.Variant.GetType().Name}' for variant '{value.VariantType}' is not registered. Call settings.Variants.RegisterContainer<{nameof(Elastic.Clients.Elasticsearch.QueryDsl.SpanQuery)}, T>(\"{value.VariantType}\") at startup.");
}
writer.WriteEndObject();
diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/QueryDsl/SpanQuery.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/QueryDsl/SpanQuery.g.cs
index da5dada620d..96841c8d2af 100644
--- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/QueryDsl/SpanQuery.g.cs
+++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/QueryDsl/SpanQuery.g.cs
@@ -78,6 +78,20 @@ private void SetVariant(string type, T? value)
VariantType = type;
Variant = value;
}
+
+ public string? VariantName { get => VariantType; }
+
+ [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
+ public T? GetCustomVariant(string variantName)
+ {
+ return GetVariant(variantName);
+ }
+
+ [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
+ public void SetCustomVariant(string variantName, T? value)
+ {
+ SetVariant(variantName, value);
+ }
}
public readonly partial struct SpanQueryDescriptor
@@ -225,6 +239,13 @@ public Elastic.Clients.Elasticsearch.QueryDsl.SpanQueryDescriptor Spa
return this;
}
+ [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
+ public Elastic.Clients.Elasticsearch.QueryDsl.SpanQueryDescriptor CustomVariant(string variantName, T? value)
+ {
+ Instance.SetCustomVariant(variantName, value);
+ return this;
+ }
+
[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
internal static Elastic.Clients.Elasticsearch.QueryDsl.SpanQuery Build(System.Action> action)
{
@@ -433,6 +454,13 @@ public Elastic.Clients.Elasticsearch.QueryDsl.SpanQueryDescriptor SpanWithin(
return this;
}
+ [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
+ public Elastic.Clients.Elasticsearch.QueryDsl.SpanQueryDescriptor CustomVariant(string variantName, T? value)
+ {
+ Instance.SetCustomVariant(variantName, value);
+ return this;
+ }
+
[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
internal static Elastic.Clients.Elasticsearch.QueryDsl.SpanQuery Build(System.Action action)
{
diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Security/ApiKeyAggregation.Converters.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Security/ApiKeyAggregation.Converters.g.cs
index a9f570479cc..e5495792bba 100644
--- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Security/ApiKeyAggregation.Converters.g.cs
+++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Security/ApiKeyAggregation.Converters.g.cs
@@ -129,13 +129,18 @@ public override Elastic.Clients.Elasticsearch.Security.ApiKeyAggregation Read(re
continue;
}
- if (options.UnmappedMemberHandling is System.Text.Json.Serialization.JsonUnmappedMemberHandling.Skip)
+ variantType = reader.GetString()!;
+ reader.Read();
+ if (options.TryGetContext(out var settings) && settings.Variants.TryGetContainerReader(typeof(Elastic.Clients.Elasticsearch.Security.ApiKeyAggregation), variantType!, out var variantReader))
{
- reader.SafeSkip();
- continue;
+ variant = variantReader(ref reader, options);
+ }
+ else
+ {
+ variant = System.Text.Json.JsonElement.ParseValue(ref reader);
}
- throw new System.Text.Json.JsonException($"Unknown JSON property '{reader.GetString()}' for type '{typeToConvert.Name}'.");
+ continue;
}
reader.ValidateToken(System.Text.Json.JsonTokenType.EndObject);
@@ -183,7 +188,31 @@ public override void Write(System.Text.Json.Utf8JsonWriter writer, Elastic.Clien
writer.WriteProperty(options, value.VariantType, (Elastic.Clients.Elasticsearch.Aggregations.ValueCountAggregation)value.Variant, null, null);
break;
default:
- throw new System.Text.Json.JsonException($"Variant '{value.VariantType}' is not supported for type '{nameof(Elastic.Clients.Elasticsearch.Security.ApiKeyAggregation)}'.");
+ if (value.Variant is null)
+ {
+ break;
+ }
+
+ if (value.Variant is System.Text.Json.JsonElement element)
+ {
+ writer.WritePropertyName(value.VariantType!);
+ element.WriteTo(writer);
+ break;
+ }
+
+ if (options.TryGetContext(out var settings) && settings.Variants.TryGetContainerWriter(typeof(Elastic.Clients.Elasticsearch.Security.ApiKeyAggregation), value.Variant.GetType(), out var variantWriter))
+ {
+ if (!string.Equals(value.VariantType, variantWriter.Discriminator, System.StringComparison.Ordinal))
+ {
+ throw new System.Text.Json.JsonException($"Container variant of runtime type '{value.Variant.GetType().Name}' is registered for variant name '{variantWriter.Discriminator}' but reports '{value.VariantType}' for type '{nameof(Elastic.Clients.Elasticsearch.Security.ApiKeyAggregation)}'.");
+ }
+
+ writer.WritePropertyName(variantWriter.Discriminator);
+ variantWriter.Write(writer, value.Variant, options);
+ break;
+ }
+
+ throw new System.Text.Json.JsonException($"Container variant of runtime type '{value.Variant.GetType().Name}' for variant '{value.VariantType}' is not registered. Call settings.Variants.RegisterContainer<{nameof(Elastic.Clients.Elasticsearch.Security.ApiKeyAggregation)}, T>(\"{value.VariantType}\") at startup.");
}
writer.WriteProperty(options, PropAggregations, value.Aggregations, null, static (System.Text.Json.Utf8JsonWriter w, System.Text.Json.JsonSerializerOptions o, System.Collections.Generic.IDictionary? v) => w.WriteDictionaryValue(o, v, null, null));
diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Security/ApiKeyAggregation.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Security/ApiKeyAggregation.g.cs
index c2e91ca6187..35bcfe8ae9a 100644
--- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Security/ApiKeyAggregation.g.cs
+++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Security/ApiKeyAggregation.g.cs
@@ -78,6 +78,20 @@ private void SetVariant(string type, T? value)
VariantType = type;
Variant = value;
}
+
+ public string? VariantName { get => VariantType; }
+
+ [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
+ public T? GetCustomVariant(string variantName)
+ {
+ return GetVariant(variantName);
+ }
+
+ [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
+ public void SetCustomVariant(string variantName, T? value)
+ {
+ SetVariant(variantName, value);
+ }
}
public readonly partial struct ApiKeyAggregationDescriptor
@@ -312,6 +326,13 @@ public Elastic.Clients.Elasticsearch.Security.ApiKeyAggregationDescriptor CustomVariant(string variantName, T? value)
+ {
+ Instance.SetCustomVariant(variantName, value);
+ return this;
+ }
+
[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
internal static Elastic.Clients.Elasticsearch.Security.ApiKeyAggregation Build(System.Action> action)
{
@@ -620,6 +641,13 @@ public Elastic.Clients.Elasticsearch.Security.ApiKeyAggregationDescriptor AddMet
return this;
}
+ [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
+ public Elastic.Clients.Elasticsearch.Security.ApiKeyAggregationDescriptor CustomVariant(string variantName, T? value)
+ {
+ Instance.SetCustomVariant(variantName, value);
+ return this;
+ }
+
[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
internal static Elastic.Clients.Elasticsearch.Security.ApiKeyAggregation Build(System.Action action)
{
diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Security/ApiKeyQuery.Converters.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Security/ApiKeyQuery.Converters.g.cs
index e4aec949d8c..f84de14e094 100644
--- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Security/ApiKeyQuery.Converters.g.cs
+++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Security/ApiKeyQuery.Converters.g.cs
@@ -132,13 +132,18 @@ public override Elastic.Clients.Elasticsearch.Security.ApiKeyQuery Read(ref Syst
continue;
}
- if (options.UnmappedMemberHandling is System.Text.Json.Serialization.JsonUnmappedMemberHandling.Skip)
+ variantType = reader.GetString()!;
+ reader.Read();
+ if (options.TryGetContext(out var settings) && settings.Variants.TryGetContainerReader(typeof(Elastic.Clients.Elasticsearch.Security.ApiKeyQuery), variantType!, out var variantReader))
{
- reader.SafeSkip();
- continue;
+ variant = variantReader(ref reader, options);
+ }
+ else
+ {
+ variant = System.Text.Json.JsonElement.ParseValue(ref reader);
}
- throw new System.Text.Json.JsonException($"Unknown JSON property '{reader.GetString()}' for type '{typeToConvert.Name}'.");
+ continue;
}
reader.ValidateToken(System.Text.Json.JsonTokenType.EndObject);
@@ -190,7 +195,31 @@ public override void Write(System.Text.Json.Utf8JsonWriter writer, Elastic.Clien
writer.WriteProperty(options, value.VariantType, (Elastic.Clients.Elasticsearch.QueryDsl.WildcardQuery)value.Variant, null, null);
break;
default:
- throw new System.Text.Json.JsonException($"Variant '{value.VariantType}' is not supported for type '{nameof(Elastic.Clients.Elasticsearch.Security.ApiKeyQuery)}'.");
+ if (value.Variant is null)
+ {
+ break;
+ }
+
+ if (value.Variant is System.Text.Json.JsonElement element)
+ {
+ writer.WritePropertyName(value.VariantType!);
+ element.WriteTo(writer);
+ break;
+ }
+
+ if (options.TryGetContext(out var settings) && settings.Variants.TryGetContainerWriter(typeof(Elastic.Clients.Elasticsearch.Security.ApiKeyQuery), value.Variant.GetType(), out var variantWriter))
+ {
+ if (!string.Equals(value.VariantType, variantWriter.Discriminator, System.StringComparison.Ordinal))
+ {
+ throw new System.Text.Json.JsonException($"Container variant of runtime type '{value.Variant.GetType().Name}' is registered for variant name '{variantWriter.Discriminator}' but reports '{value.VariantType}' for type '{nameof(Elastic.Clients.Elasticsearch.Security.ApiKeyQuery)}'.");
+ }
+
+ writer.WritePropertyName(variantWriter.Discriminator);
+ variantWriter.Write(writer, value.Variant, options);
+ break;
+ }
+
+ throw new System.Text.Json.JsonException($"Container variant of runtime type '{value.Variant.GetType().Name}' for variant '{value.VariantType}' is not registered. Call settings.Variants.RegisterContainer<{nameof(Elastic.Clients.Elasticsearch.Security.ApiKeyQuery)}, T>(\"{value.VariantType}\") at startup.");
}
writer.WriteEndObject();
diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Security/ApiKeyQuery.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Security/ApiKeyQuery.g.cs
index 06ea5f07f9f..33fe1f80f00 100644
--- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Security/ApiKeyQuery.g.cs
+++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Security/ApiKeyQuery.g.cs
@@ -84,6 +84,20 @@ private void SetVariant(string type, T? value)
VariantType = type;
Variant = value;
}
+
+ public string? VariantName { get => VariantType; }
+
+ [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
+ public T? GetCustomVariant(string variantName)
+ {
+ return GetVariant(variantName);
+ }
+
+ [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
+ public void SetCustomVariant(string variantName, T? value)
+ {
+ SetVariant(variantName, value);
+ }
}
public readonly partial struct ApiKeyQueryDescriptor
@@ -255,6 +269,13 @@ public Elastic.Clients.Elasticsearch.Security.ApiKeyQueryDescriptor W
return this;
}
+ [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
+ public Elastic.Clients.Elasticsearch.Security.ApiKeyQueryDescriptor CustomVariant(string variantName, T? value)
+ {
+ Instance.SetCustomVariant(variantName, value);
+ return this;
+ }
+
[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
internal static Elastic.Clients.Elasticsearch.Security.ApiKeyQuery Build(System.Action> action)
{
@@ -487,6 +508,13 @@ public Elastic.Clients.Elasticsearch.Security.ApiKeyQueryDescriptor Wildcard(
return this;
}
+ [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
+ public Elastic.Clients.Elasticsearch.Security.ApiKeyQueryDescriptor CustomVariant(string variantName, T? value)
+ {
+ Instance.SetCustomVariant(variantName, value);
+ return this;
+ }
+
[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
internal static Elastic.Clients.Elasticsearch.Security.ApiKeyQuery Build(System.Action action)
{
diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Security/RoleQuery.Converters.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Security/RoleQuery.Converters.g.cs
index 7a7c46e49d1..9e8ec976e05 100644
--- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Security/RoleQuery.Converters.g.cs
+++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Security/RoleQuery.Converters.g.cs
@@ -132,13 +132,18 @@ public override Elastic.Clients.Elasticsearch.Security.RoleQuery Read(ref System
continue;
}
- if (options.UnmappedMemberHandling is System.Text.Json.Serialization.JsonUnmappedMemberHandling.Skip)
+ variantType = reader.GetString()!;
+ reader.Read();
+ if (options.TryGetContext(out var settings) && settings.Variants.TryGetContainerReader(typeof(Elastic.Clients.Elasticsearch.Security.RoleQuery), variantType!, out var variantReader))
{
- reader.SafeSkip();
- continue;
+ variant = variantReader(ref reader, options);
+ }
+ else
+ {
+ variant = System.Text.Json.JsonElement.ParseValue(ref reader);
}
- throw new System.Text.Json.JsonException($"Unknown JSON property '{reader.GetString()}' for type '{typeToConvert.Name}'.");
+ continue;
}
reader.ValidateToken(System.Text.Json.JsonTokenType.EndObject);
@@ -190,7 +195,31 @@ public override void Write(System.Text.Json.Utf8JsonWriter writer, Elastic.Clien
writer.WriteProperty(options, value.VariantType, (Elastic.Clients.Elasticsearch.QueryDsl.WildcardQuery)value.Variant, null, null);
break;
default:
- throw new System.Text.Json.JsonException($"Variant '{value.VariantType}' is not supported for type '{nameof(Elastic.Clients.Elasticsearch.Security.RoleQuery)}'.");
+ if (value.Variant is null)
+ {
+ break;
+ }
+
+ if (value.Variant is System.Text.Json.JsonElement element)
+ {
+ writer.WritePropertyName(value.VariantType!);
+ element.WriteTo(writer);
+ break;
+ }
+
+ if (options.TryGetContext(out var settings) && settings.Variants.TryGetContainerWriter(typeof(Elastic.Clients.Elasticsearch.Security.RoleQuery), value.Variant.GetType(), out var variantWriter))
+ {
+ if (!string.Equals(value.VariantType, variantWriter.Discriminator, System.StringComparison.Ordinal))
+ {
+ throw new System.Text.Json.JsonException($"Container variant of runtime type '{value.Variant.GetType().Name}' is registered for variant name '{variantWriter.Discriminator}' but reports '{value.VariantType}' for type '{nameof(Elastic.Clients.Elasticsearch.Security.RoleQuery)}'.");
+ }
+
+ writer.WritePropertyName(variantWriter.Discriminator);
+ variantWriter.Write(writer, value.Variant, options);
+ break;
+ }
+
+ throw new System.Text.Json.JsonException($"Container variant of runtime type '{value.Variant.GetType().Name}' for variant '{value.VariantType}' is not registered. Call settings.Variants.RegisterContainer<{nameof(Elastic.Clients.Elasticsearch.Security.RoleQuery)}, T>(\"{value.VariantType}\") at startup.");
}
writer.WriteEndObject();
diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Security/RoleQuery.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Security/RoleQuery.g.cs
index 5a5dda7e766..6edec742f18 100644
--- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Security/RoleQuery.g.cs
+++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Security/RoleQuery.g.cs
@@ -84,6 +84,20 @@ private void SetVariant(string type, T? value)
VariantType = type;
Variant = value;
}
+
+ public string? VariantName { get => VariantType; }
+
+ [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
+ public T? GetCustomVariant(string variantName)
+ {
+ return GetVariant(variantName);
+ }
+
+ [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
+ public void SetCustomVariant(string variantName, T? value)
+ {
+ SetVariant(variantName, value);
+ }
}
public readonly partial struct RoleQueryDescriptor
@@ -255,6 +269,13 @@ public Elastic.Clients.Elasticsearch.Security.RoleQueryDescriptor Wil
return this;
}
+ [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
+ public Elastic.Clients.Elasticsearch.Security.RoleQueryDescriptor CustomVariant(string variantName, T? value)
+ {
+ Instance.SetCustomVariant(variantName, value);
+ return this;
+ }
+
[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
internal static Elastic.Clients.Elasticsearch.Security.RoleQuery Build(System.Action> action)
{
@@ -487,6 +508,13 @@ public Elastic.Clients.Elasticsearch.Security.RoleQueryDescriptor Wildcard(Sy
return this;
}
+ [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
+ public Elastic.Clients.Elasticsearch.Security.RoleQueryDescriptor CustomVariant(string variantName, T? value)
+ {
+ Instance.SetCustomVariant(variantName, value);
+ return this;
+ }
+
[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
internal static Elastic.Clients.Elasticsearch.Security.RoleQuery Build(System.Action action)
{
diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Security/UserQuery.Converters.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Security/UserQuery.Converters.g.cs
index 7f318cbeadb..9ffb2e66466 100644
--- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Security/UserQuery.Converters.g.cs
+++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Security/UserQuery.Converters.g.cs
@@ -132,13 +132,18 @@ public override Elastic.Clients.Elasticsearch.Security.UserQuery Read(ref System
continue;
}
- if (options.UnmappedMemberHandling is System.Text.Json.Serialization.JsonUnmappedMemberHandling.Skip)
+ variantType = reader.GetString()!;
+ reader.Read();
+ if (options.TryGetContext(out var settings) && settings.Variants.TryGetContainerReader(typeof(Elastic.Clients.Elasticsearch.Security.UserQuery), variantType!, out var variantReader))
{
- reader.SafeSkip();
- continue;
+ variant = variantReader(ref reader, options);
+ }
+ else
+ {
+ variant = System.Text.Json.JsonElement.ParseValue(ref reader);
}
- throw new System.Text.Json.JsonException($"Unknown JSON property '{reader.GetString()}' for type '{typeToConvert.Name}'.");
+ continue;
}
reader.ValidateToken(System.Text.Json.JsonTokenType.EndObject);
@@ -190,7 +195,31 @@ public override void Write(System.Text.Json.Utf8JsonWriter writer, Elastic.Clien
writer.WriteProperty(options, value.VariantType, (Elastic.Clients.Elasticsearch.QueryDsl.WildcardQuery)value.Variant, null, null);
break;
default:
- throw new System.Text.Json.JsonException($"Variant '{value.VariantType}' is not supported for type '{nameof(Elastic.Clients.Elasticsearch.Security.UserQuery)}'.");
+ if (value.Variant is null)
+ {
+ break;
+ }
+
+ if (value.Variant is System.Text.Json.JsonElement element)
+ {
+ writer.WritePropertyName(value.VariantType!);
+ element.WriteTo(writer);
+ break;
+ }
+
+ if (options.TryGetContext(out var settings) && settings.Variants.TryGetContainerWriter(typeof(Elastic.Clients.Elasticsearch.Security.UserQuery), value.Variant.GetType(), out var variantWriter))
+ {
+ if (!string.Equals(value.VariantType, variantWriter.Discriminator, System.StringComparison.Ordinal))
+ {
+ throw new System.Text.Json.JsonException($"Container variant of runtime type '{value.Variant.GetType().Name}' is registered for variant name '{variantWriter.Discriminator}' but reports '{value.VariantType}' for type '{nameof(Elastic.Clients.Elasticsearch.Security.UserQuery)}'.");
+ }
+
+ writer.WritePropertyName(variantWriter.Discriminator);
+ variantWriter.Write(writer, value.Variant, options);
+ break;
+ }
+
+ throw new System.Text.Json.JsonException($"Container variant of runtime type '{value.Variant.GetType().Name}' for variant '{value.VariantType}' is not registered. Call settings.Variants.RegisterContainer<{nameof(Elastic.Clients.Elasticsearch.Security.UserQuery)}, T>(\"{value.VariantType}\") at startup.");
}
writer.WriteEndObject();
diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Security/UserQuery.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Security/UserQuery.g.cs
index 98139bb155e..b67b5d5ae56 100644
--- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Security/UserQuery.g.cs
+++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Security/UserQuery.g.cs
@@ -84,6 +84,20 @@ private void SetVariant(string type, T? value)
VariantType = type;
Variant = value;
}
+
+ public string? VariantName { get => VariantType; }
+
+ [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
+ public T? GetCustomVariant(string variantName)
+ {
+ return GetVariant(variantName);
+ }
+
+ [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
+ public void SetCustomVariant(string variantName, T? value)
+ {
+ SetVariant(variantName, value);
+ }
}
public readonly partial struct UserQueryDescriptor
@@ -255,6 +269,13 @@ public Elastic.Clients.Elasticsearch.Security.UserQueryDescriptor Wil
return this;
}
+ [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
+ public Elastic.Clients.Elasticsearch.Security.UserQueryDescriptor CustomVariant(string variantName, T? value)
+ {
+ Instance.SetCustomVariant(variantName, value);
+ return this;
+ }
+
[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
internal static Elastic.Clients.Elasticsearch.Security.UserQuery Build(System.Action> action)
{
@@ -487,6 +508,13 @@ public Elastic.Clients.Elasticsearch.Security.UserQueryDescriptor Wildcard(Sy
return this;
}
+ [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
+ public Elastic.Clients.Elasticsearch.Security.UserQueryDescriptor CustomVariant(string variantName, T? value)
+ {
+ Instance.SetCustomVariant(variantName, value);
+ return this;
+ }
+
[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
internal static Elastic.Clients.Elasticsearch.Security.UserQuery Build(System.Action action)
{
diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Snapshot/Repository.Converters.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Snapshot/Repository.Converters.g.cs
index c7932b73b12..60b66545b69 100644
--- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Snapshot/Repository.Converters.g.cs
+++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Snapshot/Repository.Converters.g.cs
@@ -51,7 +51,7 @@ public override Elastic.Clients.Elasticsearch.Snapshot.IRepository Read(ref Syst
"s3" => reader.ReadValue(options, null),
"source" => reader.ReadValue(options, null),
"url" => reader.ReadValue(options, null),
- _ => throw new System.Text.Json.JsonException($"Variant '{discriminator}' is not supported for type '{nameof(Elastic.Clients.Elasticsearch.Snapshot.IRepository)}'.")
+ _ => ReadCustomVariant(ref reader, options, discriminator!)
};
}
@@ -78,7 +78,34 @@ public override void Write(System.Text.Json.Utf8JsonWriter writer, Elastic.Clien
writer.WriteValue(options, (Elastic.Clients.Elasticsearch.Snapshot.ReadOnlyUrlRepository)value, null);
break;
default:
- throw new System.Text.Json.JsonException($"Variant '{value.Type}' is not supported for type '{nameof(Elastic.Clients.Elasticsearch.Snapshot.IRepository)}'.");
+ if (value is Elastic.Clients.Elasticsearch.Snapshot.UnknownRepository custom)
+ {
+ writer.WriteValue(options, custom, null);
+ break;
+ }
+
+ if (options.TryGetContext(out var settings) && settings.Variants.TryGetWriter(value.GetType(), out var variantWriter))
+ {
+ if (!string.Equals(value.Type, variantWriter.Discriminator, System.StringComparison.Ordinal))
+ {
+ throw new System.Text.Json.JsonException($"Variant of runtime type '{value.GetType().Name}' is registered for discriminator '{variantWriter.Discriminator}' but reports '{value.Type}' for type '{nameof(Elastic.Clients.Elasticsearch.Snapshot.IRepository)}'.");
+ }
+
+ variantWriter.Write(writer, value, options);
+ break;
+ }
+
+ throw new System.Text.Json.JsonException($"Variant of runtime type '{value.GetType().Name}' with discriminator '{value.Type}' is not registered. Call settings.Variants.Register<{nameof(Elastic.Clients.Elasticsearch.Snapshot.IRepository)}, T>(\"{value.Type}\") at startup.");
}
}
+
+ private static Elastic.Clients.Elasticsearch.Snapshot.IRepository ReadCustomVariant(ref System.Text.Json.Utf8JsonReader reader, System.Text.Json.JsonSerializerOptions options, string discriminator)
+ {
+ if (options.TryGetContext(out var settings) && settings.Variants.TryGetReader(discriminator, out var variantReader))
+ {
+ return variantReader(ref reader, options)!;
+ }
+
+ return reader.ReadValue(options)!;
+ }
}
\ No newline at end of file
diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Snapshot/UnknownRepository.Converters.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Snapshot/UnknownRepository.Converters.g.cs
new file mode 100644
index 00000000000..3c6213df1bb
--- /dev/null
+++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Snapshot/UnknownRepository.Converters.g.cs
@@ -0,0 +1,64 @@
+// Licensed to Elasticsearch B.V under one or more agreements.
+// Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
+// See the LICENSE file in the project root for more information.
+//
+// ███╗ ██╗ ██████╗ ████████╗██╗ ██████╗███████╗
+// ████╗ ██║██╔═══██╗╚══██╔══╝██║██╔════╝██╔════╝
+// ██╔██╗ ██║██║ ██║ ██║ ██║██║ █████╗
+// ██║╚██╗██║██║ ██║ ██║ ██║██║ ██╔══╝
+// ██║ ╚████║╚██████╔╝ ██║ ██║╚██████╗███████╗
+// ╚═╝ ╚═══╝ ╚═════╝ ╚═╝ ╚═╝ ╚═════╝╚══════╝
+// ------------------------------------------------
+//
+// This file is automatically generated.
+// Please do not edit these files manually.
+//
+// ------------------------------------------------
+
+#nullable restore
+
+using System;
+using System.Linq;
+using Elastic.Clients.Elasticsearch.Serialization;
+
+namespace Elastic.Clients.Elasticsearch.Snapshot.Json;
+
+public sealed partial class UnknownRepositoryConverter : System.Text.Json.Serialization.JsonConverter
+{
+ private static readonly string DiscriminatorName = "type";
+
+ public override Elastic.Clients.Elasticsearch.Snapshot.UnknownRepository Read(ref System.Text.Json.Utf8JsonReader reader, System.Type typeToConvert, System.Text.Json.JsonSerializerOptions options)
+ {
+ var content = System.Text.Json.JsonElement.ParseValue(ref reader);
+ if (content.ValueKind is not System.Text.Json.JsonValueKind.Object)
+ {
+ throw new System.Text.Json.JsonException($"Expected a JSON object for '{nameof(Elastic.Clients.Elasticsearch.Snapshot.UnknownRepository)}', but got '{content.ValueKind}'.");
+ }
+
+ var type = content.TryGetProperty(DiscriminatorName, out var discriminator) ? discriminator.GetString() : null;
+ if (type is null)
+ {
+ throw new System.Text.Json.JsonException($"Missing required '{DiscriminatorName}' discriminator for '{nameof(Elastic.Clients.Elasticsearch.Snapshot.UnknownRepository)}'.");
+ }
+
+ return new Elastic.Clients.Elasticsearch.Snapshot.UnknownRepository(type, content);
+ }
+
+ public override void Write(System.Text.Json.Utf8JsonWriter writer, Elastic.Clients.Elasticsearch.Snapshot.UnknownRepository value, System.Text.Json.JsonSerializerOptions options)
+ {
+ writer.WriteStartObject();
+ writer.WriteString(DiscriminatorName, value.Type);
+ if (value.Content.ValueKind is System.Text.Json.JsonValueKind.Object)
+ {
+ foreach (var property in value.Content.EnumerateObject())
+ {
+ if (!property.NameEquals(DiscriminatorName))
+ {
+ property.WriteTo(writer);
+ }
+ }
+ }
+
+ writer.WriteEndObject();
+ }
+}
\ No newline at end of file
diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Snapshot/UnknownRepository.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Snapshot/UnknownRepository.g.cs
new file mode 100644
index 00000000000..cd43c753835
--- /dev/null
+++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Snapshot/UnknownRepository.g.cs
@@ -0,0 +1,47 @@
+// Licensed to Elasticsearch B.V under one or more agreements.
+// Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
+// See the LICENSE file in the project root for more information.
+//
+// ███╗ ██╗ ██████╗ ████████╗██╗ ██████╗███████╗
+// ████╗ ██║██╔═══██╗╚══██╔══╝██║██╔════╝██╔════╝
+// ██╔██╗ ██║██║ ██║ ██║ ██║██║ █████╗
+// ██║╚██╗██║██║ ██║ ██║ ██║██║ ██╔══╝
+// ██║ ╚████║╚██████╔╝ ██║ ██║╚██████╗███████╗
+// ╚═╝ ╚═══╝ ╚═════╝ ╚═╝ ╚═╝ ╚═════╝╚══════╝
+// ------------------------------------------------
+//
+// This file is automatically generated.
+// Please do not edit these files manually.
+//
+// ------------------------------------------------
+
+#nullable restore
+
+using System;
+using System.Linq;
+using Elastic.Clients.Elasticsearch.Serialization;
+
+namespace Elastic.Clients.Elasticsearch.Snapshot;
+
+[System.Text.Json.Serialization.JsonConverter(typeof(Elastic.Clients.Elasticsearch.Snapshot.Json.UnknownRepositoryConverter))]
+public sealed partial class UnknownRepository : Elastic.Clients.Elasticsearch.Snapshot.IRepository
+{
+ public string Type { get; }
+ public System.Text.Json.JsonElement Content { get; }
+
+ public UnknownRepository(string type, System.Text.Json.JsonElement content)
+ {
+ if (type is null)
+ {
+ throw new System.ArgumentNullException(nameof(type));
+ }
+
+ if (content.ValueKind is not System.Text.Json.JsonValueKind.Object)
+ {
+ throw new System.ArgumentException($"Content must be a JSON object, but got '{content.ValueKind}'.", nameof(content));
+ }
+
+ Type = type;
+ Content = content;
+ }
+}
\ No newline at end of file