From 2147d3439359157f9c3cf9234c549f79bc4987dc Mon Sep 17 00:00:00 2001 From: Lee Hinman Date: Thu, 11 Dec 2025 15:44:41 -0700 Subject: [PATCH 1/2] Add specification for ESQL Views CRUD This adds support for (get|put|delete)-view APIs to the specification Relates to https://github.com/elastic/elasticsearch/pull/137818 --- output/schema/schema.json | 363 ++++++++++++++++++ output/schema/validation-errors.json | 7 + output/typescript/types.ts | 28 ++ specification/_doc_ids/table.csv | 3 + .../_json_spec/esql.delete_view.json | 35 ++ specification/_json_spec/esql.get_view.json | 41 ++ specification/_json_spec/esql.put_view.json | 39 ++ specification/esql/_types/types.ts | 12 + .../esql/delete_view/DeleteViewRequest.ts | 47 +++ .../esql/delete_view/DeleteViewResponse.ts | 25 ++ specification/esql/get_view/GetViewRequest.ts | 47 +++ .../esql/get_view/GetViewResponse.ts | 26 ++ specification/esql/put_view/PutViewRequest.ts | 49 +++ .../esql/put_view/PutViewResponse.ts | 25 ++ 14 files changed, 747 insertions(+) create mode 100644 specification/_json_spec/esql.delete_view.json create mode 100644 specification/_json_spec/esql.get_view.json create mode 100644 specification/_json_spec/esql.put_view.json create mode 100644 specification/esql/delete_view/DeleteViewRequest.ts create mode 100644 specification/esql/delete_view/DeleteViewResponse.ts create mode 100644 specification/esql/get_view/GetViewRequest.ts create mode 100644 specification/esql/get_view/GetViewResponse.ts create mode 100644 specification/esql/put_view/PutViewRequest.ts create mode 100644 specification/esql/put_view/PutViewResponse.ts diff --git a/output/schema/schema.json b/output/schema/schema.json index c864610e70..09e42ed199 100644 --- a/output/schema/schema.json +++ b/output/schema/schema.json @@ -5314,6 +5314,53 @@ } ] }, + { + "availability": { + "serverless": { + "featureFlag": "esql_views", + "stability": "experimental", + "visibility": "feature_flag" + }, + "stack": { + "featureFlag": "esql_views", + "since": "9.3.0", + "stability": "experimental", + "visibility": "feature_flag" + } + }, + "description": "Delete an ES|QL view.\n\nDeletes a stored ES|QL view.", + "docId": "esql-delete-view", + "docUrl": "", + "name": "esql.delete_view", + "privileges": { + "cluster": [ + "monitor_esql" + ] + }, + "request": { + "name": "Request", + "namespace": "esql.delete_view" + }, + "requestBodyRequired": false, + "requestMediaType": [ + "application/json" + ], + "response": { + "name": "Response", + "namespace": "esql.delete_view" + }, + "responseMediaType": [ + "application/json" + ], + "urls": [ + { + "methods": [ + "DELETE" + ], + "path": "/_query/view/{name}" + } + ] + }, { "availability": { "serverless": { @@ -5359,6 +5406,53 @@ } ] }, + { + "availability": { + "serverless": { + "featureFlag": "esql_views", + "stability": "experimental", + "visibility": "feature_flag" + }, + "stack": { + "featureFlag": "esql_views", + "since": "9.3.0", + "stability": "experimental", + "visibility": "feature_flag" + } + }, + "description": "Get an ES|QL view.\n\nReturns a stored ES|QL view.", + "docId": "esql-get-view", + "docUrl": "", + "name": "esql.get_view", + "privileges": { + "cluster": [ + "monitor_esql" + ] + }, + "request": { + "name": "Request", + "namespace": "esql.get_view" + }, + "requestBodyRequired": false, + "requestMediaType": [ + "application/json" + ], + "response": { + "name": "Response", + "namespace": "esql.get_view" + }, + "responseMediaType": [ + "application/json" + ], + "urls": [ + { + "methods": [ + "GET" + ], + "path": "/_query/view/{name}" + } + ] + }, { "availability": { "serverless": { @@ -5404,6 +5498,53 @@ } ] }, + { + "availability": { + "serverless": { + "featureFlag": "esql_views", + "stability": "experimental", + "visibility": "feature_flag" + }, + "stack": { + "featureFlag": "esql_views", + "since": "9.3.0", + "stability": "experimental", + "visibility": "feature_flag" + } + }, + "description": "Create or update an ES|QL view.", + "docId": "esql-put-view", + "docUrl": "", + "name": "esql.put_view", + "privileges": { + "cluster": [ + "monitor_esql" + ] + }, + "request": { + "name": "Request", + "namespace": "esql.put_view" + }, + "requestBodyRequired": true, + "requestMediaType": [ + "application/json" + ], + "response": { + "name": "Response", + "namespace": "esql.put_view" + }, + "responseMediaType": [ + "application/json" + ], + "urls": [ + { + "methods": [ + "PUT" + ], + "path": "/_query/view/{name}" + } + ] + }, { "availability": { "serverless": {}, @@ -144173,6 +144314,41 @@ ] } }, + { + "kind": "interface", + "description": "A non-materialized ES|QL view.", + "name": { + "name": "ESQLView", + "namespace": "esql._types" + }, + "properties": [ + { + "description": "The name of the ES|QL view", + "name": "name", + "required": true, + "type": { + "kind": "instance_of", + "type": { + "name": "string", + "namespace": "_builtins" + } + } + }, + { + "description": "The ES|QL query", + "name": "query", + "required": true, + "type": { + "kind": "instance_of", + "type": { + "name": "string", + "namespace": "_builtins" + } + } + } + ], + "specLocation": "esql/_types/types.ts#L24-L34" + }, { "kind": "interface", "name": { @@ -145463,6 +145639,61 @@ }, "specLocation": "esql/async_query_stop/AsyncQueryStopResponse.ts#L22-L25" }, + { + "kind": "request", + "attachedBehaviors": [ + "CommonQueryParameters" + ], + "body": { + "kind": "no_body" + }, + "description": "Delete an ES|QL view.\n\nDeletes a stored ES|QL view.", + "inherits": { + "type": { + "name": "RequestBase", + "namespace": "_types" + } + }, + "name": { + "name": "Request", + "namespace": "esql.delete_view" + }, + "path": [ + { + "description": "The view name to remove.", + "name": "name", + "required": true, + "type": { + "kind": "instance_of", + "type": { + "name": "Id", + "namespace": "_types" + } + } + } + ], + "query": [], + "specLocation": "esql/delete_view/DeleteViewRequest.ts#L23-L47" + }, + { + "kind": "response", + "body": { + "kind": "value", + "codegenName": "result", + "value": { + "kind": "instance_of", + "type": { + "name": "AcknowledgedResponseBase", + "namespace": "_types" + } + } + }, + "name": { + "name": "Response", + "namespace": "esql.delete_view" + }, + "specLocation": "esql/delete_view/DeleteViewResponse.ts#L22-L25" + }, { "kind": "request", "attachedBehaviors": [ @@ -145592,6 +145823,69 @@ }, "specLocation": "esql/get_query/GetQueryResponse.ts#L23-L33" }, + { + "kind": "request", + "attachedBehaviors": [ + "CommonQueryParameters" + ], + "body": { + "kind": "no_body" + }, + "description": "Get an ES|QL view.\n\nReturns a stored ES|QL view.", + "inherits": { + "type": { + "name": "RequestBase", + "namespace": "_types" + } + }, + "name": { + "name": "Request", + "namespace": "esql.get_view" + }, + "path": [ + { + "description": "The comma-separated view names to retrieve.", + "name": "name", + "required": true, + "type": { + "kind": "instance_of", + "type": { + "name": "Id", + "namespace": "_types" + } + } + } + ], + "query": [], + "specLocation": "esql/get_view/GetViewRequest.ts#L23-L47" + }, + { + "kind": "response", + "body": { + "kind": "properties", + "properties": [ + { + "name": "views", + "required": true, + "type": { + "kind": "array_of", + "value": { + "kind": "instance_of", + "type": { + "name": "ESQLView", + "namespace": "esql._types" + } + } + } + } + ] + }, + "name": { + "name": "Response", + "namespace": "esql.get_view" + }, + "specLocation": "esql/get_view/GetViewResponse.ts#L22-L26" + }, { "kind": "interface", "name": { @@ -145715,6 +146009,75 @@ }, "specLocation": "esql/list_queries/ListQueriesResponse.ts#L32-L36" }, + { + "kind": "request", + "attachedBehaviors": [ + "CommonQueryParameters" + ], + "body": { + "kind": "properties", + "properties": [ + { + "description": "The ES|QL query string from which to create a view.", + "name": "query", + "required": true, + "type": { + "kind": "instance_of", + "type": { + "name": "string", + "namespace": "_builtins" + } + } + } + ] + }, + "description": "Create or update an ES|QL view.", + "inherits": { + "type": { + "name": "RequestBase", + "namespace": "_types" + } + }, + "name": { + "name": "Request", + "namespace": "esql.put_view" + }, + "path": [ + { + "description": "The view name to create or update.", + "name": "name", + "required": true, + "type": { + "kind": "instance_of", + "type": { + "name": "Id", + "namespace": "_types" + } + } + } + ], + "query": [], + "specLocation": "esql/put_view/PutViewRequest.ts#L23-L49" + }, + { + "kind": "response", + "body": { + "kind": "value", + "codegenName": "result", + "value": { + "kind": "instance_of", + "type": { + "name": "AcknowledgedResponseBase", + "namespace": "_types" + } + } + }, + "name": { + "name": "Response", + "namespace": "esql.put_view" + }, + "specLocation": "esql/put_view/PutViewResponse.ts#L22-L25" + }, { "kind": "request", "attachedBehaviors": [ diff --git a/output/schema/validation-errors.json b/output/schema/validation-errors.json index 478e127529..f86abbae71 100644 --- a/output/schema/validation-errors.json +++ b/output/schema/validation-errors.json @@ -12,6 +12,13 @@ "Request: query parameter 'timeout' does not exist in the json spec" ], "response": [] + }, + "esql.get_view": { + "request": [ + "Request: different number of urls in the json spec", + "Request: path parameter 'name' is optional in the json spec" + ], + "response": [] } }, "generalErrors": [ diff --git a/output/typescript/types.ts b/output/typescript/types.ts index 0590943900..745825943b 100644 --- a/output/typescript/types.ts +++ b/output/typescript/types.ts @@ -11394,6 +11394,11 @@ export interface EsqlAsyncEsqlResult extends EsqlEsqlResult { export type EsqlESQLParam = FieldValue | FieldValue[] +export interface EsqlESQLView { + name: string + query: string +} + export interface EsqlEsqlClusterDetails { status: EsqlEsqlClusterStatus indices: string @@ -11506,6 +11511,12 @@ export interface EsqlAsyncQueryStopRequest extends RequestBase { export type EsqlAsyncQueryStopResponse = EsqlEsqlResult +export interface EsqlDeleteViewRequest extends RequestBase { + name: Id +} + +export type EsqlDeleteViewResponse = AcknowledgedResponseBase + export interface EsqlGetQueryRequest extends RequestBase { id: Id } @@ -11520,6 +11531,14 @@ export interface EsqlGetQueryResponse { data_nodes: NodeId[] } +export interface EsqlGetViewRequest extends RequestBase { + name: Id +} + +export interface EsqlGetViewResponse { + views: EsqlESQLView[] +} + export interface EsqlListQueriesBody { id: long node: NodeId @@ -11535,6 +11554,15 @@ export interface EsqlListQueriesResponse { queries: Record } +export interface EsqlPutViewRequest extends RequestBase { + name: Id + body?: { + query: string + } +} + +export type EsqlPutViewResponse = AcknowledgedResponseBase + export interface EsqlQueryRequest extends RequestBase { format?: EsqlEsqlFormat delimiter?: string diff --git a/specification/_doc_ids/table.csv b/specification/_doc_ids/table.csv index be14073e45..81ae2e5ce8 100644 --- a/specification/_doc_ids/table.csv +++ b/specification/_doc_ids/table.csv @@ -230,6 +230,9 @@ esql-query-params,https://www.elastic.co/docs/explore-analyze/query-filter/langu esql-returning-localized-results,https://www.elastic.co/docs/explore-analyze/query-filter/languages/esql-rest#esql-locale-param,, esql-get-query,https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-esql-get-query,, esql-list-queries,https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-esql-list-queries,, +esql-get-view,,, +esql-put-view,,, +esql-delete-view,,, evaluate-dfanalytics,https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-ml-evaluate-data-frame,https://www.elastic.co/guide/en/elasticsearch/reference/8.18/evaluate-dfanalytics.html, execute-enrich-policy-api,https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-enrich-execute-policy,https://www.elastic.co/guide/en/elasticsearch/reference/8.18/execute-enrich-policy-api.html, execute-watch,https://www.elastic.co/docs/explore-analyze/alerts-cases/watcher/execute-watch,https://www.elastic.co/guide/en/elasticsearch/reference/8.18/watcher-api-execute-watch.html, diff --git a/specification/_json_spec/esql.delete_view.json b/specification/_json_spec/esql.delete_view.json new file mode 100644 index 0000000000..ae4785fc04 --- /dev/null +++ b/specification/_json_spec/esql.delete_view.json @@ -0,0 +1,35 @@ +{ + "esql.delete_view": { + "documentation": { + "url": "https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-esql-view-delete", + "description": "Delete a non-materialized VIEW for ESQL." + }, + "stability": "experimental", + "visibility": "feature_flag", + "feature_flag": "esql_views", + "headers": { + "accept": [ + "application/json" + ], + "content_type": [ + "application/json" + ] + }, + "url": { + "paths": [ + { + "path": "/_query/view/{name}", + "methods": [ + "DELETE" + ], + "parts": { + "name": { + "type": "string", + "description": "The name of the view to delete" + } + } + } + ] + } + } +} diff --git a/specification/_json_spec/esql.get_view.json b/specification/_json_spec/esql.get_view.json new file mode 100644 index 0000000000..6f91885b22 --- /dev/null +++ b/specification/_json_spec/esql.get_view.json @@ -0,0 +1,41 @@ +{ + "esql.get_view": { + "documentation": { + "url": "https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-esql-view-get", + "description": "Get a non-materialized VIEW for ESQL." + }, + "stability": "experimental", + "visibility": "feature_flag", + "feature_flag": "esql_views", + "headers": { + "accept": [ + "application/json" + ], + "content_type": [ + "application/json" + ] + }, + "url": { + "paths": [ + { + "path": "/_query/view/{name}", + "methods": [ + "GET" + ], + "parts": { + "name": { + "type": "list", + "description": "A comma-separated list of view names" + } + } + }, + { + "path": "/_query/view", + "methods": [ + "GET" + ] + } + ] + } + } +} diff --git a/specification/_json_spec/esql.put_view.json b/specification/_json_spec/esql.put_view.json new file mode 100644 index 0000000000..042fba049e --- /dev/null +++ b/specification/_json_spec/esql.put_view.json @@ -0,0 +1,39 @@ +{ + "esql.put_view": { + "documentation": { + "url": "https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-esql-view-put", + "description": "Creates a non-materialized VIEW for ESQL." + }, + "stability": "experimental", + "visibility": "feature_flag", + "feature_flag": "esql_views", + "headers": { + "accept": [ + "application/json" + ], + "content_type": [ + "application/json" + ] + }, + "url": { + "paths": [ + { + "path": "/_query/view/{name}", + "methods": [ + "PUT" + ], + "parts": { + "name": { + "type": "string", + "description": "The name of the view to create or update" + } + } + } + ] + }, + "body": { + "description": "Use the `query` element to define the ES|QL query to use as a non-materialized VIEW.", + "required": true + } + } +} diff --git a/specification/esql/_types/types.ts b/specification/esql/_types/types.ts index 9b55338d08..826da43058 100644 --- a/specification/esql/_types/types.ts +++ b/specification/esql/_types/types.ts @@ -20,3 +20,15 @@ import { FieldValue } from '@_types/common' export type ESQLParam = FieldValue | FieldValue[] + +/** + * + * A non-materialized ES|QL view. + * + */ +export class ESQLView { + /** The name of the ES|QL view */ + name: string + /** The ES|QL query */ + query: string +} diff --git a/specification/esql/delete_view/DeleteViewRequest.ts b/specification/esql/delete_view/DeleteViewRequest.ts new file mode 100644 index 0000000000..762adeabe3 --- /dev/null +++ b/specification/esql/delete_view/DeleteViewRequest.ts @@ -0,0 +1,47 @@ +/* + * 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 { Id, MediaType } from '@_types/common' + +/** + * Delete an ES|QL view. + * + * Deletes a stored ES|QL view. + * + * @rest_spec_name esql.delete_view + * @cluster_privileges monitor_esql + * @availability stack since=9.3.0 stability=experimental visibility=feature_flag feature_flag=esql_views + * @availability serverless stability=experimental visibility=feature_flag feature_flag=esql_views + * @doc_id esql-delete-view + */ +export interface Request extends RequestBase { + urls: [ + { + path: '/_query/view/{name}' + methods: ['DELETE'] + } + ] + path_parts: { + /** The view name to remove. */ + name: Id + } + request_media_type: MediaType.Json + response_media_type: MediaType.Json +} diff --git a/specification/esql/delete_view/DeleteViewResponse.ts b/specification/esql/delete_view/DeleteViewResponse.ts new file mode 100644 index 0000000000..9e7bdb91cd --- /dev/null +++ b/specification/esql/delete_view/DeleteViewResponse.ts @@ -0,0 +1,25 @@ +/* + * 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 { + /** @codegen_name result */ + body: AcknowledgedResponseBase +} diff --git a/specification/esql/get_view/GetViewRequest.ts b/specification/esql/get_view/GetViewRequest.ts new file mode 100644 index 0000000000..2c51963e3a --- /dev/null +++ b/specification/esql/get_view/GetViewRequest.ts @@ -0,0 +1,47 @@ +/* + * 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 { Id, MediaType } from '@_types/common' + +/** + * Get an ES|QL view. + * + * Returns a stored ES|QL view. + * + * @rest_spec_name esql.get_view + * @cluster_privileges monitor_esql + * @availability stack since=9.3.0 stability=experimental visibility=feature_flag feature_flag=esql_views + * @availability serverless stability=experimental visibility=feature_flag feature_flag=esql_views + * @doc_id esql-get-view + */ +export interface Request extends RequestBase { + urls: [ + { + path: '/_query/view/{name}' + methods: ['GET'] + } + ] + path_parts: { + /** The comma-separated view names to retrieve. */ + name: Id + } + request_media_type: MediaType.Json + response_media_type: MediaType.Json +} diff --git a/specification/esql/get_view/GetViewResponse.ts b/specification/esql/get_view/GetViewResponse.ts new file mode 100644 index 0000000000..842405649d --- /dev/null +++ b/specification/esql/get_view/GetViewResponse.ts @@ -0,0 +1,26 @@ +/* + * 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 { ESQLView } from '@esql/_types/types' + +export class Response { + body: { + views: ESQLView[] + } +} diff --git a/specification/esql/put_view/PutViewRequest.ts b/specification/esql/put_view/PutViewRequest.ts new file mode 100644 index 0000000000..69ee7aee8d --- /dev/null +++ b/specification/esql/put_view/PutViewRequest.ts @@ -0,0 +1,49 @@ +/* + * 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 { Id, MediaType } from '@_types/common' + +/** + * Create or update an ES|QL view. + * + * @rest_spec_name esql.put_view + * @cluster_privileges monitor_esql + * @availability stack since=9.3.0 stability=experimental visibility=feature_flag feature_flag=esql_views + * @availability serverless stability=experimental visibility=feature_flag feature_flag=esql_views + * @doc_id esql-put-view + */ +export interface Request extends RequestBase { + urls: [ + { + path: '/_query/view/{name}' + methods: ['PUT'] + } + ] + path_parts: { + /** The view name to create or update. */ + name: Id + } + body: { + /** The ES|QL query string from which to create a view. */ + query: string + } + request_media_type: MediaType.Json + response_media_type: MediaType.Json +} diff --git a/specification/esql/put_view/PutViewResponse.ts b/specification/esql/put_view/PutViewResponse.ts new file mode 100644 index 0000000000..9e7bdb91cd --- /dev/null +++ b/specification/esql/put_view/PutViewResponse.ts @@ -0,0 +1,25 @@ +/* + * 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 { + /** @codegen_name result */ + body: AcknowledgedResponseBase +} From 0de7609fbe0ef03f4f2bc8f3def394b823519d87 Mon Sep 17 00:00:00 2001 From: Lee Hinman Date: Thu, 11 Dec 2025 15:48:46 -0700 Subject: [PATCH 2/2] Update after make contrib --- specification/_json_spec/esql.delete_view.json | 12 +++--------- specification/_json_spec/esql.get_view.json | 16 ++++------------ specification/_json_spec/esql.put_view.json | 12 +++--------- 3 files changed, 10 insertions(+), 30 deletions(-) diff --git a/specification/_json_spec/esql.delete_view.json b/specification/_json_spec/esql.delete_view.json index ae4785fc04..24fcdb30da 100644 --- a/specification/_json_spec/esql.delete_view.json +++ b/specification/_json_spec/esql.delete_view.json @@ -8,20 +8,14 @@ "visibility": "feature_flag", "feature_flag": "esql_views", "headers": { - "accept": [ - "application/json" - ], - "content_type": [ - "application/json" - ] + "accept": ["application/json"], + "content_type": ["application/json"] }, "url": { "paths": [ { "path": "/_query/view/{name}", - "methods": [ - "DELETE" - ], + "methods": ["DELETE"], "parts": { "name": { "type": "string", diff --git a/specification/_json_spec/esql.get_view.json b/specification/_json_spec/esql.get_view.json index 6f91885b22..7e98c01012 100644 --- a/specification/_json_spec/esql.get_view.json +++ b/specification/_json_spec/esql.get_view.json @@ -8,20 +8,14 @@ "visibility": "feature_flag", "feature_flag": "esql_views", "headers": { - "accept": [ - "application/json" - ], - "content_type": [ - "application/json" - ] + "accept": ["application/json"], + "content_type": ["application/json"] }, "url": { "paths": [ { "path": "/_query/view/{name}", - "methods": [ - "GET" - ], + "methods": ["GET"], "parts": { "name": { "type": "list", @@ -31,9 +25,7 @@ }, { "path": "/_query/view", - "methods": [ - "GET" - ] + "methods": ["GET"] } ] } diff --git a/specification/_json_spec/esql.put_view.json b/specification/_json_spec/esql.put_view.json index 042fba049e..02df30c32d 100644 --- a/specification/_json_spec/esql.put_view.json +++ b/specification/_json_spec/esql.put_view.json @@ -8,20 +8,14 @@ "visibility": "feature_flag", "feature_flag": "esql_views", "headers": { - "accept": [ - "application/json" - ], - "content_type": [ - "application/json" - ] + "accept": ["application/json"], + "content_type": ["application/json"] }, "url": { "paths": [ { "path": "/_query/view/{name}", - "methods": [ - "PUT" - ], + "methods": ["PUT"], "parts": { "name": { "type": "string",