elastic / elasticsearch-java

Official Elasticsearch Java Client
Apache License 2.0
411 stars 239 forks source link

ILM: move_to_step:: next_step(StepKey type) doesn't match Elastic API #883

Open voron86 opened 1 week ago

voron86 commented 1 week ago

According to the Elasticsearch API spec, attributes action and name are optional for the next_step object.

next_step (Required, object)

Properties of next_step:
phase (Required, string) The name of the phase that contains the action you want to perform or resume.
action (Optional, string) The name action you want to perform or resume. Required if name used.
name (Optional, string) The name of the step to move to and execute. Required if action used.

But in java client the nextStep property has type StepKey where the action and name are mandatory:

@JsonpDeserializable
public class StepKey implements JsonpSerializable {
    private final String action;

    private final String name;

    private final String phase;
        ...

Due to the issue we can not use ElasticsearchAsyncClient for manual ILM in our application.

Is it possible to fix the inconsistency?

l-trotta commented 6 days ago

Hello, thank for the report! Yes this is an error in the API specification used to produce the Java code, we'll fix it and regenerate the client code.