From 169912895c47ad01656225063ef688f4435cfbe2 Mon Sep 17 00:00:00 2001 From: Yoh Deadfall Date: Tue, 23 May 2023 18:49:22 +0300 Subject: [PATCH 1/4] Boosted non-exhaustive enum deserialization --- .../Core/IEnumStruct.cs | 11 +++++++++++ .../Serialization/EnumStructConverter.cs | 16 +++++----------- .../Types/Enums/Enums.Core.Search.cs | 10 ++++++++++ .../Types/Enums/Enums.IndexManagement.cs | 12 ++++++++++++ .../Types/Enums/Enums.NoNamespace.cs | 12 ++++++++++++ 5 files changed, 50 insertions(+), 11 deletions(-) create mode 100644 src/Elastic.Clients.Elasticsearch/Core/IEnumStruct.cs create mode 100644 src/Elastic.Clients.Elasticsearch/Types/Enums/Enums.Core.Search.cs create mode 100644 src/Elastic.Clients.Elasticsearch/Types/Enums/Enums.IndexManagement.cs create mode 100644 src/Elastic.Clients.Elasticsearch/Types/Enums/Enums.NoNamespace.cs diff --git a/src/Elastic.Clients.Elasticsearch/Core/IEnumStruct.cs b/src/Elastic.Clients.Elasticsearch/Core/IEnumStruct.cs new file mode 100644 index 00000000000..0fc170344fe --- /dev/null +++ b/src/Elastic.Clients.Elasticsearch/Core/IEnumStruct.cs @@ -0,0 +1,11 @@ +// 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. + +namespace Elastic.Clients.Elasticsearch.Core; + +internal interface IEnumStruct where TSelf : struct, IEnumStruct +{ + // TODO: Can be made static when targeting .NET 7 and higher + TSelf Create(string value); +} diff --git a/src/Elastic.Clients.Elasticsearch/Serialization/EnumStructConverter.cs b/src/Elastic.Clients.Elasticsearch/Serialization/EnumStructConverter.cs index b7f8643de00..df5272a12aa 100644 --- a/src/Elastic.Clients.Elasticsearch/Serialization/EnumStructConverter.cs +++ b/src/Elastic.Clients.Elasticsearch/Serialization/EnumStructConverter.cs @@ -3,24 +3,18 @@ // See the LICENSE file in the project root for more information. using System; -using System.Reflection; using System.Text.Json; using System.Text.Json.Serialization; +using Elastic.Clients.Elasticsearch.Core; namespace Elastic.Clients.Elasticsearch.Serialization; -internal sealed class EnumStructConverter : JsonConverter where T : new() -{ - public override T? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) +internal sealed class EnumStructConverter : JsonConverter where T : struct, IEnumStruct +{ + public override T Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { var value = reader.GetString(); - - var instance = (T)Activator.CreateInstance( - typeof(T), - BindingFlags.Instance | BindingFlags.NonPublic, - args: new object[] { value }, // TODO: Perf - Review use of ArrayPool - binder: null, - culture: null)!; + var instance = default(T).Create(value); return instance; } diff --git a/src/Elastic.Clients.Elasticsearch/Types/Enums/Enums.Core.Search.cs b/src/Elastic.Clients.Elasticsearch/Types/Enums/Enums.Core.Search.cs new file mode 100644 index 00000000000..8c62c452063 --- /dev/null +++ b/src/Elastic.Clients.Elasticsearch/Types/Enums/Enums.Core.Search.cs @@ -0,0 +1,10 @@ +// 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. + +namespace Elastic.Clients.Elasticsearch.Core.Search; + +public partial struct HighlighterType : IEnumStruct +{ + HighlighterType IEnumStruct.Create(string value) => value; +} diff --git a/src/Elastic.Clients.Elasticsearch/Types/Enums/Enums.IndexManagement.cs b/src/Elastic.Clients.Elasticsearch/Types/Enums/Enums.IndexManagement.cs new file mode 100644 index 00000000000..70d99a30126 --- /dev/null +++ b/src/Elastic.Clients.Elasticsearch/Types/Enums/Enums.IndexManagement.cs @@ -0,0 +1,12 @@ +// 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. + +using Elastic.Clients.Elasticsearch.Core; + +namespace Elastic.Clients.Elasticsearch.IndexManagement; + +public partial struct StorageType : IEnumStruct +{ + StorageType IEnumStruct.Create(string value) => value; +} diff --git a/src/Elastic.Clients.Elasticsearch/Types/Enums/Enums.NoNamespace.cs b/src/Elastic.Clients.Elasticsearch/Types/Enums/Enums.NoNamespace.cs new file mode 100644 index 00000000000..64e17eac18a --- /dev/null +++ b/src/Elastic.Clients.Elasticsearch/Types/Enums/Enums.NoNamespace.cs @@ -0,0 +1,12 @@ +// 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. + +using Elastic.Clients.Elasticsearch.Core; + +namespace Elastic.Clients.Elasticsearch; + +public partial struct ScriptLanguage : IEnumStruct +{ + ScriptLanguage IEnumStruct.Create(string value) => value; +} From 4609a9cd3bb7edfcab17b5d919bcb9256874e393 Mon Sep 17 00:00:00 2001 From: Yoh Deadfall Date: Tue, 23 May 2023 18:52:36 +0300 Subject: [PATCH 2/4] Removed unnecessary ToString call --- .../Serialization/EnumStructConverter.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Elastic.Clients.Elasticsearch/Serialization/EnumStructConverter.cs b/src/Elastic.Clients.Elasticsearch/Serialization/EnumStructConverter.cs index df5272a12aa..97d1f0c6452 100644 --- a/src/Elastic.Clients.Elasticsearch/Serialization/EnumStructConverter.cs +++ b/src/Elastic.Clients.Elasticsearch/Serialization/EnumStructConverter.cs @@ -24,7 +24,7 @@ public override void Write(Utf8JsonWriter writer, T value, JsonSerializerOptions var enumValue = value.ToString(); if (!string.IsNullOrEmpty(enumValue)) - writer.WriteStringValue(value.ToString()); + writer.WriteStringValue(enumValue); else writer.WriteNullValue(); } From 2df818c3cbe79064e7eb2e36a3380fe3002756a3 Mon Sep 17 00:00:00 2001 From: Yoh Deadfall Date: Wed, 5 Jul 2023 13:15:53 +0300 Subject: [PATCH 3/4] Removed whitespace --- .../Serialization/EnumStructConverter.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Elastic.Clients.Elasticsearch/Serialization/EnumStructConverter.cs b/src/Elastic.Clients.Elasticsearch/Serialization/EnumStructConverter.cs index 97d1f0c6452..7bfb00d91dc 100644 --- a/src/Elastic.Clients.Elasticsearch/Serialization/EnumStructConverter.cs +++ b/src/Elastic.Clients.Elasticsearch/Serialization/EnumStructConverter.cs @@ -10,7 +10,7 @@ namespace Elastic.Clients.Elasticsearch.Serialization; internal sealed class EnumStructConverter : JsonConverter where T : struct, IEnumStruct -{ +{ public override T Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { var value = reader.GetString(); From 3405a50f05d7530a22f023d1888b8739d9bb8a73 Mon Sep 17 00:00:00 2001 From: Florian Bernd Date: Fri, 7 Jul 2023 14:25:57 +0200 Subject: [PATCH 4/4] Add `IEnumStruct` to auto-generated enum structs --- .../Types/Enums/Enums.Core.Search.cs | 10 ---------- .../Types/Enums/Enums.IndexManagement.cs | 12 ------------ .../Types/Enums/Enums.NoNamespace.cs | 12 ------------ .../_Generated/Types/Enums/Enums.Aggregations.g.cs | 1 + .../_Generated/Types/Enums/Enums.Analysis.g.cs | 1 + .../_Generated/Types/Enums/Enums.Cluster.g.cs | 1 + .../_Generated/Types/Enums/Enums.Core.Search.g.cs | 5 ++++- .../_Generated/Types/Enums/Enums.Enrich.g.cs | 1 + .../_Generated/Types/Enums/Enums.Eql.g.cs | 1 + .../Types/Enums/Enums.IndexManagement.g.cs | 5 ++++- .../_Generated/Types/Enums/Enums.Ingest.g.cs | 1 + .../_Generated/Types/Enums/Enums.Mapping.g.cs | 1 + .../_Generated/Types/Enums/Enums.Ml.g.cs | 1 + .../_Generated/Types/Enums/Enums.NoNamespace.g.cs | 5 ++++- .../_Generated/Types/Enums/Enums.QueryDsl.g.cs | 1 + .../_Generated/Types/Enums/Enums.Tasks.g.cs | 1 + .../_Generated/Types/Enums/Enums.Watcher.g.cs | 1 + 17 files changed, 23 insertions(+), 37 deletions(-) delete mode 100644 src/Elastic.Clients.Elasticsearch/Types/Enums/Enums.Core.Search.cs delete mode 100644 src/Elastic.Clients.Elasticsearch/Types/Enums/Enums.IndexManagement.cs delete mode 100644 src/Elastic.Clients.Elasticsearch/Types/Enums/Enums.NoNamespace.cs diff --git a/src/Elastic.Clients.Elasticsearch/Types/Enums/Enums.Core.Search.cs b/src/Elastic.Clients.Elasticsearch/Types/Enums/Enums.Core.Search.cs deleted file mode 100644 index 8c62c452063..00000000000 --- a/src/Elastic.Clients.Elasticsearch/Types/Enums/Enums.Core.Search.cs +++ /dev/null @@ -1,10 +0,0 @@ -// 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. - -namespace Elastic.Clients.Elasticsearch.Core.Search; - -public partial struct HighlighterType : IEnumStruct -{ - HighlighterType IEnumStruct.Create(string value) => value; -} diff --git a/src/Elastic.Clients.Elasticsearch/Types/Enums/Enums.IndexManagement.cs b/src/Elastic.Clients.Elasticsearch/Types/Enums/Enums.IndexManagement.cs deleted file mode 100644 index 70d99a30126..00000000000 --- a/src/Elastic.Clients.Elasticsearch/Types/Enums/Enums.IndexManagement.cs +++ /dev/null @@ -1,12 +0,0 @@ -// 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. - -using Elastic.Clients.Elasticsearch.Core; - -namespace Elastic.Clients.Elasticsearch.IndexManagement; - -public partial struct StorageType : IEnumStruct -{ - StorageType IEnumStruct.Create(string value) => value; -} diff --git a/src/Elastic.Clients.Elasticsearch/Types/Enums/Enums.NoNamespace.cs b/src/Elastic.Clients.Elasticsearch/Types/Enums/Enums.NoNamespace.cs deleted file mode 100644 index 64e17eac18a..00000000000 --- a/src/Elastic.Clients.Elasticsearch/Types/Enums/Enums.NoNamespace.cs +++ /dev/null @@ -1,12 +0,0 @@ -// 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. - -using Elastic.Clients.Elasticsearch.Core; - -namespace Elastic.Clients.Elasticsearch; - -public partial struct ScriptLanguage : IEnumStruct -{ - ScriptLanguage IEnumStruct.Create(string value) => value; -} diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Aggregations.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Aggregations.g.cs index 22eb8d0a1e2..c875fc18a4d 100644 --- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Aggregations.g.cs +++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Aggregations.g.cs @@ -22,6 +22,7 @@ using System.Text.Json.Serialization; using System.Runtime.Serialization; using Elastic.Transport; +using Elastic.Clients.Elasticsearch.Core; using Elastic.Clients.Elasticsearch.Serialization; namespace Elastic.Clients.Elasticsearch.Aggregations; diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Analysis.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Analysis.g.cs index 72dc4d36027..674718cb84b 100644 --- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Analysis.g.cs +++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Analysis.g.cs @@ -22,6 +22,7 @@ using System.Text.Json.Serialization; using System.Runtime.Serialization; using Elastic.Transport; +using Elastic.Clients.Elasticsearch.Core; using Elastic.Clients.Elasticsearch.Serialization; namespace Elastic.Clients.Elasticsearch.Analysis; diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Cluster.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Cluster.g.cs index 1e1c6daee28..cf960255b31 100644 --- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Cluster.g.cs +++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Cluster.g.cs @@ -22,6 +22,7 @@ using System.Text.Json.Serialization; using System.Runtime.Serialization; using Elastic.Transport; +using Elastic.Clients.Elasticsearch.Core; using Elastic.Clients.Elasticsearch.Serialization; namespace Elastic.Clients.Elasticsearch.Cluster; diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Core.Search.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Core.Search.g.cs index 2a38d6aa359..e07af1efd30 100644 --- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Core.Search.g.cs +++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Core.Search.g.cs @@ -22,6 +22,7 @@ using System.Text.Json.Serialization; using System.Runtime.Serialization; using Elastic.Transport; +using Elastic.Clients.Elasticsearch.Core; using Elastic.Clients.Elasticsearch.Serialization; namespace Elastic.Clients.Elasticsearch.Core.Search; @@ -225,10 +226,12 @@ public override void Write(Utf8JsonWriter writer, HighlighterTagsSchema value, J } [JsonConverter(typeof(EnumStructConverter))] -public readonly partial struct HighlighterType +public readonly partial struct HighlighterType : IEnumStruct { public HighlighterType(string value) => Value = value; + HighlighterType IEnumStruct.Create(string value) => value; + public readonly string Value { get; } public static HighlighterType Unified { get; } = new HighlighterType("unified"); public static HighlighterType Plain { get; } = new HighlighterType("plain"); diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Enrich.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Enrich.g.cs index 6ff924c6261..fb650c44091 100644 --- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Enrich.g.cs +++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Enrich.g.cs @@ -22,6 +22,7 @@ using System.Text.Json.Serialization; using System.Runtime.Serialization; using Elastic.Transport; +using Elastic.Clients.Elasticsearch.Core; using Elastic.Clients.Elasticsearch.Serialization; namespace Elastic.Clients.Elasticsearch.Enrich; diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Eql.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Eql.g.cs index e6bbab0cf1b..a98d2cb204b 100644 --- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Eql.g.cs +++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Eql.g.cs @@ -22,6 +22,7 @@ using System.Text.Json.Serialization; using System.Runtime.Serialization; using Elastic.Transport; +using Elastic.Clients.Elasticsearch.Core; using Elastic.Clients.Elasticsearch.Serialization; namespace Elastic.Clients.Elasticsearch.Eql; diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.IndexManagement.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.IndexManagement.g.cs index 2cc9f975547..2f6af988ff0 100644 --- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.IndexManagement.g.cs +++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.IndexManagement.g.cs @@ -22,6 +22,7 @@ using System.Text.Json.Serialization; using System.Runtime.Serialization; using Elastic.Transport; +using Elastic.Clients.Elasticsearch.Core; using Elastic.Clients.Elasticsearch.Serialization; namespace Elastic.Clients.Elasticsearch.IndexManagement; @@ -497,10 +498,12 @@ public override void Write(Utf8JsonWriter writer, ShardRoutingState value, JsonS } [JsonConverter(typeof(EnumStructConverter))] -public readonly partial struct StorageType +public readonly partial struct StorageType : IEnumStruct { public StorageType(string value) => Value = value; + StorageType IEnumStruct.Create(string value) => value; + public readonly string Value { get; } /// diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Ingest.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Ingest.g.cs index a0868fe9cbf..c52d9590dc8 100644 --- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Ingest.g.cs +++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Ingest.g.cs @@ -22,6 +22,7 @@ using System.Text.Json.Serialization; using System.Runtime.Serialization; using Elastic.Transport; +using Elastic.Clients.Elasticsearch.Core; using Elastic.Clients.Elasticsearch.Serialization; namespace Elastic.Clients.Elasticsearch.Ingest; diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Mapping.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Mapping.g.cs index 4d0568d2b37..a2f680310ca 100644 --- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Mapping.g.cs +++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Mapping.g.cs @@ -22,6 +22,7 @@ using System.Text.Json.Serialization; using System.Runtime.Serialization; using Elastic.Transport; +using Elastic.Clients.Elasticsearch.Core; using Elastic.Clients.Elasticsearch.Serialization; namespace Elastic.Clients.Elasticsearch.Mapping; diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Ml.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Ml.g.cs index 6c6ec49b1ad..cb41aa33204 100644 --- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Ml.g.cs +++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Ml.g.cs @@ -22,6 +22,7 @@ using System.Text.Json.Serialization; using System.Runtime.Serialization; using Elastic.Transport; +using Elastic.Clients.Elasticsearch.Core; using Elastic.Clients.Elasticsearch.Serialization; namespace Elastic.Clients.Elasticsearch.Ml; diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.NoNamespace.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.NoNamespace.g.cs index 73b5673c910..176ffac3c03 100644 --- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.NoNamespace.g.cs +++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.NoNamespace.g.cs @@ -22,6 +22,7 @@ using System.Text.Json.Serialization; using System.Runtime.Serialization; using Elastic.Transport; +using Elastic.Clients.Elasticsearch.Core; using Elastic.Clients.Elasticsearch.Serialization; namespace Elastic.Clients.Elasticsearch; @@ -997,10 +998,12 @@ public override void Write(Utf8JsonWriter writer, Result value, JsonSerializerOp } [JsonConverter(typeof(EnumStructConverter))] -public readonly partial struct ScriptLanguage +public readonly partial struct ScriptLanguage : IEnumStruct { public ScriptLanguage(string value) => Value = value; + ScriptLanguage IEnumStruct.Create(string value) => value; + public readonly string Value { get; } public static ScriptLanguage Painless { get; } = new ScriptLanguage("painless"); public static ScriptLanguage Mustache { get; } = new ScriptLanguage("mustache"); diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.QueryDsl.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.QueryDsl.g.cs index e8389a3fedf..4c8953c24d5 100644 --- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.QueryDsl.g.cs +++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.QueryDsl.g.cs @@ -22,6 +22,7 @@ using System.Text.Json.Serialization; using System.Runtime.Serialization; using Elastic.Transport; +using Elastic.Clients.Elasticsearch.Core; using Elastic.Clients.Elasticsearch.Serialization; namespace Elastic.Clients.Elasticsearch.QueryDsl; diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Tasks.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Tasks.g.cs index 0f497b1f0c2..9f028290d39 100644 --- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Tasks.g.cs +++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Tasks.g.cs @@ -22,6 +22,7 @@ using System.Text.Json.Serialization; using System.Runtime.Serialization; using Elastic.Transport; +using Elastic.Clients.Elasticsearch.Core; using Elastic.Clients.Elasticsearch.Serialization; namespace Elastic.Clients.Elasticsearch.Tasks; diff --git a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Watcher.g.cs b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Watcher.g.cs index 70296f8bf2a..8e4ac760eba 100644 --- a/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Watcher.g.cs +++ b/src/Elastic.Clients.Elasticsearch/_Generated/Types/Enums/Enums.Watcher.g.cs @@ -22,6 +22,7 @@ using System.Text.Json.Serialization; using System.Runtime.Serialization; using Elastic.Transport; +using Elastic.Clients.Elasticsearch.Core; using Elastic.Clients.Elasticsearch.Serialization; namespace Elastic.Clients.Elasticsearch.Watcher;