From 0870feb57c5e07afdd3cc83005e84777632599aa Mon Sep 17 00:00:00 2001 From: Alexey Ivanov Date: Wed, 17 Dec 2025 15:32:06 +0000 Subject: [PATCH 1/5] Add spec for project routing CRUD REST API endpoints --- output/schema/schema.json | 558 ++++++++++++++++++ output/typescript/types.ts | 34 ++ specification/_doc_ids/table.csv | 1 + .../project_routing.create_multiple.json | 32 + .../project_routing.create_single.json | 38 ++ .../_json_spec/project_routing.delete.json | 34 ++ .../project_routing.get_multiple.json | 28 + .../project_routing.get_single.json | 34 ++ .../_types/RoutingExpression.ts | 24 + .../create_multiple/CreateRoutingRequest.ts | 47 ++ .../create_multiple/CreateRoutingResponse.ts | 25 + .../CreateProjectRoutingRequestExample1.yaml | 8 + .../CreateProjectResponseExample1.yaml | 7 + .../create_single/CreateRoutingRequest.ts | 53 ++ .../create_single/CreateRoutingResponse.ts | 25 + .../CreateProjectRoutingRequestExample1.yaml | 7 + .../CreateProjectResponseExample1.yaml | 7 + .../delete/DeleteRoutingRequest.ts | 48 ++ .../delete/DeleteRoutingResponse.ts | 25 + .../DeleteProjectRoutingRequestExample1.yaml | 1 + .../DeleteProjectResponseExample1.yaml | 6 + .../get_multiple/GetRoutingRequest.ts | 41 ++ .../get_multiple/GetRoutingResponse.ts | 26 + .../GetProjectRoutingRequestExample1.yaml | 2 + .../response/GetProjectResponseExample1.yaml | 8 + .../get_single/GetRoutingRequest.ts | 47 ++ .../get_single/GetRoutingResponse.ts | 26 + .../GetProjectRoutingRequestExample1.yaml | 2 + .../response/GetProjectResponseExample1.yaml | 7 + 29 files changed, 1201 insertions(+) create mode 100644 specification/_json_spec/project_routing.create_multiple.json create mode 100644 specification/_json_spec/project_routing.create_single.json create mode 100644 specification/_json_spec/project_routing.delete.json create mode 100644 specification/_json_spec/project_routing.get_multiple.json create mode 100644 specification/_json_spec/project_routing.get_single.json create mode 100644 specification/project_routing/_types/RoutingExpression.ts create mode 100644 specification/project_routing/create_multiple/CreateRoutingRequest.ts create mode 100644 specification/project_routing/create_multiple/CreateRoutingResponse.ts create mode 100644 specification/project_routing/create_multiple/examples/request/CreateProjectRoutingRequestExample1.yaml create mode 100644 specification/project_routing/create_multiple/examples/response/CreateProjectResponseExample1.yaml create mode 100644 specification/project_routing/create_single/CreateRoutingRequest.ts create mode 100644 specification/project_routing/create_single/CreateRoutingResponse.ts create mode 100644 specification/project_routing/create_single/examples/request/CreateProjectRoutingRequestExample1.yaml create mode 100644 specification/project_routing/create_single/examples/response/CreateProjectResponseExample1.yaml create mode 100644 specification/project_routing/delete/DeleteRoutingRequest.ts create mode 100644 specification/project_routing/delete/DeleteRoutingResponse.ts create mode 100644 specification/project_routing/delete/examples/request/DeleteProjectRoutingRequestExample1.yaml create mode 100644 specification/project_routing/delete/examples/response/DeleteProjectResponseExample1.yaml create mode 100644 specification/project_routing/get_multiple/GetRoutingRequest.ts create mode 100644 specification/project_routing/get_multiple/GetRoutingResponse.ts create mode 100644 specification/project_routing/get_multiple/examples/request/GetProjectRoutingRequestExample1.yaml create mode 100644 specification/project_routing/get_multiple/examples/response/GetProjectResponseExample1.yaml create mode 100644 specification/project_routing/get_single/GetRoutingRequest.ts create mode 100644 specification/project_routing/get_single/GetRoutingResponse.ts create mode 100644 specification/project_routing/get_single/examples/request/GetProjectRoutingRequestExample1.yaml create mode 100644 specification/project_routing/get_single/examples/response/GetProjectResponseExample1.yaml diff --git a/output/schema/schema.json b/output/schema/schema.json index c09e1afea7..bd7a8aab13 100644 --- a/output/schema/schema.json +++ b/output/schema/schema.json @@ -17068,6 +17068,196 @@ } ] }, + { + "availability": { + "serverless": { + "stability": "experimental", + "visibility": "public" + } + }, + "description": "Create of update named project routing expressions.\n\nCreate or update named project routing expressions.", + "docId": "project-routing", + "docTag": "project-routing", + "docUrl": "", + "name": "project_routing.create_multiple", + "privileges": { + "cluster": [ + "manage" + ] + }, + "request": { + "name": "Request", + "namespace": "project_routing.create_multiple" + }, + "requestBodyRequired": true, + "response": { + "name": "Response", + "namespace": "project_routing.create_multiple" + }, + "responseMediaType": [ + "application/json" + ], + "urls": [ + { + "methods": [ + "PUT" + ], + "path": "/_project_routing" + } + ] + }, + { + "availability": { + "serverless": { + "stability": "experimental", + "visibility": "public" + } + }, + "description": "Create of update a single named project routing expression.\n\nCreate of update a single named project routing expression.", + "docId": "project-routing", + "docTag": "project-routing", + "docUrl": "", + "name": "project_routing.create_single", + "privileges": { + "cluster": [ + "manage" + ] + }, + "request": { + "name": "Request", + "namespace": "project_routing.create_single" + }, + "requestBodyRequired": true, + "response": { + "name": "Response", + "namespace": "project_routing.create_single" + }, + "responseMediaType": [ + "application/json" + ], + "urls": [ + { + "methods": [ + "PUT" + ], + "path": "/_project_routing/{name}" + } + ] + }, + { + "availability": { + "serverless": { + "stability": "experimental", + "visibility": "public" + } + }, + "description": "Delete named project routing expressions.\n\nDelete named project routing expressions.", + "docId": "project-routing", + "docTag": "project-routing", + "docUrl": "", + "name": "project_routing.delete", + "privileges": { + "cluster": [ + "manage" + ] + }, + "request": { + "name": "Request", + "namespace": "project_routing.delete" + }, + "requestBodyRequired": false, + "response": { + "name": "Response", + "namespace": "project_routing.delete" + }, + "responseMediaType": [ + "application/json" + ], + "urls": [ + { + "methods": [ + "DELETE" + ], + "path": "/_project_routing/{name}" + } + ] + }, + { + "availability": { + "serverless": { + "stability": "experimental", + "visibility": "public" + } + }, + "description": "Get named project routing expressions.\n\nGet named project routing expressions.", + "docId": "project-routing", + "docTag": "project-routing", + "docUrl": "", + "name": "project_routing.get_multiple", + "privileges": { + "cluster": [ + "monitor" + ] + }, + "request": { + "name": "Request", + "namespace": "project_routing.get_multiple" + }, + "requestBodyRequired": false, + "response": { + "name": "Response", + "namespace": "project_routing.get_multiple" + }, + "responseMediaType": [ + "application/json" + ], + "urls": [ + { + "methods": [ + "GET" + ], + "path": "/_project_routing" + } + ] + }, + { + "availability": { + "serverless": { + "stability": "experimental", + "visibility": "public" + } + }, + "description": "Get named project routing expressions.\n\nGet named project routing expressions.", + "docId": "project-routing", + "docTag": "project-routing", + "docUrl": "", + "name": "project_routing.get_single", + "privileges": { + "cluster": [ + "monitor" + ] + }, + "request": { + "name": "Request", + "namespace": "project_routing.get_single" + }, + "requestBodyRequired": false, + "response": { + "name": "Response", + "namespace": "project_routing.get_single" + }, + "responseMediaType": [ + "application/json" + ], + "urls": [ + { + "methods": [ + "GET" + ], + "path": "/_project_routing/{name}" + } + ] + }, { "availability": { "serverless": { @@ -236259,6 +236449,374 @@ ], "specLocation": "project/tags/TagsResponse.ts#L23-L31" }, + { + "kind": "interface", + "name": { + "name": "ProjectRoutingExpression", + "namespace": "project_routing._types" + }, + "properties": [ + { + "name": "expression", + "required": true, + "type": { + "kind": "instance_of", + "type": { + "name": "string", + "namespace": "_builtins" + } + } + } + ], + "specLocation": "project_routing/_types/RoutingExpression.ts#L22-L24" + }, + { + "kind": "request", + "attachedBehaviors": [ + "CommonQueryParameters" + ], + "body": { + "kind": "value", + "codegenName": "expressions", + "value": { + "kind": "dictionary_of", + "key": { + "kind": "instance_of", + "type": { + "name": "string", + "namespace": "_builtins" + } + }, + "singleKey": false, + "value": { + "kind": "instance_of", + "type": { + "name": "ProjectRoutingExpression", + "namespace": "project_routing._types" + } + } + } + }, + "description": "Create of update named project routing expressions.\n\nCreate or update named project routing expressions.", + "examples": { + "CreateProjectRoutingRequestExample1": { + "method_request": "PUT /_project_routing/", + "summary": "Multiple expressions", + "value": "{\n \"aws-us-only\": { \"expression\": \"_csp:aws AND _region:us*\" },\n \"aws-eu-only\": { \"expression\": \"_csp:aws AND _region:eu*\" }\n}" + } + }, + "inherits": { + "type": { + "name": "RequestBase", + "namespace": "_types" + } + }, + "name": { + "name": "Request", + "namespace": "project_routing.create_multiple" + }, + "path": [], + "query": [], + "specLocation": "project_routing/create_multiple/CreateRoutingRequest.ts#L25-L47" + }, + { + "kind": "response", + "body": { + "kind": "value", + "codegenName": "result", + "value": { + "kind": "instance_of", + "type": { + "name": "AcknowledgedResponseBase", + "namespace": "_types" + } + } + }, + "examples": { + "CreateProjectResponseExample1": { + "summary": "Multiple expressions", + "value": "{\n \"acknowledged\": true\n}" + } + }, + "name": { + "name": "Response", + "namespace": "project_routing.create_multiple" + }, + "specLocation": "project_routing/create_multiple/CreateRoutingResponse.ts#L22-L25" + }, + { + "kind": "request", + "attachedBehaviors": [ + "CommonQueryParameters" + ], + "body": { + "kind": "value", + "codegenName": "expressions", + "value": { + "kind": "instance_of", + "type": { + "name": "ProjectRoutingExpression", + "namespace": "project_routing._types" + } + } + }, + "description": "Create of update a single named project routing expression.\n\nCreate of update a single named project routing expression.", + "examples": { + "CreateProjectRoutingRequestExample1": { + "method_request": "PUT /_project_routing/aws-us-only", + "summary": "A single expression", + "value": "{\n \"expression\" : \"_csp:aws AND _region:us*\"\n}" + } + }, + "inherits": { + "type": { + "name": "RequestBase", + "namespace": "_types" + } + }, + "name": { + "name": "Request", + "namespace": "project_routing.create_single" + }, + "path": [ + { + "description": "The name of project routing expression", + "name": "name", + "required": true, + "type": { + "kind": "instance_of", + "type": { + "name": "string", + "namespace": "_builtins" + } + } + } + ], + "query": [], + "specLocation": "project_routing/create_single/CreateRoutingRequest.ts#L25-L53" + }, + { + "kind": "response", + "body": { + "kind": "value", + "codegenName": "result", + "value": { + "kind": "instance_of", + "type": { + "name": "AcknowledgedResponseBase", + "namespace": "_types" + } + } + }, + "examples": { + "CreateProjectResponseExample1": { + "summary": "A single expressions", + "value": "{\n \"acknowledged\": true\n}" + } + }, + "name": { + "name": "Response", + "namespace": "project_routing.create_single" + }, + "specLocation": "project_routing/create_single/CreateRoutingResponse.ts#L22-L25" + }, + { + "kind": "request", + "attachedBehaviors": [ + "CommonQueryParameters" + ], + "body": { + "kind": "no_body" + }, + "description": "Delete named project routing expressions.\n\nDelete named project routing expressions.", + "examples": { + "DeleteProjectRoutingRequestExample1": { + "method_request": "DELETE _project_routing/aws-us-only" + } + }, + "inherits": { + "type": { + "name": "RequestBase", + "namespace": "_types" + } + }, + "name": { + "name": "Request", + "namespace": "project_routing.delete" + }, + "path": [ + { + "description": "The name of project routing expression", + "name": "name", + "required": true, + "type": { + "kind": "instance_of", + "type": { + "name": "string", + "namespace": "_builtins" + } + } + } + ], + "query": [], + "specLocation": "project_routing/delete/DeleteRoutingRequest.ts#L24-L48" + }, + { + "kind": "response", + "body": { + "kind": "value", + "codegenName": "result", + "value": { + "kind": "instance_of", + "type": { + "name": "AcknowledgedResponseBase", + "namespace": "_types" + } + } + }, + "examples": { + "DeleteProjectResponseExample1": { + "value": "{\n \"acknowledged\": true\n}" + } + }, + "name": { + "name": "Response", + "namespace": "project_routing.delete" + }, + "specLocation": "project_routing/delete/DeleteRoutingResponse.ts#L22-L25" + }, + { + "kind": "request", + "attachedBehaviors": [ + "CommonQueryParameters" + ], + "body": { + "kind": "no_body" + }, + "description": "Get named project routing expressions.\n\nGet named project routing expressions.", + "examples": { + "GetProjectRoutingRequestExample1": { + "method_request": "GET /_project_routing/", + "summary": "Multiple expressions" + } + }, + "inherits": { + "type": { + "name": "RequestBase", + "namespace": "_types" + } + }, + "name": { + "name": "Request", + "namespace": "project_routing.get_multiple" + }, + "path": [], + "query": [], + "specLocation": "project_routing/get_multiple/GetRoutingRequest.ts#L23-L41" + }, + { + "kind": "response", + "body": { + "kind": "value", + "codegenName": "result", + "value": { + "kind": "dictionary_of", + "key": { + "kind": "instance_of", + "type": { + "name": "string", + "namespace": "_builtins" + } + }, + "singleKey": false, + "value": { + "kind": "instance_of", + "type": { + "name": "ProjectRoutingExpression", + "namespace": "project_routing._types" + } + } + } + }, + "examples": { + "GetProjectResponseExample1": { + "summary": "Multiple expressions", + "value": "{\n \"aws-us-only\": { \"expression\": \"_csp:aws AND _region:us*\" },\n \"aws-eu-only\": { \"expression\": \"_csp:aws AND _region:eu*\" }\n}" + } + }, + "name": { + "name": "Response", + "namespace": "project_routing.get_multiple" + }, + "specLocation": "project_routing/get_multiple/GetRoutingResponse.ts#L23-L26" + }, + { + "kind": "request", + "attachedBehaviors": [ + "CommonQueryParameters" + ], + "body": { + "kind": "no_body" + }, + "description": "Get named project routing expressions.\n\nGet named project routing expressions.", + "examples": { + "GetProjectRoutingRequestExample1": { + "method_request": "GET /_project_routing/aws-us-only", + "summary": "A single expression" + } + }, + "inherits": { + "type": { + "name": "RequestBase", + "namespace": "_types" + } + }, + "name": { + "name": "Request", + "namespace": "project_routing.get_single" + }, + "path": [ + { + "description": "The name of project routing expression", + "name": "name", + "required": true, + "type": { + "kind": "instance_of", + "type": { + "name": "string", + "namespace": "_builtins" + } + } + } + ], + "query": [], + "specLocation": "project_routing/get_single/GetRoutingRequest.ts#L23-L47" + }, + { + "kind": "response", + "body": { + "kind": "value", + "codegenName": "result", + "value": { + "kind": "instance_of", + "type": { + "name": "ProjectRoutingExpression", + "namespace": "project_routing._types" + } + } + }, + "examples": { + "GetProjectResponseExample1": { + "summary": "A single expressions", + "value": "{\n \"expression\" : \"_csp:aws AND _region:us*\"\n}" + } + }, + "name": { + "name": "Response", + "namespace": "project_routing.get_single" + }, + "specLocation": "project_routing/get_single/GetRoutingResponse.ts#L23-L26" + }, { "kind": "interface", "name": { diff --git a/output/typescript/types.ts b/output/typescript/types.ts index d0050f7a21..709f3b6e4a 100644 --- a/output/typescript/types.ts +++ b/output/typescript/types.ts @@ -20063,6 +20063,40 @@ export interface ProjectTagsTagsKeys { export type ProjectTagsTags = ProjectTagsTagsKeys & { [property: string]: string } +export interface ProjectRoutingProjectRoutingExpression { + expression: string +} + +export interface ProjectRoutingCreateMultipleRequest extends RequestBase { + body?: Record +} + +export type ProjectRoutingCreateMultipleResponse = AcknowledgedResponseBase + +export interface ProjectRoutingCreateSingleRequest extends RequestBase { + name: string + body?: ProjectRoutingProjectRoutingExpression +} + +export type ProjectRoutingCreateSingleResponse = AcknowledgedResponseBase + +export interface ProjectRoutingDeleteRequest extends RequestBase { + name: string +} + +export type ProjectRoutingDeleteResponse = AcknowledgedResponseBase + +export interface ProjectRoutingGetMultipleRequest extends RequestBase { +} + +export type ProjectRoutingGetMultipleResponse = Record + +export interface ProjectRoutingGetSingleRequest extends RequestBase { + name: string +} + +export type ProjectRoutingGetSingleResponse = ProjectRoutingProjectRoutingExpression + export interface QueryRulesQueryRule { rule_id: Id type: QueryRulesQueryRuleType diff --git a/specification/_doc_ids/table.csv b/specification/_doc_ids/table.csv index 4fdd1b35d7..4d181285b9 100644 --- a/specification/_doc_ids/table.csv +++ b/specification/_doc_ids/table.csv @@ -540,6 +540,7 @@ prevalidate-node-removal,https://www.elastic.co/docs/api/doc/elasticsearch/group preview-dfanalytics,https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-ml-preview-data-frame-analytics,https://www.elastic.co/guide/en/elasticsearch/reference/8.18/preview-dfanalytics.html, preview-transform,https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-transform-preview-transform,https://www.elastic.co/guide/en/elasticsearch/reference/8.18/preview-transform.html, project-tags,https://www.elastic.co/docs/api/doc/elasticsearch-serverless/operation/operation-project-tags,,Get tags +project-routing,,,Project routing put-analytics-collection,https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-search-application-put-behavioral-analytics,https://www.elastic.co/guide/en/elasticsearch/reference/8.18/put-analytics-collection.html, put-dfanalytics,https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-ml-put-data-frame-analytics,https://www.elastic.co/guide/en/elasticsearch/reference/8.18/put-dfanalytics.html, put-enrich-policy-api,https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-enrich-put-policy,https://www.elastic.co/guide/en/elasticsearch/reference/8.18/put-enrich-policy-api.html, diff --git a/specification/_json_spec/project_routing.create_multiple.json b/specification/_json_spec/project_routing.create_multiple.json new file mode 100644 index 0000000000..6b49540e92 --- /dev/null +++ b/specification/_json_spec/project_routing.create_multiple.json @@ -0,0 +1,32 @@ +{ + "project_routing.create_multiple": { + "documentation": { + "url": null, + "description": "Create or update named project routing expressions" + }, + "stability": "experimental", + "visibility": "public", + "headers": { + "accept": [ + "application/json" + ], + "content_type": [ + "application/json" + ] + }, + "url": { + "paths": [ + { + "path": "/_project_routing/", + "methods": [ + "PUT" + ] + } + ] + }, + "body": { + "description": "Project routing expressions to save", + "required": true + } + } +} diff --git a/specification/_json_spec/project_routing.create_single.json b/specification/_json_spec/project_routing.create_single.json new file mode 100644 index 0000000000..aa6c094479 --- /dev/null +++ b/specification/_json_spec/project_routing.create_single.json @@ -0,0 +1,38 @@ +{ + "project_routing.create_single": { + "documentation": { + "url": null, + "description": "Create or update named project routing expression" + }, + "stability": "experimental", + "visibility": "public", + "headers": { + "accept": [ + "application/json" + ], + "content_type": [ + "application/json" + ] + }, + "url": { + "paths": [ + { + "path": "/_project_routing/{name}", + "methods": [ + "PUT" + ], + "parts": { + "name": { + "type": "string", + "description": "The name of the project routing expression" + } + } + } + ] + }, + "body": { + "description": "Project routing expression to save", + "required": true + } + } +} diff --git a/specification/_json_spec/project_routing.delete.json b/specification/_json_spec/project_routing.delete.json new file mode 100644 index 0000000000..7eedd076f3 --- /dev/null +++ b/specification/_json_spec/project_routing.delete.json @@ -0,0 +1,34 @@ +{ + "project_routing.delete": { + "documentation": { + "url": null, + "description": "Delete named project routing expression" + }, + "stability": "experimental", + "visibility": "public", + "headers": { + "accept": [ + "application/json" + ], + "content_type": [ + "application/json" + ] + }, + "url": { + "paths": [ + { + "path": "/_project_routing/{name}", + "methods": [ + "DELETE" + ], + "parts": { + "name": { + "type": "string", + "description": "The name of the project routing expression" + } + } + } + ] + } + } +} diff --git a/specification/_json_spec/project_routing.get_multiple.json b/specification/_json_spec/project_routing.get_multiple.json new file mode 100644 index 0000000000..d44c756d98 --- /dev/null +++ b/specification/_json_spec/project_routing.get_multiple.json @@ -0,0 +1,28 @@ +{ + "project_routing.get_multiple": { + "documentation": { + "url": null, + "description": "Get named project routing expressions" + }, + "stability": "experimental", + "visibility": "public", + "headers": { + "accept": [ + "application/json" + ], + "content_type": [ + "application/json" + ] + }, + "url": { + "paths": [ + { + "path": "/_project_routing/", + "methods": [ + "GET" + ] + } + ] + } + } +} diff --git a/specification/_json_spec/project_routing.get_single.json b/specification/_json_spec/project_routing.get_single.json new file mode 100644 index 0000000000..4ce79f2726 --- /dev/null +++ b/specification/_json_spec/project_routing.get_single.json @@ -0,0 +1,34 @@ +{ + "project_routing.get_single": { + "documentation": { + "url": null, + "description": "Get named project routing expression" + }, + "stability": "experimental", + "visibility": "public", + "headers": { + "accept": [ + "application/json" + ], + "content_type": [ + "application/json" + ] + }, + "url": { + "paths": [ + { + "path": "/_project_routing/{name}", + "methods": [ + "GET" + ], + "parts": { + "name": { + "type": "string", + "description": "The name of the project routing expression" + } + } + } + ] + } + } +} diff --git a/specification/project_routing/_types/RoutingExpression.ts b/specification/project_routing/_types/RoutingExpression.ts new file mode 100644 index 0000000000..fa4ebc55f3 --- /dev/null +++ b/specification/project_routing/_types/RoutingExpression.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 { Dictionary } from '@spec_utils/Dictionary' + +export class ProjectRoutingExpression { + expression: string +} diff --git a/specification/project_routing/create_multiple/CreateRoutingRequest.ts b/specification/project_routing/create_multiple/CreateRoutingRequest.ts new file mode 100644 index 0000000000..147818f53a --- /dev/null +++ b/specification/project_routing/create_multiple/CreateRoutingRequest.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 { MediaType } from '@_types/common' +import { ProjectRoutingExpression } from '../_types/RoutingExpression' + + +/** + * Create of update named project routing expressions. + * + * Create or update named project routing expressions. + * @doc_id project-routing + * @rest_spec_name project_routing.create_multiple + * @availability serverless stability=experimental visibility=public + * @cluster_privileges manage + * @doc_tag project-routing + */ +export interface Request extends RequestBase { + urls: [ + { + path: '/_project_routing' + methods: ['PUT'] + } + ] + response_media_type: MediaType.Json + /** + * @codegen_name expressions + */ + body: Dictionary +} diff --git a/specification/project_routing/create_multiple/CreateRoutingResponse.ts b/specification/project_routing/create_multiple/CreateRoutingResponse.ts new file mode 100644 index 0000000000..9e7bdb91cd --- /dev/null +++ b/specification/project_routing/create_multiple/CreateRoutingResponse.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/project_routing/create_multiple/examples/request/CreateProjectRoutingRequestExample1.yaml b/specification/project_routing/create_multiple/examples/request/CreateProjectRoutingRequestExample1.yaml new file mode 100644 index 0000000000..d18369879d --- /dev/null +++ b/specification/project_routing/create_multiple/examples/request/CreateProjectRoutingRequestExample1.yaml @@ -0,0 +1,8 @@ +summary: Multiple expressions +method_request: PUT /_project_routing/ +# type: request +value: |- + { + "aws-us-only": { "expression": "_csp:aws AND _region:us*" }, + "aws-eu-only": { "expression": "_csp:aws AND _region:eu*" } + } diff --git a/specification/project_routing/create_multiple/examples/response/CreateProjectResponseExample1.yaml b/specification/project_routing/create_multiple/examples/response/CreateProjectResponseExample1.yaml new file mode 100644 index 0000000000..11b3e431ba --- /dev/null +++ b/specification/project_routing/create_multiple/examples/response/CreateProjectResponseExample1.yaml @@ -0,0 +1,7 @@ +summary: Multiple expressions +# type: response +# response_code: 201 +value: |- + { + "acknowledged": true + } diff --git a/specification/project_routing/create_single/CreateRoutingRequest.ts b/specification/project_routing/create_single/CreateRoutingRequest.ts new file mode 100644 index 0000000000..80f8bf3c14 --- /dev/null +++ b/specification/project_routing/create_single/CreateRoutingRequest.ts @@ -0,0 +1,53 @@ +/* + * 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 { MediaType } from '@_types/common' +import { ProjectRoutingExpression } from '../_types/RoutingExpression + + +/** + * Create of update a single named project routing expression. + * + * Create of update a single named project routing expression. + * @doc_id project-routing + * @rest_spec_name project_routing.create_single + * @availability serverless stability=experimental visibility=public + * @cluster_privileges manage + * @doc_tag project-routing + */ +export interface Request extends RequestBase { + urls: [ + { + path: '/_project_routing/{name}' + methods: ['PUT'] + } + ] + response_media_type: MediaType.Json + path_parts: { + /** + * The name of project routing expression + */ + name: string + } + /** + * @codegen_name expressions + */ + body: ProjectRoutingExpression +} diff --git a/specification/project_routing/create_single/CreateRoutingResponse.ts b/specification/project_routing/create_single/CreateRoutingResponse.ts new file mode 100644 index 0000000000..9e7bdb91cd --- /dev/null +++ b/specification/project_routing/create_single/CreateRoutingResponse.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/project_routing/create_single/examples/request/CreateProjectRoutingRequestExample1.yaml b/specification/project_routing/create_single/examples/request/CreateProjectRoutingRequestExample1.yaml new file mode 100644 index 0000000000..d31d3d9364 --- /dev/null +++ b/specification/project_routing/create_single/examples/request/CreateProjectRoutingRequestExample1.yaml @@ -0,0 +1,7 @@ +summary: A single expression +method_request: PUT /_project_routing/aws-us-only +# type: request +value: |- + { + "expression" : "_csp:aws AND _region:us*" + } diff --git a/specification/project_routing/create_single/examples/response/CreateProjectResponseExample1.yaml b/specification/project_routing/create_single/examples/response/CreateProjectResponseExample1.yaml new file mode 100644 index 0000000000..080fd4a9d9 --- /dev/null +++ b/specification/project_routing/create_single/examples/response/CreateProjectResponseExample1.yaml @@ -0,0 +1,7 @@ +summary: A single expressions +# type: response +# response_code: 201 +value: |- + { + "acknowledged": true + } diff --git a/specification/project_routing/delete/DeleteRoutingRequest.ts b/specification/project_routing/delete/DeleteRoutingRequest.ts new file mode 100644 index 0000000000..013c54d766 --- /dev/null +++ b/specification/project_routing/delete/DeleteRoutingRequest.ts @@ -0,0 +1,48 @@ +/* + * 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 { MediaType } from '@_types/common' + + +/** + * Delete named project routing expressions. + * + * Delete named project routing expressions. + * @doc_id project-routing + * @rest_spec_name project_routing.delete + * @availability serverless stability=experimental visibility=public + * @cluster_privileges manage + * @doc_tag project-routing + */ +export interface Request extends RequestBase { + urls: [ + { + path: '/_project_routing/{name}' + methods: ['DELETE'] + } + ] + response_media_type: MediaType.Json + path_parts: { + /** + * The name of project routing expression + */ + name: string + } +} diff --git a/specification/project_routing/delete/DeleteRoutingResponse.ts b/specification/project_routing/delete/DeleteRoutingResponse.ts new file mode 100644 index 0000000000..9e7bdb91cd --- /dev/null +++ b/specification/project_routing/delete/DeleteRoutingResponse.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/project_routing/delete/examples/request/DeleteProjectRoutingRequestExample1.yaml b/specification/project_routing/delete/examples/request/DeleteProjectRoutingRequestExample1.yaml new file mode 100644 index 0000000000..4d43169446 --- /dev/null +++ b/specification/project_routing/delete/examples/request/DeleteProjectRoutingRequestExample1.yaml @@ -0,0 +1 @@ +method_request: DELETE _project_routing/aws-us-only diff --git a/specification/project_routing/delete/examples/response/DeleteProjectResponseExample1.yaml b/specification/project_routing/delete/examples/response/DeleteProjectResponseExample1.yaml new file mode 100644 index 0000000000..87e087808a --- /dev/null +++ b/specification/project_routing/delete/examples/response/DeleteProjectResponseExample1.yaml @@ -0,0 +1,6 @@ +# type: response +# response_code: 200 +value: |- + { + "acknowledged": true + } diff --git a/specification/project_routing/get_multiple/GetRoutingRequest.ts b/specification/project_routing/get_multiple/GetRoutingRequest.ts new file mode 100644 index 0000000000..b21350dac3 --- /dev/null +++ b/specification/project_routing/get_multiple/GetRoutingRequest.ts @@ -0,0 +1,41 @@ +/* + * 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 { MediaType } from '@_types/common' + +/** + * Get named project routing expressions. + * + * Get named project routing expressions. + * @doc_id project-routing + * @rest_spec_name project_routing.get_multiple + * @availability serverless stability=experimental visibility=public + * @cluster_privileges monitor + * @doc_tag project-routing + */ +export interface Request extends RequestBase { + urls: [ + { + path: '/_project_routing' + methods: ['GET'] + } + ] + response_media_type: MediaType.Json +} diff --git a/specification/project_routing/get_multiple/GetRoutingResponse.ts b/specification/project_routing/get_multiple/GetRoutingResponse.ts new file mode 100644 index 0000000000..afa82966ed --- /dev/null +++ b/specification/project_routing/get_multiple/GetRoutingResponse.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 { ProjectRoutingExpression } from '../_types/RoutingExpression + + +export class Response { + /** @codegen_name result */ + body: Dictionary +} diff --git a/specification/project_routing/get_multiple/examples/request/GetProjectRoutingRequestExample1.yaml b/specification/project_routing/get_multiple/examples/request/GetProjectRoutingRequestExample1.yaml new file mode 100644 index 0000000000..731ed7d8e4 --- /dev/null +++ b/specification/project_routing/get_multiple/examples/request/GetProjectRoutingRequestExample1.yaml @@ -0,0 +1,2 @@ +summary: Multiple expressions +method_request: GET /_project_routing/ diff --git a/specification/project_routing/get_multiple/examples/response/GetProjectResponseExample1.yaml b/specification/project_routing/get_multiple/examples/response/GetProjectResponseExample1.yaml new file mode 100644 index 0000000000..ac12e2630b --- /dev/null +++ b/specification/project_routing/get_multiple/examples/response/GetProjectResponseExample1.yaml @@ -0,0 +1,8 @@ +summary: Multiple expressions +# type: response +# response_code: 200 +value: |- + { + "aws-us-only": { "expression": "_csp:aws AND _region:us*" }, + "aws-eu-only": { "expression": "_csp:aws AND _region:eu*" } + } diff --git a/specification/project_routing/get_single/GetRoutingRequest.ts b/specification/project_routing/get_single/GetRoutingRequest.ts new file mode 100644 index 0000000000..a445146854 --- /dev/null +++ b/specification/project_routing/get_single/GetRoutingRequest.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 { MediaType } from '@_types/common' + +/** + * Get named project routing expressions. + * + * Get named project routing expressions. + * @doc_id project-routing + * @rest_spec_name project_routing.get_single + * @availability serverless stability=experimental visibility=public + * @cluster_privileges monitor + * @doc_tag project-routing + */ +export interface Request extends RequestBase { + urls: [ + { + path: '/_project_routing/{name}' + methods: ['GET'] + } + ] + response_media_type: MediaType.Json + path_parts: { + /** + * The name of project routing expression + */ + name: string + } +} diff --git a/specification/project_routing/get_single/GetRoutingResponse.ts b/specification/project_routing/get_single/GetRoutingResponse.ts new file mode 100644 index 0000000000..6f013be21c --- /dev/null +++ b/specification/project_routing/get_single/GetRoutingResponse.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 { ProjectRoutingExpression } from '../_types/RoutingExpression + + +export class Response { + /** @codegen_name result */ + body: ProjectRoutingExpression +} diff --git a/specification/project_routing/get_single/examples/request/GetProjectRoutingRequestExample1.yaml b/specification/project_routing/get_single/examples/request/GetProjectRoutingRequestExample1.yaml new file mode 100644 index 0000000000..cee8549a7b --- /dev/null +++ b/specification/project_routing/get_single/examples/request/GetProjectRoutingRequestExample1.yaml @@ -0,0 +1,2 @@ +summary: A single expression +method_request: GET /_project_routing/aws-us-only diff --git a/specification/project_routing/get_single/examples/response/GetProjectResponseExample1.yaml b/specification/project_routing/get_single/examples/response/GetProjectResponseExample1.yaml new file mode 100644 index 0000000000..18d4fb6f6c --- /dev/null +++ b/specification/project_routing/get_single/examples/response/GetProjectResponseExample1.yaml @@ -0,0 +1,7 @@ +summary: A single expressions +# type: response +# response_code: 201 +value: |- + { + "expression" : "_csp:aws AND _region:us*" + } From 29ba134495380693a9cc5f796c394d29adfbdbc3 Mon Sep 17 00:00:00 2001 From: Alexey Ivanov Date: Wed, 17 Dec 2025 15:44:58 +0000 Subject: [PATCH 2/5] Fix build --- .../project_routing/create_single/CreateRoutingRequest.ts | 2 +- .../project_routing/get_multiple/GetRoutingResponse.ts | 2 +- specification/project_routing/get_single/GetRoutingResponse.ts | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/specification/project_routing/create_single/CreateRoutingRequest.ts b/specification/project_routing/create_single/CreateRoutingRequest.ts index 80f8bf3c14..d57247c301 100644 --- a/specification/project_routing/create_single/CreateRoutingRequest.ts +++ b/specification/project_routing/create_single/CreateRoutingRequest.ts @@ -19,7 +19,7 @@ import { RequestBase } from '@_types/Base' import { MediaType } from '@_types/common' -import { ProjectRoutingExpression } from '../_types/RoutingExpression +import { ProjectRoutingExpression } from '../_types/RoutingExpression' /** diff --git a/specification/project_routing/get_multiple/GetRoutingResponse.ts b/specification/project_routing/get_multiple/GetRoutingResponse.ts index afa82966ed..0c8676e963 100644 --- a/specification/project_routing/get_multiple/GetRoutingResponse.ts +++ b/specification/project_routing/get_multiple/GetRoutingResponse.ts @@ -17,7 +17,7 @@ * under the License. */ -import { ProjectRoutingExpression } from '../_types/RoutingExpression +import { ProjectRoutingExpression } from '../_types/RoutingExpression' export class Response { diff --git a/specification/project_routing/get_single/GetRoutingResponse.ts b/specification/project_routing/get_single/GetRoutingResponse.ts index 6f013be21c..2b46df34b1 100644 --- a/specification/project_routing/get_single/GetRoutingResponse.ts +++ b/specification/project_routing/get_single/GetRoutingResponse.ts @@ -17,7 +17,7 @@ * under the License. */ -import { ProjectRoutingExpression } from '../_types/RoutingExpression +import { ProjectRoutingExpression } from '../_types/RoutingExpression' export class Response { From 6837284795ec66706de347ad1af0d7e14a45ff55 Mon Sep 17 00:00:00 2001 From: Alexey Ivanov Date: Wed, 17 Dec 2025 15:51:15 +0000 Subject: [PATCH 3/5] Fix build --- output/schema/schema.json | 4 ++-- .../project_routing/create_multiple/CreateRoutingRequest.ts | 1 + .../project_routing/get_multiple/GetRoutingResponse.ts | 1 + 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/output/schema/schema.json b/output/schema/schema.json index aa447aeaaa..cfdd6212e8 100644 --- a/output/schema/schema.json +++ b/output/schema/schema.json @@ -237070,7 +237070,7 @@ }, "path": [], "query": [], - "specLocation": "project_routing/create_multiple/CreateRoutingRequest.ts#L25-L47" + "specLocation": "project_routing/create_multiple/CreateRoutingRequest.ts#L26-L48" }, { "kind": "response", @@ -237301,7 +237301,7 @@ "name": "Response", "namespace": "project_routing.get_multiple" }, - "specLocation": "project_routing/get_multiple/GetRoutingResponse.ts#L23-L26" + "specLocation": "project_routing/get_multiple/GetRoutingResponse.ts#L24-L27" }, { "kind": "request", diff --git a/specification/project_routing/create_multiple/CreateRoutingRequest.ts b/specification/project_routing/create_multiple/CreateRoutingRequest.ts index 147818f53a..68a816ad3e 100644 --- a/specification/project_routing/create_multiple/CreateRoutingRequest.ts +++ b/specification/project_routing/create_multiple/CreateRoutingRequest.ts @@ -19,6 +19,7 @@ import { RequestBase } from '@_types/Base' import { MediaType } from '@_types/common' +import { Dictionary } from '@spec_utils/Dictionary' import { ProjectRoutingExpression } from '../_types/RoutingExpression' diff --git a/specification/project_routing/get_multiple/GetRoutingResponse.ts b/specification/project_routing/get_multiple/GetRoutingResponse.ts index 0c8676e963..e98ef41234 100644 --- a/specification/project_routing/get_multiple/GetRoutingResponse.ts +++ b/specification/project_routing/get_multiple/GetRoutingResponse.ts @@ -17,6 +17,7 @@ * under the License. */ +import { Dictionary } from '@spec_utils/Dictionary' import { ProjectRoutingExpression } from '../_types/RoutingExpression' From bd7f7d59b786956300fa108a2c1ba1df081d905a Mon Sep 17 00:00:00 2001 From: Alexey Ivanov Date: Wed, 17 Dec 2025 16:00:26 +0000 Subject: [PATCH 4/5] Checkstyle --- .../elasticsearch-serverless-openapi.json | 256 ++++++++++++++++++ .../project_routing.create_multiple.json | 12 +- .../project_routing.create_single.json | 12 +- .../_json_spec/project_routing.delete.json | 12 +- .../project_routing.get_multiple.json | 12 +- .../project_routing.get_single.json | 12 +- .../_types/RoutingExpression.ts | 2 - .../create_multiple/CreateRoutingRequest.ts | 1 - .../create_single/CreateRoutingRequest.ts | 1 - .../delete/DeleteRoutingRequest.ts | 1 - .../get_multiple/GetRoutingResponse.ts | 1 - .../get_single/GetRoutingResponse.ts | 1 - 12 files changed, 271 insertions(+), 52 deletions(-) diff --git a/output/openapi/elasticsearch-serverless-openapi.json b/output/openapi/elasticsearch-serverless-openapi.json index af4883f41e..9f33244020 100644 --- a/output/openapi/elasticsearch-serverless-openapi.json +++ b/output/openapi/elasticsearch-serverless-openapi.json @@ -23334,6 +23334,251 @@ ] } }, + "/_project_routing": { + "get": { + "tags": [ + "project-routing" + ], + "summary": "Get named project routing expressions", + "description": "Get named project routing expressions.\n\n## Required authorization\n\n* Cluster privileges: `monitor`\n", + "operationId": "project-routing-get-multiple", + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/project_routing._types.ProjectRoutingExpression" + } + }, + "examples": { + "GetProjectResponseExample1": { + "summary": "Multiple expressions", + "value": "{\n \"aws-us-only\": { \"expression\": \"_csp:aws AND _region:us*\" },\n \"aws-eu-only\": { \"expression\": \"_csp:aws AND _region:eu*\" }\n}" + } + } + } + } + } + }, + "x-state": "Technical preview", + "x-metaTags": [ + { + "content": "Elasticsearch", + "name": "product_name" + } + ] + }, + "put": { + "tags": [ + "project-routing" + ], + "summary": "Create of update named project routing expressions", + "description": "Create or update named project routing expressions.\n\n## Required authorization\n\n* Cluster privileges: `manage`\n", + "operationId": "project-routing-create-multiple", + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/project_routing._types.ProjectRoutingExpression" + } + }, + "examples": { + "CreateProjectRoutingRequestExample1": { + "summary": "Multiple expressions", + "value": "{\n \"aws-us-only\": { \"expression\": \"_csp:aws AND _region:us*\" },\n \"aws-eu-only\": { \"expression\": \"_csp:aws AND _region:eu*\" }\n}" + } + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/_types.AcknowledgedResponseBase" + }, + "examples": { + "CreateProjectResponseExample1": { + "summary": "Multiple expressions", + "value": "{\n \"acknowledged\": true\n}" + } + } + } + } + } + }, + "x-state": "Technical preview", + "x-metaTags": [ + { + "content": "Elasticsearch", + "name": "product_name" + } + ] + } + }, + "/_project_routing/{name}": { + "get": { + "tags": [ + "project-routing" + ], + "summary": "Get named project routing expressions", + "description": "Get named project routing expressions.\n\n## Required authorization\n\n* Cluster privileges: `monitor`\n", + "operationId": "project-routing-get-single", + "parameters": [ + { + "in": "path", + "name": "name", + "description": "The name of project routing expression", + "required": true, + "deprecated": false, + "schema": { + "type": "string" + }, + "style": "simple" + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/project_routing._types.ProjectRoutingExpression" + }, + "examples": { + "GetProjectResponseExample1": { + "summary": "A single expressions", + "value": "{\n \"expression\" : \"_csp:aws AND _region:us*\"\n}" + } + } + } + } + } + }, + "x-state": "Technical preview", + "x-metaTags": [ + { + "content": "Elasticsearch", + "name": "product_name" + } + ] + }, + "put": { + "tags": [ + "project-routing" + ], + "summary": "Create of update a single named project routing expression", + "description": "Create of update a single named project routing expression.\n\n## Required authorization\n\n* Cluster privileges: `manage`\n", + "operationId": "project-routing-create-single", + "parameters": [ + { + "in": "path", + "name": "name", + "description": "The name of project routing expression", + "required": true, + "deprecated": false, + "schema": { + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/project_routing._types.ProjectRoutingExpression" + }, + "examples": { + "CreateProjectRoutingRequestExample1": { + "summary": "A single expression", + "value": "{\n \"expression\" : \"_csp:aws AND _region:us*\"\n}" + } + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/_types.AcknowledgedResponseBase" + }, + "examples": { + "CreateProjectResponseExample1": { + "summary": "A single expressions", + "value": "{\n \"acknowledged\": true\n}" + } + } + } + } + } + }, + "x-state": "Technical preview", + "x-metaTags": [ + { + "content": "Elasticsearch", + "name": "product_name" + } + ] + }, + "delete": { + "tags": [ + "project-routing" + ], + "summary": "Delete named project routing expressions", + "description": "Delete named project routing expressions.\n\n## Required authorization\n\n* Cluster privileges: `manage`\n", + "operationId": "project-routing-delete", + "parameters": [ + { + "in": "path", + "name": "name", + "description": "The name of project routing expression", + "required": true, + "deprecated": false, + "schema": { + "type": "string" + }, + "style": "simple" + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/_types.AcknowledgedResponseBase" + }, + "examples": { + "DeleteProjectResponseExample1": { + "value": "{\n \"acknowledged\": true\n}" + } + } + } + } + } + }, + "x-state": "Technical preview", + "x-metaTags": [ + { + "content": "Elasticsearch", + "name": "product_name" + } + ] + } + }, "/_scripts/{id}/{context}": { "put": { "tags": [ @@ -79632,6 +79877,17 @@ "_organisation" ] }, + "project_routing._types.ProjectRoutingExpression": { + "type": "object", + "properties": { + "expression": { + "type": "string" + } + }, + "required": [ + "expression" + ] + }, "query_rules._types.QueryRule": { "type": "object", "properties": { diff --git a/specification/_json_spec/project_routing.create_multiple.json b/specification/_json_spec/project_routing.create_multiple.json index 6b49540e92..31cf3c6ba3 100644 --- a/specification/_json_spec/project_routing.create_multiple.json +++ b/specification/_json_spec/project_routing.create_multiple.json @@ -7,20 +7,14 @@ "stability": "experimental", "visibility": "public", "headers": { - "accept": [ - "application/json" - ], - "content_type": [ - "application/json" - ] + "accept": ["application/json"], + "content_type": ["application/json"] }, "url": { "paths": [ { "path": "/_project_routing/", - "methods": [ - "PUT" - ] + "methods": ["PUT"] } ] }, diff --git a/specification/_json_spec/project_routing.create_single.json b/specification/_json_spec/project_routing.create_single.json index aa6c094479..b3a2e401f9 100644 --- a/specification/_json_spec/project_routing.create_single.json +++ b/specification/_json_spec/project_routing.create_single.json @@ -7,20 +7,14 @@ "stability": "experimental", "visibility": "public", "headers": { - "accept": [ - "application/json" - ], - "content_type": [ - "application/json" - ] + "accept": ["application/json"], + "content_type": ["application/json"] }, "url": { "paths": [ { "path": "/_project_routing/{name}", - "methods": [ - "PUT" - ], + "methods": ["PUT"], "parts": { "name": { "type": "string", diff --git a/specification/_json_spec/project_routing.delete.json b/specification/_json_spec/project_routing.delete.json index 7eedd076f3..a9244b051b 100644 --- a/specification/_json_spec/project_routing.delete.json +++ b/specification/_json_spec/project_routing.delete.json @@ -7,20 +7,14 @@ "stability": "experimental", "visibility": "public", "headers": { - "accept": [ - "application/json" - ], - "content_type": [ - "application/json" - ] + "accept": ["application/json"], + "content_type": ["application/json"] }, "url": { "paths": [ { "path": "/_project_routing/{name}", - "methods": [ - "DELETE" - ], + "methods": ["DELETE"], "parts": { "name": { "type": "string", diff --git a/specification/_json_spec/project_routing.get_multiple.json b/specification/_json_spec/project_routing.get_multiple.json index d44c756d98..b7e1a77fee 100644 --- a/specification/_json_spec/project_routing.get_multiple.json +++ b/specification/_json_spec/project_routing.get_multiple.json @@ -7,20 +7,14 @@ "stability": "experimental", "visibility": "public", "headers": { - "accept": [ - "application/json" - ], - "content_type": [ - "application/json" - ] + "accept": ["application/json"], + "content_type": ["application/json"] }, "url": { "paths": [ { "path": "/_project_routing/", - "methods": [ - "GET" - ] + "methods": ["GET"] } ] } diff --git a/specification/_json_spec/project_routing.get_single.json b/specification/_json_spec/project_routing.get_single.json index 4ce79f2726..f441cc15ee 100644 --- a/specification/_json_spec/project_routing.get_single.json +++ b/specification/_json_spec/project_routing.get_single.json @@ -7,20 +7,14 @@ "stability": "experimental", "visibility": "public", "headers": { - "accept": [ - "application/json" - ], - "content_type": [ - "application/json" - ] + "accept": ["application/json"], + "content_type": ["application/json"] }, "url": { "paths": [ { "path": "/_project_routing/{name}", - "methods": [ - "GET" - ], + "methods": ["GET"], "parts": { "name": { "type": "string", diff --git a/specification/project_routing/_types/RoutingExpression.ts b/specification/project_routing/_types/RoutingExpression.ts index fa4ebc55f3..49a99b8a96 100644 --- a/specification/project_routing/_types/RoutingExpression.ts +++ b/specification/project_routing/_types/RoutingExpression.ts @@ -17,8 +17,6 @@ * under the License. */ -import { Dictionary } from '@spec_utils/Dictionary' - export class ProjectRoutingExpression { expression: string } diff --git a/specification/project_routing/create_multiple/CreateRoutingRequest.ts b/specification/project_routing/create_multiple/CreateRoutingRequest.ts index 68a816ad3e..0450e11c04 100644 --- a/specification/project_routing/create_multiple/CreateRoutingRequest.ts +++ b/specification/project_routing/create_multiple/CreateRoutingRequest.ts @@ -22,7 +22,6 @@ import { MediaType } from '@_types/common' import { Dictionary } from '@spec_utils/Dictionary' import { ProjectRoutingExpression } from '../_types/RoutingExpression' - /** * Create of update named project routing expressions. * diff --git a/specification/project_routing/create_single/CreateRoutingRequest.ts b/specification/project_routing/create_single/CreateRoutingRequest.ts index d57247c301..2126de1f81 100644 --- a/specification/project_routing/create_single/CreateRoutingRequest.ts +++ b/specification/project_routing/create_single/CreateRoutingRequest.ts @@ -21,7 +21,6 @@ import { RequestBase } from '@_types/Base' import { MediaType } from '@_types/common' import { ProjectRoutingExpression } from '../_types/RoutingExpression' - /** * Create of update a single named project routing expression. * diff --git a/specification/project_routing/delete/DeleteRoutingRequest.ts b/specification/project_routing/delete/DeleteRoutingRequest.ts index 013c54d766..f8c01f1238 100644 --- a/specification/project_routing/delete/DeleteRoutingRequest.ts +++ b/specification/project_routing/delete/DeleteRoutingRequest.ts @@ -20,7 +20,6 @@ import { RequestBase } from '@_types/Base' import { MediaType } from '@_types/common' - /** * Delete named project routing expressions. * diff --git a/specification/project_routing/get_multiple/GetRoutingResponse.ts b/specification/project_routing/get_multiple/GetRoutingResponse.ts index e98ef41234..9c10dd15e9 100644 --- a/specification/project_routing/get_multiple/GetRoutingResponse.ts +++ b/specification/project_routing/get_multiple/GetRoutingResponse.ts @@ -20,7 +20,6 @@ import { Dictionary } from '@spec_utils/Dictionary' import { ProjectRoutingExpression } from '../_types/RoutingExpression' - export class Response { /** @codegen_name result */ body: Dictionary diff --git a/specification/project_routing/get_single/GetRoutingResponse.ts b/specification/project_routing/get_single/GetRoutingResponse.ts index 2b46df34b1..23c6a8c841 100644 --- a/specification/project_routing/get_single/GetRoutingResponse.ts +++ b/specification/project_routing/get_single/GetRoutingResponse.ts @@ -19,7 +19,6 @@ import { ProjectRoutingExpression } from '../_types/RoutingExpression' - export class Response { /** @codegen_name result */ body: ProjectRoutingExpression From 0734e2726b928429004a80e22ef8de93921f8a08 Mon Sep 17 00:00:00 2001 From: Alexey Ivanov Date: Thu, 18 Dec 2025 14:55:51 +0000 Subject: [PATCH 5/5] Address review comments --- .../elasticsearch-serverless-openapi.json | 179 ++++++------ output/schema/schema.json | 255 ++++++++++-------- output/typescript/types.ts | 30 ++- ...ingle.json => project_routing.create.json} | 2 +- ....json => project_routing.create_many.json} | 2 +- ...t_single.json => project_routing.get.json} | 2 +- ...ple.json => project_routing.get_many.json} | 2 +- .../_types/RoutingExpression.ts | 11 +- .../CreateRoutingRequest.ts | 2 +- .../CreateRoutingResponse.ts | 0 .../CreateProjectRoutingRequestExample1.yaml | 0 .../CreateProjectResponseExample1.yaml | 0 .../CreateRoutingRequest.ts | 7 +- .../CreateRoutingResponse.ts | 0 .../CreateProjectRoutingRequestExample1.yaml | 0 .../CreateProjectResponseExample1.yaml | 0 .../{get_single => get}/GetRoutingRequest.ts | 2 +- .../{get_single => get}/GetRoutingResponse.ts | 0 .../GetProjectRoutingRequestExample1.yaml | 0 .../response/GetProjectResponseExample1.yaml | 0 .../GetRoutingRequest.ts | 2 +- .../GetRoutingResponse.ts | 5 +- .../GetProjectRoutingRequestExample1.yaml | 0 .../response/GetProjectResponseExample1.yaml | 0 24 files changed, 269 insertions(+), 232 deletions(-) rename specification/_json_spec/{project_routing.create_single.json => project_routing.create.json} (95%) rename specification/_json_spec/{project_routing.create_multiple.json => project_routing.create_many.json} (93%) rename specification/_json_spec/{project_routing.get_single.json => project_routing.get.json} (94%) rename specification/_json_spec/{project_routing.get_multiple.json => project_routing.get_many.json} (92%) rename specification/project_routing/{create_single => create}/CreateRoutingRequest.ts (97%) rename specification/project_routing/{create_multiple => create}/CreateRoutingResponse.ts (100%) rename specification/project_routing/{create_single => create}/examples/request/CreateProjectRoutingRequestExample1.yaml (100%) rename specification/project_routing/{create_single => create}/examples/response/CreateProjectResponseExample1.yaml (100%) rename specification/project_routing/{create_multiple => create_many}/CreateRoutingRequest.ts (85%) rename specification/project_routing/{create_single => create_many}/CreateRoutingResponse.ts (100%) rename specification/project_routing/{create_multiple => create_many}/examples/request/CreateProjectRoutingRequestExample1.yaml (100%) rename specification/project_routing/{create_multiple => create_many}/examples/response/CreateProjectResponseExample1.yaml (100%) rename specification/project_routing/{get_single => get}/GetRoutingRequest.ts (96%) rename specification/project_routing/{get_single => get}/GetRoutingResponse.ts (100%) rename specification/project_routing/{get_single => get}/examples/request/GetProjectRoutingRequestExample1.yaml (100%) rename specification/project_routing/{get_single => get}/examples/response/GetProjectResponseExample1.yaml (100%) rename specification/project_routing/{get_multiple => get_many}/GetRoutingRequest.ts (96%) rename specification/project_routing/{get_multiple => get_many}/GetRoutingResponse.ts (82%) rename specification/project_routing/{get_multiple => get_many}/examples/request/GetProjectRoutingRequestExample1.yaml (100%) rename specification/project_routing/{get_multiple => get_many}/examples/response/GetProjectResponseExample1.yaml (100%) diff --git a/output/openapi/elasticsearch-serverless-openapi.json b/output/openapi/elasticsearch-serverless-openapi.json index 9f33244020..a747c8b7c5 100644 --- a/output/openapi/elasticsearch-serverless-openapi.json +++ b/output/openapi/elasticsearch-serverless-openapi.json @@ -23334,29 +23334,39 @@ ] } }, - "/_project_routing": { + "/_project_routing/{name}": { "get": { "tags": [ "project-routing" ], "summary": "Get named project routing expressions", "description": "Get named project routing expressions.\n\n## Required authorization\n\n* Cluster privileges: `monitor`\n", - "operationId": "project-routing-get-multiple", + "operationId": "project-routing-get", + "parameters": [ + { + "in": "path", + "name": "name", + "description": "The name of project routing expression", + "required": true, + "deprecated": false, + "schema": { + "type": "string" + }, + "style": "simple" + } + ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/project_routing._types.ProjectRoutingExpression" - } + "$ref": "#/components/schemas/project_routing._types.ProjectRoutingExpression" }, "examples": { "GetProjectResponseExample1": { - "summary": "Multiple expressions", - "value": "{\n \"aws-us-only\": { \"expression\": \"_csp:aws AND _region:us*\" },\n \"aws-eu-only\": { \"expression\": \"_csp:aws AND _region:eu*\" }\n}" + "summary": "A single expressions", + "value": "{\n \"expression\" : \"_csp:aws AND _region:us*\"\n}" } } } @@ -23375,22 +23385,32 @@ "tags": [ "project-routing" ], - "summary": "Create of update named project routing expressions", - "description": "Create or update named project routing expressions.\n\n## Required authorization\n\n* Cluster privileges: `manage`\n", - "operationId": "project-routing-create-multiple", + "summary": "Create of update a single named project routing expression", + "description": "Create of update a single named project routing expression.\n\n## Required authorization\n\n* Cluster privileges: `manage`\n", + "operationId": "project-routing-create", + "parameters": [ + { + "in": "path", + "name": "name", + "description": "The name of project routing expression", + "required": true, + "deprecated": false, + "schema": { + "type": "string" + }, + "style": "simple" + } + ], "requestBody": { "content": { "application/json": { "schema": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/project_routing._types.ProjectRoutingExpression" - } + "$ref": "#/components/schemas/project_routing._types.ProjectRoutingExpression" }, "examples": { "CreateProjectRoutingRequestExample1": { - "summary": "Multiple expressions", - "value": "{\n \"aws-us-only\": { \"expression\": \"_csp:aws AND _region:us*\" },\n \"aws-eu-only\": { \"expression\": \"_csp:aws AND _region:eu*\" }\n}" + "summary": "A single expression", + "value": "{\n \"expression\" : \"_csp:aws AND _region:us*\"\n}" } } } @@ -23407,7 +23427,7 @@ }, "examples": { "CreateProjectResponseExample1": { - "summary": "Multiple expressions", + "summary": "A single expressions", "value": "{\n \"acknowledged\": true\n}" } } @@ -23422,16 +23442,14 @@ "name": "product_name" } ] - } - }, - "/_project_routing/{name}": { - "get": { + }, + "delete": { "tags": [ "project-routing" ], - "summary": "Get named project routing expressions", - "description": "Get named project routing expressions.\n\n## Required authorization\n\n* Cluster privileges: `monitor`\n", - "operationId": "project-routing-get-single", + "summary": "Delete named project routing expressions", + "description": "Delete named project routing expressions.\n\n## Required authorization\n\n* Cluster privileges: `manage`\n", + "operationId": "project-routing-delete", "parameters": [ { "in": "path", @@ -23451,12 +23469,11 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/project_routing._types.ProjectRoutingExpression" + "$ref": "#/components/schemas/_types.AcknowledgedResponseBase" }, "examples": { - "GetProjectResponseExample1": { - "summary": "A single expressions", - "value": "{\n \"expression\" : \"_csp:aws AND _region:us*\"\n}" + "DeleteProjectResponseExample1": { + "value": "{\n \"acknowledged\": true\n}" } } } @@ -23470,55 +23487,28 @@ "name": "product_name" } ] - }, - "put": { + } + }, + "/_project_routing": { + "get": { "tags": [ "project-routing" ], - "summary": "Create of update a single named project routing expression", - "description": "Create of update a single named project routing expression.\n\n## Required authorization\n\n* Cluster privileges: `manage`\n", - "operationId": "project-routing-create-single", - "parameters": [ - { - "in": "path", - "name": "name", - "description": "The name of project routing expression", - "required": true, - "deprecated": false, - "schema": { - "type": "string" - }, - "style": "simple" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/project_routing._types.ProjectRoutingExpression" - }, - "examples": { - "CreateProjectRoutingRequestExample1": { - "summary": "A single expression", - "value": "{\n \"expression\" : \"_csp:aws AND _region:us*\"\n}" - } - } - } - }, - "required": true - }, + "summary": "Get named project routing expressions", + "description": "Get named project routing expressions.\n\n## Required authorization\n\n* Cluster privileges: `monitor`\n", + "operationId": "project-routing-get-many", "responses": { "200": { "description": "", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/_types.AcknowledgedResponseBase" + "$ref": "#/components/schemas/project_routing._types.NamedProjectRoutingExpressions" }, "examples": { - "CreateProjectResponseExample1": { - "summary": "A single expressions", - "value": "{\n \"acknowledged\": true\n}" + "GetProjectResponseExample1": { + "summary": "Multiple expressions", + "value": "{\n \"aws-us-only\": { \"expression\": \"_csp:aws AND _region:us*\" },\n \"aws-eu-only\": { \"expression\": \"_csp:aws AND _region:eu*\" }\n}" } } } @@ -23533,26 +23523,29 @@ } ] }, - "delete": { + "put": { "tags": [ "project-routing" ], - "summary": "Delete named project routing expressions", - "description": "Delete named project routing expressions.\n\n## Required authorization\n\n* Cluster privileges: `manage`\n", - "operationId": "project-routing-delete", - "parameters": [ - { - "in": "path", - "name": "name", - "description": "The name of project routing expression", - "required": true, - "deprecated": false, - "schema": { - "type": "string" - }, - "style": "simple" - } - ], + "summary": "Create of update named project routing expressions", + "description": "Create or update named project routing expressions.\n\n## Required authorization\n\n* Cluster privileges: `manage`\n", + "operationId": "project-routing-create-many", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/project_routing._types.NamedProjectRoutingExpressions" + }, + "examples": { + "CreateProjectRoutingRequestExample1": { + "summary": "Multiple expressions", + "value": "{\n \"aws-us-only\": { \"expression\": \"_csp:aws AND _region:us*\" },\n \"aws-eu-only\": { \"expression\": \"_csp:aws AND _region:eu*\" }\n}" + } + } + } + }, + "required": true + }, "responses": { "200": { "description": "", @@ -23562,7 +23555,8 @@ "$ref": "#/components/schemas/_types.AcknowledgedResponseBase" }, "examples": { - "DeleteProjectResponseExample1": { + "CreateProjectResponseExample1": { + "summary": "Multiple expressions", "value": "{\n \"acknowledged\": true\n}" } } @@ -79881,13 +79875,26 @@ "type": "object", "properties": { "expression": { - "type": "string" + "allOf": [ + { + "$ref": "#/components/schemas/project_routing._types.RoutingExpression" + } + ] } }, "required": [ "expression" ] }, + "project_routing._types.RoutingExpression": { + "type": "string" + }, + "project_routing._types.NamedProjectRoutingExpressions": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/project_routing._types.ProjectRoutingExpression" + } + }, "query_rules._types.QueryRule": { "type": "object", "properties": { diff --git a/output/schema/schema.json b/output/schema/schema.json index cfdd6212e8..2f7ac4d87d 100644 --- a/output/schema/schema.json +++ b/output/schema/schema.json @@ -17114,11 +17114,11 @@ "visibility": "public" } }, - "description": "Create of update named project routing expressions.\n\nCreate or update named project routing expressions.", + "description": "Create of update a single named project routing expression.\n\nCreate of update a single named project routing expression.", "docId": "project-routing", "docTag": "project-routing", "docUrl": "", - "name": "project_routing.create_multiple", + "name": "project_routing.create", "privileges": { "cluster": [ "manage" @@ -17126,12 +17126,12 @@ }, "request": { "name": "Request", - "namespace": "project_routing.create_multiple" + "namespace": "project_routing.create" }, "requestBodyRequired": true, "response": { "name": "Response", - "namespace": "project_routing.create_multiple" + "namespace": "project_routing.create" }, "responseMediaType": [ "application/json" @@ -17141,7 +17141,7 @@ "methods": [ "PUT" ], - "path": "/_project_routing" + "path": "/_project_routing/{name}" } ] }, @@ -17152,11 +17152,11 @@ "visibility": "public" } }, - "description": "Create of update a single named project routing expression.\n\nCreate of update a single named project routing expression.", + "description": "Create of update named project routing expressions.\n\nCreate or update named project routing expressions.", "docId": "project-routing", "docTag": "project-routing", "docUrl": "", - "name": "project_routing.create_single", + "name": "project_routing.create_many", "privileges": { "cluster": [ "manage" @@ -17164,12 +17164,12 @@ }, "request": { "name": "Request", - "namespace": "project_routing.create_single" + "namespace": "project_routing.create_many" }, "requestBodyRequired": true, "response": { "name": "Response", - "namespace": "project_routing.create_single" + "namespace": "project_routing.create_many" }, "responseMediaType": [ "application/json" @@ -17179,7 +17179,7 @@ "methods": [ "PUT" ], - "path": "/_project_routing/{name}" + "path": "/_project_routing" } ] }, @@ -17232,7 +17232,7 @@ "docId": "project-routing", "docTag": "project-routing", "docUrl": "", - "name": "project_routing.get_multiple", + "name": "project_routing.get", "privileges": { "cluster": [ "monitor" @@ -17240,12 +17240,12 @@ }, "request": { "name": "Request", - "namespace": "project_routing.get_multiple" + "namespace": "project_routing.get" }, "requestBodyRequired": false, "response": { "name": "Response", - "namespace": "project_routing.get_multiple" + "namespace": "project_routing.get" }, "responseMediaType": [ "application/json" @@ -17255,7 +17255,7 @@ "methods": [ "GET" ], - "path": "/_project_routing" + "path": "/_project_routing/{name}" } ] }, @@ -17270,7 +17270,7 @@ "docId": "project-routing", "docTag": "project-routing", "docUrl": "", - "name": "project_routing.get_single", + "name": "project_routing.get_many", "privileges": { "cluster": [ "monitor" @@ -17278,12 +17278,12 @@ }, "request": { "name": "Request", - "namespace": "project_routing.get_single" + "namespace": "project_routing.get_many" }, "requestBodyRequired": false, "response": { "name": "Response", - "namespace": "project_routing.get_single" + "namespace": "project_routing.get_many" }, "responseMediaType": [ "application/json" @@ -17293,7 +17293,7 @@ "methods": [ "GET" ], - "path": "/_project_routing/{name}" + "path": "/_project_routing" } ] }, @@ -237002,6 +237002,32 @@ ], "specLocation": "project/tags/TagsResponse.ts#L23-L31" }, + { + "kind": "type_alias", + "name": { + "name": "NamedProjectRoutingExpressions", + "namespace": "project_routing._types" + }, + "specLocation": "project_routing/_types/RoutingExpression.ts#L28-L28", + "type": { + "kind": "dictionary_of", + "key": { + "kind": "instance_of", + "type": { + "name": "string", + "namespace": "_builtins" + } + }, + "singleKey": false, + "value": { + "kind": "instance_of", + "type": { + "name": "ProjectRoutingExpression", + "namespace": "project_routing._types" + } + } + } + }, { "kind": "interface", "name": { @@ -237015,13 +237041,28 @@ "type": { "kind": "instance_of", "type": { - "name": "string", - "namespace": "_builtins" + "name": "RoutingExpression", + "namespace": "project_routing._types" } } } ], - "specLocation": "project_routing/_types/RoutingExpression.ts#L22-L24" + "specLocation": "project_routing/_types/RoutingExpression.ts#L24-L26" + }, + { + "kind": "type_alias", + "name": { + "name": "RoutingExpression", + "namespace": "project_routing._types" + }, + "specLocation": "project_routing/_types/RoutingExpression.ts#L22-L22", + "type": { + "kind": "instance_of", + "type": { + "name": "string", + "namespace": "_builtins" + } + } }, { "kind": "request", @@ -237032,30 +237073,19 @@ "kind": "value", "codegenName": "expressions", "value": { - "kind": "dictionary_of", - "key": { - "kind": "instance_of", - "type": { - "name": "string", - "namespace": "_builtins" - } - }, - "singleKey": false, - "value": { - "kind": "instance_of", - "type": { - "name": "ProjectRoutingExpression", - "namespace": "project_routing._types" - } + "kind": "instance_of", + "type": { + "name": "ProjectRoutingExpression", + "namespace": "project_routing._types" } } }, - "description": "Create of update named project routing expressions.\n\nCreate or update named project routing expressions.", + "description": "Create of update a single named project routing expression.\n\nCreate of update a single named project routing expression.", "examples": { "CreateProjectRoutingRequestExample1": { - "method_request": "PUT /_project_routing/", - "summary": "Multiple expressions", - "value": "{\n \"aws-us-only\": { \"expression\": \"_csp:aws AND _region:us*\" },\n \"aws-eu-only\": { \"expression\": \"_csp:aws AND _region:eu*\" }\n}" + "method_request": "PUT /_project_routing/aws-us-only", + "summary": "A single expression", + "value": "{\n \"expression\" : \"_csp:aws AND _region:us*\"\n}" } }, "inherits": { @@ -237066,11 +237096,24 @@ }, "name": { "name": "Request", - "namespace": "project_routing.create_multiple" + "namespace": "project_routing.create" }, - "path": [], + "path": [ + { + "description": "The name of project routing expression", + "name": "name", + "required": true, + "type": { + "kind": "instance_of", + "type": { + "name": "string", + "namespace": "_builtins" + } + } + } + ], "query": [], - "specLocation": "project_routing/create_multiple/CreateRoutingRequest.ts#L26-L48" + "specLocation": "project_routing/create/CreateRoutingRequest.ts#L24-L52" }, { "kind": "response", @@ -237087,15 +237130,15 @@ }, "examples": { "CreateProjectResponseExample1": { - "summary": "Multiple expressions", + "summary": "A single expressions", "value": "{\n \"acknowledged\": true\n}" } }, "name": { "name": "Response", - "namespace": "project_routing.create_multiple" + "namespace": "project_routing.create" }, - "specLocation": "project_routing/create_multiple/CreateRoutingResponse.ts#L22-L25" + "specLocation": "project_routing/create/CreateRoutingResponse.ts#L22-L25" }, { "kind": "request", @@ -237108,17 +237151,17 @@ "value": { "kind": "instance_of", "type": { - "name": "ProjectRoutingExpression", + "name": "NamedProjectRoutingExpressions", "namespace": "project_routing._types" } } }, - "description": "Create of update a single named project routing expression.\n\nCreate of update a single named project routing expression.", + "description": "Create of update named project routing expressions.\n\nCreate or update named project routing expressions.", "examples": { "CreateProjectRoutingRequestExample1": { - "method_request": "PUT /_project_routing/aws-us-only", - "summary": "A single expression", - "value": "{\n \"expression\" : \"_csp:aws AND _region:us*\"\n}" + "method_request": "PUT /_project_routing/", + "summary": "Multiple expressions", + "value": "{\n \"aws-us-only\": { \"expression\": \"_csp:aws AND _region:us*\" },\n \"aws-eu-only\": { \"expression\": \"_csp:aws AND _region:eu*\" }\n}" } }, "inherits": { @@ -237129,24 +237172,11 @@ }, "name": { "name": "Request", - "namespace": "project_routing.create_single" + "namespace": "project_routing.create_many" }, - "path": [ - { - "description": "The name of project routing expression", - "name": "name", - "required": true, - "type": { - "kind": "instance_of", - "type": { - "name": "string", - "namespace": "_builtins" - } - } - } - ], + "path": [], "query": [], - "specLocation": "project_routing/create_single/CreateRoutingRequest.ts#L25-L53" + "specLocation": "project_routing/create_many/CreateRoutingRequest.ts#L24-L46" }, { "kind": "response", @@ -237163,15 +237193,15 @@ }, "examples": { "CreateProjectResponseExample1": { - "summary": "A single expressions", + "summary": "Multiple expressions", "value": "{\n \"acknowledged\": true\n}" } }, "name": { "name": "Response", - "namespace": "project_routing.create_single" + "namespace": "project_routing.create_many" }, - "specLocation": "project_routing/create_single/CreateRoutingResponse.ts#L22-L25" + "specLocation": "project_routing/create_many/CreateRoutingResponse.ts#L22-L25" }, { "kind": "request", @@ -237212,7 +237242,7 @@ } ], "query": [], - "specLocation": "project_routing/delete/DeleteRoutingRequest.ts#L24-L48" + "specLocation": "project_routing/delete/DeleteRoutingRequest.ts#L23-L47" }, { "kind": "response", @@ -237249,8 +237279,8 @@ "description": "Get named project routing expressions.\n\nGet named project routing expressions.", "examples": { "GetProjectRoutingRequestExample1": { - "method_request": "GET /_project_routing/", - "summary": "Multiple expressions" + "method_request": "GET /_project_routing/aws-us-only", + "summary": "A single expression" } }, "inherits": { @@ -237261,11 +237291,24 @@ }, "name": { "name": "Request", - "namespace": "project_routing.get_multiple" + "namespace": "project_routing.get" }, - "path": [], + "path": [ + { + "description": "The name of project routing expression", + "name": "name", + "required": true, + "type": { + "kind": "instance_of", + "type": { + "name": "string", + "namespace": "_builtins" + } + } + } + ], "query": [], - "specLocation": "project_routing/get_multiple/GetRoutingRequest.ts#L23-L41" + "specLocation": "project_routing/get/GetRoutingRequest.ts#L23-L47" }, { "kind": "response", @@ -237273,35 +237316,24 @@ "kind": "value", "codegenName": "result", "value": { - "kind": "dictionary_of", - "key": { - "kind": "instance_of", - "type": { - "name": "string", - "namespace": "_builtins" - } - }, - "singleKey": false, - "value": { - "kind": "instance_of", - "type": { - "name": "ProjectRoutingExpression", - "namespace": "project_routing._types" - } + "kind": "instance_of", + "type": { + "name": "ProjectRoutingExpression", + "namespace": "project_routing._types" } } }, "examples": { "GetProjectResponseExample1": { - "summary": "Multiple expressions", - "value": "{\n \"aws-us-only\": { \"expression\": \"_csp:aws AND _region:us*\" },\n \"aws-eu-only\": { \"expression\": \"_csp:aws AND _region:eu*\" }\n}" + "summary": "A single expressions", + "value": "{\n \"expression\" : \"_csp:aws AND _region:us*\"\n}" } }, "name": { "name": "Response", - "namespace": "project_routing.get_multiple" + "namespace": "project_routing.get" }, - "specLocation": "project_routing/get_multiple/GetRoutingResponse.ts#L24-L27" + "specLocation": "project_routing/get/GetRoutingResponse.ts#L22-L25" }, { "kind": "request", @@ -237314,8 +237346,8 @@ "description": "Get named project routing expressions.\n\nGet named project routing expressions.", "examples": { "GetProjectRoutingRequestExample1": { - "method_request": "GET /_project_routing/aws-us-only", - "summary": "A single expression" + "method_request": "GET /_project_routing/", + "summary": "Multiple expressions" } }, "inherits": { @@ -237326,24 +237358,11 @@ }, "name": { "name": "Request", - "namespace": "project_routing.get_single" + "namespace": "project_routing.get_many" }, - "path": [ - { - "description": "The name of project routing expression", - "name": "name", - "required": true, - "type": { - "kind": "instance_of", - "type": { - "name": "string", - "namespace": "_builtins" - } - } - } - ], + "path": [], "query": [], - "specLocation": "project_routing/get_single/GetRoutingRequest.ts#L23-L47" + "specLocation": "project_routing/get_many/GetRoutingRequest.ts#L23-L41" }, { "kind": "response", @@ -237353,22 +237372,22 @@ "value": { "kind": "instance_of", "type": { - "name": "ProjectRoutingExpression", + "name": "NamedProjectRoutingExpressions", "namespace": "project_routing._types" } } }, "examples": { "GetProjectResponseExample1": { - "summary": "A single expressions", - "value": "{\n \"expression\" : \"_csp:aws AND _region:us*\"\n}" + "summary": "Multiple expressions", + "value": "{\n \"aws-us-only\": { \"expression\": \"_csp:aws AND _region:us*\" },\n \"aws-eu-only\": { \"expression\": \"_csp:aws AND _region:eu*\" }\n}" } }, "name": { "name": "Response", - "namespace": "project_routing.get_single" + "namespace": "project_routing.get_many" }, - "specLocation": "project_routing/get_single/GetRoutingResponse.ts#L23-L26" + "specLocation": "project_routing/get_many/GetRoutingResponse.ts#L22-L25" }, { "kind": "interface", diff --git a/output/typescript/types.ts b/output/typescript/types.ts index c2c7b5ece7..54faf6bc1a 100644 --- a/output/typescript/types.ts +++ b/output/typescript/types.ts @@ -20107,22 +20107,26 @@ export interface ProjectTagsTagsKeys { export type ProjectTagsTags = ProjectTagsTagsKeys & { [property: string]: string } -export interface ProjectRoutingProjectRoutingExpression { - expression: string -} +export type ProjectRoutingNamedProjectRoutingExpressions = Record -export interface ProjectRoutingCreateMultipleRequest extends RequestBase { - body?: Record +export interface ProjectRoutingProjectRoutingExpression { + expression: ProjectRoutingRoutingExpression } -export type ProjectRoutingCreateMultipleResponse = AcknowledgedResponseBase +export type ProjectRoutingRoutingExpression = string -export interface ProjectRoutingCreateSingleRequest extends RequestBase { +export interface ProjectRoutingCreateRequest extends RequestBase { name: string body?: ProjectRoutingProjectRoutingExpression } -export type ProjectRoutingCreateSingleResponse = AcknowledgedResponseBase +export type ProjectRoutingCreateResponse = AcknowledgedResponseBase + +export interface ProjectRoutingCreateManyRequest extends RequestBase { + body?: ProjectRoutingNamedProjectRoutingExpressions +} + +export type ProjectRoutingCreateManyResponse = AcknowledgedResponseBase export interface ProjectRoutingDeleteRequest extends RequestBase { name: string @@ -20130,16 +20134,16 @@ export interface ProjectRoutingDeleteRequest extends RequestBase { export type ProjectRoutingDeleteResponse = AcknowledgedResponseBase -export interface ProjectRoutingGetMultipleRequest extends RequestBase { +export interface ProjectRoutingGetRequest extends RequestBase { + name: string } -export type ProjectRoutingGetMultipleResponse = Record +export type ProjectRoutingGetResponse = ProjectRoutingProjectRoutingExpression -export interface ProjectRoutingGetSingleRequest extends RequestBase { - name: string +export interface ProjectRoutingGetManyRequest extends RequestBase { } -export type ProjectRoutingGetSingleResponse = ProjectRoutingProjectRoutingExpression +export type ProjectRoutingGetManyResponse = ProjectRoutingNamedProjectRoutingExpressions export interface QueryRulesQueryRule { rule_id: Id diff --git a/specification/_json_spec/project_routing.create_single.json b/specification/_json_spec/project_routing.create.json similarity index 95% rename from specification/_json_spec/project_routing.create_single.json rename to specification/_json_spec/project_routing.create.json index b3a2e401f9..ebaed298a5 100644 --- a/specification/_json_spec/project_routing.create_single.json +++ b/specification/_json_spec/project_routing.create.json @@ -1,5 +1,5 @@ { - "project_routing.create_single": { + "project_routing.create": { "documentation": { "url": null, "description": "Create or update named project routing expression" diff --git a/specification/_json_spec/project_routing.create_multiple.json b/specification/_json_spec/project_routing.create_many.json similarity index 93% rename from specification/_json_spec/project_routing.create_multiple.json rename to specification/_json_spec/project_routing.create_many.json index 31cf3c6ba3..b7b1827db3 100644 --- a/specification/_json_spec/project_routing.create_multiple.json +++ b/specification/_json_spec/project_routing.create_many.json @@ -1,5 +1,5 @@ { - "project_routing.create_multiple": { + "project_routing.create_many": { "documentation": { "url": null, "description": "Create or update named project routing expressions" diff --git a/specification/_json_spec/project_routing.get_single.json b/specification/_json_spec/project_routing.get.json similarity index 94% rename from specification/_json_spec/project_routing.get_single.json rename to specification/_json_spec/project_routing.get.json index f441cc15ee..a383958850 100644 --- a/specification/_json_spec/project_routing.get_single.json +++ b/specification/_json_spec/project_routing.get.json @@ -1,5 +1,5 @@ { - "project_routing.get_single": { + "project_routing.get": { "documentation": { "url": null, "description": "Get named project routing expression" diff --git a/specification/_json_spec/project_routing.get_multiple.json b/specification/_json_spec/project_routing.get_many.json similarity index 92% rename from specification/_json_spec/project_routing.get_multiple.json rename to specification/_json_spec/project_routing.get_many.json index b7e1a77fee..79645d273a 100644 --- a/specification/_json_spec/project_routing.get_multiple.json +++ b/specification/_json_spec/project_routing.get_many.json @@ -1,5 +1,5 @@ { - "project_routing.get_multiple": { + "project_routing.get_many": { "documentation": { "url": null, "description": "Get named project routing expressions" diff --git a/specification/project_routing/_types/RoutingExpression.ts b/specification/project_routing/_types/RoutingExpression.ts index 49a99b8a96..bdf7ce48c9 100644 --- a/specification/project_routing/_types/RoutingExpression.ts +++ b/specification/project_routing/_types/RoutingExpression.ts @@ -17,6 +17,15 @@ * under the License. */ +import { Dictionary } from '@spec_utils/Dictionary' + +export type RoutingExpression = string + export class ProjectRoutingExpression { - expression: string + expression: RoutingExpression } + +export type NamedProjectRoutingExpressions = Dictionary< + string, + ProjectRoutingExpression +> diff --git a/specification/project_routing/create_single/CreateRoutingRequest.ts b/specification/project_routing/create/CreateRoutingRequest.ts similarity index 97% rename from specification/project_routing/create_single/CreateRoutingRequest.ts rename to specification/project_routing/create/CreateRoutingRequest.ts index 2126de1f81..b3bc7fd933 100644 --- a/specification/project_routing/create_single/CreateRoutingRequest.ts +++ b/specification/project_routing/create/CreateRoutingRequest.ts @@ -26,7 +26,7 @@ import { ProjectRoutingExpression } from '../_types/RoutingExpression' * * Create of update a single named project routing expression. * @doc_id project-routing - * @rest_spec_name project_routing.create_single + * @rest_spec_name project_routing.create * @availability serverless stability=experimental visibility=public * @cluster_privileges manage * @doc_tag project-routing diff --git a/specification/project_routing/create_multiple/CreateRoutingResponse.ts b/specification/project_routing/create/CreateRoutingResponse.ts similarity index 100% rename from specification/project_routing/create_multiple/CreateRoutingResponse.ts rename to specification/project_routing/create/CreateRoutingResponse.ts diff --git a/specification/project_routing/create_single/examples/request/CreateProjectRoutingRequestExample1.yaml b/specification/project_routing/create/examples/request/CreateProjectRoutingRequestExample1.yaml similarity index 100% rename from specification/project_routing/create_single/examples/request/CreateProjectRoutingRequestExample1.yaml rename to specification/project_routing/create/examples/request/CreateProjectRoutingRequestExample1.yaml diff --git a/specification/project_routing/create_single/examples/response/CreateProjectResponseExample1.yaml b/specification/project_routing/create/examples/response/CreateProjectResponseExample1.yaml similarity index 100% rename from specification/project_routing/create_single/examples/response/CreateProjectResponseExample1.yaml rename to specification/project_routing/create/examples/response/CreateProjectResponseExample1.yaml diff --git a/specification/project_routing/create_multiple/CreateRoutingRequest.ts b/specification/project_routing/create_many/CreateRoutingRequest.ts similarity index 85% rename from specification/project_routing/create_multiple/CreateRoutingRequest.ts rename to specification/project_routing/create_many/CreateRoutingRequest.ts index 0450e11c04..b48a50da24 100644 --- a/specification/project_routing/create_multiple/CreateRoutingRequest.ts +++ b/specification/project_routing/create_many/CreateRoutingRequest.ts @@ -19,15 +19,14 @@ import { RequestBase } from '@_types/Base' import { MediaType } from '@_types/common' -import { Dictionary } from '@spec_utils/Dictionary' -import { ProjectRoutingExpression } from '../_types/RoutingExpression' +import { NamedProjectRoutingExpressions } from '../_types/RoutingExpression' /** * Create of update named project routing expressions. * * Create or update named project routing expressions. * @doc_id project-routing - * @rest_spec_name project_routing.create_multiple + * @rest_spec_name project_routing.create_many * @availability serverless stability=experimental visibility=public * @cluster_privileges manage * @doc_tag project-routing @@ -43,5 +42,5 @@ export interface Request extends RequestBase { /** * @codegen_name expressions */ - body: Dictionary + body: NamedProjectRoutingExpressions } diff --git a/specification/project_routing/create_single/CreateRoutingResponse.ts b/specification/project_routing/create_many/CreateRoutingResponse.ts similarity index 100% rename from specification/project_routing/create_single/CreateRoutingResponse.ts rename to specification/project_routing/create_many/CreateRoutingResponse.ts diff --git a/specification/project_routing/create_multiple/examples/request/CreateProjectRoutingRequestExample1.yaml b/specification/project_routing/create_many/examples/request/CreateProjectRoutingRequestExample1.yaml similarity index 100% rename from specification/project_routing/create_multiple/examples/request/CreateProjectRoutingRequestExample1.yaml rename to specification/project_routing/create_many/examples/request/CreateProjectRoutingRequestExample1.yaml diff --git a/specification/project_routing/create_multiple/examples/response/CreateProjectResponseExample1.yaml b/specification/project_routing/create_many/examples/response/CreateProjectResponseExample1.yaml similarity index 100% rename from specification/project_routing/create_multiple/examples/response/CreateProjectResponseExample1.yaml rename to specification/project_routing/create_many/examples/response/CreateProjectResponseExample1.yaml diff --git a/specification/project_routing/get_single/GetRoutingRequest.ts b/specification/project_routing/get/GetRoutingRequest.ts similarity index 96% rename from specification/project_routing/get_single/GetRoutingRequest.ts rename to specification/project_routing/get/GetRoutingRequest.ts index a445146854..cc77b14f7a 100644 --- a/specification/project_routing/get_single/GetRoutingRequest.ts +++ b/specification/project_routing/get/GetRoutingRequest.ts @@ -25,7 +25,7 @@ import { MediaType } from '@_types/common' * * Get named project routing expressions. * @doc_id project-routing - * @rest_spec_name project_routing.get_single + * @rest_spec_name project_routing.get * @availability serverless stability=experimental visibility=public * @cluster_privileges monitor * @doc_tag project-routing diff --git a/specification/project_routing/get_single/GetRoutingResponse.ts b/specification/project_routing/get/GetRoutingResponse.ts similarity index 100% rename from specification/project_routing/get_single/GetRoutingResponse.ts rename to specification/project_routing/get/GetRoutingResponse.ts diff --git a/specification/project_routing/get_single/examples/request/GetProjectRoutingRequestExample1.yaml b/specification/project_routing/get/examples/request/GetProjectRoutingRequestExample1.yaml similarity index 100% rename from specification/project_routing/get_single/examples/request/GetProjectRoutingRequestExample1.yaml rename to specification/project_routing/get/examples/request/GetProjectRoutingRequestExample1.yaml diff --git a/specification/project_routing/get_single/examples/response/GetProjectResponseExample1.yaml b/specification/project_routing/get/examples/response/GetProjectResponseExample1.yaml similarity index 100% rename from specification/project_routing/get_single/examples/response/GetProjectResponseExample1.yaml rename to specification/project_routing/get/examples/response/GetProjectResponseExample1.yaml diff --git a/specification/project_routing/get_multiple/GetRoutingRequest.ts b/specification/project_routing/get_many/GetRoutingRequest.ts similarity index 96% rename from specification/project_routing/get_multiple/GetRoutingRequest.ts rename to specification/project_routing/get_many/GetRoutingRequest.ts index b21350dac3..344929a978 100644 --- a/specification/project_routing/get_multiple/GetRoutingRequest.ts +++ b/specification/project_routing/get_many/GetRoutingRequest.ts @@ -25,7 +25,7 @@ import { MediaType } from '@_types/common' * * Get named project routing expressions. * @doc_id project-routing - * @rest_spec_name project_routing.get_multiple + * @rest_spec_name project_routing.get_many * @availability serverless stability=experimental visibility=public * @cluster_privileges monitor * @doc_tag project-routing diff --git a/specification/project_routing/get_multiple/GetRoutingResponse.ts b/specification/project_routing/get_many/GetRoutingResponse.ts similarity index 82% rename from specification/project_routing/get_multiple/GetRoutingResponse.ts rename to specification/project_routing/get_many/GetRoutingResponse.ts index 9c10dd15e9..3f4698f47d 100644 --- a/specification/project_routing/get_multiple/GetRoutingResponse.ts +++ b/specification/project_routing/get_many/GetRoutingResponse.ts @@ -17,10 +17,9 @@ * under the License. */ -import { Dictionary } from '@spec_utils/Dictionary' -import { ProjectRoutingExpression } from '../_types/RoutingExpression' +import { NamedProjectRoutingExpressions } from '../_types/RoutingExpression' export class Response { /** @codegen_name result */ - body: Dictionary + body: NamedProjectRoutingExpressions } diff --git a/specification/project_routing/get_multiple/examples/request/GetProjectRoutingRequestExample1.yaml b/specification/project_routing/get_many/examples/request/GetProjectRoutingRequestExample1.yaml similarity index 100% rename from specification/project_routing/get_multiple/examples/request/GetProjectRoutingRequestExample1.yaml rename to specification/project_routing/get_many/examples/request/GetProjectRoutingRequestExample1.yaml diff --git a/specification/project_routing/get_multiple/examples/response/GetProjectResponseExample1.yaml b/specification/project_routing/get_many/examples/response/GetProjectResponseExample1.yaml similarity index 100% rename from specification/project_routing/get_multiple/examples/response/GetProjectResponseExample1.yaml rename to specification/project_routing/get_many/examples/response/GetProjectResponseExample1.yaml