elastic / elasticsearch-specification

Elasticsearch full specification
Apache License 2.0
121 stars 70 forks source link

Add version as an OpenAPI extension, cleanup obsolete properties and versions 0.0.0 #2655

Closed swallez closed 2 months ago

swallez commented 3 months ago

Fixes #2609

Adds the "since" version information as an x-availability-since extension property to OpenAPI operations and schema properties.

Also cleans up the API specification where we had a lot of since=0.0.0 that didn't make sense.

Also removes some obsolete metamodel properties that have for long been moved to the Availability structure.

/cc @lcawl

github-actions[bot] commented 3 months ago

Following you can find the validation results for the APIs you have changed.

API Status Request Response
bulk :green_circle: 402/402 420/420
cat.aliases :green_circle: 30/30 30/30
cat.allocation :red_circle: 12/12 4/12
cat.count :green_circle: 9/9 9/9
cat.fielddata :green_circle: 6/6 6/6
cat.health :green_circle: 5/5 5/5
cat.help :white_circle: Missing test Missing test
cat.indices :red_circle: 35/35 24/34
cat.master :green_circle: 1/1 1/1
cat.nodeattrs :green_circle: 5/5 5/5
cat.nodes :green_circle: 11/11 11/11
cat.pending_tasks :green_circle: 1/1 1/1
cat.plugins :green_circle: 2/2 2/2
cat.recovery :green_circle: 6/6 6/6
cat.segments :green_circle: 9/9 9/9
cat.shards :red_circle: 11/11 7/11
cat.thread_pool :green_circle: 9/9 9/9
clear_scroll :green_circle: 17/17 17/17
cluster.get_settings :green_circle: 7/7 7/7
cluster.pending_tasks :green_circle: 3/3 3/3
cluster.put_settings :green_circle: 58/58 57/57
count :green_circle: 33/33 33/33
delete_script :green_circle: 8/8 8/8
delete :green_circle: 37/37 37/37
exists :green_circle: 19/19 19/19
explain :green_circle: 14/14 14/14
get_script_context :green_circle: 1/1 1/1
get_script_languages :green_circle: 1/1 1/1
get_script :green_circle: 12/12 12/12
get_source :green_circle: 18/18 18/18
get :red_circle: 266/281 276/278
graph.explore :green_circle: 4/4 4/4
index :red_circle: 1006/1022 1024/1024
indices.analyze :green_circle: 20/20 20/20
indices.clear_cache :green_circle: 4/4 4/4
indices.close :green_circle: 49/49 49/49
indices.create :red_circle: 908/945 945/945
indices.delete_alias :red_circle: 15/15 5/15
indices.delete_template :green_circle: 9/9 9/9
indices.delete :green_circle: 105/105 105/105
indices.exists_alias :green_circle: 36/36 36/36
indices.exists_index_template :white_circle: Missing test Missing test
indices.exists_template :green_circle: 15/15 15/15
indices.exists :green_circle: 39/39 39/39
indices.flush :green_circle: 30/30 30/30
indices.get_alias :red_circle: 83/83 71/83
indices.get_field_mapping :red_circle: 15/15 14/15
indices.get_mapping :red_circle: 120/120 108/120
indices.get_settings :red_circle: 61/61 59/61
indices.get_template :green_circle: 30/30 30/30
indices.get :green_circle: 53/53 53/53
indices.open :green_circle: 18/18 18/18
indices.put_alias :red_circle: 59/59 20/59
indices.put_mapping :red_circle: 75/103 103/103
indices.put_settings :red_circle: 54/57 57/57
indices.put_template :red_circle: 44/49 49/49
indices.recovery :green_circle: 9/9 9/9
indices.refresh :green_circle: 264/264 264/264
indices.segments :red_circle: 6/6 5/6
indices.shard_stores :red_circle: 5/5 4/5
indices.simulate_template :red_circle: 5/5 4/5
info :green_circle: 5/5 5/5
license.delete :green_circle: 3/3 3/3
license.get :green_circle: 6/6 6/6
license.post :green_circle: 1/1 1/1
mtermvectors :green_circle: 10/10 10/10
nodes.hot_threads :red_circle: 5/5 0/5
nodes.stats :red_circle: 49/49 15/49
ping :green_circle: 1/1 1/1
put_script :green_circle: 41/41 41/41
render_search_template :green_circle: 1/1 1/1
scroll :green_circle: 69/69 20/20
search_shards :red_circle: 8/8 2/8
search :red_circle: 2072/2143 2077/2125
security.change_password :green_circle: 9/9 9/9
security.clear_cached_realms :green_circle: 1/1 1/1
security.clear_cached_roles :green_circle: 2/2 2/2
security.clear_cached_service_tokens :green_circle: 4/4 4/4
security.create_service_token :green_circle: 3/3 3/3
security.delete_role :green_circle: 8/8 8/8
security.delete_user :green_circle: 9/9 9/9
security.disable_user :green_circle: 3/3 3/3
security.enable_user :green_circle: 4/4 4/4
security.get_role :red_circle: 22/22 20/22
security.get_user :green_circle: 25/25 25/25
security.put_role :red_circle: 38/40 39/39
security.put_user :green_circle: 49/49 48/48
snapshot.delete :red_circle: 21/23 23/23
termvectors :green_circle: 7/7 7/7
update :green_circle: 36/36 36/36
watcher.ack_watch :green_circle: 1/1 1/1
watcher.activate_watch :green_circle: 1/1 1/1
watcher.deactivate_watch :green_circle: 1/1 1/1
watcher.delete_watch :green_circle: 2/2 2/2
watcher.execute_watch :green_circle: 7/7 7/7
watcher.put_watch :red_circle: 29/38 38/38
watcher.start :green_circle: 1/1 1/1
watcher.stop :green_circle: 1/1 1/1
xpack.info :red_circle: 8/8 1/4
xpack.usage :red_circle: 28/28 1/24

