From 266f53437fb3ae15a9dd88481da4be1b7dc5acaf Mon Sep 17 00:00:00 2001 From: Luke Whiting Date: Thu, 4 Sep 2025 13:43:40 +0100 Subject: [PATCH 1/8] Add spec and docs for new logs streams endpoints --- docs/add-new-api.md | 3 +- .../logs_disable/StreamsLogsDisableRequest.ts | 51 +++++++++++++++++ .../StreamsLogsDisableResponse.ts | 24 ++++++++ ...ostStreamsLogsDisableResponseExample1.yaml | 6 ++ .../PostStreamsDisableRequestExample1.yaml | 3 + .../logs_enable/StreamsLogsEnableRequest.ts | 55 +++++++++++++++++++ .../logs_enable/StreamsLogsEnableResponse.ts | 24 ++++++++ ...PostStreamsLogsEnableResponseExample1.yaml | 6 ++ ...PostStreamsLogsEnableResponseExample2.yaml | 19 +++++++ .../PostStreamsEnableRequestExample1.yaml | 3 + .../streams/status/StreamsStatusRequest.ts | 46 ++++++++++++++++ .../streams/status/StreamsStatusResponse.ts | 28 ++++++++++ .../GetStreamsStatusResponseExample1.yaml | 10 ++++ .../GetStreamsStatusRequestExample1.yaml | 3 + specification/tsconfig.json | 1 + 15 files changed, 280 insertions(+), 2 deletions(-) create mode 100644 specification/streams/logs_disable/StreamsLogsDisableRequest.ts create mode 100644 specification/streams/logs_disable/StreamsLogsDisableResponse.ts create mode 100644 specification/streams/logs_disable/examples/200_response/PostStreamsLogsDisableResponseExample1.yaml create mode 100644 specification/streams/logs_disable/examples/request/PostStreamsDisableRequestExample1.yaml create mode 100644 specification/streams/logs_enable/StreamsLogsEnableRequest.ts create mode 100644 specification/streams/logs_enable/StreamsLogsEnableResponse.ts create mode 100644 specification/streams/logs_enable/examples/200_response/PostStreamsLogsEnableResponseExample1.yaml create mode 100644 specification/streams/logs_enable/examples/409_response/PostStreamsLogsEnableResponseExample2.yaml create mode 100644 specification/streams/logs_enable/examples/request/PostStreamsEnableRequestExample1.yaml create mode 100644 specification/streams/status/StreamsStatusRequest.ts create mode 100644 specification/streams/status/StreamsStatusResponse.ts create mode 100644 specification/streams/status/examples/200_response/GetStreamsStatusResponseExample1.yaml create mode 100644 specification/streams/status/examples/request/GetStreamsStatusRequestExample1.yaml diff --git a/docs/add-new-api.md b/docs/add-new-api.md index a124f4e47d..f41882785a 100644 --- a/docs/add-new-api.md +++ b/docs/add-new-api.md @@ -38,8 +38,7 @@ interface Request {} class Response {} ``` -Try to use less files as possible, for example there is no need to create a custom file for an enum, -you can define it in the same file where it's used, unless is a commonly used type. +Try to use the least number of files possible, for example there is no need to create a custom file for an enum as you can define it in the same file where it's used, unless is a commonly used type. ### Add the endpoint request definition diff --git a/specification/streams/logs_disable/StreamsLogsDisableRequest.ts b/specification/streams/logs_disable/StreamsLogsDisableRequest.ts new file mode 100644 index 0000000000..69d7e181bc --- /dev/null +++ b/specification/streams/logs_disable/StreamsLogsDisableRequest.ts @@ -0,0 +1,51 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import {RequestBase} from '@_types/Base' +import {Duration} from '@_types/Time' + +/** + * Disable logs stream + * + * This disables the logs stream feature for this cluster. + * @rest_spec_name streams.logs_disable + * @availability stack since=9.1.0 stability=experimental visibility=feature_flag + * @feature_flag logs_stream + * @cluster_privileges manage + */ +export interface Request extends RequestBase { + urls: [ + { + path: '/_streams/logs/_disable' + methods: ['POST'] + } + ] + query_parameters: { + /** + * The period to wait for a connection to the master node. + * If no response is received before the timeout expires, the request fails and returns an error. + */ + master_timeout?: Duration + /** + * The period to wait for a response. + * If no response is received before the timeout expires, the request fails and returns an error. + */ + timeout?: Duration + } +} diff --git a/specification/streams/logs_disable/StreamsLogsDisableResponse.ts b/specification/streams/logs_disable/StreamsLogsDisableResponse.ts new file mode 100644 index 0000000000..7374da4a4c --- /dev/null +++ b/specification/streams/logs_disable/StreamsLogsDisableResponse.ts @@ -0,0 +1,24 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import { AcknowledgedResponseBase } from '@_types/Base' + +export class Response { + body: AcknowledgedResponseBase +} diff --git a/specification/streams/logs_disable/examples/200_response/PostStreamsLogsDisableResponseExample1.yaml b/specification/streams/logs_disable/examples/200_response/PostStreamsLogsDisableResponseExample1.yaml new file mode 100644 index 0000000000..3add46c389 --- /dev/null +++ b/specification/streams/logs_disable/examples/200_response/PostStreamsLogsDisableResponseExample1.yaml @@ -0,0 +1,6 @@ +summary: Disable logs streams +description: > + A successful response from `POST _streams/logs/_disable` endpoint +# type: response +value: + acknowledged: true diff --git a/specification/streams/logs_disable/examples/request/PostStreamsDisableRequestExample1.yaml b/specification/streams/logs_disable/examples/request/PostStreamsDisableRequestExample1.yaml new file mode 100644 index 0000000000..ebbcd40f41 --- /dev/null +++ b/specification/streams/logs_disable/examples/request/PostStreamsDisableRequestExample1.yaml @@ -0,0 +1,3 @@ +summary: "Disable the logs streams on this cluster" +method_request: POST _streams/logs/_disable +# type: request diff --git a/specification/streams/logs_enable/StreamsLogsEnableRequest.ts b/specification/streams/logs_enable/StreamsLogsEnableRequest.ts new file mode 100644 index 0000000000..c8b33f34ed --- /dev/null +++ b/specification/streams/logs_enable/StreamsLogsEnableRequest.ts @@ -0,0 +1,55 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import {RequestBase} from '@_types/Base' +import {Duration} from '@_types/Time' + +/** + * Enable logs stream + * + * This enables the logs stream feature for this cluster. + * + * Note: To protect existing data, this feature can only be enabled on a cluster if + * it does not have existing indices or data streams matching the pattern `logs|logs.*`. + * If this is the case, a `409 - Conflict` response and error will be returned. + * @rest_spec_name streams.logs_enable + * @availability stack since=9.1.0 stability=experimental visibility=feature_flag + * @feature_flag logs_stream + * @cluster_privileges manage + */ +export interface Request extends RequestBase { + urls: [ + { + path: '/_streams/logs/_enable' + methods: ['POST'] + } + ] + query_parameters: { + /** + * The period to wait for a connection to the master node. + * If no response is received before the timeout expires, the request fails and returns an error. + */ + master_timeout?: Duration + /** + * The period to wait for a response. + * If no response is received before the timeout expires, the request fails and returns an error. + */ + timeout?: Duration + } +} diff --git a/specification/streams/logs_enable/StreamsLogsEnableResponse.ts b/specification/streams/logs_enable/StreamsLogsEnableResponse.ts new file mode 100644 index 0000000000..7374da4a4c --- /dev/null +++ b/specification/streams/logs_enable/StreamsLogsEnableResponse.ts @@ -0,0 +1,24 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import { AcknowledgedResponseBase } from '@_types/Base' + +export class Response { + body: AcknowledgedResponseBase +} diff --git a/specification/streams/logs_enable/examples/200_response/PostStreamsLogsEnableResponseExample1.yaml b/specification/streams/logs_enable/examples/200_response/PostStreamsLogsEnableResponseExample1.yaml new file mode 100644 index 0000000000..bf5af6721a --- /dev/null +++ b/specification/streams/logs_enable/examples/200_response/PostStreamsLogsEnableResponseExample1.yaml @@ -0,0 +1,6 @@ +summary: Enable logs streams +description: > + A successful response from `POST _streams/logs/_enable` endpoint +# type: response +value: + acknowledged: true diff --git a/specification/streams/logs_enable/examples/409_response/PostStreamsLogsEnableResponseExample2.yaml b/specification/streams/logs_enable/examples/409_response/PostStreamsLogsEnableResponseExample2.yaml new file mode 100644 index 0000000000..5f20637ff6 --- /dev/null +++ b/specification/streams/logs_enable/examples/409_response/PostStreamsLogsEnableResponseExample2.yaml @@ -0,0 +1,19 @@ +summary: Enable logs streams - Failure due to conflicting index +description: > + An error response from the `POST _streams/logs/_enable` endpoint caused by attempting to enable logs streams + when an existing index with the name `logs` already exists +# type: response +value: |- + { + "error": { + "root_cause": [ + { + "type": "status_exception", + "reason": "Cannot enable logs streams: indices named 'logs' or starting with 'logs.' already exist." + } + ], + "type": "status_exception", + "reason": "Cannot enable logs streams: indices named 'logs' or starting with 'logs.' already exist." + }, + "status": 409 + } diff --git a/specification/streams/logs_enable/examples/request/PostStreamsEnableRequestExample1.yaml b/specification/streams/logs_enable/examples/request/PostStreamsEnableRequestExample1.yaml new file mode 100644 index 0000000000..b973d8ef2e --- /dev/null +++ b/specification/streams/logs_enable/examples/request/PostStreamsEnableRequestExample1.yaml @@ -0,0 +1,3 @@ +summary: "Enable the logs streams on this cluster" +method_request: POST _streams/logs/_enable +# type: request diff --git a/specification/streams/status/StreamsStatusRequest.ts b/specification/streams/status/StreamsStatusRequest.ts new file mode 100644 index 0000000000..cc128fb623 --- /dev/null +++ b/specification/streams/status/StreamsStatusRequest.ts @@ -0,0 +1,46 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import { RequestBase } from '@_types/Base' +import { TimeUnit } from '@_types/Time' + +/** + * Get the status of streams + * + * Gets the current status of all stream types + * @rest_spec_name streams.status + * @availability stack since=9.1.0 stability=experimental visibility=feature_flag + * @feature_flag logs_stream + * @cluster_privileges monitor + */ +export interface Request extends RequestBase { + urls: [ + { + path: '/_streams/status' + methods: ['GET'] + } + ] + query_parameters: { + /** + * Period to wait for a connection to the master node. If no response is received before the timeout expires, the request fails and returns an error. + * @server_default 30s + */ + master_timeout?: TimeUnit + } +} diff --git a/specification/streams/status/StreamsStatusResponse.ts b/specification/streams/status/StreamsStatusResponse.ts new file mode 100644 index 0000000000..69ee0362fa --- /dev/null +++ b/specification/streams/status/StreamsStatusResponse.ts @@ -0,0 +1,28 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +export class Response { + body: { + logs: LogsStatus + } +} + +export class LogsStatus { + enabled: boolean +} diff --git a/specification/streams/status/examples/200_response/GetStreamsStatusResponseExample1.yaml b/specification/streams/status/examples/200_response/GetStreamsStatusResponseExample1.yaml new file mode 100644 index 0000000000..dd8d37d3da --- /dev/null +++ b/specification/streams/status/examples/200_response/GetStreamsStatusResponseExample1.yaml @@ -0,0 +1,10 @@ +summary: Get Streams Status +description: > + A successful response from `GET _streams/status` that outlines the current state of all wired streams in the cluster, +# type: response +value: |- + { + "logs": { + "enabled": true + } + } diff --git a/specification/streams/status/examples/request/GetStreamsStatusRequestExample1.yaml b/specification/streams/status/examples/request/GetStreamsStatusRequestExample1.yaml new file mode 100644 index 0000000000..3ff1ce8643 --- /dev/null +++ b/specification/streams/status/examples/request/GetStreamsStatusRequestExample1.yaml @@ -0,0 +1,3 @@ +summary: "Get the current status of streams" +method_request: GET _streams/status +# type: request diff --git a/specification/tsconfig.json b/specification/tsconfig.json index e920f83fce..867d8f0655 100644 --- a/specification/tsconfig.json +++ b/specification/tsconfig.json @@ -50,6 +50,7 @@ "@shutdown/*": ["shutdown/*"], "@slm/*": ["slm/*"], "@snapshot/*": ["snapshot/*"], + "@streams/*": ["streams/*"], "@sql/*": ["sql/*"], "@ssl/*": ["ssl/*"], "@synonyms/*": ["synonyms/*"], From e72eaab618234e1bff510beb3b098a662ffd182d Mon Sep 17 00:00:00 2001 From: Luke Whiting Date: Thu, 4 Sep 2025 13:48:46 +0100 Subject: [PATCH 2/8] Add @codegen name to Acked responses --- specification/streams/logs_disable/StreamsLogsDisableResponse.ts | 1 + specification/streams/logs_enable/StreamsLogsEnableResponse.ts | 1 + 2 files changed, 2 insertions(+) diff --git a/specification/streams/logs_disable/StreamsLogsDisableResponse.ts b/specification/streams/logs_disable/StreamsLogsDisableResponse.ts index 7374da4a4c..9e7bdb91cd 100644 --- a/specification/streams/logs_disable/StreamsLogsDisableResponse.ts +++ b/specification/streams/logs_disable/StreamsLogsDisableResponse.ts @@ -20,5 +20,6 @@ import { AcknowledgedResponseBase } from '@_types/Base' export class Response { + /** @codegen_name result */ body: AcknowledgedResponseBase } diff --git a/specification/streams/logs_enable/StreamsLogsEnableResponse.ts b/specification/streams/logs_enable/StreamsLogsEnableResponse.ts index 7374da4a4c..9e7bdb91cd 100644 --- a/specification/streams/logs_enable/StreamsLogsEnableResponse.ts +++ b/specification/streams/logs_enable/StreamsLogsEnableResponse.ts @@ -20,5 +20,6 @@ import { AcknowledgedResponseBase } from '@_types/Base' export class Response { + /** @codegen_name result */ body: AcknowledgedResponseBase } From cfc80e2eb3f2f6f3db7d53322573a64168e693f4 Mon Sep 17 00:00:00 2001 From: Luke Whiting Date: Thu, 4 Sep 2025 14:46:40 +0100 Subject: [PATCH 3/8] Linting fix --- .../streams/logs_disable/StreamsLogsDisableRequest.ts | 4 ++-- .../examples/request/PostStreamsDisableRequestExample1.yaml | 2 +- specification/streams/logs_enable/StreamsLogsEnableRequest.ts | 4 ++-- .../examples/request/PostStreamsEnableRequestExample1.yaml | 2 +- specification/streams/status/StreamsStatusResponse.ts | 2 +- .../examples/request/GetStreamsStatusRequestExample1.yaml | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/specification/streams/logs_disable/StreamsLogsDisableRequest.ts b/specification/streams/logs_disable/StreamsLogsDisableRequest.ts index 69d7e181bc..f5312e3e0d 100644 --- a/specification/streams/logs_disable/StreamsLogsDisableRequest.ts +++ b/specification/streams/logs_disable/StreamsLogsDisableRequest.ts @@ -17,8 +17,8 @@ * under the License. */ -import {RequestBase} from '@_types/Base' -import {Duration} from '@_types/Time' +import { RequestBase } from '@_types/Base' +import { Duration } from '@_types/Time' /** * Disable logs stream diff --git a/specification/streams/logs_disable/examples/request/PostStreamsDisableRequestExample1.yaml b/specification/streams/logs_disable/examples/request/PostStreamsDisableRequestExample1.yaml index ebbcd40f41..b286db3e0e 100644 --- a/specification/streams/logs_disable/examples/request/PostStreamsDisableRequestExample1.yaml +++ b/specification/streams/logs_disable/examples/request/PostStreamsDisableRequestExample1.yaml @@ -1,3 +1,3 @@ -summary: "Disable the logs streams on this cluster" +summary: 'Disable the logs streams on this cluster' method_request: POST _streams/logs/_disable # type: request diff --git a/specification/streams/logs_enable/StreamsLogsEnableRequest.ts b/specification/streams/logs_enable/StreamsLogsEnableRequest.ts index c8b33f34ed..b003a2aada 100644 --- a/specification/streams/logs_enable/StreamsLogsEnableRequest.ts +++ b/specification/streams/logs_enable/StreamsLogsEnableRequest.ts @@ -17,8 +17,8 @@ * under the License. */ -import {RequestBase} from '@_types/Base' -import {Duration} from '@_types/Time' +import { RequestBase } from '@_types/Base' +import { Duration } from '@_types/Time' /** * Enable logs stream diff --git a/specification/streams/logs_enable/examples/request/PostStreamsEnableRequestExample1.yaml b/specification/streams/logs_enable/examples/request/PostStreamsEnableRequestExample1.yaml index b973d8ef2e..246312fc54 100644 --- a/specification/streams/logs_enable/examples/request/PostStreamsEnableRequestExample1.yaml +++ b/specification/streams/logs_enable/examples/request/PostStreamsEnableRequestExample1.yaml @@ -1,3 +1,3 @@ -summary: "Enable the logs streams on this cluster" +summary: 'Enable the logs streams on this cluster' method_request: POST _streams/logs/_enable # type: request diff --git a/specification/streams/status/StreamsStatusResponse.ts b/specification/streams/status/StreamsStatusResponse.ts index 69ee0362fa..c5eb318485 100644 --- a/specification/streams/status/StreamsStatusResponse.ts +++ b/specification/streams/status/StreamsStatusResponse.ts @@ -24,5 +24,5 @@ export class Response { } export class LogsStatus { - enabled: boolean + enabled: boolean } diff --git a/specification/streams/status/examples/request/GetStreamsStatusRequestExample1.yaml b/specification/streams/status/examples/request/GetStreamsStatusRequestExample1.yaml index 3ff1ce8643..920ce2cc90 100644 --- a/specification/streams/status/examples/request/GetStreamsStatusRequestExample1.yaml +++ b/specification/streams/status/examples/request/GetStreamsStatusRequestExample1.yaml @@ -1,3 +1,3 @@ -summary: "Get the current status of streams" +summary: 'Get the current status of streams' method_request: GET _streams/status # type: request From 9b2fab69f06af25ef7f265503b33d1710e36a65d Mon Sep 17 00:00:00 2001 From: Luke Whiting Date: Thu, 4 Sep 2025 14:47:24 +0100 Subject: [PATCH 4/8] Update specification/streams/status/examples/200_response/GetStreamsStatusResponseExample1.yaml Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- .../200_response/GetStreamsStatusResponseExample1.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/specification/streams/status/examples/200_response/GetStreamsStatusResponseExample1.yaml b/specification/streams/status/examples/200_response/GetStreamsStatusResponseExample1.yaml index dd8d37d3da..be7f745dcf 100644 --- a/specification/streams/status/examples/200_response/GetStreamsStatusResponseExample1.yaml +++ b/specification/streams/status/examples/200_response/GetStreamsStatusResponseExample1.yaml @@ -1,6 +1,5 @@ summary: Get Streams Status -description: > - A successful response from `GET _streams/status` that outlines the current state of all wired streams in the cluster, + A successful response from `GET _streams/status` that outlines the current state of all wired streams in the cluster. # type: response value: |- { From bf05570eda98bac6a005995664a773b9ca339a47 Mon Sep 17 00:00:00 2001 From: Luke Whiting Date: Thu, 4 Sep 2025 14:53:45 +0100 Subject: [PATCH 5/8] Correct feature flag --- .../streams/logs_disable/StreamsLogsDisableRequest.ts | 3 +-- specification/streams/logs_enable/StreamsLogsEnableRequest.ts | 3 +-- specification/streams/status/StreamsStatusRequest.ts | 3 +-- 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/specification/streams/logs_disable/StreamsLogsDisableRequest.ts b/specification/streams/logs_disable/StreamsLogsDisableRequest.ts index f5312e3e0d..79c8ced145 100644 --- a/specification/streams/logs_disable/StreamsLogsDisableRequest.ts +++ b/specification/streams/logs_disable/StreamsLogsDisableRequest.ts @@ -25,8 +25,7 @@ import { Duration } from '@_types/Time' * * This disables the logs stream feature for this cluster. * @rest_spec_name streams.logs_disable - * @availability stack since=9.1.0 stability=experimental visibility=feature_flag - * @feature_flag logs_stream + * @availability stack since=9.1.0 stability=experimental visibility=feature_flag feature_flag=logs_stream * @cluster_privileges manage */ export interface Request extends RequestBase { diff --git a/specification/streams/logs_enable/StreamsLogsEnableRequest.ts b/specification/streams/logs_enable/StreamsLogsEnableRequest.ts index b003a2aada..5b4e856ded 100644 --- a/specification/streams/logs_enable/StreamsLogsEnableRequest.ts +++ b/specification/streams/logs_enable/StreamsLogsEnableRequest.ts @@ -29,8 +29,7 @@ import { Duration } from '@_types/Time' * it does not have existing indices or data streams matching the pattern `logs|logs.*`. * If this is the case, a `409 - Conflict` response and error will be returned. * @rest_spec_name streams.logs_enable - * @availability stack since=9.1.0 stability=experimental visibility=feature_flag - * @feature_flag logs_stream + * @availability stack since=9.1.0 stability=experimental visibility=feature_flag feature_flag=logs_stream * @cluster_privileges manage */ export interface Request extends RequestBase { diff --git a/specification/streams/status/StreamsStatusRequest.ts b/specification/streams/status/StreamsStatusRequest.ts index cc128fb623..96879f2354 100644 --- a/specification/streams/status/StreamsStatusRequest.ts +++ b/specification/streams/status/StreamsStatusRequest.ts @@ -25,8 +25,7 @@ import { TimeUnit } from '@_types/Time' * * Gets the current status of all stream types * @rest_spec_name streams.status - * @availability stack since=9.1.0 stability=experimental visibility=feature_flag - * @feature_flag logs_stream + * @availability stack since=9.1.0 stability=experimental visibility=feature_flag feature_flag=logs_stream * @cluster_privileges monitor */ export interface Request extends RequestBase { From 9e8a27b048c78ed977ca01aada1ae00750e9518e Mon Sep 17 00:00:00 2001 From: Luke Whiting Date: Thu, 4 Sep 2025 15:05:52 +0100 Subject: [PATCH 6/8] Add doc-ids --- specification/_doc_ids/table.csv | 3 +++ .../streams/logs_disable/StreamsLogsDisableRequest.ts | 1 + specification/streams/logs_enable/StreamsLogsEnableRequest.ts | 1 + specification/streams/status/StreamsStatusRequest.ts | 1 + 4 files changed, 6 insertions(+) diff --git a/specification/_doc_ids/table.csv b/specification/_doc_ids/table.csv index 33b64d6604..504d9ba245 100644 --- a/specification/_doc_ids/table.csv +++ b/specification/_doc_ids/table.csv @@ -900,6 +900,9 @@ stop-dfanalytics,https://www.elastic.co/docs/api/doc/elasticsearch/operation/ope stop-trained-model-deployment,https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-ml-stop-trained-model-deployment,https://www.elastic.co/guide/en/elasticsearch/reference/8.18/stop-trained-model-deployment.html, stop-transform,https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-transform-stop-transform,https://www.elastic.co/guide/en/elasticsearch/reference/8.18/stop-transform.html, stored-fields,https://www.elastic.co/docs/reference/elasticsearch/rest-apis/retrieve-selected-fields#stored-fields,, +streams-status,https://www.elastic.co/docs/reference/elasticsearch/rest-apis +streams-logs-enable,https://www.elastic.co/docs/reference/elasticsearch/rest-apis +streams-logs-disable,https://www.elastic.co/docs/reference/elasticsearch/rest-apis synonym-api-examples,https://www.elastic.co/docs/solutions/search/full-text/create-update-synonyms-api-example,https://www.elastic.co/guide/en/elasticsearch/reference/8.18/put-synonyms-set.html, synonym-rule-create,https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-synonyms-put-synonym-rule,https://www.elastic.co/guide/en/elasticsearch/reference/8.18/put-synonym-rule.html, synonym-rule-delete,https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-synonyms-delete-synonym-rule,https://www.elastic.co/guide/en/elasticsearch/reference/8.18/delete-synonym-rule.html, diff --git a/specification/streams/logs_disable/StreamsLogsDisableRequest.ts b/specification/streams/logs_disable/StreamsLogsDisableRequest.ts index 79c8ced145..63018502e8 100644 --- a/specification/streams/logs_disable/StreamsLogsDisableRequest.ts +++ b/specification/streams/logs_disable/StreamsLogsDisableRequest.ts @@ -27,6 +27,7 @@ import { Duration } from '@_types/Time' * @rest_spec_name streams.logs_disable * @availability stack since=9.1.0 stability=experimental visibility=feature_flag feature_flag=logs_stream * @cluster_privileges manage + * @doc_id streams-disable-logs */ export interface Request extends RequestBase { urls: [ diff --git a/specification/streams/logs_enable/StreamsLogsEnableRequest.ts b/specification/streams/logs_enable/StreamsLogsEnableRequest.ts index 5b4e856ded..d86231a57d 100644 --- a/specification/streams/logs_enable/StreamsLogsEnableRequest.ts +++ b/specification/streams/logs_enable/StreamsLogsEnableRequest.ts @@ -31,6 +31,7 @@ import { Duration } from '@_types/Time' * @rest_spec_name streams.logs_enable * @availability stack since=9.1.0 stability=experimental visibility=feature_flag feature_flag=logs_stream * @cluster_privileges manage + * @doc_id streams-enable-logs */ export interface Request extends RequestBase { urls: [ diff --git a/specification/streams/status/StreamsStatusRequest.ts b/specification/streams/status/StreamsStatusRequest.ts index 96879f2354..682cb2449a 100644 --- a/specification/streams/status/StreamsStatusRequest.ts +++ b/specification/streams/status/StreamsStatusRequest.ts @@ -27,6 +27,7 @@ import { TimeUnit } from '@_types/Time' * @rest_spec_name streams.status * @availability stack since=9.1.0 stability=experimental visibility=feature_flag feature_flag=logs_stream * @cluster_privileges monitor + * @doc_id streams-status */ export interface Request extends RequestBase { urls: [ From 97a651414330a7f63e567ad03580915a6e992818 Mon Sep 17 00:00:00 2001 From: Luke Whiting Date: Thu, 4 Sep 2025 15:07:04 +0100 Subject: [PATCH 7/8] Fix doc-ids --- specification/streams/logs_disable/StreamsLogsDisableRequest.ts | 2 +- specification/streams/logs_enable/StreamsLogsEnableRequest.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/specification/streams/logs_disable/StreamsLogsDisableRequest.ts b/specification/streams/logs_disable/StreamsLogsDisableRequest.ts index 63018502e8..0b5e07414a 100644 --- a/specification/streams/logs_disable/StreamsLogsDisableRequest.ts +++ b/specification/streams/logs_disable/StreamsLogsDisableRequest.ts @@ -27,7 +27,7 @@ import { Duration } from '@_types/Time' * @rest_spec_name streams.logs_disable * @availability stack since=9.1.0 stability=experimental visibility=feature_flag feature_flag=logs_stream * @cluster_privileges manage - * @doc_id streams-disable-logs + * @doc_id streams-logs-disable */ export interface Request extends RequestBase { urls: [ diff --git a/specification/streams/logs_enable/StreamsLogsEnableRequest.ts b/specification/streams/logs_enable/StreamsLogsEnableRequest.ts index d86231a57d..c7b6abc74a 100644 --- a/specification/streams/logs_enable/StreamsLogsEnableRequest.ts +++ b/specification/streams/logs_enable/StreamsLogsEnableRequest.ts @@ -31,7 +31,7 @@ import { Duration } from '@_types/Time' * @rest_spec_name streams.logs_enable * @availability stack since=9.1.0 stability=experimental visibility=feature_flag feature_flag=logs_stream * @cluster_privileges manage - * @doc_id streams-enable-logs + * @doc_id streams-logs-enable */ export interface Request extends RequestBase { urls: [ From 2c2f8a67b78c12cbb3e39d07dff69ea029664681 Mon Sep 17 00:00:00 2001 From: Luke Whiting Date: Fri, 5 Sep 2025 14:01:09 +0100 Subject: [PATCH 8/8] Update specification/_doc_ids/table.csv Co-authored-by: Quentin Pradet --- specification/_doc_ids/table.csv | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/specification/_doc_ids/table.csv b/specification/_doc_ids/table.csv index 504d9ba245..52e51b6e60 100644 --- a/specification/_doc_ids/table.csv +++ b/specification/_doc_ids/table.csv @@ -900,9 +900,9 @@ stop-dfanalytics,https://www.elastic.co/docs/api/doc/elasticsearch/operation/ope stop-trained-model-deployment,https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-ml-stop-trained-model-deployment,https://www.elastic.co/guide/en/elasticsearch/reference/8.18/stop-trained-model-deployment.html, stop-transform,https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-transform-stop-transform,https://www.elastic.co/guide/en/elasticsearch/reference/8.18/stop-transform.html, stored-fields,https://www.elastic.co/docs/reference/elasticsearch/rest-apis/retrieve-selected-fields#stored-fields,, -streams-status,https://www.elastic.co/docs/reference/elasticsearch/rest-apis -streams-logs-enable,https://www.elastic.co/docs/reference/elasticsearch/rest-apis -streams-logs-disable,https://www.elastic.co/docs/reference/elasticsearch/rest-apis +streams-status,https://www.elastic.co/docs/reference/elasticsearch/rest-apis,, +streams-logs-enable,https://www.elastic.co/docs/reference/elasticsearch/rest-apis,, +streams-logs-disable,https://www.elastic.co/docs/reference/elasticsearch/rest-apis,, synonym-api-examples,https://www.elastic.co/docs/solutions/search/full-text/create-update-synonyms-api-example,https://www.elastic.co/guide/en/elasticsearch/reference/8.18/put-synonyms-set.html, synonym-rule-create,https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-synonyms-put-synonym-rule,https://www.elastic.co/guide/en/elasticsearch/reference/8.18/put-synonym-rule.html, synonym-rule-delete,https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-synonyms-delete-synonym-rule,https://www.elastic.co/guide/en/elasticsearch/reference/8.18/delete-synonym-rule.html,