diff --git a/packages/kbn-generate-console-definitions/src/body_params_converter.ts b/packages/kbn-generate-console-definitions/src/body_params_converter.ts new file mode 100644 index 0000000000000..b6015c4e80df6 --- /dev/null +++ b/packages/kbn-generate-console-definitions/src/body_params_converter.ts @@ -0,0 +1,291 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { + areTypeNamesEqual, + cleanUpConvertedUnionItems, + findTypeDefinition, + getCombinedGlobalName, + getGlobalScopeLink, + isUnionOfInstanceAndArray, +} from './utils'; +import type { AutocompleteBodyParams, GlobalDefinition, SpecificationTypes as S } from './types'; + +/** + * Types important for this conversion + * Body = ValueBody | PropertiesBody | NoBody + * ValueOf = InstanceOf | ArrayOf | UnionOf | DictionaryOf | UserDefinedValue | LiteralValue + * + * Request has `body` property which is "Body" + * - "Body" can be one of + * - "ValueBody" + * - has a `value` property which is "ValueOf" + * - convert "ValueOf" + * - "PropertiesBody" + * - has a `properties` property which is "Property[]" + * - each "Property" has a `type` property which is "ValueOf" + * - convert "ValueOf" + * - "NoBody" + * - this an empty request body + * + * Convert "ValueOf" which can be one of + * - "InstanceOf" + * - has a `type` property which is "TypeName" + * - if "TypeName" has a `namespace` = "_builtins" then it's a primitive type + * - if "TypeName" has a `namespace` = "_types" then it's a defined type that can be found in the schema + * - the found "TypeDefinition" can be + * - "Enum" + * - has a `members` property which is "EnumMember[]" + * - each "EnumMember" has a `name` property + * - convert `name` to a value + * - "TypeAlias" + * - has a `type` property which is "ValueOf" + * - "Interface" + * - has a `properties` property which is "Property[]" + * - each "Property" has a `type` property which is "ValueOf" + * - "ArrayOf" + * - has a `value` property which is "ValueOf" + * - "UnionOf" + * - has a `items` property which is "ValueOf[]" + * - "DictionaryOf" + * - has a `key` and a `value` properties which are both "ValueOf" + * - "UserDefinedValue" + * - can be any arbitrary value + * - "LiteralValue" + * - has a `value` property which is string, number or boolean + */ + +export class BodyParamsConverter { + /** + * The array of typenames that are being used to describe the current field. + * For example, a request body has a field + * `policy` which is a typename {name: "policy", namespace: "ilm"}. + * A policy has a field `phase` which is a typename {name: "phase", namespace: "ilm"}. + * Now while converting fields in a phase the array `currentTypes` holds 2 items + * [{name: "policy", namespace: "ilm"}, {name: "phase", namespace: "ilm"}]. + * We track the typenames to avoid an endless loop when a field subsequently contains its parents' fields. + * For example, if a phase has a field `policy` which is also {name: "policy", namespace: "ilm"}. + * It's now impossible to describe the field without extracting the typename {name: "policy", namespace: "ilm"} + * to a separate definition. + * @private + */ + private currentTypes: S.TypeName[]; + + /** + * The array of typenames that need to be extracted to a separate definition. For example, + * a request body has a `policy` field which is {name: "policy", namespace: "ilm"}, + * a policy has a `phase` field which is {name: "phase", namespace: "ilm"} + * and a phase has a `policy` field which is also {name: "policy", namespace: "ilm"}. + * Thus it's impossible to describe the field without getting in an endless loop. + * Instead, we use a global scope link like `__scope_link: "GLOBAL.ilm.policy" + * and add {name: "policy", namespace: "ilm"} to the global types array. + * After all endpoints are converted, global types are also converted to definitions and saved in the `globals` folder. + * @private + */ + private readonly globalTypes: S.TypeName[]; + private processedGlobals: S.TypeName[]; + private readonly schema: S.Model; + + constructor(schema: S.Model) { + this.currentTypes = []; + this.globalTypes = []; + this.processedGlobals = []; + this.schema = schema; + } + + public generate(body: S.Body): AutocompleteBodyParams { + this.currentTypes = []; + const { kind } = body; + switch (kind) { + case 'no_body': { + return {}; + } + case 'value': { + return this.convertValueOf(body.value, undefined); + } + case 'properties': { + return this.convertProperties(body.properties); + } + } + } + + private convertProperties(properties: S.Property[]): AutocompleteBodyParams { + const bodyParams = {} as AutocompleteBodyParams; + for (const property of properties) { + const { type, name, serverDefault } = property; + bodyParams[name] = this.convertValueOf(type, serverDefault); + } + return bodyParams; + } + + private convertValueOf(valueOf: S.ValueOf, serverDefault: S.Property['serverDefault']): any { + const { kind } = valueOf; + switch (kind) { + case 'instance_of': + return this.convertInstanceOf(valueOf, serverDefault); + case 'array_of': + return this.convertArrayOf(valueOf, serverDefault); + case 'union_of': + return this.convertUnionOf(valueOf, serverDefault); + case 'dictionary_of': + return this.convertDictionaryOf(valueOf, serverDefault); + case 'literal_value': + return this.convertLiteralValue(valueOf, serverDefault); + case 'user_defined_value': + default: + return ''; + } + } + + private convertInstanceOf( + instanceOf: S.InstanceOf, + serverDefault: S.Property['serverDefault'] + ): any { + const { type } = instanceOf; + if (type.namespace === '_builtins') { + /** + * - `string`, `boolean`, `number`, `null`, `void`, `binary` + */ + if (type.name === 'boolean') { + return serverDefault ? serverDefault : { __one_of: [true, false] }; + } + return serverDefault ? serverDefault.toString() : ''; + } else { + return this.convertTypeName(type, serverDefault); + } + } + + private convertTypeName(typeName: S.TypeName, serverDefault: S.Property['serverDefault']): any { + const definedType = findTypeDefinition(this.schema, typeName); + if (definedType) { + if (this.isInCurrentTypes(typeName)) { + this.addGlobalType(typeName); + return getGlobalScopeLink(typeName); + } else { + this.currentTypes.push(typeName); + } + let result; + // interface + if (definedType.kind === 'interface') { + result = this.convertProperties(definedType.properties); + } else if (definedType.kind === 'enum') { + // enum + result = this.convertEnum(definedType); + } else if (definedType.kind === 'type_alias') { + // type_alias + result = this.convertTypeAlias(definedType, serverDefault); + } + this.currentTypes.pop(); + return result; + } + } + + private convertArrayOf = ( + arrayOf: S.ArrayOf, + serverDefault: S.Property['serverDefault'] + ): any => { + return [this.convertValueOf(arrayOf.value, serverDefault)]; + }; + + private convertUnionOf = ( + unionOf: S.UnionOf, + serverDefault: S.Property['serverDefault'] + ): any => { + let items; + if (isUnionOfInstanceAndArray(unionOf)) { + items = [this.convertValueOf(unionOf.items[0], serverDefault)]; + } else { + items = unionOf.items.map((item) => this.convertValueOf(item, undefined)); + if (serverDefault) { + items.unshift(serverDefault); + } + } + items = cleanUpConvertedUnionItems(items); + if (items.length > 0) { + return { + __one_of: items, + }; + } + return []; + }; + + private convertDictionaryOf = ( + dictionaryOf: S.DictionaryOf, + serverDefault: S.Property['serverDefault'] + ): any => { + let key = this.convertValueOf(dictionaryOf.key, undefined); + if (key === '') { + key = 'NAME'; + } + const value = this.convertValueOf(dictionaryOf.value, serverDefault); + return { + [key]: value, + }; + }; + + private convertLiteralValue = ( + literalValue: S.LiteralValue, + serverDefault: S.Property['serverDefault'] + ): any => { + let value = serverDefault ? serverDefault.toString() : literalValue.value; + /** + * if the value is enclosed into curly braces, it's meant to be a variable + * use upper case to indicate that + * for example {dynamic_property} -> DYNAMIC_PROPERTY + */ + if (typeof value === 'string' && value.startsWith('{') && value.endsWith('}')) { + value = value.replace('{', '').replace('}', '').toUpperCase(); + } + return value; + }; + + private convertEnum(enumType: S.Enum): any { + return { + __one_of: enumType.members.map((member) => member.name), + }; + } + + private convertTypeAlias( + typeAlias: S.TypeAlias, + serverDefault: S.Property['serverDefault'] + ): any { + return this.convertValueOf(typeAlias.type, serverDefault); + } + + private isInCurrentTypes(type: S.TypeName): boolean { + const foundType = this.currentTypes.find((currentType) => areTypeNamesEqual(currentType, type)); + return !!foundType; + } + + private addGlobalType(typeName: S.TypeName) { + const foundType = this.globalTypes.find((t) => areTypeNamesEqual(t, typeName)); + const foundProcessed = this.processedGlobals.find((t) => areTypeNamesEqual(t, typeName)); + if (!foundType && !foundProcessed) { + this.globalTypes.push(typeName); + } + } + + public getGlobalTypes(): S.TypeName[] { + return Array.from(this.globalTypes); + } + + public convertGlobals(): GlobalDefinition[] { + const globalDefinitions = []; + while (this.globalTypes.length > 0) { + const globalType = this.globalTypes.shift(); + if (globalType) { + this.currentTypes = []; + this.processedGlobals.push(globalType); + const params = this.convertTypeName(globalType, undefined); + const name = getCombinedGlobalName(globalType); + globalDefinitions.push({ name, params }); + } + } + return globalDefinitions; + } +} diff --git a/packages/kbn-generate-console-definitions/src/cli.ts b/packages/kbn-generate-console-definitions/src/cli.ts index 75f7e630a2c7f..fde273c1a8ec2 100644 --- a/packages/kbn-generate-console-definitions/src/cli.ts +++ b/packages/kbn-generate-console-definitions/src/cli.ts @@ -13,46 +13,29 @@ import { createFlagError } from '@kbn/dev-cli-errors'; import { REPO_ROOT } from '@kbn/repo-info'; import { AUTOCOMPLETE_DEFINITIONS_FOLDER } from '@kbn/console-plugin/common/constants'; import { generateConsoleDefinitions } from './generate_console_definitions'; +import { createFolderIfDoesntExist } from './utils'; export function runGenerateConsoleDefinitionsCli() { run( (context) => { const { log, flags } = context; log.info('starting console definitions generation'); - const { source, dest, emptyDest } = flags; + const { source, dest } = flags; if (!source) { throw createFlagError(`Missing --source argument`); } - let definitionsFolder = Path.resolve(REPO_ROOT, `${dest}`); + let generatedFilesFolder = Path.resolve(REPO_ROOT, `${dest}`); if (!dest) { - definitionsFolder = Path.resolve(AUTOCOMPLETE_DEFINITIONS_FOLDER, 'generated'); + generatedFilesFolder = AUTOCOMPLETE_DEFINITIONS_FOLDER; } - log.info(`autocomplete definitions folder ${definitionsFolder}`); - if (!fs.existsSync(definitionsFolder)) { - log.warning(`folder ${definitionsFolder} doesn't exist, creating a new folder`); - fs.mkdirSync(definitionsFolder, { recursive: true }); - log.warning(`created a new folder ${definitionsFolder}`); - } - const files = fs.readdirSync(definitionsFolder); - if (files.length > 0) { - if (!emptyDest) { - throw createFlagError( - `Definitions folder already contain files, use --emptyDest to clean the folder before generation` - ); - } - log.warning(`folder ${definitionsFolder} already contains files, emptying the folder`); - for (const file of files) { - fs.unlinkSync(Path.resolve(definitionsFolder, file)); - } - log.warning(`folder ${definitionsFolder} has been emptied`); - } - + log.info(`autocomplete definitions folder ${generatedFilesFolder}`); + createFolderIfDoesntExist(generatedFilesFolder, log); const specsRepo = Path.resolve(`${source}`); if (!fs.existsSync(specsRepo)) { throw createFlagError(`ES specification folder ${specsRepo} doesn't exist`); } log.info(`ES specification repo folder ${source}`); - generateConsoleDefinitions({ specsRepo, definitionsFolder, log }); + generateConsoleDefinitions({ specsRepo, generatedFilesFolder, log }); log.info('completed console definitions generation'); }, { @@ -68,7 +51,6 @@ node scripts/generate_console_definitions.js --source [- help: ` --source Folder containing the root of the Elasticsearch specification repo --dest Folder where console autocomplete definitions will be generated (relative to the Kibana repo root) ---emptyDest Flag to empty definitions folder if it already contains any files `, }, } diff --git a/packages/kbn-generate-console-definitions/src/generate_console_definitions.ts b/packages/kbn-generate-console-definitions/src/generate_console_definitions.ts index 42afed13eed22..a30692e2b2a71 100644 --- a/packages/kbn-generate-console-definitions/src/generate_console_definitions.ts +++ b/packages/kbn-generate-console-definitions/src/generate_console_definitions.ts @@ -7,8 +7,9 @@ */ import fs from 'fs'; -import Path, { join } from 'path'; -import { ToolingLog } from '@kbn/tooling-log'; +import Path from 'path'; +import type { ToolingLog } from '@kbn/tooling-log'; +import { ENDPOINTS_SUBFOLDER, GLOBALS_SUBFOLDER } from '@kbn/console-plugin/common/constants'; import { generateQueryParams } from './generate_query_params'; import { generateAvailability } from './generate_availability'; import type { @@ -17,7 +18,13 @@ import type { AutocompleteUrlParams, SpecificationTypes, } from './types'; -import { findTypeDefinition } from './utils'; +import { + createFolderIfDoesntExist, + emptyFolder, + findTypeDefinition, + saveJsonToFile, +} from './utils'; +import { BodyParamsConverter } from './body_params_converter'; const generateMethods = (endpoint: SpecificationTypes.Endpoint): string[] => { // this array consists of arrays of strings @@ -43,27 +50,28 @@ const generateDocumentation = (endpoint: SpecificationTypes.Endpoint): string => return endpoint.docUrl; }; -const generateParams = ( - endpoint: SpecificationTypes.Endpoint, - schema: SpecificationTypes.Model -): { urlParams: AutocompleteUrlParams; bodyParams: AutocompleteBodyParams } | undefined => { +const generateParams = ({ + endpoint, + schema, + bodyParamsConverter, +}: { + endpoint: SpecificationTypes.Endpoint; + schema: SpecificationTypes.Model; + bodyParamsConverter: BodyParamsConverter; +}): { urlParams: AutocompleteUrlParams; bodyParams: AutocompleteBodyParams } | undefined => { const { request } = endpoint; if (!request) { return; } - const requestType = findTypeDefinition(schema, request); - if (!requestType) { + const requestTypeDefinition = findTypeDefinition(schema, request); + if (!requestTypeDefinition) { return; } - const urlParams = generateQueryParams(requestType as SpecificationTypes.Request, schema); - const bodyParams = generateBodyParams(requestType); - return { urlParams, bodyParams }; -}; -const generateBodyParams = ( - requestType: SpecificationTypes.TypeDefinition -): AutocompleteBodyParams => { - return {}; + const requestType = requestTypeDefinition as SpecificationTypes.Request; + const urlParams = generateQueryParams(requestType, schema); + const bodyParams = bodyParamsConverter.generate(requestType.body); + return { urlParams, bodyParams }; }; const addParams = ( @@ -80,16 +88,21 @@ const addParams = ( return definition; }; -const generateDefinition = ( - endpoint: SpecificationTypes.Endpoint, - schema: SpecificationTypes.Model -): AutocompleteDefinition => { +const generateDefinition = ({ + endpoint, + schema, + bodyParamsConverter, +}: { + endpoint: SpecificationTypes.Endpoint; + schema: SpecificationTypes.Model; + bodyParamsConverter: BodyParamsConverter; +}): AutocompleteDefinition => { const methods = generateMethods(endpoint); const patterns = generatePatterns(endpoint); const documentation = generateDocumentation(endpoint); const availability = generateAvailability(endpoint); let definition: AutocompleteDefinition = {}; - const params = generateParams(endpoint, schema); + const params = generateParams({ endpoint, schema, bodyParamsConverter }); if (params) { definition = addParams(definition, params); } @@ -100,30 +113,48 @@ const generateDefinition = ( export function generateConsoleDefinitions({ specsRepo, - definitionsFolder, + generatedFilesFolder, log, }: { specsRepo: string; - definitionsFolder: string; + generatedFilesFolder: string; log: ToolingLog; }) { const pathToSchemaFile = Path.resolve(specsRepo, 'output/schema/schema.json'); log.info('loading the ES specification schema file'); const schema = JSON.parse(fs.readFileSync(pathToSchemaFile, 'utf8')) as SpecificationTypes.Model; + // convert endpoints + const definitionsFolder = Path.resolve(generatedFilesFolder, ENDPOINTS_SUBFOLDER); + createFolderIfDoesntExist(definitionsFolder, log); + emptyFolder(definitionsFolder, log); const { endpoints } = schema; log.info(`iterating over endpoints array: ${endpoints.length} endpoints`); + const bodyParamsConverter = new BodyParamsConverter(schema); endpoints.forEach((endpoint) => { const { name } = endpoint; log.info(name); - const definition = generateDefinition(endpoint, schema); + const definition = generateDefinition({ endpoint, schema, bodyParamsConverter }); const fileContent: { [name: string]: AutocompleteDefinition } = { [name]: definition, }; - fs.writeFileSync( - join(definitionsFolder, `${name}.json`), - JSON.stringify(fileContent, null, 2) + '\n', - 'utf8' - ); + saveJsonToFile({ folder: definitionsFolder, name, fileContent }); + }); + + // convert global types needed for endpoint definitions + const globalsFolder = Path.resolve(generatedFilesFolder, GLOBALS_SUBFOLDER); + createFolderIfDoesntExist(globalsFolder, log); + emptyFolder(globalsFolder, log); + const globalTypes = bodyParamsConverter.getGlobalTypes(); + log.info(`generating definitions for global types`); + log.info({ globalTypes }); + const globalDefinitions = bodyParamsConverter.convertGlobals(); + globalDefinitions.forEach((globalDefinition) => { + const { name, params } = globalDefinition; + log.info(name); + if (params && Object.keys(params).length > 0) { + const fileContent = { [name]: params }; + saveJsonToFile({ folder: globalsFolder, name, fileContent }); + } }); } diff --git a/packages/kbn-generate-console-definitions/src/types/autocomplete_definition_types.ts b/packages/kbn-generate-console-definitions/src/types/autocomplete_definition_types.ts index 67bcbc5d131a2..d105ea8174cf4 100644 --- a/packages/kbn-generate-console-definitions/src/types/autocomplete_definition_types.ts +++ b/packages/kbn-generate-console-definitions/src/types/autocomplete_definition_types.ts @@ -11,7 +11,7 @@ export interface AutocompleteUrlParams { } export interface AutocompleteBodyParams { - [key: string]: number | string; + [key: string]: any; } export interface AutocompleteAvailability { @@ -27,3 +27,8 @@ export interface AutocompleteDefinition { data_autocomplete_rules?: AutocompleteBodyParams; availability?: AutocompleteAvailability; } + +export interface GlobalDefinition { + name: string; + params: AutocompleteBodyParams; +} diff --git a/packages/kbn-generate-console-definitions/src/types/index.ts b/packages/kbn-generate-console-definitions/src/types/index.ts index ab2b036d39cf0..32b296bcc7566 100644 --- a/packages/kbn-generate-console-definitions/src/types/index.ts +++ b/packages/kbn-generate-console-definitions/src/types/index.ts @@ -10,6 +10,7 @@ export type { AutocompleteDefinition, AutocompleteUrlParams, AutocompleteBodyParams, + GlobalDefinition, AutocompleteAvailability, } from './autocomplete_definition_types'; diff --git a/packages/kbn-generate-console-definitions/src/utils.ts b/packages/kbn-generate-console-definitions/src/utils.ts index 29c24e63fa58f..dde837f69606c 100644 --- a/packages/kbn-generate-console-definitions/src/utils.ts +++ b/packages/kbn-generate-console-definitions/src/utils.ts @@ -6,7 +6,12 @@ * Side Public License, v 1. */ +import fs from 'fs'; +import { ToolingLog } from '@kbn/tooling-log'; +import Path, { join } from 'path'; import type { SpecificationTypes } from './types'; +import { SpecificationTypes as S } from './types'; + export const findTypeDefinition = ( schema: SpecificationTypes.Model, typeName: SpecificationTypes.TypeName @@ -15,3 +20,108 @@ export const findTypeDefinition = ( (type) => type.name.name === typeName.name && type.name.namespace === typeName.namespace ); }; + +export const createFolderIfDoesntExist = (folder: string, log: ToolingLog) => { + if (!fs.existsSync(folder)) { + log.warning(`folder ${folder} doesn't exist, creating a new folder`); + fs.mkdirSync(folder, { recursive: true }); + log.warning(`created a new folder ${folder}`); + } +}; + +export const emptyFolder = (folder: string, log: ToolingLog) => { + const files = fs.readdirSync(folder); + if (files.length > 0) { + log.warning(`folder ${folder} already contains files, emptying the folder`); + for (const file of files) { + fs.rmSync(Path.resolve(folder, file), { recursive: true }); + } + log.warning(`folder ${folder} has been emptied`); + } +}; + +export const saveJsonToFile = ({ + folder, + name, + fileContent, +}: { + folder: string; + name: string; + fileContent: any; +}) => { + fs.writeFileSync( + join(folder, `${name}.json`), + JSON.stringify(fileContent, null, 2) + '\n', + 'utf8' + ); +}; + +export const areTypeNamesEqual = ( + typeNameA: SpecificationTypes.TypeName, + typeNameB: SpecificationTypes.TypeName +): boolean => { + return typeNameA.name === typeNameB.name && typeNameA.namespace === typeNameB.namespace; +}; + +export const isUnionOfInstanceAndArray = (unionOf: S.UnionOf): boolean => { + /* + * often a union is an instance of a type and an array of the same type + * Example + * { + "items": [ + { + "kind": "instance_of", + "type": { + "name": "QueryContainer", + "namespace": "_types.query_dsl" + } + }, + { + "kind": "array_of", + "value": { + "kind": "instance_of", + "type": { + "name": "QueryContainer", + "namespace": "_types.query_dsl" + } + } + } + ], + "kind": "union_of" + } + */ + if (unionOf.items.length === 2) { + const item1 = unionOf.items[0]; + const item2 = unionOf.items[1]; + if ( + item1.kind === 'instance_of' && + item2.kind === 'array_of' && + item2.value.kind === 'instance_of' + ) { + if (areTypeNamesEqual(item1.type, item2.value.type)) { + return true; + } + } + } + return false; +}; + +export const cleanUpConvertedUnionItems = (items: any[]) => { + return items.filter((item) => !!item && Object.keys(item).length > 0); +}; + +export const getCombinedGlobalName = (typeName: SpecificationTypes.TypeName): string => { + const { name, namespace } = typeName; + // remove "_global.", "_types." and "._types" from namespace + const clearedNameSpace = namespace + .replace('_global.', '') + .replace('_types.', '') + .replace('._types', ''); + return `${clearedNameSpace}.${name}`; +}; + +export const getGlobalScopeLink = (type: S.TypeName) => { + return { + __scope_link: `GLOBAL.${getCombinedGlobalName(type)}`, + }; +}; diff --git a/packages/kbn-generate-console-definitions/test/body_params_converter.test.ts b/packages/kbn-generate-console-definitions/test/body_params_converter.test.ts new file mode 100644 index 0000000000000..8010e44278470 --- /dev/null +++ b/packages/kbn-generate-console-definitions/test/body_params_converter.test.ts @@ -0,0 +1,358 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { BodyParamsConverter } from '../src/body_params_converter'; +import type { SpecificationTypes as S } from '../src/types'; +import { + getMockProperty, + mockBooleanProperty, + mockNumberProperty, + mockSchema, + mockStringProperty, +} from '.'; + +describe('BodyParamsConverter', () => { + it('converts the request body of type NoBody as an empty object', () => { + const bodyParamsConverter = new BodyParamsConverter(mockSchema); + const body: S.NoBody = { kind: 'no_body' }; + const params = bodyParamsConverter.generate(body); + expect(params).toEqual({}); + }); + + it('converts each property of the request body of type PropertiesBody', () => { + const bodyParamsConverter = new BodyParamsConverter(mockSchema); + + const body: S.PropertiesBody = { + kind: 'properties', + properties: [ + getMockProperty({ propertyName: 'property1' }), + getMockProperty({ propertyName: 'property2' }), + ], + }; + const params = bodyParamsConverter.generate(body); + expect(params).toEqual({ + property1: '', + property2: '', + }); + }); + + it('converts the value of the request body of type ValueBody', () => { + const bodyParamsConverter = new BodyParamsConverter(mockSchema); + + const body: S.ValueBody = { + value: { + kind: 'instance_of', + type: { + name: 'string', + namespace: '_builtins', + }, + }, + kind: 'value', + }; + const params = bodyParamsConverter.generate(body); + expect(params).toEqual(''); + }); + + it('converts builtin types', () => { + const bodyParamsConverter = new BodyParamsConverter(mockSchema); + + const body: S.PropertiesBody = { + kind: 'properties', + properties: [mockStringProperty, mockNumberProperty, mockBooleanProperty], + }; + const params = bodyParamsConverter.generate(body); + expect(params).toEqual({ + stringProperty: '', + numberProperty: '', + booleanProperty: { __one_of: [true, false] }, + }); + }); + + it('converts with default values', () => { + const bodyParamsConverter = new BodyParamsConverter(mockSchema); + + const body: S.PropertiesBody = { + kind: 'properties', + properties: [ + { ...mockStringProperty, serverDefault: 'test' }, + { ...mockNumberProperty, serverDefault: 42 }, + { ...mockBooleanProperty, serverDefault: true }, + ], + }; + const params = bodyParamsConverter.generate(body); + expect(params).toEqual({ + stringProperty: 'test', + numberProperty: '42', + booleanProperty: true, + }); + }); + + it('converts interface', () => { + const interfaceType: S.Interface = { + kind: 'interface', + name: { + name: 'interface', + namespace: 'test.namespace', + }, + properties: [getMockProperty({ propertyName: 'interfaceProperty' })], + specLocation: '', + }; + const schema = { ...mockSchema, types: [interfaceType] }; + const bodyParamsConverter = new BodyParamsConverter(schema); + + const body: S.PropertiesBody = { + properties: [ + getMockProperty({ + propertyName: 'property1', + typeName: { + name: 'interface', + namespace: 'test.namespace', + }, + }), + ], + kind: 'properties', + }; + const params = bodyParamsConverter.generate(body); + expect(params).toEqual({ + property1: { + interfaceProperty: '', + }, + }); + }); + + it('converts enum', () => { + const enumType: S.Enum = { + kind: 'enum', + name: { + name: 'enumType', + namespace: 'test.namespace', + }, + members: [{ name: 'value1' }, { name: 'value2' }], + specLocation: '', + }; + const schema = { ...mockSchema, types: [enumType] }; + const bodyParamsConverter = new BodyParamsConverter(schema); + + const body: S.PropertiesBody = { + properties: [ + getMockProperty({ + propertyName: 'property1', + typeName: { + name: 'enumType', + namespace: 'test.namespace', + }, + }), + ], + kind: 'properties', + }; + + const params = bodyParamsConverter.generate(body); + expect(params).toEqual({ property1: { __one_of: ['value1', 'value2'] } }); + }); + + it('converts typeAlias', () => { + const aliasType: S.TypeAlias = { + kind: 'type_alias', + name: { + name: 'aliasType', + namespace: 'test.namespace', + }, + type: { kind: 'instance_of', type: { name: 'string', namespace: '_builtins' } }, + specLocation: '', + }; + const schema = { ...mockSchema, types: [aliasType] }; + const bodyParamsConverter = new BodyParamsConverter(schema); + + const body: S.PropertiesBody = { + properties: [ + getMockProperty({ + propertyName: 'property1', + typeName: { + name: 'aliasType', + namespace: 'test.namespace', + }, + }), + ], + kind: 'properties', + }; + const params = bodyParamsConverter.generate(body); + expect(params).toEqual({ property1: '' }); + }); + + it('converts dictionary', () => { + const dictionary: S.DictionaryOf = { + singleKey: false, + kind: 'dictionary_of', + key: { + kind: 'instance_of', + type: { + name: 'string', + namespace: '_builtins', + }, + }, + value: { + kind: 'instance_of', + type: { + name: 'boolean', + namespace: '_builtins', + }, + }, + }; + + const bodyParamsConverter = new BodyParamsConverter(mockSchema); + + const body: S.PropertiesBody = { + properties: [ + getMockProperty({ + propertyName: 'property1', + type: dictionary, + }), + ], + kind: 'properties', + }; + const params = bodyParamsConverter.generate(body); + expect(params).toEqual({ + property1: { + NAME: { + __one_of: [true, false], + }, + }, + }); + }); + + it('converts literal value', () => { + const literalValue: S.LiteralValue = { + kind: 'literal_value', + value: 42, + }; + + const bodyParamsConverter = new BodyParamsConverter(mockSchema); + + const body: S.PropertiesBody = { + properties: [ + getMockProperty({ + propertyName: 'property1', + type: literalValue, + }), + ], + kind: 'properties', + }; + const params = bodyParamsConverter.generate(body); + expect(params).toEqual({ + property1: 42, + }); + }); + + it('converts literal value with curly braces to upper case text', () => { + const literalValue: S.LiteralValue = { + kind: 'literal_value', + value: '{dynamic_property}', + }; + + const bodyParamsConverter = new BodyParamsConverter(mockSchema); + + const body: S.PropertiesBody = { + properties: [ + getMockProperty({ + propertyName: 'property1', + type: literalValue, + }), + ], + kind: 'properties', + }; + const params = bodyParamsConverter.generate(body); + expect(params).toEqual({ + property1: 'DYNAMIC_PROPERTY', + }); + }); + + it('adds a global type and converts it', () => { + const policyInstance: S.InstanceOf = { + kind: 'instance_of', + type: { + name: 'policy', + namespace: 'test.namespace', + }, + }; + const phaseInstance: S.InstanceOf = { + kind: 'instance_of', + type: { + name: 'phase', + namespace: 'test.namespace', + }, + }; + + const policyTypeDefinition: S.Interface = { + kind: 'interface', + name: { + name: 'policy', + namespace: 'test.namespace', + }, + properties: [getMockProperty({ propertyName: 'phase', type: phaseInstance })], + specLocation: '', + }; + + const phaseTypeDefinition: S.Interface = { + kind: 'interface', + name: { + name: 'phase', + namespace: 'test.namespace', + }, + properties: [ + getMockProperty({ + propertyName: 'innerPolicyField', + // the recursion of types happens here + type: policyInstance, + }), + getMockProperty({ propertyName: 'phaseField' }), + ], + specLocation: '', + }; + + const schema = { ...mockSchema, types: [policyTypeDefinition, phaseTypeDefinition] }; + const bodyParamsConverter = new BodyParamsConverter(schema); + + const body: S.PropertiesBody = { + properties: [ + getMockProperty({ + propertyName: 'property1', + type: policyInstance, + }), + ], + kind: 'properties', + }; + const params = bodyParamsConverter.generate(body); + expect(params).toEqual({ + property1: { + phase: { + innerPolicyField: { + __scope_link: 'GLOBAL.test.namespace.policy', + }, + phaseField: '', + }, + }, + }); + const globalTypes = bodyParamsConverter.getGlobalTypes(); + expect(globalTypes.length).toEqual(1); + expect(globalTypes[0]).toEqual({ + name: 'policy', + namespace: 'test.namespace', + }); + const globalTypeDefinitions = bodyParamsConverter.convertGlobals(); + expect(globalTypeDefinitions.length).toEqual(1); + expect(globalTypeDefinitions[0].params).toEqual({ + phase: { + innerPolicyField: { + // the policy is now described recursively by its own global type, but that works in the autocomplete engine + __scope_link: 'GLOBAL.test.namespace.policy', + }, + phaseField: '', + }, + }); + }); +}); diff --git a/packages/kbn-generate-console-definitions/src/generate_availability.test.ts b/packages/kbn-generate-console-definitions/test/generate_availability.test.ts similarity index 97% rename from packages/kbn-generate-console-definitions/src/generate_availability.test.ts rename to packages/kbn-generate-console-definitions/test/generate_availability.test.ts index e70f29b1025b3..db41cb7bfe2a2 100644 --- a/packages/kbn-generate-console-definitions/src/generate_availability.test.ts +++ b/packages/kbn-generate-console-definitions/test/generate_availability.test.ts @@ -6,8 +6,8 @@ * Side Public License, v 1. */ -import { SpecificationTypes } from './types'; -import { generateAvailability } from './generate_availability'; +import { SpecificationTypes } from '../src/types'; +import { generateAvailability } from '../src/generate_availability'; describe('generateAvailability', () => { const mockEndpoint: SpecificationTypes.Endpoint = { diff --git a/packages/kbn-generate-console-definitions/src/generate_query_params.test.ts b/packages/kbn-generate-console-definitions/test/generate_query_params.test.ts similarity index 84% rename from packages/kbn-generate-console-definitions/src/generate_query_params.test.ts rename to packages/kbn-generate-console-definitions/test/generate_query_params.test.ts index 3d658ba60f174..ae96cadddb89b 100644 --- a/packages/kbn-generate-console-definitions/src/generate_query_params.test.ts +++ b/packages/kbn-generate-console-definitions/test/generate_query_params.test.ts @@ -6,54 +6,19 @@ * Side Public License, v 1. */ -import { SpecificationTypes } from './types'; -import { generateQueryParams } from './generate_query_params'; -import { UrlParamValue } from './types/autocomplete_definition_types'; +import { SpecificationTypes } from '../src/types'; +import { generateQueryParams } from '../src/generate_query_params'; +import { UrlParamValue } from '../src/types/autocomplete_definition_types'; +import { + getMockProperty, + mockBooleanProperty, + mockNumberProperty, + mockRequestType, + mockSchema, + mockStringProperty, +} from '.'; describe('generateQueryParams', () => { - const mockRequestType: SpecificationTypes.Request = { - body: { kind: 'no_body' }, - kind: 'request', - name: { - name: 'TestRequest', - namespace: 'test.namespace', - }, - path: [], - query: [], - specLocation: '', - }; - - const getMockProperty = ({ - propertyName, - typeName, - serverDefault, - type, - }: { - propertyName: string; - typeName?: SpecificationTypes.TypeName; - serverDefault?: SpecificationTypes.Property['serverDefault']; - type?: SpecificationTypes.ValueOf; - }): SpecificationTypes.Property => { - return { - description: 'Description', - name: propertyName, - required: false, - serverDefault: serverDefault ?? undefined, - type: type ?? { - kind: 'instance_of', - type: typeName ?? { - name: 'string', - namespace: '_builtins', - }, - }, - }; - }; - - const mockSchema: SpecificationTypes.Model = { - endpoints: [], - types: [], - }; - it('iterates over attachedBehaviours', () => { const behaviour1: SpecificationTypes.Interface = { kind: 'interface', @@ -108,21 +73,9 @@ describe('generateQueryParams', () => { }); it('converts builtin types', () => { - const stringProperty = getMockProperty({ - propertyName: 'stringProperty', - typeName: { name: 'string', namespace: '_builtins' }, - }); - const numberProperty = getMockProperty({ - propertyName: 'numberProperty', - typeName: { name: 'number', namespace: '_builtins' }, - }); - const booleanProperty = getMockProperty({ - propertyName: 'booleanProperty', - typeName: { name: 'boolean', namespace: '_builtins' }, - }); const requestType = { ...mockRequestType, - query: [stringProperty, numberProperty, booleanProperty], + query: [mockStringProperty, mockNumberProperty, mockBooleanProperty], }; const urlParams = generateQueryParams(requestType, mockSchema); expect(urlParams).toEqual({ diff --git a/packages/kbn-generate-console-definitions/test/index.ts b/packages/kbn-generate-console-definitions/test/index.ts new file mode 100644 index 0000000000000..c5afcead9b901 --- /dev/null +++ b/packages/kbn-generate-console-definitions/test/index.ts @@ -0,0 +1,16 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +export { + mockSchema, + mockRequestType, + getMockProperty, + mockStringProperty, + mockNumberProperty, + mockBooleanProperty, +} from './mocks'; diff --git a/packages/kbn-generate-console-definitions/test/mocks.ts b/packages/kbn-generate-console-definitions/test/mocks.ts new file mode 100644 index 0000000000000..0ec89ecf49067 --- /dev/null +++ b/packages/kbn-generate-console-definitions/test/mocks.ts @@ -0,0 +1,65 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import type { SpecificationTypes as S } from '../src/types'; + +export const mockRequestType: S.Request = { + body: { kind: 'no_body' }, + kind: 'request', + name: { + name: 'TestRequest', + namespace: 'test.namespace', + }, + path: [], + query: [], + specLocation: '', +}; + +export const getMockProperty = ({ + propertyName, + typeName, + serverDefault, + type, +}: { + propertyName: string; + typeName?: S.TypeName; + serverDefault?: S.Property['serverDefault']; + type?: S.ValueOf; +}): S.Property => { + return { + description: 'Description', + name: propertyName, + required: false, + serverDefault: serverDefault ?? undefined, + type: type ?? { + kind: 'instance_of', + type: typeName ?? { + name: 'string', + namespace: '_builtins', + }, + }, + }; +}; + +export const mockStringProperty = getMockProperty({ + propertyName: 'stringProperty', + typeName: { name: 'string', namespace: '_builtins' }, +}); +export const mockNumberProperty = getMockProperty({ + propertyName: 'numberProperty', + typeName: { name: 'number', namespace: '_builtins' }, +}); +export const mockBooleanProperty = getMockProperty({ + propertyName: 'booleanProperty', + typeName: { name: 'boolean', namespace: '_builtins' }, +}); + +export const mockSchema: S.Model = { + endpoints: [], + types: [], +}; diff --git a/src/plugins/console/common/constants/autocomplete_definitions.ts b/src/plugins/console/common/constants/autocomplete_definitions.ts index 9e106e1641d10..49a7907c89d87 100644 --- a/src/plugins/console/common/constants/autocomplete_definitions.ts +++ b/src/plugins/console/common/constants/autocomplete_definitions.ts @@ -12,3 +12,7 @@ export const AUTOCOMPLETE_DEFINITIONS_FOLDER = resolve( __dirname, '../../server/lib/spec_definitions/json' ); + +export const ENDPOINTS_SUBFOLDER = 'endpoints'; +export const OVERRIDES_SUBFOLDER = 'overrides'; +export const GLOBALS_SUBFOLDER = 'globals'; diff --git a/src/plugins/console/common/constants/index.ts b/src/plugins/console/common/constants/index.ts index d8a259c4c450d..afd6bd03152f0 100644 --- a/src/plugins/console/common/constants/index.ts +++ b/src/plugins/console/common/constants/index.ts @@ -9,4 +9,9 @@ export { MAJOR_VERSION } from './plugin'; export { API_BASE_PATH, KIBANA_API_PREFIX } from './api'; export { DEFAULT_VARIABLES } from './variables'; -export { AUTOCOMPLETE_DEFINITIONS_FOLDER } from './autocomplete_definitions'; +export { + AUTOCOMPLETE_DEFINITIONS_FOLDER, + ENDPOINTS_SUBFOLDER, + OVERRIDES_SUBFOLDER, + GLOBALS_SUBFOLDER, +} from './autocomplete_definitions'; diff --git a/src/plugins/console/common/types/autocomplete_definitions.ts b/src/plugins/console/common/types/autocomplete_definitions.ts new file mode 100644 index 0000000000000..bec87fb5cedc3 --- /dev/null +++ b/src/plugins/console/common/types/autocomplete_definitions.ts @@ -0,0 +1,22 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +export interface EndpointDefinition { + methods?: string[]; + patterns?: string | string[]; + url_params?: Record; + data_autocomplete_rules?: Record; + url_components?: Record; + priority?: number; + availability?: Record; +} + +export interface GlobalDefinition { + name: string; + params: Record; +} diff --git a/src/plugins/console/common/types/index.ts b/src/plugins/console/common/types/index.ts index a2dcde016a6b7..18b5299f9353b 100644 --- a/src/plugins/console/common/types/index.ts +++ b/src/plugins/console/common/types/index.ts @@ -8,3 +8,4 @@ export * from './models'; export * from './plugin_config'; +export * from './autocomplete_definitions'; diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/_common.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/_common.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/_common.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/_common.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/_internal.delete_desired_balance.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/_internal.delete_desired_balance.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/_internal.delete_desired_balance.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/_internal.delete_desired_balance.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/_internal.delete_desired_nodes.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/_internal.delete_desired_nodes.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/_internal.delete_desired_nodes.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/_internal.delete_desired_nodes.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/_internal.get_desired_balance.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/_internal.get_desired_balance.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/_internal.get_desired_balance.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/_internal.get_desired_balance.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/_internal.get_desired_nodes.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/_internal.get_desired_nodes.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/_internal.get_desired_nodes.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/_internal.get_desired_nodes.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/_internal.prevalidate_node_removal.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/_internal.prevalidate_node_removal.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/_internal.prevalidate_node_removal.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/_internal.prevalidate_node_removal.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/_internal.update_desired_nodes.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/_internal.update_desired_nodes.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/_internal.update_desired_nodes.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/_internal.update_desired_nodes.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/async_search.delete.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/async_search.delete.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/async_search.delete.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/async_search.delete.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/async_search.get.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/async_search.get.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/async_search.get.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/async_search.get.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/async_search.status.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/async_search.status.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/async_search.status.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/async_search.status.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/async_search.submit.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/async_search.submit.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/async_search.submit.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/async_search.submit.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/autoscaling.delete_autoscaling_policy.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/autoscaling.delete_autoscaling_policy.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/autoscaling.delete_autoscaling_policy.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/autoscaling.delete_autoscaling_policy.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/autoscaling.get_autoscaling_capacity.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/autoscaling.get_autoscaling_capacity.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/autoscaling.get_autoscaling_capacity.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/autoscaling.get_autoscaling_capacity.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/autoscaling.get_autoscaling_decision.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/autoscaling.get_autoscaling_decision.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/autoscaling.get_autoscaling_decision.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/autoscaling.get_autoscaling_decision.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/autoscaling.get_autoscaling_policy.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/autoscaling.get_autoscaling_policy.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/autoscaling.get_autoscaling_policy.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/autoscaling.get_autoscaling_policy.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/autoscaling.put_autoscaling_policy.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/autoscaling.put_autoscaling_policy.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/autoscaling.put_autoscaling_policy.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/autoscaling.put_autoscaling_policy.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/bulk.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/bulk.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/bulk.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/bulk.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/cat.aliases.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/cat.aliases.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/cat.aliases.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/cat.aliases.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/cat.allocation.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/cat.allocation.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/cat.allocation.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/cat.allocation.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/cat.component_templates.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/cat.component_templates.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/cat.component_templates.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/cat.component_templates.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/cat.count.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/cat.count.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/cat.count.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/cat.count.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/cat.fielddata.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/cat.fielddata.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/cat.fielddata.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/cat.fielddata.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/cat.health.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/cat.health.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/cat.health.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/cat.health.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/cat.help.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/cat.help.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/cat.help.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/cat.help.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/cat.indices.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/cat.indices.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/cat.indices.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/cat.indices.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/cat.master.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/cat.master.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/cat.master.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/cat.master.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/cat.ml_data_frame_analytics.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/cat.ml_data_frame_analytics.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/cat.ml_data_frame_analytics.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/cat.ml_data_frame_analytics.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/cat.ml_datafeeds.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/cat.ml_datafeeds.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/cat.ml_datafeeds.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/cat.ml_datafeeds.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/cat.ml_jobs.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/cat.ml_jobs.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/cat.ml_jobs.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/cat.ml_jobs.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/cat.ml_trained_models.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/cat.ml_trained_models.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/cat.ml_trained_models.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/cat.ml_trained_models.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/cat.nodeattrs.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/cat.nodeattrs.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/cat.nodeattrs.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/cat.nodeattrs.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/cat.nodes.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/cat.nodes.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/cat.nodes.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/cat.nodes.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/cat.pending_tasks.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/cat.pending_tasks.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/cat.pending_tasks.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/cat.pending_tasks.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/cat.plugins.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/cat.plugins.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/cat.plugins.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/cat.plugins.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/cat.recovery.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/cat.recovery.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/cat.recovery.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/cat.recovery.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/cat.repositories.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/cat.repositories.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/cat.repositories.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/cat.repositories.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/cat.segments.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/cat.segments.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/cat.segments.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/cat.segments.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/cat.shards.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/cat.shards.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/cat.shards.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/cat.shards.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/cat.snapshots.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/cat.snapshots.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/cat.snapshots.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/cat.snapshots.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/cat.tasks.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/cat.tasks.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/cat.tasks.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/cat.tasks.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/cat.templates.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/cat.templates.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/cat.templates.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/cat.templates.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/cat.thread_pool.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/cat.thread_pool.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/cat.thread_pool.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/cat.thread_pool.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/cat.transforms.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/cat.transforms.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/cat.transforms.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/cat.transforms.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ccr.delete_auto_follow_pattern.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ccr.delete_auto_follow_pattern.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ccr.delete_auto_follow_pattern.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ccr.delete_auto_follow_pattern.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ccr.follow.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ccr.follow.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ccr.follow.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ccr.follow.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ccr.follow_info.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ccr.follow_info.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ccr.follow_info.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ccr.follow_info.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ccr.follow_stats.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ccr.follow_stats.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ccr.follow_stats.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ccr.follow_stats.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ccr.forget_follower.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ccr.forget_follower.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ccr.forget_follower.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ccr.forget_follower.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ccr.get_auto_follow_pattern.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ccr.get_auto_follow_pattern.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ccr.get_auto_follow_pattern.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ccr.get_auto_follow_pattern.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ccr.pause_auto_follow_pattern.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ccr.pause_auto_follow_pattern.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ccr.pause_auto_follow_pattern.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ccr.pause_auto_follow_pattern.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ccr.pause_follow.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ccr.pause_follow.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ccr.pause_follow.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ccr.pause_follow.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ccr.put_auto_follow_pattern.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ccr.put_auto_follow_pattern.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ccr.put_auto_follow_pattern.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ccr.put_auto_follow_pattern.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ccr.resume_auto_follow_pattern.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ccr.resume_auto_follow_pattern.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ccr.resume_auto_follow_pattern.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ccr.resume_auto_follow_pattern.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ccr.resume_follow.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ccr.resume_follow.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ccr.resume_follow.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ccr.resume_follow.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ccr.stats.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ccr.stats.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ccr.stats.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ccr.stats.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ccr.unfollow.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ccr.unfollow.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ccr.unfollow.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ccr.unfollow.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/clear_scroll.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/clear_scroll.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/clear_scroll.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/clear_scroll.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/close_point_in_time.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/close_point_in_time.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/close_point_in_time.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/close_point_in_time.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/cluster.allocation_explain.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/cluster.allocation_explain.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/cluster.allocation_explain.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/cluster.allocation_explain.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/cluster.delete_component_template.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/cluster.delete_component_template.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/cluster.delete_component_template.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/cluster.delete_component_template.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/cluster.delete_voting_config_exclusions.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/cluster.delete_voting_config_exclusions.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/cluster.delete_voting_config_exclusions.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/cluster.delete_voting_config_exclusions.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/cluster.exists_component_template.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/cluster.exists_component_template.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/cluster.exists_component_template.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/cluster.exists_component_template.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/cluster.get_component_template.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/cluster.get_component_template.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/cluster.get_component_template.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/cluster.get_component_template.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/cluster.get_settings.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/cluster.get_settings.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/cluster.get_settings.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/cluster.get_settings.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/cluster.health.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/cluster.health.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/cluster.health.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/cluster.health.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/cluster.info.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/cluster.info.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/cluster.info.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/cluster.info.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/cluster.pending_tasks.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/cluster.pending_tasks.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/cluster.pending_tasks.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/cluster.pending_tasks.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/cluster.post_voting_config_exclusions.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/cluster.post_voting_config_exclusions.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/cluster.post_voting_config_exclusions.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/cluster.post_voting_config_exclusions.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/cluster.put_component_template.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/cluster.put_component_template.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/cluster.put_component_template.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/cluster.put_component_template.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/cluster.put_settings.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/cluster.put_settings.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/cluster.put_settings.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/cluster.put_settings.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/cluster.remote_info.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/cluster.remote_info.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/cluster.remote_info.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/cluster.remote_info.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/cluster.reroute.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/cluster.reroute.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/cluster.reroute.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/cluster.reroute.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/cluster.state.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/cluster.state.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/cluster.state.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/cluster.state.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/cluster.stats.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/cluster.stats.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/cluster.stats.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/cluster.stats.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/count.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/count.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/count.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/count.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/create.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/create.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/create.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/create.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/dangling_indices.delete_dangling_index.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/dangling_indices.delete_dangling_index.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/dangling_indices.delete_dangling_index.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/dangling_indices.delete_dangling_index.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/dangling_indices.import_dangling_index.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/dangling_indices.import_dangling_index.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/dangling_indices.import_dangling_index.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/dangling_indices.import_dangling_index.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/dangling_indices.list_dangling_indices.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/dangling_indices.list_dangling_indices.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/dangling_indices.list_dangling_indices.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/dangling_indices.list_dangling_indices.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/data_frame_transform_deprecated.delete_transform.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/data_frame_transform_deprecated.delete_transform.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/data_frame_transform_deprecated.delete_transform.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/data_frame_transform_deprecated.delete_transform.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/data_frame_transform_deprecated.get_transform.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/data_frame_transform_deprecated.get_transform.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/data_frame_transform_deprecated.get_transform.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/data_frame_transform_deprecated.get_transform.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/data_frame_transform_deprecated.get_transform_stats.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/data_frame_transform_deprecated.get_transform_stats.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/data_frame_transform_deprecated.get_transform_stats.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/data_frame_transform_deprecated.get_transform_stats.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/data_frame_transform_deprecated.preview_transform.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/data_frame_transform_deprecated.preview_transform.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/data_frame_transform_deprecated.preview_transform.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/data_frame_transform_deprecated.preview_transform.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/data_frame_transform_deprecated.put_transform.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/data_frame_transform_deprecated.put_transform.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/data_frame_transform_deprecated.put_transform.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/data_frame_transform_deprecated.put_transform.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/data_frame_transform_deprecated.start_transform.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/data_frame_transform_deprecated.start_transform.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/data_frame_transform_deprecated.start_transform.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/data_frame_transform_deprecated.start_transform.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/data_frame_transform_deprecated.stop_transform.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/data_frame_transform_deprecated.stop_transform.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/data_frame_transform_deprecated.stop_transform.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/data_frame_transform_deprecated.stop_transform.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/data_frame_transform_deprecated.update_transform.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/data_frame_transform_deprecated.update_transform.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/data_frame_transform_deprecated.update_transform.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/data_frame_transform_deprecated.update_transform.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/delete.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/delete.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/delete.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/delete.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/delete_by_query.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/delete_by_query.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/delete_by_query.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/delete_by_query.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/delete_by_query_rethrottle.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/delete_by_query_rethrottle.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/delete_by_query_rethrottle.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/delete_by_query_rethrottle.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/delete_script.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/delete_script.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/delete_script.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/delete_script.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/enrich.delete_policy.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/enrich.delete_policy.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/enrich.delete_policy.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/enrich.delete_policy.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/enrich.execute_policy.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/enrich.execute_policy.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/enrich.execute_policy.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/enrich.execute_policy.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/enrich.get_policy.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/enrich.get_policy.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/enrich.get_policy.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/enrich.get_policy.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/enrich.put_policy.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/enrich.put_policy.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/enrich.put_policy.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/enrich.put_policy.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/enrich.stats.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/enrich.stats.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/enrich.stats.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/enrich.stats.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/eql.delete.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/eql.delete.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/eql.delete.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/eql.delete.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/eql.get.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/eql.get.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/eql.get.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/eql.get.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/eql.get_status.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/eql.get_status.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/eql.get_status.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/eql.get_status.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/eql.search.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/eql.search.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/eql.search.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/eql.search.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/exists.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/exists.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/exists.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/exists.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/exists_source.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/exists_source.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/exists_source.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/exists_source.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/explain.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/explain.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/explain.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/explain.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/features.get_features.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/features.get_features.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/features.get_features.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/features.get_features.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/features.reset_features.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/features.reset_features.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/features.reset_features.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/features.reset_features.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/field_caps.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/field_caps.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/field_caps.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/field_caps.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/fleet.global_checkpoints.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/fleet.global_checkpoints.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/fleet.global_checkpoints.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/fleet.global_checkpoints.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/fleet.msearch.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/fleet.msearch.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/fleet.msearch.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/fleet.msearch.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/fleet.search.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/fleet.search.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/fleet.search.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/fleet.search.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/get.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/get.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/get.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/get.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/get_script.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/get_script.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/get_script.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/get_script.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/get_script_context.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/get_script_context.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/get_script_context.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/get_script_context.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/get_script_languages.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/get_script_languages.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/get_script_languages.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/get_script_languages.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/get_source.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/get_source.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/get_source.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/get_source.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/graph.explore.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/graph.explore.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/graph.explore.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/graph.explore.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/health_report.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/health_report.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/health_report.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/health_report.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ilm.delete_lifecycle.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ilm.delete_lifecycle.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ilm.delete_lifecycle.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ilm.delete_lifecycle.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ilm.explain_lifecycle.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ilm.explain_lifecycle.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ilm.explain_lifecycle.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ilm.explain_lifecycle.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ilm.get_lifecycle.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ilm.get_lifecycle.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ilm.get_lifecycle.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ilm.get_lifecycle.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ilm.get_status.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ilm.get_status.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ilm.get_status.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ilm.get_status.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ilm.migrate_to_data_tiers.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ilm.migrate_to_data_tiers.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ilm.migrate_to_data_tiers.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ilm.migrate_to_data_tiers.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ilm.move_to_step.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ilm.move_to_step.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ilm.move_to_step.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ilm.move_to_step.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ilm.put_lifecycle.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ilm.put_lifecycle.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ilm.put_lifecycle.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ilm.put_lifecycle.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ilm.remove_policy.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ilm.remove_policy.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ilm.remove_policy.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ilm.remove_policy.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ilm.retry.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ilm.retry.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ilm.retry.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ilm.retry.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ilm.set_policy.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ilm.set_policy.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ilm.set_policy.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ilm.set_policy.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ilm.start.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ilm.start.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ilm.start.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ilm.start.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ilm.stop.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ilm.stop.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ilm.stop.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ilm.stop.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/index.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/index.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/index.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/index.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.add_block.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.add_block.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/indices.add_block.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.add_block.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.analyze.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.analyze.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/indices.analyze.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.analyze.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.clear_cache.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.clear_cache.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/indices.clear_cache.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.clear_cache.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.clone.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.clone.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/indices.clone.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.clone.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.close.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.close.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/indices.close.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.close.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.create.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.create.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/indices.create.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.create.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.create_data_stream.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.create_data_stream.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/indices.create_data_stream.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.create_data_stream.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.data_streams_stats.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.data_streams_stats.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/indices.data_streams_stats.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.data_streams_stats.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.delete.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.delete.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/indices.delete.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.delete.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.delete_alias.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.delete_alias.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/indices.delete_alias.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.delete_alias.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.delete_data_lifecycle.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.delete_data_lifecycle.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/indices.delete_data_lifecycle.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.delete_data_lifecycle.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.delete_data_stream.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.delete_data_stream.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/indices.delete_data_stream.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.delete_data_stream.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.delete_index_template.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.delete_index_template.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/indices.delete_index_template.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.delete_index_template.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.delete_template.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.delete_template.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/indices.delete_template.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.delete_template.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.disk_usage.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.disk_usage.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/indices.disk_usage.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.disk_usage.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.downsample.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.downsample.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/indices.downsample.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.downsample.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.exists.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.exists.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/indices.exists.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.exists.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.exists_alias.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.exists_alias.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/indices.exists_alias.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.exists_alias.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.exists_index_template.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.exists_index_template.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/indices.exists_index_template.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.exists_index_template.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.exists_template.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.exists_template.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/indices.exists_template.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.exists_template.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.exists_type.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.exists_type.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/indices.exists_type.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.exists_type.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.explain_data_lifecycle.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.explain_data_lifecycle.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/indices.explain_data_lifecycle.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.explain_data_lifecycle.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.field_usage_stats.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.field_usage_stats.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/indices.field_usage_stats.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.field_usage_stats.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.flush.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.flush.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/indices.flush.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.flush.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.flush_synced.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.flush_synced.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/indices.flush_synced.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.flush_synced.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.forcemerge.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.forcemerge.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/indices.forcemerge.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.forcemerge.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.freeze.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.freeze.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/indices.freeze.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.freeze.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.get.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.get.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/indices.get.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.get.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.get_alias.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.get_alias.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/indices.get_alias.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.get_alias.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.get_data_lifecycle.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.get_data_lifecycle.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/indices.get_data_lifecycle.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.get_data_lifecycle.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.get_data_stream.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.get_data_stream.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/indices.get_data_stream.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.get_data_stream.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.get_field_mapping.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.get_field_mapping.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/indices.get_field_mapping.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.get_field_mapping.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.get_index_template.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.get_index_template.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/indices.get_index_template.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.get_index_template.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.get_mapping.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.get_mapping.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/indices.get_mapping.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.get_mapping.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.get_settings.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.get_settings.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/indices.get_settings.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.get_settings.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.get_template.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.get_template.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/indices.get_template.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.get_template.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.get_upgrade.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.get_upgrade.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/indices.get_upgrade.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.get_upgrade.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.migrate_to_data_stream.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.migrate_to_data_stream.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/indices.migrate_to_data_stream.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.migrate_to_data_stream.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.modify_data_stream.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.modify_data_stream.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/indices.modify_data_stream.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.modify_data_stream.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.open.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.open.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/indices.open.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.open.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.promote_data_stream.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.promote_data_stream.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/indices.promote_data_stream.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.promote_data_stream.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.put_alias.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.put_alias.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/indices.put_alias.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.put_alias.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.put_data_lifecycle.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.put_data_lifecycle.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/indices.put_data_lifecycle.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.put_data_lifecycle.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.put_index_template.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.put_index_template.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/indices.put_index_template.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.put_index_template.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.put_mapping.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.put_mapping.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/indices.put_mapping.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.put_mapping.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.put_settings.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.put_settings.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/indices.put_settings.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.put_settings.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.put_template.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.put_template.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/indices.put_template.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.put_template.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.recovery.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.recovery.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/indices.recovery.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.recovery.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.refresh.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.refresh.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/indices.refresh.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.refresh.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.reload_search_analyzers.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.reload_search_analyzers.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/indices.reload_search_analyzers.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.reload_search_analyzers.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.resolve_index.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.resolve_index.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/indices.resolve_index.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.resolve_index.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.rollover.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.rollover.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/indices.rollover.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.rollover.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.segments.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.segments.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/indices.segments.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.segments.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.shard_stores.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.shard_stores.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/indices.shard_stores.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.shard_stores.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.shrink.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.shrink.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/indices.shrink.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.shrink.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.simulate_index_template.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.simulate_index_template.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/indices.simulate_index_template.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.simulate_index_template.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.simulate_template.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.simulate_template.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/indices.simulate_template.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.simulate_template.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.split.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.split.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/indices.split.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.split.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.stats.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.stats.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/indices.stats.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.stats.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.unfreeze.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.unfreeze.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/indices.unfreeze.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.unfreeze.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.update_aliases.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.update_aliases.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/indices.update_aliases.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.update_aliases.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.upgrade.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.upgrade.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/indices.upgrade.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.upgrade.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/indices.validate_query.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.validate_query.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/indices.validate_query.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/indices.validate_query.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/info.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/info.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/info.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/info.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ingest.delete_pipeline.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ingest.delete_pipeline.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ingest.delete_pipeline.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ingest.delete_pipeline.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ingest.geo_ip_stats.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ingest.geo_ip_stats.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ingest.geo_ip_stats.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ingest.geo_ip_stats.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ingest.get_pipeline.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ingest.get_pipeline.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ingest.get_pipeline.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ingest.get_pipeline.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ingest.processor_grok.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ingest.processor_grok.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ingest.processor_grok.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ingest.processor_grok.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ingest.put_pipeline.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ingest.put_pipeline.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ingest.put_pipeline.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ingest.put_pipeline.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ingest.simulate.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ingest.simulate.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ingest.simulate.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ingest.simulate.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/knn_search.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/knn_search.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/knn_search.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/knn_search.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/license.delete.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/license.delete.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/license.delete.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/license.delete.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/license.get.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/license.get.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/license.get.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/license.get.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/license.get_basic_status.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/license.get_basic_status.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/license.get_basic_status.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/license.get_basic_status.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/license.get_trial_status.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/license.get_trial_status.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/license.get_trial_status.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/license.get_trial_status.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/license.post.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/license.post.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/license.post.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/license.post.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/license.post_start_basic.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/license.post_start_basic.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/license.post_start_basic.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/license.post_start_basic.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/license.post_start_trial.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/license.post_start_trial.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/license.post_start_trial.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/license.post_start_trial.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/logstash.delete_pipeline.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/logstash.delete_pipeline.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/logstash.delete_pipeline.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/logstash.delete_pipeline.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/logstash.get_pipeline.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/logstash.get_pipeline.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/logstash.get_pipeline.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/logstash.get_pipeline.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/logstash.put_pipeline.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/logstash.put_pipeline.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/logstash.put_pipeline.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/logstash.put_pipeline.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/mget.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/mget.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/mget.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/mget.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/migration.deprecations.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/migration.deprecations.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/migration.deprecations.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/migration.deprecations.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/migration.get_assistance.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/migration.get_assistance.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/migration.get_assistance.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/migration.get_assistance.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/migration.get_feature_upgrade_status.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/migration.get_feature_upgrade_status.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/migration.get_feature_upgrade_status.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/migration.get_feature_upgrade_status.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/migration.post_feature_upgrade.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/migration.post_feature_upgrade.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/migration.post_feature_upgrade.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/migration.post_feature_upgrade.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/migration.upgrade.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/migration.upgrade.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/migration.upgrade.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/migration.upgrade.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ml.clear_trained_model_deployment_cache.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.clear_trained_model_deployment_cache.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ml.clear_trained_model_deployment_cache.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.clear_trained_model_deployment_cache.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ml.close_job.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.close_job.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ml.close_job.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.close_job.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ml.delete_calendar.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.delete_calendar.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ml.delete_calendar.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.delete_calendar.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ml.delete_calendar_event.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.delete_calendar_event.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ml.delete_calendar_event.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.delete_calendar_event.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ml.delete_calendar_job.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.delete_calendar_job.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ml.delete_calendar_job.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.delete_calendar_job.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ml.delete_data_frame_analytics.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.delete_data_frame_analytics.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ml.delete_data_frame_analytics.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.delete_data_frame_analytics.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ml.delete_datafeed.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.delete_datafeed.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ml.delete_datafeed.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.delete_datafeed.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ml.delete_expired_data.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.delete_expired_data.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ml.delete_expired_data.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.delete_expired_data.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ml.delete_filter.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.delete_filter.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ml.delete_filter.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.delete_filter.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ml.delete_forecast.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.delete_forecast.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ml.delete_forecast.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.delete_forecast.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ml.delete_job.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.delete_job.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ml.delete_job.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.delete_job.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ml.delete_model_snapshot.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.delete_model_snapshot.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ml.delete_model_snapshot.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.delete_model_snapshot.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ml.delete_trained_model.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.delete_trained_model.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ml.delete_trained_model.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.delete_trained_model.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ml.delete_trained_model_alias.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.delete_trained_model_alias.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ml.delete_trained_model_alias.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.delete_trained_model_alias.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ml.estimate_model_memory.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.estimate_model_memory.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ml.estimate_model_memory.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.estimate_model_memory.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ml.evaluate_data_frame.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.evaluate_data_frame.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ml.evaluate_data_frame.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.evaluate_data_frame.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ml.explain_data_frame_analytics.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.explain_data_frame_analytics.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ml.explain_data_frame_analytics.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.explain_data_frame_analytics.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ml.find_file_structure.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.find_file_structure.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ml.find_file_structure.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.find_file_structure.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ml.flush_job.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.flush_job.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ml.flush_job.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.flush_job.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ml.forecast.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.forecast.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ml.forecast.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.forecast.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ml.get_buckets.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.get_buckets.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ml.get_buckets.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.get_buckets.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ml.get_calendar_events.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.get_calendar_events.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ml.get_calendar_events.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.get_calendar_events.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ml.get_calendars.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.get_calendars.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ml.get_calendars.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.get_calendars.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ml.get_categories.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.get_categories.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ml.get_categories.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.get_categories.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ml.get_data_frame_analytics.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.get_data_frame_analytics.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ml.get_data_frame_analytics.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.get_data_frame_analytics.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ml.get_data_frame_analytics_stats.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.get_data_frame_analytics_stats.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ml.get_data_frame_analytics_stats.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.get_data_frame_analytics_stats.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ml.get_datafeed_stats.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.get_datafeed_stats.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ml.get_datafeed_stats.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.get_datafeed_stats.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ml.get_datafeeds.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.get_datafeeds.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ml.get_datafeeds.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.get_datafeeds.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ml.get_filters.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.get_filters.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ml.get_filters.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.get_filters.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ml.get_influencers.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.get_influencers.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ml.get_influencers.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.get_influencers.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ml.get_job_stats.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.get_job_stats.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ml.get_job_stats.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.get_job_stats.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ml.get_jobs.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.get_jobs.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ml.get_jobs.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.get_jobs.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ml.get_memory_stats.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.get_memory_stats.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ml.get_memory_stats.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.get_memory_stats.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ml.get_model_snapshot_upgrade_stats.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.get_model_snapshot_upgrade_stats.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ml.get_model_snapshot_upgrade_stats.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.get_model_snapshot_upgrade_stats.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ml.get_model_snapshots.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.get_model_snapshots.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ml.get_model_snapshots.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.get_model_snapshots.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ml.get_overall_buckets.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.get_overall_buckets.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ml.get_overall_buckets.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.get_overall_buckets.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ml.get_records.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.get_records.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ml.get_records.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.get_records.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ml.get_trained_models.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.get_trained_models.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ml.get_trained_models.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.get_trained_models.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ml.get_trained_models_stats.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.get_trained_models_stats.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ml.get_trained_models_stats.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.get_trained_models_stats.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ml.infer_trained_model.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.infer_trained_model.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ml.infer_trained_model.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.infer_trained_model.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ml.info.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.info.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ml.info.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.info.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ml.open_job.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.open_job.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ml.open_job.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.open_job.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ml.post_calendar_events.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.post_calendar_events.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ml.post_calendar_events.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.post_calendar_events.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ml.post_data.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.post_data.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ml.post_data.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.post_data.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ml.preview_data_frame_analytics.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.preview_data_frame_analytics.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ml.preview_data_frame_analytics.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.preview_data_frame_analytics.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ml.preview_datafeed.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.preview_datafeed.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ml.preview_datafeed.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.preview_datafeed.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ml.put_calendar.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.put_calendar.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ml.put_calendar.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.put_calendar.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ml.put_calendar_job.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.put_calendar_job.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ml.put_calendar_job.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.put_calendar_job.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ml.put_data_frame_analytics.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.put_data_frame_analytics.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ml.put_data_frame_analytics.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.put_data_frame_analytics.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ml.put_datafeed.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.put_datafeed.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ml.put_datafeed.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.put_datafeed.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ml.put_filter.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.put_filter.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ml.put_filter.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.put_filter.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ml.put_job.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.put_job.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ml.put_job.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.put_job.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ml.put_trained_model.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.put_trained_model.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ml.put_trained_model.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.put_trained_model.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ml.put_trained_model_alias.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.put_trained_model_alias.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ml.put_trained_model_alias.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.put_trained_model_alias.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ml.put_trained_model_definition_part.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.put_trained_model_definition_part.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ml.put_trained_model_definition_part.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.put_trained_model_definition_part.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ml.put_trained_model_vocabulary.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.put_trained_model_vocabulary.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ml.put_trained_model_vocabulary.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.put_trained_model_vocabulary.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ml.reset_job.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.reset_job.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ml.reset_job.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.reset_job.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ml.revert_model_snapshot.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.revert_model_snapshot.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ml.revert_model_snapshot.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.revert_model_snapshot.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ml.set_upgrade_mode.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.set_upgrade_mode.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ml.set_upgrade_mode.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.set_upgrade_mode.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ml.start_data_frame_analytics.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.start_data_frame_analytics.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ml.start_data_frame_analytics.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.start_data_frame_analytics.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ml.start_datafeed.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.start_datafeed.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ml.start_datafeed.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.start_datafeed.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ml.start_trained_model_deployment.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.start_trained_model_deployment.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ml.start_trained_model_deployment.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.start_trained_model_deployment.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ml.stop_data_frame_analytics.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.stop_data_frame_analytics.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ml.stop_data_frame_analytics.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.stop_data_frame_analytics.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ml.stop_datafeed.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.stop_datafeed.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ml.stop_datafeed.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.stop_datafeed.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ml.stop_trained_model_deployment.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.stop_trained_model_deployment.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ml.stop_trained_model_deployment.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.stop_trained_model_deployment.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ml.update_data_frame_analytics.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.update_data_frame_analytics.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ml.update_data_frame_analytics.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.update_data_frame_analytics.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ml.update_datafeed.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.update_datafeed.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ml.update_datafeed.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.update_datafeed.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ml.update_filter.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.update_filter.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ml.update_filter.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.update_filter.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ml.update_job.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.update_job.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ml.update_job.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.update_job.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ml.update_model_snapshot.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.update_model_snapshot.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ml.update_model_snapshot.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.update_model_snapshot.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ml.update_trained_model_deployment.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.update_trained_model_deployment.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ml.update_trained_model_deployment.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.update_trained_model_deployment.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ml.upgrade.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.upgrade.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ml.upgrade.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.upgrade.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ml.upgrade_job_snapshot.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.upgrade_job_snapshot.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ml.upgrade_job_snapshot.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.upgrade_job_snapshot.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ml.validate.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.validate.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ml.validate.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.validate.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ml.validate_detector.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.validate_detector.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ml.validate_detector.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ml.validate_detector.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/monitoring.bulk.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/monitoring.bulk.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/monitoring.bulk.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/monitoring.bulk.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/msearch.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/msearch.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/msearch.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/msearch.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/msearch_template.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/msearch_template.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/msearch_template.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/msearch_template.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/mtermvectors.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/mtermvectors.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/mtermvectors.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/mtermvectors.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/nodes.clear_repositories_metering_archive.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/nodes.clear_repositories_metering_archive.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/nodes.clear_repositories_metering_archive.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/nodes.clear_repositories_metering_archive.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/nodes.get_repositories_metering_info.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/nodes.get_repositories_metering_info.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/nodes.get_repositories_metering_info.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/nodes.get_repositories_metering_info.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/nodes.hot_threads.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/nodes.hot_threads.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/nodes.hot_threads.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/nodes.hot_threads.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/nodes.info.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/nodes.info.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/nodes.info.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/nodes.info.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/nodes.reload_secure_settings.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/nodes.reload_secure_settings.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/nodes.reload_secure_settings.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/nodes.reload_secure_settings.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/nodes.stats.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/nodes.stats.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/nodes.stats.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/nodes.stats.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/nodes.usage.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/nodes.usage.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/nodes.usage.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/nodes.usage.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/open_point_in_time.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/open_point_in_time.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/open_point_in_time.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/open_point_in_time.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ping.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ping.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ping.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ping.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/put_script.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/put_script.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/put_script.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/put_script.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/rank_eval.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/rank_eval.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/rank_eval.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/rank_eval.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/reindex.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/reindex.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/reindex.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/reindex.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/reindex_rethrottle.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/reindex_rethrottle.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/reindex_rethrottle.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/reindex_rethrottle.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/render_search_template.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/render_search_template.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/render_search_template.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/render_search_template.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/rollup.delete_job.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/rollup.delete_job.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/rollup.delete_job.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/rollup.delete_job.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/rollup.get_jobs.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/rollup.get_jobs.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/rollup.get_jobs.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/rollup.get_jobs.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/rollup.get_rollup_caps.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/rollup.get_rollup_caps.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/rollup.get_rollup_caps.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/rollup.get_rollup_caps.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/rollup.get_rollup_index_caps.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/rollup.get_rollup_index_caps.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/rollup.get_rollup_index_caps.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/rollup.get_rollup_index_caps.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/rollup.put_job.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/rollup.put_job.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/rollup.put_job.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/rollup.put_job.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/rollup.rollup.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/rollup.rollup.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/rollup.rollup.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/rollup.rollup.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/rollup.rollup_search.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/rollup.rollup_search.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/rollup.rollup_search.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/rollup.rollup_search.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/rollup.start_job.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/rollup.start_job.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/rollup.start_job.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/rollup.start_job.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/rollup.stop_job.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/rollup.stop_job.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/rollup.stop_job.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/rollup.stop_job.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/scripts_painless_execute.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/scripts_painless_execute.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/scripts_painless_execute.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/scripts_painless_execute.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/scroll.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/scroll.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/scroll.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/scroll.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/search.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/search.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/search.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/search.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/search_application.delete.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/search_application.delete.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/search_application.delete.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/search_application.delete.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/search_application.delete_behavioral_analytics.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/search_application.delete_behavioral_analytics.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/search_application.delete_behavioral_analytics.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/search_application.delete_behavioral_analytics.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/search_application.get.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/search_application.get.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/search_application.get.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/search_application.get.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/search_application.get_behavioral_analytics.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/search_application.get_behavioral_analytics.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/search_application.get_behavioral_analytics.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/search_application.get_behavioral_analytics.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/search_application.list.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/search_application.list.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/search_application.list.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/search_application.list.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/search_application.post_behavioral_analytics_event.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/search_application.post_behavioral_analytics_event.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/search_application.post_behavioral_analytics_event.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/search_application.post_behavioral_analytics_event.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/search_application.put.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/search_application.put.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/search_application.put.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/search_application.put.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/search_application.put_behavioral_analytics.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/search_application.put_behavioral_analytics.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/search_application.put_behavioral_analytics.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/search_application.put_behavioral_analytics.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/search_application.render_query.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/search_application.render_query.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/search_application.render_query.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/search_application.render_query.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/search_application.search.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/search_application.search.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/search_application.search.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/search_application.search.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/search_mvt.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/search_mvt.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/search_mvt.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/search_mvt.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/search_shards.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/search_shards.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/search_shards.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/search_shards.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/search_template.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/search_template.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/search_template.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/search_template.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/searchable_snapshots.cache_stats.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/searchable_snapshots.cache_stats.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/searchable_snapshots.cache_stats.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/searchable_snapshots.cache_stats.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/searchable_snapshots.clear_cache.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/searchable_snapshots.clear_cache.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/searchable_snapshots.clear_cache.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/searchable_snapshots.clear_cache.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/searchable_snapshots.mount.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/searchable_snapshots.mount.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/searchable_snapshots.mount.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/searchable_snapshots.mount.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/searchable_snapshots.stats.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/searchable_snapshots.stats.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/searchable_snapshots.stats.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/searchable_snapshots.stats.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/security.activate_user_profile.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/security.activate_user_profile.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/security.activate_user_profile.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/security.activate_user_profile.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/security.authenticate.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/security.authenticate.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/security.authenticate.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/security.authenticate.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/security.bulk_update_api_keys.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/security.bulk_update_api_keys.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/security.bulk_update_api_keys.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/security.bulk_update_api_keys.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/security.change_password.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/security.change_password.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/security.change_password.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/security.change_password.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/security.clear_api_key_cache.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/security.clear_api_key_cache.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/security.clear_api_key_cache.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/security.clear_api_key_cache.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/security.clear_cached_privileges.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/security.clear_cached_privileges.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/security.clear_cached_privileges.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/security.clear_cached_privileges.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/security.clear_cached_realms.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/security.clear_cached_realms.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/security.clear_cached_realms.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/security.clear_cached_realms.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/security.clear_cached_roles.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/security.clear_cached_roles.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/security.clear_cached_roles.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/security.clear_cached_roles.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/security.clear_cached_service_tokens.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/security.clear_cached_service_tokens.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/security.clear_cached_service_tokens.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/security.clear_cached_service_tokens.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/security.create_api_key.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/security.create_api_key.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/security.create_api_key.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/security.create_api_key.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/security.create_cross_cluster_api_key.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/security.create_cross_cluster_api_key.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/security.create_cross_cluster_api_key.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/security.create_cross_cluster_api_key.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/security.create_service_token.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/security.create_service_token.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/security.create_service_token.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/security.create_service_token.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/security.delete_privileges.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/security.delete_privileges.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/security.delete_privileges.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/security.delete_privileges.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/security.delete_role.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/security.delete_role.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/security.delete_role.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/security.delete_role.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/security.delete_role_mapping.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/security.delete_role_mapping.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/security.delete_role_mapping.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/security.delete_role_mapping.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/security.delete_service_token.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/security.delete_service_token.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/security.delete_service_token.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/security.delete_service_token.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/security.delete_user.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/security.delete_user.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/security.delete_user.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/security.delete_user.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/security.disable_user.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/security.disable_user.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/security.disable_user.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/security.disable_user.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/security.disable_user_profile.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/security.disable_user_profile.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/security.disable_user_profile.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/security.disable_user_profile.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/security.enable_user.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/security.enable_user.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/security.enable_user.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/security.enable_user.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/security.enable_user_profile.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/security.enable_user_profile.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/security.enable_user_profile.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/security.enable_user_profile.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/security.enroll_kibana.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/security.enroll_kibana.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/security.enroll_kibana.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/security.enroll_kibana.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/security.enroll_node.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/security.enroll_node.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/security.enroll_node.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/security.enroll_node.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/security.get_api_key.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/security.get_api_key.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/security.get_api_key.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/security.get_api_key.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/security.get_builtin_privileges.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/security.get_builtin_privileges.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/security.get_builtin_privileges.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/security.get_builtin_privileges.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/security.get_privileges.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/security.get_privileges.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/security.get_privileges.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/security.get_privileges.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/security.get_role.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/security.get_role.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/security.get_role.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/security.get_role.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/security.get_role_mapping.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/security.get_role_mapping.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/security.get_role_mapping.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/security.get_role_mapping.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/security.get_service_accounts.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/security.get_service_accounts.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/security.get_service_accounts.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/security.get_service_accounts.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/security.get_service_credentials.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/security.get_service_credentials.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/security.get_service_credentials.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/security.get_service_credentials.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/security.get_token.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/security.get_token.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/security.get_token.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/security.get_token.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/security.get_user.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/security.get_user.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/security.get_user.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/security.get_user.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/security.get_user_privileges.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/security.get_user_privileges.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/security.get_user_privileges.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/security.get_user_privileges.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/security.get_user_profile.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/security.get_user_profile.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/security.get_user_profile.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/security.get_user_profile.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/security.grant_api_key.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/security.grant_api_key.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/security.grant_api_key.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/security.grant_api_key.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/security.has_privileges.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/security.has_privileges.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/security.has_privileges.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/security.has_privileges.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/security.has_privileges_user_profile.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/security.has_privileges_user_profile.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/security.has_privileges_user_profile.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/security.has_privileges_user_profile.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/security.invalidate_api_key.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/security.invalidate_api_key.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/security.invalidate_api_key.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/security.invalidate_api_key.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/security.invalidate_token.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/security.invalidate_token.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/security.invalidate_token.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/security.invalidate_token.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/security.oidc_authenticate.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/security.oidc_authenticate.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/security.oidc_authenticate.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/security.oidc_authenticate.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/security.oidc_logout.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/security.oidc_logout.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/security.oidc_logout.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/security.oidc_logout.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/security.oidc_prepare_authentication.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/security.oidc_prepare_authentication.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/security.oidc_prepare_authentication.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/security.oidc_prepare_authentication.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/security.put_privileges.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/security.put_privileges.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/security.put_privileges.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/security.put_privileges.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/security.put_role.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/security.put_role.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/security.put_role.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/security.put_role.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/security.put_role_mapping.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/security.put_role_mapping.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/security.put_role_mapping.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/security.put_role_mapping.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/security.put_user.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/security.put_user.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/security.put_user.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/security.put_user.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/security.query_api_keys.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/security.query_api_keys.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/security.query_api_keys.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/security.query_api_keys.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/security.saml_authenticate.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/security.saml_authenticate.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/security.saml_authenticate.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/security.saml_authenticate.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/security.saml_complete_logout.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/security.saml_complete_logout.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/security.saml_complete_logout.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/security.saml_complete_logout.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/security.saml_invalidate.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/security.saml_invalidate.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/security.saml_invalidate.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/security.saml_invalidate.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/security.saml_logout.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/security.saml_logout.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/security.saml_logout.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/security.saml_logout.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/security.saml_prepare_authentication.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/security.saml_prepare_authentication.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/security.saml_prepare_authentication.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/security.saml_prepare_authentication.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/security.saml_service_provider_metadata.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/security.saml_service_provider_metadata.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/security.saml_service_provider_metadata.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/security.saml_service_provider_metadata.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/security.suggest_user_profiles.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/security.suggest_user_profiles.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/security.suggest_user_profiles.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/security.suggest_user_profiles.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/security.update_api_key.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/security.update_api_key.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/security.update_api_key.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/security.update_api_key.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/security.update_cross_cluster_api_key.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/security.update_cross_cluster_api_key.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/security.update_cross_cluster_api_key.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/security.update_cross_cluster_api_key.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/security.update_user_profile_data.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/security.update_user_profile_data.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/security.update_user_profile_data.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/security.update_user_profile_data.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/shutdown.delete_node.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/shutdown.delete_node.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/shutdown.delete_node.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/shutdown.delete_node.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/shutdown.get_node.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/shutdown.get_node.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/shutdown.get_node.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/shutdown.get_node.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/shutdown.put_node.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/shutdown.put_node.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/shutdown.put_node.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/shutdown.put_node.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/slm.delete_lifecycle.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/slm.delete_lifecycle.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/slm.delete_lifecycle.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/slm.delete_lifecycle.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/slm.execute_lifecycle.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/slm.execute_lifecycle.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/slm.execute_lifecycle.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/slm.execute_lifecycle.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/slm.execute_retention.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/slm.execute_retention.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/slm.execute_retention.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/slm.execute_retention.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/slm.get_lifecycle.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/slm.get_lifecycle.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/slm.get_lifecycle.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/slm.get_lifecycle.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/slm.get_stats.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/slm.get_stats.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/slm.get_stats.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/slm.get_stats.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/slm.get_status.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/slm.get_status.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/slm.get_status.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/slm.get_status.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/slm.put_lifecycle.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/slm.put_lifecycle.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/slm.put_lifecycle.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/slm.put_lifecycle.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/slm.start.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/slm.start.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/slm.start.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/slm.start.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/slm.stop.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/slm.stop.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/slm.stop.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/slm.stop.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/snapshot.cleanup_repository.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/snapshot.cleanup_repository.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/snapshot.cleanup_repository.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/snapshot.cleanup_repository.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/snapshot.clone.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/snapshot.clone.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/snapshot.clone.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/snapshot.clone.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/snapshot.create.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/snapshot.create.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/snapshot.create.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/snapshot.create.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/snapshot.create_repository.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/snapshot.create_repository.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/snapshot.create_repository.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/snapshot.create_repository.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/snapshot.delete.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/snapshot.delete.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/snapshot.delete.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/snapshot.delete.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/snapshot.delete_repository.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/snapshot.delete_repository.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/snapshot.delete_repository.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/snapshot.delete_repository.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/snapshot.get.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/snapshot.get.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/snapshot.get.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/snapshot.get.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/snapshot.get_repository.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/snapshot.get_repository.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/snapshot.get_repository.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/snapshot.get_repository.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/snapshot.repository_analyze.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/snapshot.repository_analyze.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/snapshot.repository_analyze.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/snapshot.repository_analyze.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/snapshot.restore.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/snapshot.restore.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/snapshot.restore.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/snapshot.restore.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/snapshot.status.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/snapshot.status.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/snapshot.status.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/snapshot.status.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/snapshot.verify_repository.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/snapshot.verify_repository.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/snapshot.verify_repository.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/snapshot.verify_repository.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/sql.clear_cursor.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/sql.clear_cursor.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/sql.clear_cursor.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/sql.clear_cursor.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/sql.delete_async.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/sql.delete_async.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/sql.delete_async.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/sql.delete_async.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/sql.get_async.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/sql.get_async.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/sql.get_async.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/sql.get_async.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/sql.get_async_status.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/sql.get_async_status.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/sql.get_async_status.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/sql.get_async_status.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/sql.query.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/sql.query.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/sql.query.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/sql.query.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/sql.translate.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/sql.translate.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/sql.translate.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/sql.translate.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/ssl.certificates.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/ssl.certificates.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/ssl.certificates.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/ssl.certificates.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/tasks.cancel.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/tasks.cancel.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/tasks.cancel.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/tasks.cancel.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/tasks.get.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/tasks.get.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/tasks.get.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/tasks.get.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/tasks.list.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/tasks.list.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/tasks.list.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/tasks.list.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/terms_enum.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/terms_enum.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/terms_enum.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/terms_enum.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/termvectors.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/termvectors.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/termvectors.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/termvectors.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/text_structure.find_structure.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/text_structure.find_structure.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/text_structure.find_structure.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/text_structure.find_structure.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/transform.cat_transform.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/transform.cat_transform.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/transform.cat_transform.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/transform.cat_transform.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/transform.delete_transform.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/transform.delete_transform.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/transform.delete_transform.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/transform.delete_transform.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/transform.get_transform.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/transform.get_transform.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/transform.get_transform.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/transform.get_transform.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/transform.get_transform_stats.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/transform.get_transform_stats.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/transform.get_transform_stats.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/transform.get_transform_stats.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/transform.preview_transform.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/transform.preview_transform.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/transform.preview_transform.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/transform.preview_transform.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/transform.put_transform.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/transform.put_transform.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/transform.put_transform.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/transform.put_transform.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/transform.reset_transform.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/transform.reset_transform.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/transform.reset_transform.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/transform.reset_transform.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/transform.schedule_now_transform.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/transform.schedule_now_transform.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/transform.schedule_now_transform.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/transform.schedule_now_transform.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/transform.start_transform.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/transform.start_transform.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/transform.start_transform.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/transform.start_transform.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/transform.stop_transform.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/transform.stop_transform.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/transform.stop_transform.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/transform.stop_transform.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/transform.update_transform.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/transform.update_transform.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/transform.update_transform.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/transform.update_transform.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/transform.upgrade_transforms.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/transform.upgrade_transforms.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/transform.upgrade_transforms.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/transform.upgrade_transforms.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/update.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/update.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/update.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/update.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/update_by_query.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/update_by_query.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/update_by_query.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/update_by_query.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/update_by_query_rethrottle.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/update_by_query_rethrottle.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/update_by_query_rethrottle.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/update_by_query_rethrottle.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/watcher.ack_watch.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/watcher.ack_watch.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/watcher.ack_watch.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/watcher.ack_watch.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/watcher.activate_watch.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/watcher.activate_watch.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/watcher.activate_watch.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/watcher.activate_watch.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/watcher.deactivate_watch.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/watcher.deactivate_watch.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/watcher.deactivate_watch.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/watcher.deactivate_watch.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/watcher.delete_watch.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/watcher.delete_watch.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/watcher.delete_watch.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/watcher.delete_watch.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/watcher.execute_watch.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/watcher.execute_watch.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/watcher.execute_watch.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/watcher.execute_watch.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/watcher.get_settings.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/watcher.get_settings.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/watcher.get_settings.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/watcher.get_settings.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/watcher.get_watch.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/watcher.get_watch.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/watcher.get_watch.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/watcher.get_watch.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/watcher.put_watch.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/watcher.put_watch.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/watcher.put_watch.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/watcher.put_watch.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/watcher.query_watches.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/watcher.query_watches.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/watcher.query_watches.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/watcher.query_watches.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/watcher.start.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/watcher.start.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/watcher.start.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/watcher.start.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/watcher.stats.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/watcher.stats.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/watcher.stats.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/watcher.stats.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/watcher.stop.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/watcher.stop.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/watcher.stop.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/watcher.stop.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/watcher.update_settings.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/watcher.update_settings.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/watcher.update_settings.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/watcher.update_settings.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/xpack.info.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/xpack.info.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/xpack.info.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/xpack.info.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/xpack.ssl.certificates.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/xpack.ssl.certificates.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/xpack.ssl.certificates.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/xpack.ssl.certificates.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/generated/xpack.usage.json b/src/plugins/console/server/lib/spec_definitions/json/endpoints/xpack.usage.json similarity index 100% rename from src/plugins/console/server/lib/spec_definitions/json/generated/xpack.usage.json rename to src/plugins/console/server/lib/spec_definitions/json/endpoints/xpack.usage.json diff --git a/src/plugins/console/server/lib/spec_definitions/json/globals/.empty b/src/plugins/console/server/lib/spec_definitions/json/globals/.empty new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/src/plugins/console/server/services/spec_definitions_service.ts b/src/plugins/console/server/services/spec_definitions_service.ts index 73ae5ec95a4bf..d2b2c72b75332 100644 --- a/src/plugins/console/server/services/spec_definitions_service.ts +++ b/src/plugins/console/server/services/spec_definitions_service.ts @@ -12,18 +12,15 @@ import { basename, join } from 'path'; import normalizePath from 'normalize-path'; import { readFileSync } from 'fs'; -import { AUTOCOMPLETE_DEFINITIONS_FOLDER } from '../../common/constants'; +import { + AUTOCOMPLETE_DEFINITIONS_FOLDER, + ENDPOINTS_SUBFOLDER, + GLOBALS_SUBFOLDER, + OVERRIDES_SUBFOLDER, +} from '../../common/constants'; import { jsSpecLoaders } from '../lib'; -interface EndpointDescription { - methods?: string[]; - patterns?: string | string[]; - url_params?: Record; - data_autocomplete_rules?: Record; - url_components?: Record; - priority?: number; - availability?: Record; -} +import type { EndpointDefinition, GlobalDefinition } from '../../common/types'; export interface SpecDefinitionsDependencies { endpointsAvailability: string; @@ -41,7 +38,7 @@ export class SpecDefinitionsService { this.globalRules[parentNode] = rules; } - public addEndpointDescription(endpoint: string, description: EndpointDescription = {}) { + public addEndpointDescription(endpoint: string, description: EndpointDefinition = {}) { let copiedDescription: { patterns?: string; url_params?: Record } = {}; if (this.endpoints[endpoint]) { copiedDescription = { ...this.endpoints[endpoint] }; @@ -96,16 +93,18 @@ export class SpecDefinitionsService { } } - private loadJSONSpecInDir(dirname: string) { + private loadEndpoints() { // we need to normalize paths otherwise they don't work on windows, see https://github.com/elastic/kibana/issues/151032 - const generatedFiles = globby.sync(normalizePath(join(dirname, 'generated', '*.json'))); - const overrideFiles = globby.sync(normalizePath(join(dirname, 'overrides', '*.json'))); + const generatedFiles = globby.sync( + normalizePath(join(AUTOCOMPLETE_DEFINITIONS_FOLDER, ENDPOINTS_SUBFOLDER, '*.json')) + ); + const overrideFiles = globby.sync( + normalizePath(join(AUTOCOMPLETE_DEFINITIONS_FOLDER, OVERRIDES_SUBFOLDER, '*.json')) + ); return generatedFiles.reduce((acc, file) => { const overrideFile = overrideFiles.find((f) => basename(f) === basename(file)); - const loadedSpec: Record = JSON.parse( - readFileSync(file, 'utf8') - ); + const loadedSpec: Record = JSON.parse(readFileSync(file, 'utf8')); if (overrideFile) { merge(loadedSpec, JSON.parse(readFileSync(overrideFile, 'utf8'))); } @@ -118,14 +117,25 @@ export class SpecDefinitionsService { } }); return acc; - }, {} as Record); + }, {} as Record); + } + + private loadGlobals() { + const globalsFiles = globby.sync( + normalizePath(join(AUTOCOMPLETE_DEFINITIONS_FOLDER, GLOBALS_SUBFOLDER, '*.json')) + ); + globalsFiles.forEach((globalFile) => { + const loadedGlobalDefinition: GlobalDefinition = JSON.parse(readFileSync(globalFile, 'utf8')); + const { name, params } = loadedGlobalDefinition; + this.addGlobalAutocompleteRules(name, params); + }); } private loadJsonSpec(endpointsAvailability: string) { - const result = this.loadJSONSpecInDir(AUTOCOMPLETE_DEFINITIONS_FOLDER); + const endpointsSpecs = this.loadEndpoints(); - Object.keys(result).forEach((endpoint) => { - const description = result[endpoint]; + Object.keys(endpointsSpecs).forEach((endpoint) => { + const description = endpointsSpecs[endpoint]; const addEndpoint = // If the 'availability' property doesn't exist, display the endpoint by default !description.availability || @@ -135,6 +145,8 @@ export class SpecDefinitionsService { this.addEndpointDescription(endpoint, description); } }); + + this.loadGlobals(); } private loadJSSpec() {