-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Open
Labels
Description
Elastic.Clients.Elasticsearch version: 8.19.12
Elasticsearch version: 8.19.6
.NET runtime version: 8.0.22
Operating system version: Microsoft Windows 11 Enterprise (10.0.26200)
Description of the problem including expected versus actual behavior:
I'm currently converting a NEST 7.17.5 project to 8.19.12.
ElasticSearchClient.Security.PutUser() no longer takes a username parameter and when the username is moved to the body of the request, a client side exception is thrown:
System.Exception: No route taking 0 parameters_security/user/{username}
at Elastic.Clients.Elasticsearch.Requests.ApiUrls.Resolve(RouteValues routeValues, IElasticsearchClientSettings settings) in /_/src/Elastic.Clients.Elasticsearch/_Shared/Core/Request/ApiUrls.cs:line 68
at Elastic.Clients.Elasticsearch.Requests.Request.ResolveUrl(RouteValues routeValues, IElasticsearchClientSettings settings) in /_/src/Elastic.Clients.Elasticsearch/_Shared/Core/Request/Request.cs:line 57
at Elastic.Clients.Elasticsearch.Requests.Request.GetUrl(IElasticsearchClientSettings settings) in /_/src/Elastic.Clients.Elasticsearch/_Shared/Core/Request/Request.cs:line 63
at Elastic.Clients.Elasticsearch.ElasticsearchClient.PrepareRequest[TRequest,TRequestParameters](TRequest request, EndpointPath& endpointPath, PostData& postData, IRequestConfiguration& requestConfiguration, Dictionary`2& routeValues) in /_/src/Elastic.Clients.Elasticsearch/_Shared/Client/ElasticsearchClient.cs:line 291
at Elastic.Clients.Elasticsearch.ElasticsearchClient.<>c__DisplayClass708_0`3.<DoRequestCoreAsync>g__SendRequest|0() in /_/src/Elastic.Clients.Elasticsearch/_Shared/Client/ElasticsearchClient.cs:line 152
at Elastic.Clients.Elasticsearch.ElasticsearchClient.DoRequestCoreAsync[TRequest,TResponse,TRequestParameters](Boolean isAsync, TRequest request, CancellationToken cancellationToken) in /_/src/Elastic.Clients.Elasticsearch/_Shared/Client/ElasticsearchClient.cs:line 145
at Elastic.Clients.Elasticsearch.ElasticsearchClient.DoRequest[TRequest,TResponse,TRequestParameters](TRequest request) in /_/src/Elastic.Clients.Elasticsearch/_Shared/Client/ElasticsearchClient.cs:line 106
at Elastic.Clients.Elasticsearch.NamespacedClientProxy.DoRequest[TRequest,TResponse,TRequestParameters](TRequest request) in /_/src/Elastic.Clients.Elasticsearch/_Shared/Client/NamespacedClientProxy.cs:line 42
at Elastic.Clients.Elasticsearch.Security.SecurityNamespacedClient.PutUser(Action`1 action) in /_/src/Elastic.Clients.Elasticsearch/_Generated/Client/ElasticsearchClient.Security.g.cs:line 2603
The v8 version of Security.PutRole() does take an initial name parameter, and works as expected so it looks like an omission in the autogenerated client code?
Steps to reproduce:
Example code:
var result = elasticSearchClient.Security.PutUser(user => user
.Username("test")
.FullName("test user")
.Email("[email protected]")
.Password("password");
Expected behavior
No exception, user created.