You can validate these APIs yourself by using the make validate target.

github-actions[bot] commented 2 months ago

Following you can find the validation results for the APIs you have changed.

API Status Request Response
bulk :green_circle: 411/411 429/429
cat.aliases :green_circle: 30/30 30/30
cat.allocation :red_circle: 12/12 2/12
cat.count :green_circle: 9/9 9/9
cat.fielddata :green_circle: 6/6 6/6
cat.health :green_circle: 5/5 5/5
cat.help :white_circle: Missing test Missing test
cat.indices :red_circle: 35/35 24/34
cat.master :green_circle: 1/1 1/1
cat.nodeattrs :green_circle: 5/5 5/5
cat.nodes :green_circle: 11/11 11/11
cat.pending_tasks :green_circle: 1/1 1/1
cat.plugins :green_circle: 2/2 2/2
cat.recovery :green_circle: 6/6 6/6
cat.segments :green_circle: 9/9 9/9
cat.shards :red_circle: 11/11 7/11
cat.thread_pool :green_circle: 9/9 9/9
clear_scroll :green_circle: 17/17 17/17
cluster.get_settings :green_circle: 7/7 7/7
cluster.pending_tasks :green_circle: 3/3 3/3
cluster.put_settings :green_circle: 58/58 57/57
count :green_circle: 33/33 33/33
delete_script :green_circle: 8/8 8/8
delete :green_circle: 37/37 37/37
exists :green_circle: 19/19 19/19
explain :green_circle: 14/14 14/14
get_script_context :green_circle: 1/1 1/1
get_script_languages :green_circle: 1/1 1/1
get_script :green_circle: 12/12 12/12
get_source :green_circle: 18/18 18/18
get :red_circle: 268/283 278/280
graph.explore :green_circle: 4/4 4/4
index :red_circle: 1009/1025 1027/1027
indices.analyze :green_circle: 20/20 20/20
indices.clear_cache :green_circle: 4/4 4/4
indices.close :green_circle: 50/50 50/50
indices.create :red_circle: 916/957 957/957
indices.delete_alias :red_circle: 15/15 5/15
indices.delete_template :green_circle: 9/9 9/9
indices.delete :green_circle: 105/105 105/105
indices.exists_alias :green_circle: 38/38 38/38
indices.exists_index_template :white_circle: Missing test Missing test
indices.exists_template :green_circle: 15/15 15/15
indices.exists :green_circle: 39/39 39/39
indices.flush :green_circle: 30/30 30/30
indices.get_alias :red_circle: 86/86 74/86
indices.get_field_mapping :red_circle: 15/15 14/15
indices.get_mapping :red_circle: 121/121 109/121
indices.get_settings :red_circle: 61/61 59/61
indices.get_template :green_circle: 30/30 30/30
indices.get :green_circle: 53/53 53/53
indices.open :green_circle: 18/18 18/18
indices.put_alias :red_circle: 59/59 20/59
indices.put_mapping :red_circle: 75/103 103/103
indices.put_settings :red_circle: 54/57 57/57
indices.put_template :red_circle: 44/49 49/49
indices.recovery :green_circle: 9/9 9/9
indices.refresh :green_circle: 265/265 265/265
indices.segments :red_circle: 6/6 5/6
indices.shard_stores :red_circle: 5/5 4/5
indices.simulate_template :red_circle: 5/5 4/5
info :green_circle: 5/5 5/5
license.delete :green_circle: 3/3 3/3
license.get :green_circle: 6/6 6/6
license.post :green_circle: 1/1 1/1
mtermvectors :green_circle: 10/10 10/10
nodes.hot_threads :red_circle: 5/5 0/5
nodes.stats :red_circle: 49/49 15/49
ping :green_circle: 1/1 1/1
put_script :green_circle: 41/41 41/41
render_search_template :green_circle: 1/1 1/1
scroll :green_circle: 69/69 20/20
search_shards :red_circle: 8/8 2/8
search :red_circle: 2124/2205 2139/2187
security.change_password :green_circle: 9/9 9/9
security.clear_cached_realms :green_circle: 1/1 1/1
security.clear_cached_roles :green_circle: 2/2 2/2
security.clear_cached_service_tokens :green_circle: 4/4 4/4
security.create_service_token :green_circle: 3/3 3/3
security.delete_role :green_circle: 8/8 8/8
security.delete_user :green_circle: 9/9 9/9
security.disable_user :green_circle: 3/3 3/3
security.enable_user :green_circle: 4/4 4/4
security.get_role :red_circle: 24/24 21/24
security.get_user :green_circle: 25/25 25/25
security.put_role :red_circle: 39/40 39/39
security.put_user :green_circle: 49/49 48/48
snapshot.delete :red_circle: 21/23 23/23
termvectors :green_circle: 7/7 7/7
update :green_circle: 36/36 36/36
watcher.ack_watch :green_circle: 1/1 1/1
watcher.activate_watch :green_circle: 1/1 1/1
watcher.deactivate_watch :green_circle: 1/1 1/1
watcher.delete_watch :green_circle: 2/2 2/2
watcher.execute_watch :green_circle: 7/7 7/7
watcher.put_watch :red_circle: 29/38 38/38
watcher.start :green_circle: 1/1 1/1
watcher.stop :green_circle: 1/1 1/1
xpack.info :red_circle: 8/8 1/4
xpack.usage :red_circle: 35/35 2/31

You can validate these APIs yourself by using the make validate target.