From 3f79c91217b83781d9109984aeeb111fec2ef44d Mon Sep 17 00:00:00 2001 From: Steve Gordon Date: Wed, 22 Jun 2022 17:47:28 +0200 Subject: [PATCH] Respond to data schema improvements (#6465) * Respond to most date changes * Support spec changes such as stringified --- .../AsyncSearch/AsyncSearchStatusResponse.cs | 17 --- .../Api/AsyncSearch/GetAsyncSearchResponse.cs | 17 --- .../Time.cs => DateTime/Duration.cs} | 66 ++++----- .../Common/{TimeUnit => DateTime}/TimeUnit.cs | 0 .../Common/DateTimeUtil.cs | 43 ------ .../DataStreamNames/DataStreamName.cs | 2 +- .../UrlParameters/ScrollIds/ScrollId.cs | 79 +++++++++++ .../UrlParameters/ScrollIds/ScrollIds.cs | 121 ++++++++++++++++ .../Helpers/BulkAllRequest.cs | 16 +-- .../Helpers/IBulkAllRequest.cs | 4 +- .../Serialization/Stringified.cs | 32 +++++ .../AsyncSearchStatusResponse.g.cs | 13 +- .../AsyncSearch/AsyncSearchSubmitRequest.g.cs | 24 ++-- .../AsyncSearchSubmitResponse.g.cs | 13 +- .../AsyncSearch/GetAsyncSearchRequest.g.cs | 16 +-- .../AsyncSearch/GetAsyncSearchResponse.g.cs | 13 +- .../_Generated/Api/BulkRequest.g.cs | 8 +- .../_Generated/Api/Ccr/CcrFollowRequest.g.cs | 20 +-- .../Ccr/CcrPutAutoFollowPatternRequest.g.cs | 12 +- .../Api/Ccr/CcrResumeFollowRequest.g.cs | 20 +-- .../ClusterAllocationExplainResponse.g.cs | 6 +- ...ClusterDeleteComponentTemplateRequest.g.cs | 12 +- ...ClusterExistsComponentTemplateRequest.g.cs | 6 +- .../ClusterGetComponentTemplateRequest.g.cs | 6 +- .../Cluster/ClusterGetSettingsRequest.g.cs | 12 +- .../Api/Cluster/ClusterHealthRequest.g.cs | 16 +-- .../Api/Cluster/ClusterHealthResponse.g.cs | 6 +- .../Cluster/ClusterPendingTasksRequest.g.cs | 6 +- ...sterPostVotingConfigExclusionsRequest.g.cs | 6 +- .../ClusterPutComponentTemplateRequest.g.cs | 8 +- .../Cluster/ClusterPutSettingsRequest.g.cs | 12 +- .../Api/Cluster/ClusterRerouteRequest.g.cs | 12 +- .../Api/Cluster/ClusterStateRequest.g.cs | 16 +-- .../Api/Cluster/ClusterStatsRequest.g.cs | 6 +- .../_Generated/Api/CreateRequest.g.cs | 6 +- .../_Generated/Api/DeleteByQueryRequest.g.cs | 32 ++--- .../_Generated/Api/DeleteByQueryResponse.g.cs | 12 +- .../Api/DeleteByQueryRethrottleRequest.g.cs | 6 +- .../_Generated/Api/DeleteRequest.g.cs | 8 +- .../_Generated/Api/DeleteScriptRequest.g.cs | 16 +-- .../Api/Eql/EqlGetStatusResponse.g.cs | 4 +- .../_Generated/Api/Eql/EqlSearchRequest.g.cs | 20 +-- .../_Generated/Api/Eql/EqlSearchResponse.g.cs | 2 +- .../_Generated/Api/Eql/GetEqlRequest.g.cs | 16 +-- .../_Generated/Api/Eql/GetEqlResponse.g.cs | 2 +- .../Api/Graph/GraphExploreRequest.g.cs | 8 +- .../Api/Ilm/IlmDeleteLifecycleRequest.g.cs | 12 +- .../Api/Ilm/IlmExplainLifecycleRequest.g.cs | 16 +-- .../Api/Ilm/IlmGetLifecycleRequest.g.cs | 12 +- .../Api/Ilm/IlmPutLifecycleRequest.g.cs | 12 +- .../_Generated/Api/Ilm/IlmStartRequest.g.cs | 12 +- .../_Generated/Api/Ilm/IlmStopRequest.g.cs | 12 +- .../Api/IndexManagement/CloneRequest.g.cs | 16 +-- .../Api/IndexManagement/CloseRequest.g.cs | 16 +-- .../Api/IndexManagement/CreateRequest.g.cs | 16 +-- .../IndexManagement/DeleteAliasRequest.g.cs | 16 +-- .../DeleteIndexTemplateRequest.g.cs | 12 +- .../Api/IndexManagement/DeleteRequest.g.cs | 16 +-- .../DeleteTemplateRequest.g.cs | 12 +- .../ExistsIndexTemplateRequest.g.cs | 6 +- .../ExistsTemplateRequest.g.cs | 6 +- .../Api/IndexManagement/GetRequest.g.cs | 8 +- .../IndexManagement/IndexTemplateRequest.g.cs | 6 +- .../Api/IndexManagement/MappingRequest.g.cs | 8 +- .../Api/IndexManagement/OpenRequest.g.cs | 16 +-- .../Api/IndexManagement/PutAliasRequest.g.cs | 16 +-- .../IndexManagement/PutMappingRequest.g.cs | 16 +-- .../IndexManagement/PutSettingsRequest.g.cs | 16 +-- .../IndexManagement/PutTemplateRequest.g.cs | 12 +- .../Api/IndexManagement/RolloverRequest.g.cs | 12 +- .../Api/IndexManagement/SettingsRequest.g.cs | 8 +- .../Api/IndexManagement/ShrinkRequest.g.cs | 16 +-- .../SimulateIndexTemplateRequest.g.cs | 8 +- .../SimulateTemplateRequest.g.cs | 6 +- .../Api/IndexManagement/SplitRequest.g.cs | 16 +-- .../Api/IndexManagement/TemplateRequest.g.cs | 6 +- .../_Generated/Api/IndexRequest.g.cs | 6 +- .../Ingest/IngestDeletePipelineRequest.g.cs | 16 +-- .../Api/Ingest/IngestGetPipelineRequest.g.cs | 8 +- .../Api/Ingest/IngestPutPipelineRequest.g.cs | 24 ++-- .../_Generated/Api/Ml/MlCloseJobRequest.g.cs | 6 +- .../Ml/MlDeleteDataFrameAnalyticsRequest.g.cs | 8 +- .../Api/Ml/MlDeleteExpiredDataRequest.g.cs | 6 +- .../Api/Ml/MlDeleteForecastRequest.g.cs | 6 +- .../_Generated/Api/Ml/MlFlushJobRequest.g.cs | 40 +++--- .../_Generated/Api/Ml/MlForecastRequest.g.cs | 12 +- .../Api/Ml/MlGetCalendarEventsRequest.g.cs | 12 +- .../Api/Ml/MlGetInfluencersRequest.g.cs | 16 +-- .../Api/Ml/MlGetMemoryStatsRequest.g.cs | 12 +- .../Api/Ml/MlGetModelSnapshotsRequest.g.cs | 20 +-- .../Api/Ml/MlGetOverallBucketsRequest.g.cs | 18 +-- .../Api/Ml/MlGetRecordsRequest.g.cs | 20 +-- .../_Generated/Api/Ml/MlOpenJobRequest.g.cs | 6 +- .../Api/Ml/MlPutDatafeedRequest.g.cs | 20 +-- .../Api/Ml/MlPutDatafeedResponse.g.cs | 4 +- .../_Generated/Api/Ml/MlPutJobRequest.g.cs | 26 ++-- .../_Generated/Api/Ml/MlPutJobResponse.g.cs | 5 +- .../Api/Ml/MlPutTrainedModelResponse.g.cs | 3 +- .../Api/Ml/MlSetUpgradeModeRequest.g.cs | 6 +- .../Ml/MlStartDataFrameAnalyticsRequest.g.cs | 8 +- .../Api/Ml/MlStartDatafeedRequest.g.cs | 18 +-- .../Ml/MlStopDataFrameAnalyticsRequest.g.cs | 8 +- .../Api/Ml/MlStopDatafeedRequest.g.cs | 6 +- .../Api/Ml/MlUpdateDatafeedRequest.g.cs | 20 +-- .../Api/Ml/MlUpdateDatafeedResponse.g.cs | 4 +- .../_Generated/Api/Ml/MlUpdateJobRequest.g.cs | 10 +- .../Api/Ml/MlUpdateJobResponse.g.cs | 6 +- .../Api/Ml/MlUpgradeJobSnapshotRequest.g.cs | 6 +- .../Api/Nodes/NodesHotThreadsRequest.g.cs | 18 +-- .../Api/Nodes/NodesInfoRequest.g.cs | 12 +- .../NodesReloadSecureSettingsRequest.g.cs | 6 +- .../Api/Nodes/NodesStatsRequest.g.cs | 16 +-- .../Api/Nodes/NodesUsageRequest.g.cs | 6 +- .../Api/OpenPointInTimeRequest.g.cs | 8 +- .../_Generated/Api/PutScriptRequest.g.cs | 16 +-- .../_Generated/Api/ReindexRequest.g.cs | 24 ++-- .../_Generated/Api/ReindexResponse.g.cs | 8 +- .../Api/ReindexRethrottleRequest.g.cs | 6 +- .../_Generated/Api/ScriptRequest.g.cs | 8 +- .../_Generated/Api/ScrollRequest.g.cs | 6 +- .../_Generated/Api/SearchRequest.g.cs | 8 +- .../SearchableSnapshotsMountRequest.g.cs | 6 +- .../Security/SecurityGrantApiKeyResponse.g.cs | 2 +- .../Api/Slm/SlmGetStatsResponse.g.cs | 4 +- .../Api/Slm/SlmPutLifecycleRequest.g.cs | 12 +- .../Api/Snapshot/CreateSnapshotRequest.g.cs | 6 +- .../Api/Snapshot/DeleteSnapshotRequest.g.cs | 6 +- .../Api/Snapshot/GetSnapshotRequest.g.cs | 6 +- .../SnapshotCleanupRepositoryRequest.g.cs | 12 +- .../Api/Snapshot/SnapshotCloneRequest.g.cs | 12 +- .../SnapshotCreateRepositoryRequest.g.cs | 12 +- .../SnapshotDeleteRepositoryRequest.g.cs | 12 +- .../SnapshotGetRepositoryRequest.g.cs | 6 +- .../Api/Snapshot/SnapshotRestoreRequest.g.cs | 8 +- .../Api/Snapshot/SnapshotStatusRequest.g.cs | 6 +- .../SnapshotVerifyRepositoryRequest.g.cs | 12 +- .../Api/Sql/SqlGetAsyncRequest.g.cs | 16 +-- .../_Generated/Api/Sql/SqlQueryRequest.g.cs | 48 +++---- .../_Generated/Api/TermsEnumRequest.g.cs | 10 +- .../TransformDeleteTransformRequest.g.cs | 6 +- .../TransformPreviewTransformRequest.g.cs | 18 +-- .../TransformPutTransformRequest.g.cs | 18 +-- .../TransformStartTransformRequest.g.cs | 6 +- .../TransformStopTransformRequest.g.cs | 6 +- .../TransformUpdateTransformRequest.g.cs | 18 +-- .../TransformUpdateTransformResponse.g.cs | 2 +- .../TransformUpgradeTransformsRequest.g.cs | 6 +- .../_Generated/Api/UpdateByQueryRequest.g.cs | 32 ++--- .../_Generated/Api/UpdateByQueryResponse.g.cs | 8 ++ .../Api/UpdateByQueryRethrottleRequest.g.cs | 6 +- .../_Generated/Api/UpdateRequest.g.cs | 6 +- .../Api/Xpack/XpackUsageRequest.g.cs | 6 +- .../AutoDateHistogramAggregation.g.cs | 24 ++-- .../DateHistogramAggregation.g.cs | 97 ++++--------- .../Aggregations/DateHistogramBucket.g.cs | 6 +- .../Aggregations/DateRangeAggregation.g.cs | 12 +- .../_Generated/Types/BulkStats.g.cs | 4 +- .../Types/Ccr/AutoFollowedCluster.g.cs | 2 +- .../_Generated/Types/Ccr/FollowerIndex.g.cs | 4 - .../Types/Ccr/FollowerIndexParameters.g.cs | 4 +- .../_Generated/Types/Ccr/ShardStats.g.cs | 24 +++- .../Types/Cluster/CharFilterTypes.g.cs | 4 - .../Types/Cluster/ClusterProcessor.g.cs | 4 + .../Types/Cluster/ComponentTemplate.g.cs | 4 - .../Types/Cluster/ComponentTemplateNode.g.cs | 41 ------ .../Cluster/ComponentTemplateSummary.g.cs | 49 ------- .../_Generated/Types/Cluster/PendingTask.g.cs | 4 +- .../Types/Cluster/UnassignedInformation.g.cs | 2 +- .../Types/DanglingIndices/DanglingIndex.g.cs | 2 +- .../_Generated/Types/DateOrEpochMillis.g.cs | 38 ----- .../Types/ElasticsearchVersionInfo.g.cs | 2 +- .../_Generated/Types/FlushStats.g.cs | 2 +- .../_Generated/Types/GetStats.g.cs | 6 +- .../Types/Graph/ExploreControls.g.cs | 10 +- .../Types/Ilm/LifecycleExplainManaged.g.cs | 42 ++++-- .../Ilm/LifecycleExplainPhaseExecution.g.cs | 2 +- .../_Generated/Types/Ilm/Phase.g.cs | 2 +- .../Types/IndexManagement/IndexSettings.g.cs | 41 +++--- .../IndexSettingsLifecycleStep.g.cs | 6 +- .../IndexSettingsTimeSeries.g.cs | 12 +- .../Types/IndexManagement/RetentionLease.g.cs | 6 +- .../IndexManagement/RolloverConditions.g.cs | 12 +- .../Types/IndexManagement/SearchIdle.g.cs | 6 +- .../Types/IndexManagement/ShardStats.g.cs | 4 - .../SlowlogTresholdLevels.g.cs | 24 ++-- .../Types/IndexManagement/Translog.g.cs | 6 +- .../IndexManagement/TranslogRetention.g.cs | 6 +- .../_Generated/Types/IndexingStats.g.cs | 6 +- .../Types/Ingest/GeoIpDownloadStatistics.g.cs | 2 +- .../_Generated/Types/Ingest/Ingest.g.cs | 2 +- .../_Generated/Types/License/License.g.cs | 18 +-- .../Types/License/LicenseInformation.g.cs | 10 +- .../Types/Mapping/DateNanosProperty.g.cs | 10 +- .../Types/Mapping/DateProperty.g.cs | 10 +- .../_Generated/Types/MergesStats.g.cs | 6 +- .../Types/Migration/MigrationFeature.g.cs | 12 ++ .../_Generated/Types/Ml/AnalysisConfig.g.cs | 30 ++-- .../Types/Ml/AnalysisConfigRead.g.cs | 6 +- .../_Generated/Types/Ml/Anomaly.g.cs | 4 +- .../_Generated/Types/Ml/CalendarEvent.g.cs | 12 +- .../_Generated/Types/Ml/ChunkingConfig.g.cs | 6 +- .../_Generated/Types/Ml/Datafeed.g.cs | 4 +- .../_Generated/Types/Ml/DatafeedConfig.g.cs | 20 +-- .../DataframeAnalyticsStatsMemoryUsage.g.cs | 2 +- .../Types/Ml/DelayedDataCheckConfig.g.cs | 6 +- .../_Generated/Types/Ml/Influencer.g.cs | 2 +- .../_Generated/Types/Ml/JobConfig.g.cs | 10 +- .../_Generated/Types/Ml/JobStats.g.cs | 2 +- .../_Generated/Types/Ml/ModelSizeStats.g.cs | 2 +- .../_Generated/Types/Ml/OverallBucket.g.cs | 6 +- .../Types/Ml/TrainedModelInferenceStats.g.cs | 2 +- .../_Generated/Types/Ml/Weights.g.cs | 15 -- .../Types/Nodes/ClusterStateUpdate.g.cs | 16 +-- .../_Generated/Types/Nodes/Context.g.cs | 4 - .../_Generated/Types/Nodes/Cpu.g.cs | 6 +- .../Types/Nodes/NodeOperatingSystemInfo.g.cs | 2 +- .../Types/Nodes/NodeThreadPoolInfo.g.cs | 2 +- .../_Generated/Types/Nodes/NodeUsage.g.cs | 4 +- .../_Generated/Types/Nodes/Recording.g.cs | 2 +- .../Types/PointInTimeReference.g.cs | 6 +- .../_Generated/Types/RecoveryStats.g.cs | 2 +- .../_Generated/Types/RefreshStats.g.cs | 2 +- .../_Generated/Types/ReindexStatus.g.cs | 8 ++ .../_Generated/Types/RemoteSource.g.cs | 12 +- .../_Generated/Types/SearchStats.g.cs | 16 +++ .../Types/Security/GrantApiKey.g.cs | 6 +- .../_Generated/Types/Slm/Retention.g.cs | 6 +- .../_Generated/Types/Slm/Statistics.g.cs | 4 +- .../Types/Snapshot/ShardsStatsSummary.g.cs | 4 + .../Types/Snapshot/SnapshotInfo.g.cs | 12 +- .../Types/Snapshot/SnapshotStats.g.cs | 4 + .../_Generated/Types/Tasks/TaskInfo.g.cs | 2 +- .../_Generated/Types/Tasks/TaskStatus.g.cs | 4 +- .../TransformManagement/CheckpointStats.g.cs | 8 +- .../TransformManagement/Checkpointing.g.cs | 2 +- .../TransformManagement/RetentionPolicy.g.cs | 10 +- .../Types/TransformManagement/TimeSync.g.cs | 10 +- .../TransformIndexerStats.g.cs | 2 +- .../TransformManagement/TransformSummary.g.cs | 4 +- .../_Generated/Types/WarmerStats.g.cs | 2 +- .../Types/Xpack/BuildInformation.g.cs | 2 +- .../_Generated/Types/Xpack/DataStreams.g.cs | 4 - .../Xpack/MinimalLicenseInformation.g.cs | 2 +- .../Types/Xpack/WatcherActionTotals.g.cs | 2 +- .../DateHistogramAggregationUsageTests.cs | 8 +- .../Tests/AsyncSearch/AsyncSearchApiTests.cs | 12 +- ...usterHealthResponseDeserialisationTests.cs | 2 +- .../ClusterHealthShardsApiTests.cs | 2 +- tests/Tests/Common/TimeUnit/TimeUnits.cs | 132 +++++++++--------- .../Tests/Eql/EqlSearchApiCoordinatedTests.cs | 4 +- .../BucketSubAggregationSerializationTests.cs | 2 +- .../IndexSettingsSerialisationTests.cs | 39 ++++++ ...sts.CanSerialize_CreationDate.verified.txt | 3 + ...CanSerialize_NullCreationDate.verified.txt | 1 + 254 files changed, 1628 insertions(+), 1490 deletions(-) delete mode 100644 src/Elastic.Clients.Elasticsearch/Api/AsyncSearch/AsyncSearchStatusResponse.cs delete mode 100644 src/Elastic.Clients.Elasticsearch/Api/AsyncSearch/GetAsyncSearchResponse.cs rename src/Elastic.Clients.Elasticsearch/Common/{TimeUnit/Time.cs => DateTime/Duration.cs} (84%) rename src/Elastic.Clients.Elasticsearch/Common/{TimeUnit => DateTime}/TimeUnit.cs (100%) create mode 100644 src/Elastic.Clients.Elasticsearch/Common/UrlParameters/ScrollIds/ScrollId.cs create mode 100644 src/Elastic.Clients.Elasticsearch/Common/UrlParameters/ScrollIds/ScrollIds.cs create mode 100644 src/Elastic.Clients.Elasticsearch/Serialization/Stringified.cs delete mode 100644 src/Elastic.Clients.Elasticsearch/_Generated/Types/Cluster/ComponentTemplateNode.g.cs delete mode 100644 src/Elastic.Clients.Elasticsearch/_Generated/Types/Cluster/ComponentTemplateSummary.g.cs delete mode 100644 src/Elastic.Clients.Elasticsearch/_Generated/Types/DateOrEpochMillis.g.cs create mode 100644 tests/Tests/Serialization/Indices/IndexSettingsSerialisationTests.cs create mode 100644 tests/Tests/_VerifySnapshots/IndexSettingsSerializationTests.CanSerialize_CreationDate.verified.txt create mode 100644 tests/Tests/_VerifySnapshots/IndexSettingsSerializationTests.CanSerialize_NullCreationDate.verified.txt diff --git a/src/Elastic.Clients.Elasticsearch/Api/AsyncSearch/AsyncSearchStatusResponse.cs b/src/Elastic.Clients.Elasticsearch/Api/AsyncSearch/AsyncSearchStatusResponse.cs deleted file mode 100644 index 8a298a535e7..00000000000 --- a/src/Elastic.Clients.Elasticsearch/Api/AsyncSearch/AsyncSearchStatusResponse.cs +++ /dev/null @@ -1,17 +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 System; -using System.Text.Json.Serialization; - -namespace Elastic.Clients.Elasticsearch.AsyncSearch; - -public partial class AsyncSearchStatusResponse -{ - [JsonIgnore] - public DateTimeOffset StartTime => StartTimeInMillis.DateTimeOffset; - - [JsonIgnore] - public DateTimeOffset ExpirationTime => ExpirationTimeInMillis.DateTimeOffset; -} diff --git a/src/Elastic.Clients.Elasticsearch/Api/AsyncSearch/GetAsyncSearchResponse.cs b/src/Elastic.Clients.Elasticsearch/Api/AsyncSearch/GetAsyncSearchResponse.cs deleted file mode 100644 index cb7b72d3bb1..00000000000 --- a/src/Elastic.Clients.Elasticsearch/Api/AsyncSearch/GetAsyncSearchResponse.cs +++ /dev/null @@ -1,17 +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 System; -using System.Text.Json.Serialization; - -namespace Elastic.Clients.Elasticsearch.AsyncSearch; - -public partial class GetAsyncSearchResponse -{ - [JsonIgnore] - public DateTimeOffset StartTime => StartTimeInMillis.DateTimeOffset; - - [JsonIgnore] - public DateTimeOffset ExpirationTime => ExpirationTimeInMillis.DateTimeOffset; -} diff --git a/src/Elastic.Clients.Elasticsearch/Common/TimeUnit/Time.cs b/src/Elastic.Clients.Elasticsearch/Common/DateTime/Duration.cs similarity index 84% rename from src/Elastic.Clients.Elasticsearch/Common/TimeUnit/Time.cs rename to src/Elastic.Clients.Elasticsearch/Common/DateTime/Duration.cs index 9d7fd801f50..c419e74112d 100644 --- a/src/Elastic.Clients.Elasticsearch/Common/TimeUnit/Time.cs +++ b/src/Elastic.Clients.Elasticsearch/Common/DateTime/Duration.cs @@ -12,10 +12,10 @@ namespace Elastic.Clients.Elasticsearch; /// -/// Represents a time value +/// Represents a duration value. /// -[JsonConverter(typeof(TimeConverter))] -public sealed class Time : IComparable