From 4db61fa91366b2c174099e102596cd50d54c78a9 Mon Sep 17 00:00:00 2001 From: Carlos Crespo Date: Fri, 21 Jun 2024 01:00:53 +0200 Subject: [PATCH 01/80] [APM] Add tests for service_map and critical_path endpoints to serverless integration tests suite (#186466) closes [186450](https://github.com/elastic/kibana/issues/186450) ## Summary Add tests for aggregate critical path and service map endpoints to serverless test suite --------- Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../api_integration/services/index.ts | 2 + .../api_integration/services/synthtrace.ts | 61 ++++++++++++ .../service_maps/service_maps.ts | 84 ++++++++++++++++ .../traces/critical_path.ts | 99 +++++++++++++++++++ .../test_suites/observability/index.ts | 2 + 5 files changed, 248 insertions(+) create mode 100644 x-pack/test_serverless/api_integration/services/synthtrace.ts create mode 100644 x-pack/test_serverless/api_integration/test_suites/observability/apm_api_integration/service_maps/service_maps.ts create mode 100644 x-pack/test_serverless/api_integration/test_suites/observability/apm_api_integration/traces/critical_path.ts diff --git a/x-pack/test_serverless/api_integration/services/index.ts b/x-pack/test_serverless/api_integration/services/index.ts index 844c9339cf8ac..69040d96218f3 100644 --- a/x-pack/test_serverless/api_integration/services/index.ts +++ b/x-pack/test_serverless/api_integration/services/index.ts @@ -14,6 +14,7 @@ import { SamlToolsProvider } from './saml_tools'; import { SvlCasesServiceProvider } from './svl_cases'; import { SloApiProvider } from './slo_api'; import { TransformProvider } from './transform'; +import { SynthtraceProvider } from './synthtrace'; export const services = { // deployment agnostic FTR services @@ -26,6 +27,7 @@ export const services = { svlCases: SvlCasesServiceProvider, sloApi: SloApiProvider, transform: TransformProvider, + synthtrace: SynthtraceProvider, }; export type InheritedFtrProviderContext = GenericFtrProviderContext; diff --git a/x-pack/test_serverless/api_integration/services/synthtrace.ts b/x-pack/test_serverless/api_integration/services/synthtrace.ts new file mode 100644 index 0000000000000..39c842237eb6b --- /dev/null +++ b/x-pack/test_serverless/api_integration/services/synthtrace.ts @@ -0,0 +1,61 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import { Client } from '@elastic/elasticsearch'; +import { + ApmSynthtraceEsClient, + ApmSynthtraceKibanaClient, + createLogger, + LogLevel, +} from '@kbn/apm-synthtrace'; +import url, { format, UrlObject } from 'url'; +import { FtrProviderContext } from '../ftr_provider_context'; + +async function getSynthtraceEsClient(client: Client, kibanaClient: ApmSynthtraceKibanaClient) { + const kibanaVersion = await kibanaClient.fetchLatestApmPackageVersion(); + await kibanaClient.installApmPackage(kibanaVersion); + + const esClient = new ApmSynthtraceEsClient({ + client, + logger: createLogger(LogLevel.info), + version: kibanaVersion, + refreshAfterIndex: true, + }); + + return esClient; +} + +function getSynthtraceKibanaClient(kibanaServerUrl: string) { + const kibanaServerUrlWithAuth = url + .format({ + ...url.parse(kibanaServerUrl), + }) + .slice(0, -1); + + const kibanaClient = new ApmSynthtraceKibanaClient({ + target: kibanaServerUrlWithAuth, + logger: createLogger(LogLevel.debug), + }); + + return kibanaClient; +} + +export function SynthtraceProvider({ getService }: FtrProviderContext) { + const es = getService('es'); + const config = getService('config'); + + const servers = config.get('servers'); + const kibanaServer = servers.kibana as UrlObject; + const kibanaServerUrl = format(kibanaServer); + const synthtraceKibanaClient = getSynthtraceKibanaClient(kibanaServerUrl); + + return { + createSynthtraceKibanaClient: getSynthtraceKibanaClient, + async createSynthtraceEsClient() { + return getSynthtraceEsClient(es, synthtraceKibanaClient); + }, + }; +} diff --git a/x-pack/test_serverless/api_integration/test_suites/observability/apm_api_integration/service_maps/service_maps.ts b/x-pack/test_serverless/api_integration/test_suites/observability/apm_api_integration/service_maps/service_maps.ts new file mode 100644 index 0000000000000..3b23d783c610c --- /dev/null +++ b/x-pack/test_serverless/api_integration/test_suites/observability/apm_api_integration/service_maps/service_maps.ts @@ -0,0 +1,84 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { ApmSynthtraceEsClient } from '@kbn/apm-synthtrace'; +import expect from 'expect'; +import { serviceMap, timerange } from '@kbn/apm-synthtrace-client'; +import { Readable } from 'stream'; +import type { InternalRequestHeader, RoleCredentials } from '../../../../../shared/services'; +import { APMFtrContextProvider } from '../common/services'; + +export default function ({ getService }: APMFtrContextProvider) { + const apmApiClient = getService('apmApiClient'); + const svlUserManager = getService('svlUserManager'); + const svlCommonApi = getService('svlCommonApi'); + const synthtrace = getService('synthtrace'); + + const start = new Date('2024-06-01T00:00:00.000Z').getTime(); + const end = new Date('2024-06-01T00:01:00.000Z').getTime(); + + describe('APM Service maps', () => { + let roleAuthc: RoleCredentials; + let internalReqHeader: InternalRequestHeader; + let synthtraceEsClient: ApmSynthtraceEsClient; + + before(async () => { + synthtraceEsClient = await synthtrace.createSynthtraceEsClient(); + + const events = timerange(start, end) + .interval('10s') + .rate(3) + .generator( + serviceMap({ + services: [ + { 'frontend-rum': 'rum-js' }, + { 'frontend-node': 'nodejs' }, + { advertService: 'java' }, + ], + definePaths([rum, node, adv]) { + return [ + [ + [rum, 'fetchAd'], + [node, 'GET /nodejs/adTag'], + [adv, 'APIRestController#getAd'], + ['elasticsearch', 'GET ad-*/_search'], + ], + ]; + }, + }) + ); + + internalReqHeader = svlCommonApi.getInternalRequestHeader(); + roleAuthc = await svlUserManager.createApiKeyForRole('admin'); + + return synthtraceEsClient.index(Readable.from(Array.from(events))); + }); + + after(async () => { + await svlUserManager.invalidateApiKeyForRole(roleAuthc); + return synthtraceEsClient.clean(); + }); + + it('returns service map elements', async () => { + const response = await apmApiClient.slsUser({ + endpoint: 'GET /internal/apm/service-map', + params: { + query: { + start: new Date(start).toISOString(), + end: new Date(end).toISOString(), + environment: 'ENVIRONMENT_ALL', + }, + }, + roleAuthc, + internalReqHeader, + }); + + expect(response.status).toBe(200); + expect(response.body.elements.length).toBeGreaterThan(0); + }); + }); +} diff --git a/x-pack/test_serverless/api_integration/test_suites/observability/apm_api_integration/traces/critical_path.ts b/x-pack/test_serverless/api_integration/test_suites/observability/apm_api_integration/traces/critical_path.ts new file mode 100644 index 0000000000000..b3e252d6d6901 --- /dev/null +++ b/x-pack/test_serverless/api_integration/test_suites/observability/apm_api_integration/traces/critical_path.ts @@ -0,0 +1,99 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import expect from 'expect'; +import { apm, ApmFields, SynthtraceGenerator, timerange } from '@kbn/apm-synthtrace-client'; +import { compact, uniq } from 'lodash'; +import { Readable } from 'stream'; +import { ApmSynthtraceEsClient } from '@kbn/apm-synthtrace'; +import type { InternalRequestHeader, RoleCredentials } from '../../../../../shared/services'; +import { APMFtrContextProvider } from '../common/services'; + +export default function ({ getService }: APMFtrContextProvider) { + const apmApiClient = getService('apmApiClient'); + const svlUserManager = getService('svlUserManager'); + const svlCommonApi = getService('svlCommonApi'); + const synthtrace = getService('synthtrace'); + + const start = new Date('2022-01-01T00:00:00.000Z').getTime(); + const end = new Date('2022-01-01T00:15:00.000Z').getTime() - 1; + + async function fetchAndBuildCriticalPathTree( + synthtraceEsClient: ApmSynthtraceEsClient, + options: { + fn: () => SynthtraceGenerator; + roleAuthc: RoleCredentials; + internalReqHeader: InternalRequestHeader; + } & ({ serviceName: string; transactionName: string } | {}) + ) { + const { fn, roleAuthc, internalReqHeader } = options; + + const generator = fn(); + + const unserialized = Array.from(generator); + const serialized = unserialized.flatMap((event) => event.serialize()); + const traceIds = compact(uniq(serialized.map((event) => event['trace.id']))); + + await synthtraceEsClient.index(Readable.from(unserialized)); + + return apmApiClient.slsUser({ + endpoint: 'POST /internal/apm/traces/aggregated_critical_path', + params: { + body: { + start: new Date(start).toISOString(), + end: new Date(end).toISOString(), + traceIds, + serviceName: 'serviceName' in options ? options.serviceName : null, + transactionName: 'transactionName' in options ? options.transactionName : null, + }, + }, + roleAuthc, + internalReqHeader, + }); + } + + describe('APM Aggregated critical path', () => { + let roleAuthc: RoleCredentials; + let internalReqHeader: InternalRequestHeader; + let synthtraceEsClient: ApmSynthtraceEsClient; + + before(async () => { + synthtraceEsClient = await synthtrace.createSynthtraceEsClient(); + internalReqHeader = svlCommonApi.getInternalRequestHeader(); + roleAuthc = await svlUserManager.createApiKeyForRole('admin'); + }); + + after(async () => { + await svlUserManager.invalidateApiKeyForRole(roleAuthc); + return synthtraceEsClient.clean(); + }); + + it('returns service map elements', async () => { + const java = apm + .service({ name: 'java', environment: 'production', agentName: 'java' }) + .instance('java'); + + const duration = 1000; + const rate = 10; + + const response = await fetchAndBuildCriticalPathTree(synthtraceEsClient, { + fn: () => + timerange(start, end) + .interval('15m') + .rate(rate) + .generator((timestamp) => { + return java.transaction('GET /api').timestamp(timestamp).duration(duration); + }), + roleAuthc, + internalReqHeader, + }); + + expect(response.status).toBe(200); + expect(response.body.criticalPath).not.toBeUndefined(); + }); + }); +} diff --git a/x-pack/test_serverless/api_integration/test_suites/observability/index.ts b/x-pack/test_serverless/api_integration/test_suites/observability/index.ts index bf0d1e3772f90..c3e9bddc4e95c 100644 --- a/x-pack/test_serverless/api_integration/test_suites/observability/index.ts +++ b/x-pack/test_serverless/api_integration/test_suites/observability/index.ts @@ -12,6 +12,8 @@ export default function ({ loadTestFile }: FtrProviderContext) { this.tags(['esGate']); loadTestFile(require.resolve('./apm_api_integration/feature_flags.ts')); + loadTestFile(require.resolve('./apm_api_integration/service_maps/service_maps')); + loadTestFile(require.resolve('./apm_api_integration/traces/critical_path')); loadTestFile(require.resolve('./cases')); loadTestFile(require.resolve('./burn_rate_rule/burn_rate_rule')); loadTestFile(require.resolve('./es_query_rule/es_query_rule')); From cd96a10529d765f4c36137e0e40eedb89d2685bc Mon Sep 17 00:00:00 2001 From: Lisa Cawley Date: Thu, 20 Jun 2024 19:49:05 -0700 Subject: [PATCH 02/80] [DOCS] Add SLO APIs to bundled OpenAPI document (#186575) --- oas_docs/kibana.serverless.yaml | 2958 ++++++++++++++--- oas_docs/makefile | 2 +- .../slo/docs/openapi/slo/bundled.json | 18 +- .../slo/docs/openapi/slo/bundled.yaml | 18 +- .../indicator_properties_custom_kql.yaml | 2 +- .../indicator_properties_custom_metric.yaml | 2 +- .../indicator_properties_histogram.yaml | 2 +- ...indicator_properties_timeslice_metric.yaml | 2 +- .../schemas/kql_with_filters_good.yaml | 2 +- .../schemas/kql_with_filters_total.yaml | 2 +- .../slo/paths/s@{spaceid}@api@slos.yaml | 2 +- .../paths/s@{spaceid}@api@slos@{sloid}.yaml | 6 +- .../s@{spaceid}@api@slos@{sloid}@_reset.yaml | 2 +- .../s@{spaceid}@api@slos@{sloid}@disable.yaml | 2 +- .../s@{spaceid}@api@slos@{sloid}@enable.yaml | 2 +- 15 files changed, 2444 insertions(+), 578 deletions(-) diff --git a/oas_docs/kibana.serverless.yaml b/oas_docs/kibana.serverless.yaml index d7b5512e96099..24cf6df24a4d4 100644 --- a/oas_docs/kibana.serverless.yaml +++ b/oas_docs/kibana.serverless.yaml @@ -38,6 +38,8 @@ servers: kibana_url: default: localhost:5601 - url: / + - url: http://localhost:5601 + description: local tags: - name: APM agent keys description: > @@ -66,6 +68,9 @@ tags: Manage Kibana saved objects, including dashboards, visualizations, and more. x-displayName: saved objects + - name: slo + description: SLO APIs enable you to define, manage and track service-level objectives + x-displayName: slo paths: /api/apm/agent_keys: post: @@ -1939,6 +1944,594 @@ paths: $ref: '#/components/schemas/Serverless_saved_objects_400_response' security: - Serverless_saved_objects_apiKeyAuth: [] + /s/{spaceId}/api/observability/slos: + post: + summary: Create an SLO + operationId: createSloOp + description: > + You must have `all` privileges for the **SLOs** feature in the + **Observability** section of the Kibana feature privileges. + tags: + - slo + parameters: + - $ref: '#/components/parameters/SLOs_kbn_xsrf' + - $ref: '#/components/parameters/SLOs_space_id' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/SLOs_create_slo_request' + responses: + '200': + description: Successful request + content: + application/json: + schema: + $ref: '#/components/schemas/SLOs_create_slo_response' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/SLOs_400_response' + '401': + description: Unauthorized response + content: + application/json: + schema: + $ref: '#/components/schemas/SLOs_401_response' + '403': + description: Unauthorized response + content: + application/json: + schema: + $ref: '#/components/schemas/SLOs_403_response' + '409': + description: Conflict - The SLO id already exists + content: + application/json: + schema: + $ref: '#/components/schemas/SLOs_409_response' + servers: + - url: https://localhost:5601 + security: + - SLOs_basicAuth: [] + - SLOs_apiKeyAuth: [] + get: + summary: Get a paginated list of SLOs + operationId: findSlosOp + description: > + You must have the `read` privileges for the **SLOs** feature in the + **Observability** section of the Kibana feature privileges. + tags: + - slo + parameters: + - $ref: '#/components/parameters/SLOs_kbn_xsrf' + - $ref: '#/components/parameters/SLOs_space_id' + - name: kqlQuery + in: query + description: A valid kql query to filter the SLO with + schema: + type: string + example: 'slo.name:latency* and slo.tags : "prod"' + - name: page + in: query + description: The page to use for pagination, must be greater or equal than 1 + schema: + type: integer + default: 1 + example: 1 + - name: perPage + in: query + description: Number of SLOs returned by page + schema: + type: integer + default: 25 + maximum: 5000 + example: 25 + - name: sortBy + in: query + description: Sort by field + schema: + type: string + enum: + - sli_value + - status + - error_budget_consumed + - error_budget_remaining + default: status + example: status + - name: sortDirection + in: query + description: Sort order + schema: + type: string + enum: + - asc + - desc + default: asc + example: asc + - name: hideStale + in: query + description: >- + Hide stale SLOs from the list as defined by stale SLO threshold in + SLO settings + schema: + type: boolean + responses: + '200': + description: Successful request + content: + application/json: + schema: + $ref: '#/components/schemas/SLOs_find_slo_response' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/SLOs_400_response' + '401': + description: Unauthorized response + content: + application/json: + schema: + $ref: '#/components/schemas/SLOs_401_response' + '403': + description: Unauthorized response + content: + application/json: + schema: + $ref: '#/components/schemas/SLOs_403_response' + '404': + description: Not found response + content: + application/json: + schema: + $ref: '#/components/schemas/SLOs_404_response' + security: + - SLOs_basicAuth: [] + - SLOs_apiKeyAuth: [] + /s/{spaceId}/api/observability/slos/{sloId}: + get: + summary: Get an SLO + operationId: getSloOp + description: > + You must have the `read` privileges for the **SLOs** feature in the + **Observability** section of the Kibana feature privileges. + tags: + - slo + parameters: + - $ref: '#/components/parameters/SLOs_kbn_xsrf' + - $ref: '#/components/parameters/SLOs_space_id' + - $ref: '#/components/parameters/SLOs_slo_id' + - name: instanceId + in: query + description: the specific instanceId used by the summary calculation + schema: + type: string + example: host-abcde + responses: + '200': + description: Successful request + content: + application/json: + schema: + $ref: '#/components/schemas/SLOs_slo_with_summary_response' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/SLOs_400_response' + '401': + description: Unauthorized response + content: + application/json: + schema: + $ref: '#/components/schemas/SLOs_401_response' + '403': + description: Unauthorized response + content: + application/json: + schema: + $ref: '#/components/schemas/SLOs_403_response' + '404': + description: Not found response + content: + application/json: + schema: + $ref: '#/components/schemas/SLOs_404_response' + security: + - SLOs_basicAuth: [] + - SLOs_apiKeyAuth: [] + put: + summary: Update an SLO + operationId: updateSloOp + description: > + You must have the `write` privileges for the **SLOs** feature in the + **Observability** section of the Kibana feature privileges. + tags: + - slo + parameters: + - $ref: '#/components/parameters/SLOs_kbn_xsrf' + - $ref: '#/components/parameters/SLOs_space_id' + - $ref: '#/components/parameters/SLOs_slo_id' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/SLOs_update_slo_request' + responses: + '200': + description: Successful request + content: + application/json: + schema: + $ref: '#/components/schemas/SLOs_slo_definition_response' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/SLOs_400_response' + '401': + description: Unauthorized response + content: + application/json: + schema: + $ref: '#/components/schemas/SLOs_401_response' + '403': + description: Unauthorized response + content: + application/json: + schema: + $ref: '#/components/schemas/SLOs_403_response' + '404': + description: Not found response + content: + application/json: + schema: + $ref: '#/components/schemas/SLOs_404_response' + security: + - SLOs_basicAuth: [] + - SLOs_apiKeyAuth: [] + delete: + summary: Delete an SLO + operationId: deleteSloOp + description: > + You must have the `write` privileges for the **SLOs** feature in the + **Observability** section of the Kibana feature privileges. + tags: + - slo + parameters: + - $ref: '#/components/parameters/SLOs_kbn_xsrf' + - $ref: '#/components/parameters/SLOs_space_id' + - $ref: '#/components/parameters/SLOs_slo_id' + responses: + '204': + description: Successful request + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/SLOs_400_response' + '401': + description: Unauthorized response + content: + application/json: + schema: + $ref: '#/components/schemas/SLOs_401_response' + '403': + description: Unauthorized response + content: + application/json: + schema: + $ref: '#/components/schemas/SLOs_403_response' + '404': + description: Not found response + content: + application/json: + schema: + $ref: '#/components/schemas/SLOs_404_response' + security: + - SLOs_basicAuth: [] + - SLOs_apiKeyAuth: [] + /s/{spaceId}/api/observability/slos/{sloId}/enable: + post: + summary: Enable an SLO + operationId: enableSloOp + description: > + You must have the `write` privileges for the **SLOs** feature in the + **Observability** section of the Kibana feature privileges. + tags: + - slo + parameters: + - $ref: '#/components/parameters/SLOs_kbn_xsrf' + - $ref: '#/components/parameters/SLOs_space_id' + - $ref: '#/components/parameters/SLOs_slo_id' + responses: + '204': + description: Successful request + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/SLOs_400_response' + '401': + description: Unauthorized response + content: + application/json: + schema: + $ref: '#/components/schemas/SLOs_401_response' + '403': + description: Unauthorized response + content: + application/json: + schema: + $ref: '#/components/schemas/SLOs_403_response' + '404': + description: Not found response + content: + application/json: + schema: + $ref: '#/components/schemas/SLOs_404_response' + security: + - SLOs_basicAuth: [] + - SLOs_apiKeyAuth: [] + /s/{spaceId}/api/observability/slos/{sloId}/disable: + post: + summary: Disable an SLO + operationId: disableSloOp + description: > + You must have the `write` privileges for the **SLOs** feature in the + **Observability** section of the Kibana feature privileges. + tags: + - slo + parameters: + - $ref: '#/components/parameters/SLOs_kbn_xsrf' + - $ref: '#/components/parameters/SLOs_space_id' + - $ref: '#/components/parameters/SLOs_slo_id' + responses: + '200': + description: Successful request + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/SLOs_400_response' + '401': + description: Unauthorized response + content: + application/json: + schema: + $ref: '#/components/schemas/SLOs_401_response' + '403': + description: Unauthorized response + content: + application/json: + schema: + $ref: '#/components/schemas/SLOs_403_response' + '404': + description: Not found response + content: + application/json: + schema: + $ref: '#/components/schemas/SLOs_404_response' + security: + - SLOs_basicAuth: [] + - SLOs_apiKeyAuth: [] + /s/{spaceId}/api/observability/slos/{sloId}/_reset: + post: + summary: Reset an SLO + operationId: resetSloOp + description: > + You must have the `write` privileges for the **SLOs** feature in the + **Observability** section of the Kibana feature privileges. + tags: + - slo + parameters: + - $ref: '#/components/parameters/SLOs_kbn_xsrf' + - $ref: '#/components/parameters/SLOs_space_id' + - $ref: '#/components/parameters/SLOs_slo_id' + responses: + '204': + description: Successful request + content: + application/json: + schema: + $ref: '#/components/schemas/SLOs_slo_definition_response' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/SLOs_400_response' + '401': + description: Unauthorized response + content: + application/json: + schema: + $ref: '#/components/schemas/SLOs_401_response' + '403': + description: Unauthorized response + content: + application/json: + schema: + $ref: '#/components/schemas/SLOs_403_response' + '404': + description: Not found response + content: + application/json: + schema: + $ref: '#/components/schemas/SLOs_404_response' + security: + - SLOs_basicAuth: [] + - SLOs_apiKeyAuth: [] + /s/{spaceId}/internal/observability/slos/_historical_summary: + post: + summary: Get a historical summary for SLOs + operationId: historicalSummaryOp + description: > + You must have the `read` privileges for the **SLOs** feature in the + **Observability** section of the Kibana feature privileges. + tags: + - slo + parameters: + - $ref: '#/components/parameters/SLOs_kbn_xsrf' + - $ref: '#/components/parameters/SLOs_space_id' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/SLOs_historical_summary_request' + responses: + '200': + description: Successful request + content: + application/json: + schema: + $ref: '#/components/schemas/SLOs_historical_summary_response' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/SLOs_400_response' + '401': + description: Unauthorized response + content: + application/json: + schema: + $ref: '#/components/schemas/SLOs_401_response' + '403': + description: Unauthorized response + content: + application/json: + schema: + $ref: '#/components/schemas/SLOs_403_response' + security: + - SLOs_basicAuth: [] + - SLOs_apiKeyAuth: [] + /s/{spaceId}/internal/observability/slos/_definitions: + get: + summary: Get the SLO definitions + operationId: getDefinitionsOp + description: > + You must have the `read` privileges for the **SLOs** feature in the + **Observability** section of the Kibana feature privileges. + tags: + - slo + parameters: + - $ref: '#/components/parameters/SLOs_kbn_xsrf' + - $ref: '#/components/parameters/SLOs_space_id' + - name: includeOutdatedOnly + in: query + description: >- + Indicates if the API returns only outdated SLO or all SLO + definitions + schema: + type: boolean + example: true + - name: search + in: query + description: Filters the SLOs by name + schema: + type: string + example: my service availability + - name: page + in: query + description: The page to use for pagination, must be greater or equal than 1 + schema: + type: number + example: 1 + - name: perPage + in: query + description: Number of SLOs returned by page + schema: + type: integer + default: 100 + maximum: 1000 + example: 100 + responses: + '200': + description: Successful request + content: + application/json: + schema: + $ref: '#/components/schemas/SLOs_find_slo_definitions_response' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/SLOs_400_response' + '401': + description: Unauthorized response + content: + application/json: + schema: + $ref: '#/components/schemas/SLOs_401_response' + '403': + description: Unauthorized response + content: + application/json: + schema: + $ref: '#/components/schemas/SLOs_403_response' + security: + - SLOs_basicAuth: [] + - SLOs_apiKeyAuth: [] + /s/{spaceId}/api/observability/slos/_delete_instances: + post: + summary: Batch delete rollup and summary data + operationId: deleteSloInstancesOp + description: > + The deletion occurs for the specified list of `sloId` and `instanceId`. + You must have `all` privileges for the **SLOs** feature in the + **Observability** section of the Kibana feature privileges. + tags: + - slo + parameters: + - $ref: '#/components/parameters/SLOs_kbn_xsrf' + - $ref: '#/components/parameters/SLOs_space_id' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/SLOs_delete_slo_instances_request' + responses: + '204': + description: Successful request + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/SLOs_400_response' + '401': + description: Unauthorized response + content: + application/json: + schema: + $ref: '#/components/schemas/SLOs_401_response' + '403': + description: Unauthorized response + content: + application/json: + schema: + $ref: '#/components/schemas/SLOs_403_response' + servers: + - url: https://localhost:5601 + security: + - SLOs_basicAuth: [] + - SLOs_apiKeyAuth: [] components: securitySchemes: Connectors_apiKeyAuth: @@ -1972,6 +2565,14 @@ components: Serverless APIs support only key-based authentication. You must create an API key and use the encoded value in the request header. For example: 'Authorization: ApiKey base64AccessApiKey'. + SLOs_basicAuth: + type: http + scheme: basic + SLOs_apiKeyAuth: + type: apiKey + in: header + name: Authorization + description: 'e.g. Authorization: ApiKey base64AccessApiKey' parameters: Connectors_kbn_xsrf: schema: @@ -2081,6 +2682,31 @@ components: conflict errors are automatically resolved by overwriting the destination object. NOTE: This option cannot be used with the `createNewCopies` option. + SLOs_kbn_xsrf: + schema: + type: string + in: header + name: kbn-xsrf + description: Cross-site request forgery protection + required: true + SLOs_space_id: + in: path + name: spaceId + description: >- + An identifier for the space. If `/s/` and the identifier are omitted + from the path, the default space is used. + required: true + schema: + type: string + example: default + SLOs_slo_id: + in: path + name: sloId + description: An identifier for the slo. + required: true + schema: + type: string + example: 9c235211-6834-11ea-a78c-6feb38a34414 schemas: Connectors_create_connector_request_bedrock: title: Create Amazon Bedrock connector request @@ -4909,665 +5535,1902 @@ components: title: Update server log connector request type: object required: - - name + - name + properties: + name: + type: string + description: The display name for the connector. + Connectors_update_connector_request_servicenow: + title: Update ServiceNow ITSM connector or ServiceNow SecOps request + type: object + required: + - config + - name + - secrets + properties: + config: + $ref: '#/components/schemas/Connectors_config_properties_servicenow' + name: + type: string + description: The display name for the connector. + secrets: + $ref: '#/components/schemas/Connectors_secrets_properties_servicenow' + Connectors_update_connector_request_servicenow_itom: + title: Create ServiceNow ITOM connector request + type: object + required: + - config + - name + - secrets + properties: + config: + $ref: '#/components/schemas/Connectors_config_properties_servicenow_itom' + name: + type: string + description: The display name for the connector. + secrets: + $ref: '#/components/schemas/Connectors_secrets_properties_servicenow' + Connectors_update_connector_request_slack_api: + title: Update Slack connector request + type: object + required: + - name + - secrets + properties: + config: + $ref: '#/components/schemas/Connectors_config_properties_slack_api' + name: + type: string + description: The display name for the connector. + secrets: + $ref: '#/components/schemas/Connectors_secrets_properties_slack_api' + Connectors_update_connector_request_slack_webhook: + title: Update Slack connector request + type: object + required: + - name + - secrets + properties: + name: + type: string + description: The display name for the connector. + secrets: + $ref: '#/components/schemas/Connectors_secrets_properties_slack_webhook' + Connectors_update_connector_request_swimlane: + title: Update Swimlane connector request + type: object + required: + - config + - name + - secrets + properties: + config: + $ref: '#/components/schemas/Connectors_config_properties_swimlane' + name: + type: string + description: The display name for the connector. + example: my-connector + secrets: + $ref: '#/components/schemas/Connectors_secrets_properties_swimlane' + Connectors_update_connector_request_teams: + title: Update Microsoft Teams connector request + type: object + required: + - name + - secrets + properties: + name: + type: string + description: The display name for the connector. + secrets: + $ref: '#/components/schemas/Connectors_secrets_properties_teams' + Connectors_update_connector_request_tines: + title: Update Tines connector request + type: object + required: + - config + - name + - secrets + properties: + config: + $ref: '#/components/schemas/Connectors_config_properties_tines' + name: + type: string + description: The display name for the connector. + secrets: + $ref: '#/components/schemas/Connectors_secrets_properties_tines' + Connectors_update_connector_request_torq: + title: Update Torq connector request + type: object + required: + - config + - name + - secrets + properties: + config: + $ref: '#/components/schemas/Connectors_config_properties_torq' + name: + type: string + description: The display name for the connector. + secrets: + $ref: '#/components/schemas/Connectors_secrets_properties_torq' + Connectors_update_connector_request_webhook: + title: Update Webhook connector request + type: object + required: + - config + - name + - secrets + properties: + config: + $ref: '#/components/schemas/Connectors_config_properties_webhook' + name: + type: string + description: The display name for the connector. + secrets: + $ref: '#/components/schemas/Connectors_secrets_properties_webhook' + Connectors_update_connector_request_xmatters: + title: Update xMatters connector request + type: object + required: + - config + - name + - secrets + properties: + config: + $ref: '#/components/schemas/Connectors_config_properties_xmatters' + name: + type: string + description: The display name for the connector. + secrets: + $ref: '#/components/schemas/Connectors_secrets_properties_xmatters' + Connectors_update_connector_request: + title: Update connector request body properties + description: The properties vary depending on the connector type. + oneOf: + - $ref: '#/components/schemas/Connectors_update_connector_request_bedrock' + - $ref: '#/components/schemas/Connectors_update_connector_request_gemini' + - $ref: >- + #/components/schemas/Connectors_update_connector_request_cases_webhook + - $ref: '#/components/schemas/Connectors_update_connector_request_d3security' + - $ref: '#/components/schemas/Connectors_update_connector_request_email' + - $ref: '#/components/schemas/Connectors_create_connector_request_genai' + - $ref: '#/components/schemas/Connectors_update_connector_request_index' + - $ref: '#/components/schemas/Connectors_update_connector_request_jira' + - $ref: '#/components/schemas/Connectors_update_connector_request_opsgenie' + - $ref: '#/components/schemas/Connectors_update_connector_request_pagerduty' + - $ref: '#/components/schemas/Connectors_update_connector_request_resilient' + - $ref: '#/components/schemas/Connectors_update_connector_request_sentinelone' + - $ref: '#/components/schemas/Connectors_update_connector_request_serverlog' + - $ref: '#/components/schemas/Connectors_update_connector_request_servicenow' + - $ref: >- + #/components/schemas/Connectors_update_connector_request_servicenow_itom + - $ref: '#/components/schemas/Connectors_update_connector_request_slack_api' + - $ref: >- + #/components/schemas/Connectors_update_connector_request_slack_webhook + - $ref: '#/components/schemas/Connectors_update_connector_request_swimlane' + - $ref: '#/components/schemas/Connectors_update_connector_request_teams' + - $ref: '#/components/schemas/Connectors_update_connector_request_tines' + - $ref: '#/components/schemas/Connectors_update_connector_request_torq' + - $ref: '#/components/schemas/Connectors_update_connector_request_webhook' + - $ref: '#/components/schemas/Connectors_update_connector_request_xmatters' + Connectors_features: + type: string + description: | + The feature that uses the connector. + enum: + - alerting + - cases + - generativeAIForSecurity + - generativeAIForObservability + - generativeAIForSearchPlayground + - siem + - uptime + Connectors_connector_types: + title: Connector types + type: string + description: >- + The type of connector. For example, `.email`, `.index`, `.jira`, + `.opsgenie`, or `.server-log`. + enum: + - .bedrock + - .gemini + - .cases-webhook + - .d3security + - .email + - .gen-ai + - .index + - .jira + - .opsgenie + - .pagerduty + - .resilient + - .sentinelone + - .servicenow + - .servicenow-itom + - .servicenow-sir + - .server-log + - .slack + - .slack_api + - .swimlane + - .teams + - .tines + - .torq + - .webhook + - .xmatters + example: .server-log + Data_views_400_response: + title: Bad request + type: object + required: + - statusCode + - error + - message properties: - name: + statusCode: + type: number + example: 400 + error: type: string - description: The display name for the connector. - Connectors_update_connector_request_servicenow: - title: Update ServiceNow ITSM connector or ServiceNow SecOps request + example: Bad Request + message: + type: string + Data_views_allownoindex: + type: boolean + description: Allows the data view saved object to exist before the data is available. + Data_views_fieldattrs: + type: object + description: A map of field attributes by field name. + Data_views_fieldformats: + type: object + description: A map of field formats by field name. + Data_views_namespaces: + type: array + description: >- + An array of space identifiers for sharing the data view between multiple + spaces. + items: + type: string + default: default + Data_views_runtimefieldmap: + type: object + description: A map of runtime field definitions by field name. + Data_views_sourcefilters: + type: array + description: The array of field names you want to filter out in Discover. + items: + type: object + required: + - value + properties: + value: + type: string + Data_views_timefieldname: + type: string + description: The timestamp field name, which you use for time-based data views. + Data_views_title: + type: string + description: >- + Comma-separated list of data streams, indices, and aliases that you want + to search. Supports wildcards (`*`). + Data_views_type: + type: string + description: When set to `rollup`, identifies the rollup data views. + Data_views_typemeta: + type: object + description: >- + When you use rollup indices, contains the field list for the rollup data + view API endpoints. + Data_views_create_data_view_request_object: + title: Create data view request type: object required: - - config - - name - - secrets + - data_view properties: - config: - $ref: '#/components/schemas/Connectors_config_properties_servicenow' - name: - type: string - description: The display name for the connector. - secrets: - $ref: '#/components/schemas/Connectors_secrets_properties_servicenow' - Connectors_update_connector_request_servicenow_itom: - title: Create ServiceNow ITOM connector request + data_view: + type: object + required: + - title + description: The data view object. + properties: + allowNoIndex: + $ref: '#/components/schemas/Data_views_allownoindex' + fieldAttrs: + $ref: '#/components/schemas/Data_views_fieldattrs' + fieldFormats: + $ref: '#/components/schemas/Data_views_fieldformats' + fields: + type: object + id: + type: string + name: + type: string + description: The data view name. + namespaces: + $ref: '#/components/schemas/Data_views_namespaces' + runtimeFieldMap: + $ref: '#/components/schemas/Data_views_runtimefieldmap' + sourceFilters: + $ref: '#/components/schemas/Data_views_sourcefilters' + timeFieldName: + $ref: '#/components/schemas/Data_views_timefieldname' + title: + $ref: '#/components/schemas/Data_views_title' + type: + $ref: '#/components/schemas/Data_views_type' + typeMeta: + $ref: '#/components/schemas/Data_views_typemeta' + version: + type: string + override: + type: boolean + description: >- + Override an existing data view if a data view with the provided + title already exists. + default: false + Data_views_data_view_response_object: + title: Data view response properties type: object - required: - - config - - name - - secrets properties: - config: - $ref: '#/components/schemas/Connectors_config_properties_servicenow_itom' - name: - type: string - description: The display name for the connector. - secrets: - $ref: '#/components/schemas/Connectors_secrets_properties_servicenow' - Connectors_update_connector_request_slack_api: - title: Update Slack connector request + data_view: + type: object + properties: + allowNoIndex: + $ref: '#/components/schemas/Data_views_allownoindex' + fieldAttrs: + $ref: '#/components/schemas/Data_views_fieldattrs' + fieldFormats: + $ref: '#/components/schemas/Data_views_fieldformats' + fields: + type: object + id: + type: string + example: ff959d40-b880-11e8-a6d9-e546fe2bba5f + name: + type: string + description: The data view name. + namespaces: + $ref: '#/components/schemas/Data_views_namespaces' + runtimeFieldMap: + $ref: '#/components/schemas/Data_views_runtimefieldmap' + sourceFilters: + $ref: '#/components/schemas/Data_views_sourcefilters' + timeFieldName: + $ref: '#/components/schemas/Data_views_timefieldname' + title: + $ref: '#/components/schemas/Data_views_title' + typeMeta: + $ref: '#/components/schemas/Data_views_typemeta' + version: + type: string + example: WzQ2LDJd + Data_views_404_response: type: object - required: - - name - - secrets properties: - config: - $ref: '#/components/schemas/Connectors_config_properties_slack_api' - name: + error: type: string - description: The display name for the connector. - secrets: - $ref: '#/components/schemas/Connectors_secrets_properties_slack_api' - Connectors_update_connector_request_slack_webhook: - title: Update Slack connector request + example: Not Found + enum: + - Not Found + message: + type: string + example: >- + Saved object [index-pattern/caaad6d0-920c-11ed-b36a-874bd1548a00] + not found + statusCode: + type: integer + example: 404 + enum: + - 404 + Data_views_update_data_view_request_object: + title: Update data view request type: object required: - - name - - secrets + - data_view properties: - name: - type: string - description: The display name for the connector. - secrets: - $ref: '#/components/schemas/Connectors_secrets_properties_slack_webhook' - Connectors_update_connector_request_swimlane: - title: Update Swimlane connector request + data_view: + type: object + description: > + The data view properties you want to update. Only the specified + properties are updated in the data view. Unspecified fields stay as + they are persisted. + properties: + allowNoIndex: + $ref: '#/components/schemas/Data_views_allownoindex' + fieldFormats: + $ref: '#/components/schemas/Data_views_fieldformats' + fields: + type: object + name: + type: string + runtimeFieldMap: + $ref: '#/components/schemas/Data_views_runtimefieldmap' + sourceFilters: + $ref: '#/components/schemas/Data_views_sourcefilters' + timeFieldName: + $ref: '#/components/schemas/Data_views_timefieldname' + title: + $ref: '#/components/schemas/Data_views_title' + type: + $ref: '#/components/schemas/Data_views_type' + typeMeta: + $ref: '#/components/schemas/Data_views_typemeta' + refresh_fields: + type: boolean + description: Reloads the data view fields after the data view is updated. + default: false + Machine_learning_APIs_mlSyncResponseSuccess: + type: boolean + description: The success or failure of the synchronization. + Machine_learning_APIs_mlSyncResponseAnomalyDetectors: + type: object + title: Sync API response for anomaly detection jobs + description: >- + The sync machine learning saved objects API response contains this + object when there are anomaly detection jobs affected by the + synchronization. There is an object for each relevant job, which + contains the synchronization status. + properties: + success: + $ref: '#/components/schemas/Machine_learning_APIs_mlSyncResponseSuccess' + Machine_learning_APIs_mlSyncResponseDatafeeds: type: object - required: - - config - - name - - secrets + title: Sync API response for datafeeds + description: >- + The sync machine learning saved objects API response contains this + object when there are datafeeds affected by the synchronization. There + is an object for each relevant datafeed, which contains the + synchronization status. properties: - config: - $ref: '#/components/schemas/Connectors_config_properties_swimlane' - name: - type: string - description: The display name for the connector. - example: my-connector - secrets: - $ref: '#/components/schemas/Connectors_secrets_properties_swimlane' - Connectors_update_connector_request_teams: - title: Update Microsoft Teams connector request + success: + $ref: '#/components/schemas/Machine_learning_APIs_mlSyncResponseSuccess' + Machine_learning_APIs_mlSyncResponseDataFrameAnalytics: type: object - required: - - name - - secrets + title: Sync API response for data frame analytics jobs + description: >- + The sync machine learning saved objects API response contains this + object when there are data frame analytics jobs affected by the + synchronization. There is an object for each relevant job, which + contains the synchronization status. properties: - name: - type: string - description: The display name for the connector. - secrets: - $ref: '#/components/schemas/Connectors_secrets_properties_teams' - Connectors_update_connector_request_tines: - title: Update Tines connector request + success: + $ref: '#/components/schemas/Machine_learning_APIs_mlSyncResponseSuccess' + Machine_learning_APIs_mlSyncResponseSavedObjectsCreated: type: object - required: - - config - - name - - secrets + title: Sync API response for created saved objects + description: >- + If saved objects are missing for machine learning jobs or trained + models, they are created when you run the sync machine learning saved + objects API. properties: - config: - $ref: '#/components/schemas/Connectors_config_properties_tines' - name: - type: string - description: The display name for the connector. - secrets: - $ref: '#/components/schemas/Connectors_secrets_properties_tines' - Connectors_update_connector_request_torq: - title: Update Torq connector request + anomaly-detector: + type: object + description: >- + If saved objects are missing for anomaly detection jobs, they are + created. + additionalProperties: + $ref: >- + #/components/schemas/Machine_learning_APIs_mlSyncResponseAnomalyDetectors + data-frame-analytics: + type: object + description: >- + If saved objects are missing for data frame analytics jobs, they are + created. + additionalProperties: + $ref: >- + #/components/schemas/Machine_learning_APIs_mlSyncResponseDataFrameAnalytics + trained-model: + type: object + description: If saved objects are missing for trained models, they are created. + additionalProperties: + $ref: >- + #/components/schemas/Machine_learning_APIs_mlSyncResponseTrainedModels + Machine_learning_APIs_mlSyncResponseSavedObjectsDeleted: type: object - required: - - config - - name - - secrets + title: Sync API response for deleted saved objects + description: >- + If saved objects exist for machine learning jobs or trained models that + no longer exist, they are deleted when you run the sync machine learning + saved objects API. properties: - config: - $ref: '#/components/schemas/Connectors_config_properties_torq' - name: - type: string - description: The display name for the connector. - secrets: - $ref: '#/components/schemas/Connectors_secrets_properties_torq' - Connectors_update_connector_request_webhook: - title: Update Webhook connector request + anomaly-detector: + type: object + description: >- + If there are saved objects exist for nonexistent anomaly detection + jobs, they are deleted. + additionalProperties: + $ref: >- + #/components/schemas/Machine_learning_APIs_mlSyncResponseAnomalyDetectors + data-frame-analytics: + type: object + description: >- + If there are saved objects exist for nonexistent data frame + analytics jobs, they are deleted. + additionalProperties: + $ref: >- + #/components/schemas/Machine_learning_APIs_mlSyncResponseDataFrameAnalytics + trained-model: + type: object + description: >- + If there are saved objects exist for nonexistent trained models, + they are deleted. + additionalProperties: + $ref: >- + #/components/schemas/Machine_learning_APIs_mlSyncResponseTrainedModels + Machine_learning_APIs_mlSyncResponseTrainedModels: type: object - required: - - config - - name - - secrets + title: Sync API response for trained models + description: >- + The sync machine learning saved objects API response contains this + object when there are trained models affected by the synchronization. + There is an object for each relevant trained model, which contains the + synchronization status. properties: - config: - $ref: '#/components/schemas/Connectors_config_properties_webhook' - name: - type: string - description: The display name for the connector. - secrets: - $ref: '#/components/schemas/Connectors_secrets_properties_webhook' - Connectors_update_connector_request_xmatters: - title: Update xMatters connector request + success: + $ref: '#/components/schemas/Machine_learning_APIs_mlSyncResponseSuccess' + Machine_learning_APIs_mlSync200Response: type: object - required: - - config - - name - - secrets + title: Successful sync API response properties: - config: - $ref: '#/components/schemas/Connectors_config_properties_xmatters' - name: - type: string - description: The display name for the connector. - secrets: - $ref: '#/components/schemas/Connectors_secrets_properties_xmatters' - Connectors_update_connector_request: - title: Update connector request body properties - description: The properties vary depending on the connector type. - oneOf: - - $ref: '#/components/schemas/Connectors_update_connector_request_bedrock' - - $ref: '#/components/schemas/Connectors_update_connector_request_gemini' - - $ref: >- - #/components/schemas/Connectors_update_connector_request_cases_webhook - - $ref: '#/components/schemas/Connectors_update_connector_request_d3security' - - $ref: '#/components/schemas/Connectors_update_connector_request_email' - - $ref: '#/components/schemas/Connectors_create_connector_request_genai' - - $ref: '#/components/schemas/Connectors_update_connector_request_index' - - $ref: '#/components/schemas/Connectors_update_connector_request_jira' - - $ref: '#/components/schemas/Connectors_update_connector_request_opsgenie' - - $ref: '#/components/schemas/Connectors_update_connector_request_pagerduty' - - $ref: '#/components/schemas/Connectors_update_connector_request_resilient' - - $ref: '#/components/schemas/Connectors_update_connector_request_sentinelone' - - $ref: '#/components/schemas/Connectors_update_connector_request_serverlog' - - $ref: '#/components/schemas/Connectors_update_connector_request_servicenow' - - $ref: >- - #/components/schemas/Connectors_update_connector_request_servicenow_itom - - $ref: '#/components/schemas/Connectors_update_connector_request_slack_api' - - $ref: >- - #/components/schemas/Connectors_update_connector_request_slack_webhook - - $ref: '#/components/schemas/Connectors_update_connector_request_swimlane' - - $ref: '#/components/schemas/Connectors_update_connector_request_teams' - - $ref: '#/components/schemas/Connectors_update_connector_request_tines' - - $ref: '#/components/schemas/Connectors_update_connector_request_torq' - - $ref: '#/components/schemas/Connectors_update_connector_request_webhook' - - $ref: '#/components/schemas/Connectors_update_connector_request_xmatters' - Connectors_features: - type: string - description: | - The feature that uses the connector. - enum: - - alerting - - cases - - generativeAIForSecurity - - generativeAIForObservability - - generativeAIForSearchPlayground - - siem - - uptime - Connectors_connector_types: - title: Connector types - type: string - description: >- - The type of connector. For example, `.email`, `.index`, `.jira`, - `.opsgenie`, or `.server-log`. - enum: - - .bedrock - - .gemini - - .cases-webhook - - .d3security - - .email - - .gen-ai - - .index - - .jira - - .opsgenie - - .pagerduty - - .resilient - - .sentinelone - - .servicenow - - .servicenow-itom - - .servicenow-sir - - .server-log - - .slack - - .slack_api - - .swimlane - - .teams - - .tines - - .torq - - .webhook - - .xmatters - example: .server-log - Data_views_400_response: + datafeedsAdded: + type: object + description: >- + If a saved object for an anomaly detection job is missing a datafeed + identifier, it is added when you run the sync machine learning saved + objects API. + additionalProperties: + $ref: '#/components/schemas/Machine_learning_APIs_mlSyncResponseDatafeeds' + datafeedsRemoved: + type: object + description: >- + If a saved object for an anomaly detection job references a datafeed + that no longer exists, it is deleted when you run the sync machine + learning saved objects API. + additionalProperties: + $ref: '#/components/schemas/Machine_learning_APIs_mlSyncResponseDatafeeds' + savedObjectsCreated: + $ref: >- + #/components/schemas/Machine_learning_APIs_mlSyncResponseSavedObjectsCreated + savedObjectsDeleted: + $ref: >- + #/components/schemas/Machine_learning_APIs_mlSyncResponseSavedObjectsDeleted + Machine_learning_APIs_mlSync4xxResponse: + type: object + title: Unsuccessful sync API response + properties: + error: + type: string + example: Unauthorized + message: + type: string + statusCode: + type: integer + example: 401 + Serverless_saved_objects_400_response: title: Bad request type: object required: - - statusCode - error - message + - statusCode properties: - statusCode: - type: number - example: 400 error: type: string - example: Bad Request + enum: + - Bad Request message: type: string - Data_views_allownoindex: - type: boolean - description: Allows the data view saved object to exist before the data is available. - Data_views_fieldattrs: + statusCode: + type: integer + enum: + - 400 + Serverless_saved_objects_export_objects_request: type: object - description: A map of field attributes by field name. - Data_views_fieldformats: + properties: + excludeExportDetails: + description: Do not add export details entry at the end of the stream. + type: boolean + default: false + includeReferencesDeep: + description: Includes all of the referenced objects in the exported objects. + type: boolean + objects: + description: A list of objects to export. + type: array + items: + type: object + type: + description: >- + The saved object types to include in the export. Use `*` to export + all the types. + oneOf: + - type: string + - type: array + items: + type: string + Serverless_saved_objects_import_objects_request: type: object - description: A map of field formats by field name. - Data_views_namespaces: - type: array - description: >- - An array of space identifiers for sharing the data view between multiple - spaces. - items: - type: string - default: default - Data_views_runtimefieldmap: + properties: + file: + description: > + A file exported using the export API. NOTE: The + `savedObjects.maxImportExportSize` configuration setting limits the + number of saved objects which may be included in this file. + Similarly, the `savedObjects.maxImportPayloadBytes` setting limits + the overall size of the file that can be imported. + Serverless_saved_objects_200_import_objects_response: type: object - description: A map of runtime field definitions by field name. - Data_views_sourcefilters: - type: array - description: The array of field names you want to filter out in Discover. - items: - type: object - required: - - value - properties: - value: - type: string - Data_views_timefieldname: - type: string - description: The timestamp field name, which you use for time-based data views. - Data_views_title: - type: string - description: >- - Comma-separated list of data streams, indices, and aliases that you want - to search. Supports wildcards (`*`). - Data_views_type: - type: string - description: When set to `rollup`, identifies the rollup data views. - Data_views_typemeta: + properties: + success: + type: boolean + description: > + Indicates when the import was successfully completed. When set to + false, some objects may not have been created. For additional + information, refer to the `errors` and `successResults` properties. + successCount: + type: integer + description: Indicates the number of successfully imported records. + errors: + type: array + items: + type: object + description: > + Indicates the import was unsuccessful and specifies the objects that + failed to import. + + + NOTE: One object may result in multiple errors, which requires + separate steps to resolve. For instance, a `missing_references` + error and conflict error. + successResults: + type: array + items: + type: object + description: > + Indicates the objects that are successfully imported, with any + metadata if applicable. + + + NOTE: Objects are created only when all resolvable errors are + addressed, including conflicts and missing references. If objects + are created as new copies, each entry in the `successResults` array + includes a `destinationId` attribute. + SLOs_indicator_properties_apm_availability: + title: APM availability + required: + - type + - params + description: Defines properties for the APM availability indicator type type: object - description: >- - When you use rollup indices, contains the field list for the rollup data - view API endpoints. - Data_views_create_data_view_request_object: - title: Create data view request + properties: + params: + description: An object containing the indicator parameters. + type: object + nullable: false + required: + - service + - environment + - transactionType + - transactionName + - index + properties: + service: + description: The APM service name + type: string + example: o11y-app + environment: + description: The APM service environment or "*" + type: string + example: production + transactionType: + description: The APM transaction type or "*" + type: string + example: request + transactionName: + description: The APM transaction name or "*" + type: string + example: GET /my/api + filter: + description: KQL query used for filtering the data + type: string + example: 'service.foo : "bar"' + index: + description: The index used by APM metrics + type: string + example: metrics-apm*,apm* + type: + description: The type of indicator. + type: string + example: sli.apm.transactionDuration + SLOs_filter_meta: + title: FilterMeta + description: Defines properties for a filter + type: object + properties: + alias: + type: string + nullable: true + disabled: + type: boolean + negate: + type: boolean + controlledBy: + type: string + group: + type: string + index: + type: string + isMultiIndex: + type: boolean + type: + type: string + key: + type: string + params: + type: object + value: + type: string + field: + type: string + SLOs_filter: + title: Filter + description: Defines properties for a filter type: object + properties: + query: + type: object + meta: + $ref: '#/components/schemas/SLOs_filter_meta' + SLOs_kql_with_filters: + title: KQL with filters + description: Defines properties for a filter + oneOf: + - description: the KQL query to filter the documents with. + type: string + example: 'field.environment : "production" and service.name : "my-service"' + - type: object + properties: + kqlQuery: + type: string + filters: + type: array + items: + $ref: '#/components/schemas/SLOs_filter' + SLOs_kql_with_filters_good: + title: KQL query for good events + description: The KQL query used to define the good events. + oneOf: + - description: the KQL query to filter the documents with. + type: string + example: 'request.latency <= 150 and request.status_code : "2xx"' + - type: object + properties: + kqlQuery: + type: string + filters: + type: array + items: + $ref: '#/components/schemas/SLOs_filter' + SLOs_kql_with_filters_total: + title: KQL query for all events + description: The KQL query used to define all events. + oneOf: + - description: the KQL query to filter the documents with. + type: string + example: 'field.environment : "production" and service.name : "my-service"' + - type: object + properties: + kqlQuery: + type: string + filters: + type: array + items: + $ref: '#/components/schemas/SLOs_filter' + SLOs_indicator_properties_custom_kql: + title: Custom Query required: - - data_view + - type + - params + description: Defines properties for a custom query indicator type + type: object properties: - data_view: + params: + description: An object containing the indicator parameters. type: object + nullable: false required: - - title - description: The data view object. + - index + - timestampField + - good + - total properties: - allowNoIndex: - $ref: '#/components/schemas/Data_views_allownoindex' - fieldAttrs: - $ref: '#/components/schemas/Data_views_fieldattrs' - fieldFormats: - $ref: '#/components/schemas/Data_views_fieldformats' - fields: - type: object - id: + index: + description: The index or index pattern to use type: string - name: + example: my-service-* + dataViewId: + description: >- + The kibana data view id to use, primarily used to include data + view runtime mappings. Make sure to save SLO again if you + add/update run time fields to the data view and if those fields + are being used in slo queries. type: string - description: The data view name. - namespaces: - $ref: '#/components/schemas/Data_views_namespaces' - runtimeFieldMap: - $ref: '#/components/schemas/Data_views_runtimefieldmap' - sourceFilters: - $ref: '#/components/schemas/Data_views_sourcefilters' - timeFieldName: - $ref: '#/components/schemas/Data_views_timefieldname' - title: - $ref: '#/components/schemas/Data_views_title' - type: - $ref: '#/components/schemas/Data_views_type' - typeMeta: - $ref: '#/components/schemas/Data_views_typemeta' - version: + example: 03b80ab3-003d-498b-881c-3beedbaf1162 + filter: + $ref: '#/components/schemas/SLOs_kql_with_filters' + good: + $ref: '#/components/schemas/SLOs_kql_with_filters_good' + total: + $ref: '#/components/schemas/SLOs_kql_with_filters_total' + timestampField: + description: | + The timestamp field used in the source indice. type: string - override: - type: boolean - description: >- - Override an existing data view if a data view with the provided - title already exists. - default: false - Data_views_data_view_response_object: - title: Data view response properties + example: timestamp + type: + description: The type of indicator. + type: string + example: sli.kql.custom + SLOs_indicator_properties_apm_latency: + title: APM latency + required: + - type + - params + description: Defines properties for the APM latency indicator type + type: object + properties: + params: + description: An object containing the indicator parameters. + type: object + nullable: false + required: + - service + - environment + - transactionType + - transactionName + - index + - threshold + properties: + service: + description: The APM service name + type: string + example: o11y-app + environment: + description: The APM service environment or "*" + type: string + example: production + transactionType: + description: The APM transaction type or "*" + type: string + example: request + transactionName: + description: The APM transaction name or "*" + type: string + example: GET /my/api + filter: + description: KQL query used for filtering the data + type: string + example: 'service.foo : "bar"' + index: + description: The index used by APM metrics + type: string + example: metrics-apm*,apm* + threshold: + description: The latency threshold in milliseconds + type: number + example: 250 + type: + description: The type of indicator. + type: string + example: sli.apm.transactionDuration + SLOs_indicator_properties_custom_metric: + title: Custom metric + required: + - type + - params + description: Defines properties for a custom metric indicator type + type: object + properties: + params: + description: An object containing the indicator parameters. + type: object + nullable: false + required: + - index + - timestampField + - good + - total + properties: + index: + description: The index or index pattern to use + type: string + example: my-service-* + dataViewId: + description: >- + The kibana data view id to use, primarily used to include data + view runtime mappings. Make sure to save SLO again if you + add/update run time fields to the data view and if those fields + are being used in slo queries. + type: string + example: 03b80ab3-003d-498b-881c-3beedbaf1162 + filter: + description: the KQL query to filter the documents with. + type: string + example: 'field.environment : "production" and service.name : "my-service"' + timestampField: + description: | + The timestamp field used in the source indice. + type: string + example: timestamp + good: + description: | + An object defining the "good" metrics and equation + type: object + required: + - metrics + - equation + properties: + metrics: + description: >- + List of metrics with their name, aggregation type, and + field. + type: array + items: + type: object + required: + - name + - aggregation + - field + properties: + name: + description: The name of the metric. Only valid options are A-Z + type: string + example: A + pattern: ^[A-Z]$ + aggregation: + description: >- + The aggregation type of the metric. Only valid option + is "sum" + type: string + example: sum + enum: + - sum + field: + description: The field of the metric. + type: string + example: processor.processed + filter: + description: The filter to apply to the metric. + type: string + example: 'processor.outcome: "success"' + equation: + description: The equation to calculate the "good" metric. + type: string + example: A + total: + description: | + An object defining the "total" metrics and equation + type: object + required: + - metrics + - equation + properties: + metrics: + description: >- + List of metrics with their name, aggregation type, and + field. + type: array + items: + type: object + required: + - name + - aggregation + - field + properties: + name: + description: The name of the metric. Only valid options are A-Z + type: string + example: A + pattern: ^[A-Z]$ + aggregation: + description: >- + The aggregation type of the metric. Only valid option + is "sum" + type: string + example: sum + enum: + - sum + field: + description: The field of the metric. + type: string + example: processor.processed + filter: + description: The filter to apply to the metric. + type: string + example: 'processor.outcome: *' + equation: + description: The equation to calculate the "total" metric. + type: string + example: A + type: + description: The type of indicator. + type: string + example: sli.metric.custom + SLOs_indicator_properties_histogram: + title: Histogram indicator + required: + - type + - params + description: Defines properties for a histogram indicator type type: object properties: - data_view: + params: + description: An object containing the indicator parameters. type: object + nullable: false + required: + - index + - timestampField + - good + - total properties: - allowNoIndex: - $ref: '#/components/schemas/Data_views_allownoindex' - fieldAttrs: - $ref: '#/components/schemas/Data_views_fieldattrs' - fieldFormats: - $ref: '#/components/schemas/Data_views_fieldformats' - fields: - type: object - id: + index: + description: The index or index pattern to use type: string - example: ff959d40-b880-11e8-a6d9-e546fe2bba5f - name: + example: my-service-* + dataViewId: + description: >- + The kibana data view id to use, primarily used to include data + view runtime mappings. Make sure to save SLO again if you + add/update run time fields to the data view and if those fields + are being used in slo queries. type: string - description: The data view name. - namespaces: - $ref: '#/components/schemas/Data_views_namespaces' - runtimeFieldMap: - $ref: '#/components/schemas/Data_views_runtimefieldmap' - sourceFilters: - $ref: '#/components/schemas/Data_views_sourcefilters' - timeFieldName: - $ref: '#/components/schemas/Data_views_timefieldname' - title: - $ref: '#/components/schemas/Data_views_title' - typeMeta: - $ref: '#/components/schemas/Data_views_typemeta' - version: + example: 03b80ab3-003d-498b-881c-3beedbaf1162 + filter: + description: the KQL query to filter the documents with. type: string - example: WzQ2LDJd - Data_views_404_response: + example: 'field.environment : "production" and service.name : "my-service"' + timestampField: + description: | + The timestamp field used in the source indice. + type: string + example: timestamp + good: + description: | + An object defining the "good" events + type: object + required: + - aggregation + - field + properties: + field: + description: The field use to aggregate the good events. + type: string + example: processor.latency + aggregation: + description: The type of aggregation to use. + type: string + example: value_count + enum: + - value_count + - range + filter: + description: The filter for good events. + type: string + example: 'processor.outcome: "success"' + from: + description: >- + The starting value of the range. Only required for "range" + aggregations. + type: number + example: 0 + to: + description: >- + The ending value of the range. Only required for "range" + aggregations. + type: number + example: 100 + total: + description: | + An object defining the "total" events + type: object + required: + - aggregation + - field + properties: + field: + description: The field use to aggregate the good events. + type: string + example: processor.latency + aggregation: + description: The type of aggregation to use. + type: string + example: value_count + enum: + - value_count + - range + filter: + description: The filter for total events. + type: string + example: 'processor.outcome : *' + from: + description: >- + The starting value of the range. Only required for "range" + aggregations. + type: number + example: 0 + to: + description: >- + The ending value of the range. Only required for "range" + aggregations. + type: number + example: 100 + type: + description: The type of indicator. + type: string + example: sli.histogram.custom + SLOs_timeslice_metric_basic_metric_with_field: + title: Timeslice Metric Basic Metric with Field + required: + - name + - aggregation + - field type: object properties: - error: + name: + description: The name of the metric. Only valid options are A-Z type: string - example: Not Found - enum: - - Not Found - message: + example: A + pattern: ^[A-Z]$ + aggregation: + description: The aggregation type of the metric. type: string - example: >- - Saved object [index-pattern/caaad6d0-920c-11ed-b36a-874bd1548a00] - not found - statusCode: - type: integer - example: 404 + example: sum enum: - - 404 - Data_views_update_data_view_request_object: - title: Update data view request - type: object + - sum + - avg + - min + - max + - std_deviation + - last_value + - cardinality + field: + description: The field of the metric. + type: string + example: processor.processed + filter: + description: The filter to apply to the metric. + type: string + example: 'processor.outcome: "success"' + SLOs_timeslice_metric_percentile_metric: + title: Timeslice Metric Percentile Metric required: - - data_view - properties: - data_view: - type: object - description: > - The data view properties you want to update. Only the specified - properties are updated in the data view. Unspecified fields stay as - they are persisted. - properties: - allowNoIndex: - $ref: '#/components/schemas/Data_views_allownoindex' - fieldFormats: - $ref: '#/components/schemas/Data_views_fieldformats' - fields: - type: object - name: - type: string - runtimeFieldMap: - $ref: '#/components/schemas/Data_views_runtimefieldmap' - sourceFilters: - $ref: '#/components/schemas/Data_views_sourcefilters' - timeFieldName: - $ref: '#/components/schemas/Data_views_timefieldname' - title: - $ref: '#/components/schemas/Data_views_title' - type: - $ref: '#/components/schemas/Data_views_type' - typeMeta: - $ref: '#/components/schemas/Data_views_typemeta' - refresh_fields: - type: boolean - description: Reloads the data view fields after the data view is updated. - default: false - Machine_learning_APIs_mlSyncResponseSuccess: - type: boolean - description: The success or failure of the synchronization. - Machine_learning_APIs_mlSyncResponseAnomalyDetectors: + - name + - aggregation + - field + - percentile type: object - title: Sync API response for anomaly detection jobs - description: >- - The sync machine learning saved objects API response contains this - object when there are anomaly detection jobs affected by the - synchronization. There is an object for each relevant job, which - contains the synchronization status. properties: - success: - $ref: '#/components/schemas/Machine_learning_APIs_mlSyncResponseSuccess' - Machine_learning_APIs_mlSyncResponseDatafeeds: + name: + description: The name of the metric. Only valid options are A-Z + type: string + example: A + pattern: ^[A-Z]$ + aggregation: + description: >- + The aggregation type of the metric. Only valid option is + "percentile" + type: string + example: percentile + enum: + - percentile + field: + description: The field of the metric. + type: string + example: processor.processed + percentile: + description: The percentile value. + type: number + example: 95 + filter: + description: The filter to apply to the metric. + type: string + example: 'processor.outcome: "success"' + SLOs_timeslice_metric_doc_count_metric: + title: Timeslice Metric Doc Count Metric + required: + - name + - aggregation type: object - title: Sync API response for datafeeds - description: >- - The sync machine learning saved objects API response contains this - object when there are datafeeds affected by the synchronization. There - is an object for each relevant datafeed, which contains the - synchronization status. properties: - success: - $ref: '#/components/schemas/Machine_learning_APIs_mlSyncResponseSuccess' - Machine_learning_APIs_mlSyncResponseDataFrameAnalytics: + name: + description: The name of the metric. Only valid options are A-Z + type: string + example: A + pattern: ^[A-Z]$ + aggregation: + description: The aggregation type of the metric. Only valid option is "doc_count" + type: string + example: doc_count + enum: + - doc_count + filter: + description: The filter to apply to the metric. + type: string + example: 'processor.outcome: "success"' + SLOs_indicator_properties_timeslice_metric: + title: Timeslice metric + required: + - type + - params + description: Defines properties for a timeslice metric indicator type type: object - title: Sync API response for data frame analytics jobs - description: >- - The sync machine learning saved objects API response contains this - object when there are data frame analytics jobs affected by the - synchronization. There is an object for each relevant job, which - contains the synchronization status. properties: - success: - $ref: '#/components/schemas/Machine_learning_APIs_mlSyncResponseSuccess' - Machine_learning_APIs_mlSyncResponseSavedObjectsCreated: + params: + description: An object containing the indicator parameters. + type: object + nullable: false + required: + - index + - timestampField + - metric + properties: + index: + description: The index or index pattern to use + type: string + example: my-service-* + dataViewId: + description: >- + The kibana data view id to use, primarily used to include data + view runtime mappings. Make sure to save SLO again if you + add/update run time fields to the data view and if those fields + are being used in slo queries. + type: string + example: 03b80ab3-003d-498b-881c-3beedbaf1162 + filter: + description: the KQL query to filter the documents with. + type: string + example: 'field.environment : "production" and service.name : "my-service"' + timestampField: + description: | + The timestamp field used in the source indice. + type: string + example: timestamp + metric: + description: > + An object defining the metrics, equation, and threshold to + determine if it's a good slice or not + type: object + required: + - metrics + - equation + - comparator + - threshold + properties: + metrics: + description: >- + List of metrics with their name, aggregation type, and + field. + type: array + items: + anyOf: + - $ref: >- + #/components/schemas/SLOs_timeslice_metric_basic_metric_with_field + - $ref: >- + #/components/schemas/SLOs_timeslice_metric_percentile_metric + - $ref: >- + #/components/schemas/SLOs_timeslice_metric_doc_count_metric + equation: + description: The equation to calculate the metric. + type: string + example: A + comparator: + description: >- + The comparator to use to compare the equation to the + threshold. + type: string + example: GT + enum: + - GT + - GTE + - LT + - LTE + threshold: + description: >- + The threshold used to determine if the metric is a good + slice or not. + type: number + example: 100 + type: + description: The type of indicator. + type: string + example: sli.metric.timeslice + SLOs_time_window: + title: Time window + required: + - duration + - type + description: Defines properties for the SLO time window type: object - title: Sync API response for created saved objects - description: >- - If saved objects are missing for machine learning jobs or trained - models, they are created when you run the sync machine learning saved - objects API. properties: - anomaly-detector: - type: object + duration: description: >- - If saved objects are missing for anomaly detection jobs, they are - created. - additionalProperties: - $ref: >- - #/components/schemas/Machine_learning_APIs_mlSyncResponseAnomalyDetectors - data-frame-analytics: - type: object + the duration formatted as {duration}{unit}. Accepted values for + rolling: 7d, 30d, 90d. Accepted values for calendar aligned: 1w + (weekly) or 1M (monthly) + type: string + example: 30d + type: description: >- - If saved objects are missing for data frame analytics jobs, they are - created. - additionalProperties: - $ref: >- - #/components/schemas/Machine_learning_APIs_mlSyncResponseDataFrameAnalytics - trained-model: - type: object - description: If saved objects are missing for trained models, they are created. - additionalProperties: - $ref: >- - #/components/schemas/Machine_learning_APIs_mlSyncResponseTrainedModels - Machine_learning_APIs_mlSyncResponseSavedObjectsDeleted: + Indicates weither the time window is a rolling or a calendar aligned + time window. + type: string + example: rolling + enum: + - rolling + - calendarAligned + SLOs_budgeting_method: + title: Budgeting method + type: string + description: The budgeting method to use when computing the rollup data. + enum: + - occurrences + - timeslices + example: occurrences + SLOs_objective: + title: Objective + required: + - target + description: Defines properties for the SLO objective type: object - title: Sync API response for deleted saved objects - description: >- - If saved objects exist for machine learning jobs or trained models that - no longer exist, they are deleted when you run the sync machine learning - saved objects API. properties: - anomaly-detector: - type: object - description: >- - If there are saved objects exist for nonexistent anomaly detection - jobs, they are deleted. - additionalProperties: - $ref: >- - #/components/schemas/Machine_learning_APIs_mlSyncResponseAnomalyDetectors - data-frame-analytics: - type: object + target: + description: the target objective between 0 and 1 excluded + type: number + minimum: 0 + maximum: 100 + exclusiveMinimum: true + exclusiveMaximum: true + example: 0.99 + timesliceTarget: description: >- - If there are saved objects exist for nonexistent data frame - analytics jobs, they are deleted. - additionalProperties: - $ref: >- - #/components/schemas/Machine_learning_APIs_mlSyncResponseDataFrameAnalytics - trained-model: - type: object + the target objective for each slice when using a timeslices + budgeting method + type: number + minimum: 0 + maximum: 100 + example: 0.995 + timesliceWindow: description: >- - If there are saved objects exist for nonexistent trained models, - they are deleted. - additionalProperties: - $ref: >- - #/components/schemas/Machine_learning_APIs_mlSyncResponseTrainedModels - Machine_learning_APIs_mlSyncResponseTrainedModels: + the duration of each slice when using a timeslices budgeting method, + as {duraton}{unit} + type: string + example: 5m + SLOs_settings: + title: Settings + description: Defines properties for SLO settings. type: object - title: Sync API response for trained models - description: >- - The sync machine learning saved objects API response contains this - object when there are trained models affected by the synchronization. - There is an object for each relevant trained model, which contains the - synchronization status. properties: - success: - $ref: '#/components/schemas/Machine_learning_APIs_mlSyncResponseSuccess' - Machine_learning_APIs_mlSync200Response: + syncDelay: + description: The synch delay to apply to the transform. Default 1m + type: string + default: 1m + example: 5m + frequency: + description: Configure how often the transform runs, default 1m + type: string + default: 1m + example: 5m + preventInitialBackfill: + description: Prevents the transform from backfilling data when it starts. + type: boolean + default: false + example: true + SLOs_summary_status: + title: summary status + type: string + enum: + - NO_DATA + - HEALTHY + - DEGRADING + - VIOLATED + example: HEALTHY + SLOs_error_budget: + title: Error budget type: object - title: Successful sync API response + required: + - initial + - consumed + - remaining + - isEstimated properties: - datafeedsAdded: - type: object - description: >- - If a saved object for an anomaly detection job is missing a datafeed - identifier, it is added when you run the sync machine learning saved - objects API. - additionalProperties: - $ref: '#/components/schemas/Machine_learning_APIs_mlSyncResponseDatafeeds' - datafeedsRemoved: - type: object + initial: + type: number + description: The initial error budget, as 1 - objective + example: 0.02 + consumed: + type: number + description: The error budget consummed, as a percentage of the initial value. + example: 0.8 + remaining: + type: number + description: The error budget remaining, as a percentage of the initial value. + example: 0.2 + isEstimated: + type: boolean description: >- - If a saved object for an anomaly detection job references a datafeed - that no longer exists, it is deleted when you run the sync machine - learning saved objects API. - additionalProperties: - $ref: '#/components/schemas/Machine_learning_APIs_mlSyncResponseDatafeeds' - savedObjectsCreated: - $ref: >- - #/components/schemas/Machine_learning_APIs_mlSyncResponseSavedObjectsCreated - savedObjectsDeleted: - $ref: >- - #/components/schemas/Machine_learning_APIs_mlSyncResponseSavedObjectsDeleted - Machine_learning_APIs_mlSync4xxResponse: + Only for SLO defined with occurrences budgeting method and calendar + aligned time window. + example: true + SLOs_summary: + title: Summary type: object - title: Unsuccessful sync API response + description: The SLO computed data + required: + - status + - sliValue + - errorBudget + properties: + status: + $ref: '#/components/schemas/SLOs_summary_status' + sliValue: + type: number + example: 0.9836 + errorBudget: + $ref: '#/components/schemas/SLOs_error_budget' + SLOs_slo_with_summary_response: + title: SLO response + type: object + required: + - id + - name + - description + - indicator + - timeWindow + - budgetingMethod + - objective + - settings + - revision + - summary + - enabled + - groupBy + - instanceId + - tags + - createdAt + - updatedAt + - version + properties: + id: + description: The identifier of the SLO. + type: string + example: 8853df00-ae2e-11ed-90af-09bb6422b258 + name: + description: The name of the SLO. + type: string + example: My Service SLO + description: + description: The description of the SLO. + type: string + example: My SLO description + indicator: + discriminator: + propertyName: type + mapping: + sli.apm.transactionErrorRate: '#/components/schemas/SLOs_indicator_properties_apm_availability' + sli.kql.custom: '#/components/schemas/SLOs_indicator_properties_custom_kql' + sli.apm.transactionDuration: '#/components/schemas/SLOs_indicator_properties_apm_latency' + sli.metric.custom: '#/components/schemas/SLOs_indicator_properties_custom_metric' + sli.histogram.custom: '#/components/schemas/SLOs_indicator_properties_histogram' + sli.metric.timeslice: '#/components/schemas/SLOs_indicator_properties_timeslice_metric' + oneOf: + - $ref: '#/components/schemas/SLOs_indicator_properties_custom_kql' + - $ref: '#/components/schemas/SLOs_indicator_properties_apm_availability' + - $ref: '#/components/schemas/SLOs_indicator_properties_apm_latency' + - $ref: '#/components/schemas/SLOs_indicator_properties_custom_metric' + - $ref: '#/components/schemas/SLOs_indicator_properties_histogram' + - $ref: '#/components/schemas/SLOs_indicator_properties_timeslice_metric' + timeWindow: + $ref: '#/components/schemas/SLOs_time_window' + budgetingMethod: + $ref: '#/components/schemas/SLOs_budgeting_method' + objective: + $ref: '#/components/schemas/SLOs_objective' + settings: + $ref: '#/components/schemas/SLOs_settings' + revision: + description: The SLO revision + type: number + example: 2 + summary: + $ref: '#/components/schemas/SLOs_summary' + enabled: + description: Indicate if the SLO is enabled + type: boolean + example: true + groupBy: + description: optional group by field to use to generate an SLO per distinct value + type: string + example: some.field + instanceId: + description: the value derived from the groupBy field, if present, otherwise '*' + type: string + example: host-abcde + tags: + description: List of tags + type: array + items: + type: string + createdAt: + description: The creation date + type: string + example: '2023-01-12T10:03:19.000Z' + updatedAt: + description: The last update date + type: string + example: '2023-01-12T10:03:19.000Z' + version: + description: The internal SLO version + type: number + example: 2 + SLOs_find_slo_response: + title: Find SLO response + description: | + A paginated response of SLOs matching the query. + type: object + properties: + page: + type: number + example: 1 + perPage: + type: number + example: 25 + total: + type: number + example: 34 + results: + type: array + items: + $ref: '#/components/schemas/SLOs_slo_with_summary_response' + SLOs_400_response: + title: Bad request + type: object + required: + - statusCode + - error + - message properties: + statusCode: + type: number + example: 400 error: type: string - example: Unauthorized + example: Bad Request message: type: string + example: 'Invalid value ''foo'' supplied to: [...]' + SLOs_401_response: + title: Unauthorized + type: object + required: + - statusCode + - error + - message + properties: statusCode: - type: integer + type: number example: 401 - Serverless_saved_objects_400_response: - title: Bad request + error: + type: string + example: Unauthorized + message: + type: string + example: "[security_exception\n\tRoot causes:\n\t\tsecurity_exception: unable to authenticate user [elastics] for REST request [/_security/_authenticate]]: unable to authenticate user [elastics] for REST request [/_security/_authenticate]" + SLOs_403_response: + title: Unauthorized type: object required: + - statusCode - error - message + properties: + statusCode: + type: number + example: 403 + error: + type: string + example: Unauthorized + message: + type: string + example: "[security_exception\n\tRoot causes:\n\t\tsecurity_exception: unable to authenticate user [elastics] for REST request [/_security/_authenticate]]: unable to authenticate user [elastics] for REST request [/_security/_authenticate]" + SLOs_404_response: + title: Not found + type: object + required: - statusCode + - error + - message properties: + statusCode: + type: number + example: 404 error: type: string - enum: - - Bad Request + example: Not Found message: type: string + example: SLO [3749f390-03a3-11ee-8139-c7ff60a1692d] not found + SLOs_create_slo_request: + title: Create SLO request + description: > + The create SLO API request body varies depending on the type of + indicator, time window and budgeting method. + type: object + required: + - name + - description + - indicator + - timeWindow + - budgetingMethod + - objective + properties: + id: + description: >- + A optional and unique identifier for the SLO. Must be between 8 and + 36 chars + type: string + example: my-super-slo-id + name: + description: A name for the SLO. + type: string + description: + description: A description for the SLO. + type: string + indicator: + oneOf: + - $ref: '#/components/schemas/SLOs_indicator_properties_custom_kql' + - $ref: '#/components/schemas/SLOs_indicator_properties_apm_availability' + - $ref: '#/components/schemas/SLOs_indicator_properties_apm_latency' + - $ref: '#/components/schemas/SLOs_indicator_properties_custom_metric' + - $ref: '#/components/schemas/SLOs_indicator_properties_histogram' + - $ref: '#/components/schemas/SLOs_indicator_properties_timeslice_metric' + timeWindow: + $ref: '#/components/schemas/SLOs_time_window' + budgetingMethod: + $ref: '#/components/schemas/SLOs_budgeting_method' + objective: + $ref: '#/components/schemas/SLOs_objective' + settings: + $ref: '#/components/schemas/SLOs_settings' + groupBy: + description: optional group by field to use to generate an SLO per distinct value + type: string + example: some.field + tags: + description: List of tags + type: array + items: + type: string + SLOs_create_slo_response: + title: Create SLO response + type: object + required: + - id + properties: + id: + type: string + example: 8853df00-ae2e-11ed-90af-09bb6422b258 + SLOs_409_response: + title: Conflict + type: object + required: + - statusCode + - error + - message + properties: statusCode: - type: integer - enum: - - 400 - Serverless_saved_objects_export_objects_request: + type: number + example: 409 + error: + type: string + example: Conflict + message: + type: string + example: SLO [d077e940-1515-11ee-9c50-9d096392f520] already exists + SLOs_update_slo_request: + title: Update SLO request + description: > + The update SLO API request body varies depending on the type of + indicator, time window and budgeting method. Partial update is handled. type: object properties: - excludeExportDetails: - description: Do not add export details entry at the end of the stream. - type: boolean - default: false - includeReferencesDeep: - description: Includes all of the referenced objects in the exported objects. - type: boolean - objects: - description: A list of objects to export. + name: + description: A name for the SLO. + type: string + description: + description: A description for the SLO. + type: string + indicator: + oneOf: + - $ref: '#/components/schemas/SLOs_indicator_properties_custom_kql' + - $ref: '#/components/schemas/SLOs_indicator_properties_apm_availability' + - $ref: '#/components/schemas/SLOs_indicator_properties_apm_latency' + - $ref: '#/components/schemas/SLOs_indicator_properties_custom_metric' + - $ref: '#/components/schemas/SLOs_indicator_properties_histogram' + - $ref: '#/components/schemas/SLOs_indicator_properties_timeslice_metric' + timeWindow: + $ref: '#/components/schemas/SLOs_time_window' + budgetingMethod: + $ref: '#/components/schemas/SLOs_budgeting_method' + objective: + $ref: '#/components/schemas/SLOs_objective' + settings: + $ref: '#/components/schemas/SLOs_settings' + tags: + description: List of tags type: array items: - type: object - type: - description: >- - The saved object types to include in the export. Use `*` to export - all the types. + type: string + SLOs_slo_definition_response: + title: SLO definition response + type: object + required: + - id + - name + - description + - indicator + - timeWindow + - budgetingMethod + - objective + - settings + - revision + - enabled + - groupBy + - tags + - createdAt + - updatedAt + - version + properties: + id: + description: The identifier of the SLO. + type: string + example: 8853df00-ae2e-11ed-90af-09bb6422b258 + name: + description: The name of the SLO. + type: string + example: My Service SLO + description: + description: The description of the SLO. + type: string + example: My SLO description + indicator: + discriminator: + propertyName: type + mapping: + sli.apm.transactionErrorRate: '#/components/schemas/SLOs_indicator_properties_apm_availability' + sli.kql.custom: '#/components/schemas/SLOs_indicator_properties_custom_kql' + sli.apm.transactionDuration: '#/components/schemas/SLOs_indicator_properties_apm_latency' + sli.metric.custom: '#/components/schemas/SLOs_indicator_properties_custom_metric' + sli.histogram.custom: '#/components/schemas/SLOs_indicator_properties_histogram' + sli.metric.timeslice: '#/components/schemas/SLOs_indicator_properties_timeslice_metric' oneOf: - - type: string - - type: array - items: - type: string - Serverless_saved_objects_import_objects_request: + - $ref: '#/components/schemas/SLOs_indicator_properties_custom_kql' + - $ref: '#/components/schemas/SLOs_indicator_properties_apm_availability' + - $ref: '#/components/schemas/SLOs_indicator_properties_apm_latency' + - $ref: '#/components/schemas/SLOs_indicator_properties_custom_metric' + - $ref: '#/components/schemas/SLOs_indicator_properties_histogram' + - $ref: '#/components/schemas/SLOs_indicator_properties_timeslice_metric' + timeWindow: + $ref: '#/components/schemas/SLOs_time_window' + budgetingMethod: + $ref: '#/components/schemas/SLOs_budgeting_method' + objective: + $ref: '#/components/schemas/SLOs_objective' + settings: + $ref: '#/components/schemas/SLOs_settings' + revision: + description: The SLO revision + type: number + example: 2 + enabled: + description: Indicate if the SLO is enabled + type: boolean + example: true + groupBy: + description: optional group by field to use to generate an SLO per distinct value + type: string + example: some.field + tags: + description: List of tags + type: array + items: + type: string + createdAt: + description: The creation date + type: string + example: '2023-01-12T10:03:19.000Z' + updatedAt: + description: The last update date + type: string + example: '2023-01-12T10:03:19.000Z' + version: + description: The internal SLO version + type: number + example: 2 + SLOs_historical_summary_request: + title: Historical summary request type: object + required: + - list properties: - file: - description: > - A file exported using the export API. NOTE: The - `savedObjects.maxImportExportSize` configuration setting limits the - number of saved objects which may be included in this file. - Similarly, the `savedObjects.maxImportPayloadBytes` setting limits - the overall size of the file that can be imported. - Serverless_saved_objects_200_import_objects_response: + list: + description: The list of SLO identifiers to get the historical summary for + type: array + items: + type: string + example: 8853df00-ae2e-11ed-90af-09bb6422b258 + SLOs_historical_summary_response: + title: Historical summary response + type: object + additionalProperties: + type: array + items: + type: object + properties: + date: + type: string + example: '2022-01-01T00:00:00.000Z' + status: + $ref: '#/components/schemas/SLOs_summary_status' + sliValue: + type: number + example: 0.9836 + errorBudget: + $ref: '#/components/schemas/SLOs_error_budget' + SLOs_find_slo_definitions_response: + title: Find SLO definitions response + description: | + A paginated response of SLO definitions matching the query. type: object properties: - success: - type: boolean - description: > - Indicates when the import was successfully completed. When set to - false, some objects may not have been created. For additional - information, refer to the `errors` and `successResults` properties. - successCount: - type: integer - description: Indicates the number of successfully imported records. - errors: + page: + type: number + example: 2 + perPage: + type: number + example: 100 + total: + type: number + example: 123 + results: type: array items: - type: object - description: > - Indicates the import was unsuccessful and specifies the objects that - failed to import. - - - NOTE: One object may result in multiple errors, which requires - separate steps to resolve. For instance, a `missing_references` - error and conflict error. - successResults: + $ref: '#/components/schemas/SLOs_slo_definition_response' + SLOs_delete_slo_instances_request: + title: Delete SLO instances request + description: > + The delete SLO instances request takes a list of SLO id and instance id, + then delete the rollup and summary data. This API can be used to remove + the staled data of an instance SLO that no longer get updated. + type: object + required: + - list + properties: + list: + description: An array of slo id and instance id type: array items: type: object - description: > - Indicates the objects that are successfully imported, with any - metadata if applicable. - - - NOTE: Objects are created only when all resolvable errors are - addressed, including conflicts and missing references. If objects - are created as new copies, each entry in the `successResults` array - includes a `destinationId` attribute. + required: + - sloId + - instanceId + properties: + sloId: + description: The SLO unique identifier + type: string + example: 8853df00-ae2e-11ed-90af-09bb6422b258 + instanceId: + description: The SLO instance identifier + type: string + example: 8853df00-ae2e-11ed-90af-09bb6422b258 examples: Connectors_create_email_connector_request: summary: Create an email connector. @@ -7392,3 +9255,6 @@ x-tagGroups: - name: Serverless saved objects tags: - saved objects + - name: SLOs + tags: + - slo diff --git a/oas_docs/makefile b/oas_docs/makefile index 805da0b6218a7..da353781351b0 100644 --- a/oas_docs/makefile +++ b/oas_docs/makefile @@ -15,7 +15,7 @@ .PHONY: api-docs api-docs: ## Generate kibana.serverless.yaml - @npx @redocly/cli join "kibana.info.serverless.yaml" "../x-pack/plugins/observability_solution/apm/docs/openapi/apm.yaml" "../x-pack/plugins/actions/docs/openapi/bundled_serverless.yaml" "../src/plugins/data_views/docs/openapi/bundled.yaml" "../x-pack/plugins/ml/common/openapi/ml_apis_serverless.yaml" "../packages/core/saved-objects/docs/openapi/bundled_serverless.yaml" -o "kibana.serverless.yaml" --prefix-components-with-info-prop title + @npx @redocly/cli join "kibana.info.serverless.yaml" "../x-pack/plugins/observability_solution/apm/docs/openapi/apm.yaml" "../x-pack/plugins/actions/docs/openapi/bundled_serverless.yaml" "../src/plugins/data_views/docs/openapi/bundled.yaml" "../x-pack/plugins/ml/common/openapi/ml_apis_serverless.yaml" "../packages/core/saved-objects/docs/openapi/bundled_serverless.yaml" "../x-pack/plugins/observability_solution/slo/docs/openapi/slo/bundled.yaml" -o "kibana.serverless.yaml" --prefix-components-with-info-prop title .PHONY: api-docs-lint api-docs-lint: ## Run spectral API docs linter diff --git a/x-pack/plugins/observability_solution/slo/docs/openapi/slo/bundled.json b/x-pack/plugins/observability_solution/slo/docs/openapi/slo/bundled.json index 3d301d36bfb59..c0fa8347e216b 100644 --- a/x-pack/plugins/observability_solution/slo/docs/openapi/slo/bundled.json +++ b/x-pack/plugins/observability_solution/slo/docs/openapi/slo/bundled.json @@ -35,7 +35,7 @@ "paths": { "/s/{spaceId}/api/observability/slos": { "post": { - "summary": "Creates an SLO.", + "summary": "Create an SLO", "operationId": "createSloOp", "description": "You must have `all` privileges for the **SLOs** feature in the **Observability** section of the Kibana feature privileges.\n", "tags": [ @@ -256,7 +256,7 @@ }, "/s/{spaceId}/api/observability/slos/{sloId}": { "get": { - "summary": "Get a SLO", + "summary": "Get an SLO", "operationId": "getSloOp", "description": "You must have the `read` privileges for the **SLOs** feature in the **Observability** section of the Kibana feature privileges.\n", "tags": [ @@ -336,7 +336,7 @@ } }, "put": { - "summary": "Updates an SLO", + "summary": "Update an SLO", "operationId": "updateSloOp", "description": "You must have the `write` privileges for the **SLOs** feature in the **Observability** section of the Kibana feature privileges.\n", "tags": [ @@ -417,7 +417,7 @@ } }, "delete": { - "summary": "Deletes an SLO", + "summary": "Delete an SLO", "operationId": "deleteSloOp", "description": "You must have the `write` privileges for the **SLOs** feature in the **Observability** section of the Kibana feature privileges.\n", "tags": [ @@ -483,7 +483,7 @@ }, "/s/{spaceId}/api/observability/slos/{sloId}/enable": { "post": { - "summary": "Enables an SLO", + "summary": "Enable an SLO", "operationId": "enableSloOp", "description": "You must have the `write` privileges for the **SLOs** feature in the **Observability** section of the Kibana feature privileges.\n", "tags": [ @@ -549,7 +549,7 @@ }, "/s/{spaceId}/api/observability/slos/{sloId}/disable": { "post": { - "summary": "Disables an SLO", + "summary": "Disable an SLO", "operationId": "disableSloOp", "description": "You must have the `write` privileges for the **SLOs** feature in the **Observability** section of the Kibana feature privileges.\n", "tags": [ @@ -615,7 +615,7 @@ }, "/s/{spaceId}/api/observability/slos/{sloId}/_reset": { "post": { - "summary": "Resets an SLO.", + "summary": "Reset an SLO", "operationId": "resetSloOp", "description": "You must have the `write` privileges for the **SLOs** feature in the **Observability** section of the Kibana feature privileges.\n", "tags": [ @@ -1111,7 +1111,7 @@ ] }, "kql_with_filters_good": { - "title": "KQL with filters", + "title": "KQL query for good events", "description": "The KQL query used to define the good events.", "oneOf": [ { @@ -1136,7 +1136,7 @@ ] }, "kql_with_filters_total": { - "title": "KQL with filters", + "title": "KQL query for all events", "description": "The KQL query used to define all events.", "oneOf": [ { diff --git a/x-pack/plugins/observability_solution/slo/docs/openapi/slo/bundled.yaml b/x-pack/plugins/observability_solution/slo/docs/openapi/slo/bundled.yaml index a268d442433aa..5aae7bbce3778 100644 --- a/x-pack/plugins/observability_solution/slo/docs/openapi/slo/bundled.yaml +++ b/x-pack/plugins/observability_solution/slo/docs/openapi/slo/bundled.yaml @@ -20,7 +20,7 @@ tags: paths: /s/{spaceId}/api/observability/slos: post: - summary: Creates an SLO. + summary: Create an SLO operationId: createSloOp description: | You must have `all` privileges for the **SLOs** feature in the **Observability** section of the Kibana feature privileges. @@ -159,7 +159,7 @@ paths: $ref: '#/components/schemas/404_response' /s/{spaceId}/api/observability/slos/{sloId}: get: - summary: Get a SLO + summary: Get an SLO operationId: getSloOp description: | You must have the `read` privileges for the **SLOs** feature in the **Observability** section of the Kibana feature privileges. @@ -207,7 +207,7 @@ paths: schema: $ref: '#/components/schemas/404_response' put: - summary: Updates an SLO + summary: Update an SLO operationId: updateSloOp description: | You must have the `write` privileges for the **SLOs** feature in the **Observability** section of the Kibana feature privileges. @@ -255,7 +255,7 @@ paths: schema: $ref: '#/components/schemas/404_response' delete: - summary: Deletes an SLO + summary: Delete an SLO operationId: deleteSloOp description: | You must have the `write` privileges for the **SLOs** feature in the **Observability** section of the Kibana feature privileges. @@ -294,7 +294,7 @@ paths: $ref: '#/components/schemas/404_response' /s/{spaceId}/api/observability/slos/{sloId}/enable: post: - summary: Enables an SLO + summary: Enable an SLO operationId: enableSloOp description: | You must have the `write` privileges for the **SLOs** feature in the **Observability** section of the Kibana feature privileges. @@ -333,7 +333,7 @@ paths: $ref: '#/components/schemas/404_response' /s/{spaceId}/api/observability/slos/{sloId}/disable: post: - summary: Disables an SLO + summary: Disable an SLO operationId: disableSloOp description: | You must have the `write` privileges for the **SLOs** feature in the **Observability** section of the Kibana feature privileges. @@ -372,7 +372,7 @@ paths: $ref: '#/components/schemas/404_response' /s/{spaceId}/api/observability/slos/{sloId}/_reset: post: - summary: Resets an SLO. + summary: Reset an SLO operationId: resetSloOp description: | You must have the `write` privileges for the **SLOs** feature in the **Observability** section of the Kibana feature privileges. @@ -694,7 +694,7 @@ components: items: $ref: '#/components/schemas/filter' kql_with_filters_good: - title: KQL with filters + title: KQL query for good events description: The KQL query used to define the good events. oneOf: - description: the KQL query to filter the documents with. @@ -709,7 +709,7 @@ components: items: $ref: '#/components/schemas/filter' kql_with_filters_total: - title: KQL with filters + title: KQL query for all events description: The KQL query used to define all events. oneOf: - description: the KQL query to filter the documents with. diff --git a/x-pack/plugins/observability_solution/slo/docs/openapi/slo/components/schemas/indicator_properties_custom_kql.yaml b/x-pack/plugins/observability_solution/slo/docs/openapi/slo/components/schemas/indicator_properties_custom_kql.yaml index 4f93275b09e4b..8bcfaee4fcd1e 100644 --- a/x-pack/plugins/observability_solution/slo/docs/openapi/slo/components/schemas/indicator_properties_custom_kql.yaml +++ b/x-pack/plugins/observability_solution/slo/docs/openapi/slo/components/schemas/indicator_properties_custom_kql.yaml @@ -23,7 +23,7 @@ properties: description: The kibana data view id to use, primarily used to include data view runtime mappings. Make sure to save SLO again if you add/update run time fields to the data view and if those fields are being used in slo queries. type: string - example: 03b80ab3-003d-498b-881c-3beedbaf1162 + example: '03b80ab3-003d-498b-881c-3beedbaf1162' filter: $ref: "kql_with_filters.yaml" good: diff --git a/x-pack/plugins/observability_solution/slo/docs/openapi/slo/components/schemas/indicator_properties_custom_metric.yaml b/x-pack/plugins/observability_solution/slo/docs/openapi/slo/components/schemas/indicator_properties_custom_metric.yaml index 1d9a0ed827913..4084cf6feb763 100644 --- a/x-pack/plugins/observability_solution/slo/docs/openapi/slo/components/schemas/indicator_properties_custom_metric.yaml +++ b/x-pack/plugins/observability_solution/slo/docs/openapi/slo/components/schemas/indicator_properties_custom_metric.yaml @@ -23,7 +23,7 @@ properties: description: The kibana data view id to use, primarily used to include data view runtime mappings. Make sure to save SLO again if you add/update run time fields to the data view and if those fields are being used in slo queries. type: string - example: 03b80ab3-003d-498b-881c-3beedbaf1162 + example: '03b80ab3-003d-498b-881c-3beedbaf1162' filter: description: the KQL query to filter the documents with. type: string diff --git a/x-pack/plugins/observability_solution/slo/docs/openapi/slo/components/schemas/indicator_properties_histogram.yaml b/x-pack/plugins/observability_solution/slo/docs/openapi/slo/components/schemas/indicator_properties_histogram.yaml index 9dbaa87e838a5..3af531f80e5c6 100644 --- a/x-pack/plugins/observability_solution/slo/docs/openapi/slo/components/schemas/indicator_properties_histogram.yaml +++ b/x-pack/plugins/observability_solution/slo/docs/openapi/slo/components/schemas/indicator_properties_histogram.yaml @@ -23,7 +23,7 @@ properties: description: The kibana data view id to use, primarily used to include data view runtime mappings. Make sure to save SLO again if you add/update run time fields to the data view and if those fields are being used in slo queries. type: string - example: 03b80ab3-003d-498b-881c-3beedbaf1162 + example: '03b80ab3-003d-498b-881c-3beedbaf1162' filter: description: the KQL query to filter the documents with. type: string diff --git a/x-pack/plugins/observability_solution/slo/docs/openapi/slo/components/schemas/indicator_properties_timeslice_metric.yaml b/x-pack/plugins/observability_solution/slo/docs/openapi/slo/components/schemas/indicator_properties_timeslice_metric.yaml index 43d399c733e02..8102ec0a312e6 100644 --- a/x-pack/plugins/observability_solution/slo/docs/openapi/slo/components/schemas/indicator_properties_timeslice_metric.yaml +++ b/x-pack/plugins/observability_solution/slo/docs/openapi/slo/components/schemas/indicator_properties_timeslice_metric.yaml @@ -22,7 +22,7 @@ properties: description: The kibana data view id to use, primarily used to include data view runtime mappings. Make sure to save SLO again if you add/update run time fields to the data view and if those fields are being used in slo queries. type: string - example: 03b80ab3-003d-498b-881c-3beedbaf1162 + example: '03b80ab3-003d-498b-881c-3beedbaf1162' filter: description: the KQL query to filter the documents with. type: string diff --git a/x-pack/plugins/observability_solution/slo/docs/openapi/slo/components/schemas/kql_with_filters_good.yaml b/x-pack/plugins/observability_solution/slo/docs/openapi/slo/components/schemas/kql_with_filters_good.yaml index 55f451341f139..a8b97fcf669db 100644 --- a/x-pack/plugins/observability_solution/slo/docs/openapi/slo/components/schemas/kql_with_filters_good.yaml +++ b/x-pack/plugins/observability_solution/slo/docs/openapi/slo/components/schemas/kql_with_filters_good.yaml @@ -1,4 +1,4 @@ -title: KQL with filters +title: KQL query for good events description: The KQL query used to define the good events. oneOf: - description: the KQL query to filter the documents with. diff --git a/x-pack/plugins/observability_solution/slo/docs/openapi/slo/components/schemas/kql_with_filters_total.yaml b/x-pack/plugins/observability_solution/slo/docs/openapi/slo/components/schemas/kql_with_filters_total.yaml index 70b621db10196..ff0ebfca3274f 100644 --- a/x-pack/plugins/observability_solution/slo/docs/openapi/slo/components/schemas/kql_with_filters_total.yaml +++ b/x-pack/plugins/observability_solution/slo/docs/openapi/slo/components/schemas/kql_with_filters_total.yaml @@ -1,4 +1,4 @@ -title: KQL with filters +title: KQL query for all events description: The KQL query used to define all events. oneOf: - description: the KQL query to filter the documents with. diff --git a/x-pack/plugins/observability_solution/slo/docs/openapi/slo/paths/s@{spaceid}@api@slos.yaml b/x-pack/plugins/observability_solution/slo/docs/openapi/slo/paths/s@{spaceid}@api@slos.yaml index 08c47f2dfb1bc..ed489df00d800 100644 --- a/x-pack/plugins/observability_solution/slo/docs/openapi/slo/paths/s@{spaceid}@api@slos.yaml +++ b/x-pack/plugins/observability_solution/slo/docs/openapi/slo/paths/s@{spaceid}@api@slos.yaml @@ -1,5 +1,5 @@ post: - summary: Creates an SLO. + summary: Create an SLO operationId: createSloOp description: > You must have `all` privileges for the **SLOs** feature in the diff --git a/x-pack/plugins/observability_solution/slo/docs/openapi/slo/paths/s@{spaceid}@api@slos@{sloid}.yaml b/x-pack/plugins/observability_solution/slo/docs/openapi/slo/paths/s@{spaceid}@api@slos@{sloid}.yaml index 98c0fd7b62ee7..a2e3d646b68fd 100644 --- a/x-pack/plugins/observability_solution/slo/docs/openapi/slo/paths/s@{spaceid}@api@slos@{sloid}.yaml +++ b/x-pack/plugins/observability_solution/slo/docs/openapi/slo/paths/s@{spaceid}@api@slos@{sloid}.yaml @@ -1,5 +1,5 @@ get: - summary: Get a SLO + summary: Get an SLO operationId: getSloOp description: > You must have the `read` privileges for the **SLOs** feature in the @@ -49,7 +49,7 @@ get: $ref: '../components/schemas/404_response.yaml' put: - summary: Updates an SLO + summary: Update an SLO operationId: updateSloOp description: > You must have the `write` privileges for the **SLOs** feature in the @@ -99,7 +99,7 @@ put: $ref: '../components/schemas/404_response.yaml' delete: - summary: Deletes an SLO + summary: Delete an SLO operationId: deleteSloOp description: > You must have the `write` privileges for the **SLOs** feature in the diff --git a/x-pack/plugins/observability_solution/slo/docs/openapi/slo/paths/s@{spaceid}@api@slos@{sloid}@_reset.yaml b/x-pack/plugins/observability_solution/slo/docs/openapi/slo/paths/s@{spaceid}@api@slos@{sloid}@_reset.yaml index 6739d3df78328..e805c1117f5c1 100644 --- a/x-pack/plugins/observability_solution/slo/docs/openapi/slo/paths/s@{spaceid}@api@slos@{sloid}@_reset.yaml +++ b/x-pack/plugins/observability_solution/slo/docs/openapi/slo/paths/s@{spaceid}@api@slos@{sloid}@_reset.yaml @@ -1,5 +1,5 @@ post: - summary: Resets an SLO. + summary: Reset an SLO operationId: resetSloOp description: > You must have the `write` privileges for the **SLOs** feature in the diff --git a/x-pack/plugins/observability_solution/slo/docs/openapi/slo/paths/s@{spaceid}@api@slos@{sloid}@disable.yaml b/x-pack/plugins/observability_solution/slo/docs/openapi/slo/paths/s@{spaceid}@api@slos@{sloid}@disable.yaml index 2e756641b428c..704e2f8d24359 100644 --- a/x-pack/plugins/observability_solution/slo/docs/openapi/slo/paths/s@{spaceid}@api@slos@{sloid}@disable.yaml +++ b/x-pack/plugins/observability_solution/slo/docs/openapi/slo/paths/s@{spaceid}@api@slos@{sloid}@disable.yaml @@ -1,5 +1,5 @@ post: - summary: Disables an SLO + summary: Disable an SLO operationId: disableSloOp description: > You must have the `write` privileges for the **SLOs** feature in the diff --git a/x-pack/plugins/observability_solution/slo/docs/openapi/slo/paths/s@{spaceid}@api@slos@{sloid}@enable.yaml b/x-pack/plugins/observability_solution/slo/docs/openapi/slo/paths/s@{spaceid}@api@slos@{sloid}@enable.yaml index 2ff3b9de58388..6a0c575954c8d 100644 --- a/x-pack/plugins/observability_solution/slo/docs/openapi/slo/paths/s@{spaceid}@api@slos@{sloid}@enable.yaml +++ b/x-pack/plugins/observability_solution/slo/docs/openapi/slo/paths/s@{spaceid}@api@slos@{sloid}@enable.yaml @@ -1,5 +1,5 @@ post: - summary: Enables an SLO + summary: Enable an SLO operationId: enableSloOp description: > You must have the `write` privileges for the **SLOs** feature in the From 5c58b225b9534b79c82e1a0c77e3a6417b4975a9 Mon Sep 17 00:00:00 2001 From: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> Date: Fri, 21 Jun 2024 07:05:21 +0200 Subject: [PATCH 03/80] [api-docs] 2024-06-21 Daily api_docs build (#186584) Generated by https://buildkite.com/elastic/kibana-api-docs-daily/builds/744 --- api_docs/actions.mdx | 2 +- api_docs/advanced_settings.mdx | 2 +- .../ai_assistant_management_selection.mdx | 2 +- api_docs/aiops.mdx | 2 +- api_docs/alerting.devdocs.json | 8 - api_docs/alerting.mdx | 2 +- api_docs/apm.devdocs.json | 86 +- api_docs/apm.mdx | 2 +- api_docs/apm_data_access.mdx | 2 +- api_docs/asset_manager.devdocs.json | 28 + api_docs/asset_manager.mdx | 4 +- api_docs/assets_data_access.mdx | 2 +- api_docs/banners.mdx | 2 +- api_docs/bfetch.mdx | 2 +- api_docs/canvas.mdx | 2 +- api_docs/cases.mdx | 2 +- api_docs/charts.mdx | 2 +- api_docs/cloud.mdx | 2 +- api_docs/cloud_data_migration.mdx | 2 +- api_docs/cloud_defend.mdx | 2 +- api_docs/cloud_experiments.mdx | 2 +- api_docs/cloud_security_posture.mdx | 2 +- api_docs/console.mdx | 2 +- api_docs/content_management.mdx | 2 +- api_docs/controls.mdx | 2 +- api_docs/custom_integrations.mdx | 2 +- api_docs/dashboard.mdx | 2 +- api_docs/dashboard_enhanced.mdx | 2 +- api_docs/data.mdx | 2 +- api_docs/data_quality.mdx | 2 +- api_docs/data_query.mdx | 2 +- api_docs/data_search.mdx | 2 +- api_docs/data_view_editor.mdx | 2 +- api_docs/data_view_field_editor.mdx | 2 +- api_docs/data_view_management.mdx | 2 +- api_docs/data_views.mdx | 2 +- api_docs/data_visualizer.mdx | 2 +- api_docs/dataset_quality.mdx | 2 +- api_docs/deprecations_by_api.mdx | 13 +- api_docs/deprecations_by_plugin.mdx | 20 +- api_docs/deprecations_by_team.mdx | 2 +- api_docs/dev_tools.mdx | 2 +- api_docs/discover.devdocs.json | 74 +- api_docs/discover.mdx | 4 +- api_docs/discover_enhanced.mdx | 2 +- api_docs/discover_shared.mdx | 2 +- api_docs/ecs_data_quality_dashboard.mdx | 2 +- api_docs/elastic_assistant.mdx | 2 +- api_docs/embeddable.devdocs.json | 50 +- api_docs/embeddable.mdx | 2 +- api_docs/embeddable_enhanced.mdx | 2 +- api_docs/encrypted_saved_objects.mdx | 2 +- api_docs/enterprise_search.mdx | 2 +- api_docs/es_ui_shared.mdx | 2 +- api_docs/esql_data_grid.mdx | 2 +- api_docs/event_annotation.mdx | 2 +- api_docs/event_annotation_listing.mdx | 2 +- api_docs/event_log.mdx | 2 +- api_docs/exploratory_view.mdx | 2 +- api_docs/expression_error.mdx | 2 +- api_docs/expression_gauge.mdx | 2 +- api_docs/expression_heatmap.mdx | 2 +- api_docs/expression_image.mdx | 2 +- api_docs/expression_legacy_metric_vis.mdx | 2 +- api_docs/expression_metric.mdx | 2 +- api_docs/expression_metric_vis.mdx | 2 +- api_docs/expression_partition_vis.mdx | 2 +- api_docs/expression_repeat_image.mdx | 2 +- api_docs/expression_reveal_image.mdx | 2 +- api_docs/expression_shape.mdx | 2 +- api_docs/expression_tagcloud.mdx | 2 +- api_docs/expression_x_y.devdocs.json | 49 ++ api_docs/expression_x_y.mdx | 4 +- api_docs/expressions.mdx | 2 +- api_docs/features.mdx | 2 +- api_docs/field_formats.mdx | 2 +- api_docs/fields_metadata.mdx | 2 +- api_docs/file_upload.mdx | 2 +- api_docs/files.mdx | 2 +- api_docs/files_management.mdx | 2 +- api_docs/fleet.mdx | 2 +- api_docs/global_search.mdx | 2 +- api_docs/guided_onboarding.mdx | 2 +- api_docs/home.mdx | 2 +- api_docs/image_embeddable.mdx | 2 +- api_docs/index_lifecycle_management.mdx | 2 +- api_docs/index_management.mdx | 2 +- api_docs/infra.mdx | 2 +- api_docs/ingest_pipelines.mdx | 2 +- api_docs/inspector.mdx | 2 +- api_docs/integration_assistant.mdx | 2 +- api_docs/interactive_setup.mdx | 2 +- api_docs/investigate.mdx | 2 +- api_docs/kbn_ace.mdx | 2 +- api_docs/kbn_actions_types.mdx | 2 +- api_docs/kbn_aiops_components.mdx | 2 +- api_docs/kbn_aiops_log_pattern_analysis.mdx | 2 +- api_docs/kbn_aiops_log_rate_analysis.mdx | 2 +- .../kbn_alerting_api_integration_helpers.mdx | 2 +- api_docs/kbn_alerting_comparators.mdx | 2 +- api_docs/kbn_alerting_state_types.mdx | 2 +- api_docs/kbn_alerting_types.mdx | 2 +- api_docs/kbn_alerts_as_data_utils.mdx | 2 +- api_docs/kbn_alerts_ui_shared.mdx | 2 +- api_docs/kbn_analytics.mdx | 2 +- api_docs/kbn_analytics_collection_utils.mdx | 2 +- api_docs/kbn_apm_config_loader.mdx | 2 +- api_docs/kbn_apm_data_view.mdx | 2 +- api_docs/kbn_apm_synthtrace.mdx | 2 +- .../kbn_apm_synthtrace_client.devdocs.json | 2 +- api_docs/kbn_apm_synthtrace_client.mdx | 2 +- api_docs/kbn_apm_utils.mdx | 2 +- api_docs/kbn_axe_config.mdx | 2 +- api_docs/kbn_bfetch_error.mdx | 2 +- api_docs/kbn_calculate_auto.mdx | 2 +- .../kbn_calculate_width_from_char_count.mdx | 2 +- api_docs/kbn_cases_components.mdx | 2 +- api_docs/kbn_cell_actions.mdx | 2 +- api_docs/kbn_chart_expressions_common.mdx | 2 +- api_docs/kbn_chart_icons.mdx | 2 +- api_docs/kbn_ci_stats_core.mdx | 2 +- api_docs/kbn_ci_stats_performance_metrics.mdx | 2 +- api_docs/kbn_ci_stats_reporter.mdx | 2 +- api_docs/kbn_cli_dev_mode.mdx | 2 +- api_docs/kbn_code_editor.devdocs.json | 14 + api_docs/kbn_code_editor.mdx | 4 +- api_docs/kbn_code_editor_mock.mdx | 2 +- api_docs/kbn_code_owners.mdx | 2 +- api_docs/kbn_coloring.mdx | 2 +- api_docs/kbn_config.mdx | 2 +- api_docs/kbn_config_mocks.mdx | 2 +- api_docs/kbn_config_schema.mdx | 2 +- .../kbn_content_management_content_editor.mdx | 2 +- ...tent_management_tabbed_table_list_view.mdx | 2 +- ...kbn_content_management_table_list_view.mdx | 2 +- ...tent_management_table_list_view_common.mdx | 2 +- ...ntent_management_table_list_view_table.mdx | 2 +- .../kbn_content_management_user_profiles.mdx | 2 +- api_docs/kbn_content_management_utils.mdx | 2 +- api_docs/kbn_core_analytics_browser.mdx | 2 +- .../kbn_core_analytics_browser_internal.mdx | 2 +- api_docs/kbn_core_analytics_browser_mocks.mdx | 2 +- api_docs/kbn_core_analytics_server.mdx | 2 +- .../kbn_core_analytics_server_internal.mdx | 2 +- api_docs/kbn_core_analytics_server_mocks.mdx | 2 +- api_docs/kbn_core_application_browser.mdx | 2 +- .../kbn_core_application_browser_internal.mdx | 2 +- .../kbn_core_application_browser_mocks.mdx | 2 +- api_docs/kbn_core_application_common.mdx | 2 +- api_docs/kbn_core_apps_browser_internal.mdx | 2 +- api_docs/kbn_core_apps_browser_mocks.mdx | 2 +- api_docs/kbn_core_apps_server_internal.mdx | 2 +- api_docs/kbn_core_base_browser_mocks.mdx | 2 +- api_docs/kbn_core_base_common.mdx | 2 +- api_docs/kbn_core_base_server_internal.mdx | 2 +- api_docs/kbn_core_base_server_mocks.mdx | 2 +- .../kbn_core_capabilities_browser_mocks.mdx | 2 +- api_docs/kbn_core_capabilities_common.mdx | 2 +- api_docs/kbn_core_capabilities_server.mdx | 2 +- .../kbn_core_capabilities_server_mocks.mdx | 2 +- api_docs/kbn_core_chrome_browser.devdocs.json | 2 +- api_docs/kbn_core_chrome_browser.mdx | 2 +- api_docs/kbn_core_chrome_browser_mocks.mdx | 2 +- api_docs/kbn_core_config_server_internal.mdx | 2 +- api_docs/kbn_core_custom_branding_browser.mdx | 2 +- ..._core_custom_branding_browser_internal.mdx | 2 +- ...kbn_core_custom_branding_browser_mocks.mdx | 2 +- api_docs/kbn_core_custom_branding_common.mdx | 2 +- api_docs/kbn_core_custom_branding_server.mdx | 2 +- ...n_core_custom_branding_server_internal.mdx | 2 +- .../kbn_core_custom_branding_server_mocks.mdx | 2 +- api_docs/kbn_core_deprecations_browser.mdx | 2 +- ...kbn_core_deprecations_browser_internal.mdx | 2 +- .../kbn_core_deprecations_browser_mocks.mdx | 2 +- api_docs/kbn_core_deprecations_common.mdx | 2 +- api_docs/kbn_core_deprecations_server.mdx | 2 +- .../kbn_core_deprecations_server_internal.mdx | 2 +- .../kbn_core_deprecations_server_mocks.mdx | 2 +- api_docs/kbn_core_doc_links_browser.mdx | 2 +- api_docs/kbn_core_doc_links_browser_mocks.mdx | 2 +- api_docs/kbn_core_doc_links_server.mdx | 2 +- api_docs/kbn_core_doc_links_server_mocks.mdx | 2 +- ...e_elasticsearch_client_server_internal.mdx | 2 +- ...core_elasticsearch_client_server_mocks.mdx | 2 +- ...kbn_core_elasticsearch_server.devdocs.json | 21 + api_docs/kbn_core_elasticsearch_server.mdx | 4 +- ...elasticsearch_server_internal.devdocs.json | 28 +- ...kbn_core_elasticsearch_server_internal.mdx | 2 +- .../kbn_core_elasticsearch_server_mocks.mdx | 2 +- .../kbn_core_environment_server_internal.mdx | 2 +- .../kbn_core_environment_server_mocks.mdx | 2 +- .../kbn_core_execution_context_browser.mdx | 2 +- ...ore_execution_context_browser_internal.mdx | 2 +- ...n_core_execution_context_browser_mocks.mdx | 2 +- .../kbn_core_execution_context_common.mdx | 2 +- .../kbn_core_execution_context_server.mdx | 2 +- ...core_execution_context_server_internal.mdx | 2 +- ...bn_core_execution_context_server_mocks.mdx | 2 +- api_docs/kbn_core_fatal_errors_browser.mdx | 2 +- .../kbn_core_fatal_errors_browser_mocks.mdx | 2 +- api_docs/kbn_core_http_browser.mdx | 2 +- api_docs/kbn_core_http_browser_internal.mdx | 2 +- api_docs/kbn_core_http_browser_mocks.mdx | 2 +- api_docs/kbn_core_http_common.mdx | 2 +- .../kbn_core_http_context_server_mocks.mdx | 2 +- ...re_http_request_handler_context_server.mdx | 2 +- api_docs/kbn_core_http_resources_server.mdx | 2 +- ...bn_core_http_resources_server_internal.mdx | 2 +- ...e_http_resources_server_mocks.devdocs.json | 126 +++ .../kbn_core_http_resources_server_mocks.mdx | 2 +- .../kbn_core_http_router_server_internal.mdx | 2 +- .../kbn_core_http_router_server_mocks.mdx | 2 +- api_docs/kbn_core_http_server.devdocs.json | 207 +++++ api_docs/kbn_core_http_server.mdx | 4 +- api_docs/kbn_core_http_server_internal.mdx | 2 +- api_docs/kbn_core_http_server_mocks.mdx | 2 +- api_docs/kbn_core_i18n_browser.mdx | 2 +- api_docs/kbn_core_i18n_browser_mocks.mdx | 2 +- api_docs/kbn_core_i18n_server.mdx | 2 +- api_docs/kbn_core_i18n_server_internal.mdx | 2 +- api_docs/kbn_core_i18n_server_mocks.mdx | 2 +- ...n_core_injected_metadata_browser_mocks.mdx | 2 +- ...kbn_core_integrations_browser_internal.mdx | 2 +- .../kbn_core_integrations_browser_mocks.mdx | 2 +- .../kbn_core_lifecycle_browser.devdocs.json | 8 - api_docs/kbn_core_lifecycle_browser.mdx | 2 +- api_docs/kbn_core_lifecycle_browser_mocks.mdx | 2 +- api_docs/kbn_core_lifecycle_server.mdx | 2 +- api_docs/kbn_core_lifecycle_server_mocks.mdx | 2 +- api_docs/kbn_core_logging_browser_mocks.mdx | 2 +- api_docs/kbn_core_logging_common_internal.mdx | 2 +- api_docs/kbn_core_logging_server.mdx | 2 +- api_docs/kbn_core_logging_server_internal.mdx | 2 +- api_docs/kbn_core_logging_server_mocks.mdx | 2 +- ...ore_metrics_collectors_server_internal.mdx | 2 +- ...n_core_metrics_collectors_server_mocks.mdx | 2 +- api_docs/kbn_core_metrics_server.mdx | 2 +- api_docs/kbn_core_metrics_server_internal.mdx | 2 +- api_docs/kbn_core_metrics_server_mocks.mdx | 2 +- api_docs/kbn_core_mount_utils_browser.mdx | 2 +- api_docs/kbn_core_node_server.mdx | 2 +- api_docs/kbn_core_node_server_internal.mdx | 2 +- api_docs/kbn_core_node_server_mocks.mdx | 2 +- api_docs/kbn_core_notifications_browser.mdx | 2 +- ...bn_core_notifications_browser_internal.mdx | 2 +- .../kbn_core_notifications_browser_mocks.mdx | 2 +- api_docs/kbn_core_overlays_browser.mdx | 2 +- .../kbn_core_overlays_browser_internal.mdx | 2 +- api_docs/kbn_core_overlays_browser_mocks.mdx | 2 +- api_docs/kbn_core_plugins_browser.mdx | 2 +- api_docs/kbn_core_plugins_browser_mocks.mdx | 2 +- .../kbn_core_plugins_contracts_browser.mdx | 2 +- .../kbn_core_plugins_contracts_server.mdx | 2 +- api_docs/kbn_core_plugins_server.mdx | 2 +- api_docs/kbn_core_plugins_server_mocks.mdx | 2 +- api_docs/kbn_core_preboot_server.mdx | 2 +- api_docs/kbn_core_preboot_server_mocks.mdx | 2 +- api_docs/kbn_core_rendering_browser_mocks.mdx | 2 +- .../kbn_core_rendering_server_internal.mdx | 2 +- api_docs/kbn_core_rendering_server_mocks.mdx | 2 +- api_docs/kbn_core_root_server_internal.mdx | 2 +- ...ore_saved_objects_api_browser.devdocs.json | 12 - .../kbn_core_saved_objects_api_browser.mdx | 2 +- .../kbn_core_saved_objects_api_server.mdx | 2 +- ...bn_core_saved_objects_api_server_mocks.mdx | 2 +- ...ore_saved_objects_base_server_internal.mdx | 2 +- ...n_core_saved_objects_base_server_mocks.mdx | 2 +- api_docs/kbn_core_saved_objects_browser.mdx | 2 +- ...bn_core_saved_objects_browser_internal.mdx | 2 +- .../kbn_core_saved_objects_browser_mocks.mdx | 2 +- api_docs/kbn_core_saved_objects_common.mdx | 2 +- ..._objects_import_export_server_internal.mdx | 2 +- ...ved_objects_import_export_server_mocks.mdx | 2 +- ...cts_migration_server_internal.devdocs.json | 96 +- ...aved_objects_migration_server_internal.mdx | 4 +- ...e_saved_objects_migration_server_mocks.mdx | 2 +- api_docs/kbn_core_saved_objects_server.mdx | 2 +- ...kbn_core_saved_objects_server_internal.mdx | 2 +- .../kbn_core_saved_objects_server_mocks.mdx | 2 +- .../kbn_core_saved_objects_utils_server.mdx | 2 +- api_docs/kbn_core_security_browser.mdx | 2 +- .../kbn_core_security_browser_internal.mdx | 2 +- api_docs/kbn_core_security_browser_mocks.mdx | 2 +- api_docs/kbn_core_security_common.mdx | 2 +- api_docs/kbn_core_security_server.mdx | 2 +- .../kbn_core_security_server_internal.mdx | 2 +- api_docs/kbn_core_security_server_mocks.mdx | 2 +- api_docs/kbn_core_status_common.mdx | 2 +- api_docs/kbn_core_status_common_internal.mdx | 2 +- api_docs/kbn_core_status_server.mdx | 2 +- api_docs/kbn_core_status_server_internal.mdx | 2 +- api_docs/kbn_core_status_server_mocks.mdx | 2 +- ...core_test_helpers_deprecations_getters.mdx | 2 +- ...n_core_test_helpers_http_setup_browser.mdx | 2 +- api_docs/kbn_core_test_helpers_kbn_server.mdx | 2 +- .../kbn_core_test_helpers_model_versions.mdx | 2 +- ...n_core_test_helpers_so_type_serializer.mdx | 2 +- api_docs/kbn_core_test_helpers_test_utils.mdx | 2 +- api_docs/kbn_core_theme_browser.mdx | 2 +- api_docs/kbn_core_theme_browser_mocks.mdx | 2 +- api_docs/kbn_core_ui_settings_browser.mdx | 2 +- .../kbn_core_ui_settings_browser_internal.mdx | 2 +- .../kbn_core_ui_settings_browser_mocks.mdx | 2 +- api_docs/kbn_core_ui_settings_common.mdx | 2 +- api_docs/kbn_core_ui_settings_server.mdx | 2 +- .../kbn_core_ui_settings_server_internal.mdx | 2 +- .../kbn_core_ui_settings_server_mocks.mdx | 2 +- api_docs/kbn_core_usage_data_server.mdx | 2 +- .../kbn_core_usage_data_server_internal.mdx | 2 +- api_docs/kbn_core_usage_data_server_mocks.mdx | 2 +- api_docs/kbn_core_user_profile_browser.mdx | 2 +- ...kbn_core_user_profile_browser_internal.mdx | 2 +- .../kbn_core_user_profile_browser_mocks.mdx | 2 +- api_docs/kbn_core_user_profile_common.mdx | 2 +- api_docs/kbn_core_user_profile_server.mdx | 2 +- .../kbn_core_user_profile_server_internal.mdx | 2 +- .../kbn_core_user_profile_server_mocks.mdx | 2 +- api_docs/kbn_core_user_settings_server.mdx | 2 +- .../kbn_core_user_settings_server_mocks.mdx | 2 +- api_docs/kbn_crypto.mdx | 2 +- api_docs/kbn_crypto_browser.mdx | 2 +- api_docs/kbn_custom_icons.mdx | 2 +- api_docs/kbn_custom_integrations.mdx | 2 +- api_docs/kbn_cypress_config.mdx | 2 +- api_docs/kbn_data_forge.mdx | 2 +- api_docs/kbn_data_service.mdx | 2 +- api_docs/kbn_data_stream_adapter.mdx | 2 +- api_docs/kbn_data_view_utils.mdx | 2 +- api_docs/kbn_datemath.mdx | 2 +- api_docs/kbn_deeplinks_analytics.mdx | 2 +- api_docs/kbn_deeplinks_devtools.mdx | 2 +- api_docs/kbn_deeplinks_fleet.mdx | 2 +- api_docs/kbn_deeplinks_management.mdx | 2 +- api_docs/kbn_deeplinks_ml.mdx | 2 +- api_docs/kbn_deeplinks_observability.mdx | 2 +- api_docs/kbn_deeplinks_search.devdocs.json | 2 +- api_docs/kbn_deeplinks_search.mdx | 2 +- api_docs/kbn_deeplinks_security.mdx | 2 +- api_docs/kbn_deeplinks_shared.mdx | 2 +- api_docs/kbn_default_nav_analytics.mdx | 2 +- api_docs/kbn_default_nav_devtools.mdx | 2 +- api_docs/kbn_default_nav_management.mdx | 2 +- api_docs/kbn_default_nav_ml.mdx | 2 +- api_docs/kbn_dev_cli_errors.mdx | 2 +- api_docs/kbn_dev_cli_runner.mdx | 2 +- api_docs/kbn_dev_proc_runner.mdx | 2 +- api_docs/kbn_dev_utils.mdx | 2 +- api_docs/kbn_discover_utils.mdx | 2 +- api_docs/kbn_doc_links.mdx | 2 +- api_docs/kbn_docs_utils.mdx | 2 +- api_docs/kbn_dom_drag_drop.mdx | 2 +- api_docs/kbn_ebt.mdx | 2 +- api_docs/kbn_ebt_tools.mdx | 2 +- api_docs/kbn_ecs_data_quality_dashboard.mdx | 2 +- api_docs/kbn_elastic_agent_utils.mdx | 2 +- api_docs/kbn_elastic_assistant.mdx | 2 +- api_docs/kbn_elastic_assistant_common.mdx | 2 +- api_docs/kbn_entities_schema.mdx | 2 +- api_docs/kbn_es.mdx | 2 +- api_docs/kbn_es_archiver.mdx | 2 +- api_docs/kbn_es_errors.devdocs.json | 68 ++ api_docs/kbn_es_errors.mdx | 4 +- api_docs/kbn_es_query.mdx | 2 +- api_docs/kbn_es_types.mdx | 2 +- api_docs/kbn_eslint_plugin_imports.mdx | 2 +- api_docs/kbn_esql_ast.devdocs.json | 819 +++++++++++++++++- api_docs/kbn_esql_ast.mdx | 4 +- api_docs/kbn_esql_utils.mdx | 2 +- ..._esql_validation_autocomplete.devdocs.json | 50 ++ api_docs/kbn_esql_validation_autocomplete.mdx | 4 +- api_docs/kbn_event_annotation_common.mdx | 2 +- api_docs/kbn_event_annotation_components.mdx | 2 +- api_docs/kbn_expandable_flyout.mdx | 2 +- api_docs/kbn_field_types.mdx | 2 +- api_docs/kbn_field_utils.devdocs.json | 66 -- api_docs/kbn_field_utils.mdx | 4 +- api_docs/kbn_find_used_node_modules.mdx | 2 +- api_docs/kbn_formatters.mdx | 2 +- .../kbn_ftr_common_functional_services.mdx | 2 +- .../kbn_ftr_common_functional_ui_services.mdx | 2 +- api_docs/kbn_generate.mdx | 2 +- api_docs/kbn_generate_console_definitions.mdx | 2 +- api_docs/kbn_generate_csv.mdx | 2 +- api_docs/kbn_grouping.mdx | 2 +- api_docs/kbn_guided_onboarding.mdx | 2 +- api_docs/kbn_handlebars.mdx | 2 +- api_docs/kbn_hapi_mocks.mdx | 2 +- api_docs/kbn_health_gateway_server.mdx | 2 +- api_docs/kbn_home_sample_data_card.mdx | 2 +- api_docs/kbn_home_sample_data_tab.mdx | 2 +- api_docs/kbn_i18n.mdx | 2 +- api_docs/kbn_i18n_react.mdx | 2 +- api_docs/kbn_import_resolver.mdx | 2 +- api_docs/kbn_index_management.mdx | 2 +- api_docs/kbn_inference_integration_flyout.mdx | 2 +- api_docs/kbn_infra_forge.mdx | 2 +- api_docs/kbn_interpreter.mdx | 2 +- api_docs/kbn_io_ts_utils.mdx | 2 +- api_docs/kbn_ipynb.mdx | 2 +- api_docs/kbn_jest_serializers.mdx | 2 +- api_docs/kbn_journeys.mdx | 2 +- api_docs/kbn_json_ast.mdx | 2 +- api_docs/kbn_kibana_manifest_schema.mdx | 2 +- .../kbn_language_documentation_popover.mdx | 2 +- api_docs/kbn_lens_embeddable_utils.mdx | 2 +- api_docs/kbn_lens_formula_docs.mdx | 2 +- api_docs/kbn_logging.mdx | 2 +- api_docs/kbn_logging_mocks.mdx | 2 +- api_docs/kbn_managed_content_badge.mdx | 2 +- api_docs/kbn_managed_vscode_config.mdx | 2 +- api_docs/kbn_management_cards_navigation.mdx | 2 +- .../kbn_management_settings_application.mdx | 2 +- ...ent_settings_components_field_category.mdx | 2 +- ...gement_settings_components_field_input.mdx | 2 +- ...nagement_settings_components_field_row.mdx | 2 +- ...bn_management_settings_components_form.mdx | 2 +- ...n_management_settings_field_definition.mdx | 2 +- api_docs/kbn_management_settings_ids.mdx | 2 +- ...n_management_settings_section_registry.mdx | 2 +- api_docs/kbn_management_settings_types.mdx | 2 +- .../kbn_management_settings_utilities.mdx | 2 +- api_docs/kbn_management_storybook_config.mdx | 2 +- api_docs/kbn_mapbox_gl.mdx | 2 +- api_docs/kbn_maps_vector_tile_utils.mdx | 2 +- api_docs/kbn_ml_agg_utils.mdx | 2 +- api_docs/kbn_ml_anomaly_utils.mdx | 2 +- api_docs/kbn_ml_cancellable_search.mdx | 2 +- api_docs/kbn_ml_category_validator.mdx | 2 +- api_docs/kbn_ml_chi2test.mdx | 2 +- .../kbn_ml_data_frame_analytics_utils.mdx | 2 +- api_docs/kbn_ml_data_grid.mdx | 2 +- api_docs/kbn_ml_date_picker.mdx | 2 +- api_docs/kbn_ml_date_utils.mdx | 2 +- api_docs/kbn_ml_error_utils.mdx | 2 +- api_docs/kbn_ml_in_memory_table.mdx | 2 +- api_docs/kbn_ml_is_defined.mdx | 2 +- api_docs/kbn_ml_is_populated_object.mdx | 2 +- api_docs/kbn_ml_kibana_theme.mdx | 2 +- api_docs/kbn_ml_local_storage.mdx | 2 +- api_docs/kbn_ml_nested_property.mdx | 2 +- api_docs/kbn_ml_number_utils.mdx | 2 +- api_docs/kbn_ml_query_utils.mdx | 2 +- api_docs/kbn_ml_random_sampler_utils.mdx | 2 +- api_docs/kbn_ml_route_utils.mdx | 2 +- api_docs/kbn_ml_runtime_field_utils.mdx | 2 +- api_docs/kbn_ml_string_hash.mdx | 2 +- api_docs/kbn_ml_time_buckets.mdx | 2 +- api_docs/kbn_ml_trained_models_utils.mdx | 2 +- api_docs/kbn_ml_ui_actions.mdx | 2 +- api_docs/kbn_ml_url_state.mdx | 2 +- api_docs/kbn_mock_idp_utils.mdx | 2 +- api_docs/kbn_monaco.devdocs.json | 3 + api_docs/kbn_monaco.mdx | 2 +- api_docs/kbn_object_versioning.mdx | 2 +- api_docs/kbn_observability_alert_details.mdx | 2 +- .../kbn_observability_alerting_test_data.mdx | 2 +- ...ility_get_padded_alert_time_range_util.mdx | 2 +- api_docs/kbn_openapi_bundler.mdx | 2 +- api_docs/kbn_openapi_generator.mdx | 2 +- api_docs/kbn_optimizer.mdx | 2 +- api_docs/kbn_optimizer_webpack_helpers.mdx | 2 +- api_docs/kbn_osquery_io_ts_types.mdx | 2 +- api_docs/kbn_panel_loader.mdx | 2 +- ..._performance_testing_dataset_extractor.mdx | 2 +- api_docs/kbn_plugin_check.mdx | 2 +- api_docs/kbn_plugin_generator.mdx | 2 +- api_docs/kbn_plugin_helpers.mdx | 2 +- .../kbn_presentation_containers.devdocs.json | 10 +- api_docs/kbn_presentation_containers.mdx | 2 +- .../kbn_presentation_publishing.devdocs.json | 311 ++++++- api_docs/kbn_presentation_publishing.mdx | 4 +- api_docs/kbn_profiling_utils.mdx | 2 +- api_docs/kbn_random_sampling.mdx | 2 +- api_docs/kbn_react_field.mdx | 2 +- api_docs/kbn_react_hooks.mdx | 2 +- api_docs/kbn_react_kibana_context_common.mdx | 2 +- api_docs/kbn_react_kibana_context_render.mdx | 2 +- api_docs/kbn_react_kibana_context_root.mdx | 2 +- api_docs/kbn_react_kibana_context_styled.mdx | 2 +- api_docs/kbn_react_kibana_context_theme.mdx | 2 +- api_docs/kbn_react_kibana_mount.mdx | 2 +- api_docs/kbn_repo_file_maps.mdx | 2 +- api_docs/kbn_repo_linter.mdx | 2 +- api_docs/kbn_repo_path.mdx | 2 +- api_docs/kbn_repo_source_classifier.mdx | 2 +- api_docs/kbn_reporting_common.mdx | 2 +- api_docs/kbn_reporting_csv_share_panel.mdx | 2 +- api_docs/kbn_reporting_export_types_csv.mdx | 2 +- .../kbn_reporting_export_types_csv_common.mdx | 2 +- api_docs/kbn_reporting_export_types_pdf.mdx | 2 +- .../kbn_reporting_export_types_pdf_common.mdx | 2 +- api_docs/kbn_reporting_export_types_png.mdx | 2 +- .../kbn_reporting_export_types_png_common.mdx | 2 +- api_docs/kbn_reporting_mocks_server.mdx | 2 +- api_docs/kbn_reporting_public.mdx | 2 +- api_docs/kbn_reporting_server.mdx | 2 +- api_docs/kbn_resizable_layout.mdx | 2 +- .../kbn_response_ops_feature_flag_service.mdx | 2 +- api_docs/kbn_rison.mdx | 2 +- api_docs/kbn_router_to_openapispec.mdx | 2 +- api_docs/kbn_router_utils.mdx | 2 +- api_docs/kbn_rrule.mdx | 2 +- api_docs/kbn_rule_data_utils.mdx | 2 +- api_docs/kbn_saved_objects_settings.mdx | 2 +- api_docs/kbn_search_api_panels.mdx | 2 +- api_docs/kbn_search_connectors.mdx | 2 +- api_docs/kbn_search_errors.mdx | 2 +- api_docs/kbn_search_index_documents.mdx | 2 +- api_docs/kbn_search_response_warnings.mdx | 2 +- api_docs/kbn_search_types.mdx | 2 +- api_docs/kbn_security_hardening.mdx | 2 +- api_docs/kbn_security_plugin_types_common.mdx | 2 +- api_docs/kbn_security_plugin_types_public.mdx | 2 +- ..._security_plugin_types_server.devdocs.json | 20 + api_docs/kbn_security_plugin_types_server.mdx | 2 +- api_docs/kbn_security_solution_features.mdx | 2 +- api_docs/kbn_security_solution_navigation.mdx | 2 +- api_docs/kbn_security_solution_side_nav.mdx | 2 +- ...kbn_security_solution_storybook_config.mdx | 2 +- .../kbn_securitysolution_autocomplete.mdx | 2 +- api_docs/kbn_securitysolution_data_table.mdx | 2 +- api_docs/kbn_securitysolution_ecs.mdx | 2 +- api_docs/kbn_securitysolution_es_utils.mdx | 2 +- ...ritysolution_exception_list_components.mdx | 2 +- api_docs/kbn_securitysolution_hook_utils.mdx | 2 +- ..._securitysolution_io_ts_alerting_types.mdx | 2 +- .../kbn_securitysolution_io_ts_list_types.mdx | 2 +- api_docs/kbn_securitysolution_io_ts_types.mdx | 2 +- api_docs/kbn_securitysolution_io_ts_utils.mdx | 2 +- api_docs/kbn_securitysolution_list_api.mdx | 2 +- .../kbn_securitysolution_list_constants.mdx | 2 +- api_docs/kbn_securitysolution_list_hooks.mdx | 2 +- api_docs/kbn_securitysolution_list_utils.mdx | 2 +- api_docs/kbn_securitysolution_rules.mdx | 2 +- api_docs/kbn_securitysolution_t_grid.mdx | 2 +- api_docs/kbn_securitysolution_utils.mdx | 2 +- api_docs/kbn_server_http_tools.mdx | 2 +- api_docs/kbn_server_route_repository.mdx | 2 +- api_docs/kbn_serverless_common_settings.mdx | 2 +- .../kbn_serverless_observability_settings.mdx | 2 +- api_docs/kbn_serverless_project_switcher.mdx | 2 +- api_docs/kbn_serverless_search_settings.mdx | 2 +- api_docs/kbn_serverless_security_settings.mdx | 2 +- api_docs/kbn_serverless_storybook_config.mdx | 2 +- api_docs/kbn_shared_svg.mdx | 2 +- api_docs/kbn_shared_ux_avatar_solution.mdx | 2 +- .../kbn_shared_ux_button_exit_full_screen.mdx | 2 +- api_docs/kbn_shared_ux_button_toolbar.mdx | 2 +- api_docs/kbn_shared_ux_card_no_data.mdx | 2 +- api_docs/kbn_shared_ux_card_no_data_mocks.mdx | 2 +- api_docs/kbn_shared_ux_chrome_navigation.mdx | 2 +- api_docs/kbn_shared_ux_error_boundary.mdx | 2 +- api_docs/kbn_shared_ux_file_context.mdx | 2 +- api_docs/kbn_shared_ux_file_image.mdx | 2 +- api_docs/kbn_shared_ux_file_image_mocks.mdx | 2 +- api_docs/kbn_shared_ux_file_mocks.mdx | 2 +- api_docs/kbn_shared_ux_file_picker.mdx | 2 +- api_docs/kbn_shared_ux_file_types.mdx | 2 +- api_docs/kbn_shared_ux_file_upload.mdx | 2 +- api_docs/kbn_shared_ux_file_util.mdx | 2 +- api_docs/kbn_shared_ux_link_redirect_app.mdx | 2 +- .../kbn_shared_ux_link_redirect_app_mocks.mdx | 2 +- api_docs/kbn_shared_ux_markdown.mdx | 2 +- api_docs/kbn_shared_ux_markdown_mocks.mdx | 2 +- .../kbn_shared_ux_page_analytics_no_data.mdx | 2 +- ...shared_ux_page_analytics_no_data_mocks.mdx | 2 +- .../kbn_shared_ux_page_kibana_no_data.mdx | 2 +- ...bn_shared_ux_page_kibana_no_data_mocks.mdx | 2 +- .../kbn_shared_ux_page_kibana_template.mdx | 2 +- ...n_shared_ux_page_kibana_template_mocks.mdx | 2 +- api_docs/kbn_shared_ux_page_no_data.mdx | 2 +- .../kbn_shared_ux_page_no_data_config.mdx | 2 +- ...bn_shared_ux_page_no_data_config_mocks.mdx | 2 +- api_docs/kbn_shared_ux_page_no_data_mocks.mdx | 2 +- api_docs/kbn_shared_ux_page_solution_nav.mdx | 2 +- .../kbn_shared_ux_prompt_no_data_views.mdx | 2 +- ...n_shared_ux_prompt_no_data_views_mocks.mdx | 2 +- api_docs/kbn_shared_ux_prompt_not_found.mdx | 2 +- api_docs/kbn_shared_ux_router.mdx | 2 +- api_docs/kbn_shared_ux_router_mocks.mdx | 2 +- api_docs/kbn_shared_ux_storybook_config.mdx | 2 +- api_docs/kbn_shared_ux_storybook_mock.mdx | 2 +- api_docs/kbn_shared_ux_tabbed_modal.mdx | 2 +- api_docs/kbn_shared_ux_utility.mdx | 2 +- api_docs/kbn_slo_schema.devdocs.json | 36 +- api_docs/kbn_slo_schema.mdx | 2 +- api_docs/kbn_some_dev_log.mdx | 2 +- api_docs/kbn_sort_predicates.mdx | 2 +- api_docs/kbn_std.mdx | 2 +- api_docs/kbn_stdio_dev_helpers.mdx | 2 +- api_docs/kbn_storybook.mdx | 2 +- api_docs/kbn_telemetry_tools.mdx | 2 +- api_docs/kbn_test.mdx | 2 +- api_docs/kbn_test_eui_helpers.mdx | 2 +- api_docs/kbn_test_jest_helpers.mdx | 2 +- api_docs/kbn_test_subj_selector.mdx | 2 +- api_docs/kbn_text_based_editor.mdx | 2 +- api_docs/kbn_timerange.mdx | 2 +- api_docs/kbn_tooling_log.mdx | 2 +- api_docs/kbn_triggers_actions_ui_types.mdx | 2 +- api_docs/kbn_try_in_console.mdx | 2 +- api_docs/kbn_ts_projects.mdx | 2 +- api_docs/kbn_typed_react_router_config.mdx | 2 +- api_docs/kbn_ui_actions_browser.mdx | 2 +- api_docs/kbn_ui_shared_deps_src.mdx | 2 +- api_docs/kbn_ui_theme.mdx | 2 +- api_docs/kbn_unified_data_table.mdx | 2 +- api_docs/kbn_unified_doc_viewer.devdocs.json | 4 +- api_docs/kbn_unified_doc_viewer.mdx | 2 +- api_docs/kbn_unified_field_list.mdx | 2 +- api_docs/kbn_unsaved_changes_badge.mdx | 2 +- api_docs/kbn_unsaved_changes_prompt.mdx | 2 +- api_docs/kbn_use_tracked_promise.mdx | 2 +- api_docs/kbn_user_profile_components.mdx | 2 +- api_docs/kbn_utility_types.mdx | 2 +- api_docs/kbn_utility_types_jest.mdx | 2 +- api_docs/kbn_utils.mdx | 2 +- api_docs/kbn_visualization_ui_components.mdx | 2 +- api_docs/kbn_visualization_utils.mdx | 2 +- api_docs/kbn_xstate_utils.mdx | 2 +- api_docs/kbn_yarn_lock_validator.mdx | 2 +- api_docs/kbn_zod_helpers.mdx | 2 +- api_docs/kibana_overview.mdx | 2 +- api_docs/kibana_react.mdx | 2 +- api_docs/kibana_utils.devdocs.json | 17 +- api_docs/kibana_utils.mdx | 4 +- api_docs/kubernetes_security.mdx | 2 +- api_docs/lens.devdocs.json | 49 ++ api_docs/lens.mdx | 4 +- api_docs/license_api_guard.mdx | 2 +- api_docs/license_management.mdx | 2 +- api_docs/licensing.mdx | 2 +- api_docs/links.mdx | 2 +- api_docs/lists.mdx | 2 +- api_docs/logs_data_access.mdx | 2 +- api_docs/logs_explorer.mdx | 2 +- api_docs/logs_shared.mdx | 2 +- api_docs/management.mdx | 2 +- api_docs/maps.mdx | 2 +- api_docs/maps_ems.mdx | 2 +- api_docs/metrics_data_access.mdx | 2 +- api_docs/ml.mdx | 2 +- api_docs/mock_idp_plugin.mdx | 2 +- api_docs/monitoring.mdx | 2 +- api_docs/monitoring_collection.mdx | 2 +- api_docs/navigation.mdx | 2 +- api_docs/newsfeed.mdx | 2 +- api_docs/no_data_page.mdx | 2 +- api_docs/notifications.mdx | 2 +- api_docs/observability.devdocs.json | 123 +++ api_docs/observability.mdx | 4 +- api_docs/observability_a_i_assistant.mdx | 2 +- api_docs/observability_a_i_assistant_app.mdx | 2 +- .../observability_ai_assistant_management.mdx | 2 +- api_docs/observability_logs_explorer.mdx | 2 +- api_docs/observability_onboarding.mdx | 2 +- api_docs/observability_shared.mdx | 2 +- api_docs/osquery.mdx | 2 +- api_docs/painless_lab.mdx | 2 +- api_docs/plugin_directory.mdx | 41 +- api_docs/presentation_panel.mdx | 2 +- api_docs/presentation_util.mdx | 2 +- api_docs/profiling.mdx | 2 +- api_docs/profiling_data_access.mdx | 2 +- api_docs/remote_clusters.mdx | 2 +- api_docs/reporting.mdx | 2 +- api_docs/rollup.mdx | 2 +- api_docs/rule_registry.mdx | 2 +- api_docs/runtime_fields.mdx | 2 +- api_docs/saved_objects.mdx | 2 +- api_docs/saved_objects_finder.mdx | 2 +- api_docs/saved_objects_management.mdx | 2 +- api_docs/saved_objects_tagging.mdx | 2 +- api_docs/saved_objects_tagging_oss.mdx | 2 +- api_docs/saved_search.mdx | 2 +- api_docs/screenshot_mode.mdx | 2 +- api_docs/screenshotting.mdx | 2 +- api_docs/search_connectors.mdx | 2 +- api_docs/search_homepage.devdocs.json | 312 +++++++ api_docs/search_homepage.mdx | 49 ++ api_docs/search_inference_endpoints.mdx | 2 +- api_docs/search_notebooks.mdx | 2 +- api_docs/search_playground.mdx | 2 +- api_docs/security.devdocs.json | 20 + api_docs/security.mdx | 2 +- api_docs/security_solution.mdx | 2 +- api_docs/security_solution_ess.mdx | 2 +- api_docs/security_solution_serverless.mdx | 2 +- api_docs/serverless.mdx | 2 +- api_docs/serverless_observability.mdx | 2 +- api_docs/serverless_search.mdx | 2 +- api_docs/session_view.mdx | 2 +- api_docs/share.mdx | 2 +- api_docs/slo.mdx | 2 +- api_docs/snapshot_restore.mdx | 2 +- api_docs/spaces.mdx | 2 +- api_docs/stack_alerts.mdx | 2 +- api_docs/stack_connectors.mdx | 2 +- api_docs/task_manager.mdx | 2 +- api_docs/telemetry.mdx | 2 +- api_docs/telemetry_collection_manager.mdx | 2 +- api_docs/telemetry_collection_xpack.mdx | 2 +- api_docs/telemetry_management_section.mdx | 2 +- api_docs/text_based_languages.mdx | 2 +- api_docs/threat_intelligence.mdx | 2 +- api_docs/timelines.mdx | 2 +- api_docs/transform.mdx | 2 +- api_docs/triggers_actions_ui.mdx | 2 +- api_docs/ui_actions.mdx | 2 +- api_docs/ui_actions_enhanced.mdx | 2 +- api_docs/unified_doc_viewer.devdocs.json | 44 +- api_docs/unified_doc_viewer.mdx | 4 +- api_docs/unified_histogram.mdx | 2 +- api_docs/unified_search.mdx | 2 +- api_docs/unified_search_autocomplete.mdx | 2 +- api_docs/uptime.mdx | 2 +- api_docs/url_forwarding.mdx | 2 +- api_docs/usage_collection.mdx | 2 +- api_docs/ux.mdx | 2 +- api_docs/vis_default_editor.mdx | 2 +- api_docs/vis_type_gauge.mdx | 2 +- api_docs/vis_type_heatmap.mdx | 2 +- api_docs/vis_type_pie.mdx | 2 +- api_docs/vis_type_table.mdx | 2 +- api_docs/vis_type_timelion.mdx | 2 +- api_docs/vis_type_timeseries.mdx | 2 +- api_docs/vis_type_vega.mdx | 2 +- api_docs/vis_type_vislib.mdx | 2 +- api_docs/vis_type_xy.mdx | 2 +- api_docs/visualizations.devdocs.json | 22 +- api_docs/visualizations.mdx | 4 +- 731 files changed, 3251 insertions(+), 1079 deletions(-) create mode 100644 api_docs/search_homepage.devdocs.json create mode 100644 api_docs/search_homepage.mdx diff --git a/api_docs/actions.mdx b/api_docs/actions.mdx index 246481da11766..8a487b940edb9 100644 --- a/api_docs/actions.mdx +++ b/api_docs/actions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/actions title: "actions" image: https://source.unsplash.com/400x175/?github description: API docs for the actions plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'actions'] --- import actionsObj from './actions.devdocs.json'; diff --git a/api_docs/advanced_settings.mdx b/api_docs/advanced_settings.mdx index 467d9cf5a7b1f..eb62315c11499 100644 --- a/api_docs/advanced_settings.mdx +++ b/api_docs/advanced_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/advancedSettings title: "advancedSettings" image: https://source.unsplash.com/400x175/?github description: API docs for the advancedSettings plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'advancedSettings'] --- import advancedSettingsObj from './advanced_settings.devdocs.json'; diff --git a/api_docs/ai_assistant_management_selection.mdx b/api_docs/ai_assistant_management_selection.mdx index e2ebb27cfb3f1..b36f9caf8e372 100644 --- a/api_docs/ai_assistant_management_selection.mdx +++ b/api_docs/ai_assistant_management_selection.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/aiAssistantManagementSelection title: "aiAssistantManagementSelection" image: https://source.unsplash.com/400x175/?github description: API docs for the aiAssistantManagementSelection plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'aiAssistantManagementSelection'] --- import aiAssistantManagementSelectionObj from './ai_assistant_management_selection.devdocs.json'; diff --git a/api_docs/aiops.mdx b/api_docs/aiops.mdx index f5e85bf416a3c..3ce556839240c 100644 --- a/api_docs/aiops.mdx +++ b/api_docs/aiops.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/aiops title: "aiops" image: https://source.unsplash.com/400x175/?github description: API docs for the aiops plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'aiops'] --- import aiopsObj from './aiops.devdocs.json'; diff --git a/api_docs/alerting.devdocs.json b/api_docs/alerting.devdocs.json index 51ed0ee394747..ae254deee2fc2 100644 --- a/api_docs/alerting.devdocs.json +++ b/api_docs/alerting.devdocs.json @@ -3805,10 +3805,6 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_preview/api/preview_rules/route.ts" }, - { - "plugin": "synthetics", - "path": "x-pack/plugins/observability_solution/synthetics/server/alert_rules/common.ts" - }, { "plugin": "synthetics", "path": "x-pack/plugins/observability_solution/synthetics/server/alert_rules/tls_rule/message_utils.ts" @@ -3817,10 +3813,6 @@ "plugin": "synthetics", "path": "x-pack/plugins/observability_solution/synthetics/server/alert_rules/tls_rule/tls_rule.ts" }, - { - "plugin": "synthetics", - "path": "x-pack/plugins/observability_solution/synthetics/server/alert_rules/status_rule/monitor_status_rule.ts" - }, { "plugin": "ruleRegistry", "path": "x-pack/plugins/rule_registry/server/utils/rule_executor.test_helpers.ts" diff --git a/api_docs/alerting.mdx b/api_docs/alerting.mdx index 174daf92bb302..606e67b0fcc2c 100644 --- a/api_docs/alerting.mdx +++ b/api_docs/alerting.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/alerting title: "alerting" image: https://source.unsplash.com/400x175/?github description: API docs for the alerting plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'alerting'] --- import alertingObj from './alerting.devdocs.json'; diff --git a/api_docs/apm.devdocs.json b/api_docs/apm.devdocs.json index 84ad7ebed719e..6454cad9c995b 100644 --- a/api_docs/apm.devdocs.json +++ b/api_docs/apm.devdocs.json @@ -418,7 +418,7 @@ "label": "APIEndpoint", "description": [], "signature": [ - "\"POST /internal/apm/data_view/static\" | \"GET /internal/apm/data_view/index_pattern\" | \"GET /internal/apm/environments\" | \"GET /internal/apm/services/{serviceName}/errors/groups/main_statistics\" | \"GET /internal/apm/services/{serviceName}/errors/groups/main_statistics_by_transaction_name\" | \"POST /internal/apm/services/{serviceName}/errors/groups/detailed_statistics\" | \"GET /internal/apm/services/{serviceName}/errors/{groupId}/samples\" | \"GET /internal/apm/services/{serviceName}/errors/{groupId}/error/{errorId}\" | \"GET /internal/apm/services/{serviceName}/errors/distribution\" | \"GET /internal/apm/services/{serviceName}/errors/{groupId}/top_erroneous_transactions\" | \"POST /internal/apm/latency/overall_distribution/transactions\" | \"GET /internal/apm/services/{serviceName}/metrics/charts\" | \"GET /internal/apm/services/{serviceName}/metrics/nodes\" | \"GET /internal/apm/services/{serviceName}/metrics/serverless/charts\" | \"GET /internal/apm/services/{serviceName}/metrics/serverless/summary\" | \"GET /internal/apm/services/{serviceName}/metrics/serverless/functions_overview\" | \"GET /internal/apm/services/{serviceName}/metrics/serverless/active_instances\" | \"GET /internal/apm/observability_overview\" | \"GET /internal/apm/observability_overview/has_data\" | \"GET /internal/apm/service-map\" | \"GET /internal/apm/service-map/service/{serviceName}\" | \"GET /internal/apm/service-map/dependency\" | \"GET /internal/apm/services\" | \"POST /internal/apm/services/detailed_statistics\" | \"GET /internal/apm/services/{serviceName}/metadata/details\" | \"GET /internal/apm/services/{serviceName}/metadata/icons\" | \"GET /internal/apm/services/{serviceName}/agent\" | \"GET /internal/apm/services/{serviceName}/transaction_types\" | \"GET /internal/apm/services/{serviceName}/node/{serviceNodeName}/metadata\" | \"GET /api/apm/services/{serviceName}/annotation/search 2023-10-31\" | \"POST /api/apm/services/{serviceName}/annotation 2023-10-31\" | \"GET /internal/apm/services/{serviceName}/service_overview_instances/details/{serviceNodeName}\" | \"GET /internal/apm/services/{serviceName}/throughput\" | \"GET /internal/apm/services/{serviceName}/service_overview_instances/main_statistics\" | \"GET /internal/apm/services/{serviceName}/service_overview_instances/detailed_statistics\" | \"GET /internal/apm/services/{serviceName}/dependencies\" | \"GET /internal/apm/services/{serviceName}/dependencies/breakdown\" | \"GET /internal/apm/services/{serviceName}/anomaly_charts\" | \"GET /internal/apm/services/{serviceName}/alerts_count\" | \"GET /internal/apm/assets/services\" | \"GET /internal/apm/service-groups\" | \"GET /internal/apm/service-group\" | \"POST /internal/apm/service-group\" | \"DELETE /internal/apm/service-group\" | \"GET /internal/apm/service-group/services\" | \"GET /internal/apm/service-group/counts\" | \"GET /internal/apm/suggestions\" | \"GET /internal/apm/traces/{traceId}\" | \"GET /internal/apm/traces\" | \"GET /internal/apm/traces/{traceId}/root_transaction\" | \"GET /internal/apm/transactions/{transactionId}\" | \"GET /internal/apm/traces/find\" | \"POST /internal/apm/traces/aggregated_critical_path\" | \"GET /internal/apm/traces/{traceId}/transactions/{transactionId}\" | \"GET /internal/apm/traces/{traceId}/spans/{spanId}\" | \"GET /internal/apm/transactions\" | \"GET /internal/apm/services/{serviceName}/transactions/groups/main_statistics\" | \"GET /internal/apm/services/{serviceName}/transactions/groups/detailed_statistics\" | \"GET /internal/apm/services/{serviceName}/transactions/charts/latency\" | \"GET /internal/apm/services/{serviceName}/transactions/traces/samples\" | \"GET /internal/apm/services/{serviceName}/transaction/charts/breakdown\" | \"GET /internal/apm/services/{serviceName}/transactions/charts/error_rate\" | \"GET /internal/apm/services/{serviceName}/transactions/charts/coldstart_rate\" | \"GET /internal/apm/services/{serviceName}/transactions/charts/coldstart_rate_by_transaction_name\" | \"GET /internal/apm/rule_types/transaction_error_rate/chart_preview\" | \"GET /internal/apm/rule_types/error_count/chart_preview\" | \"GET /internal/apm/rule_types/transaction_duration/chart_preview\" | \"GET /api/apm/settings/agent-configuration 2023-10-31\" | \"GET /api/apm/settings/agent-configuration/view 2023-10-31\" | \"DELETE /api/apm/settings/agent-configuration 2023-10-31\" | \"PUT /api/apm/settings/agent-configuration 2023-10-31\" | \"POST /api/apm/settings/agent-configuration/search 2023-10-31\" | \"GET /api/apm/settings/agent-configuration/environments 2023-10-31\" | \"GET /api/apm/settings/agent-configuration/agent_name 2023-10-31\" | \"GET /internal/apm/settings/anomaly-detection/jobs\" | \"POST /internal/apm/settings/anomaly-detection/jobs\" | \"GET /internal/apm/settings/anomaly-detection/environments\" | \"POST /internal/apm/settings/anomaly-detection/update_to_v3\" | \"GET /internal/apm/settings/apm-index-settings\" | \"GET /internal/apm/settings/apm-indices\" | \"POST /internal/apm/settings/apm-indices/save\" | \"GET /internal/apm/settings/custom_links/transaction\" | \"GET /internal/apm/settings/custom_links\" | \"POST /internal/apm/settings/custom_links\" | \"PUT /internal/apm/settings/custom_links/{id}\" | \"DELETE /internal/apm/settings/custom_links/{id}\" | \"GET /api/apm/sourcemaps 2023-10-31\" | \"POST /api/apm/sourcemaps 2023-10-31\" | \"DELETE /api/apm/sourcemaps/{id} 2023-10-31\" | \"POST /internal/apm/sourcemaps/migrate_fleet_artifacts\" | \"GET /internal/apm/fleet/has_apm_policies\" | \"GET /internal/apm/fleet/agents\" | \"POST /api/apm/fleet/apm_server_schema 2023-10-31\" | \"GET /internal/apm/fleet/apm_server_schema/unsupported\" | \"GET /internal/apm/fleet/migration_check\" | \"POST /internal/apm/fleet/cloud_apm_package_policy\" | \"GET /internal/apm/fleet/java_agent_versions\" | \"GET /internal/apm/dependencies/top_dependencies\" | \"GET /internal/apm/dependencies/upstream_services\" | \"GET /internal/apm/dependencies/metadata\" | \"GET /internal/apm/dependencies/charts/latency\" | \"GET /internal/apm/dependencies/charts/throughput\" | \"GET /internal/apm/dependencies/charts/error_rate\" | \"GET /internal/apm/dependencies/operations\" | \"GET /internal/apm/dependencies/charts/distribution\" | \"GET /internal/apm/dependencies/operations/spans\" | \"GET /internal/apm/correlations/field_candidates/transactions\" | \"GET /internal/apm/correlations/field_value_stats/transactions\" | \"POST /internal/apm/correlations/field_value_pairs/transactions\" | \"POST /internal/apm/correlations/significant_correlations/transactions\" | \"POST /internal/apm/correlations/p_values/transactions\" | \"GET /internal/apm/fallback_to_transactions\" | \"GET /internal/apm/has_data\" | \"GET /internal/apm/event_metadata/{processorEvent}/{id}\" | \"GET /internal/apm/agent_keys\" | \"GET /internal/apm/agent_keys/privileges\" | \"POST /internal/apm/api_key/invalidate\" | \"POST /api/apm/agent_keys 2023-10-31\" | \"GET /internal/apm/storage_explorer\" | \"GET /internal/apm/services/{serviceName}/storage_details\" | \"GET /internal/apm/storage_chart\" | \"GET /internal/apm/storage_explorer/privileges\" | \"GET /internal/apm/storage_explorer_summary_stats\" | \"GET /internal/apm/storage_explorer/is_cross_cluster_search\" | \"GET /internal/apm/storage_explorer/get_services\" | \"GET /internal/apm/traces/{traceId}/span_links/{spanId}/parents\" | \"GET /internal/apm/traces/{traceId}/span_links/{spanId}/children\" | \"GET /internal/apm/services/{serviceName}/infrastructure_attributes\" | \"GET /internal/apm/debug-telemetry\" | \"GET /internal/apm/time_range_metadata\" | \"GET /internal/apm/settings/labs\" | \"GET /internal/apm/get_agents_per_service\" | \"GET /internal/apm/get_latest_agent_versions\" | \"GET /internal/apm/services/{serviceName}/agent_instances\" | \"GET /internal/apm/mobile-services/{serviceName}/error/http_error_rate\" | \"GET /internal/apm/mobile-services/{serviceName}/errors/groups/main_statistics\" | \"POST /internal/apm/mobile-services/{serviceName}/errors/groups/detailed_statistics\" | \"GET /internal/apm/mobile-services/{serviceName}/error_terms\" | \"POST /internal/apm/mobile-services/{serviceName}/crashes/groups/detailed_statistics\" | \"GET /internal/apm/mobile-services/{serviceName}/crashes/groups/main_statistics\" | \"GET /internal/apm/mobile-services/{serviceName}/crashes/distribution\" | \"GET /internal/apm/services/{serviceName}/mobile/filters\" | \"GET /internal/apm/mobile-services/{serviceName}/most_used_charts\" | \"GET /internal/apm/mobile-services/{serviceName}/transactions/charts/sessions\" | \"GET /internal/apm/mobile-services/{serviceName}/transactions/charts/http_requests\" | \"GET /internal/apm/mobile-services/{serviceName}/stats\" | \"GET /internal/apm/mobile-services/{serviceName}/location/stats\" | \"GET /internal/apm/mobile-services/{serviceName}/terms\" | \"GET /internal/apm/mobile-services/{serviceName}/main_statistics\" | \"GET /internal/apm/mobile-services/{serviceName}/detailed_statistics\" | \"GET /internal/apm/diagnostics\" | \"POST /internal/apm/assistant/get_apm_timeseries\" | \"GET /internal/apm/assistant/get_downstream_dependencies\" | \"GET /internal/apm/services/{serviceName}/profiling/flamegraph\" | \"GET /internal/apm/profiling/status\" | \"GET /internal/apm/services/{serviceName}/profiling/functions\" | \"GET /internal/apm/services/{serviceName}/profiling/hosts/flamegraph\" | \"GET /internal/apm/services/{serviceName}/profiling/hosts/functions\" | \"POST /internal/apm/custom-dashboard\" | \"DELETE /internal/apm/custom-dashboard\" | \"GET /internal/apm/services/{serviceName}/dashboards\"" + "\"POST /internal/apm/data_view/static\" | \"GET /internal/apm/data_view/index_pattern\" | \"GET /internal/apm/environments\" | \"GET /internal/apm/services/{serviceName}/errors/groups/main_statistics\" | \"GET /internal/apm/services/{serviceName}/errors/groups/main_statistics_by_transaction_name\" | \"POST /internal/apm/services/{serviceName}/errors/groups/detailed_statistics\" | \"GET /internal/apm/services/{serviceName}/errors/{groupId}/samples\" | \"GET /internal/apm/services/{serviceName}/errors/{groupId}/error/{errorId}\" | \"GET /internal/apm/services/{serviceName}/errors/distribution\" | \"GET /internal/apm/services/{serviceName}/errors/{groupId}/top_erroneous_transactions\" | \"POST /internal/apm/latency/overall_distribution/transactions\" | \"GET /internal/apm/services/{serviceName}/metrics/charts\" | \"GET /internal/apm/services/{serviceName}/metrics/nodes\" | \"GET /internal/apm/services/{serviceName}/metrics/serverless/charts\" | \"GET /internal/apm/services/{serviceName}/metrics/serverless/summary\" | \"GET /internal/apm/services/{serviceName}/metrics/serverless/functions_overview\" | \"GET /internal/apm/services/{serviceName}/metrics/serverless/active_instances\" | \"GET /internal/apm/observability_overview\" | \"GET /internal/apm/observability_overview/has_data\" | \"GET /internal/apm/service-map\" | \"GET /internal/apm/service-map/service/{serviceName}\" | \"GET /internal/apm/service-map/dependency\" | \"GET /internal/apm/services\" | \"POST /internal/apm/services/detailed_statistics\" | \"GET /internal/apm/services/{serviceName}/metadata/details\" | \"GET /internal/apm/services/{serviceName}/metadata/icons\" | \"GET /internal/apm/services/{serviceName}/agent\" | \"GET /internal/apm/services/{serviceName}/transaction_types\" | \"GET /internal/apm/services/{serviceName}/node/{serviceNodeName}/metadata\" | \"GET /api/apm/services/{serviceName}/annotation/search 2023-10-31\" | \"POST /api/apm/services/{serviceName}/annotation 2023-10-31\" | \"GET /internal/apm/services/{serviceName}/service_overview_instances/details/{serviceNodeName}\" | \"GET /internal/apm/services/{serviceName}/throughput\" | \"GET /internal/apm/services/{serviceName}/service_overview_instances/main_statistics\" | \"GET /internal/apm/services/{serviceName}/service_overview_instances/detailed_statistics\" | \"GET /internal/apm/services/{serviceName}/dependencies\" | \"GET /internal/apm/services/{serviceName}/dependencies/breakdown\" | \"GET /internal/apm/services/{serviceName}/anomaly_charts\" | \"GET /internal/apm/services/{serviceName}/alerts_count\" | \"GET /internal/apm/entities/services\" | \"GET /internal/apm/service-groups\" | \"GET /internal/apm/service-group\" | \"POST /internal/apm/service-group\" | \"DELETE /internal/apm/service-group\" | \"GET /internal/apm/service-group/services\" | \"GET /internal/apm/service-group/counts\" | \"GET /internal/apm/suggestions\" | \"GET /internal/apm/traces/{traceId}\" | \"GET /internal/apm/traces\" | \"GET /internal/apm/traces/{traceId}/root_transaction\" | \"GET /internal/apm/transactions/{transactionId}\" | \"GET /internal/apm/traces/find\" | \"POST /internal/apm/traces/aggregated_critical_path\" | \"GET /internal/apm/traces/{traceId}/transactions/{transactionId}\" | \"GET /internal/apm/traces/{traceId}/spans/{spanId}\" | \"GET /internal/apm/transactions\" | \"GET /internal/apm/services/{serviceName}/transactions/groups/main_statistics\" | \"GET /internal/apm/services/{serviceName}/transactions/groups/detailed_statistics\" | \"GET /internal/apm/services/{serviceName}/transactions/charts/latency\" | \"GET /internal/apm/services/{serviceName}/transactions/traces/samples\" | \"GET /internal/apm/services/{serviceName}/transaction/charts/breakdown\" | \"GET /internal/apm/services/{serviceName}/transactions/charts/error_rate\" | \"GET /internal/apm/services/{serviceName}/transactions/charts/coldstart_rate\" | \"GET /internal/apm/services/{serviceName}/transactions/charts/coldstart_rate_by_transaction_name\" | \"GET /internal/apm/rule_types/transaction_error_rate/chart_preview\" | \"GET /internal/apm/rule_types/error_count/chart_preview\" | \"GET /internal/apm/rule_types/transaction_duration/chart_preview\" | \"GET /api/apm/settings/agent-configuration 2023-10-31\" | \"GET /api/apm/settings/agent-configuration/view 2023-10-31\" | \"DELETE /api/apm/settings/agent-configuration 2023-10-31\" | \"PUT /api/apm/settings/agent-configuration 2023-10-31\" | \"POST /api/apm/settings/agent-configuration/search 2023-10-31\" | \"GET /api/apm/settings/agent-configuration/environments 2023-10-31\" | \"GET /api/apm/settings/agent-configuration/agent_name 2023-10-31\" | \"GET /internal/apm/settings/anomaly-detection/jobs\" | \"POST /internal/apm/settings/anomaly-detection/jobs\" | \"GET /internal/apm/settings/anomaly-detection/environments\" | \"POST /internal/apm/settings/anomaly-detection/update_to_v3\" | \"GET /internal/apm/settings/apm-index-settings\" | \"GET /internal/apm/settings/apm-indices\" | \"POST /internal/apm/settings/apm-indices/save\" | \"GET /internal/apm/settings/custom_links/transaction\" | \"GET /internal/apm/settings/custom_links\" | \"POST /internal/apm/settings/custom_links\" | \"PUT /internal/apm/settings/custom_links/{id}\" | \"DELETE /internal/apm/settings/custom_links/{id}\" | \"GET /api/apm/sourcemaps 2023-10-31\" | \"POST /api/apm/sourcemaps 2023-10-31\" | \"DELETE /api/apm/sourcemaps/{id} 2023-10-31\" | \"POST /internal/apm/sourcemaps/migrate_fleet_artifacts\" | \"GET /internal/apm/fleet/has_apm_policies\" | \"GET /internal/apm/fleet/agents\" | \"POST /api/apm/fleet/apm_server_schema 2023-10-31\" | \"GET /internal/apm/fleet/apm_server_schema/unsupported\" | \"GET /internal/apm/fleet/migration_check\" | \"POST /internal/apm/fleet/cloud_apm_package_policy\" | \"GET /internal/apm/fleet/java_agent_versions\" | \"GET /internal/apm/dependencies/top_dependencies\" | \"GET /internal/apm/dependencies/upstream_services\" | \"GET /internal/apm/dependencies/metadata\" | \"GET /internal/apm/dependencies/charts/latency\" | \"GET /internal/apm/dependencies/charts/throughput\" | \"GET /internal/apm/dependencies/charts/error_rate\" | \"GET /internal/apm/dependencies/operations\" | \"GET /internal/apm/dependencies/charts/distribution\" | \"GET /internal/apm/dependencies/operations/spans\" | \"GET /internal/apm/correlations/field_candidates/transactions\" | \"GET /internal/apm/correlations/field_value_stats/transactions\" | \"POST /internal/apm/correlations/field_value_pairs/transactions\" | \"POST /internal/apm/correlations/significant_correlations/transactions\" | \"POST /internal/apm/correlations/p_values/transactions\" | \"GET /internal/apm/fallback_to_transactions\" | \"GET /internal/apm/has_data\" | \"GET /internal/apm/event_metadata/{processorEvent}/{id}\" | \"GET /internal/apm/agent_keys\" | \"GET /internal/apm/agent_keys/privileges\" | \"POST /internal/apm/api_key/invalidate\" | \"POST /api/apm/agent_keys 2023-10-31\" | \"GET /internal/apm/storage_explorer\" | \"GET /internal/apm/services/{serviceName}/storage_details\" | \"GET /internal/apm/storage_chart\" | \"GET /internal/apm/storage_explorer/privileges\" | \"GET /internal/apm/storage_explorer_summary_stats\" | \"GET /internal/apm/storage_explorer/is_cross_cluster_search\" | \"GET /internal/apm/storage_explorer/get_services\" | \"GET /internal/apm/traces/{traceId}/span_links/{spanId}/parents\" | \"GET /internal/apm/traces/{traceId}/span_links/{spanId}/children\" | \"GET /internal/apm/services/{serviceName}/infrastructure_attributes\" | \"GET /internal/apm/debug-telemetry\" | \"GET /internal/apm/time_range_metadata\" | \"GET /internal/apm/settings/labs\" | \"GET /internal/apm/get_agents_per_service\" | \"GET /internal/apm/get_latest_agent_versions\" | \"GET /internal/apm/services/{serviceName}/agent_instances\" | \"GET /internal/apm/mobile-services/{serviceName}/error/http_error_rate\" | \"GET /internal/apm/mobile-services/{serviceName}/errors/groups/main_statistics\" | \"POST /internal/apm/mobile-services/{serviceName}/errors/groups/detailed_statistics\" | \"GET /internal/apm/mobile-services/{serviceName}/error_terms\" | \"POST /internal/apm/mobile-services/{serviceName}/crashes/groups/detailed_statistics\" | \"GET /internal/apm/mobile-services/{serviceName}/crashes/groups/main_statistics\" | \"GET /internal/apm/mobile-services/{serviceName}/crashes/distribution\" | \"GET /internal/apm/services/{serviceName}/mobile/filters\" | \"GET /internal/apm/mobile-services/{serviceName}/most_used_charts\" | \"GET /internal/apm/mobile-services/{serviceName}/transactions/charts/sessions\" | \"GET /internal/apm/mobile-services/{serviceName}/transactions/charts/http_requests\" | \"GET /internal/apm/mobile-services/{serviceName}/stats\" | \"GET /internal/apm/mobile-services/{serviceName}/location/stats\" | \"GET /internal/apm/mobile-services/{serviceName}/terms\" | \"GET /internal/apm/mobile-services/{serviceName}/main_statistics\" | \"GET /internal/apm/mobile-services/{serviceName}/detailed_statistics\" | \"GET /internal/apm/diagnostics\" | \"POST /internal/apm/assistant/get_apm_timeseries\" | \"GET /internal/apm/assistant/get_downstream_dependencies\" | \"GET /internal/apm/services/{serviceName}/profiling/flamegraph\" | \"GET /internal/apm/profiling/status\" | \"GET /internal/apm/services/{serviceName}/profiling/functions\" | \"GET /internal/apm/services/{serviceName}/profiling/hosts/flamegraph\" | \"GET /internal/apm/services/{serviceName}/profiling/hosts/functions\" | \"POST /internal/apm/custom-dashboard\" | \"DELETE /internal/apm/custom-dashboard\" | \"GET /internal/apm/services/{serviceName}/dashboards\"" ], "path": "x-pack/plugins/observability_solution/apm/server/routes/apm_routes/get_global_apm_server_route_repository.ts", "deprecated": false, @@ -5661,12 +5661,32 @@ "SavedServiceGroup", "[]; }>; } & ", "APMRouteCreateOptions", - "; \"GET /internal/apm/assets/services\": { endpoint: \"GET /internal/apm/assets/services\"; params?: ", + "; \"GET /internal/apm/entities/services\": { endpoint: \"GET /internal/apm/entities/services\"; params?: ", "TypeC", "<{ query: ", "IntersectionC", "<[", "TypeC", + "<{ environment: ", + "UnionC", + "<[", + "LiteralC", + "<\"ENVIRONMENT_NOT_DEFINED\">, ", + "LiteralC", + "<\"ENVIRONMENT_ALL\">, ", + "BrandC", + "<", + "StringC", + ", ", + { + "pluginId": "@kbn/io-ts-utils", + "scope": "common", + "docId": "kibKbnIoTsUtilsPluginApi", + "section": "def-common.NonEmptyStringBrand", + "text": "NonEmptyStringBrand" + }, + ">]>; }>, ", + "TypeC", "<{ kuery: ", "StringC", "; }>, ", @@ -5675,56 +5695,20 @@ "Type", "; end: ", "Type", - "; }>, ", - "TypeC", - "<{ documentType: ", - "UnionC", - "<[", - "LiteralC", - "<", - "ApmDocumentType", - ".ServiceTransactionMetric>, ", - "LiteralC", - "<", - "ApmDocumentType", - ".TransactionMetric>, ", - "LiteralC", - "<", - "ApmDocumentType", - ".TransactionEvent>]>; rollupInterval: ", - "UnionC", - "<[", - "LiteralC", - "<", - "RollupInterval", - ".OneMinute>, ", - "LiteralC", - "<", - "RollupInterval", - ".TenMinutes>, ", - "LiteralC", - "<", - "RollupInterval", - ".SixtyMinutes>, ", - "LiteralC", - "<", - "RollupInterval", - ".None>]>; }>, ", - "TypeC", - "<{ useDurationSummary: ", - "Type", - "; }>]>; }> | undefined; handler: ({}: ", + "; }>]>; }> | undefined; handler: ({}: ", "APMRouteHandlerResources", - " & { params: { query: { kuery: string; } & { start: number; end: number; } & { documentType: ", - "ApmDocumentType", - ".TransactionMetric | ", - "ApmDocumentType", - ".ServiceTransactionMetric | ", - "ApmDocumentType", - ".TransactionEvent; rollupInterval: ", - "RollupInterval", - "; } & { useDurationSummary: boolean; }; }; }) => Promise<", - "AssetServicesResponse", + " & { params: { query: { environment: \"ENVIRONMENT_NOT_DEFINED\" | \"ENVIRONMENT_ALL\" | ", + "Branded", + "; } & { kuery: string; } & { start: number; end: number; }; }; }) => Promise<", + "EntityServicesResponse", ">; } & ", "APMRouteCreateOptions", "; \"GET /internal/apm/services/{serviceName}/alerts_count\": { endpoint: \"GET /internal/apm/services/{serviceName}/alerts_count\"; params?: ", diff --git a/api_docs/apm.mdx b/api_docs/apm.mdx index d9ccc16a8acb4..ba9ac46becfc7 100644 --- a/api_docs/apm.mdx +++ b/api_docs/apm.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/apm title: "apm" image: https://source.unsplash.com/400x175/?github description: API docs for the apm plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'apm'] --- import apmObj from './apm.devdocs.json'; diff --git a/api_docs/apm_data_access.mdx b/api_docs/apm_data_access.mdx index cf0bc62f7d985..a103f9746ddd2 100644 --- a/api_docs/apm_data_access.mdx +++ b/api_docs/apm_data_access.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/apmDataAccess title: "apmDataAccess" image: https://source.unsplash.com/400x175/?github description: API docs for the apmDataAccess plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'apmDataAccess'] --- import apmDataAccessObj from './apm_data_access.devdocs.json'; diff --git a/api_docs/asset_manager.devdocs.json b/api_docs/asset_manager.devdocs.json index dcb7aa86b3ff9..cb0687b7f9922 100644 --- a/api_docs/asset_manager.devdocs.json +++ b/api_docs/asset_manager.devdocs.json @@ -28,6 +28,20 @@ "path": "x-pack/plugins/observability_solution/asset_manager/public/types.ts", "deprecated": false, "trackAdoption": false + }, + { + "parentPluginId": "assetManager", + "id": "def-public.AssetManagerPublicPluginSetup.entityClient", + "type": "Object", + "tags": [], + "label": "entityClient", + "description": [], + "signature": [ + "IEntityClient" + ], + "path": "x-pack/plugins/observability_solution/asset_manager/public/types.ts", + "deprecated": false, + "trackAdoption": false } ], "initialIsOpen": false @@ -56,6 +70,20 @@ "path": "x-pack/plugins/observability_solution/asset_manager/public/types.ts", "deprecated": false, "trackAdoption": false + }, + { + "parentPluginId": "assetManager", + "id": "def-public.AssetManagerPublicPluginStart.entityClient", + "type": "Object", + "tags": [], + "label": "entityClient", + "description": [], + "signature": [ + "IEntityClient" + ], + "path": "x-pack/plugins/observability_solution/asset_manager/public/types.ts", + "deprecated": false, + "trackAdoption": false } ], "initialIsOpen": false diff --git a/api_docs/asset_manager.mdx b/api_docs/asset_manager.mdx index 64cfd25389da0..e06a6ada52132 100644 --- a/api_docs/asset_manager.mdx +++ b/api_docs/asset_manager.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/assetManager title: "assetManager" image: https://source.unsplash.com/400x175/?github description: API docs for the assetManager plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'assetManager'] --- import assetManagerObj from './asset_manager.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/obs-knowledge-team](https://github.com/orgs/elastic/teams/obs- | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 9 | 0 | 9 | 2 | +| 11 | 0 | 11 | 3 | ## Client diff --git a/api_docs/assets_data_access.mdx b/api_docs/assets_data_access.mdx index 76dad9651578f..84c0ea49e312d 100644 --- a/api_docs/assets_data_access.mdx +++ b/api_docs/assets_data_access.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/assetsDataAccess title: "assetsDataAccess" image: https://source.unsplash.com/400x175/?github description: API docs for the assetsDataAccess plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'assetsDataAccess'] --- import assetsDataAccessObj from './assets_data_access.devdocs.json'; diff --git a/api_docs/banners.mdx b/api_docs/banners.mdx index 4c8b9bbe19251..dc58d172502c9 100644 --- a/api_docs/banners.mdx +++ b/api_docs/banners.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/banners title: "banners" image: https://source.unsplash.com/400x175/?github description: API docs for the banners plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'banners'] --- import bannersObj from './banners.devdocs.json'; diff --git a/api_docs/bfetch.mdx b/api_docs/bfetch.mdx index 7d4dd4fd3ca99..55601c5eb4ee0 100644 --- a/api_docs/bfetch.mdx +++ b/api_docs/bfetch.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/bfetch title: "bfetch" image: https://source.unsplash.com/400x175/?github description: API docs for the bfetch plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'bfetch'] --- import bfetchObj from './bfetch.devdocs.json'; diff --git a/api_docs/canvas.mdx b/api_docs/canvas.mdx index 91e867a7999af..3f263bae3d5be 100644 --- a/api_docs/canvas.mdx +++ b/api_docs/canvas.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/canvas title: "canvas" image: https://source.unsplash.com/400x175/?github description: API docs for the canvas plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'canvas'] --- import canvasObj from './canvas.devdocs.json'; diff --git a/api_docs/cases.mdx b/api_docs/cases.mdx index 2beb8d47c6930..35517328d7d49 100644 --- a/api_docs/cases.mdx +++ b/api_docs/cases.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cases title: "cases" image: https://source.unsplash.com/400x175/?github description: API docs for the cases plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cases'] --- import casesObj from './cases.devdocs.json'; diff --git a/api_docs/charts.mdx b/api_docs/charts.mdx index 7f1e24b9fea6d..4bc24b0a85819 100644 --- a/api_docs/charts.mdx +++ b/api_docs/charts.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/charts title: "charts" image: https://source.unsplash.com/400x175/?github description: API docs for the charts plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'charts'] --- import chartsObj from './charts.devdocs.json'; diff --git a/api_docs/cloud.mdx b/api_docs/cloud.mdx index 190013ec6c9cf..121208b094a01 100644 --- a/api_docs/cloud.mdx +++ b/api_docs/cloud.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloud title: "cloud" image: https://source.unsplash.com/400x175/?github description: API docs for the cloud plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloud'] --- import cloudObj from './cloud.devdocs.json'; diff --git a/api_docs/cloud_data_migration.mdx b/api_docs/cloud_data_migration.mdx index bb3b69a7c63f1..ff1b8c428f4a5 100644 --- a/api_docs/cloud_data_migration.mdx +++ b/api_docs/cloud_data_migration.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudDataMigration title: "cloudDataMigration" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudDataMigration plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudDataMigration'] --- import cloudDataMigrationObj from './cloud_data_migration.devdocs.json'; diff --git a/api_docs/cloud_defend.mdx b/api_docs/cloud_defend.mdx index 2d88f69aeec5c..28c588fde2419 100644 --- a/api_docs/cloud_defend.mdx +++ b/api_docs/cloud_defend.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudDefend title: "cloudDefend" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudDefend plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudDefend'] --- import cloudDefendObj from './cloud_defend.devdocs.json'; diff --git a/api_docs/cloud_experiments.mdx b/api_docs/cloud_experiments.mdx index daf262ab94138..8d1f9151de607 100644 --- a/api_docs/cloud_experiments.mdx +++ b/api_docs/cloud_experiments.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudExperiments title: "cloudExperiments" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudExperiments plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudExperiments'] --- import cloudExperimentsObj from './cloud_experiments.devdocs.json'; diff --git a/api_docs/cloud_security_posture.mdx b/api_docs/cloud_security_posture.mdx index a812d76502208..6e1b0e07c86d3 100644 --- a/api_docs/cloud_security_posture.mdx +++ b/api_docs/cloud_security_posture.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudSecurityPosture title: "cloudSecurityPosture" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudSecurityPosture plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudSecurityPosture'] --- import cloudSecurityPostureObj from './cloud_security_posture.devdocs.json'; diff --git a/api_docs/console.mdx b/api_docs/console.mdx index 8b056c595d8d8..1e3c491e3f558 100644 --- a/api_docs/console.mdx +++ b/api_docs/console.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/console title: "console" image: https://source.unsplash.com/400x175/?github description: API docs for the console plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'console'] --- import consoleObj from './console.devdocs.json'; diff --git a/api_docs/content_management.mdx b/api_docs/content_management.mdx index a061227fb6cae..6220c0bee133e 100644 --- a/api_docs/content_management.mdx +++ b/api_docs/content_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/contentManagement title: "contentManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the contentManagement plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'contentManagement'] --- import contentManagementObj from './content_management.devdocs.json'; diff --git a/api_docs/controls.mdx b/api_docs/controls.mdx index 97ce881289142..83a9e4eaa3ad7 100644 --- a/api_docs/controls.mdx +++ b/api_docs/controls.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/controls title: "controls" image: https://source.unsplash.com/400x175/?github description: API docs for the controls plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'controls'] --- import controlsObj from './controls.devdocs.json'; diff --git a/api_docs/custom_integrations.mdx b/api_docs/custom_integrations.mdx index aef3f276d8a1c..88bbda2997c3d 100644 --- a/api_docs/custom_integrations.mdx +++ b/api_docs/custom_integrations.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/customIntegrations title: "customIntegrations" image: https://source.unsplash.com/400x175/?github description: API docs for the customIntegrations plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'customIntegrations'] --- import customIntegrationsObj from './custom_integrations.devdocs.json'; diff --git a/api_docs/dashboard.mdx b/api_docs/dashboard.mdx index 96515a7692a6c..636422027dc32 100644 --- a/api_docs/dashboard.mdx +++ b/api_docs/dashboard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dashboard title: "dashboard" image: https://source.unsplash.com/400x175/?github description: API docs for the dashboard plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dashboard'] --- import dashboardObj from './dashboard.devdocs.json'; diff --git a/api_docs/dashboard_enhanced.mdx b/api_docs/dashboard_enhanced.mdx index 119f9b57bf172..2b52e4f37fe1b 100644 --- a/api_docs/dashboard_enhanced.mdx +++ b/api_docs/dashboard_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dashboardEnhanced title: "dashboardEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the dashboardEnhanced plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dashboardEnhanced'] --- import dashboardEnhancedObj from './dashboard_enhanced.devdocs.json'; diff --git a/api_docs/data.mdx b/api_docs/data.mdx index 4bc38d07ab1b5..e40bc3ef96d31 100644 --- a/api_docs/data.mdx +++ b/api_docs/data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/data title: "data" image: https://source.unsplash.com/400x175/?github description: API docs for the data plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'data'] --- import dataObj from './data.devdocs.json'; diff --git a/api_docs/data_quality.mdx b/api_docs/data_quality.mdx index c9508d873d3ce..6a13bbd579ac9 100644 --- a/api_docs/data_quality.mdx +++ b/api_docs/data_quality.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataQuality title: "dataQuality" image: https://source.unsplash.com/400x175/?github description: API docs for the dataQuality plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataQuality'] --- import dataQualityObj from './data_quality.devdocs.json'; diff --git a/api_docs/data_query.mdx b/api_docs/data_query.mdx index 3123c6516428a..c1607a7277c21 100644 --- a/api_docs/data_query.mdx +++ b/api_docs/data_query.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/data-query title: "data.query" image: https://source.unsplash.com/400x175/?github description: API docs for the data.query plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'data.query'] --- import dataQueryObj from './data_query.devdocs.json'; diff --git a/api_docs/data_search.mdx b/api_docs/data_search.mdx index 181a37757cacb..dc99432176bd2 100644 --- a/api_docs/data_search.mdx +++ b/api_docs/data_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/data-search title: "data.search" image: https://source.unsplash.com/400x175/?github description: API docs for the data.search plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'data.search'] --- import dataSearchObj from './data_search.devdocs.json'; diff --git a/api_docs/data_view_editor.mdx b/api_docs/data_view_editor.mdx index 3af5d0fe9268a..03bef04846b37 100644 --- a/api_docs/data_view_editor.mdx +++ b/api_docs/data_view_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViewEditor title: "dataViewEditor" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViewEditor plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataViewEditor'] --- import dataViewEditorObj from './data_view_editor.devdocs.json'; diff --git a/api_docs/data_view_field_editor.mdx b/api_docs/data_view_field_editor.mdx index 206f19c400122..86b83f314fae3 100644 --- a/api_docs/data_view_field_editor.mdx +++ b/api_docs/data_view_field_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViewFieldEditor title: "dataViewFieldEditor" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViewFieldEditor plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataViewFieldEditor'] --- import dataViewFieldEditorObj from './data_view_field_editor.devdocs.json'; diff --git a/api_docs/data_view_management.mdx b/api_docs/data_view_management.mdx index b7a04fc6457ca..bd479fbdef927 100644 --- a/api_docs/data_view_management.mdx +++ b/api_docs/data_view_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViewManagement title: "dataViewManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViewManagement plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataViewManagement'] --- import dataViewManagementObj from './data_view_management.devdocs.json'; diff --git a/api_docs/data_views.mdx b/api_docs/data_views.mdx index 74c481eaad31c..613fc83f745bb 100644 --- a/api_docs/data_views.mdx +++ b/api_docs/data_views.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViews title: "dataViews" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViews plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataViews'] --- import dataViewsObj from './data_views.devdocs.json'; diff --git a/api_docs/data_visualizer.mdx b/api_docs/data_visualizer.mdx index d432893bc384f..36ae063b22359 100644 --- a/api_docs/data_visualizer.mdx +++ b/api_docs/data_visualizer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataVisualizer title: "dataVisualizer" image: https://source.unsplash.com/400x175/?github description: API docs for the dataVisualizer plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataVisualizer'] --- import dataVisualizerObj from './data_visualizer.devdocs.json'; diff --git a/api_docs/dataset_quality.mdx b/api_docs/dataset_quality.mdx index 9be5bb8dcf960..3a8f310060124 100644 --- a/api_docs/dataset_quality.mdx +++ b/api_docs/dataset_quality.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/datasetQuality title: "datasetQuality" image: https://source.unsplash.com/400x175/?github description: API docs for the datasetQuality plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'datasetQuality'] --- import datasetQualityObj from './dataset_quality.devdocs.json'; diff --git a/api_docs/deprecations_by_api.mdx b/api_docs/deprecations_by_api.mdx index 5c6f96d6421d7..ed047dd05af71 100644 --- a/api_docs/deprecations_by_api.mdx +++ b/api_docs/deprecations_by_api.mdx @@ -7,7 +7,7 @@ id: kibDevDocsDeprecationsByApi slug: /kibana-dev-docs/api-meta/deprecated-api-list-by-api title: Deprecated API usage by API description: A list of deprecated APIs, which plugins are still referencing them, and when they need to be removed by. -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- @@ -39,7 +39,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | securitySolution | - | | | cloudDefend, osquery, securitySolution, synthetics | - | | | cloudDefend, osquery, securitySolution, synthetics | - | -| | actions, alerting, files, cases, observabilityAIAssistant, fleet, cloudDefend, cloudSecurityPosture, elasticAssistant, enterpriseSearch, lists, osquery, securitySolution, reporting, serverlessSearch, transform, upgradeAssistant, apm, synthetics, security | - | +| | actions, alerting, files, cases, observabilityAIAssistant, fleet, cloudDefend, cloudSecurityPosture, elasticAssistant, enterpriseSearch, lists, osquery, securitySolution, reporting, serverlessSearch, transform, upgradeAssistant, apm, assetManager, synthetics, security | - | | | cases, securitySolution, security | - | | | @kbn/securitysolution-data-table, securitySolution | - | | | @kbn/securitysolution-data-table, securitySolution | - | @@ -70,18 +70,18 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | visualizations, lens, controls, dashboard, discover, links | - | | | discover, @kbn/reporting-public | - | | | data, discover, imageEmbeddable, embeddable | - | -| | @kbn/core-plugins-browser-internal, @kbn/core-root-browser-internal, home, savedObjects, unifiedSearch, visualizations, fileUpload, dashboardEnhanced, transform, dashboard, discover, dataVisualizer | - | +| | @kbn/core-plugins-browser-internal, @kbn/core-root-browser-internal, home, savedObjects, unifiedSearch, visualizations, fileUpload, dashboardEnhanced, transform, discover, dataVisualizer | - | | | @kbn/core-saved-objects-browser-mocks, discover, @kbn/core-saved-objects-browser-internal | - | | | discover, @kbn/management-settings-field-definition | - | | | monitoring | - | | | @kbn/core-saved-objects-api-browser, @kbn/core, savedObjects, savedObjectsManagement, visualizations, savedObjectsTagging, eventAnnotation, lens, maps, graph, dashboard, savedObjectsTaggingOss, kibanaUtils, expressions, data, embeddable, uiActionsEnhanced, controls, canvas, dashboardEnhanced, globalSearchProviders | - | | | @kbn/core-saved-objects-browser, @kbn/core-saved-objects-browser-internal, @kbn/core, home, savedObjects, visualizations, lens, visTypeTimeseries, @kbn/core-saved-objects-browser-mocks | - | -| | @kbn/core-saved-objects-browser-internal, @kbn/core-saved-objects-browser-mocks, savedObjects, dashboard | - | +| | @kbn/core-saved-objects-browser-internal, @kbn/core-saved-objects-browser-mocks, savedObjects | - | | | @kbn/core-saved-objects-browser-mocks, home, @kbn/core-saved-objects-browser-internal | - | | | @kbn/core-saved-objects-browser-internal, @kbn/core-saved-objects-browser-mocks, savedObjects, visualizations | - | | | @kbn/core-saved-objects-browser-mocks, @kbn/core-saved-objects-browser-internal | - | -| | @kbn/core-saved-objects-browser-mocks, savedObjects, dashboardEnhanced, dashboard, @kbn/core-saved-objects-browser-internal | - | -| | @kbn/core-saved-objects-browser-mocks, savedObjects, dashboardEnhanced, dashboard, @kbn/core-saved-objects-browser-internal | - | +| | @kbn/core-saved-objects-browser-mocks, savedObjects, dashboardEnhanced, @kbn/core-saved-objects-browser-internal | - | +| | @kbn/core-saved-objects-browser-mocks, savedObjects, dashboardEnhanced, @kbn/core-saved-objects-browser-internal | - | | | @kbn/core-saved-objects-browser-mocks, savedObjects, @kbn/core-saved-objects-browser-internal | - | | | @kbn/core-saved-objects-browser-mocks, @kbn/core-saved-objects-browser-internal | - | | | @kbn/core-saved-objects-browser-internal, @kbn/core-saved-objects-browser-mocks, savedObjects | - | @@ -117,6 +117,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | dashboard, canvas | - | | | dashboard | - | | | embeddable, dashboard | - | +| | dashboard, maps | - | | | dataVisualizer, security | - | | | dataViews, maps | - | | | dataViews, dataViewManagement | - | diff --git a/api_docs/deprecations_by_plugin.mdx b/api_docs/deprecations_by_plugin.mdx index 4752ee8c2b541..b35b4095cc978 100644 --- a/api_docs/deprecations_by_plugin.mdx +++ b/api_docs/deprecations_by_plugin.mdx @@ -7,7 +7,7 @@ id: kibDevDocsDeprecationsByPlugin slug: /kibana-dev-docs/api-meta/deprecated-api-list-by-plugin title: Deprecated API usage by plugin description: A list of deprecated APIs, which plugins are still referencing them, and when they need to be removed by. -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- @@ -511,6 +511,14 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] +## assetManager + +| Deprecated API | Reference location(s) | Remove By | +| ---------------|-----------|-----------| +| | [api_key.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability_solution/asset_manager/server/lib/auth/api_key/api_key.ts#:~:text=authc), [api_key.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability_solution/asset_manager/server/lib/auth/api_key/api_key.ts#:~:text=authc), [api_key.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability_solution/asset_manager/server/lib/auth/api_key/api_key.ts#:~:text=authc), [enable.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability_solution/asset_manager/server/routes/enablement/enable.ts#:~:text=authc), [disable.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability_solution/asset_manager/server/routes/enablement/disable.ts#:~:text=authc), [api_key.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability_solution/asset_manager/server/lib/auth/api_key/api_key.ts#:~:text=authc), [api_key.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability_solution/asset_manager/server/lib/auth/api_key/api_key.ts#:~:text=authc), [api_key.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability_solution/asset_manager/server/lib/auth/api_key/api_key.ts#:~:text=authc), [enable.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability_solution/asset_manager/server/routes/enablement/enable.ts#:~:text=authc), [disable.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability_solution/asset_manager/server/routes/enablement/disable.ts#:~:text=authc) | - | + + + ## canvas | Deprecated API | Reference location(s) | Remove By | @@ -625,19 +633,16 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [types.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/public/services/data/types.ts#:~:text=fieldFormats), [data_service.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/public/services/data/data_service.ts#:~:text=fieldFormats) | - | | | [dashboard_grid_item.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/public/dashboard_container/component/grid/dashboard_grid_item.tsx#:~:text=EmbeddablePanel), [dashboard_grid_item.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/public/dashboard_container/component/grid/dashboard_grid_item.tsx#:~:text=EmbeddablePanel) | - | | | [plugin.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/public/plugin.tsx#:~:text=registerEmbeddableFactory) | - | -| | [migrate_dashboard_input.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/public/services/dashboard_content_management/lib/migrate_dashboard_input.ts#:~:text=getEmbeddableFactory), [migrate_dashboard_input.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/public/services/dashboard_content_management/lib/migrate_dashboard_input.ts#:~:text=getEmbeddableFactory), [create_dashboard.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/public/dashboard_container/embeddable/create/create_dashboard.ts#:~:text=getEmbeddableFactory), [dashboard_container.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container.tsx#:~:text=getEmbeddableFactory), [dashboard_container.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container.tsx#:~:text=getEmbeddableFactory), [dashboard_renderer.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/public/dashboard_container/external_api/dashboard_renderer.tsx#:~:text=getEmbeddableFactory), [embeddable.stub.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/public/services/embeddable/embeddable.stub.ts#:~:text=getEmbeddableFactory), [duplicate_dashboard_panel.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/public/dashboard_container/embeddable/api/duplicate_dashboard_panel.test.ts#:~:text=getEmbeddableFactory), [create_dashboard.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/public/dashboard_container/embeddable/create/create_dashboard.test.ts#:~:text=getEmbeddableFactory), [create_dashboard.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/public/dashboard_container/embeddable/create/create_dashboard.test.ts#:~:text=getEmbeddableFactory)+ 10 more | - | +| | [migrate_dashboard_input.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/public/services/dashboard_content_management/lib/migrate_dashboard_input.ts#:~:text=getEmbeddableFactory), [migrate_dashboard_input.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/public/services/dashboard_content_management/lib/migrate_dashboard_input.ts#:~:text=getEmbeddableFactory), [create_dashboard.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/public/dashboard_container/embeddable/create/create_dashboard.ts#:~:text=getEmbeddableFactory), [dashboard_container.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container.tsx#:~:text=getEmbeddableFactory), [dashboard_container.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container.tsx#:~:text=getEmbeddableFactory), [dashboard_renderer.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/public/dashboard_container/external_api/dashboard_renderer.tsx#:~:text=getEmbeddableFactory), [embeddable.stub.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/public/services/embeddable/embeddable.stub.ts#:~:text=getEmbeddableFactory), [create_dashboard.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/public/dashboard_container/embeddable/create/create_dashboard.test.ts#:~:text=getEmbeddableFactory), [create_dashboard.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/public/dashboard_container/embeddable/create/create_dashboard.test.ts#:~:text=getEmbeddableFactory), [create_dashboard.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/public/dashboard_container/embeddable/create/create_dashboard.test.ts#:~:text=getEmbeddableFactory)+ 9 more | - | | | [editor_menu.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/public/dashboard_app/top_nav/editor_menu.tsx#:~:text=getEmbeddableFactories), [embeddable.stub.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/public/services/embeddable/embeddable.stub.ts#:~:text=getEmbeddableFactories), [embeddable.stub.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/public/services/embeddable/embeddable.stub.ts#:~:text=getEmbeddableFactories) | - | | | [save_modal.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/public/dashboard_container/embeddable/api/overlays/save_modal.tsx#:~:text=SavedObjectSaveModal), [save_modal.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/public/dashboard_container/embeddable/api/overlays/save_modal.tsx#:~:text=SavedObjectSaveModal), [add_to_library_action.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/public/dashboard_actions/add_to_library_action.tsx#:~:text=SavedObjectSaveModal), [add_to_library_action.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/public/dashboard_actions/add_to_library_action.tsx#:~:text=SavedObjectSaveModal) | 8.8.0 | -| | [duplicate_dashboard_panel.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/public/dashboard_container/embeddable/api/duplicate_dashboard_panel.test.ts#:~:text=savedObjects), [duplicate_dashboard_panel.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/public/dashboard_container/embeddable/api/duplicate_dashboard_panel.test.ts#:~:text=savedObjects) | - | -| | [duplicate_dashboard_panel.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/public/dashboard_container/embeddable/api/duplicate_dashboard_panel.test.ts#:~:text=create) | - | -| | [duplicate_dashboard_panel.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/public/dashboard_container/embeddable/api/duplicate_dashboard_panel.test.ts#:~:text=find) | - | -| | [duplicate_dashboard_panel.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/public/dashboard_container/embeddable/api/duplicate_dashboard_panel.test.ts#:~:text=get) | - | | | [types.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/common/bwc/types.ts#:~:text=SavedObjectReference), [types.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/common/bwc/types.ts#:~:text=SavedObjectReference) | - | | | [dashboard_saved_object.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/server/dashboard_saved_object/dashboard_saved_object.ts#:~:text=migrations) | - | | | [dashboard_saved_object.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/server/dashboard_saved_object/dashboard_saved_object.ts#:~:text=schemas) | - | | | [dashboard_saved_object.ts](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/server/dashboard_saved_object/dashboard_saved_object.ts#:~:text=convertToMultiNamespaceTypeVersion) | - | | | [legacy_add_to_library_action.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/public/dashboard_actions/legacy_add_to_library_action.tsx#:~:text=apiHasLegacyLibraryTransforms), [legacy_add_to_library_action.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/public/dashboard_actions/legacy_add_to_library_action.tsx#:~:text=apiHasLegacyLibraryTransforms), [legacy_unlink_from_library_action.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/public/dashboard_actions/legacy_unlink_from_library_action.tsx#:~:text=apiHasLegacyLibraryTransforms), [legacy_unlink_from_library_action.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/public/dashboard_actions/legacy_unlink_from_library_action.tsx#:~:text=apiHasLegacyLibraryTransforms) | - | | | [legacy_add_to_library_action.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/public/dashboard_actions/legacy_add_to_library_action.tsx#:~:text=HasLegacyLibraryTransforms), [legacy_add_to_library_action.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/public/dashboard_actions/legacy_add_to_library_action.tsx#:~:text=HasLegacyLibraryTransforms), [legacy_unlink_from_library_action.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/public/dashboard_actions/legacy_unlink_from_library_action.tsx#:~:text=HasLegacyLibraryTransforms), [legacy_unlink_from_library_action.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/public/dashboard_actions/legacy_unlink_from_library_action.tsx#:~:text=HasLegacyLibraryTransforms) | - | +| | [add_to_library_action.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/public/dashboard_actions/add_to_library_action.tsx#:~:text=HasLibraryTransforms), [add_to_library_action.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/public/dashboard_actions/add_to_library_action.tsx#:~:text=HasLibraryTransforms), [unlink_from_library_action.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/public/dashboard_actions/unlink_from_library_action.tsx#:~:text=HasLibraryTransforms), [unlink_from_library_action.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/dashboard/public/dashboard_actions/unlink_from_library_action.tsx#:~:text=HasLibraryTransforms) | - | @@ -1072,6 +1077,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [load_from_library.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/maps/public/routes/map_page/saved_map/load_from_library.ts#:~:text=SavedObjectReference), [load_from_library.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/maps/public/routes/map_page/saved_map/load_from_library.ts#:~:text=SavedObjectReference), [save_to_library.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/maps/public/routes/map_page/saved_map/save_to_library.ts#:~:text=SavedObjectReference), [save_to_library.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/maps/public/routes/map_page/saved_map/save_to_library.ts#:~:text=SavedObjectReference), [references.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/maps/common/migrations/references.ts#:~:text=SavedObjectReference), [references.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/maps/common/migrations/references.ts#:~:text=SavedObjectReference), [references.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/maps/common/migrations/references.ts#:~:text=SavedObjectReference), [references.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/maps/common/migrations/references.ts#:~:text=SavedObjectReference), [references.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/maps/common/migrations/references.ts#:~:text=SavedObjectReference) | - | | | [setup_saved_objects.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/maps/server/saved_objects/setup_saved_objects.ts#:~:text=migrations) | - | | | [setup_saved_objects.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/maps/server/saved_objects/setup_saved_objects.ts#:~:text=convertToMultiNamespaceTypeVersion) | - | +| | [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/maps/public/react_embeddable/types.ts#:~:text=HasLibraryTransforms), [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/maps/public/react_embeddable/types.ts#:~:text=HasLibraryTransforms), [library_transforms.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/maps/public/react_embeddable/library_transforms.ts#:~:text=HasLibraryTransforms), [library_transforms.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/maps/public/react_embeddable/library_transforms.ts#:~:text=HasLibraryTransforms) | - | | | [es_search_source.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.tsx#:~:text=authc) | - | @@ -1453,7 +1459,7 @@ migrates to using the Kibana Privilege model: https://github.com/elastic/kibana/ | Deprecated API | Reference location(s) | Remove By | | ---------------|-----------|-----------| -| | [common.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability_solution/synthetics/server/alert_rules/common.ts#:~:text=alertFactory), [message_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability_solution/synthetics/server/alert_rules/tls_rule/message_utils.ts#:~:text=alertFactory), [tls_rule.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability_solution/synthetics/server/alert_rules/tls_rule/tls_rule.ts#:~:text=alertFactory), [monitor_status_rule.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability_solution/synthetics/server/alert_rules/status_rule/monitor_status_rule.ts#:~:text=alertFactory) | - | +| | [message_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability_solution/synthetics/server/alert_rules/tls_rule/message_utils.ts#:~:text=alertFactory), [tls_rule.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability_solution/synthetics/server/alert_rules/tls_rule/tls_rule.ts#:~:text=alertFactory) | - | | | [stderr_logs.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/components/stderr_logs.tsx#:~:text=indexPatternId) | - | | | [synthetics_private_location.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/private_location/synthetics_private_location.ts#:~:text=policy_id) | - | | | [synthetics_private_location.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability_solution/synthetics/server/synthetics_service/private_location/synthetics_private_location.ts#:~:text=policy_id) | - | diff --git a/api_docs/deprecations_by_team.mdx b/api_docs/deprecations_by_team.mdx index c99f47c97e352..2f4c7024b8298 100644 --- a/api_docs/deprecations_by_team.mdx +++ b/api_docs/deprecations_by_team.mdx @@ -7,7 +7,7 @@ id: kibDevDocsDeprecationsDueByTeam slug: /kibana-dev-docs/api-meta/deprecations-due-by-team title: Deprecated APIs due to be removed, by team description: Lists the teams that are referencing deprecated APIs with a remove by date. -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- diff --git a/api_docs/dev_tools.mdx b/api_docs/dev_tools.mdx index 35498a89f5b17..9c6b6b3133535 100644 --- a/api_docs/dev_tools.mdx +++ b/api_docs/dev_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/devTools title: "devTools" image: https://source.unsplash.com/400x175/?github description: API docs for the devTools plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'devTools'] --- import devToolsObj from './dev_tools.devdocs.json'; diff --git a/api_docs/discover.devdocs.json b/api_docs/discover.devdocs.json index 26f8c41e05c83..7313700b71a33 100644 --- a/api_docs/discover.devdocs.json +++ b/api_docs/discover.devdocs.json @@ -1010,72 +1010,6 @@ ], "initialIsOpen": false }, - { - "parentPluginId": "discover", - "id": "def-public.FlyoutContentProps", - "type": "Interface", - "tags": [], - "label": "FlyoutContentProps", - "description": [], - "path": "src/plugins/discover/public/customizations/customization_types/flyout_customization.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "discover", - "id": "def-public.FlyoutContentProps.actions", - "type": "Object", - "tags": [], - "label": "actions", - "description": [], - "signature": [ - "{ filter?: ", - "DocViewFilterFn", - " | undefined; onAddColumn?: ((columnName: string) => void) | undefined; onRemoveColumn?: ((columnName: string) => void) | undefined; }" - ], - "path": "src/plugins/discover/public/customizations/customization_types/flyout_customization.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "discover", - "id": "def-public.FlyoutContentProps.doc", - "type": "Object", - "tags": [], - "label": "doc", - "description": [], - "signature": [ - { - "pluginId": "@kbn/discover-utils", - "scope": "common", - "docId": "kibKbnDiscoverUtilsPluginApi", - "section": "def-common.DataTableRecord", - "text": "DataTableRecord" - } - ], - "path": "src/plugins/discover/public/customizations/customization_types/flyout_customization.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "discover", - "id": "def-public.FlyoutContentProps.renderDefaultContent", - "type": "Function", - "tags": [], - "label": "renderDefaultContent", - "description": [], - "signature": [ - "() => React.ReactNode" - ], - "path": "src/plugins/discover/public/customizations/customization_types/flyout_customization.ts", - "deprecated": false, - "trackAdoption": false, - "children": [], - "returnComment": [] - } - ], - "initialIsOpen": false - }, { "parentPluginId": "discover", "id": "def-public.FlyoutCustomization", @@ -1157,13 +1091,7 @@ "description": [], "signature": [ "React.ComponentType<", - { - "pluginId": "discover", - "scope": "public", - "docId": "kibDiscoverPluginApi", - "section": "def-public.FlyoutContentProps", - "text": "FlyoutContentProps" - }, + "FlyoutContentProps", "> | undefined" ], "path": "src/plugins/discover/public/customizations/customization_types/flyout_customization.ts", diff --git a/api_docs/discover.mdx b/api_docs/discover.mdx index 64e53552a24f3..b87612ef50a3c 100644 --- a/api_docs/discover.mdx +++ b/api_docs/discover.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/discover title: "discover" image: https://source.unsplash.com/400x175/?github description: API docs for the discover plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'discover'] --- import discoverObj from './discover.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/k | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 148 | 0 | 101 | 28 | +| 144 | 0 | 97 | 29 | ## Client diff --git a/api_docs/discover_enhanced.mdx b/api_docs/discover_enhanced.mdx index 5583e7fac0809..944114bde29a1 100644 --- a/api_docs/discover_enhanced.mdx +++ b/api_docs/discover_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/discoverEnhanced title: "discoverEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the discoverEnhanced plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'discoverEnhanced'] --- import discoverEnhancedObj from './discover_enhanced.devdocs.json'; diff --git a/api_docs/discover_shared.mdx b/api_docs/discover_shared.mdx index 00441fc0a8e03..aff27bf3d86cf 100644 --- a/api_docs/discover_shared.mdx +++ b/api_docs/discover_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/discoverShared title: "discoverShared" image: https://source.unsplash.com/400x175/?github description: API docs for the discoverShared plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'discoverShared'] --- import discoverSharedObj from './discover_shared.devdocs.json'; diff --git a/api_docs/ecs_data_quality_dashboard.mdx b/api_docs/ecs_data_quality_dashboard.mdx index 04dbf12c64752..08f1be80f2732 100644 --- a/api_docs/ecs_data_quality_dashboard.mdx +++ b/api_docs/ecs_data_quality_dashboard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ecsDataQualityDashboard title: "ecsDataQualityDashboard" image: https://source.unsplash.com/400x175/?github description: API docs for the ecsDataQualityDashboard plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ecsDataQualityDashboard'] --- import ecsDataQualityDashboardObj from './ecs_data_quality_dashboard.devdocs.json'; diff --git a/api_docs/elastic_assistant.mdx b/api_docs/elastic_assistant.mdx index 2d685a960e6cc..e8b113ac0bc5e 100644 --- a/api_docs/elastic_assistant.mdx +++ b/api_docs/elastic_assistant.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/elasticAssistant title: "elasticAssistant" image: https://source.unsplash.com/400x175/?github description: API docs for the elasticAssistant plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'elasticAssistant'] --- import elasticAssistantObj from './elastic_assistant.devdocs.json'; diff --git a/api_docs/embeddable.devdocs.json b/api_docs/embeddable.devdocs.json index 8c823689d0bd2..6cdd1e2b0f739 100644 --- a/api_docs/embeddable.devdocs.json +++ b/api_docs/embeddable.devdocs.json @@ -8940,7 +8940,7 @@ "\nRenders a component from the React Embeddable registry into a Presentation Panel.\n\nTODO: Rename this to simply `Embeddable` when the legacy Embeddable system is removed." ], "signature": [ - " = ", + " = ", { "pluginId": "embeddable", "scope": "public", @@ -8956,7 +8956,7 @@ "section": "def-public.DefaultEmbeddableApi", "text": "DefaultEmbeddableApi" }, - ", RuntimeState extends object = SerializedState, ParentApi extends ", + ", ParentApi extends ", { "pluginId": "@kbn/presentation-containers", "scope": "common", @@ -12813,7 +12813,7 @@ "section": "def-public.ReactEmbeddableFactory", "text": "ReactEmbeddableFactory" }, - "" + "" ], "path": "src/plugins/embeddable/public/react_embeddable_system/types.ts", "deprecated": false, @@ -12901,7 +12901,7 @@ "signature": [ "(initialState: RuntimeState, buildApi: (apiRegistration: ", "BuildReactEmbeddableApiRegistration", - ", comparators: ", + ", comparators: ", { "pluginId": "@kbn/presentation-publishing", "scope": "common", @@ -12909,9 +12909,17 @@ "section": "def-common.StateComparators", "text": "StateComparators" }, - ") => Api, uuid: string, parentApi: unknown, setApi: (api: ", + ") => Api & ", + { + "pluginId": "@kbn/presentation-containers", + "scope": "common", + "docId": "kibKbnPresentationContainersPluginApi", + "section": "def-common.HasSnapshottableState", + "text": "HasSnapshottableState" + }, + ", uuid: string, parentApi: unknown, setApi: (api: ", "SetReactEmbeddableApiRegistration", - ") => Api) => Promise<{ Component: React.FC<{}>; api: Api; }>" + ") => Api) => Promise<{ Component: React.FC<{}>; api: Api; }>" ], "path": "src/plugins/embeddable/public/react_embeddable_system/types.ts", "deprecated": false, @@ -12942,7 +12950,7 @@ "signature": [ "(apiRegistration: ", "BuildReactEmbeddableApiRegistration", - ", comparators: ", + ", comparators: ", { "pluginId": "@kbn/presentation-publishing", "scope": "common", @@ -12950,7 +12958,15 @@ "section": "def-common.StateComparators", "text": "StateComparators" }, - ") => Api" + ") => Api & ", + { + "pluginId": "@kbn/presentation-containers", + "scope": "common", + "docId": "kibKbnPresentationContainersPluginApi", + "section": "def-common.HasSnapshottableState", + "text": "HasSnapshottableState" + }, + "" ], "path": "src/plugins/embeddable/public/react_embeddable_system/types.ts", "deprecated": false, @@ -12997,7 +13013,7 @@ "signature": [ "(api: ", "SetReactEmbeddableApiRegistration", - ") => Api" + ") => Api" ], "path": "src/plugins/embeddable/public/react_embeddable_system/types.ts", "deprecated": false, @@ -14114,7 +14130,7 @@ "\nRegisters an async {@link ReactEmbeddableFactory} getter." ], "signature": [ - " = ", + " = ", { "pluginId": "embeddable", "scope": "public", @@ -14130,7 +14146,7 @@ "section": "def-public.DefaultEmbeddableApi", "text": "DefaultEmbeddableApi" }, - ", RuntimeState extends object = SerializedState>(type: string, getFactory: () => Promise<", + ">(type: string, getFactory: () => Promise<", { "pluginId": "embeddable", "scope": "public", @@ -14138,7 +14154,7 @@ "section": "def-public.ReactEmbeddableFactory", "text": "ReactEmbeddableFactory" }, - ">) => void" + ">) => void" ], "path": "src/plugins/embeddable/public/plugin.tsx", "deprecated": false, @@ -14172,7 +14188,7 @@ "section": "def-public.ReactEmbeddableFactory", "text": "ReactEmbeddableFactory" }, - ">" + ">" ], "path": "src/plugins/embeddable/public/react_embeddable_system/react_embeddable_registry.ts", "deprecated": false, @@ -14696,10 +14712,6 @@ "plugin": "controls", "path": "src/plugins/controls/public/services/embeddable/embeddable.story.ts" }, - { - "plugin": "dashboard", - "path": "src/plugins/dashboard/public/dashboard_container/embeddable/api/duplicate_dashboard_panel.test.ts" - }, { "plugin": "dashboard", "path": "src/plugins/dashboard/public/dashboard_container/embeddable/create/create_dashboard.test.ts" diff --git a/api_docs/embeddable.mdx b/api_docs/embeddable.mdx index 6a9cebf1365b0..ce0f0cf886ac7 100644 --- a/api_docs/embeddable.mdx +++ b/api_docs/embeddable.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/embeddable title: "embeddable" image: https://source.unsplash.com/400x175/?github description: API docs for the embeddable plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'embeddable'] --- import embeddableObj from './embeddable.devdocs.json'; diff --git a/api_docs/embeddable_enhanced.mdx b/api_docs/embeddable_enhanced.mdx index 345548c4b57bf..da189fa1d98e7 100644 --- a/api_docs/embeddable_enhanced.mdx +++ b/api_docs/embeddable_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/embeddableEnhanced title: "embeddableEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the embeddableEnhanced plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'embeddableEnhanced'] --- import embeddableEnhancedObj from './embeddable_enhanced.devdocs.json'; diff --git a/api_docs/encrypted_saved_objects.mdx b/api_docs/encrypted_saved_objects.mdx index e9373181cd163..87a299606ff62 100644 --- a/api_docs/encrypted_saved_objects.mdx +++ b/api_docs/encrypted_saved_objects.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/encryptedSavedObjects title: "encryptedSavedObjects" image: https://source.unsplash.com/400x175/?github description: API docs for the encryptedSavedObjects plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'encryptedSavedObjects'] --- import encryptedSavedObjectsObj from './encrypted_saved_objects.devdocs.json'; diff --git a/api_docs/enterprise_search.mdx b/api_docs/enterprise_search.mdx index c9eee95cb72b9..cff3124ea3f2b 100644 --- a/api_docs/enterprise_search.mdx +++ b/api_docs/enterprise_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/enterpriseSearch title: "enterpriseSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the enterpriseSearch plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'enterpriseSearch'] --- import enterpriseSearchObj from './enterprise_search.devdocs.json'; diff --git a/api_docs/es_ui_shared.mdx b/api_docs/es_ui_shared.mdx index e831609643e15..75eacf3aa69f7 100644 --- a/api_docs/es_ui_shared.mdx +++ b/api_docs/es_ui_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/esUiShared title: "esUiShared" image: https://source.unsplash.com/400x175/?github description: API docs for the esUiShared plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'esUiShared'] --- import esUiSharedObj from './es_ui_shared.devdocs.json'; diff --git a/api_docs/esql_data_grid.mdx b/api_docs/esql_data_grid.mdx index bd96bca5d8a5e..c6137dcf8f6fe 100644 --- a/api_docs/esql_data_grid.mdx +++ b/api_docs/esql_data_grid.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/esqlDataGrid title: "esqlDataGrid" image: https://source.unsplash.com/400x175/?github description: API docs for the esqlDataGrid plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'esqlDataGrid'] --- import esqlDataGridObj from './esql_data_grid.devdocs.json'; diff --git a/api_docs/event_annotation.mdx b/api_docs/event_annotation.mdx index 0f7fd892c5e5c..b0241e09443ba 100644 --- a/api_docs/event_annotation.mdx +++ b/api_docs/event_annotation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/eventAnnotation title: "eventAnnotation" image: https://source.unsplash.com/400x175/?github description: API docs for the eventAnnotation plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventAnnotation'] --- import eventAnnotationObj from './event_annotation.devdocs.json'; diff --git a/api_docs/event_annotation_listing.mdx b/api_docs/event_annotation_listing.mdx index 025991c1fda51..4a407412327c6 100644 --- a/api_docs/event_annotation_listing.mdx +++ b/api_docs/event_annotation_listing.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/eventAnnotationListing title: "eventAnnotationListing" image: https://source.unsplash.com/400x175/?github description: API docs for the eventAnnotationListing plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventAnnotationListing'] --- import eventAnnotationListingObj from './event_annotation_listing.devdocs.json'; diff --git a/api_docs/event_log.mdx b/api_docs/event_log.mdx index f1ae9dc895fd4..af9946651588a 100644 --- a/api_docs/event_log.mdx +++ b/api_docs/event_log.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/eventLog title: "eventLog" image: https://source.unsplash.com/400x175/?github description: API docs for the eventLog plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventLog'] --- import eventLogObj from './event_log.devdocs.json'; diff --git a/api_docs/exploratory_view.mdx b/api_docs/exploratory_view.mdx index 81c45d0084cff..812176e0de175 100644 --- a/api_docs/exploratory_view.mdx +++ b/api_docs/exploratory_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/exploratoryView title: "exploratoryView" image: https://source.unsplash.com/400x175/?github description: API docs for the exploratoryView plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'exploratoryView'] --- import exploratoryViewObj from './exploratory_view.devdocs.json'; diff --git a/api_docs/expression_error.mdx b/api_docs/expression_error.mdx index 6359145989bed..017230bf13e43 100644 --- a/api_docs/expression_error.mdx +++ b/api_docs/expression_error.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionError title: "expressionError" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionError plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionError'] --- import expressionErrorObj from './expression_error.devdocs.json'; diff --git a/api_docs/expression_gauge.mdx b/api_docs/expression_gauge.mdx index 88e7721ea46a3..b69290258808e 100644 --- a/api_docs/expression_gauge.mdx +++ b/api_docs/expression_gauge.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionGauge title: "expressionGauge" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionGauge plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionGauge'] --- import expressionGaugeObj from './expression_gauge.devdocs.json'; diff --git a/api_docs/expression_heatmap.mdx b/api_docs/expression_heatmap.mdx index ce962310cffe1..cb59f54d55695 100644 --- a/api_docs/expression_heatmap.mdx +++ b/api_docs/expression_heatmap.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionHeatmap title: "expressionHeatmap" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionHeatmap plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionHeatmap'] --- import expressionHeatmapObj from './expression_heatmap.devdocs.json'; diff --git a/api_docs/expression_image.mdx b/api_docs/expression_image.mdx index 0dbd83678d813..8733919bbda76 100644 --- a/api_docs/expression_image.mdx +++ b/api_docs/expression_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionImage title: "expressionImage" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionImage plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionImage'] --- import expressionImageObj from './expression_image.devdocs.json'; diff --git a/api_docs/expression_legacy_metric_vis.mdx b/api_docs/expression_legacy_metric_vis.mdx index f4b89b2c1e8fb..5e3286a635d9c 100644 --- a/api_docs/expression_legacy_metric_vis.mdx +++ b/api_docs/expression_legacy_metric_vis.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionLegacyMetricVis title: "expressionLegacyMetricVis" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionLegacyMetricVis plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionLegacyMetricVis'] --- import expressionLegacyMetricVisObj from './expression_legacy_metric_vis.devdocs.json'; diff --git a/api_docs/expression_metric.mdx b/api_docs/expression_metric.mdx index 13f027fff7e22..cfbf03772dbf3 100644 --- a/api_docs/expression_metric.mdx +++ b/api_docs/expression_metric.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionMetric title: "expressionMetric" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionMetric plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionMetric'] --- import expressionMetricObj from './expression_metric.devdocs.json'; diff --git a/api_docs/expression_metric_vis.mdx b/api_docs/expression_metric_vis.mdx index f86f46f96ef8a..aaa038bca4799 100644 --- a/api_docs/expression_metric_vis.mdx +++ b/api_docs/expression_metric_vis.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionMetricVis title: "expressionMetricVis" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionMetricVis plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionMetricVis'] --- import expressionMetricVisObj from './expression_metric_vis.devdocs.json'; diff --git a/api_docs/expression_partition_vis.mdx b/api_docs/expression_partition_vis.mdx index b13293aeedd00..e388e70ed0dc9 100644 --- a/api_docs/expression_partition_vis.mdx +++ b/api_docs/expression_partition_vis.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionPartitionVis title: "expressionPartitionVis" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionPartitionVis plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionPartitionVis'] --- import expressionPartitionVisObj from './expression_partition_vis.devdocs.json'; diff --git a/api_docs/expression_repeat_image.mdx b/api_docs/expression_repeat_image.mdx index 06fbe7aea3fe6..eccdcc1f5d1a6 100644 --- a/api_docs/expression_repeat_image.mdx +++ b/api_docs/expression_repeat_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionRepeatImage title: "expressionRepeatImage" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionRepeatImage plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionRepeatImage'] --- import expressionRepeatImageObj from './expression_repeat_image.devdocs.json'; diff --git a/api_docs/expression_reveal_image.mdx b/api_docs/expression_reveal_image.mdx index 896a29a9180ed..21544bf221245 100644 --- a/api_docs/expression_reveal_image.mdx +++ b/api_docs/expression_reveal_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionRevealImage title: "expressionRevealImage" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionRevealImage plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionRevealImage'] --- import expressionRevealImageObj from './expression_reveal_image.devdocs.json'; diff --git a/api_docs/expression_shape.mdx b/api_docs/expression_shape.mdx index 5f99e621e1423..276e7e49be453 100644 --- a/api_docs/expression_shape.mdx +++ b/api_docs/expression_shape.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionShape title: "expressionShape" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionShape plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionShape'] --- import expressionShapeObj from './expression_shape.devdocs.json'; diff --git a/api_docs/expression_tagcloud.mdx b/api_docs/expression_tagcloud.mdx index b81f4fdee7ec1..1bd1d07ceddcb 100644 --- a/api_docs/expression_tagcloud.mdx +++ b/api_docs/expression_tagcloud.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionTagcloud title: "expressionTagcloud" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionTagcloud plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionTagcloud'] --- import expressionTagcloudObj from './expression_tagcloud.devdocs.json'; diff --git a/api_docs/expression_x_y.devdocs.json b/api_docs/expression_x_y.devdocs.json index c9cf580930d20..1d66fc5d9a257 100644 --- a/api_docs/expression_x_y.devdocs.json +++ b/api_docs/expression_x_y.devdocs.json @@ -1067,6 +1067,55 @@ "path": "src/plugins/chart_expressions/expression_xy/common/types/expression_functions.ts", "deprecated": false, "trackAdoption": false + }, + { + "parentPluginId": "expressionXY", + "id": "def-common.LegendConfig.layout", + "type": "CompoundType", + "tags": [], + "label": "layout", + "description": [], + "signature": [ + { + "pluginId": "visualizations", + "scope": "common", + "docId": "kibVisualizationsPluginApi", + "section": "def-common.LegendLayout", + "text": "LegendLayout" + }, + " | undefined" + ], + "path": "src/plugins/chart_expressions/expression_xy/common/types/expression_functions.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "expressionXY", + "id": "def-common.LegendConfig.title", + "type": "string", + "tags": [], + "label": "title", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "src/plugins/chart_expressions/expression_xy/common/types/expression_functions.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "expressionXY", + "id": "def-common.LegendConfig.isTitleVisible", + "type": "CompoundType", + "tags": [], + "label": "isTitleVisible", + "description": [], + "signature": [ + "boolean | undefined" + ], + "path": "src/plugins/chart_expressions/expression_xy/common/types/expression_functions.ts", + "deprecated": false, + "trackAdoption": false } ], "initialIsOpen": false diff --git a/api_docs/expression_x_y.mdx b/api_docs/expression_x_y.mdx index 0eae0e2e002e7..84d44514ac574 100644 --- a/api_docs/expression_x_y.mdx +++ b/api_docs/expression_x_y.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionXY title: "expressionXY" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionXY plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionXY'] --- import expressionXYObj from './expression_x_y.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/k | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 177 | 0 | 166 | 13 | +| 180 | 0 | 169 | 13 | ## Client diff --git a/api_docs/expressions.mdx b/api_docs/expressions.mdx index 0427130b0f0bf..d22e3c204aab5 100644 --- a/api_docs/expressions.mdx +++ b/api_docs/expressions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressions title: "expressions" image: https://source.unsplash.com/400x175/?github description: API docs for the expressions plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressions'] --- import expressionsObj from './expressions.devdocs.json'; diff --git a/api_docs/features.mdx b/api_docs/features.mdx index bc5f7857bcc3c..0b792d7d9a2d6 100644 --- a/api_docs/features.mdx +++ b/api_docs/features.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/features title: "features" image: https://source.unsplash.com/400x175/?github description: API docs for the features plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'features'] --- import featuresObj from './features.devdocs.json'; diff --git a/api_docs/field_formats.mdx b/api_docs/field_formats.mdx index 8a1e28a04bf08..f8489845c0a6c 100644 --- a/api_docs/field_formats.mdx +++ b/api_docs/field_formats.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/fieldFormats title: "fieldFormats" image: https://source.unsplash.com/400x175/?github description: API docs for the fieldFormats plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'fieldFormats'] --- import fieldFormatsObj from './field_formats.devdocs.json'; diff --git a/api_docs/fields_metadata.mdx b/api_docs/fields_metadata.mdx index 4216234eb614b..e2f9b2db77bd9 100644 --- a/api_docs/fields_metadata.mdx +++ b/api_docs/fields_metadata.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/fieldsMetadata title: "fieldsMetadata" image: https://source.unsplash.com/400x175/?github description: API docs for the fieldsMetadata plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'fieldsMetadata'] --- import fieldsMetadataObj from './fields_metadata.devdocs.json'; diff --git a/api_docs/file_upload.mdx b/api_docs/file_upload.mdx index 260ec37968424..0d635441c58a7 100644 --- a/api_docs/file_upload.mdx +++ b/api_docs/file_upload.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/fileUpload title: "fileUpload" image: https://source.unsplash.com/400x175/?github description: API docs for the fileUpload plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'fileUpload'] --- import fileUploadObj from './file_upload.devdocs.json'; diff --git a/api_docs/files.mdx b/api_docs/files.mdx index b652e97a9a80c..1716357ff2ab5 100644 --- a/api_docs/files.mdx +++ b/api_docs/files.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/files title: "files" image: https://source.unsplash.com/400x175/?github description: API docs for the files plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'files'] --- import filesObj from './files.devdocs.json'; diff --git a/api_docs/files_management.mdx b/api_docs/files_management.mdx index a557fd5e66e8a..32b2e8906010c 100644 --- a/api_docs/files_management.mdx +++ b/api_docs/files_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/filesManagement title: "filesManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the filesManagement plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'filesManagement'] --- import filesManagementObj from './files_management.devdocs.json'; diff --git a/api_docs/fleet.mdx b/api_docs/fleet.mdx index 3730f61af825b..ee9987bd86885 100644 --- a/api_docs/fleet.mdx +++ b/api_docs/fleet.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/fleet title: "fleet" image: https://source.unsplash.com/400x175/?github description: API docs for the fleet plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'fleet'] --- import fleetObj from './fleet.devdocs.json'; diff --git a/api_docs/global_search.mdx b/api_docs/global_search.mdx index 627f17964ac92..3e8e2a3d2dc14 100644 --- a/api_docs/global_search.mdx +++ b/api_docs/global_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/globalSearch title: "globalSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the globalSearch plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'globalSearch'] --- import globalSearchObj from './global_search.devdocs.json'; diff --git a/api_docs/guided_onboarding.mdx b/api_docs/guided_onboarding.mdx index 0a2c709cc164a..627f77a64d54b 100644 --- a/api_docs/guided_onboarding.mdx +++ b/api_docs/guided_onboarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/guidedOnboarding title: "guidedOnboarding" image: https://source.unsplash.com/400x175/?github description: API docs for the guidedOnboarding plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'guidedOnboarding'] --- import guidedOnboardingObj from './guided_onboarding.devdocs.json'; diff --git a/api_docs/home.mdx b/api_docs/home.mdx index 899804f8cf78e..648437c3554a4 100644 --- a/api_docs/home.mdx +++ b/api_docs/home.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/home title: "home" image: https://source.unsplash.com/400x175/?github description: API docs for the home plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'home'] --- import homeObj from './home.devdocs.json'; diff --git a/api_docs/image_embeddable.mdx b/api_docs/image_embeddable.mdx index 7557dc6075977..34cb1311a9384 100644 --- a/api_docs/image_embeddable.mdx +++ b/api_docs/image_embeddable.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/imageEmbeddable title: "imageEmbeddable" image: https://source.unsplash.com/400x175/?github description: API docs for the imageEmbeddable plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'imageEmbeddable'] --- import imageEmbeddableObj from './image_embeddable.devdocs.json'; diff --git a/api_docs/index_lifecycle_management.mdx b/api_docs/index_lifecycle_management.mdx index a4fc0e4c26f98..dfed64126d4e7 100644 --- a/api_docs/index_lifecycle_management.mdx +++ b/api_docs/index_lifecycle_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/indexLifecycleManagement title: "indexLifecycleManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the indexLifecycleManagement plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'indexLifecycleManagement'] --- import indexLifecycleManagementObj from './index_lifecycle_management.devdocs.json'; diff --git a/api_docs/index_management.mdx b/api_docs/index_management.mdx index cf7e4b6bd480a..75acd696890bf 100644 --- a/api_docs/index_management.mdx +++ b/api_docs/index_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/indexManagement title: "indexManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the indexManagement plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'indexManagement'] --- import indexManagementObj from './index_management.devdocs.json'; diff --git a/api_docs/infra.mdx b/api_docs/infra.mdx index 911075f5d65a2..2b3b4bd015343 100644 --- a/api_docs/infra.mdx +++ b/api_docs/infra.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/infra title: "infra" image: https://source.unsplash.com/400x175/?github description: API docs for the infra plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'infra'] --- import infraObj from './infra.devdocs.json'; diff --git a/api_docs/ingest_pipelines.mdx b/api_docs/ingest_pipelines.mdx index 4a0a9592144b9..baecc5ba2257f 100644 --- a/api_docs/ingest_pipelines.mdx +++ b/api_docs/ingest_pipelines.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ingestPipelines title: "ingestPipelines" image: https://source.unsplash.com/400x175/?github description: API docs for the ingestPipelines plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ingestPipelines'] --- import ingestPipelinesObj from './ingest_pipelines.devdocs.json'; diff --git a/api_docs/inspector.mdx b/api_docs/inspector.mdx index ebe749551fc4d..30e0ea4f99c8b 100644 --- a/api_docs/inspector.mdx +++ b/api_docs/inspector.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/inspector title: "inspector" image: https://source.unsplash.com/400x175/?github description: API docs for the inspector plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'inspector'] --- import inspectorObj from './inspector.devdocs.json'; diff --git a/api_docs/integration_assistant.mdx b/api_docs/integration_assistant.mdx index 73b904ecb97c2..a222567b6bb4d 100644 --- a/api_docs/integration_assistant.mdx +++ b/api_docs/integration_assistant.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/integrationAssistant title: "integrationAssistant" image: https://source.unsplash.com/400x175/?github description: API docs for the integrationAssistant plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'integrationAssistant'] --- import integrationAssistantObj from './integration_assistant.devdocs.json'; diff --git a/api_docs/interactive_setup.mdx b/api_docs/interactive_setup.mdx index 871aeba226a58..748df5f56f32b 100644 --- a/api_docs/interactive_setup.mdx +++ b/api_docs/interactive_setup.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/interactiveSetup title: "interactiveSetup" image: https://source.unsplash.com/400x175/?github description: API docs for the interactiveSetup plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'interactiveSetup'] --- import interactiveSetupObj from './interactive_setup.devdocs.json'; diff --git a/api_docs/investigate.mdx b/api_docs/investigate.mdx index 18caa601857ed..7a887d077a988 100644 --- a/api_docs/investigate.mdx +++ b/api_docs/investigate.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/investigate title: "investigate" image: https://source.unsplash.com/400x175/?github description: API docs for the investigate plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'investigate'] --- import investigateObj from './investigate.devdocs.json'; diff --git a/api_docs/kbn_ace.mdx b/api_docs/kbn_ace.mdx index 767a83fd2f9b9..327217352f63d 100644 --- a/api_docs/kbn_ace.mdx +++ b/api_docs/kbn_ace.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ace title: "@kbn/ace" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ace plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ace'] --- import kbnAceObj from './kbn_ace.devdocs.json'; diff --git a/api_docs/kbn_actions_types.mdx b/api_docs/kbn_actions_types.mdx index 292449afdca28..528304451f843 100644 --- a/api_docs/kbn_actions_types.mdx +++ b/api_docs/kbn_actions_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-actions-types title: "@kbn/actions-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/actions-types plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/actions-types'] --- import kbnActionsTypesObj from './kbn_actions_types.devdocs.json'; diff --git a/api_docs/kbn_aiops_components.mdx b/api_docs/kbn_aiops_components.mdx index b5f13d0ca6c0c..55e87de11d868 100644 --- a/api_docs/kbn_aiops_components.mdx +++ b/api_docs/kbn_aiops_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-aiops-components title: "@kbn/aiops-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/aiops-components plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/aiops-components'] --- import kbnAiopsComponentsObj from './kbn_aiops_components.devdocs.json'; diff --git a/api_docs/kbn_aiops_log_pattern_analysis.mdx b/api_docs/kbn_aiops_log_pattern_analysis.mdx index eb59d7fe3fd70..d17df1390d2e7 100644 --- a/api_docs/kbn_aiops_log_pattern_analysis.mdx +++ b/api_docs/kbn_aiops_log_pattern_analysis.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-aiops-log-pattern-analysis title: "@kbn/aiops-log-pattern-analysis" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/aiops-log-pattern-analysis plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/aiops-log-pattern-analysis'] --- import kbnAiopsLogPatternAnalysisObj from './kbn_aiops_log_pattern_analysis.devdocs.json'; diff --git a/api_docs/kbn_aiops_log_rate_analysis.mdx b/api_docs/kbn_aiops_log_rate_analysis.mdx index e54e82a6351ae..00277501bd5aa 100644 --- a/api_docs/kbn_aiops_log_rate_analysis.mdx +++ b/api_docs/kbn_aiops_log_rate_analysis.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-aiops-log-rate-analysis title: "@kbn/aiops-log-rate-analysis" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/aiops-log-rate-analysis plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/aiops-log-rate-analysis'] --- import kbnAiopsLogRateAnalysisObj from './kbn_aiops_log_rate_analysis.devdocs.json'; diff --git a/api_docs/kbn_alerting_api_integration_helpers.mdx b/api_docs/kbn_alerting_api_integration_helpers.mdx index e1ef20d3f3fc8..14c20f1e4ad0a 100644 --- a/api_docs/kbn_alerting_api_integration_helpers.mdx +++ b/api_docs/kbn_alerting_api_integration_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerting-api-integration-helpers title: "@kbn/alerting-api-integration-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerting-api-integration-helpers plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerting-api-integration-helpers'] --- import kbnAlertingApiIntegrationHelpersObj from './kbn_alerting_api_integration_helpers.devdocs.json'; diff --git a/api_docs/kbn_alerting_comparators.mdx b/api_docs/kbn_alerting_comparators.mdx index bc0c50bbd4d12..1e9c6ed9c65f1 100644 --- a/api_docs/kbn_alerting_comparators.mdx +++ b/api_docs/kbn_alerting_comparators.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerting-comparators title: "@kbn/alerting-comparators" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerting-comparators plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerting-comparators'] --- import kbnAlertingComparatorsObj from './kbn_alerting_comparators.devdocs.json'; diff --git a/api_docs/kbn_alerting_state_types.mdx b/api_docs/kbn_alerting_state_types.mdx index 0a6362b629c29..2c523f2dd2a5b 100644 --- a/api_docs/kbn_alerting_state_types.mdx +++ b/api_docs/kbn_alerting_state_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerting-state-types title: "@kbn/alerting-state-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerting-state-types plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerting-state-types'] --- import kbnAlertingStateTypesObj from './kbn_alerting_state_types.devdocs.json'; diff --git a/api_docs/kbn_alerting_types.mdx b/api_docs/kbn_alerting_types.mdx index e2ea27e979346..26c7da6da0a02 100644 --- a/api_docs/kbn_alerting_types.mdx +++ b/api_docs/kbn_alerting_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerting-types title: "@kbn/alerting-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerting-types plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerting-types'] --- import kbnAlertingTypesObj from './kbn_alerting_types.devdocs.json'; diff --git a/api_docs/kbn_alerts_as_data_utils.mdx b/api_docs/kbn_alerts_as_data_utils.mdx index d85dceff868c6..1dc7451d5a9ad 100644 --- a/api_docs/kbn_alerts_as_data_utils.mdx +++ b/api_docs/kbn_alerts_as_data_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerts-as-data-utils title: "@kbn/alerts-as-data-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerts-as-data-utils plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerts-as-data-utils'] --- import kbnAlertsAsDataUtilsObj from './kbn_alerts_as_data_utils.devdocs.json'; diff --git a/api_docs/kbn_alerts_ui_shared.mdx b/api_docs/kbn_alerts_ui_shared.mdx index 035f4691ada4a..5a8e8d46ff546 100644 --- a/api_docs/kbn_alerts_ui_shared.mdx +++ b/api_docs/kbn_alerts_ui_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerts-ui-shared title: "@kbn/alerts-ui-shared" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerts-ui-shared plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerts-ui-shared'] --- import kbnAlertsUiSharedObj from './kbn_alerts_ui_shared.devdocs.json'; diff --git a/api_docs/kbn_analytics.mdx b/api_docs/kbn_analytics.mdx index a61eec4b3e02c..7d3041f296e3f 100644 --- a/api_docs/kbn_analytics.mdx +++ b/api_docs/kbn_analytics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics title: "@kbn/analytics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics'] --- import kbnAnalyticsObj from './kbn_analytics.devdocs.json'; diff --git a/api_docs/kbn_analytics_collection_utils.mdx b/api_docs/kbn_analytics_collection_utils.mdx index 143acf3a461c7..a260933856472 100644 --- a/api_docs/kbn_analytics_collection_utils.mdx +++ b/api_docs/kbn_analytics_collection_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-collection-utils title: "@kbn/analytics-collection-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-collection-utils plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-collection-utils'] --- import kbnAnalyticsCollectionUtilsObj from './kbn_analytics_collection_utils.devdocs.json'; diff --git a/api_docs/kbn_apm_config_loader.mdx b/api_docs/kbn_apm_config_loader.mdx index f05c565560637..22cb77684efed 100644 --- a/api_docs/kbn_apm_config_loader.mdx +++ b/api_docs/kbn_apm_config_loader.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-config-loader title: "@kbn/apm-config-loader" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-config-loader plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-config-loader'] --- import kbnApmConfigLoaderObj from './kbn_apm_config_loader.devdocs.json'; diff --git a/api_docs/kbn_apm_data_view.mdx b/api_docs/kbn_apm_data_view.mdx index f414c8a5b9a24..f261148829a7b 100644 --- a/api_docs/kbn_apm_data_view.mdx +++ b/api_docs/kbn_apm_data_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-data-view title: "@kbn/apm-data-view" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-data-view plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-data-view'] --- import kbnApmDataViewObj from './kbn_apm_data_view.devdocs.json'; diff --git a/api_docs/kbn_apm_synthtrace.mdx b/api_docs/kbn_apm_synthtrace.mdx index ad357a4144d50..99b6294bf1327 100644 --- a/api_docs/kbn_apm_synthtrace.mdx +++ b/api_docs/kbn_apm_synthtrace.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-synthtrace title: "@kbn/apm-synthtrace" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-synthtrace plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-synthtrace'] --- import kbnApmSynthtraceObj from './kbn_apm_synthtrace.devdocs.json'; diff --git a/api_docs/kbn_apm_synthtrace_client.devdocs.json b/api_docs/kbn_apm_synthtrace_client.devdocs.json index f8b1769ca6d2e..78f8a4bcfa05a 100644 --- a/api_docs/kbn_apm_synthtrace_client.devdocs.json +++ b/api_docs/kbn_apm_synthtrace_client.devdocs.json @@ -2617,7 +2617,7 @@ "label": "LogDocument", "description": [], "signature": [ - "{ '@timestamp'?: number | undefined; } & Partial<{ 'input.type': string; 'log.file.path'?: string | undefined; 'service.name'?: string | undefined; 'data_stream.namespace': string; 'data_stream.type': string; 'data_stream.dataset': string; message?: string | undefined; 'error.message'?: string | undefined; 'event.original'?: string | undefined; 'event.dataset': string; 'log.level'?: string | undefined; 'host.name'?: string | undefined; 'container.id'?: string | undefined; 'trace.id'?: string | undefined; 'agent.id'?: string | undefined; 'agent.name'?: string | undefined; 'orchestrator.cluster.name'?: string | undefined; 'orchestrator.cluster.id'?: string | undefined; 'orchestrator.resource.id'?: string | undefined; 'orchestrator.namespace'?: string | undefined; 'container.name'?: string | undefined; 'cloud.provider'?: string | undefined; 'cloud.region'?: string | undefined; 'cloud.availability_zone'?: string | undefined; 'cloud.project.id'?: string | undefined; 'cloud.instance.id'?: string | undefined; 'error.stack_trace'?: string | undefined; 'error.exception.stacktrace'?: string | undefined; 'error.log.stacktrace'?: string | undefined; }>" + "{ '@timestamp'?: number | undefined; } & Partial<{ 'input.type': string; 'log.file.path'?: string | undefined; 'service.name'?: string | undefined; 'data_stream.namespace': string; 'data_stream.type': string; 'data_stream.dataset': string; message?: string | undefined; 'error.message'?: string | undefined; 'event.original'?: string | undefined; 'event.dataset': string; 'log.level'?: string | undefined; 'host.name'?: string | undefined; 'container.id'?: string | undefined; 'trace.id'?: string | undefined; 'transaction.id'?: string | undefined; 'agent.id'?: string | undefined; 'agent.name'?: string | undefined; 'orchestrator.cluster.name'?: string | undefined; 'orchestrator.cluster.id'?: string | undefined; 'orchestrator.resource.id'?: string | undefined; 'kubernetes.pod.uid'?: string | undefined; 'aws.s3.bucket.name'?: string | undefined; 'orchestrator.namespace'?: string | undefined; 'container.name'?: string | undefined; 'cloud.provider'?: string | undefined; 'cloud.region'?: string | undefined; 'cloud.availability_zone'?: string | undefined; 'cloud.project.id'?: string | undefined; 'cloud.instance.id'?: string | undefined; 'error.stack_trace'?: string | undefined; 'error.exception.stacktrace'?: string | undefined; 'error.log.stacktrace'?: string | undefined; 'log.custom': Record; }>" ], "path": "packages/kbn-apm-synthtrace-client/src/lib/logs/index.ts", "deprecated": false, diff --git a/api_docs/kbn_apm_synthtrace_client.mdx b/api_docs/kbn_apm_synthtrace_client.mdx index 50ece00b8f43b..b030ef7544aaf 100644 --- a/api_docs/kbn_apm_synthtrace_client.mdx +++ b/api_docs/kbn_apm_synthtrace_client.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-synthtrace-client title: "@kbn/apm-synthtrace-client" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-synthtrace-client plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-synthtrace-client'] --- import kbnApmSynthtraceClientObj from './kbn_apm_synthtrace_client.devdocs.json'; diff --git a/api_docs/kbn_apm_utils.mdx b/api_docs/kbn_apm_utils.mdx index f7328138d0261..673942a5824a9 100644 --- a/api_docs/kbn_apm_utils.mdx +++ b/api_docs/kbn_apm_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-utils title: "@kbn/apm-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-utils plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-utils'] --- import kbnApmUtilsObj from './kbn_apm_utils.devdocs.json'; diff --git a/api_docs/kbn_axe_config.mdx b/api_docs/kbn_axe_config.mdx index fc15dcbb32bfe..6f735d763a1d7 100644 --- a/api_docs/kbn_axe_config.mdx +++ b/api_docs/kbn_axe_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-axe-config title: "@kbn/axe-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/axe-config plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/axe-config'] --- import kbnAxeConfigObj from './kbn_axe_config.devdocs.json'; diff --git a/api_docs/kbn_bfetch_error.mdx b/api_docs/kbn_bfetch_error.mdx index 130c509e6e978..01bc7ed48cb5d 100644 --- a/api_docs/kbn_bfetch_error.mdx +++ b/api_docs/kbn_bfetch_error.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-bfetch-error title: "@kbn/bfetch-error" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/bfetch-error plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/bfetch-error'] --- import kbnBfetchErrorObj from './kbn_bfetch_error.devdocs.json'; diff --git a/api_docs/kbn_calculate_auto.mdx b/api_docs/kbn_calculate_auto.mdx index 4a92028ce2133..c603976d62616 100644 --- a/api_docs/kbn_calculate_auto.mdx +++ b/api_docs/kbn_calculate_auto.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-calculate-auto title: "@kbn/calculate-auto" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/calculate-auto plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/calculate-auto'] --- import kbnCalculateAutoObj from './kbn_calculate_auto.devdocs.json'; diff --git a/api_docs/kbn_calculate_width_from_char_count.mdx b/api_docs/kbn_calculate_width_from_char_count.mdx index 4a731b72de36a..e0d379663dd11 100644 --- a/api_docs/kbn_calculate_width_from_char_count.mdx +++ b/api_docs/kbn_calculate_width_from_char_count.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-calculate-width-from-char-count title: "@kbn/calculate-width-from-char-count" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/calculate-width-from-char-count plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/calculate-width-from-char-count'] --- import kbnCalculateWidthFromCharCountObj from './kbn_calculate_width_from_char_count.devdocs.json'; diff --git a/api_docs/kbn_cases_components.mdx b/api_docs/kbn_cases_components.mdx index 3649b11cba127..3146226b3ce8a 100644 --- a/api_docs/kbn_cases_components.mdx +++ b/api_docs/kbn_cases_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cases-components title: "@kbn/cases-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cases-components plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cases-components'] --- import kbnCasesComponentsObj from './kbn_cases_components.devdocs.json'; diff --git a/api_docs/kbn_cell_actions.mdx b/api_docs/kbn_cell_actions.mdx index aa437b53ef5c5..a5b60aa333be9 100644 --- a/api_docs/kbn_cell_actions.mdx +++ b/api_docs/kbn_cell_actions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cell-actions title: "@kbn/cell-actions" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cell-actions plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cell-actions'] --- import kbnCellActionsObj from './kbn_cell_actions.devdocs.json'; diff --git a/api_docs/kbn_chart_expressions_common.mdx b/api_docs/kbn_chart_expressions_common.mdx index 039d4cac81d55..8751235407149 100644 --- a/api_docs/kbn_chart_expressions_common.mdx +++ b/api_docs/kbn_chart_expressions_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-chart-expressions-common title: "@kbn/chart-expressions-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/chart-expressions-common plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/chart-expressions-common'] --- import kbnChartExpressionsCommonObj from './kbn_chart_expressions_common.devdocs.json'; diff --git a/api_docs/kbn_chart_icons.mdx b/api_docs/kbn_chart_icons.mdx index 8d52987346013..d2c99daad3955 100644 --- a/api_docs/kbn_chart_icons.mdx +++ b/api_docs/kbn_chart_icons.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-chart-icons title: "@kbn/chart-icons" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/chart-icons plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/chart-icons'] --- import kbnChartIconsObj from './kbn_chart_icons.devdocs.json'; diff --git a/api_docs/kbn_ci_stats_core.mdx b/api_docs/kbn_ci_stats_core.mdx index c883c4ea501c6..c203af13470b5 100644 --- a/api_docs/kbn_ci_stats_core.mdx +++ b/api_docs/kbn_ci_stats_core.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ci-stats-core title: "@kbn/ci-stats-core" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ci-stats-core plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ci-stats-core'] --- import kbnCiStatsCoreObj from './kbn_ci_stats_core.devdocs.json'; diff --git a/api_docs/kbn_ci_stats_performance_metrics.mdx b/api_docs/kbn_ci_stats_performance_metrics.mdx index 4d8d6b6f095db..662cba46ee9f7 100644 --- a/api_docs/kbn_ci_stats_performance_metrics.mdx +++ b/api_docs/kbn_ci_stats_performance_metrics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ci-stats-performance-metrics title: "@kbn/ci-stats-performance-metrics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ci-stats-performance-metrics plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ci-stats-performance-metrics'] --- import kbnCiStatsPerformanceMetricsObj from './kbn_ci_stats_performance_metrics.devdocs.json'; diff --git a/api_docs/kbn_ci_stats_reporter.mdx b/api_docs/kbn_ci_stats_reporter.mdx index 47a27d830b9b0..ccaf2bcbba9d1 100644 --- a/api_docs/kbn_ci_stats_reporter.mdx +++ b/api_docs/kbn_ci_stats_reporter.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ci-stats-reporter title: "@kbn/ci-stats-reporter" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ci-stats-reporter plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ci-stats-reporter'] --- import kbnCiStatsReporterObj from './kbn_ci_stats_reporter.devdocs.json'; diff --git a/api_docs/kbn_cli_dev_mode.mdx b/api_docs/kbn_cli_dev_mode.mdx index 9b7d2a0d64912..81a81161fbd92 100644 --- a/api_docs/kbn_cli_dev_mode.mdx +++ b/api_docs/kbn_cli_dev_mode.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cli-dev-mode title: "@kbn/cli-dev-mode" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cli-dev-mode plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cli-dev-mode'] --- import kbnCliDevModeObj from './kbn_cli_dev_mode.devdocs.json'; diff --git a/api_docs/kbn_code_editor.devdocs.json b/api_docs/kbn_code_editor.devdocs.json index 91c3191a03eca..52875b5752b68 100644 --- a/api_docs/kbn_code_editor.devdocs.json +++ b/api_docs/kbn_code_editor.devdocs.json @@ -590,6 +590,20 @@ "path": "packages/shared-ux/code_editor/impl/code_editor.tsx", "deprecated": false, "trackAdoption": false + }, + { + "parentPluginId": "@kbn/code-editor", + "id": "def-common.CodeEditorProps.dataTestSubj", + "type": "string", + "tags": [], + "label": "dataTestSubj", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "packages/shared-ux/code_editor/impl/code_editor.tsx", + "deprecated": false, + "trackAdoption": false } ], "initialIsOpen": false diff --git a/api_docs/kbn_code_editor.mdx b/api_docs/kbn_code_editor.mdx index 0d42b35f0f7e6..7a9142d644ec1 100644 --- a/api_docs/kbn_code_editor.mdx +++ b/api_docs/kbn_code_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-code-editor title: "@kbn/code-editor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/code-editor plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/code-editor'] --- import kbnCodeEditorObj from './kbn_code_editor.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sh | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 39 | 0 | 16 | 0 | +| 40 | 0 | 17 | 0 | ## Common diff --git a/api_docs/kbn_code_editor_mock.mdx b/api_docs/kbn_code_editor_mock.mdx index 6c18c1361f88c..02390c9228936 100644 --- a/api_docs/kbn_code_editor_mock.mdx +++ b/api_docs/kbn_code_editor_mock.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-code-editor-mock title: "@kbn/code-editor-mock" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/code-editor-mock plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/code-editor-mock'] --- import kbnCodeEditorMockObj from './kbn_code_editor_mock.devdocs.json'; diff --git a/api_docs/kbn_code_owners.mdx b/api_docs/kbn_code_owners.mdx index 4506e4957f745..cfa0c0c764167 100644 --- a/api_docs/kbn_code_owners.mdx +++ b/api_docs/kbn_code_owners.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-code-owners title: "@kbn/code-owners" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/code-owners plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/code-owners'] --- import kbnCodeOwnersObj from './kbn_code_owners.devdocs.json'; diff --git a/api_docs/kbn_coloring.mdx b/api_docs/kbn_coloring.mdx index f50fe7d50e1bc..2eb426a2f5894 100644 --- a/api_docs/kbn_coloring.mdx +++ b/api_docs/kbn_coloring.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-coloring title: "@kbn/coloring" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/coloring plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/coloring'] --- import kbnColoringObj from './kbn_coloring.devdocs.json'; diff --git a/api_docs/kbn_config.mdx b/api_docs/kbn_config.mdx index 971b080bd7600..8421cb924242b 100644 --- a/api_docs/kbn_config.mdx +++ b/api_docs/kbn_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-config title: "@kbn/config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/config plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/config'] --- import kbnConfigObj from './kbn_config.devdocs.json'; diff --git a/api_docs/kbn_config_mocks.mdx b/api_docs/kbn_config_mocks.mdx index 9ac2e856ef23d..7193ae4aecaa7 100644 --- a/api_docs/kbn_config_mocks.mdx +++ b/api_docs/kbn_config_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-config-mocks title: "@kbn/config-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/config-mocks plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/config-mocks'] --- import kbnConfigMocksObj from './kbn_config_mocks.devdocs.json'; diff --git a/api_docs/kbn_config_schema.mdx b/api_docs/kbn_config_schema.mdx index 7eb1ba384b302..72ea2fe70a7fd 100644 --- a/api_docs/kbn_config_schema.mdx +++ b/api_docs/kbn_config_schema.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-config-schema title: "@kbn/config-schema" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/config-schema plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/config-schema'] --- import kbnConfigSchemaObj from './kbn_config_schema.devdocs.json'; diff --git a/api_docs/kbn_content_management_content_editor.mdx b/api_docs/kbn_content_management_content_editor.mdx index 11d11e8c99e80..d75fdf6e47d37 100644 --- a/api_docs/kbn_content_management_content_editor.mdx +++ b/api_docs/kbn_content_management_content_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-content-editor title: "@kbn/content-management-content-editor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-content-editor plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-content-editor'] --- import kbnContentManagementContentEditorObj from './kbn_content_management_content_editor.devdocs.json'; diff --git a/api_docs/kbn_content_management_tabbed_table_list_view.mdx b/api_docs/kbn_content_management_tabbed_table_list_view.mdx index b8c232f7bda68..51bf6e2bbecd4 100644 --- a/api_docs/kbn_content_management_tabbed_table_list_view.mdx +++ b/api_docs/kbn_content_management_tabbed_table_list_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-tabbed-table-list-view title: "@kbn/content-management-tabbed-table-list-view" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-tabbed-table-list-view plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-tabbed-table-list-view'] --- import kbnContentManagementTabbedTableListViewObj from './kbn_content_management_tabbed_table_list_view.devdocs.json'; diff --git a/api_docs/kbn_content_management_table_list_view.mdx b/api_docs/kbn_content_management_table_list_view.mdx index 8edb473e68481..c1e8581b1adbc 100644 --- a/api_docs/kbn_content_management_table_list_view.mdx +++ b/api_docs/kbn_content_management_table_list_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-table-list-view title: "@kbn/content-management-table-list-view" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-table-list-view plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-table-list-view'] --- import kbnContentManagementTableListViewObj from './kbn_content_management_table_list_view.devdocs.json'; diff --git a/api_docs/kbn_content_management_table_list_view_common.mdx b/api_docs/kbn_content_management_table_list_view_common.mdx index d318908661959..8566d6508cc59 100644 --- a/api_docs/kbn_content_management_table_list_view_common.mdx +++ b/api_docs/kbn_content_management_table_list_view_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-table-list-view-common title: "@kbn/content-management-table-list-view-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-table-list-view-common plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-table-list-view-common'] --- import kbnContentManagementTableListViewCommonObj from './kbn_content_management_table_list_view_common.devdocs.json'; diff --git a/api_docs/kbn_content_management_table_list_view_table.mdx b/api_docs/kbn_content_management_table_list_view_table.mdx index 0ac0ed64beb77..f716c17c58ddf 100644 --- a/api_docs/kbn_content_management_table_list_view_table.mdx +++ b/api_docs/kbn_content_management_table_list_view_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-table-list-view-table title: "@kbn/content-management-table-list-view-table" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-table-list-view-table plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-table-list-view-table'] --- import kbnContentManagementTableListViewTableObj from './kbn_content_management_table_list_view_table.devdocs.json'; diff --git a/api_docs/kbn_content_management_user_profiles.mdx b/api_docs/kbn_content_management_user_profiles.mdx index 8c7fdd49f0c66..fec72e91e03b0 100644 --- a/api_docs/kbn_content_management_user_profiles.mdx +++ b/api_docs/kbn_content_management_user_profiles.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-user-profiles title: "@kbn/content-management-user-profiles" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-user-profiles plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-user-profiles'] --- import kbnContentManagementUserProfilesObj from './kbn_content_management_user_profiles.devdocs.json'; diff --git a/api_docs/kbn_content_management_utils.mdx b/api_docs/kbn_content_management_utils.mdx index 5e36fe54ede76..d859e40f1af5e 100644 --- a/api_docs/kbn_content_management_utils.mdx +++ b/api_docs/kbn_content_management_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-utils title: "@kbn/content-management-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-utils plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-utils'] --- import kbnContentManagementUtilsObj from './kbn_content_management_utils.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_browser.mdx b/api_docs/kbn_core_analytics_browser.mdx index c8ff98d0fd1d8..603f7fc382246 100644 --- a/api_docs/kbn_core_analytics_browser.mdx +++ b/api_docs/kbn_core_analytics_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-browser title: "@kbn/core-analytics-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-browser plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-browser'] --- import kbnCoreAnalyticsBrowserObj from './kbn_core_analytics_browser.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_browser_internal.mdx b/api_docs/kbn_core_analytics_browser_internal.mdx index a8a42992594af..3aebfac6778fc 100644 --- a/api_docs/kbn_core_analytics_browser_internal.mdx +++ b/api_docs/kbn_core_analytics_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-browser-internal title: "@kbn/core-analytics-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-browser-internal plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-browser-internal'] --- import kbnCoreAnalyticsBrowserInternalObj from './kbn_core_analytics_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_browser_mocks.mdx b/api_docs/kbn_core_analytics_browser_mocks.mdx index f6911a5bcdb2b..9d5ab868e1c95 100644 --- a/api_docs/kbn_core_analytics_browser_mocks.mdx +++ b/api_docs/kbn_core_analytics_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-browser-mocks title: "@kbn/core-analytics-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-browser-mocks plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-browser-mocks'] --- import kbnCoreAnalyticsBrowserMocksObj from './kbn_core_analytics_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_server.mdx b/api_docs/kbn_core_analytics_server.mdx index e90a091217ad8..dba5ec3cf8fd7 100644 --- a/api_docs/kbn_core_analytics_server.mdx +++ b/api_docs/kbn_core_analytics_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-server title: "@kbn/core-analytics-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-server plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-server'] --- import kbnCoreAnalyticsServerObj from './kbn_core_analytics_server.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_server_internal.mdx b/api_docs/kbn_core_analytics_server_internal.mdx index 0e60a56e9cfce..96d88196a1a14 100644 --- a/api_docs/kbn_core_analytics_server_internal.mdx +++ b/api_docs/kbn_core_analytics_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-server-internal title: "@kbn/core-analytics-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-server-internal plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-server-internal'] --- import kbnCoreAnalyticsServerInternalObj from './kbn_core_analytics_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_server_mocks.mdx b/api_docs/kbn_core_analytics_server_mocks.mdx index 1bbdd8746f8f8..89d1c813e4081 100644 --- a/api_docs/kbn_core_analytics_server_mocks.mdx +++ b/api_docs/kbn_core_analytics_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-server-mocks title: "@kbn/core-analytics-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-server-mocks plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-server-mocks'] --- import kbnCoreAnalyticsServerMocksObj from './kbn_core_analytics_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_application_browser.mdx b/api_docs/kbn_core_application_browser.mdx index 6b76538ad3b79..e7927ee089c1d 100644 --- a/api_docs/kbn_core_application_browser.mdx +++ b/api_docs/kbn_core_application_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-browser title: "@kbn/core-application-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-browser plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-application-browser'] --- import kbnCoreApplicationBrowserObj from './kbn_core_application_browser.devdocs.json'; diff --git a/api_docs/kbn_core_application_browser_internal.mdx b/api_docs/kbn_core_application_browser_internal.mdx index d83bda2ad887d..53897746e2896 100644 --- a/api_docs/kbn_core_application_browser_internal.mdx +++ b/api_docs/kbn_core_application_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-browser-internal title: "@kbn/core-application-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-browser-internal plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-application-browser-internal'] --- import kbnCoreApplicationBrowserInternalObj from './kbn_core_application_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_application_browser_mocks.mdx b/api_docs/kbn_core_application_browser_mocks.mdx index 34097db0fd1ae..c97f3f1e64b99 100644 --- a/api_docs/kbn_core_application_browser_mocks.mdx +++ b/api_docs/kbn_core_application_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-browser-mocks title: "@kbn/core-application-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-browser-mocks plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-application-browser-mocks'] --- import kbnCoreApplicationBrowserMocksObj from './kbn_core_application_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_application_common.mdx b/api_docs/kbn_core_application_common.mdx index 459d3ad7f0a1d..2bc411250569b 100644 --- a/api_docs/kbn_core_application_common.mdx +++ b/api_docs/kbn_core_application_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-common title: "@kbn/core-application-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-common plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-application-common'] --- import kbnCoreApplicationCommonObj from './kbn_core_application_common.devdocs.json'; diff --git a/api_docs/kbn_core_apps_browser_internal.mdx b/api_docs/kbn_core_apps_browser_internal.mdx index deebf2082410e..2fd173488dccf 100644 --- a/api_docs/kbn_core_apps_browser_internal.mdx +++ b/api_docs/kbn_core_apps_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-apps-browser-internal title: "@kbn/core-apps-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-apps-browser-internal plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-apps-browser-internal'] --- import kbnCoreAppsBrowserInternalObj from './kbn_core_apps_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_apps_browser_mocks.mdx b/api_docs/kbn_core_apps_browser_mocks.mdx index 92c43aa8d20a8..41ad9e24a2a08 100644 --- a/api_docs/kbn_core_apps_browser_mocks.mdx +++ b/api_docs/kbn_core_apps_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-apps-browser-mocks title: "@kbn/core-apps-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-apps-browser-mocks plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-apps-browser-mocks'] --- import kbnCoreAppsBrowserMocksObj from './kbn_core_apps_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_apps_server_internal.mdx b/api_docs/kbn_core_apps_server_internal.mdx index e3bfe07de819c..441215384d309 100644 --- a/api_docs/kbn_core_apps_server_internal.mdx +++ b/api_docs/kbn_core_apps_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-apps-server-internal title: "@kbn/core-apps-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-apps-server-internal plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-apps-server-internal'] --- import kbnCoreAppsServerInternalObj from './kbn_core_apps_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_base_browser_mocks.mdx b/api_docs/kbn_core_base_browser_mocks.mdx index 83361db92ba26..931f2a5399220 100644 --- a/api_docs/kbn_core_base_browser_mocks.mdx +++ b/api_docs/kbn_core_base_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-browser-mocks title: "@kbn/core-base-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-browser-mocks plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-base-browser-mocks'] --- import kbnCoreBaseBrowserMocksObj from './kbn_core_base_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_base_common.mdx b/api_docs/kbn_core_base_common.mdx index 2d4abb8658498..38a426936c209 100644 --- a/api_docs/kbn_core_base_common.mdx +++ b/api_docs/kbn_core_base_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-common title: "@kbn/core-base-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-common plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-base-common'] --- import kbnCoreBaseCommonObj from './kbn_core_base_common.devdocs.json'; diff --git a/api_docs/kbn_core_base_server_internal.mdx b/api_docs/kbn_core_base_server_internal.mdx index 5730e672d8684..cce1a4af44c82 100644 --- a/api_docs/kbn_core_base_server_internal.mdx +++ b/api_docs/kbn_core_base_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-server-internal title: "@kbn/core-base-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-server-internal plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-base-server-internal'] --- import kbnCoreBaseServerInternalObj from './kbn_core_base_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_base_server_mocks.mdx b/api_docs/kbn_core_base_server_mocks.mdx index 0093286db5fb8..4597bbd38d2fd 100644 --- a/api_docs/kbn_core_base_server_mocks.mdx +++ b/api_docs/kbn_core_base_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-server-mocks title: "@kbn/core-base-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-server-mocks plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-base-server-mocks'] --- import kbnCoreBaseServerMocksObj from './kbn_core_base_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_capabilities_browser_mocks.mdx b/api_docs/kbn_core_capabilities_browser_mocks.mdx index 2c0c272df5213..5fdc5867e50d7 100644 --- a/api_docs/kbn_core_capabilities_browser_mocks.mdx +++ b/api_docs/kbn_core_capabilities_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-browser-mocks title: "@kbn/core-capabilities-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-browser-mocks plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-capabilities-browser-mocks'] --- import kbnCoreCapabilitiesBrowserMocksObj from './kbn_core_capabilities_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_capabilities_common.mdx b/api_docs/kbn_core_capabilities_common.mdx index c9d891961606c..c606b8c69f316 100644 --- a/api_docs/kbn_core_capabilities_common.mdx +++ b/api_docs/kbn_core_capabilities_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-common title: "@kbn/core-capabilities-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-common plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-capabilities-common'] --- import kbnCoreCapabilitiesCommonObj from './kbn_core_capabilities_common.devdocs.json'; diff --git a/api_docs/kbn_core_capabilities_server.mdx b/api_docs/kbn_core_capabilities_server.mdx index 51221490afe8c..e7f0129ee1f8f 100644 --- a/api_docs/kbn_core_capabilities_server.mdx +++ b/api_docs/kbn_core_capabilities_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-server title: "@kbn/core-capabilities-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-server plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-capabilities-server'] --- import kbnCoreCapabilitiesServerObj from './kbn_core_capabilities_server.devdocs.json'; diff --git a/api_docs/kbn_core_capabilities_server_mocks.mdx b/api_docs/kbn_core_capabilities_server_mocks.mdx index 2175735f414c9..21e64fd089aa4 100644 --- a/api_docs/kbn_core_capabilities_server_mocks.mdx +++ b/api_docs/kbn_core_capabilities_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-server-mocks title: "@kbn/core-capabilities-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-server-mocks plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-capabilities-server-mocks'] --- import kbnCoreCapabilitiesServerMocksObj from './kbn_core_capabilities_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_chrome_browser.devdocs.json b/api_docs/kbn_core_chrome_browser.devdocs.json index 66c2b4398c08c..19595edba49ec 100644 --- a/api_docs/kbn_core_chrome_browser.devdocs.json +++ b/api_docs/kbn_core_chrome_browser.devdocs.json @@ -3716,7 +3716,7 @@ "label": "AppDeepLinkId", "description": [], "signature": [ - "\"fleet\" | \"graph\" | \"ml\" | \"monitoring\" | \"metrics\" | \"management\" | \"synthetics\" | \"ux\" | \"apm\" | \"logs\" | \"profiling\" | \"dashboards\" | \"observabilityAIAssistant\" | \"home\" | \"canvas\" | \"integrations\" | \"discover\" | \"observability-overview\" | \"appSearch\" | \"dev_tools\" | \"maps\" | \"visualize\" | \"dev_tools:console\" | \"dev_tools:searchprofiler\" | \"dev_tools:painless_lab\" | \"dev_tools:grokdebugger\" | \"ml:notifications\" | \"ml:nodes\" | \"ml:overview\" | \"ml:memoryUsage\" | \"ml:settings\" | \"ml:dataVisualizer\" | \"ml:anomalyDetection\" | \"ml:anomalyExplorer\" | \"ml:singleMetricViewer\" | \"ml:dataDrift\" | \"ml:dataFrameAnalytics\" | \"ml:resultExplorer\" | \"ml:analyticsMap\" | \"ml:aiOps\" | \"ml:logRateAnalysis\" | \"ml:logPatternAnalysis\" | \"ml:changePointDetections\" | \"ml:modelManagement\" | \"ml:nodesOverview\" | \"ml:esqlDataVisualizer\" | \"ml:fileUpload\" | \"ml:indexDataVisualizer\" | \"ml:calendarSettings\" | \"ml:filterListsSettings\" | \"osquery\" | \"management:transform\" | \"management:watcher\" | \"management:cases\" | \"management:tags\" | \"management:maintenanceWindows\" | \"management:settings\" | \"management:dataViews\" | \"management:spaces\" | \"management:users\" | \"management:migrate_data\" | \"management:search_sessions\" | \"management:data_quality\" | \"management:filesManagement\" | \"management:roles\" | \"management:reporting\" | \"management:aiAssistantManagementSelection\" | \"management:securityAiAssistantManagement\" | \"management:observabilityAiAssistantManagement\" | \"management:api_keys\" | \"management:cross_cluster_replication\" | \"management:license_management\" | \"management:index_lifecycle_management\" | \"management:index_management\" | \"management:ingest_pipelines\" | \"management:jobsListLink\" | \"management:objects\" | \"management:pipelines\" | \"management:remote_clusters\" | \"management:role_mappings\" | \"management:rollup_jobs\" | \"management:snapshot_restore\" | \"management:triggersActions\" | \"management:triggersActionsConnectors\" | \"management:upgrade_assistant\" | \"enterpriseSearch\" | \"enterpriseSearchContent\" | \"enterpriseSearchApplications\" | \"enterpriseSearchAnalytics\" | \"workplaceSearch\" | \"serverlessElasticsearch\" | \"serverlessConnectors\" | \"searchPlayground\" | \"searchInferenceEndpoints\" | \"enterpriseSearchContent:connectors\" | \"enterpriseSearchContent:searchIndices\" | \"enterpriseSearchContent:webCrawlers\" | \"enterpriseSearchApplications:searchApplications\" | \"enterpriseSearchApplications:playground\" | \"appSearch:engines\" | \"observability-logs-explorer\" | \"observabilityOnboarding\" | \"slo\" | \"logs:settings\" | \"logs:stream\" | \"logs:log-categories\" | \"logs:anomalies\" | \"observability-overview:cases\" | \"observability-overview:alerts\" | \"observability-overview:rules\" | \"observability-overview:cases_create\" | \"observability-overview:cases_configure\" | \"metrics:settings\" | \"metrics:hosts\" | \"metrics:inventory\" | \"metrics:metrics-explorer\" | \"metrics:assetDetails\" | \"apm:traces\" | \"apm:dependencies\" | \"apm:service-map\" | \"apm:settings\" | \"apm:services\" | \"apm:service-groups-list\" | \"apm:storage-explorer\" | \"synthetics:overview\" | \"synthetics:certificates\" | \"profiling:stacktraces\" | \"profiling:flamegraphs\" | \"profiling:functions\" | \"securitySolutionUI\" | \"securitySolutionUI:\" | \"securitySolutionUI:cases\" | \"securitySolutionUI:alerts\" | \"securitySolutionUI:rules\" | \"securitySolutionUI:policy\" | \"securitySolutionUI:overview\" | \"securitySolutionUI:dashboards\" | \"securitySolutionUI:cases_create\" | \"securitySolutionUI:cases_configure\" | \"securitySolutionUI:hosts\" | \"securitySolutionUI:users\" | \"securitySolutionUI:cloud_defend-policies\" | \"securitySolutionUI:cloud_security_posture-dashboard\" | \"securitySolutionUI:cloud_security_posture-findings\" | \"securitySolutionUI:cloud_security_posture-benchmarks\" | \"securitySolutionUI:kubernetes\" | \"securitySolutionUI:network\" | \"securitySolutionUI:data_quality\" | \"securitySolutionUI:explore\" | \"securitySolutionUI:assets\" | \"securitySolutionUI:cloud_defend\" | \"securitySolutionUI:administration\" | \"securitySolutionUI:attack_discovery\" | \"securitySolutionUI:blocklist\" | \"securitySolutionUI:cloud_security_posture-rules\" | \"securitySolutionUI:detections\" | \"securitySolutionUI:detection_response\" | \"securitySolutionUI:endpoints\" | \"securitySolutionUI:event_filters\" | \"securitySolutionUI:exceptions\" | \"securitySolutionUI:host_isolation_exceptions\" | \"securitySolutionUI:hosts-all\" | \"securitySolutionUI:hosts-anomalies\" | \"securitySolutionUI:hosts-risk\" | \"securitySolutionUI:hosts-events\" | \"securitySolutionUI:hosts-sessions\" | \"securitySolutionUI:hosts-uncommon_processes\" | \"securitySolutionUI:investigations\" | \"securitySolutionUI:get_started\" | \"securitySolutionUI:machine_learning-landing\" | \"securitySolutionUI:network-anomalies\" | \"securitySolutionUI:network-dns\" | \"securitySolutionUI:network-events\" | \"securitySolutionUI:network-flows\" | \"securitySolutionUI:network-http\" | \"securitySolutionUI:network-tls\" | \"securitySolutionUI:response_actions_history\" | \"securitySolutionUI:rules-add\" | \"securitySolutionUI:rules-create\" | \"securitySolutionUI:rules-landing\" | \"securitySolutionUI:threat_intelligence\" | \"securitySolutionUI:timelines\" | \"securitySolutionUI:timelines-templates\" | \"securitySolutionUI:trusted_apps\" | \"securitySolutionUI:users-all\" | \"securitySolutionUI:users-anomalies\" | \"securitySolutionUI:users-authentications\" | \"securitySolutionUI:users-events\" | \"securitySolutionUI:users-risk\" | \"securitySolutionUI:entity_analytics\" | \"securitySolutionUI:entity_analytics-management\" | \"securitySolutionUI:entity_analytics-asset-classification\" | \"securitySolutionUI:coverage-overview\" | \"securitySolutionUI:notes-management\" | \"fleet:settings\" | \"fleet:policies\" | \"fleet:data_streams\" | \"fleet:enrollment_tokens\" | \"fleet:uninstall_tokens\" | \"fleet:agents\"" + "\"fleet\" | \"graph\" | \"ml\" | \"monitoring\" | \"metrics\" | \"management\" | \"synthetics\" | \"ux\" | \"apm\" | \"logs\" | \"profiling\" | \"dashboards\" | \"observabilityAIAssistant\" | \"home\" | \"canvas\" | \"integrations\" | \"discover\" | \"observability-overview\" | \"appSearch\" | \"dev_tools\" | \"maps\" | \"visualize\" | \"dev_tools:console\" | \"dev_tools:searchprofiler\" | \"dev_tools:painless_lab\" | \"dev_tools:grokdebugger\" | \"ml:notifications\" | \"ml:nodes\" | \"ml:overview\" | \"ml:memoryUsage\" | \"ml:settings\" | \"ml:dataVisualizer\" | \"ml:anomalyDetection\" | \"ml:anomalyExplorer\" | \"ml:singleMetricViewer\" | \"ml:dataDrift\" | \"ml:dataFrameAnalytics\" | \"ml:resultExplorer\" | \"ml:analyticsMap\" | \"ml:aiOps\" | \"ml:logRateAnalysis\" | \"ml:logPatternAnalysis\" | \"ml:changePointDetections\" | \"ml:modelManagement\" | \"ml:nodesOverview\" | \"ml:esqlDataVisualizer\" | \"ml:fileUpload\" | \"ml:indexDataVisualizer\" | \"ml:calendarSettings\" | \"ml:filterListsSettings\" | \"osquery\" | \"management:transform\" | \"management:watcher\" | \"management:cases\" | \"management:tags\" | \"management:maintenanceWindows\" | \"management:settings\" | \"management:dataViews\" | \"management:spaces\" | \"management:users\" | \"management:migrate_data\" | \"management:search_sessions\" | \"management:data_quality\" | \"management:filesManagement\" | \"management:roles\" | \"management:reporting\" | \"management:aiAssistantManagementSelection\" | \"management:securityAiAssistantManagement\" | \"management:observabilityAiAssistantManagement\" | \"management:api_keys\" | \"management:cross_cluster_replication\" | \"management:license_management\" | \"management:index_lifecycle_management\" | \"management:index_management\" | \"management:ingest_pipelines\" | \"management:jobsListLink\" | \"management:objects\" | \"management:pipelines\" | \"management:remote_clusters\" | \"management:role_mappings\" | \"management:rollup_jobs\" | \"management:snapshot_restore\" | \"management:triggersActions\" | \"management:triggersActionsConnectors\" | \"management:upgrade_assistant\" | \"enterpriseSearch\" | \"enterpriseSearchContent\" | \"enterpriseSearchApplications\" | \"enterpriseSearchAnalytics\" | \"workplaceSearch\" | \"serverlessElasticsearch\" | \"serverlessConnectors\" | \"searchPlayground\" | \"searchInferenceEndpoints\" | \"searchHomepage\" | \"enterpriseSearchContent:connectors\" | \"enterpriseSearchContent:searchIndices\" | \"enterpriseSearchContent:webCrawlers\" | \"enterpriseSearchApplications:searchApplications\" | \"enterpriseSearchApplications:playground\" | \"appSearch:engines\" | \"observability-logs-explorer\" | \"observabilityOnboarding\" | \"slo\" | \"logs:settings\" | \"logs:stream\" | \"logs:log-categories\" | \"logs:anomalies\" | \"observability-overview:cases\" | \"observability-overview:alerts\" | \"observability-overview:rules\" | \"observability-overview:cases_create\" | \"observability-overview:cases_configure\" | \"metrics:settings\" | \"metrics:hosts\" | \"metrics:inventory\" | \"metrics:metrics-explorer\" | \"metrics:assetDetails\" | \"apm:traces\" | \"apm:dependencies\" | \"apm:service-map\" | \"apm:settings\" | \"apm:services\" | \"apm:service-groups-list\" | \"apm:storage-explorer\" | \"synthetics:overview\" | \"synthetics:certificates\" | \"profiling:stacktraces\" | \"profiling:flamegraphs\" | \"profiling:functions\" | \"securitySolutionUI\" | \"securitySolutionUI:\" | \"securitySolutionUI:cases\" | \"securitySolutionUI:alerts\" | \"securitySolutionUI:rules\" | \"securitySolutionUI:policy\" | \"securitySolutionUI:overview\" | \"securitySolutionUI:dashboards\" | \"securitySolutionUI:cases_create\" | \"securitySolutionUI:cases_configure\" | \"securitySolutionUI:hosts\" | \"securitySolutionUI:users\" | \"securitySolutionUI:cloud_defend-policies\" | \"securitySolutionUI:cloud_security_posture-dashboard\" | \"securitySolutionUI:cloud_security_posture-findings\" | \"securitySolutionUI:cloud_security_posture-benchmarks\" | \"securitySolutionUI:kubernetes\" | \"securitySolutionUI:network\" | \"securitySolutionUI:data_quality\" | \"securitySolutionUI:explore\" | \"securitySolutionUI:assets\" | \"securitySolutionUI:cloud_defend\" | \"securitySolutionUI:administration\" | \"securitySolutionUI:attack_discovery\" | \"securitySolutionUI:blocklist\" | \"securitySolutionUI:cloud_security_posture-rules\" | \"securitySolutionUI:detections\" | \"securitySolutionUI:detection_response\" | \"securitySolutionUI:endpoints\" | \"securitySolutionUI:event_filters\" | \"securitySolutionUI:exceptions\" | \"securitySolutionUI:host_isolation_exceptions\" | \"securitySolutionUI:hosts-all\" | \"securitySolutionUI:hosts-anomalies\" | \"securitySolutionUI:hosts-risk\" | \"securitySolutionUI:hosts-events\" | \"securitySolutionUI:hosts-sessions\" | \"securitySolutionUI:hosts-uncommon_processes\" | \"securitySolutionUI:investigations\" | \"securitySolutionUI:get_started\" | \"securitySolutionUI:machine_learning-landing\" | \"securitySolutionUI:network-anomalies\" | \"securitySolutionUI:network-dns\" | \"securitySolutionUI:network-events\" | \"securitySolutionUI:network-flows\" | \"securitySolutionUI:network-http\" | \"securitySolutionUI:network-tls\" | \"securitySolutionUI:response_actions_history\" | \"securitySolutionUI:rules-add\" | \"securitySolutionUI:rules-create\" | \"securitySolutionUI:rules-landing\" | \"securitySolutionUI:threat_intelligence\" | \"securitySolutionUI:timelines\" | \"securitySolutionUI:timelines-templates\" | \"securitySolutionUI:trusted_apps\" | \"securitySolutionUI:users-all\" | \"securitySolutionUI:users-anomalies\" | \"securitySolutionUI:users-authentications\" | \"securitySolutionUI:users-events\" | \"securitySolutionUI:users-risk\" | \"securitySolutionUI:entity_analytics\" | \"securitySolutionUI:entity_analytics-management\" | \"securitySolutionUI:entity_analytics-asset-classification\" | \"securitySolutionUI:coverage-overview\" | \"securitySolutionUI:notes-management\" | \"fleet:settings\" | \"fleet:policies\" | \"fleet:data_streams\" | \"fleet:enrollment_tokens\" | \"fleet:uninstall_tokens\" | \"fleet:agents\"" ], "path": "packages/core/chrome/core-chrome-browser/src/project_navigation.ts", "deprecated": false, diff --git a/api_docs/kbn_core_chrome_browser.mdx b/api_docs/kbn_core_chrome_browser.mdx index 71105415fb4ca..ae5ab231aac25 100644 --- a/api_docs/kbn_core_chrome_browser.mdx +++ b/api_docs/kbn_core_chrome_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-chrome-browser title: "@kbn/core-chrome-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-chrome-browser plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-chrome-browser'] --- import kbnCoreChromeBrowserObj from './kbn_core_chrome_browser.devdocs.json'; diff --git a/api_docs/kbn_core_chrome_browser_mocks.mdx b/api_docs/kbn_core_chrome_browser_mocks.mdx index df950e030dec0..a7ce15300459f 100644 --- a/api_docs/kbn_core_chrome_browser_mocks.mdx +++ b/api_docs/kbn_core_chrome_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-chrome-browser-mocks title: "@kbn/core-chrome-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-chrome-browser-mocks plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-chrome-browser-mocks'] --- import kbnCoreChromeBrowserMocksObj from './kbn_core_chrome_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_config_server_internal.mdx b/api_docs/kbn_core_config_server_internal.mdx index 9eec1a1692c15..e432ca5cb81f7 100644 --- a/api_docs/kbn_core_config_server_internal.mdx +++ b/api_docs/kbn_core_config_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-config-server-internal title: "@kbn/core-config-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-config-server-internal plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-config-server-internal'] --- import kbnCoreConfigServerInternalObj from './kbn_core_config_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_browser.mdx b/api_docs/kbn_core_custom_branding_browser.mdx index 2e6eebc20e1ab..a7aee96410735 100644 --- a/api_docs/kbn_core_custom_branding_browser.mdx +++ b/api_docs/kbn_core_custom_branding_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-browser title: "@kbn/core-custom-branding-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-browser plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-browser'] --- import kbnCoreCustomBrandingBrowserObj from './kbn_core_custom_branding_browser.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_browser_internal.mdx b/api_docs/kbn_core_custom_branding_browser_internal.mdx index c499b048c9344..52b2acac1ee0f 100644 --- a/api_docs/kbn_core_custom_branding_browser_internal.mdx +++ b/api_docs/kbn_core_custom_branding_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-browser-internal title: "@kbn/core-custom-branding-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-browser-internal plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-browser-internal'] --- import kbnCoreCustomBrandingBrowserInternalObj from './kbn_core_custom_branding_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_browser_mocks.mdx b/api_docs/kbn_core_custom_branding_browser_mocks.mdx index df9652c4f6d7e..b925e1fb0e0a3 100644 --- a/api_docs/kbn_core_custom_branding_browser_mocks.mdx +++ b/api_docs/kbn_core_custom_branding_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-browser-mocks title: "@kbn/core-custom-branding-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-browser-mocks plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-browser-mocks'] --- import kbnCoreCustomBrandingBrowserMocksObj from './kbn_core_custom_branding_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_common.mdx b/api_docs/kbn_core_custom_branding_common.mdx index 9ce3fd7b27906..2522eb901b202 100644 --- a/api_docs/kbn_core_custom_branding_common.mdx +++ b/api_docs/kbn_core_custom_branding_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-common title: "@kbn/core-custom-branding-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-common plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-common'] --- import kbnCoreCustomBrandingCommonObj from './kbn_core_custom_branding_common.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_server.mdx b/api_docs/kbn_core_custom_branding_server.mdx index 23632cdbbd9ac..533e7f9adf70c 100644 --- a/api_docs/kbn_core_custom_branding_server.mdx +++ b/api_docs/kbn_core_custom_branding_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-server title: "@kbn/core-custom-branding-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-server plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-server'] --- import kbnCoreCustomBrandingServerObj from './kbn_core_custom_branding_server.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_server_internal.mdx b/api_docs/kbn_core_custom_branding_server_internal.mdx index d23c897cecffa..1a33f7651a413 100644 --- a/api_docs/kbn_core_custom_branding_server_internal.mdx +++ b/api_docs/kbn_core_custom_branding_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-server-internal title: "@kbn/core-custom-branding-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-server-internal plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-server-internal'] --- import kbnCoreCustomBrandingServerInternalObj from './kbn_core_custom_branding_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_server_mocks.mdx b/api_docs/kbn_core_custom_branding_server_mocks.mdx index 6f258fcfc8b48..ed7ab372130d6 100644 --- a/api_docs/kbn_core_custom_branding_server_mocks.mdx +++ b/api_docs/kbn_core_custom_branding_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-server-mocks title: "@kbn/core-custom-branding-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-server-mocks plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-server-mocks'] --- import kbnCoreCustomBrandingServerMocksObj from './kbn_core_custom_branding_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_browser.mdx b/api_docs/kbn_core_deprecations_browser.mdx index 90daf5fa734f3..8f0fecd430d35 100644 --- a/api_docs/kbn_core_deprecations_browser.mdx +++ b/api_docs/kbn_core_deprecations_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-browser title: "@kbn/core-deprecations-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-browser plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-browser'] --- import kbnCoreDeprecationsBrowserObj from './kbn_core_deprecations_browser.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_browser_internal.mdx b/api_docs/kbn_core_deprecations_browser_internal.mdx index f657bd0dc847e..e67ebcd5237e5 100644 --- a/api_docs/kbn_core_deprecations_browser_internal.mdx +++ b/api_docs/kbn_core_deprecations_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-browser-internal title: "@kbn/core-deprecations-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-browser-internal plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-browser-internal'] --- import kbnCoreDeprecationsBrowserInternalObj from './kbn_core_deprecations_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_browser_mocks.mdx b/api_docs/kbn_core_deprecations_browser_mocks.mdx index e5f76f49825dd..baa23a2197a31 100644 --- a/api_docs/kbn_core_deprecations_browser_mocks.mdx +++ b/api_docs/kbn_core_deprecations_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-browser-mocks title: "@kbn/core-deprecations-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-browser-mocks plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-browser-mocks'] --- import kbnCoreDeprecationsBrowserMocksObj from './kbn_core_deprecations_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_common.mdx b/api_docs/kbn_core_deprecations_common.mdx index 9a20d9cb1f7fe..2a063d0122a85 100644 --- a/api_docs/kbn_core_deprecations_common.mdx +++ b/api_docs/kbn_core_deprecations_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-common title: "@kbn/core-deprecations-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-common plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-common'] --- import kbnCoreDeprecationsCommonObj from './kbn_core_deprecations_common.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_server.mdx b/api_docs/kbn_core_deprecations_server.mdx index 92b19b1819557..0cb6607fc6581 100644 --- a/api_docs/kbn_core_deprecations_server.mdx +++ b/api_docs/kbn_core_deprecations_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-server title: "@kbn/core-deprecations-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-server plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-server'] --- import kbnCoreDeprecationsServerObj from './kbn_core_deprecations_server.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_server_internal.mdx b/api_docs/kbn_core_deprecations_server_internal.mdx index d5df05b865157..bb6258f203832 100644 --- a/api_docs/kbn_core_deprecations_server_internal.mdx +++ b/api_docs/kbn_core_deprecations_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-server-internal title: "@kbn/core-deprecations-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-server-internal plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-server-internal'] --- import kbnCoreDeprecationsServerInternalObj from './kbn_core_deprecations_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_server_mocks.mdx b/api_docs/kbn_core_deprecations_server_mocks.mdx index 78e9a91330219..e1744ff0d7c4b 100644 --- a/api_docs/kbn_core_deprecations_server_mocks.mdx +++ b/api_docs/kbn_core_deprecations_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-server-mocks title: "@kbn/core-deprecations-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-server-mocks plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-server-mocks'] --- import kbnCoreDeprecationsServerMocksObj from './kbn_core_deprecations_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_doc_links_browser.mdx b/api_docs/kbn_core_doc_links_browser.mdx index 8336c45fbe0c2..2646132997f73 100644 --- a/api_docs/kbn_core_doc_links_browser.mdx +++ b/api_docs/kbn_core_doc_links_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-browser title: "@kbn/core-doc-links-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-browser plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-doc-links-browser'] --- import kbnCoreDocLinksBrowserObj from './kbn_core_doc_links_browser.devdocs.json'; diff --git a/api_docs/kbn_core_doc_links_browser_mocks.mdx b/api_docs/kbn_core_doc_links_browser_mocks.mdx index cda2ac5294b20..4e1cf2fc44d8f 100644 --- a/api_docs/kbn_core_doc_links_browser_mocks.mdx +++ b/api_docs/kbn_core_doc_links_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-browser-mocks title: "@kbn/core-doc-links-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-browser-mocks plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-doc-links-browser-mocks'] --- import kbnCoreDocLinksBrowserMocksObj from './kbn_core_doc_links_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_doc_links_server.mdx b/api_docs/kbn_core_doc_links_server.mdx index 612ce5f4084cb..9d3bcac69a500 100644 --- a/api_docs/kbn_core_doc_links_server.mdx +++ b/api_docs/kbn_core_doc_links_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-server title: "@kbn/core-doc-links-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-server plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-doc-links-server'] --- import kbnCoreDocLinksServerObj from './kbn_core_doc_links_server.devdocs.json'; diff --git a/api_docs/kbn_core_doc_links_server_mocks.mdx b/api_docs/kbn_core_doc_links_server_mocks.mdx index a65bfc25d7e6e..ffce55066b5d1 100644 --- a/api_docs/kbn_core_doc_links_server_mocks.mdx +++ b/api_docs/kbn_core_doc_links_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-server-mocks title: "@kbn/core-doc-links-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-server-mocks plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-doc-links-server-mocks'] --- import kbnCoreDocLinksServerMocksObj from './kbn_core_doc_links_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_elasticsearch_client_server_internal.mdx b/api_docs/kbn_core_elasticsearch_client_server_internal.mdx index 674666ba6ebd2..c1c908f151717 100644 --- a/api_docs/kbn_core_elasticsearch_client_server_internal.mdx +++ b/api_docs/kbn_core_elasticsearch_client_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-client-server-internal title: "@kbn/core-elasticsearch-client-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-client-server-internal plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-elasticsearch-client-server-internal'] --- import kbnCoreElasticsearchClientServerInternalObj from './kbn_core_elasticsearch_client_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx b/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx index 7904772ed2ae2..5dadbb1072caf 100644 --- a/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx +++ b/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-client-server-mocks title: "@kbn/core-elasticsearch-client-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-client-server-mocks plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-elasticsearch-client-server-mocks'] --- import kbnCoreElasticsearchClientServerMocksObj from './kbn_core_elasticsearch_client_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_elasticsearch_server.devdocs.json b/api_docs/kbn_core_elasticsearch_server.devdocs.json index 7f68422b77181..8d36fea09e076 100644 --- a/api_docs/kbn_core_elasticsearch_server.devdocs.json +++ b/api_docs/kbn_core_elasticsearch_server.devdocs.json @@ -160,6 +160,27 @@ "deprecated": false, "trackAdoption": false }, + { + "parentPluginId": "@kbn/core-elasticsearch-server", + "id": "def-common.ElasticsearchClientConfig.maxResponseSize", + "type": "Object", + "tags": [], + "label": "maxResponseSize", + "description": [], + "signature": [ + { + "pluginId": "@kbn/config-schema", + "scope": "common", + "docId": "kibKbnConfigSchemaPluginApi", + "section": "def-common.ByteSizeValue", + "text": "ByteSizeValue" + }, + " | undefined" + ], + "path": "packages/core/elasticsearch/core-elasticsearch-server/src/client/client_config.ts", + "deprecated": false, + "trackAdoption": false + }, { "parentPluginId": "@kbn/core-elasticsearch-server", "id": "def-common.ElasticsearchClientConfig.idleSocketTimeout", diff --git a/api_docs/kbn_core_elasticsearch_server.mdx b/api_docs/kbn_core_elasticsearch_server.mdx index e7d4c7a2ac357..d2d7b09460f6c 100644 --- a/api_docs/kbn_core_elasticsearch_server.mdx +++ b/api_docs/kbn_core_elasticsearch_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-server title: "@kbn/core-elasticsearch-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-server plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-elasticsearch-server'] --- import kbnCoreElasticsearchServerObj from './kbn_core_elasticsearch_server.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 115 | 0 | 55 | 0 | +| 116 | 0 | 56 | 0 | ## Common diff --git a/api_docs/kbn_core_elasticsearch_server_internal.devdocs.json b/api_docs/kbn_core_elasticsearch_server_internal.devdocs.json index 81fc1bdadb72e..b12006708fc6a 100644 --- a/api_docs/kbn_core_elasticsearch_server_internal.devdocs.json +++ b/api_docs/kbn_core_elasticsearch_server_internal.devdocs.json @@ -3114,7 +3114,15 @@ "label": "ElasticsearchConfigType", "description": [], "signature": [ - "{ readonly username?: string | undefined; readonly password?: string | undefined; readonly serviceAccountToken?: string | undefined; readonly ssl: Readonly<{ key?: string | undefined; certificateAuthorities?: string | string[] | undefined; certificate?: string | undefined; keyPassphrase?: string | undefined; } & { verificationMode: \"none\" | \"full\" | \"certificate\"; keystore: Readonly<{ password?: string | undefined; path?: string | undefined; } & {}>; truststore: Readonly<{ password?: string | undefined; path?: string | undefined; } & {}>; alwaysPresentCertificate: boolean; }>; readonly healthCheck: Readonly<{} & { delay: moment.Duration; startupDelay: moment.Duration; }>; readonly hosts: string | string[]; readonly apiVersion: string; readonly customHeaders: Record; readonly sniffOnStart: boolean; readonly sniffInterval: false | moment.Duration; readonly sniffOnConnectionFault: boolean; readonly maxSockets: number; readonly maxIdleSockets: number; readonly idleSocketTimeout: moment.Duration; readonly compression: boolean; readonly requestHeadersWhitelist: string | string[]; readonly shardTimeout: moment.Duration; readonly requestTimeout: moment.Duration; readonly pingTimeout: moment.Duration; readonly logQueries: boolean; readonly ignoreVersionMismatch: boolean; readonly skipStartupConnectionCheck: boolean; readonly apisToRedactInLogs: Readonly<{ method?: string | undefined; } & { path: string; }>[]; readonly dnsCacheTtl: moment.Duration; }" + "{ readonly username?: string | undefined; readonly password?: string | undefined; readonly serviceAccountToken?: string | undefined; readonly ssl: Readonly<{ key?: string | undefined; certificateAuthorities?: string | string[] | undefined; certificate?: string | undefined; keyPassphrase?: string | undefined; } & { verificationMode: \"none\" | \"full\" | \"certificate\"; keystore: Readonly<{ password?: string | undefined; path?: string | undefined; } & {}>; truststore: Readonly<{ password?: string | undefined; path?: string | undefined; } & {}>; alwaysPresentCertificate: boolean; }>; readonly healthCheck: Readonly<{} & { delay: moment.Duration; startupDelay: moment.Duration; }>; readonly hosts: string | string[]; readonly apiVersion: string; readonly customHeaders: Record; readonly sniffOnStart: boolean; readonly sniffInterval: false | moment.Duration; readonly sniffOnConnectionFault: boolean; readonly maxSockets: number; readonly maxIdleSockets: number; readonly maxResponseSize: false | ", + { + "pluginId": "@kbn/config-schema", + "scope": "common", + "docId": "kibKbnConfigSchemaPluginApi", + "section": "def-common.ByteSizeValue", + "text": "ByteSizeValue" + }, + "; readonly idleSocketTimeout: moment.Duration; readonly compression: boolean; readonly requestHeadersWhitelist: string | string[]; readonly shardTimeout: moment.Duration; readonly requestTimeout: moment.Duration; readonly pingTimeout: moment.Duration; readonly logQueries: boolean; readonly ignoreVersionMismatch: boolean; readonly skipStartupConnectionCheck: boolean; readonly apisToRedactInLogs: Readonly<{ method?: string | undefined; } & { path: string; }>[]; readonly dnsCacheTtl: moment.Duration; }" ], "path": "packages/core/elasticsearch/core-elasticsearch-server-internal/src/elasticsearch_config.ts", "deprecated": false, @@ -3188,7 +3196,23 @@ "section": "def-common.Type", "text": "Type" }, - "; idleSocketTimeout: ", + "; maxResponseSize: ", + { + "pluginId": "@kbn/config-schema", + "scope": "common", + "docId": "kibKbnConfigSchemaPluginApi", + "section": "def-common.Type", + "text": "Type" + }, + "; idleSocketTimeout: ", { "pluginId": "@kbn/config-schema", "scope": "common", diff --git a/api_docs/kbn_core_elasticsearch_server_internal.mdx b/api_docs/kbn_core_elasticsearch_server_internal.mdx index 5e73f0659d04b..7173d22761560 100644 --- a/api_docs/kbn_core_elasticsearch_server_internal.mdx +++ b/api_docs/kbn_core_elasticsearch_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-server-internal title: "@kbn/core-elasticsearch-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-server-internal plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-elasticsearch-server-internal'] --- import kbnCoreElasticsearchServerInternalObj from './kbn_core_elasticsearch_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_elasticsearch_server_mocks.mdx b/api_docs/kbn_core_elasticsearch_server_mocks.mdx index 75bcf0def4b57..2672109fbb630 100644 --- a/api_docs/kbn_core_elasticsearch_server_mocks.mdx +++ b/api_docs/kbn_core_elasticsearch_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-server-mocks title: "@kbn/core-elasticsearch-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-server-mocks plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-elasticsearch-server-mocks'] --- import kbnCoreElasticsearchServerMocksObj from './kbn_core_elasticsearch_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_environment_server_internal.mdx b/api_docs/kbn_core_environment_server_internal.mdx index 5eb9304aac317..9044046d27644 100644 --- a/api_docs/kbn_core_environment_server_internal.mdx +++ b/api_docs/kbn_core_environment_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-environment-server-internal title: "@kbn/core-environment-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-environment-server-internal plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-environment-server-internal'] --- import kbnCoreEnvironmentServerInternalObj from './kbn_core_environment_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_environment_server_mocks.mdx b/api_docs/kbn_core_environment_server_mocks.mdx index 8ba4a516a391b..a0db39fd4a192 100644 --- a/api_docs/kbn_core_environment_server_mocks.mdx +++ b/api_docs/kbn_core_environment_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-environment-server-mocks title: "@kbn/core-environment-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-environment-server-mocks plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-environment-server-mocks'] --- import kbnCoreEnvironmentServerMocksObj from './kbn_core_environment_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_browser.mdx b/api_docs/kbn_core_execution_context_browser.mdx index 2770e6e0bf0cb..ebb0f11820012 100644 --- a/api_docs/kbn_core_execution_context_browser.mdx +++ b/api_docs/kbn_core_execution_context_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-browser title: "@kbn/core-execution-context-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-browser plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-browser'] --- import kbnCoreExecutionContextBrowserObj from './kbn_core_execution_context_browser.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_browser_internal.mdx b/api_docs/kbn_core_execution_context_browser_internal.mdx index 338cfc8f178ab..7c9b40a66481b 100644 --- a/api_docs/kbn_core_execution_context_browser_internal.mdx +++ b/api_docs/kbn_core_execution_context_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-browser-internal title: "@kbn/core-execution-context-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-browser-internal plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-browser-internal'] --- import kbnCoreExecutionContextBrowserInternalObj from './kbn_core_execution_context_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_browser_mocks.mdx b/api_docs/kbn_core_execution_context_browser_mocks.mdx index 7bd144d8c9668..23b2dc4cf81c9 100644 --- a/api_docs/kbn_core_execution_context_browser_mocks.mdx +++ b/api_docs/kbn_core_execution_context_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-browser-mocks title: "@kbn/core-execution-context-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-browser-mocks plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-browser-mocks'] --- import kbnCoreExecutionContextBrowserMocksObj from './kbn_core_execution_context_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_common.mdx b/api_docs/kbn_core_execution_context_common.mdx index 2943e8c03296f..9e9aec4ad81ad 100644 --- a/api_docs/kbn_core_execution_context_common.mdx +++ b/api_docs/kbn_core_execution_context_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-common title: "@kbn/core-execution-context-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-common plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-common'] --- import kbnCoreExecutionContextCommonObj from './kbn_core_execution_context_common.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_server.mdx b/api_docs/kbn_core_execution_context_server.mdx index 5778a1ec26183..be612faed0ef0 100644 --- a/api_docs/kbn_core_execution_context_server.mdx +++ b/api_docs/kbn_core_execution_context_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-server title: "@kbn/core-execution-context-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-server plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-server'] --- import kbnCoreExecutionContextServerObj from './kbn_core_execution_context_server.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_server_internal.mdx b/api_docs/kbn_core_execution_context_server_internal.mdx index 485e7e1e79c36..f72682a90ee78 100644 --- a/api_docs/kbn_core_execution_context_server_internal.mdx +++ b/api_docs/kbn_core_execution_context_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-server-internal title: "@kbn/core-execution-context-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-server-internal plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-server-internal'] --- import kbnCoreExecutionContextServerInternalObj from './kbn_core_execution_context_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_server_mocks.mdx b/api_docs/kbn_core_execution_context_server_mocks.mdx index 1dc6be712cf05..5283f9013f5bb 100644 --- a/api_docs/kbn_core_execution_context_server_mocks.mdx +++ b/api_docs/kbn_core_execution_context_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-server-mocks title: "@kbn/core-execution-context-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-server-mocks plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-server-mocks'] --- import kbnCoreExecutionContextServerMocksObj from './kbn_core_execution_context_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_fatal_errors_browser.mdx b/api_docs/kbn_core_fatal_errors_browser.mdx index 8dd268062f9c7..d61a8c93433b9 100644 --- a/api_docs/kbn_core_fatal_errors_browser.mdx +++ b/api_docs/kbn_core_fatal_errors_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-fatal-errors-browser title: "@kbn/core-fatal-errors-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-fatal-errors-browser plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-fatal-errors-browser'] --- import kbnCoreFatalErrorsBrowserObj from './kbn_core_fatal_errors_browser.devdocs.json'; diff --git a/api_docs/kbn_core_fatal_errors_browser_mocks.mdx b/api_docs/kbn_core_fatal_errors_browser_mocks.mdx index 2b593020653fd..eaf0b146d22a5 100644 --- a/api_docs/kbn_core_fatal_errors_browser_mocks.mdx +++ b/api_docs/kbn_core_fatal_errors_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-fatal-errors-browser-mocks title: "@kbn/core-fatal-errors-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-fatal-errors-browser-mocks plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-fatal-errors-browser-mocks'] --- import kbnCoreFatalErrorsBrowserMocksObj from './kbn_core_fatal_errors_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_http_browser.mdx b/api_docs/kbn_core_http_browser.mdx index cf2c050db360b..8f46dc50834db 100644 --- a/api_docs/kbn_core_http_browser.mdx +++ b/api_docs/kbn_core_http_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-browser title: "@kbn/core-http-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-browser plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-browser'] --- import kbnCoreHttpBrowserObj from './kbn_core_http_browser.devdocs.json'; diff --git a/api_docs/kbn_core_http_browser_internal.mdx b/api_docs/kbn_core_http_browser_internal.mdx index 77688dedbcd7a..3046500853547 100644 --- a/api_docs/kbn_core_http_browser_internal.mdx +++ b/api_docs/kbn_core_http_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-browser-internal title: "@kbn/core-http-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-browser-internal plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-browser-internal'] --- import kbnCoreHttpBrowserInternalObj from './kbn_core_http_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_http_browser_mocks.mdx b/api_docs/kbn_core_http_browser_mocks.mdx index 565afd6b084f1..e03e50ef0f273 100644 --- a/api_docs/kbn_core_http_browser_mocks.mdx +++ b/api_docs/kbn_core_http_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-browser-mocks title: "@kbn/core-http-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-browser-mocks plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-browser-mocks'] --- import kbnCoreHttpBrowserMocksObj from './kbn_core_http_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_http_common.mdx b/api_docs/kbn_core_http_common.mdx index 0558d5a0eed69..217b364330678 100644 --- a/api_docs/kbn_core_http_common.mdx +++ b/api_docs/kbn_core_http_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-common title: "@kbn/core-http-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-common plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-common'] --- import kbnCoreHttpCommonObj from './kbn_core_http_common.devdocs.json'; diff --git a/api_docs/kbn_core_http_context_server_mocks.mdx b/api_docs/kbn_core_http_context_server_mocks.mdx index 5f7488eb7179f..bcc82b20f4be3 100644 --- a/api_docs/kbn_core_http_context_server_mocks.mdx +++ b/api_docs/kbn_core_http_context_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-context-server-mocks title: "@kbn/core-http-context-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-context-server-mocks plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-context-server-mocks'] --- import kbnCoreHttpContextServerMocksObj from './kbn_core_http_context_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_http_request_handler_context_server.mdx b/api_docs/kbn_core_http_request_handler_context_server.mdx index afd1291384dd2..67e96b09b5930 100644 --- a/api_docs/kbn_core_http_request_handler_context_server.mdx +++ b/api_docs/kbn_core_http_request_handler_context_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-request-handler-context-server title: "@kbn/core-http-request-handler-context-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-request-handler-context-server plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-request-handler-context-server'] --- import kbnCoreHttpRequestHandlerContextServerObj from './kbn_core_http_request_handler_context_server.devdocs.json'; diff --git a/api_docs/kbn_core_http_resources_server.mdx b/api_docs/kbn_core_http_resources_server.mdx index a0f4412ee86e1..64ebb108ce5eb 100644 --- a/api_docs/kbn_core_http_resources_server.mdx +++ b/api_docs/kbn_core_http_resources_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-resources-server title: "@kbn/core-http-resources-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-resources-server plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-resources-server'] --- import kbnCoreHttpResourcesServerObj from './kbn_core_http_resources_server.devdocs.json'; diff --git a/api_docs/kbn_core_http_resources_server_internal.mdx b/api_docs/kbn_core_http_resources_server_internal.mdx index 94f41e2228c56..7a19f104571e1 100644 --- a/api_docs/kbn_core_http_resources_server_internal.mdx +++ b/api_docs/kbn_core_http_resources_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-resources-server-internal title: "@kbn/core-http-resources-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-resources-server-internal plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-resources-server-internal'] --- import kbnCoreHttpResourcesServerInternalObj from './kbn_core_http_resources_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_http_resources_server_mocks.devdocs.json b/api_docs/kbn_core_http_resources_server_mocks.devdocs.json index 58e758c332771..97793db3d7bd1 100644 --- a/api_docs/kbn_core_http_resources_server_mocks.devdocs.json +++ b/api_docs/kbn_core_http_resources_server_mocks.devdocs.json @@ -443,6 +443,68 @@ "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, + "); created: jest.MockInstance<", + { + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.IKibanaResponse", + "text": "IKibanaResponse" + }, + " | Error | Buffer | ", + "Stream", + " | { message: string | Error; attributes?: ", + { + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.ResponseErrorAttributes", + "text": "ResponseErrorAttributes" + }, + " | undefined; } | undefined>, [options?: ", + { + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.HttpResponseOptions", + "text": "HttpResponseOptions" + }, + " | Error | Buffer | ", + "Stream", + " | { message: string | Error; attributes?: ", + { + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.ResponseErrorAttributes", + "text": "ResponseErrorAttributes" + }, + " | undefined; } | undefined> | undefined], unknown> & ( | Error | Buffer | ", + "Stream", + " | { message: string | Error; attributes?: ", + { + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.ResponseErrorAttributes", + "text": "ResponseErrorAttributes" + }, + " | undefined; } | undefined = any>(options?: ", + { + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.HttpResponseOptions", + "text": "HttpResponseOptions" + }, + " | undefined) => ", + { + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.IKibanaResponse", + "text": "IKibanaResponse" + }, "); accepted: jest.MockInstance<", { "pluginId": "@kbn/core-http-server", @@ -537,6 +599,38 @@ "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, + "); multiStatus: jest.MockInstance<", + { + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.IKibanaResponse", + "text": "IKibanaResponse" + }, + ", [options?: ", + { + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.HttpResponseOptions", + "text": "HttpResponseOptions" + }, + " | undefined], unknown> & ((options?: ", + { + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.HttpResponseOptions", + "text": "HttpResponseOptions" + }, + " | undefined) => ", + { + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.IKibanaResponse", + "text": "IKibanaResponse" + }, "); redirected: jest.MockInstance<", { "pluginId": "@kbn/core-http-server", @@ -761,6 +855,38 @@ "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, + "); unprocessableContent: jest.MockInstance<", + { + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.IKibanaResponse", + "text": "IKibanaResponse" + }, + ", [options?: ", + { + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.ErrorHttpResponseOptions", + "text": "ErrorHttpResponseOptions" + }, + " | undefined], unknown> & ((options?: ", + { + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.ErrorHttpResponseOptions", + "text": "ErrorHttpResponseOptions" + }, + " | undefined) => ", + { + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.IKibanaResponse", + "text": "IKibanaResponse" + }, "); customError: jest.MockInstance<", { "pluginId": "@kbn/core-http-server", diff --git a/api_docs/kbn_core_http_resources_server_mocks.mdx b/api_docs/kbn_core_http_resources_server_mocks.mdx index aded1566dcffd..566e79191d98a 100644 --- a/api_docs/kbn_core_http_resources_server_mocks.mdx +++ b/api_docs/kbn_core_http_resources_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-resources-server-mocks title: "@kbn/core-http-resources-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-resources-server-mocks plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-resources-server-mocks'] --- import kbnCoreHttpResourcesServerMocksObj from './kbn_core_http_resources_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_http_router_server_internal.mdx b/api_docs/kbn_core_http_router_server_internal.mdx index dcdcbc84d6529..a33fdc357f7dd 100644 --- a/api_docs/kbn_core_http_router_server_internal.mdx +++ b/api_docs/kbn_core_http_router_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-router-server-internal title: "@kbn/core-http-router-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-router-server-internal plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-router-server-internal'] --- import kbnCoreHttpRouterServerInternalObj from './kbn_core_http_router_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_http_router_server_mocks.mdx b/api_docs/kbn_core_http_router_server_mocks.mdx index f5d32c20ea099..193e5c7640ec7 100644 --- a/api_docs/kbn_core_http_router_server_mocks.mdx +++ b/api_docs/kbn_core_http_router_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-router-server-mocks title: "@kbn/core-http-router-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-router-server-mocks plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-router-server-mocks'] --- import kbnCoreHttpRouterServerMocksObj from './kbn_core_http_router_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_http_server.devdocs.json b/api_docs/kbn_core_http_server.devdocs.json index 6efa1875aa8c9..08e97dfda981b 100644 --- a/api_docs/kbn_core_http_server.devdocs.json +++ b/api_docs/kbn_core_http_server.devdocs.json @@ -4758,6 +4758,14 @@ "plugin": "assetManager", "path": "x-pack/plugins/observability_solution/asset_manager/server/routes/assets/pods.ts" }, + { + "plugin": "assetManager", + "path": "x-pack/plugins/observability_solution/asset_manager/server/routes/entities/get.ts" + }, + { + "plugin": "assetManager", + "path": "x-pack/plugins/observability_solution/asset_manager/server/routes/enablement/check.ts" + }, { "plugin": "profiling", "path": "x-pack/plugins/observability_solution/profiling/server/routes/apm.ts" @@ -8750,6 +8758,10 @@ "plugin": "grokdebugger", "path": "x-pack/plugins/grokdebugger/server/lib/kibana_framework.ts" }, + { + "plugin": "assetManager", + "path": "x-pack/plugins/observability_solution/asset_manager/server/routes/enablement/enable.ts" + }, { "plugin": "synthetics", "path": "x-pack/plugins/observability_solution/synthetics/server/server.ts" @@ -9678,6 +9690,10 @@ "plugin": "assetManager", "path": "x-pack/plugins/observability_solution/asset_manager/server/routes/entities/delete.ts" }, + { + "plugin": "assetManager", + "path": "x-pack/plugins/observability_solution/asset_manager/server/routes/enablement/disable.ts" + }, { "plugin": "synthetics", "path": "x-pack/plugins/observability_solution/synthetics/server/server.ts" @@ -10553,6 +10569,65 @@ ], "returnComment": [] }, + { + "parentPluginId": "@kbn/core-http-server", + "id": "def-common.KibanaErrorResponseFactory.unprocessableContent", + "type": "Function", + "tags": [], + "label": "unprocessableContent", + "description": [ + "\nThe server understands the content type of the request entity, and the syntax of the request entity is correct, but it was unable to process the contained instructions.\nStatus code: `422`." + ], + "signature": [ + "(options?: ", + { + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.ErrorHttpResponseOptions", + "text": "ErrorHttpResponseOptions" + }, + " | undefined) => ", + { + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.IKibanaResponse", + "text": "IKibanaResponse" + }, + "" + ], + "path": "packages/core/http/core-http-server/src/router/response_factory.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/core-http-server", + "id": "def-common.KibanaErrorResponseFactory.unprocessableContent.$1", + "type": "Object", + "tags": [], + "label": "options", + "description": [ + "- {@link HttpResponseOptions } configures HTTP response headers, error message and other error details to pass to the client" + ], + "signature": [ + { + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.ErrorHttpResponseOptions", + "text": "ErrorHttpResponseOptions" + }, + " | undefined" + ], + "path": "packages/core/http/core-http-server/src/router/response_factory.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [] + }, { "parentPluginId": "@kbn/core-http-server", "id": "def-common.KibanaErrorResponseFactory.customError", @@ -11487,6 +11562,75 @@ ], "returnComment": [] }, + { + "parentPluginId": "@kbn/core-http-server", + "id": "def-common.KibanaSuccessResponseFactory.created", + "type": "Function", + "tags": [], + "label": "created", + "description": [ + "\nThe request has succeeded and has led to the creation of a resource.\nStatus code: `201`." + ], + "signature": [ + " | Error | Buffer | ", + "Stream", + " | { message: string | Error; attributes?: ", + { + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.ResponseErrorAttributes", + "text": "ResponseErrorAttributes" + }, + " | undefined; } | undefined = any>(options?: ", + { + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.HttpResponseOptions", + "text": "HttpResponseOptions" + }, + " | undefined) => ", + { + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.IKibanaResponse", + "text": "IKibanaResponse" + }, + "" + ], + "path": "packages/core/http/core-http-server/src/router/response_factory.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/core-http-server", + "id": "def-common.KibanaSuccessResponseFactory.created.$1", + "type": "Object", + "tags": [], + "label": "options", + "description": [ + "- {@link HttpResponseOptions } configures HTTP response body & headers." + ], + "signature": [ + { + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.HttpResponseOptions", + "text": "HttpResponseOptions" + }, + " | undefined" + ], + "path": "packages/core/http/core-http-server/src/router/response_factory.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [] + }, { "parentPluginId": "@kbn/core-http-server", "id": "def-common.KibanaSuccessResponseFactory.accepted", @@ -11614,6 +11758,65 @@ } ], "returnComment": [] + }, + { + "parentPluginId": "@kbn/core-http-server", + "id": "def-common.KibanaSuccessResponseFactory.multiStatus", + "type": "Function", + "tags": [], + "label": "multiStatus", + "description": [ + "\nThe server indicates that there might be a mixture of responses (some tasks succeeded, some failed).\nStatus code: `207`." + ], + "signature": [ + "(options?: ", + { + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.HttpResponseOptions", + "text": "HttpResponseOptions" + }, + " | undefined) => ", + { + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.IKibanaResponse", + "text": "IKibanaResponse" + }, + "" + ], + "path": "packages/core/http/core-http-server/src/router/response_factory.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/core-http-server", + "id": "def-common.KibanaSuccessResponseFactory.multiStatus.$1", + "type": "Object", + "tags": [], + "label": "options", + "description": [ + "- {@link HttpResponseOptions } configures HTTP response body & headers." + ], + "signature": [ + { + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.HttpResponseOptions", + "text": "HttpResponseOptions" + }, + " | undefined" + ], + "path": "packages/core/http/core-http-server/src/router/response_factory.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [] } ], "initialIsOpen": false @@ -16049,6 +16252,10 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/server/lib/entity_analytics/asset_criticality/routes/upload_csv.ts" }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/entity_analytics/asset_criticality/routes/bulk_upload.ts" + }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/server/lib/entity_analytics/risk_score/routes/preview.ts" diff --git a/api_docs/kbn_core_http_server.mdx b/api_docs/kbn_core_http_server.mdx index 3d4ca4db80615..8c1e543853f7e 100644 --- a/api_docs/kbn_core_http_server.mdx +++ b/api_docs/kbn_core_http_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-server title: "@kbn/core-http-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-server plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-server'] --- import kbnCoreHttpServerObj from './kbn_core_http_server.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 489 | 2 | 193 | 0 | +| 495 | 2 | 193 | 0 | ## Common diff --git a/api_docs/kbn_core_http_server_internal.mdx b/api_docs/kbn_core_http_server_internal.mdx index 403fc01ea0b4d..739410190e0cb 100644 --- a/api_docs/kbn_core_http_server_internal.mdx +++ b/api_docs/kbn_core_http_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-server-internal title: "@kbn/core-http-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-server-internal plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-server-internal'] --- import kbnCoreHttpServerInternalObj from './kbn_core_http_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_http_server_mocks.mdx b/api_docs/kbn_core_http_server_mocks.mdx index 2c11130958d72..7a579ec1579cf 100644 --- a/api_docs/kbn_core_http_server_mocks.mdx +++ b/api_docs/kbn_core_http_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-server-mocks title: "@kbn/core-http-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-server-mocks plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-server-mocks'] --- import kbnCoreHttpServerMocksObj from './kbn_core_http_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_i18n_browser.mdx b/api_docs/kbn_core_i18n_browser.mdx index 293fa964ee4a5..73b8b11427b77 100644 --- a/api_docs/kbn_core_i18n_browser.mdx +++ b/api_docs/kbn_core_i18n_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-browser title: "@kbn/core-i18n-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-browser plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-browser'] --- import kbnCoreI18nBrowserObj from './kbn_core_i18n_browser.devdocs.json'; diff --git a/api_docs/kbn_core_i18n_browser_mocks.mdx b/api_docs/kbn_core_i18n_browser_mocks.mdx index b65b47da9991e..2bc694026bf00 100644 --- a/api_docs/kbn_core_i18n_browser_mocks.mdx +++ b/api_docs/kbn_core_i18n_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-browser-mocks title: "@kbn/core-i18n-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-browser-mocks plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-browser-mocks'] --- import kbnCoreI18nBrowserMocksObj from './kbn_core_i18n_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_i18n_server.mdx b/api_docs/kbn_core_i18n_server.mdx index 1078b9422550d..7e46394285cbe 100644 --- a/api_docs/kbn_core_i18n_server.mdx +++ b/api_docs/kbn_core_i18n_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-server title: "@kbn/core-i18n-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-server plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-server'] --- import kbnCoreI18nServerObj from './kbn_core_i18n_server.devdocs.json'; diff --git a/api_docs/kbn_core_i18n_server_internal.mdx b/api_docs/kbn_core_i18n_server_internal.mdx index 6e63af728c086..1de9677b59b83 100644 --- a/api_docs/kbn_core_i18n_server_internal.mdx +++ b/api_docs/kbn_core_i18n_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-server-internal title: "@kbn/core-i18n-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-server-internal plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-server-internal'] --- import kbnCoreI18nServerInternalObj from './kbn_core_i18n_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_i18n_server_mocks.mdx b/api_docs/kbn_core_i18n_server_mocks.mdx index 399f8f707f150..28fa23d4f7e0b 100644 --- a/api_docs/kbn_core_i18n_server_mocks.mdx +++ b/api_docs/kbn_core_i18n_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-server-mocks title: "@kbn/core-i18n-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-server-mocks plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-server-mocks'] --- import kbnCoreI18nServerMocksObj from './kbn_core_i18n_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_injected_metadata_browser_mocks.mdx b/api_docs/kbn_core_injected_metadata_browser_mocks.mdx index e09f4d57977fd..a9fdf9bf3257b 100644 --- a/api_docs/kbn_core_injected_metadata_browser_mocks.mdx +++ b/api_docs/kbn_core_injected_metadata_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-injected-metadata-browser-mocks title: "@kbn/core-injected-metadata-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-injected-metadata-browser-mocks plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-injected-metadata-browser-mocks'] --- import kbnCoreInjectedMetadataBrowserMocksObj from './kbn_core_injected_metadata_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_integrations_browser_internal.mdx b/api_docs/kbn_core_integrations_browser_internal.mdx index 53e799d45f330..0d2d9a73ac888 100644 --- a/api_docs/kbn_core_integrations_browser_internal.mdx +++ b/api_docs/kbn_core_integrations_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-integrations-browser-internal title: "@kbn/core-integrations-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-integrations-browser-internal plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-integrations-browser-internal'] --- import kbnCoreIntegrationsBrowserInternalObj from './kbn_core_integrations_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_integrations_browser_mocks.mdx b/api_docs/kbn_core_integrations_browser_mocks.mdx index 742fb3ae3e247..c10d3e61bb179 100644 --- a/api_docs/kbn_core_integrations_browser_mocks.mdx +++ b/api_docs/kbn_core_integrations_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-integrations-browser-mocks title: "@kbn/core-integrations-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-integrations-browser-mocks plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-integrations-browser-mocks'] --- import kbnCoreIntegrationsBrowserMocksObj from './kbn_core_integrations_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_lifecycle_browser.devdocs.json b/api_docs/kbn_core_lifecycle_browser.devdocs.json index ad2d7ba96eb1f..1b96fc2e88592 100644 --- a/api_docs/kbn_core_lifecycle_browser.devdocs.json +++ b/api_docs/kbn_core_lifecycle_browser.devdocs.json @@ -659,14 +659,6 @@ "plugin": "transform", "path": "x-pack/plugins/transform/public/app/mount_management_section.ts" }, - { - "plugin": "dashboard", - "path": "src/plugins/dashboard/public/dashboard_container/embeddable/api/duplicate_dashboard_panel.test.ts" - }, - { - "plugin": "dashboard", - "path": "src/plugins/dashboard/public/dashboard_container/embeddable/api/duplicate_dashboard_panel.test.ts" - }, { "plugin": "discover", "path": "src/plugins/discover/public/application/main/state_management/discover_state.test.ts" diff --git a/api_docs/kbn_core_lifecycle_browser.mdx b/api_docs/kbn_core_lifecycle_browser.mdx index bfeb9a0c6fa54..398f2305b4b11 100644 --- a/api_docs/kbn_core_lifecycle_browser.mdx +++ b/api_docs/kbn_core_lifecycle_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-browser title: "@kbn/core-lifecycle-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-browser plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-lifecycle-browser'] --- import kbnCoreLifecycleBrowserObj from './kbn_core_lifecycle_browser.devdocs.json'; diff --git a/api_docs/kbn_core_lifecycle_browser_mocks.mdx b/api_docs/kbn_core_lifecycle_browser_mocks.mdx index 3e3d6f9103061..5f8411e101010 100644 --- a/api_docs/kbn_core_lifecycle_browser_mocks.mdx +++ b/api_docs/kbn_core_lifecycle_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-browser-mocks title: "@kbn/core-lifecycle-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-browser-mocks plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-lifecycle-browser-mocks'] --- import kbnCoreLifecycleBrowserMocksObj from './kbn_core_lifecycle_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_lifecycle_server.mdx b/api_docs/kbn_core_lifecycle_server.mdx index 540a363e5f08a..125a7ac0ad7f3 100644 --- a/api_docs/kbn_core_lifecycle_server.mdx +++ b/api_docs/kbn_core_lifecycle_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-server title: "@kbn/core-lifecycle-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-server plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-lifecycle-server'] --- import kbnCoreLifecycleServerObj from './kbn_core_lifecycle_server.devdocs.json'; diff --git a/api_docs/kbn_core_lifecycle_server_mocks.mdx b/api_docs/kbn_core_lifecycle_server_mocks.mdx index bcd4440d8c427..6901519e595c3 100644 --- a/api_docs/kbn_core_lifecycle_server_mocks.mdx +++ b/api_docs/kbn_core_lifecycle_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-server-mocks title: "@kbn/core-lifecycle-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-server-mocks plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-lifecycle-server-mocks'] --- import kbnCoreLifecycleServerMocksObj from './kbn_core_lifecycle_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_logging_browser_mocks.mdx b/api_docs/kbn_core_logging_browser_mocks.mdx index ebe1d709f3626..b95c01c8fb56d 100644 --- a/api_docs/kbn_core_logging_browser_mocks.mdx +++ b/api_docs/kbn_core_logging_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-browser-mocks title: "@kbn/core-logging-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-browser-mocks plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-logging-browser-mocks'] --- import kbnCoreLoggingBrowserMocksObj from './kbn_core_logging_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_logging_common_internal.mdx b/api_docs/kbn_core_logging_common_internal.mdx index 81ced9b396fd3..ef25cf7621ccf 100644 --- a/api_docs/kbn_core_logging_common_internal.mdx +++ b/api_docs/kbn_core_logging_common_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-common-internal title: "@kbn/core-logging-common-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-common-internal plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-logging-common-internal'] --- import kbnCoreLoggingCommonInternalObj from './kbn_core_logging_common_internal.devdocs.json'; diff --git a/api_docs/kbn_core_logging_server.mdx b/api_docs/kbn_core_logging_server.mdx index 462ee206a17ea..3fdbf3f235bd7 100644 --- a/api_docs/kbn_core_logging_server.mdx +++ b/api_docs/kbn_core_logging_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-server title: "@kbn/core-logging-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-server plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-logging-server'] --- import kbnCoreLoggingServerObj from './kbn_core_logging_server.devdocs.json'; diff --git a/api_docs/kbn_core_logging_server_internal.mdx b/api_docs/kbn_core_logging_server_internal.mdx index 547d8e1f274c3..7ff03886b1247 100644 --- a/api_docs/kbn_core_logging_server_internal.mdx +++ b/api_docs/kbn_core_logging_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-server-internal title: "@kbn/core-logging-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-server-internal plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-logging-server-internal'] --- import kbnCoreLoggingServerInternalObj from './kbn_core_logging_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_logging_server_mocks.mdx b/api_docs/kbn_core_logging_server_mocks.mdx index 46007186a4cf7..a02902f84a6fc 100644 --- a/api_docs/kbn_core_logging_server_mocks.mdx +++ b/api_docs/kbn_core_logging_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-server-mocks title: "@kbn/core-logging-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-server-mocks plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-logging-server-mocks'] --- import kbnCoreLoggingServerMocksObj from './kbn_core_logging_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_metrics_collectors_server_internal.mdx b/api_docs/kbn_core_metrics_collectors_server_internal.mdx index 18e66be6b7a3c..810a343b7461b 100644 --- a/api_docs/kbn_core_metrics_collectors_server_internal.mdx +++ b/api_docs/kbn_core_metrics_collectors_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-collectors-server-internal title: "@kbn/core-metrics-collectors-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-collectors-server-internal plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-metrics-collectors-server-internal'] --- import kbnCoreMetricsCollectorsServerInternalObj from './kbn_core_metrics_collectors_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_metrics_collectors_server_mocks.mdx b/api_docs/kbn_core_metrics_collectors_server_mocks.mdx index 464491aa5691d..8c40f27955804 100644 --- a/api_docs/kbn_core_metrics_collectors_server_mocks.mdx +++ b/api_docs/kbn_core_metrics_collectors_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-collectors-server-mocks title: "@kbn/core-metrics-collectors-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-collectors-server-mocks plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-metrics-collectors-server-mocks'] --- import kbnCoreMetricsCollectorsServerMocksObj from './kbn_core_metrics_collectors_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_metrics_server.mdx b/api_docs/kbn_core_metrics_server.mdx index e01424863afb0..f3e9c49a937ac 100644 --- a/api_docs/kbn_core_metrics_server.mdx +++ b/api_docs/kbn_core_metrics_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-server title: "@kbn/core-metrics-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-server plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-metrics-server'] --- import kbnCoreMetricsServerObj from './kbn_core_metrics_server.devdocs.json'; diff --git a/api_docs/kbn_core_metrics_server_internal.mdx b/api_docs/kbn_core_metrics_server_internal.mdx index ab8dd8c9df904..e1c7058a4f4ae 100644 --- a/api_docs/kbn_core_metrics_server_internal.mdx +++ b/api_docs/kbn_core_metrics_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-server-internal title: "@kbn/core-metrics-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-server-internal plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-metrics-server-internal'] --- import kbnCoreMetricsServerInternalObj from './kbn_core_metrics_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_metrics_server_mocks.mdx b/api_docs/kbn_core_metrics_server_mocks.mdx index 3ec6efa109800..22c66d84ac3df 100644 --- a/api_docs/kbn_core_metrics_server_mocks.mdx +++ b/api_docs/kbn_core_metrics_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-server-mocks title: "@kbn/core-metrics-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-server-mocks plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-metrics-server-mocks'] --- import kbnCoreMetricsServerMocksObj from './kbn_core_metrics_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_mount_utils_browser.mdx b/api_docs/kbn_core_mount_utils_browser.mdx index 61f1267a833b8..718bfce731cfe 100644 --- a/api_docs/kbn_core_mount_utils_browser.mdx +++ b/api_docs/kbn_core_mount_utils_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-mount-utils-browser title: "@kbn/core-mount-utils-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-mount-utils-browser plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-mount-utils-browser'] --- import kbnCoreMountUtilsBrowserObj from './kbn_core_mount_utils_browser.devdocs.json'; diff --git a/api_docs/kbn_core_node_server.mdx b/api_docs/kbn_core_node_server.mdx index 83f6a6541d425..9ec0937bf1905 100644 --- a/api_docs/kbn_core_node_server.mdx +++ b/api_docs/kbn_core_node_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-node-server title: "@kbn/core-node-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-node-server plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-node-server'] --- import kbnCoreNodeServerObj from './kbn_core_node_server.devdocs.json'; diff --git a/api_docs/kbn_core_node_server_internal.mdx b/api_docs/kbn_core_node_server_internal.mdx index 380f12a5efa54..cee7b65b89444 100644 --- a/api_docs/kbn_core_node_server_internal.mdx +++ b/api_docs/kbn_core_node_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-node-server-internal title: "@kbn/core-node-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-node-server-internal plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-node-server-internal'] --- import kbnCoreNodeServerInternalObj from './kbn_core_node_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_node_server_mocks.mdx b/api_docs/kbn_core_node_server_mocks.mdx index 7f2fd98b2ad18..6b2bd77f9b3fe 100644 --- a/api_docs/kbn_core_node_server_mocks.mdx +++ b/api_docs/kbn_core_node_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-node-server-mocks title: "@kbn/core-node-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-node-server-mocks plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-node-server-mocks'] --- import kbnCoreNodeServerMocksObj from './kbn_core_node_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_notifications_browser.mdx b/api_docs/kbn_core_notifications_browser.mdx index 260678120bf7b..3127fe6d8ff23 100644 --- a/api_docs/kbn_core_notifications_browser.mdx +++ b/api_docs/kbn_core_notifications_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-notifications-browser title: "@kbn/core-notifications-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-notifications-browser plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-notifications-browser'] --- import kbnCoreNotificationsBrowserObj from './kbn_core_notifications_browser.devdocs.json'; diff --git a/api_docs/kbn_core_notifications_browser_internal.mdx b/api_docs/kbn_core_notifications_browser_internal.mdx index 19a018e82aa93..ef7133cbd1b37 100644 --- a/api_docs/kbn_core_notifications_browser_internal.mdx +++ b/api_docs/kbn_core_notifications_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-notifications-browser-internal title: "@kbn/core-notifications-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-notifications-browser-internal plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-notifications-browser-internal'] --- import kbnCoreNotificationsBrowserInternalObj from './kbn_core_notifications_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_notifications_browser_mocks.mdx b/api_docs/kbn_core_notifications_browser_mocks.mdx index a37cddaa83ce9..c4d290eb1516f 100644 --- a/api_docs/kbn_core_notifications_browser_mocks.mdx +++ b/api_docs/kbn_core_notifications_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-notifications-browser-mocks title: "@kbn/core-notifications-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-notifications-browser-mocks plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-notifications-browser-mocks'] --- import kbnCoreNotificationsBrowserMocksObj from './kbn_core_notifications_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_overlays_browser.mdx b/api_docs/kbn_core_overlays_browser.mdx index 4e07e307cd3ef..9fdf6edbd23da 100644 --- a/api_docs/kbn_core_overlays_browser.mdx +++ b/api_docs/kbn_core_overlays_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-overlays-browser title: "@kbn/core-overlays-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-overlays-browser plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-overlays-browser'] --- import kbnCoreOverlaysBrowserObj from './kbn_core_overlays_browser.devdocs.json'; diff --git a/api_docs/kbn_core_overlays_browser_internal.mdx b/api_docs/kbn_core_overlays_browser_internal.mdx index ce21d35d70b63..0696d5e5a62ae 100644 --- a/api_docs/kbn_core_overlays_browser_internal.mdx +++ b/api_docs/kbn_core_overlays_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-overlays-browser-internal title: "@kbn/core-overlays-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-overlays-browser-internal plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-overlays-browser-internal'] --- import kbnCoreOverlaysBrowserInternalObj from './kbn_core_overlays_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_overlays_browser_mocks.mdx b/api_docs/kbn_core_overlays_browser_mocks.mdx index 3ffde560b9cb8..fd8b0fab3e3a3 100644 --- a/api_docs/kbn_core_overlays_browser_mocks.mdx +++ b/api_docs/kbn_core_overlays_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-overlays-browser-mocks title: "@kbn/core-overlays-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-overlays-browser-mocks plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-overlays-browser-mocks'] --- import kbnCoreOverlaysBrowserMocksObj from './kbn_core_overlays_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_browser.mdx b/api_docs/kbn_core_plugins_browser.mdx index 394a55506fc30..9820bc7bea9c4 100644 --- a/api_docs/kbn_core_plugins_browser.mdx +++ b/api_docs/kbn_core_plugins_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-browser title: "@kbn/core-plugins-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-browser plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-browser'] --- import kbnCorePluginsBrowserObj from './kbn_core_plugins_browser.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_browser_mocks.mdx b/api_docs/kbn_core_plugins_browser_mocks.mdx index 0f2265927f8e9..9f0dc30d112ae 100644 --- a/api_docs/kbn_core_plugins_browser_mocks.mdx +++ b/api_docs/kbn_core_plugins_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-browser-mocks title: "@kbn/core-plugins-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-browser-mocks plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-browser-mocks'] --- import kbnCorePluginsBrowserMocksObj from './kbn_core_plugins_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_contracts_browser.mdx b/api_docs/kbn_core_plugins_contracts_browser.mdx index 2f74db77bc206..98e7998ef0c9e 100644 --- a/api_docs/kbn_core_plugins_contracts_browser.mdx +++ b/api_docs/kbn_core_plugins_contracts_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-contracts-browser title: "@kbn/core-plugins-contracts-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-contracts-browser plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-contracts-browser'] --- import kbnCorePluginsContractsBrowserObj from './kbn_core_plugins_contracts_browser.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_contracts_server.mdx b/api_docs/kbn_core_plugins_contracts_server.mdx index 36ded0cd67d6c..8bb562d8c18de 100644 --- a/api_docs/kbn_core_plugins_contracts_server.mdx +++ b/api_docs/kbn_core_plugins_contracts_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-contracts-server title: "@kbn/core-plugins-contracts-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-contracts-server plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-contracts-server'] --- import kbnCorePluginsContractsServerObj from './kbn_core_plugins_contracts_server.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_server.mdx b/api_docs/kbn_core_plugins_server.mdx index 568715e2a0baa..aa4635797c2ea 100644 --- a/api_docs/kbn_core_plugins_server.mdx +++ b/api_docs/kbn_core_plugins_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-server title: "@kbn/core-plugins-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-server plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-server'] --- import kbnCorePluginsServerObj from './kbn_core_plugins_server.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_server_mocks.mdx b/api_docs/kbn_core_plugins_server_mocks.mdx index f0ffacb8de493..7118b8c44df41 100644 --- a/api_docs/kbn_core_plugins_server_mocks.mdx +++ b/api_docs/kbn_core_plugins_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-server-mocks title: "@kbn/core-plugins-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-server-mocks plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-server-mocks'] --- import kbnCorePluginsServerMocksObj from './kbn_core_plugins_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_preboot_server.mdx b/api_docs/kbn_core_preboot_server.mdx index ae491b22583cf..cd21b234a5eec 100644 --- a/api_docs/kbn_core_preboot_server.mdx +++ b/api_docs/kbn_core_preboot_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-preboot-server title: "@kbn/core-preboot-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-preboot-server plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-preboot-server'] --- import kbnCorePrebootServerObj from './kbn_core_preboot_server.devdocs.json'; diff --git a/api_docs/kbn_core_preboot_server_mocks.mdx b/api_docs/kbn_core_preboot_server_mocks.mdx index 42345a0163255..17a36d924197b 100644 --- a/api_docs/kbn_core_preboot_server_mocks.mdx +++ b/api_docs/kbn_core_preboot_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-preboot-server-mocks title: "@kbn/core-preboot-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-preboot-server-mocks plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-preboot-server-mocks'] --- import kbnCorePrebootServerMocksObj from './kbn_core_preboot_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_rendering_browser_mocks.mdx b/api_docs/kbn_core_rendering_browser_mocks.mdx index 8880edcde44d2..245862e235295 100644 --- a/api_docs/kbn_core_rendering_browser_mocks.mdx +++ b/api_docs/kbn_core_rendering_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-rendering-browser-mocks title: "@kbn/core-rendering-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-rendering-browser-mocks plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-rendering-browser-mocks'] --- import kbnCoreRenderingBrowserMocksObj from './kbn_core_rendering_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_rendering_server_internal.mdx b/api_docs/kbn_core_rendering_server_internal.mdx index f50b1493d6bc0..945dd557144e0 100644 --- a/api_docs/kbn_core_rendering_server_internal.mdx +++ b/api_docs/kbn_core_rendering_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-rendering-server-internal title: "@kbn/core-rendering-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-rendering-server-internal plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-rendering-server-internal'] --- import kbnCoreRenderingServerInternalObj from './kbn_core_rendering_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_rendering_server_mocks.mdx b/api_docs/kbn_core_rendering_server_mocks.mdx index c602f636b9874..f02d137710f74 100644 --- a/api_docs/kbn_core_rendering_server_mocks.mdx +++ b/api_docs/kbn_core_rendering_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-rendering-server-mocks title: "@kbn/core-rendering-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-rendering-server-mocks plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-rendering-server-mocks'] --- import kbnCoreRenderingServerMocksObj from './kbn_core_rendering_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_root_server_internal.mdx b/api_docs/kbn_core_root_server_internal.mdx index 7cb65d62fa0d1..12b0dd644d3f3 100644 --- a/api_docs/kbn_core_root_server_internal.mdx +++ b/api_docs/kbn_core_root_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-root-server-internal title: "@kbn/core-root-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-root-server-internal plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-root-server-internal'] --- import kbnCoreRootServerInternalObj from './kbn_core_root_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_api_browser.devdocs.json b/api_docs/kbn_core_saved_objects_api_browser.devdocs.json index 80e7b392cbaae..2be72bf65c162 100644 --- a/api_docs/kbn_core_saved_objects_api_browser.devdocs.json +++ b/api_docs/kbn_core_saved_objects_api_browser.devdocs.json @@ -1138,10 +1138,6 @@ "plugin": "savedObjects", "path": "src/plugins/saved_objects/public/saved_object/helpers/save_with_confirmation.test.ts" }, - { - "plugin": "dashboard", - "path": "src/plugins/dashboard/public/dashboard_container/embeddable/api/duplicate_dashboard_panel.test.ts" - }, { "plugin": "@kbn/core-saved-objects-browser-internal", "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.test.ts" @@ -1655,10 +1651,6 @@ "plugin": "savedObjects", "path": "src/plugins/saved_objects/public/saved_object/helpers/find_object_by_title.test.ts" }, - { - "plugin": "dashboard", - "path": "src/plugins/dashboard/public/dashboard_container/embeddable/api/duplicate_dashboard_panel.test.ts" - }, { "plugin": "@kbn/core-saved-objects-browser-internal", "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/saved_objects_client.ts" @@ -1747,10 +1739,6 @@ "plugin": "savedObjects", "path": "src/plugins/saved_objects/public/saved_object/saved_object.test.ts" }, - { - "plugin": "dashboard", - "path": "src/plugins/dashboard/public/dashboard_container/embeddable/api/duplicate_dashboard_panel.test.ts" - }, { "plugin": "@kbn/core-saved-objects-browser-internal", "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/saved_objects_client.ts" diff --git a/api_docs/kbn_core_saved_objects_api_browser.mdx b/api_docs/kbn_core_saved_objects_api_browser.mdx index 9f91e8923304d..06250adf4de0c 100644 --- a/api_docs/kbn_core_saved_objects_api_browser.mdx +++ b/api_docs/kbn_core_saved_objects_api_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-api-browser title: "@kbn/core-saved-objects-api-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-api-browser plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-api-browser'] --- import kbnCoreSavedObjectsApiBrowserObj from './kbn_core_saved_objects_api_browser.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_api_server.mdx b/api_docs/kbn_core_saved_objects_api_server.mdx index 874e3e0bdd0ea..ba39f4b2a3290 100644 --- a/api_docs/kbn_core_saved_objects_api_server.mdx +++ b/api_docs/kbn_core_saved_objects_api_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-api-server title: "@kbn/core-saved-objects-api-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-api-server plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-api-server'] --- import kbnCoreSavedObjectsApiServerObj from './kbn_core_saved_objects_api_server.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_api_server_mocks.mdx b/api_docs/kbn_core_saved_objects_api_server_mocks.mdx index ecffad213e4ff..b62a03d04928c 100644 --- a/api_docs/kbn_core_saved_objects_api_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_api_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-api-server-mocks title: "@kbn/core-saved-objects-api-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-api-server-mocks plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-api-server-mocks'] --- import kbnCoreSavedObjectsApiServerMocksObj from './kbn_core_saved_objects_api_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_base_server_internal.mdx b/api_docs/kbn_core_saved_objects_base_server_internal.mdx index e0cc5522906d0..62039083afc16 100644 --- a/api_docs/kbn_core_saved_objects_base_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_base_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-base-server-internal title: "@kbn/core-saved-objects-base-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-base-server-internal plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-base-server-internal'] --- import kbnCoreSavedObjectsBaseServerInternalObj from './kbn_core_saved_objects_base_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_base_server_mocks.mdx b/api_docs/kbn_core_saved_objects_base_server_mocks.mdx index 0c5b314f1f660..289fe5f77ca99 100644 --- a/api_docs/kbn_core_saved_objects_base_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_base_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-base-server-mocks title: "@kbn/core-saved-objects-base-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-base-server-mocks plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-base-server-mocks'] --- import kbnCoreSavedObjectsBaseServerMocksObj from './kbn_core_saved_objects_base_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_browser.mdx b/api_docs/kbn_core_saved_objects_browser.mdx index 752ecbf87d7e6..f78e854ebc8cc 100644 --- a/api_docs/kbn_core_saved_objects_browser.mdx +++ b/api_docs/kbn_core_saved_objects_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-browser title: "@kbn/core-saved-objects-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-browser plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-browser'] --- import kbnCoreSavedObjectsBrowserObj from './kbn_core_saved_objects_browser.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_browser_internal.mdx b/api_docs/kbn_core_saved_objects_browser_internal.mdx index c433502eed430..ae5ba44f2fa36 100644 --- a/api_docs/kbn_core_saved_objects_browser_internal.mdx +++ b/api_docs/kbn_core_saved_objects_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-browser-internal title: "@kbn/core-saved-objects-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-browser-internal plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-browser-internal'] --- import kbnCoreSavedObjectsBrowserInternalObj from './kbn_core_saved_objects_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_browser_mocks.mdx b/api_docs/kbn_core_saved_objects_browser_mocks.mdx index 35a7a834c69bc..8101446b9081e 100644 --- a/api_docs/kbn_core_saved_objects_browser_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-browser-mocks title: "@kbn/core-saved-objects-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-browser-mocks plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-browser-mocks'] --- import kbnCoreSavedObjectsBrowserMocksObj from './kbn_core_saved_objects_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_common.mdx b/api_docs/kbn_core_saved_objects_common.mdx index 68d6a67769611..bf2dbb29151bc 100644 --- a/api_docs/kbn_core_saved_objects_common.mdx +++ b/api_docs/kbn_core_saved_objects_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-common title: "@kbn/core-saved-objects-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-common plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-common'] --- import kbnCoreSavedObjectsCommonObj from './kbn_core_saved_objects_common.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_import_export_server_internal.mdx b/api_docs/kbn_core_saved_objects_import_export_server_internal.mdx index 4a1337ba6374f..f082ad3f99f19 100644 --- a/api_docs/kbn_core_saved_objects_import_export_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_import_export_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-import-export-server-internal title: "@kbn/core-saved-objects-import-export-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-import-export-server-internal plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-import-export-server-internal'] --- import kbnCoreSavedObjectsImportExportServerInternalObj from './kbn_core_saved_objects_import_export_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx b/api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx index 8e6a4bbac0003..37b23a264ce56 100644 --- a/api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-import-export-server-mocks title: "@kbn/core-saved-objects-import-export-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-import-export-server-mocks plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-import-export-server-mocks'] --- import kbnCoreSavedObjectsImportExportServerMocksObj from './kbn_core_saved_objects_import_export_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_migration_server_internal.devdocs.json b/api_docs/kbn_core_saved_objects_migration_server_internal.devdocs.json index 662dfa093be91..50e1eb4b031c6 100644 --- a/api_docs/kbn_core_saved_objects_migration_server_internal.devdocs.json +++ b/api_docs/kbn_core_saved_objects_migration_server_internal.devdocs.json @@ -917,6 +917,59 @@ "returnComment": [], "initialIsOpen": false }, + { + "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", + "id": "def-common.checkClusterRoutingAllocationEnabled", + "type": "Function", + "tags": [], + "label": "checkClusterRoutingAllocationEnabled", + "description": [], + "signature": [ + "(client: ", + { + "pluginId": "@kbn/core-elasticsearch-server", + "scope": "common", + "docId": "kibKbnCoreElasticsearchServerPluginApi", + "section": "def-common.ElasticsearchClient", + "text": "ElasticsearchClient" + }, + ") => ", + "TaskEither", + "<", + "RetryableEsClientError", + " | ", + "IncompatibleClusterRoutingAllocation", + ", {}>" + ], + "path": "packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/check_cluster_routing_allocation.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", + "id": "def-common.checkClusterRoutingAllocationEnabled.$1", + "type": "Object", + "tags": [], + "label": "client", + "description": [], + "signature": [ + { + "pluginId": "@kbn/core-elasticsearch-server", + "scope": "common", + "docId": "kibKbnCoreElasticsearchServerPluginApi", + "section": "def-common.ElasticsearchClient", + "text": "ElasticsearchClient" + } + ], + "path": "packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/check_cluster_routing_allocation.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", "id": "def-common.checkForUnknownDocs", @@ -1239,49 +1292,6 @@ "returnComment": [], "initialIsOpen": false }, - { - "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-common.initAction", - "type": "Function", - "tags": [], - "label": "initAction", - "description": [], - "signature": [ - "({ client, indices, }: ", - "InitActionParams", - ") => ", - "TaskEither", - "<", - "RetryableEsClientError", - " | ", - "IncompatibleClusterRoutingAllocation", - ", ", - "FetchIndexResponse", - ">" - ], - "path": "packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/initialize_action.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-common.initAction.$1", - "type": "Object", - "tags": [], - "label": "{\n client,\n indices,\n}", - "description": [], - "signature": [ - "InitActionParams" - ], - "path": "packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/initialize_action.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [], - "initialIsOpen": false - }, { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", "id": "def-common.isClusterShardLimitExceeded", diff --git a/api_docs/kbn_core_saved_objects_migration_server_internal.mdx b/api_docs/kbn_core_saved_objects_migration_server_internal.mdx index 80a214f8e8bcc..8aa0653adb621 100644 --- a/api_docs/kbn_core_saved_objects_migration_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_migration_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-migration-server-internal title: "@kbn/core-saved-objects-migration-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-migration-server-internal plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-migration-server-internal'] --- import kbnCoreSavedObjectsMigrationServerInternalObj from './kbn_core_saved_objects_migration_server_internal.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 128 | 0 | 94 | 45 | +| 128 | 0 | 94 | 44 | ## Common diff --git a/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx b/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx index e4c15b37732ab..e3e5275c8f814 100644 --- a/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-migration-server-mocks title: "@kbn/core-saved-objects-migration-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-migration-server-mocks plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-migration-server-mocks'] --- import kbnCoreSavedObjectsMigrationServerMocksObj from './kbn_core_saved_objects_migration_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_server.mdx b/api_docs/kbn_core_saved_objects_server.mdx index 78665054e2d51..3e19dae35b7ce 100644 --- a/api_docs/kbn_core_saved_objects_server.mdx +++ b/api_docs/kbn_core_saved_objects_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-server title: "@kbn/core-saved-objects-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-server plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-server'] --- import kbnCoreSavedObjectsServerObj from './kbn_core_saved_objects_server.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_server_internal.mdx b/api_docs/kbn_core_saved_objects_server_internal.mdx index 98fc56e33289f..0bac400261f5e 100644 --- a/api_docs/kbn_core_saved_objects_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-server-internal title: "@kbn/core-saved-objects-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-server-internal plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-server-internal'] --- import kbnCoreSavedObjectsServerInternalObj from './kbn_core_saved_objects_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_server_mocks.mdx b/api_docs/kbn_core_saved_objects_server_mocks.mdx index 19151bb337527..0d6ba8ceb0482 100644 --- a/api_docs/kbn_core_saved_objects_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-server-mocks title: "@kbn/core-saved-objects-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-server-mocks plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-server-mocks'] --- import kbnCoreSavedObjectsServerMocksObj from './kbn_core_saved_objects_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_utils_server.mdx b/api_docs/kbn_core_saved_objects_utils_server.mdx index ff2d640d3dff1..268c11e16d6dd 100644 --- a/api_docs/kbn_core_saved_objects_utils_server.mdx +++ b/api_docs/kbn_core_saved_objects_utils_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-utils-server title: "@kbn/core-saved-objects-utils-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-utils-server plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-utils-server'] --- import kbnCoreSavedObjectsUtilsServerObj from './kbn_core_saved_objects_utils_server.devdocs.json'; diff --git a/api_docs/kbn_core_security_browser.mdx b/api_docs/kbn_core_security_browser.mdx index 0918bd4435b48..7203112e23d36 100644 --- a/api_docs/kbn_core_security_browser.mdx +++ b/api_docs/kbn_core_security_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-security-browser title: "@kbn/core-security-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-security-browser plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-security-browser'] --- import kbnCoreSecurityBrowserObj from './kbn_core_security_browser.devdocs.json'; diff --git a/api_docs/kbn_core_security_browser_internal.mdx b/api_docs/kbn_core_security_browser_internal.mdx index bb1ed61f82173..f4b85d005f49b 100644 --- a/api_docs/kbn_core_security_browser_internal.mdx +++ b/api_docs/kbn_core_security_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-security-browser-internal title: "@kbn/core-security-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-security-browser-internal plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-security-browser-internal'] --- import kbnCoreSecurityBrowserInternalObj from './kbn_core_security_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_security_browser_mocks.mdx b/api_docs/kbn_core_security_browser_mocks.mdx index 300d673be9d5c..c3f8a7091fd2a 100644 --- a/api_docs/kbn_core_security_browser_mocks.mdx +++ b/api_docs/kbn_core_security_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-security-browser-mocks title: "@kbn/core-security-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-security-browser-mocks plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-security-browser-mocks'] --- import kbnCoreSecurityBrowserMocksObj from './kbn_core_security_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_security_common.mdx b/api_docs/kbn_core_security_common.mdx index 5078e7aac7003..e1263670a70c9 100644 --- a/api_docs/kbn_core_security_common.mdx +++ b/api_docs/kbn_core_security_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-security-common title: "@kbn/core-security-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-security-common plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-security-common'] --- import kbnCoreSecurityCommonObj from './kbn_core_security_common.devdocs.json'; diff --git a/api_docs/kbn_core_security_server.mdx b/api_docs/kbn_core_security_server.mdx index 84c9098187bbb..86211c98120a1 100644 --- a/api_docs/kbn_core_security_server.mdx +++ b/api_docs/kbn_core_security_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-security-server title: "@kbn/core-security-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-security-server plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-security-server'] --- import kbnCoreSecurityServerObj from './kbn_core_security_server.devdocs.json'; diff --git a/api_docs/kbn_core_security_server_internal.mdx b/api_docs/kbn_core_security_server_internal.mdx index 2bd601031c0c3..e141644dd5949 100644 --- a/api_docs/kbn_core_security_server_internal.mdx +++ b/api_docs/kbn_core_security_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-security-server-internal title: "@kbn/core-security-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-security-server-internal plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-security-server-internal'] --- import kbnCoreSecurityServerInternalObj from './kbn_core_security_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_security_server_mocks.mdx b/api_docs/kbn_core_security_server_mocks.mdx index 7c7d458c61b64..fbc8b403fd8ba 100644 --- a/api_docs/kbn_core_security_server_mocks.mdx +++ b/api_docs/kbn_core_security_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-security-server-mocks title: "@kbn/core-security-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-security-server-mocks plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-security-server-mocks'] --- import kbnCoreSecurityServerMocksObj from './kbn_core_security_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_status_common.mdx b/api_docs/kbn_core_status_common.mdx index b2be2d573a383..70dcdc6c9b0cd 100644 --- a/api_docs/kbn_core_status_common.mdx +++ b/api_docs/kbn_core_status_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-common title: "@kbn/core-status-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-common plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-common'] --- import kbnCoreStatusCommonObj from './kbn_core_status_common.devdocs.json'; diff --git a/api_docs/kbn_core_status_common_internal.mdx b/api_docs/kbn_core_status_common_internal.mdx index a4e723953e857..0452b013ffd66 100644 --- a/api_docs/kbn_core_status_common_internal.mdx +++ b/api_docs/kbn_core_status_common_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-common-internal title: "@kbn/core-status-common-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-common-internal plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-common-internal'] --- import kbnCoreStatusCommonInternalObj from './kbn_core_status_common_internal.devdocs.json'; diff --git a/api_docs/kbn_core_status_server.mdx b/api_docs/kbn_core_status_server.mdx index 226d66fd93b4c..d5ddf12a9d825 100644 --- a/api_docs/kbn_core_status_server.mdx +++ b/api_docs/kbn_core_status_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-server title: "@kbn/core-status-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-server plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-server'] --- import kbnCoreStatusServerObj from './kbn_core_status_server.devdocs.json'; diff --git a/api_docs/kbn_core_status_server_internal.mdx b/api_docs/kbn_core_status_server_internal.mdx index fc208bda2f92b..e31a2d2f301e6 100644 --- a/api_docs/kbn_core_status_server_internal.mdx +++ b/api_docs/kbn_core_status_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-server-internal title: "@kbn/core-status-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-server-internal plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-server-internal'] --- import kbnCoreStatusServerInternalObj from './kbn_core_status_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_status_server_mocks.mdx b/api_docs/kbn_core_status_server_mocks.mdx index da52f2f53ee6d..2ff9b833eb708 100644 --- a/api_docs/kbn_core_status_server_mocks.mdx +++ b/api_docs/kbn_core_status_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-server-mocks title: "@kbn/core-status-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-server-mocks plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-server-mocks'] --- import kbnCoreStatusServerMocksObj from './kbn_core_status_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_deprecations_getters.mdx b/api_docs/kbn_core_test_helpers_deprecations_getters.mdx index 57d54bc469e26..93979619c2c04 100644 --- a/api_docs/kbn_core_test_helpers_deprecations_getters.mdx +++ b/api_docs/kbn_core_test_helpers_deprecations_getters.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-deprecations-getters title: "@kbn/core-test-helpers-deprecations-getters" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-deprecations-getters plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-deprecations-getters'] --- import kbnCoreTestHelpersDeprecationsGettersObj from './kbn_core_test_helpers_deprecations_getters.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_http_setup_browser.mdx b/api_docs/kbn_core_test_helpers_http_setup_browser.mdx index 7dbb268d367bc..3508c581c292b 100644 --- a/api_docs/kbn_core_test_helpers_http_setup_browser.mdx +++ b/api_docs/kbn_core_test_helpers_http_setup_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-http-setup-browser title: "@kbn/core-test-helpers-http-setup-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-http-setup-browser plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-http-setup-browser'] --- import kbnCoreTestHelpersHttpSetupBrowserObj from './kbn_core_test_helpers_http_setup_browser.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_kbn_server.mdx b/api_docs/kbn_core_test_helpers_kbn_server.mdx index 1bceadbf6500e..1bc568449ba25 100644 --- a/api_docs/kbn_core_test_helpers_kbn_server.mdx +++ b/api_docs/kbn_core_test_helpers_kbn_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-kbn-server title: "@kbn/core-test-helpers-kbn-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-kbn-server plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-kbn-server'] --- import kbnCoreTestHelpersKbnServerObj from './kbn_core_test_helpers_kbn_server.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_model_versions.mdx b/api_docs/kbn_core_test_helpers_model_versions.mdx index 80dfcec841e4f..f60980c88264d 100644 --- a/api_docs/kbn_core_test_helpers_model_versions.mdx +++ b/api_docs/kbn_core_test_helpers_model_versions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-model-versions title: "@kbn/core-test-helpers-model-versions" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-model-versions plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-model-versions'] --- import kbnCoreTestHelpersModelVersionsObj from './kbn_core_test_helpers_model_versions.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_so_type_serializer.mdx b/api_docs/kbn_core_test_helpers_so_type_serializer.mdx index b5397439e4a13..0dfcee81f8645 100644 --- a/api_docs/kbn_core_test_helpers_so_type_serializer.mdx +++ b/api_docs/kbn_core_test_helpers_so_type_serializer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-so-type-serializer title: "@kbn/core-test-helpers-so-type-serializer" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-so-type-serializer plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-so-type-serializer'] --- import kbnCoreTestHelpersSoTypeSerializerObj from './kbn_core_test_helpers_so_type_serializer.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_test_utils.mdx b/api_docs/kbn_core_test_helpers_test_utils.mdx index 08ee975d23ec6..6d5c22d930f32 100644 --- a/api_docs/kbn_core_test_helpers_test_utils.mdx +++ b/api_docs/kbn_core_test_helpers_test_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-test-utils title: "@kbn/core-test-helpers-test-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-test-utils plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-test-utils'] --- import kbnCoreTestHelpersTestUtilsObj from './kbn_core_test_helpers_test_utils.devdocs.json'; diff --git a/api_docs/kbn_core_theme_browser.mdx b/api_docs/kbn_core_theme_browser.mdx index 3a8b9886f7f8a..b22bcc2bb196b 100644 --- a/api_docs/kbn_core_theme_browser.mdx +++ b/api_docs/kbn_core_theme_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-theme-browser title: "@kbn/core-theme-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-theme-browser plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-theme-browser'] --- import kbnCoreThemeBrowserObj from './kbn_core_theme_browser.devdocs.json'; diff --git a/api_docs/kbn_core_theme_browser_mocks.mdx b/api_docs/kbn_core_theme_browser_mocks.mdx index 888ce7638b70b..4d7baef88f28d 100644 --- a/api_docs/kbn_core_theme_browser_mocks.mdx +++ b/api_docs/kbn_core_theme_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-theme-browser-mocks title: "@kbn/core-theme-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-theme-browser-mocks plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-theme-browser-mocks'] --- import kbnCoreThemeBrowserMocksObj from './kbn_core_theme_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_browser.mdx b/api_docs/kbn_core_ui_settings_browser.mdx index d2fe1dfd87a1b..f205041a3e9a5 100644 --- a/api_docs/kbn_core_ui_settings_browser.mdx +++ b/api_docs/kbn_core_ui_settings_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-browser title: "@kbn/core-ui-settings-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-browser plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-browser'] --- import kbnCoreUiSettingsBrowserObj from './kbn_core_ui_settings_browser.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_browser_internal.mdx b/api_docs/kbn_core_ui_settings_browser_internal.mdx index a80cfcb497d84..04589c1d276f4 100644 --- a/api_docs/kbn_core_ui_settings_browser_internal.mdx +++ b/api_docs/kbn_core_ui_settings_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-browser-internal title: "@kbn/core-ui-settings-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-browser-internal plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-browser-internal'] --- import kbnCoreUiSettingsBrowserInternalObj from './kbn_core_ui_settings_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_browser_mocks.mdx b/api_docs/kbn_core_ui_settings_browser_mocks.mdx index 2f7cad133b4cd..67f6488b67dd2 100644 --- a/api_docs/kbn_core_ui_settings_browser_mocks.mdx +++ b/api_docs/kbn_core_ui_settings_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-browser-mocks title: "@kbn/core-ui-settings-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-browser-mocks plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-browser-mocks'] --- import kbnCoreUiSettingsBrowserMocksObj from './kbn_core_ui_settings_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_common.mdx b/api_docs/kbn_core_ui_settings_common.mdx index fd3819d87139b..0920151d6dc5d 100644 --- a/api_docs/kbn_core_ui_settings_common.mdx +++ b/api_docs/kbn_core_ui_settings_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-common title: "@kbn/core-ui-settings-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-common plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-common'] --- import kbnCoreUiSettingsCommonObj from './kbn_core_ui_settings_common.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_server.mdx b/api_docs/kbn_core_ui_settings_server.mdx index 776cd00c33ba9..f092df33ae545 100644 --- a/api_docs/kbn_core_ui_settings_server.mdx +++ b/api_docs/kbn_core_ui_settings_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-server title: "@kbn/core-ui-settings-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-server plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-server'] --- import kbnCoreUiSettingsServerObj from './kbn_core_ui_settings_server.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_server_internal.mdx b/api_docs/kbn_core_ui_settings_server_internal.mdx index 66a0252c0743c..531be118f237f 100644 --- a/api_docs/kbn_core_ui_settings_server_internal.mdx +++ b/api_docs/kbn_core_ui_settings_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-server-internal title: "@kbn/core-ui-settings-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-server-internal plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-server-internal'] --- import kbnCoreUiSettingsServerInternalObj from './kbn_core_ui_settings_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_server_mocks.mdx b/api_docs/kbn_core_ui_settings_server_mocks.mdx index 44ffdbee19eed..a9d59ef77e7de 100644 --- a/api_docs/kbn_core_ui_settings_server_mocks.mdx +++ b/api_docs/kbn_core_ui_settings_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-server-mocks title: "@kbn/core-ui-settings-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-server-mocks plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-server-mocks'] --- import kbnCoreUiSettingsServerMocksObj from './kbn_core_ui_settings_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_usage_data_server.mdx b/api_docs/kbn_core_usage_data_server.mdx index 8c86d7d90a81d..0290881282da7 100644 --- a/api_docs/kbn_core_usage_data_server.mdx +++ b/api_docs/kbn_core_usage_data_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-usage-data-server title: "@kbn/core-usage-data-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-usage-data-server plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-usage-data-server'] --- import kbnCoreUsageDataServerObj from './kbn_core_usage_data_server.devdocs.json'; diff --git a/api_docs/kbn_core_usage_data_server_internal.mdx b/api_docs/kbn_core_usage_data_server_internal.mdx index 167711a91f528..8cdb56706fc9e 100644 --- a/api_docs/kbn_core_usage_data_server_internal.mdx +++ b/api_docs/kbn_core_usage_data_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-usage-data-server-internal title: "@kbn/core-usage-data-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-usage-data-server-internal plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-usage-data-server-internal'] --- import kbnCoreUsageDataServerInternalObj from './kbn_core_usage_data_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_usage_data_server_mocks.mdx b/api_docs/kbn_core_usage_data_server_mocks.mdx index 91b5b01cc15bf..318bf7aba61a5 100644 --- a/api_docs/kbn_core_usage_data_server_mocks.mdx +++ b/api_docs/kbn_core_usage_data_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-usage-data-server-mocks title: "@kbn/core-usage-data-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-usage-data-server-mocks plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-usage-data-server-mocks'] --- import kbnCoreUsageDataServerMocksObj from './kbn_core_usage_data_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_user_profile_browser.mdx b/api_docs/kbn_core_user_profile_browser.mdx index eb95315c988d1..8a1c7f03d8bd3 100644 --- a/api_docs/kbn_core_user_profile_browser.mdx +++ b/api_docs/kbn_core_user_profile_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-profile-browser title: "@kbn/core-user-profile-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-user-profile-browser plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-profile-browser'] --- import kbnCoreUserProfileBrowserObj from './kbn_core_user_profile_browser.devdocs.json'; diff --git a/api_docs/kbn_core_user_profile_browser_internal.mdx b/api_docs/kbn_core_user_profile_browser_internal.mdx index c843246a61a82..c18196c6902cb 100644 --- a/api_docs/kbn_core_user_profile_browser_internal.mdx +++ b/api_docs/kbn_core_user_profile_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-profile-browser-internal title: "@kbn/core-user-profile-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-user-profile-browser-internal plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-profile-browser-internal'] --- import kbnCoreUserProfileBrowserInternalObj from './kbn_core_user_profile_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_user_profile_browser_mocks.mdx b/api_docs/kbn_core_user_profile_browser_mocks.mdx index befa003474b26..82afdf578bd09 100644 --- a/api_docs/kbn_core_user_profile_browser_mocks.mdx +++ b/api_docs/kbn_core_user_profile_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-profile-browser-mocks title: "@kbn/core-user-profile-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-user-profile-browser-mocks plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-profile-browser-mocks'] --- import kbnCoreUserProfileBrowserMocksObj from './kbn_core_user_profile_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_user_profile_common.mdx b/api_docs/kbn_core_user_profile_common.mdx index f66ad47be6122..b577ed26397a2 100644 --- a/api_docs/kbn_core_user_profile_common.mdx +++ b/api_docs/kbn_core_user_profile_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-profile-common title: "@kbn/core-user-profile-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-user-profile-common plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-profile-common'] --- import kbnCoreUserProfileCommonObj from './kbn_core_user_profile_common.devdocs.json'; diff --git a/api_docs/kbn_core_user_profile_server.mdx b/api_docs/kbn_core_user_profile_server.mdx index 0e15c25f306cb..1b089bfa8cafc 100644 --- a/api_docs/kbn_core_user_profile_server.mdx +++ b/api_docs/kbn_core_user_profile_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-profile-server title: "@kbn/core-user-profile-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-user-profile-server plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-profile-server'] --- import kbnCoreUserProfileServerObj from './kbn_core_user_profile_server.devdocs.json'; diff --git a/api_docs/kbn_core_user_profile_server_internal.mdx b/api_docs/kbn_core_user_profile_server_internal.mdx index 41d57e14eb86d..5b53b417bf26b 100644 --- a/api_docs/kbn_core_user_profile_server_internal.mdx +++ b/api_docs/kbn_core_user_profile_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-profile-server-internal title: "@kbn/core-user-profile-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-user-profile-server-internal plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-profile-server-internal'] --- import kbnCoreUserProfileServerInternalObj from './kbn_core_user_profile_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_user_profile_server_mocks.mdx b/api_docs/kbn_core_user_profile_server_mocks.mdx index b86eb701b873f..a85e27cb7d764 100644 --- a/api_docs/kbn_core_user_profile_server_mocks.mdx +++ b/api_docs/kbn_core_user_profile_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-profile-server-mocks title: "@kbn/core-user-profile-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-user-profile-server-mocks plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-profile-server-mocks'] --- import kbnCoreUserProfileServerMocksObj from './kbn_core_user_profile_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_user_settings_server.mdx b/api_docs/kbn_core_user_settings_server.mdx index 795d69dbb69e3..52619918eaef0 100644 --- a/api_docs/kbn_core_user_settings_server.mdx +++ b/api_docs/kbn_core_user_settings_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-settings-server title: "@kbn/core-user-settings-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-user-settings-server plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-settings-server'] --- import kbnCoreUserSettingsServerObj from './kbn_core_user_settings_server.devdocs.json'; diff --git a/api_docs/kbn_core_user_settings_server_mocks.mdx b/api_docs/kbn_core_user_settings_server_mocks.mdx index a3aa62ecb7342..432c966af62ea 100644 --- a/api_docs/kbn_core_user_settings_server_mocks.mdx +++ b/api_docs/kbn_core_user_settings_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-settings-server-mocks title: "@kbn/core-user-settings-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-user-settings-server-mocks plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-settings-server-mocks'] --- import kbnCoreUserSettingsServerMocksObj from './kbn_core_user_settings_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_crypto.mdx b/api_docs/kbn_crypto.mdx index 0738623f9c4cd..c8a6a46e7d83e 100644 --- a/api_docs/kbn_crypto.mdx +++ b/api_docs/kbn_crypto.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-crypto title: "@kbn/crypto" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/crypto plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/crypto'] --- import kbnCryptoObj from './kbn_crypto.devdocs.json'; diff --git a/api_docs/kbn_crypto_browser.mdx b/api_docs/kbn_crypto_browser.mdx index a222beae12053..ca8bee73cc031 100644 --- a/api_docs/kbn_crypto_browser.mdx +++ b/api_docs/kbn_crypto_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-crypto-browser title: "@kbn/crypto-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/crypto-browser plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/crypto-browser'] --- import kbnCryptoBrowserObj from './kbn_crypto_browser.devdocs.json'; diff --git a/api_docs/kbn_custom_icons.mdx b/api_docs/kbn_custom_icons.mdx index 6bb317fa407d4..374f4a9dea065 100644 --- a/api_docs/kbn_custom_icons.mdx +++ b/api_docs/kbn_custom_icons.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-custom-icons title: "@kbn/custom-icons" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/custom-icons plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/custom-icons'] --- import kbnCustomIconsObj from './kbn_custom_icons.devdocs.json'; diff --git a/api_docs/kbn_custom_integrations.mdx b/api_docs/kbn_custom_integrations.mdx index 368d1d7209818..00122c792eefa 100644 --- a/api_docs/kbn_custom_integrations.mdx +++ b/api_docs/kbn_custom_integrations.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-custom-integrations title: "@kbn/custom-integrations" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/custom-integrations plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/custom-integrations'] --- import kbnCustomIntegrationsObj from './kbn_custom_integrations.devdocs.json'; diff --git a/api_docs/kbn_cypress_config.mdx b/api_docs/kbn_cypress_config.mdx index e3da1a3651de5..cc566495d95f6 100644 --- a/api_docs/kbn_cypress_config.mdx +++ b/api_docs/kbn_cypress_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cypress-config title: "@kbn/cypress-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cypress-config plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cypress-config'] --- import kbnCypressConfigObj from './kbn_cypress_config.devdocs.json'; diff --git a/api_docs/kbn_data_forge.mdx b/api_docs/kbn_data_forge.mdx index aef3c64f67757..b8203d8fcc707 100644 --- a/api_docs/kbn_data_forge.mdx +++ b/api_docs/kbn_data_forge.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-data-forge title: "@kbn/data-forge" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/data-forge plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/data-forge'] --- import kbnDataForgeObj from './kbn_data_forge.devdocs.json'; diff --git a/api_docs/kbn_data_service.mdx b/api_docs/kbn_data_service.mdx index 932436e20308e..8d32dd7694202 100644 --- a/api_docs/kbn_data_service.mdx +++ b/api_docs/kbn_data_service.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-data-service title: "@kbn/data-service" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/data-service plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/data-service'] --- import kbnDataServiceObj from './kbn_data_service.devdocs.json'; diff --git a/api_docs/kbn_data_stream_adapter.mdx b/api_docs/kbn_data_stream_adapter.mdx index 50998407ddbfe..b610737061c13 100644 --- a/api_docs/kbn_data_stream_adapter.mdx +++ b/api_docs/kbn_data_stream_adapter.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-data-stream-adapter title: "@kbn/data-stream-adapter" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/data-stream-adapter plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/data-stream-adapter'] --- import kbnDataStreamAdapterObj from './kbn_data_stream_adapter.devdocs.json'; diff --git a/api_docs/kbn_data_view_utils.mdx b/api_docs/kbn_data_view_utils.mdx index e03b8bc0f9617..d9ec3757ea6d3 100644 --- a/api_docs/kbn_data_view_utils.mdx +++ b/api_docs/kbn_data_view_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-data-view-utils title: "@kbn/data-view-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/data-view-utils plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/data-view-utils'] --- import kbnDataViewUtilsObj from './kbn_data_view_utils.devdocs.json'; diff --git a/api_docs/kbn_datemath.mdx b/api_docs/kbn_datemath.mdx index e90b3a3e04981..f446a6c4a2cd9 100644 --- a/api_docs/kbn_datemath.mdx +++ b/api_docs/kbn_datemath.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-datemath title: "@kbn/datemath" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/datemath plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/datemath'] --- import kbnDatemathObj from './kbn_datemath.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_analytics.mdx b/api_docs/kbn_deeplinks_analytics.mdx index 3db3b8868e8a1..139ca71bd5a8b 100644 --- a/api_docs/kbn_deeplinks_analytics.mdx +++ b/api_docs/kbn_deeplinks_analytics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-analytics title: "@kbn/deeplinks-analytics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-analytics plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-analytics'] --- import kbnDeeplinksAnalyticsObj from './kbn_deeplinks_analytics.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_devtools.mdx b/api_docs/kbn_deeplinks_devtools.mdx index 08891eda96b5f..05a9b90df09f4 100644 --- a/api_docs/kbn_deeplinks_devtools.mdx +++ b/api_docs/kbn_deeplinks_devtools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-devtools title: "@kbn/deeplinks-devtools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-devtools plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-devtools'] --- import kbnDeeplinksDevtoolsObj from './kbn_deeplinks_devtools.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_fleet.mdx b/api_docs/kbn_deeplinks_fleet.mdx index 2b6f29f578e49..4112ac7daef6f 100644 --- a/api_docs/kbn_deeplinks_fleet.mdx +++ b/api_docs/kbn_deeplinks_fleet.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-fleet title: "@kbn/deeplinks-fleet" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-fleet plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-fleet'] --- import kbnDeeplinksFleetObj from './kbn_deeplinks_fleet.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_management.mdx b/api_docs/kbn_deeplinks_management.mdx index 31971c1739ba7..fb3b6b8ee8d47 100644 --- a/api_docs/kbn_deeplinks_management.mdx +++ b/api_docs/kbn_deeplinks_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-management title: "@kbn/deeplinks-management" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-management plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-management'] --- import kbnDeeplinksManagementObj from './kbn_deeplinks_management.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_ml.mdx b/api_docs/kbn_deeplinks_ml.mdx index 7a2fe8066cfa9..f248e6c882fdb 100644 --- a/api_docs/kbn_deeplinks_ml.mdx +++ b/api_docs/kbn_deeplinks_ml.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-ml title: "@kbn/deeplinks-ml" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-ml plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-ml'] --- import kbnDeeplinksMlObj from './kbn_deeplinks_ml.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_observability.mdx b/api_docs/kbn_deeplinks_observability.mdx index 672f113f92ac8..e8dcf202668dc 100644 --- a/api_docs/kbn_deeplinks_observability.mdx +++ b/api_docs/kbn_deeplinks_observability.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-observability title: "@kbn/deeplinks-observability" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-observability plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-observability'] --- import kbnDeeplinksObservabilityObj from './kbn_deeplinks_observability.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_search.devdocs.json b/api_docs/kbn_deeplinks_search.devdocs.json index d1c71948b3f00..312aad5a35d80 100644 --- a/api_docs/kbn_deeplinks_search.devdocs.json +++ b/api_docs/kbn_deeplinks_search.devdocs.json @@ -30,7 +30,7 @@ "label": "DeepLinkId", "description": [], "signature": [ - "\"appSearch\" | \"enterpriseSearch\" | \"enterpriseSearchContent\" | \"enterpriseSearchApplications\" | \"enterpriseSearchAnalytics\" | \"workplaceSearch\" | \"serverlessElasticsearch\" | \"serverlessConnectors\" | \"searchPlayground\" | \"searchInferenceEndpoints\" | \"enterpriseSearchContent:connectors\" | \"enterpriseSearchContent:searchIndices\" | \"enterpriseSearchContent:webCrawlers\" | \"enterpriseSearchApplications:searchApplications\" | \"enterpriseSearchApplications:playground\" | \"appSearch:engines\"" + "\"appSearch\" | \"enterpriseSearch\" | \"enterpriseSearchContent\" | \"enterpriseSearchApplications\" | \"enterpriseSearchAnalytics\" | \"workplaceSearch\" | \"serverlessElasticsearch\" | \"serverlessConnectors\" | \"searchPlayground\" | \"searchInferenceEndpoints\" | \"searchHomepage\" | \"enterpriseSearchContent:connectors\" | \"enterpriseSearchContent:searchIndices\" | \"enterpriseSearchContent:webCrawlers\" | \"enterpriseSearchApplications:searchApplications\" | \"enterpriseSearchApplications:playground\" | \"appSearch:engines\"" ], "path": "packages/deeplinks/search/deep_links.ts", "deprecated": false, diff --git a/api_docs/kbn_deeplinks_search.mdx b/api_docs/kbn_deeplinks_search.mdx index 43a1345190c31..bd9d910b21641 100644 --- a/api_docs/kbn_deeplinks_search.mdx +++ b/api_docs/kbn_deeplinks_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-search title: "@kbn/deeplinks-search" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-search plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-search'] --- import kbnDeeplinksSearchObj from './kbn_deeplinks_search.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_security.mdx b/api_docs/kbn_deeplinks_security.mdx index 1eb07631bd8ae..c6e3a9887d3e0 100644 --- a/api_docs/kbn_deeplinks_security.mdx +++ b/api_docs/kbn_deeplinks_security.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-security title: "@kbn/deeplinks-security" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-security plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-security'] --- import kbnDeeplinksSecurityObj from './kbn_deeplinks_security.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_shared.mdx b/api_docs/kbn_deeplinks_shared.mdx index c79f2f054e5e6..e40093c02c5be 100644 --- a/api_docs/kbn_deeplinks_shared.mdx +++ b/api_docs/kbn_deeplinks_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-shared title: "@kbn/deeplinks-shared" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-shared plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-shared'] --- import kbnDeeplinksSharedObj from './kbn_deeplinks_shared.devdocs.json'; diff --git a/api_docs/kbn_default_nav_analytics.mdx b/api_docs/kbn_default_nav_analytics.mdx index 4cc118f0038c3..2a56d793e2e5d 100644 --- a/api_docs/kbn_default_nav_analytics.mdx +++ b/api_docs/kbn_default_nav_analytics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-analytics title: "@kbn/default-nav-analytics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-analytics plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/default-nav-analytics'] --- import kbnDefaultNavAnalyticsObj from './kbn_default_nav_analytics.devdocs.json'; diff --git a/api_docs/kbn_default_nav_devtools.mdx b/api_docs/kbn_default_nav_devtools.mdx index 4e4c7a5e1cbbe..228702772471b 100644 --- a/api_docs/kbn_default_nav_devtools.mdx +++ b/api_docs/kbn_default_nav_devtools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-devtools title: "@kbn/default-nav-devtools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-devtools plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/default-nav-devtools'] --- import kbnDefaultNavDevtoolsObj from './kbn_default_nav_devtools.devdocs.json'; diff --git a/api_docs/kbn_default_nav_management.mdx b/api_docs/kbn_default_nav_management.mdx index 752e3fdbd17ed..d4b11b1e6ec66 100644 --- a/api_docs/kbn_default_nav_management.mdx +++ b/api_docs/kbn_default_nav_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-management title: "@kbn/default-nav-management" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-management plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/default-nav-management'] --- import kbnDefaultNavManagementObj from './kbn_default_nav_management.devdocs.json'; diff --git a/api_docs/kbn_default_nav_ml.mdx b/api_docs/kbn_default_nav_ml.mdx index 0619209c5133d..a78c1d35a688e 100644 --- a/api_docs/kbn_default_nav_ml.mdx +++ b/api_docs/kbn_default_nav_ml.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-ml title: "@kbn/default-nav-ml" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-ml plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/default-nav-ml'] --- import kbnDefaultNavMlObj from './kbn_default_nav_ml.devdocs.json'; diff --git a/api_docs/kbn_dev_cli_errors.mdx b/api_docs/kbn_dev_cli_errors.mdx index 6dcc7055b3f00..2dcac0cf899cd 100644 --- a/api_docs/kbn_dev_cli_errors.mdx +++ b/api_docs/kbn_dev_cli_errors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-cli-errors title: "@kbn/dev-cli-errors" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-cli-errors plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dev-cli-errors'] --- import kbnDevCliErrorsObj from './kbn_dev_cli_errors.devdocs.json'; diff --git a/api_docs/kbn_dev_cli_runner.mdx b/api_docs/kbn_dev_cli_runner.mdx index 5382194ebec16..92cbfaf978301 100644 --- a/api_docs/kbn_dev_cli_runner.mdx +++ b/api_docs/kbn_dev_cli_runner.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-cli-runner title: "@kbn/dev-cli-runner" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-cli-runner plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dev-cli-runner'] --- import kbnDevCliRunnerObj from './kbn_dev_cli_runner.devdocs.json'; diff --git a/api_docs/kbn_dev_proc_runner.mdx b/api_docs/kbn_dev_proc_runner.mdx index 99148ba4dc8fd..904b3972e5568 100644 --- a/api_docs/kbn_dev_proc_runner.mdx +++ b/api_docs/kbn_dev_proc_runner.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-proc-runner title: "@kbn/dev-proc-runner" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-proc-runner plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dev-proc-runner'] --- import kbnDevProcRunnerObj from './kbn_dev_proc_runner.devdocs.json'; diff --git a/api_docs/kbn_dev_utils.mdx b/api_docs/kbn_dev_utils.mdx index f5414936849fc..9527fd8d8686c 100644 --- a/api_docs/kbn_dev_utils.mdx +++ b/api_docs/kbn_dev_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-utils title: "@kbn/dev-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-utils plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dev-utils'] --- import kbnDevUtilsObj from './kbn_dev_utils.devdocs.json'; diff --git a/api_docs/kbn_discover_utils.mdx b/api_docs/kbn_discover_utils.mdx index 100bd04b1e3aa..1d14dc97f50f3 100644 --- a/api_docs/kbn_discover_utils.mdx +++ b/api_docs/kbn_discover_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-discover-utils title: "@kbn/discover-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/discover-utils plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/discover-utils'] --- import kbnDiscoverUtilsObj from './kbn_discover_utils.devdocs.json'; diff --git a/api_docs/kbn_doc_links.mdx b/api_docs/kbn_doc_links.mdx index 949b00b86eed2..cd122bc431b8d 100644 --- a/api_docs/kbn_doc_links.mdx +++ b/api_docs/kbn_doc_links.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-doc-links title: "@kbn/doc-links" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/doc-links plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/doc-links'] --- import kbnDocLinksObj from './kbn_doc_links.devdocs.json'; diff --git a/api_docs/kbn_docs_utils.mdx b/api_docs/kbn_docs_utils.mdx index b709c1656cde5..9817d005951e3 100644 --- a/api_docs/kbn_docs_utils.mdx +++ b/api_docs/kbn_docs_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-docs-utils title: "@kbn/docs-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/docs-utils plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/docs-utils'] --- import kbnDocsUtilsObj from './kbn_docs_utils.devdocs.json'; diff --git a/api_docs/kbn_dom_drag_drop.mdx b/api_docs/kbn_dom_drag_drop.mdx index 20f8a3b4caecd..4bc73b5211cda 100644 --- a/api_docs/kbn_dom_drag_drop.mdx +++ b/api_docs/kbn_dom_drag_drop.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dom-drag-drop title: "@kbn/dom-drag-drop" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dom-drag-drop plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dom-drag-drop'] --- import kbnDomDragDropObj from './kbn_dom_drag_drop.devdocs.json'; diff --git a/api_docs/kbn_ebt.mdx b/api_docs/kbn_ebt.mdx index eff48712195b2..ead2efcabe843 100644 --- a/api_docs/kbn_ebt.mdx +++ b/api_docs/kbn_ebt.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ebt title: "@kbn/ebt" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ebt plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ebt'] --- import kbnEbtObj from './kbn_ebt.devdocs.json'; diff --git a/api_docs/kbn_ebt_tools.mdx b/api_docs/kbn_ebt_tools.mdx index ecb6ea6043d71..b65bdfd8df270 100644 --- a/api_docs/kbn_ebt_tools.mdx +++ b/api_docs/kbn_ebt_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ebt-tools title: "@kbn/ebt-tools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ebt-tools plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ebt-tools'] --- import kbnEbtToolsObj from './kbn_ebt_tools.devdocs.json'; diff --git a/api_docs/kbn_ecs_data_quality_dashboard.mdx b/api_docs/kbn_ecs_data_quality_dashboard.mdx index 3966867b26154..0c5d273525804 100644 --- a/api_docs/kbn_ecs_data_quality_dashboard.mdx +++ b/api_docs/kbn_ecs_data_quality_dashboard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ecs-data-quality-dashboard title: "@kbn/ecs-data-quality-dashboard" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ecs-data-quality-dashboard plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ecs-data-quality-dashboard'] --- import kbnEcsDataQualityDashboardObj from './kbn_ecs_data_quality_dashboard.devdocs.json'; diff --git a/api_docs/kbn_elastic_agent_utils.mdx b/api_docs/kbn_elastic_agent_utils.mdx index bc3aade98a916..c4d6178f14827 100644 --- a/api_docs/kbn_elastic_agent_utils.mdx +++ b/api_docs/kbn_elastic_agent_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-elastic-agent-utils title: "@kbn/elastic-agent-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/elastic-agent-utils plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/elastic-agent-utils'] --- import kbnElasticAgentUtilsObj from './kbn_elastic_agent_utils.devdocs.json'; diff --git a/api_docs/kbn_elastic_assistant.mdx b/api_docs/kbn_elastic_assistant.mdx index 376443426f3db..9ed4562401a05 100644 --- a/api_docs/kbn_elastic_assistant.mdx +++ b/api_docs/kbn_elastic_assistant.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-elastic-assistant title: "@kbn/elastic-assistant" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/elastic-assistant plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/elastic-assistant'] --- import kbnElasticAssistantObj from './kbn_elastic_assistant.devdocs.json'; diff --git a/api_docs/kbn_elastic_assistant_common.mdx b/api_docs/kbn_elastic_assistant_common.mdx index 8c2dc5cdf2b7c..0addeee0c576e 100644 --- a/api_docs/kbn_elastic_assistant_common.mdx +++ b/api_docs/kbn_elastic_assistant_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-elastic-assistant-common title: "@kbn/elastic-assistant-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/elastic-assistant-common plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/elastic-assistant-common'] --- import kbnElasticAssistantCommonObj from './kbn_elastic_assistant_common.devdocs.json'; diff --git a/api_docs/kbn_entities_schema.mdx b/api_docs/kbn_entities_schema.mdx index 68ab25caaed79..9423efdf38f4c 100644 --- a/api_docs/kbn_entities_schema.mdx +++ b/api_docs/kbn_entities_schema.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-entities-schema title: "@kbn/entities-schema" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/entities-schema plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/entities-schema'] --- import kbnEntitiesSchemaObj from './kbn_entities_schema.devdocs.json'; diff --git a/api_docs/kbn_es.mdx b/api_docs/kbn_es.mdx index 1065242e2ce20..6050d6420cbb2 100644 --- a/api_docs/kbn_es.mdx +++ b/api_docs/kbn_es.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es title: "@kbn/es" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es'] --- import kbnEsObj from './kbn_es.devdocs.json'; diff --git a/api_docs/kbn_es_archiver.mdx b/api_docs/kbn_es_archiver.mdx index 534d4fed39a36..504c64c2ebd65 100644 --- a/api_docs/kbn_es_archiver.mdx +++ b/api_docs/kbn_es_archiver.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-archiver title: "@kbn/es-archiver" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-archiver plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es-archiver'] --- import kbnEsArchiverObj from './kbn_es_archiver.devdocs.json'; diff --git a/api_docs/kbn_es_errors.devdocs.json b/api_docs/kbn_es_errors.devdocs.json index bd462d4562282..9a2e2ceb6908d 100644 --- a/api_docs/kbn_es_errors.devdocs.json +++ b/api_docs/kbn_es_errors.devdocs.json @@ -19,6 +19,74 @@ "common": { "classes": [], "functions": [ + { + "parentPluginId": "@kbn/es-errors", + "id": "def-common.isMaximumResponseSizeExceededError", + "type": "Function", + "tags": [], + "label": "isMaximumResponseSizeExceededError", + "description": [], + "signature": [ + "(error: unknown) => boolean" + ], + "path": "packages/kbn-es-errors/src/errors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/es-errors", + "id": "def-common.isMaximumResponseSizeExceededError.$1", + "type": "Unknown", + "tags": [], + "label": "error", + "description": [], + "signature": [ + "unknown" + ], + "path": "packages/kbn-es-errors/src/errors.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/es-errors", + "id": "def-common.isRequestAbortedError", + "type": "Function", + "tags": [], + "label": "isRequestAbortedError", + "description": [ + "\nChecks if the provided `error` is an {@link errors.RequestAbortedError | elasticsearch request aborted error}" + ], + "signature": [ + "(error: unknown) => boolean" + ], + "path": "packages/kbn-es-errors/src/errors.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/es-errors", + "id": "def-common.isRequestAbortedError.$1", + "type": "Unknown", + "tags": [], + "label": "error", + "description": [], + "signature": [ + "unknown" + ], + "path": "packages/kbn-es-errors/src/errors.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, { "parentPluginId": "@kbn/es-errors", "id": "def-common.isResponseError", diff --git a/api_docs/kbn_es_errors.mdx b/api_docs/kbn_es_errors.mdx index 4900cf0b98c7c..9311198fc5075 100644 --- a/api_docs/kbn_es_errors.mdx +++ b/api_docs/kbn_es_errors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-errors title: "@kbn/es-errors" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-errors plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es-errors'] --- import kbnEsErrorsObj from './kbn_es_errors.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 7 | 0 | 3 | 0 | +| 11 | 0 | 6 | 0 | ## Common diff --git a/api_docs/kbn_es_query.mdx b/api_docs/kbn_es_query.mdx index 1b19fa053acc1..e8cdfb58391b3 100644 --- a/api_docs/kbn_es_query.mdx +++ b/api_docs/kbn_es_query.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-query title: "@kbn/es-query" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-query plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es-query'] --- import kbnEsQueryObj from './kbn_es_query.devdocs.json'; diff --git a/api_docs/kbn_es_types.mdx b/api_docs/kbn_es_types.mdx index feb5fad5b9042..cd18544e11308 100644 --- a/api_docs/kbn_es_types.mdx +++ b/api_docs/kbn_es_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-types title: "@kbn/es-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-types plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es-types'] --- import kbnEsTypesObj from './kbn_es_types.devdocs.json'; diff --git a/api_docs/kbn_eslint_plugin_imports.mdx b/api_docs/kbn_eslint_plugin_imports.mdx index 47d8c928be47e..550d6c63e11e8 100644 --- a/api_docs/kbn_eslint_plugin_imports.mdx +++ b/api_docs/kbn_eslint_plugin_imports.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-eslint-plugin-imports title: "@kbn/eslint-plugin-imports" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/eslint-plugin-imports plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/eslint-plugin-imports'] --- import kbnEslintPluginImportsObj from './kbn_eslint_plugin_imports.devdocs.json'; diff --git a/api_docs/kbn_esql_ast.devdocs.json b/api_docs/kbn_esql_ast.devdocs.json index 8449e60698bff..ba60e35d615c3 100644 --- a/api_docs/kbn_esql_ast.devdocs.json +++ b/api_docs/kbn_esql_ast.devdocs.json @@ -201,6 +201,475 @@ } ], "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/esql-ast", + "id": "def-common.Walker", + "type": "Class", + "tags": [], + "label": "Walker", + "description": [], + "path": "packages/kbn-esql-ast/src/walker/walker.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/esql-ast", + "id": "def-common.Walker.walk", + "type": "Function", + "tags": [], + "label": "walk", + "description": [ + "\nWalks the AST and calls the appropriate visitor functions." + ], + "signature": [ + "(node: ", + { + "pluginId": "@kbn/esql-ast", + "scope": "common", + "docId": "kibKbnEsqlAstPluginApi", + "section": "def-common.ESQLAstNode", + "text": "ESQLAstNode" + }, + " | ", + { + "pluginId": "@kbn/esql-ast", + "scope": "common", + "docId": "kibKbnEsqlAstPluginApi", + "section": "def-common.ESQLAstNode", + "text": "ESQLAstNode" + }, + "[], options: ", + { + "pluginId": "@kbn/esql-ast", + "scope": "common", + "docId": "kibKbnEsqlAstPluginApi", + "section": "def-common.WalkerOptions", + "text": "WalkerOptions" + }, + ") => ", + { + "pluginId": "@kbn/esql-ast", + "scope": "common", + "docId": "kibKbnEsqlAstPluginApi", + "section": "def-common.Walker", + "text": "Walker" + } + ], + "path": "packages/kbn-esql-ast/src/walker/walker.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/esql-ast", + "id": "def-common.Walker.walk.$1", + "type": "CompoundType", + "tags": [], + "label": "node", + "description": [], + "signature": [ + { + "pluginId": "@kbn/esql-ast", + "scope": "common", + "docId": "kibKbnEsqlAstPluginApi", + "section": "def-common.ESQLAstNode", + "text": "ESQLAstNode" + }, + " | ", + { + "pluginId": "@kbn/esql-ast", + "scope": "common", + "docId": "kibKbnEsqlAstPluginApi", + "section": "def-common.ESQLAstNode", + "text": "ESQLAstNode" + }, + "[]" + ], + "path": "packages/kbn-esql-ast/src/walker/walker.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/esql-ast", + "id": "def-common.Walker.walk.$2", + "type": "Object", + "tags": [], + "label": "options", + "description": [], + "signature": [ + { + "pluginId": "@kbn/esql-ast", + "scope": "common", + "docId": "kibKbnEsqlAstPluginApi", + "section": "def-common.WalkerOptions", + "text": "WalkerOptions" + } + ], + "path": "packages/kbn-esql-ast/src/walker/walker.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/esql-ast", + "id": "def-common.Walker.params", + "type": "Function", + "tags": [], + "label": "params", + "description": [ + "\nWalks the AST and extracts all parameter literals.\n" + ], + "signature": [ + "(node: ", + { + "pluginId": "@kbn/esql-ast", + "scope": "common", + "docId": "kibKbnEsqlAstPluginApi", + "section": "def-common.ESQLAstNode", + "text": "ESQLAstNode" + }, + " | ", + { + "pluginId": "@kbn/esql-ast", + "scope": "common", + "docId": "kibKbnEsqlAstPluginApi", + "section": "def-common.ESQLAstNode", + "text": "ESQLAstNode" + }, + "[]) => ", + "ESQLParamLiteral", + "[]" + ], + "path": "packages/kbn-esql-ast/src/walker/walker.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/esql-ast", + "id": "def-common.Walker.params.$1", + "type": "CompoundType", + "tags": [], + "label": "node", + "description": [ + "AST node to extract parameters from." + ], + "signature": [ + { + "pluginId": "@kbn/esql-ast", + "scope": "common", + "docId": "kibKbnEsqlAstPluginApi", + "section": "def-common.ESQLAstNode", + "text": "ESQLAstNode" + }, + " | ", + { + "pluginId": "@kbn/esql-ast", + "scope": "common", + "docId": "kibKbnEsqlAstPluginApi", + "section": "def-common.ESQLAstNode", + "text": "ESQLAstNode" + }, + "[]" + ], + "path": "packages/kbn-esql-ast/src/walker/walker.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/esql-ast", + "id": "def-common.Walker.Unnamed", + "type": "Function", + "tags": [], + "label": "Constructor", + "description": [], + "signature": [ + "any" + ], + "path": "packages/kbn-esql-ast/src/walker/walker.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/esql-ast", + "id": "def-common.Walker.Unnamed.$1", + "type": "Object", + "tags": [], + "label": "options", + "description": [], + "signature": [ + { + "pluginId": "@kbn/esql-ast", + "scope": "common", + "docId": "kibKbnEsqlAstPluginApi", + "section": "def-common.WalkerOptions", + "text": "WalkerOptions" + } + ], + "path": "packages/kbn-esql-ast/src/walker/walker.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/esql-ast", + "id": "def-common.Walker.walk", + "type": "Function", + "tags": [], + "label": "walk", + "description": [], + "signature": [ + "(node: ", + { + "pluginId": "@kbn/esql-ast", + "scope": "common", + "docId": "kibKbnEsqlAstPluginApi", + "section": "def-common.ESQLAstNode", + "text": "ESQLAstNode" + }, + " | ", + { + "pluginId": "@kbn/esql-ast", + "scope": "common", + "docId": "kibKbnEsqlAstPluginApi", + "section": "def-common.ESQLAstNode", + "text": "ESQLAstNode" + }, + "[] | undefined) => void" + ], + "path": "packages/kbn-esql-ast/src/walker/walker.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/esql-ast", + "id": "def-common.Walker.walk.$1", + "type": "CompoundType", + "tags": [], + "label": "node", + "description": [], + "signature": [ + { + "pluginId": "@kbn/esql-ast", + "scope": "common", + "docId": "kibKbnEsqlAstPluginApi", + "section": "def-common.ESQLAstNode", + "text": "ESQLAstNode" + }, + " | ", + { + "pluginId": "@kbn/esql-ast", + "scope": "common", + "docId": "kibKbnEsqlAstPluginApi", + "section": "def-common.ESQLAstNode", + "text": "ESQLAstNode" + }, + "[] | undefined" + ], + "path": "packages/kbn-esql-ast/src/walker/walker.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/esql-ast", + "id": "def-common.Walker.walkCommand", + "type": "Function", + "tags": [], + "label": "walkCommand", + "description": [], + "signature": [ + "(node: ", + { + "pluginId": "@kbn/esql-ast", + "scope": "common", + "docId": "kibKbnEsqlAstPluginApi", + "section": "def-common.ESQLAstCommand", + "text": "ESQLAstCommand" + }, + ") => void" + ], + "path": "packages/kbn-esql-ast/src/walker/walker.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/esql-ast", + "id": "def-common.Walker.walkCommand.$1", + "type": "CompoundType", + "tags": [], + "label": "node", + "description": [], + "signature": [ + { + "pluginId": "@kbn/esql-ast", + "scope": "common", + "docId": "kibKbnEsqlAstPluginApi", + "section": "def-common.ESQLAstCommand", + "text": "ESQLAstCommand" + } + ], + "path": "packages/kbn-esql-ast/src/walker/walker.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/esql-ast", + "id": "def-common.Walker.walkAstItem", + "type": "Function", + "tags": [], + "label": "walkAstItem", + "description": [], + "signature": [ + "(node: ", + { + "pluginId": "@kbn/esql-ast", + "scope": "common", + "docId": "kibKbnEsqlAstPluginApi", + "section": "def-common.ESQLAstItem", + "text": "ESQLAstItem" + }, + ") => void" + ], + "path": "packages/kbn-esql-ast/src/walker/walker.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/esql-ast", + "id": "def-common.Walker.walkAstItem.$1", + "type": "CompoundType", + "tags": [], + "label": "node", + "description": [], + "signature": [ + { + "pluginId": "@kbn/esql-ast", + "scope": "common", + "docId": "kibKbnEsqlAstPluginApi", + "section": "def-common.ESQLAstItem", + "text": "ESQLAstItem" + } + ], + "path": "packages/kbn-esql-ast/src/walker/walker.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/esql-ast", + "id": "def-common.Walker.walkSingleAstItem", + "type": "Function", + "tags": [], + "label": "walkSingleAstItem", + "description": [], + "signature": [ + "(node: ", + { + "pluginId": "@kbn/esql-ast", + "scope": "common", + "docId": "kibKbnEsqlAstPluginApi", + "section": "def-common.ESQLSingleAstItem", + "text": "ESQLSingleAstItem" + }, + ") => void" + ], + "path": "packages/kbn-esql-ast/src/walker/walker.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/esql-ast", + "id": "def-common.Walker.walkSingleAstItem.$1", + "type": "CompoundType", + "tags": [], + "label": "node", + "description": [], + "signature": [ + { + "pluginId": "@kbn/esql-ast", + "scope": "common", + "docId": "kibKbnEsqlAstPluginApi", + "section": "def-common.ESQLSingleAstItem", + "text": "ESQLSingleAstItem" + } + ], + "path": "packages/kbn-esql-ast/src/walker/walker.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/esql-ast", + "id": "def-common.Walker.walkFunction", + "type": "Function", + "tags": [], + "label": "walkFunction", + "description": [], + "signature": [ + "(node: ", + { + "pluginId": "@kbn/esql-ast", + "scope": "common", + "docId": "kibKbnEsqlAstPluginApi", + "section": "def-common.ESQLFunction", + "text": "ESQLFunction" + }, + ") => void" + ], + "path": "packages/kbn-esql-ast/src/walker/walker.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/esql-ast", + "id": "def-common.Walker.walkFunction.$1", + "type": "Object", + "tags": [], + "label": "node", + "description": [], + "signature": [ + { + "pluginId": "@kbn/esql-ast", + "scope": "common", + "docId": "kibKbnEsqlAstPluginApi", + "section": "def-common.ESQLFunction", + "text": "ESQLFunction" + } + ], + "path": "packages/kbn-esql-ast/src/walker/walker.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + } + ], + "initialIsOpen": false } ], "functions": [ @@ -378,6 +847,104 @@ ], "returnComment": [], "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/esql-ast", + "id": "def-common.walk", + "type": "Function", + "tags": [], + "label": "walk", + "description": [], + "signature": [ + "(node: ", + { + "pluginId": "@kbn/esql-ast", + "scope": "common", + "docId": "kibKbnEsqlAstPluginApi", + "section": "def-common.ESQLAstNode", + "text": "ESQLAstNode" + }, + " | ", + { + "pluginId": "@kbn/esql-ast", + "scope": "common", + "docId": "kibKbnEsqlAstPluginApi", + "section": "def-common.ESQLAstNode", + "text": "ESQLAstNode" + }, + "[], options: ", + { + "pluginId": "@kbn/esql-ast", + "scope": "common", + "docId": "kibKbnEsqlAstPluginApi", + "section": "def-common.WalkerOptions", + "text": "WalkerOptions" + }, + ") => ", + { + "pluginId": "@kbn/esql-ast", + "scope": "common", + "docId": "kibKbnEsqlAstPluginApi", + "section": "def-common.Walker", + "text": "Walker" + } + ], + "path": "packages/kbn-esql-ast/src/walker/walker.ts", + "deprecated": false, + "trackAdoption": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "@kbn/esql-ast", + "id": "def-common.walk.$1", + "type": "CompoundType", + "tags": [], + "label": "node", + "description": [], + "signature": [ + { + "pluginId": "@kbn/esql-ast", + "scope": "common", + "docId": "kibKbnEsqlAstPluginApi", + "section": "def-common.ESQLAstNode", + "text": "ESQLAstNode" + }, + " | ", + { + "pluginId": "@kbn/esql-ast", + "scope": "common", + "docId": "kibKbnEsqlAstPluginApi", + "section": "def-common.ESQLAstNode", + "text": "ESQLAstNode" + }, + "[]" + ], + "path": "packages/kbn-esql-ast/src/walker/walker.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/esql-ast", + "id": "def-common.walk.$2", + "type": "Object", + "tags": [], + "label": "options", + "description": [], + "signature": [ + { + "pluginId": "@kbn/esql-ast", + "scope": "common", + "docId": "kibKbnEsqlAstPluginApi", + "section": "def-common.WalkerOptions", + "text": "WalkerOptions" + } + ], + "path": "packages/kbn-esql-ast/src/walker/walker.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false } ], "interfaces": [ @@ -509,10 +1076,10 @@ "children": [ { "parentPluginId": "@kbn/esql-ast", - "id": "def-common.ESQLAstMetricsCommand.indices", + "id": "def-common.ESQLAstMetricsCommand.sources", "type": "Array", "tags": [], - "label": "indices", + "label": "sources", "description": [], "signature": [ { @@ -536,13 +1103,7 @@ "label": "aggregates", "description": [], "signature": [ - { - "pluginId": "@kbn/esql-ast", - "scope": "common", - "docId": "kibKbnEsqlAstPluginApi", - "section": "def-common.ESQLAstItem", - "text": "ESQLAstItem" - }, + "ESQLAstField", "[] | undefined" ], "path": "packages/kbn-esql-ast/src/types.ts", @@ -557,13 +1118,7 @@ "label": "grouping", "description": [], "signature": [ - { - "pluginId": "@kbn/esql-ast", - "scope": "common", - "docId": "kibKbnEsqlAstPluginApi", - "section": "def-common.ESQLAstItem", - "text": "ESQLAstItem" - }, + "ESQLAstField", "[] | undefined" ], "path": "packages/kbn-esql-ast/src/types.ts", @@ -1068,6 +1623,204 @@ } ], "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/esql-ast", + "id": "def-common.WalkerOptions", + "type": "Interface", + "tags": [], + "label": "WalkerOptions", + "description": [], + "path": "packages/kbn-esql-ast/src/walker/walker.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/esql-ast", + "id": "def-common.WalkerOptions.visitSingleAstItem", + "type": "Function", + "tags": [], + "label": "visitSingleAstItem", + "description": [], + "signature": [ + "((node: ", + { + "pluginId": "@kbn/esql-ast", + "scope": "common", + "docId": "kibKbnEsqlAstPluginApi", + "section": "def-common.ESQLSingleAstItem", + "text": "ESQLSingleAstItem" + }, + ") => void) | undefined" + ], + "path": "packages/kbn-esql-ast/src/walker/walker.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/esql-ast", + "id": "def-common.WalkerOptions.visitSingleAstItem.$1", + "type": "CompoundType", + "tags": [], + "label": "node", + "description": [], + "signature": [ + { + "pluginId": "@kbn/esql-ast", + "scope": "common", + "docId": "kibKbnEsqlAstPluginApi", + "section": "def-common.ESQLSingleAstItem", + "text": "ESQLSingleAstItem" + } + ], + "path": "packages/kbn-esql-ast/src/walker/walker.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/esql-ast", + "id": "def-common.WalkerOptions.visitFunction", + "type": "Function", + "tags": [], + "label": "visitFunction", + "description": [], + "signature": [ + "((node: ", + { + "pluginId": "@kbn/esql-ast", + "scope": "common", + "docId": "kibKbnEsqlAstPluginApi", + "section": "def-common.ESQLFunction", + "text": "ESQLFunction" + }, + ") => void) | undefined" + ], + "path": "packages/kbn-esql-ast/src/walker/walker.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/esql-ast", + "id": "def-common.WalkerOptions.visitFunction.$1", + "type": "Object", + "tags": [], + "label": "node", + "description": [], + "signature": [ + { + "pluginId": "@kbn/esql-ast", + "scope": "common", + "docId": "kibKbnEsqlAstPluginApi", + "section": "def-common.ESQLFunction", + "text": "ESQLFunction" + } + ], + "path": "packages/kbn-esql-ast/src/walker/walker.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/esql-ast", + "id": "def-common.WalkerOptions.visitColumn", + "type": "Function", + "tags": [], + "label": "visitColumn", + "description": [], + "signature": [ + "((node: ", + { + "pluginId": "@kbn/esql-ast", + "scope": "common", + "docId": "kibKbnEsqlAstPluginApi", + "section": "def-common.ESQLColumn", + "text": "ESQLColumn" + }, + ") => void) | undefined" + ], + "path": "packages/kbn-esql-ast/src/walker/walker.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/esql-ast", + "id": "def-common.WalkerOptions.visitColumn.$1", + "type": "Object", + "tags": [], + "label": "node", + "description": [], + "signature": [ + { + "pluginId": "@kbn/esql-ast", + "scope": "common", + "docId": "kibKbnEsqlAstPluginApi", + "section": "def-common.ESQLColumn", + "text": "ESQLColumn" + } + ], + "path": "packages/kbn-esql-ast/src/walker/walker.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/esql-ast", + "id": "def-common.WalkerOptions.visitLiteral", + "type": "Function", + "tags": [], + "label": "visitLiteral", + "description": [], + "signature": [ + "((node: ", + { + "pluginId": "@kbn/esql-ast", + "scope": "common", + "docId": "kibKbnEsqlAstPluginApi", + "section": "def-common.ESQLLiteral", + "text": "ESQLLiteral" + }, + ") => void) | undefined" + ], + "path": "packages/kbn-esql-ast/src/walker/walker.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/esql-ast", + "id": "def-common.WalkerOptions.visitLiteral.$1", + "type": "CompoundType", + "tags": [], + "label": "node", + "description": [], + "signature": [ + { + "pluginId": "@kbn/esql-ast", + "scope": "common", + "docId": "kibKbnEsqlAstPluginApi", + "section": "def-common.ESQLLiteral", + "text": "ESQLLiteral" + } + ], + "path": "packages/kbn-esql-ast/src/walker/walker.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + } + ], + "initialIsOpen": false } ], "enums": [], @@ -1217,6 +1970,35 @@ "trackAdoption": false, "initialIsOpen": false }, + { + "parentPluginId": "@kbn/esql-ast", + "id": "def-common.ESQLAstNode", + "type": "Type", + "tags": [], + "label": "ESQLAstNode", + "description": [], + "signature": [ + { + "pluginId": "@kbn/esql-ast", + "scope": "common", + "docId": "kibKbnEsqlAstPluginApi", + "section": "def-common.ESQLAstCommand", + "text": "ESQLAstCommand" + }, + " | ", + { + "pluginId": "@kbn/esql-ast", + "scope": "common", + "docId": "kibKbnEsqlAstPluginApi", + "section": "def-common.ESQLAstItem", + "text": "ESQLAstItem" + } + ], + "path": "packages/kbn-esql-ast/src/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "@kbn/esql-ast", "id": "def-common.ESQLLiteral", @@ -1231,7 +2013,10 @@ " | ", "ESQLNullLiteral", " | ", - "ESQLStringLiteral" + "ESQLStringLiteral", + " | ", + "ESQLParamLiteral", + "" ], "path": "packages/kbn-esql-ast/src/types.ts", "deprecated": false, diff --git a/api_docs/kbn_esql_ast.mdx b/api_docs/kbn_esql_ast.mdx index 2a28cd4a0e37a..4585ea41ac13a 100644 --- a/api_docs/kbn_esql_ast.mdx +++ b/api_docs/kbn_esql_ast.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-esql-ast title: "@kbn/esql-ast" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/esql-ast plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/esql-ast'] --- import kbnEsqlAstObj from './kbn_esql_ast.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-esql](https://github.com/orgs/elastic/teams/kibana-esql | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 68 | 1 | 68 | 9 | +| 99 | 1 | 96 | 11 | ## Common diff --git a/api_docs/kbn_esql_utils.mdx b/api_docs/kbn_esql_utils.mdx index 05bc1416a8a73..5cbeb26da1157 100644 --- a/api_docs/kbn_esql_utils.mdx +++ b/api_docs/kbn_esql_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-esql-utils title: "@kbn/esql-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/esql-utils plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/esql-utils'] --- import kbnEsqlUtilsObj from './kbn_esql_utils.devdocs.json'; diff --git a/api_docs/kbn_esql_validation_autocomplete.devdocs.json b/api_docs/kbn_esql_validation_autocomplete.devdocs.json index ea46ea3ba35da..7f6aa1393fd19 100644 --- a/api_docs/kbn_esql_validation_autocomplete.devdocs.json +++ b/api_docs/kbn_esql_validation_autocomplete.devdocs.json @@ -628,6 +628,8 @@ " | ", "ESQLStringLiteral", " | ", + "ESQLParamLiteral", + " | ", { "pluginId": "@kbn/esql-ast", "scope": "common", @@ -738,6 +740,8 @@ " | ", "ESQLStringLiteral", " | ", + "ESQLParamLiteral", + " | ", { "pluginId": "@kbn/esql-ast", "scope": "common", @@ -832,6 +836,8 @@ " | ", "ESQLStringLiteral", " | ", + "ESQLParamLiteral", + " | ", { "pluginId": "@kbn/esql-ast", "scope": "common", @@ -934,6 +940,8 @@ " | ", "ESQLStringLiteral", " | ", + "ESQLParamLiteral", + " | ", { "pluginId": "@kbn/esql-ast", "scope": "common", @@ -3897,6 +3905,48 @@ "path": "packages/kbn-esql-validation-autocomplete/src/validation/types.ts", "deprecated": false, "trackAdoption": false + }, + { + "parentPluginId": "@kbn/esql-validation-autocomplete", + "id": "def-common.ValidationErrors.noAggFunction", + "type": "Object", + "tags": [], + "label": "noAggFunction", + "description": [], + "signature": [ + "{ message: string; type: { commandName: string; expression: string; }; }" + ], + "path": "packages/kbn-esql-validation-autocomplete/src/validation/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/esql-validation-autocomplete", + "id": "def-common.ValidationErrors.expressionNotAggClosed", + "type": "Object", + "tags": [], + "label": "expressionNotAggClosed", + "description": [], + "signature": [ + "{ message: string; type: { commandName: string; expression: string; }; }" + ], + "path": "packages/kbn-esql-validation-autocomplete/src/validation/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/esql-validation-autocomplete", + "id": "def-common.ValidationErrors.aggInAggFunction", + "type": "Object", + "tags": [], + "label": "aggInAggFunction", + "description": [], + "signature": [ + "{ message: string; type: { nestedAgg: string; }; }" + ], + "path": "packages/kbn-esql-validation-autocomplete/src/validation/types.ts", + "deprecated": false, + "trackAdoption": false } ], "initialIsOpen": false diff --git a/api_docs/kbn_esql_validation_autocomplete.mdx b/api_docs/kbn_esql_validation_autocomplete.mdx index f326d93d5c638..5bbf055965f1d 100644 --- a/api_docs/kbn_esql_validation_autocomplete.mdx +++ b/api_docs/kbn_esql_validation_autocomplete.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-esql-validation-autocomplete title: "@kbn/esql-validation-autocomplete" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/esql-validation-autocomplete plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/esql-validation-autocomplete'] --- import kbnEsqlValidationAutocompleteObj from './kbn_esql_validation_autocomplete.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-esql](https://github.com/orgs/elastic/teams/kibana-esql | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 189 | 0 | 178 | 10 | +| 192 | 0 | 181 | 10 | ## Common diff --git a/api_docs/kbn_event_annotation_common.mdx b/api_docs/kbn_event_annotation_common.mdx index 93754c21b806c..3c4e66d94237d 100644 --- a/api_docs/kbn_event_annotation_common.mdx +++ b/api_docs/kbn_event_annotation_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-event-annotation-common title: "@kbn/event-annotation-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/event-annotation-common plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/event-annotation-common'] --- import kbnEventAnnotationCommonObj from './kbn_event_annotation_common.devdocs.json'; diff --git a/api_docs/kbn_event_annotation_components.mdx b/api_docs/kbn_event_annotation_components.mdx index 7b083d3bdcdcb..c7ac364da4d03 100644 --- a/api_docs/kbn_event_annotation_components.mdx +++ b/api_docs/kbn_event_annotation_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-event-annotation-components title: "@kbn/event-annotation-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/event-annotation-components plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/event-annotation-components'] --- import kbnEventAnnotationComponentsObj from './kbn_event_annotation_components.devdocs.json'; diff --git a/api_docs/kbn_expandable_flyout.mdx b/api_docs/kbn_expandable_flyout.mdx index 97773962b0371..b32dd1ea5fbd2 100644 --- a/api_docs/kbn_expandable_flyout.mdx +++ b/api_docs/kbn_expandable_flyout.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-expandable-flyout title: "@kbn/expandable-flyout" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/expandable-flyout plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/expandable-flyout'] --- import kbnExpandableFlyoutObj from './kbn_expandable_flyout.devdocs.json'; diff --git a/api_docs/kbn_field_types.mdx b/api_docs/kbn_field_types.mdx index a0cab91e0732e..cee30f4db2a58 100644 --- a/api_docs/kbn_field_types.mdx +++ b/api_docs/kbn_field_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-field-types title: "@kbn/field-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/field-types plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/field-types'] --- import kbnFieldTypesObj from './kbn_field_types.devdocs.json'; diff --git a/api_docs/kbn_field_utils.devdocs.json b/api_docs/kbn_field_utils.devdocs.json index 6ffd8029c7422..540633131b699 100644 --- a/api_docs/kbn_field_utils.devdocs.json +++ b/api_docs/kbn_field_utils.devdocs.json @@ -126,55 +126,6 @@ "returnComment": [], "initialIsOpen": false }, - { - "parentPluginId": "@kbn/field-utils", - "id": "def-common.FieldDescriptionIconButton", - "type": "Function", - "tags": [], - "label": "FieldDescriptionIconButton", - "description": [], - "signature": [ - "({ field, ...otherProps }: React.PropsWithChildren<", - { - "pluginId": "@kbn/field-utils", - "scope": "common", - "docId": "kibKbnFieldUtilsPluginApi", - "section": "def-common.FieldDescriptionIconButtonProps", - "text": "FieldDescriptionIconButtonProps" - }, - ">) => JSX.Element | null" - ], - "path": "packages/kbn-field-utils/src/components/field_description_icon_button/field_description_icon_button.tsx", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/field-utils", - "id": "def-common.FieldDescriptionIconButton.$1", - "type": "CompoundType", - "tags": [], - "label": "{\n field,\n ...otherProps\n}", - "description": [], - "signature": [ - "React.PropsWithChildren<", - { - "pluginId": "@kbn/field-utils", - "scope": "common", - "docId": "kibKbnFieldUtilsPluginApi", - "section": "def-common.FieldDescriptionIconButtonProps", - "text": "FieldDescriptionIconButtonProps" - }, - ">" - ], - "path": "packages/kbn-field-utils/src/components/field_description_icon_button/field_description_icon_button.tsx", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [], - "initialIsOpen": false - }, { "parentPluginId": "@kbn/field-utils", "id": "def-common.FieldIcon", @@ -868,23 +819,6 @@ } ], "misc": [ - { - "parentPluginId": "@kbn/field-utils", - "id": "def-common.FieldDescriptionIconButtonProps", - "type": "Type", - "tags": [], - "label": "FieldDescriptionIconButtonProps", - "description": [], - "signature": [ - "Pick<", - "EuiPopoverProps", - ", \"css\"> & { field: { name: string; customDescription?: string | undefined; }; }" - ], - "path": "packages/kbn-field-utils/src/components/field_description_icon_button/field_description_icon_button.tsx", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, { "parentPluginId": "@kbn/field-utils", "id": "def-common.FieldIconProps", diff --git a/api_docs/kbn_field_utils.mdx b/api_docs/kbn_field_utils.mdx index 61c5a7cc45dbe..b5734ddb947b1 100644 --- a/api_docs/kbn_field_utils.mdx +++ b/api_docs/kbn_field_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-field-utils title: "@kbn/field-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/field-utils plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/field-utils'] --- import kbnFieldUtilsObj from './kbn_field_utils.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/k | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 54 | 0 | 45 | 1 | +| 51 | 0 | 42 | 1 | ## Common diff --git a/api_docs/kbn_find_used_node_modules.mdx b/api_docs/kbn_find_used_node_modules.mdx index 516e28902c830..adc24d97cd1bc 100644 --- a/api_docs/kbn_find_used_node_modules.mdx +++ b/api_docs/kbn_find_used_node_modules.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-find-used-node-modules title: "@kbn/find-used-node-modules" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/find-used-node-modules plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/find-used-node-modules'] --- import kbnFindUsedNodeModulesObj from './kbn_find_used_node_modules.devdocs.json'; diff --git a/api_docs/kbn_formatters.mdx b/api_docs/kbn_formatters.mdx index 55ad163620e2a..2f81a0e778bd1 100644 --- a/api_docs/kbn_formatters.mdx +++ b/api_docs/kbn_formatters.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-formatters title: "@kbn/formatters" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/formatters plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/formatters'] --- import kbnFormattersObj from './kbn_formatters.devdocs.json'; diff --git a/api_docs/kbn_ftr_common_functional_services.mdx b/api_docs/kbn_ftr_common_functional_services.mdx index 76a7e2562c5f3..796282bbcd72f 100644 --- a/api_docs/kbn_ftr_common_functional_services.mdx +++ b/api_docs/kbn_ftr_common_functional_services.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ftr-common-functional-services title: "@kbn/ftr-common-functional-services" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ftr-common-functional-services plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ftr-common-functional-services'] --- import kbnFtrCommonFunctionalServicesObj from './kbn_ftr_common_functional_services.devdocs.json'; diff --git a/api_docs/kbn_ftr_common_functional_ui_services.mdx b/api_docs/kbn_ftr_common_functional_ui_services.mdx index eb5e6081a592f..3f25516ecc617 100644 --- a/api_docs/kbn_ftr_common_functional_ui_services.mdx +++ b/api_docs/kbn_ftr_common_functional_ui_services.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ftr-common-functional-ui-services title: "@kbn/ftr-common-functional-ui-services" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ftr-common-functional-ui-services plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ftr-common-functional-ui-services'] --- import kbnFtrCommonFunctionalUiServicesObj from './kbn_ftr_common_functional_ui_services.devdocs.json'; diff --git a/api_docs/kbn_generate.mdx b/api_docs/kbn_generate.mdx index 377d3f28132a8..307724d2999ec 100644 --- a/api_docs/kbn_generate.mdx +++ b/api_docs/kbn_generate.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate title: "@kbn/generate" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate'] --- import kbnGenerateObj from './kbn_generate.devdocs.json'; diff --git a/api_docs/kbn_generate_console_definitions.mdx b/api_docs/kbn_generate_console_definitions.mdx index aeb4254520b6a..69dd668672a42 100644 --- a/api_docs/kbn_generate_console_definitions.mdx +++ b/api_docs/kbn_generate_console_definitions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate-console-definitions title: "@kbn/generate-console-definitions" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate-console-definitions plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate-console-definitions'] --- import kbnGenerateConsoleDefinitionsObj from './kbn_generate_console_definitions.devdocs.json'; diff --git a/api_docs/kbn_generate_csv.mdx b/api_docs/kbn_generate_csv.mdx index 0dfb7c3ed231d..ed6dfa2e0536e 100644 --- a/api_docs/kbn_generate_csv.mdx +++ b/api_docs/kbn_generate_csv.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate-csv title: "@kbn/generate-csv" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate-csv plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate-csv'] --- import kbnGenerateCsvObj from './kbn_generate_csv.devdocs.json'; diff --git a/api_docs/kbn_grouping.mdx b/api_docs/kbn_grouping.mdx index abe0caab761c9..2fdaacbdbf9b3 100644 --- a/api_docs/kbn_grouping.mdx +++ b/api_docs/kbn_grouping.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-grouping title: "@kbn/grouping" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/grouping plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/grouping'] --- import kbnGroupingObj from './kbn_grouping.devdocs.json'; diff --git a/api_docs/kbn_guided_onboarding.mdx b/api_docs/kbn_guided_onboarding.mdx index d77bf48458c7c..6b8409e2342bd 100644 --- a/api_docs/kbn_guided_onboarding.mdx +++ b/api_docs/kbn_guided_onboarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-guided-onboarding title: "@kbn/guided-onboarding" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/guided-onboarding plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/guided-onboarding'] --- import kbnGuidedOnboardingObj from './kbn_guided_onboarding.devdocs.json'; diff --git a/api_docs/kbn_handlebars.mdx b/api_docs/kbn_handlebars.mdx index 2b379b261a2a2..f0bef2aa23dc5 100644 --- a/api_docs/kbn_handlebars.mdx +++ b/api_docs/kbn_handlebars.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-handlebars title: "@kbn/handlebars" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/handlebars plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/handlebars'] --- import kbnHandlebarsObj from './kbn_handlebars.devdocs.json'; diff --git a/api_docs/kbn_hapi_mocks.mdx b/api_docs/kbn_hapi_mocks.mdx index 6246e2e784241..674af97aa29a6 100644 --- a/api_docs/kbn_hapi_mocks.mdx +++ b/api_docs/kbn_hapi_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-hapi-mocks title: "@kbn/hapi-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/hapi-mocks plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/hapi-mocks'] --- import kbnHapiMocksObj from './kbn_hapi_mocks.devdocs.json'; diff --git a/api_docs/kbn_health_gateway_server.mdx b/api_docs/kbn_health_gateway_server.mdx index bd4698775dfcd..bb48ce81864e2 100644 --- a/api_docs/kbn_health_gateway_server.mdx +++ b/api_docs/kbn_health_gateway_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-health-gateway-server title: "@kbn/health-gateway-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/health-gateway-server plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/health-gateway-server'] --- import kbnHealthGatewayServerObj from './kbn_health_gateway_server.devdocs.json'; diff --git a/api_docs/kbn_home_sample_data_card.mdx b/api_docs/kbn_home_sample_data_card.mdx index 3bdc220beb3a5..429f1ed7cdeef 100644 --- a/api_docs/kbn_home_sample_data_card.mdx +++ b/api_docs/kbn_home_sample_data_card.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-home-sample-data-card title: "@kbn/home-sample-data-card" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/home-sample-data-card plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/home-sample-data-card'] --- import kbnHomeSampleDataCardObj from './kbn_home_sample_data_card.devdocs.json'; diff --git a/api_docs/kbn_home_sample_data_tab.mdx b/api_docs/kbn_home_sample_data_tab.mdx index 0fac54d1c4056..32045084cd856 100644 --- a/api_docs/kbn_home_sample_data_tab.mdx +++ b/api_docs/kbn_home_sample_data_tab.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-home-sample-data-tab title: "@kbn/home-sample-data-tab" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/home-sample-data-tab plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/home-sample-data-tab'] --- import kbnHomeSampleDataTabObj from './kbn_home_sample_data_tab.devdocs.json'; diff --git a/api_docs/kbn_i18n.mdx b/api_docs/kbn_i18n.mdx index 1be4bfe0b0f67..0c5da68672163 100644 --- a/api_docs/kbn_i18n.mdx +++ b/api_docs/kbn_i18n.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-i18n title: "@kbn/i18n" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/i18n plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/i18n'] --- import kbnI18nObj from './kbn_i18n.devdocs.json'; diff --git a/api_docs/kbn_i18n_react.mdx b/api_docs/kbn_i18n_react.mdx index aac51775cf05d..c5efe6c5920f0 100644 --- a/api_docs/kbn_i18n_react.mdx +++ b/api_docs/kbn_i18n_react.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-i18n-react title: "@kbn/i18n-react" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/i18n-react plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/i18n-react'] --- import kbnI18nReactObj from './kbn_i18n_react.devdocs.json'; diff --git a/api_docs/kbn_import_resolver.mdx b/api_docs/kbn_import_resolver.mdx index 758d716f10029..b37c481b465b7 100644 --- a/api_docs/kbn_import_resolver.mdx +++ b/api_docs/kbn_import_resolver.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-import-resolver title: "@kbn/import-resolver" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/import-resolver plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/import-resolver'] --- import kbnImportResolverObj from './kbn_import_resolver.devdocs.json'; diff --git a/api_docs/kbn_index_management.mdx b/api_docs/kbn_index_management.mdx index c2daabbf703aa..d32d51d0b221b 100644 --- a/api_docs/kbn_index_management.mdx +++ b/api_docs/kbn_index_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-index-management title: "@kbn/index-management" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/index-management plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/index-management'] --- import kbnIndexManagementObj from './kbn_index_management.devdocs.json'; diff --git a/api_docs/kbn_inference_integration_flyout.mdx b/api_docs/kbn_inference_integration_flyout.mdx index 95cae23bb1c3f..02702616a40f3 100644 --- a/api_docs/kbn_inference_integration_flyout.mdx +++ b/api_docs/kbn_inference_integration_flyout.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-inference_integration_flyout title: "@kbn/inference_integration_flyout" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/inference_integration_flyout plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/inference_integration_flyout'] --- import kbnInferenceIntegrationFlyoutObj from './kbn_inference_integration_flyout.devdocs.json'; diff --git a/api_docs/kbn_infra_forge.mdx b/api_docs/kbn_infra_forge.mdx index 91815af1a7baf..1bb9c3e1df735 100644 --- a/api_docs/kbn_infra_forge.mdx +++ b/api_docs/kbn_infra_forge.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-infra-forge title: "@kbn/infra-forge" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/infra-forge plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/infra-forge'] --- import kbnInfraForgeObj from './kbn_infra_forge.devdocs.json'; diff --git a/api_docs/kbn_interpreter.mdx b/api_docs/kbn_interpreter.mdx index 5bd2f82a476b5..89c243b8b3839 100644 --- a/api_docs/kbn_interpreter.mdx +++ b/api_docs/kbn_interpreter.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-interpreter title: "@kbn/interpreter" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/interpreter plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/interpreter'] --- import kbnInterpreterObj from './kbn_interpreter.devdocs.json'; diff --git a/api_docs/kbn_io_ts_utils.mdx b/api_docs/kbn_io_ts_utils.mdx index 7806977a5ff63..a961ffb848d7a 100644 --- a/api_docs/kbn_io_ts_utils.mdx +++ b/api_docs/kbn_io_ts_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-io-ts-utils title: "@kbn/io-ts-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/io-ts-utils plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/io-ts-utils'] --- import kbnIoTsUtilsObj from './kbn_io_ts_utils.devdocs.json'; diff --git a/api_docs/kbn_ipynb.mdx b/api_docs/kbn_ipynb.mdx index 0f55e6da22faa..3953db3586da5 100644 --- a/api_docs/kbn_ipynb.mdx +++ b/api_docs/kbn_ipynb.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ipynb title: "@kbn/ipynb" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ipynb plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ipynb'] --- import kbnIpynbObj from './kbn_ipynb.devdocs.json'; diff --git a/api_docs/kbn_jest_serializers.mdx b/api_docs/kbn_jest_serializers.mdx index e2e126ace151e..3ac405cdc4cf3 100644 --- a/api_docs/kbn_jest_serializers.mdx +++ b/api_docs/kbn_jest_serializers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-jest-serializers title: "@kbn/jest-serializers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/jest-serializers plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/jest-serializers'] --- import kbnJestSerializersObj from './kbn_jest_serializers.devdocs.json'; diff --git a/api_docs/kbn_journeys.mdx b/api_docs/kbn_journeys.mdx index f92880e152af6..e7b9029a8acb3 100644 --- a/api_docs/kbn_journeys.mdx +++ b/api_docs/kbn_journeys.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-journeys title: "@kbn/journeys" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/journeys plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/journeys'] --- import kbnJourneysObj from './kbn_journeys.devdocs.json'; diff --git a/api_docs/kbn_json_ast.mdx b/api_docs/kbn_json_ast.mdx index f7a970eade436..fa9173e413f0d 100644 --- a/api_docs/kbn_json_ast.mdx +++ b/api_docs/kbn_json_ast.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-json-ast title: "@kbn/json-ast" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/json-ast plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/json-ast'] --- import kbnJsonAstObj from './kbn_json_ast.devdocs.json'; diff --git a/api_docs/kbn_kibana_manifest_schema.mdx b/api_docs/kbn_kibana_manifest_schema.mdx index 719fe13148e43..ee140b155f39e 100644 --- a/api_docs/kbn_kibana_manifest_schema.mdx +++ b/api_docs/kbn_kibana_manifest_schema.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-kibana-manifest-schema title: "@kbn/kibana-manifest-schema" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/kibana-manifest-schema plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/kibana-manifest-schema'] --- import kbnKibanaManifestSchemaObj from './kbn_kibana_manifest_schema.devdocs.json'; diff --git a/api_docs/kbn_language_documentation_popover.mdx b/api_docs/kbn_language_documentation_popover.mdx index edcf7b993d47c..97509d6937eab 100644 --- a/api_docs/kbn_language_documentation_popover.mdx +++ b/api_docs/kbn_language_documentation_popover.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-language-documentation-popover title: "@kbn/language-documentation-popover" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/language-documentation-popover plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/language-documentation-popover'] --- import kbnLanguageDocumentationPopoverObj from './kbn_language_documentation_popover.devdocs.json'; diff --git a/api_docs/kbn_lens_embeddable_utils.mdx b/api_docs/kbn_lens_embeddable_utils.mdx index b8b7b8305838e..598e99353ba4a 100644 --- a/api_docs/kbn_lens_embeddable_utils.mdx +++ b/api_docs/kbn_lens_embeddable_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-lens-embeddable-utils title: "@kbn/lens-embeddable-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/lens-embeddable-utils plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/lens-embeddable-utils'] --- import kbnLensEmbeddableUtilsObj from './kbn_lens_embeddable_utils.devdocs.json'; diff --git a/api_docs/kbn_lens_formula_docs.mdx b/api_docs/kbn_lens_formula_docs.mdx index dcc7887e2c389..3fa52f3d0e3b0 100644 --- a/api_docs/kbn_lens_formula_docs.mdx +++ b/api_docs/kbn_lens_formula_docs.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-lens-formula-docs title: "@kbn/lens-formula-docs" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/lens-formula-docs plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/lens-formula-docs'] --- import kbnLensFormulaDocsObj from './kbn_lens_formula_docs.devdocs.json'; diff --git a/api_docs/kbn_logging.mdx b/api_docs/kbn_logging.mdx index 0b3284ccaff5b..0c09c19999325 100644 --- a/api_docs/kbn_logging.mdx +++ b/api_docs/kbn_logging.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-logging title: "@kbn/logging" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/logging plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/logging'] --- import kbnLoggingObj from './kbn_logging.devdocs.json'; diff --git a/api_docs/kbn_logging_mocks.mdx b/api_docs/kbn_logging_mocks.mdx index e7296264e4221..421a128168e72 100644 --- a/api_docs/kbn_logging_mocks.mdx +++ b/api_docs/kbn_logging_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-logging-mocks title: "@kbn/logging-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/logging-mocks plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/logging-mocks'] --- import kbnLoggingMocksObj from './kbn_logging_mocks.devdocs.json'; diff --git a/api_docs/kbn_managed_content_badge.mdx b/api_docs/kbn_managed_content_badge.mdx index ade696d52c11e..5dae6f8f74dc7 100644 --- a/api_docs/kbn_managed_content_badge.mdx +++ b/api_docs/kbn_managed_content_badge.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-managed-content-badge title: "@kbn/managed-content-badge" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/managed-content-badge plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/managed-content-badge'] --- import kbnManagedContentBadgeObj from './kbn_managed_content_badge.devdocs.json'; diff --git a/api_docs/kbn_managed_vscode_config.mdx b/api_docs/kbn_managed_vscode_config.mdx index 9ea1627776fdd..8bd314c297a43 100644 --- a/api_docs/kbn_managed_vscode_config.mdx +++ b/api_docs/kbn_managed_vscode_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-managed-vscode-config title: "@kbn/managed-vscode-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/managed-vscode-config plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/managed-vscode-config'] --- import kbnManagedVscodeConfigObj from './kbn_managed_vscode_config.devdocs.json'; diff --git a/api_docs/kbn_management_cards_navigation.mdx b/api_docs/kbn_management_cards_navigation.mdx index e57cd5e7ed8fa..6946a4e51c053 100644 --- a/api_docs/kbn_management_cards_navigation.mdx +++ b/api_docs/kbn_management_cards_navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-cards-navigation title: "@kbn/management-cards-navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-cards-navigation plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-cards-navigation'] --- import kbnManagementCardsNavigationObj from './kbn_management_cards_navigation.devdocs.json'; diff --git a/api_docs/kbn_management_settings_application.mdx b/api_docs/kbn_management_settings_application.mdx index bfe63ca555d66..0905c05f608ee 100644 --- a/api_docs/kbn_management_settings_application.mdx +++ b/api_docs/kbn_management_settings_application.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-application title: "@kbn/management-settings-application" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-application plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-application'] --- import kbnManagementSettingsApplicationObj from './kbn_management_settings_application.devdocs.json'; diff --git a/api_docs/kbn_management_settings_components_field_category.mdx b/api_docs/kbn_management_settings_components_field_category.mdx index 679ecc142d451..2bab2f521bc7b 100644 --- a/api_docs/kbn_management_settings_components_field_category.mdx +++ b/api_docs/kbn_management_settings_components_field_category.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-components-field-category title: "@kbn/management-settings-components-field-category" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-components-field-category plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-components-field-category'] --- import kbnManagementSettingsComponentsFieldCategoryObj from './kbn_management_settings_components_field_category.devdocs.json'; diff --git a/api_docs/kbn_management_settings_components_field_input.mdx b/api_docs/kbn_management_settings_components_field_input.mdx index 5466ac9f12882..d9ea6432ac510 100644 --- a/api_docs/kbn_management_settings_components_field_input.mdx +++ b/api_docs/kbn_management_settings_components_field_input.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-components-field-input title: "@kbn/management-settings-components-field-input" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-components-field-input plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-components-field-input'] --- import kbnManagementSettingsComponentsFieldInputObj from './kbn_management_settings_components_field_input.devdocs.json'; diff --git a/api_docs/kbn_management_settings_components_field_row.mdx b/api_docs/kbn_management_settings_components_field_row.mdx index 389e2027f424a..3a7ec55093f6b 100644 --- a/api_docs/kbn_management_settings_components_field_row.mdx +++ b/api_docs/kbn_management_settings_components_field_row.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-components-field-row title: "@kbn/management-settings-components-field-row" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-components-field-row plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-components-field-row'] --- import kbnManagementSettingsComponentsFieldRowObj from './kbn_management_settings_components_field_row.devdocs.json'; diff --git a/api_docs/kbn_management_settings_components_form.mdx b/api_docs/kbn_management_settings_components_form.mdx index ad499b3c90f10..b698e02e86198 100644 --- a/api_docs/kbn_management_settings_components_form.mdx +++ b/api_docs/kbn_management_settings_components_form.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-components-form title: "@kbn/management-settings-components-form" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-components-form plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-components-form'] --- import kbnManagementSettingsComponentsFormObj from './kbn_management_settings_components_form.devdocs.json'; diff --git a/api_docs/kbn_management_settings_field_definition.mdx b/api_docs/kbn_management_settings_field_definition.mdx index 2886e76ab1137..1151af24a3c84 100644 --- a/api_docs/kbn_management_settings_field_definition.mdx +++ b/api_docs/kbn_management_settings_field_definition.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-field-definition title: "@kbn/management-settings-field-definition" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-field-definition plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-field-definition'] --- import kbnManagementSettingsFieldDefinitionObj from './kbn_management_settings_field_definition.devdocs.json'; diff --git a/api_docs/kbn_management_settings_ids.mdx b/api_docs/kbn_management_settings_ids.mdx index d4d30d03b2e60..f1d43d71650e3 100644 --- a/api_docs/kbn_management_settings_ids.mdx +++ b/api_docs/kbn_management_settings_ids.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-ids title: "@kbn/management-settings-ids" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-ids plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-ids'] --- import kbnManagementSettingsIdsObj from './kbn_management_settings_ids.devdocs.json'; diff --git a/api_docs/kbn_management_settings_section_registry.mdx b/api_docs/kbn_management_settings_section_registry.mdx index d386b31cc29bb..2b0ae757ad51f 100644 --- a/api_docs/kbn_management_settings_section_registry.mdx +++ b/api_docs/kbn_management_settings_section_registry.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-section-registry title: "@kbn/management-settings-section-registry" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-section-registry plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-section-registry'] --- import kbnManagementSettingsSectionRegistryObj from './kbn_management_settings_section_registry.devdocs.json'; diff --git a/api_docs/kbn_management_settings_types.mdx b/api_docs/kbn_management_settings_types.mdx index 960d7c89e444c..2b6097ab7769d 100644 --- a/api_docs/kbn_management_settings_types.mdx +++ b/api_docs/kbn_management_settings_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-types title: "@kbn/management-settings-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-types plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-types'] --- import kbnManagementSettingsTypesObj from './kbn_management_settings_types.devdocs.json'; diff --git a/api_docs/kbn_management_settings_utilities.mdx b/api_docs/kbn_management_settings_utilities.mdx index f846a138ad72d..44b21b1a0703e 100644 --- a/api_docs/kbn_management_settings_utilities.mdx +++ b/api_docs/kbn_management_settings_utilities.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-utilities title: "@kbn/management-settings-utilities" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-utilities plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-utilities'] --- import kbnManagementSettingsUtilitiesObj from './kbn_management_settings_utilities.devdocs.json'; diff --git a/api_docs/kbn_management_storybook_config.mdx b/api_docs/kbn_management_storybook_config.mdx index cc94cfcc45577..2723302b9f579 100644 --- a/api_docs/kbn_management_storybook_config.mdx +++ b/api_docs/kbn_management_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-storybook-config title: "@kbn/management-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-storybook-config plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-storybook-config'] --- import kbnManagementStorybookConfigObj from './kbn_management_storybook_config.devdocs.json'; diff --git a/api_docs/kbn_mapbox_gl.mdx b/api_docs/kbn_mapbox_gl.mdx index 29fe8a26cc807..79a424296884d 100644 --- a/api_docs/kbn_mapbox_gl.mdx +++ b/api_docs/kbn_mapbox_gl.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-mapbox-gl title: "@kbn/mapbox-gl" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/mapbox-gl plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/mapbox-gl'] --- import kbnMapboxGlObj from './kbn_mapbox_gl.devdocs.json'; diff --git a/api_docs/kbn_maps_vector_tile_utils.mdx b/api_docs/kbn_maps_vector_tile_utils.mdx index 6b6ab7809564d..c1652595c07cc 100644 --- a/api_docs/kbn_maps_vector_tile_utils.mdx +++ b/api_docs/kbn_maps_vector_tile_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-maps-vector-tile-utils title: "@kbn/maps-vector-tile-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/maps-vector-tile-utils plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/maps-vector-tile-utils'] --- import kbnMapsVectorTileUtilsObj from './kbn_maps_vector_tile_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_agg_utils.mdx b/api_docs/kbn_ml_agg_utils.mdx index c682754234786..64c3022beaf43 100644 --- a/api_docs/kbn_ml_agg_utils.mdx +++ b/api_docs/kbn_ml_agg_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-agg-utils title: "@kbn/ml-agg-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-agg-utils plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-agg-utils'] --- import kbnMlAggUtilsObj from './kbn_ml_agg_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_anomaly_utils.mdx b/api_docs/kbn_ml_anomaly_utils.mdx index f94006b655dbf..0423b4369e5f5 100644 --- a/api_docs/kbn_ml_anomaly_utils.mdx +++ b/api_docs/kbn_ml_anomaly_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-anomaly-utils title: "@kbn/ml-anomaly-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-anomaly-utils plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-anomaly-utils'] --- import kbnMlAnomalyUtilsObj from './kbn_ml_anomaly_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_cancellable_search.mdx b/api_docs/kbn_ml_cancellable_search.mdx index bd45f8ad1a08b..03eb715ba3ecf 100644 --- a/api_docs/kbn_ml_cancellable_search.mdx +++ b/api_docs/kbn_ml_cancellable_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-cancellable-search title: "@kbn/ml-cancellable-search" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-cancellable-search plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-cancellable-search'] --- import kbnMlCancellableSearchObj from './kbn_ml_cancellable_search.devdocs.json'; diff --git a/api_docs/kbn_ml_category_validator.mdx b/api_docs/kbn_ml_category_validator.mdx index 5f6b80c05feb8..506c4ff2e3240 100644 --- a/api_docs/kbn_ml_category_validator.mdx +++ b/api_docs/kbn_ml_category_validator.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-category-validator title: "@kbn/ml-category-validator" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-category-validator plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-category-validator'] --- import kbnMlCategoryValidatorObj from './kbn_ml_category_validator.devdocs.json'; diff --git a/api_docs/kbn_ml_chi2test.mdx b/api_docs/kbn_ml_chi2test.mdx index 5869e96f4d4a2..2291b19a70975 100644 --- a/api_docs/kbn_ml_chi2test.mdx +++ b/api_docs/kbn_ml_chi2test.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-chi2test title: "@kbn/ml-chi2test" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-chi2test plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-chi2test'] --- import kbnMlChi2testObj from './kbn_ml_chi2test.devdocs.json'; diff --git a/api_docs/kbn_ml_data_frame_analytics_utils.mdx b/api_docs/kbn_ml_data_frame_analytics_utils.mdx index dfdc3b08cbacf..fcb623222c563 100644 --- a/api_docs/kbn_ml_data_frame_analytics_utils.mdx +++ b/api_docs/kbn_ml_data_frame_analytics_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-data-frame-analytics-utils title: "@kbn/ml-data-frame-analytics-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-data-frame-analytics-utils plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-data-frame-analytics-utils'] --- import kbnMlDataFrameAnalyticsUtilsObj from './kbn_ml_data_frame_analytics_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_data_grid.mdx b/api_docs/kbn_ml_data_grid.mdx index 8a1cd3f0ad4e7..3b291adc742d4 100644 --- a/api_docs/kbn_ml_data_grid.mdx +++ b/api_docs/kbn_ml_data_grid.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-data-grid title: "@kbn/ml-data-grid" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-data-grid plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-data-grid'] --- import kbnMlDataGridObj from './kbn_ml_data_grid.devdocs.json'; diff --git a/api_docs/kbn_ml_date_picker.mdx b/api_docs/kbn_ml_date_picker.mdx index c0466967360b1..4bc70656da0c4 100644 --- a/api_docs/kbn_ml_date_picker.mdx +++ b/api_docs/kbn_ml_date_picker.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-date-picker title: "@kbn/ml-date-picker" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-date-picker plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-date-picker'] --- import kbnMlDatePickerObj from './kbn_ml_date_picker.devdocs.json'; diff --git a/api_docs/kbn_ml_date_utils.mdx b/api_docs/kbn_ml_date_utils.mdx index da283ea5b2848..67c7a9917a926 100644 --- a/api_docs/kbn_ml_date_utils.mdx +++ b/api_docs/kbn_ml_date_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-date-utils title: "@kbn/ml-date-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-date-utils plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-date-utils'] --- import kbnMlDateUtilsObj from './kbn_ml_date_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_error_utils.mdx b/api_docs/kbn_ml_error_utils.mdx index 52e09fb58f798..c08122de47afd 100644 --- a/api_docs/kbn_ml_error_utils.mdx +++ b/api_docs/kbn_ml_error_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-error-utils title: "@kbn/ml-error-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-error-utils plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-error-utils'] --- import kbnMlErrorUtilsObj from './kbn_ml_error_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_in_memory_table.mdx b/api_docs/kbn_ml_in_memory_table.mdx index 7f261994b433c..d5e495484cf64 100644 --- a/api_docs/kbn_ml_in_memory_table.mdx +++ b/api_docs/kbn_ml_in_memory_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-in-memory-table title: "@kbn/ml-in-memory-table" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-in-memory-table plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-in-memory-table'] --- import kbnMlInMemoryTableObj from './kbn_ml_in_memory_table.devdocs.json'; diff --git a/api_docs/kbn_ml_is_defined.mdx b/api_docs/kbn_ml_is_defined.mdx index f60bb413a2382..83d4d285f09db 100644 --- a/api_docs/kbn_ml_is_defined.mdx +++ b/api_docs/kbn_ml_is_defined.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-is-defined title: "@kbn/ml-is-defined" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-is-defined plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-is-defined'] --- import kbnMlIsDefinedObj from './kbn_ml_is_defined.devdocs.json'; diff --git a/api_docs/kbn_ml_is_populated_object.mdx b/api_docs/kbn_ml_is_populated_object.mdx index 80a615093e7f0..19121379f0504 100644 --- a/api_docs/kbn_ml_is_populated_object.mdx +++ b/api_docs/kbn_ml_is_populated_object.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-is-populated-object title: "@kbn/ml-is-populated-object" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-is-populated-object plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-is-populated-object'] --- import kbnMlIsPopulatedObjectObj from './kbn_ml_is_populated_object.devdocs.json'; diff --git a/api_docs/kbn_ml_kibana_theme.mdx b/api_docs/kbn_ml_kibana_theme.mdx index d6cb7980ec60d..9b018a46caef2 100644 --- a/api_docs/kbn_ml_kibana_theme.mdx +++ b/api_docs/kbn_ml_kibana_theme.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-kibana-theme title: "@kbn/ml-kibana-theme" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-kibana-theme plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-kibana-theme'] --- import kbnMlKibanaThemeObj from './kbn_ml_kibana_theme.devdocs.json'; diff --git a/api_docs/kbn_ml_local_storage.mdx b/api_docs/kbn_ml_local_storage.mdx index f5bce0abc160d..abd6aebca3805 100644 --- a/api_docs/kbn_ml_local_storage.mdx +++ b/api_docs/kbn_ml_local_storage.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-local-storage title: "@kbn/ml-local-storage" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-local-storage plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-local-storage'] --- import kbnMlLocalStorageObj from './kbn_ml_local_storage.devdocs.json'; diff --git a/api_docs/kbn_ml_nested_property.mdx b/api_docs/kbn_ml_nested_property.mdx index 2925c0b6db445..66f4d1c1c2c4c 100644 --- a/api_docs/kbn_ml_nested_property.mdx +++ b/api_docs/kbn_ml_nested_property.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-nested-property title: "@kbn/ml-nested-property" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-nested-property plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-nested-property'] --- import kbnMlNestedPropertyObj from './kbn_ml_nested_property.devdocs.json'; diff --git a/api_docs/kbn_ml_number_utils.mdx b/api_docs/kbn_ml_number_utils.mdx index 4bfee361313a4..edf0d8a3b31f5 100644 --- a/api_docs/kbn_ml_number_utils.mdx +++ b/api_docs/kbn_ml_number_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-number-utils title: "@kbn/ml-number-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-number-utils plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-number-utils'] --- import kbnMlNumberUtilsObj from './kbn_ml_number_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_query_utils.mdx b/api_docs/kbn_ml_query_utils.mdx index 4b5f183519c84..29ca6f2b16e88 100644 --- a/api_docs/kbn_ml_query_utils.mdx +++ b/api_docs/kbn_ml_query_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-query-utils title: "@kbn/ml-query-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-query-utils plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-query-utils'] --- import kbnMlQueryUtilsObj from './kbn_ml_query_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_random_sampler_utils.mdx b/api_docs/kbn_ml_random_sampler_utils.mdx index f5fb6b5a066d8..7814ba7dfac51 100644 --- a/api_docs/kbn_ml_random_sampler_utils.mdx +++ b/api_docs/kbn_ml_random_sampler_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-random-sampler-utils title: "@kbn/ml-random-sampler-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-random-sampler-utils plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-random-sampler-utils'] --- import kbnMlRandomSamplerUtilsObj from './kbn_ml_random_sampler_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_route_utils.mdx b/api_docs/kbn_ml_route_utils.mdx index a85bf8421e6c0..9309a302f6523 100644 --- a/api_docs/kbn_ml_route_utils.mdx +++ b/api_docs/kbn_ml_route_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-route-utils title: "@kbn/ml-route-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-route-utils plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-route-utils'] --- import kbnMlRouteUtilsObj from './kbn_ml_route_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_runtime_field_utils.mdx b/api_docs/kbn_ml_runtime_field_utils.mdx index ee9cc56bc047a..de3d3ee558f2e 100644 --- a/api_docs/kbn_ml_runtime_field_utils.mdx +++ b/api_docs/kbn_ml_runtime_field_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-runtime-field-utils title: "@kbn/ml-runtime-field-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-runtime-field-utils plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-runtime-field-utils'] --- import kbnMlRuntimeFieldUtilsObj from './kbn_ml_runtime_field_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_string_hash.mdx b/api_docs/kbn_ml_string_hash.mdx index 7100105fa361a..801c28f9dcf33 100644 --- a/api_docs/kbn_ml_string_hash.mdx +++ b/api_docs/kbn_ml_string_hash.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-string-hash title: "@kbn/ml-string-hash" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-string-hash plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-string-hash'] --- import kbnMlStringHashObj from './kbn_ml_string_hash.devdocs.json'; diff --git a/api_docs/kbn_ml_time_buckets.mdx b/api_docs/kbn_ml_time_buckets.mdx index 7a1829d634b78..5f3c6ab828121 100644 --- a/api_docs/kbn_ml_time_buckets.mdx +++ b/api_docs/kbn_ml_time_buckets.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-time-buckets title: "@kbn/ml-time-buckets" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-time-buckets plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-time-buckets'] --- import kbnMlTimeBucketsObj from './kbn_ml_time_buckets.devdocs.json'; diff --git a/api_docs/kbn_ml_trained_models_utils.mdx b/api_docs/kbn_ml_trained_models_utils.mdx index 34e51866932da..397a02f8b0a83 100644 --- a/api_docs/kbn_ml_trained_models_utils.mdx +++ b/api_docs/kbn_ml_trained_models_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-trained-models-utils title: "@kbn/ml-trained-models-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-trained-models-utils plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-trained-models-utils'] --- import kbnMlTrainedModelsUtilsObj from './kbn_ml_trained_models_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_ui_actions.mdx b/api_docs/kbn_ml_ui_actions.mdx index 88be9a7227836..e97cc05750931 100644 --- a/api_docs/kbn_ml_ui_actions.mdx +++ b/api_docs/kbn_ml_ui_actions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-ui-actions title: "@kbn/ml-ui-actions" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-ui-actions plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-ui-actions'] --- import kbnMlUiActionsObj from './kbn_ml_ui_actions.devdocs.json'; diff --git a/api_docs/kbn_ml_url_state.mdx b/api_docs/kbn_ml_url_state.mdx index 68f724104cb2c..5a3e03ca414d8 100644 --- a/api_docs/kbn_ml_url_state.mdx +++ b/api_docs/kbn_ml_url_state.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-url-state title: "@kbn/ml-url-state" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-url-state plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-url-state'] --- import kbnMlUrlStateObj from './kbn_ml_url_state.devdocs.json'; diff --git a/api_docs/kbn_mock_idp_utils.mdx b/api_docs/kbn_mock_idp_utils.mdx index d56e817f32cfe..fc37ea6be3b4f 100644 --- a/api_docs/kbn_mock_idp_utils.mdx +++ b/api_docs/kbn_mock_idp_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-mock-idp-utils title: "@kbn/mock-idp-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/mock-idp-utils plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/mock-idp-utils'] --- import kbnMockIdpUtilsObj from './kbn_mock_idp_utils.devdocs.json'; diff --git a/api_docs/kbn_monaco.devdocs.json b/api_docs/kbn_monaco.devdocs.json index a432c6389bae2..be1438d460f19 100644 --- a/api_docs/kbn_monaco.devdocs.json +++ b/api_docs/kbn_monaco.devdocs.json @@ -1182,6 +1182,9 @@ "tags": [], "label": "url", "description": [], + "signature": [ + "string | undefined" + ], "path": "packages/kbn-monaco/src/console/types.ts", "deprecated": false, "trackAdoption": false diff --git a/api_docs/kbn_monaco.mdx b/api_docs/kbn_monaco.mdx index 23ac7c7f51194..e661abe76b628 100644 --- a/api_docs/kbn_monaco.mdx +++ b/api_docs/kbn_monaco.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-monaco title: "@kbn/monaco" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/monaco plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/monaco'] --- import kbnMonacoObj from './kbn_monaco.devdocs.json'; diff --git a/api_docs/kbn_object_versioning.mdx b/api_docs/kbn_object_versioning.mdx index bce22ad4b56e8..64f2c306558a0 100644 --- a/api_docs/kbn_object_versioning.mdx +++ b/api_docs/kbn_object_versioning.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-object-versioning title: "@kbn/object-versioning" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/object-versioning plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/object-versioning'] --- import kbnObjectVersioningObj from './kbn_object_versioning.devdocs.json'; diff --git a/api_docs/kbn_observability_alert_details.mdx b/api_docs/kbn_observability_alert_details.mdx index ab2abedacdfb7..91625e84d5e1f 100644 --- a/api_docs/kbn_observability_alert_details.mdx +++ b/api_docs/kbn_observability_alert_details.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-observability-alert-details title: "@kbn/observability-alert-details" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/observability-alert-details plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/observability-alert-details'] --- import kbnObservabilityAlertDetailsObj from './kbn_observability_alert_details.devdocs.json'; diff --git a/api_docs/kbn_observability_alerting_test_data.mdx b/api_docs/kbn_observability_alerting_test_data.mdx index 6f86bf5ff4e02..be19fec03d798 100644 --- a/api_docs/kbn_observability_alerting_test_data.mdx +++ b/api_docs/kbn_observability_alerting_test_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-observability-alerting-test-data title: "@kbn/observability-alerting-test-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/observability-alerting-test-data plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/observability-alerting-test-data'] --- import kbnObservabilityAlertingTestDataObj from './kbn_observability_alerting_test_data.devdocs.json'; diff --git a/api_docs/kbn_observability_get_padded_alert_time_range_util.mdx b/api_docs/kbn_observability_get_padded_alert_time_range_util.mdx index 2cefb2e5feaa8..433cfd4bd7a73 100644 --- a/api_docs/kbn_observability_get_padded_alert_time_range_util.mdx +++ b/api_docs/kbn_observability_get_padded_alert_time_range_util.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-observability-get-padded-alert-time-range-util title: "@kbn/observability-get-padded-alert-time-range-util" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/observability-get-padded-alert-time-range-util plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/observability-get-padded-alert-time-range-util'] --- import kbnObservabilityGetPaddedAlertTimeRangeUtilObj from './kbn_observability_get_padded_alert_time_range_util.devdocs.json'; diff --git a/api_docs/kbn_openapi_bundler.mdx b/api_docs/kbn_openapi_bundler.mdx index 6f7bcb21157f8..0241c8b78bfa6 100644 --- a/api_docs/kbn_openapi_bundler.mdx +++ b/api_docs/kbn_openapi_bundler.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-openapi-bundler title: "@kbn/openapi-bundler" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/openapi-bundler plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/openapi-bundler'] --- import kbnOpenapiBundlerObj from './kbn_openapi_bundler.devdocs.json'; diff --git a/api_docs/kbn_openapi_generator.mdx b/api_docs/kbn_openapi_generator.mdx index a3843270d5540..e30c8feef22f4 100644 --- a/api_docs/kbn_openapi_generator.mdx +++ b/api_docs/kbn_openapi_generator.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-openapi-generator title: "@kbn/openapi-generator" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/openapi-generator plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/openapi-generator'] --- import kbnOpenapiGeneratorObj from './kbn_openapi_generator.devdocs.json'; diff --git a/api_docs/kbn_optimizer.mdx b/api_docs/kbn_optimizer.mdx index 32c15b1d0581a..578ce4eedf227 100644 --- a/api_docs/kbn_optimizer.mdx +++ b/api_docs/kbn_optimizer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-optimizer title: "@kbn/optimizer" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/optimizer plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/optimizer'] --- import kbnOptimizerObj from './kbn_optimizer.devdocs.json'; diff --git a/api_docs/kbn_optimizer_webpack_helpers.mdx b/api_docs/kbn_optimizer_webpack_helpers.mdx index 0d8c3816185a8..a91f3bd322495 100644 --- a/api_docs/kbn_optimizer_webpack_helpers.mdx +++ b/api_docs/kbn_optimizer_webpack_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-optimizer-webpack-helpers title: "@kbn/optimizer-webpack-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/optimizer-webpack-helpers plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/optimizer-webpack-helpers'] --- import kbnOptimizerWebpackHelpersObj from './kbn_optimizer_webpack_helpers.devdocs.json'; diff --git a/api_docs/kbn_osquery_io_ts_types.mdx b/api_docs/kbn_osquery_io_ts_types.mdx index d27bd79efae83..d0b4cf4461651 100644 --- a/api_docs/kbn_osquery_io_ts_types.mdx +++ b/api_docs/kbn_osquery_io_ts_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-osquery-io-ts-types title: "@kbn/osquery-io-ts-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/osquery-io-ts-types plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/osquery-io-ts-types'] --- import kbnOsqueryIoTsTypesObj from './kbn_osquery_io_ts_types.devdocs.json'; diff --git a/api_docs/kbn_panel_loader.mdx b/api_docs/kbn_panel_loader.mdx index 998c16ed1affb..80a1b890d9685 100644 --- a/api_docs/kbn_panel_loader.mdx +++ b/api_docs/kbn_panel_loader.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-panel-loader title: "@kbn/panel-loader" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/panel-loader plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/panel-loader'] --- import kbnPanelLoaderObj from './kbn_panel_loader.devdocs.json'; diff --git a/api_docs/kbn_performance_testing_dataset_extractor.mdx b/api_docs/kbn_performance_testing_dataset_extractor.mdx index 4c5416e26ed0f..3ee6e9cb3240d 100644 --- a/api_docs/kbn_performance_testing_dataset_extractor.mdx +++ b/api_docs/kbn_performance_testing_dataset_extractor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-performance-testing-dataset-extractor title: "@kbn/performance-testing-dataset-extractor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/performance-testing-dataset-extractor plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/performance-testing-dataset-extractor'] --- import kbnPerformanceTestingDatasetExtractorObj from './kbn_performance_testing_dataset_extractor.devdocs.json'; diff --git a/api_docs/kbn_plugin_check.mdx b/api_docs/kbn_plugin_check.mdx index b27b01dcff788..70276d9f61f05 100644 --- a/api_docs/kbn_plugin_check.mdx +++ b/api_docs/kbn_plugin_check.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-plugin-check title: "@kbn/plugin-check" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/plugin-check plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/plugin-check'] --- import kbnPluginCheckObj from './kbn_plugin_check.devdocs.json'; diff --git a/api_docs/kbn_plugin_generator.mdx b/api_docs/kbn_plugin_generator.mdx index 586db8494bb0c..a889a83457bee 100644 --- a/api_docs/kbn_plugin_generator.mdx +++ b/api_docs/kbn_plugin_generator.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-plugin-generator title: "@kbn/plugin-generator" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/plugin-generator plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/plugin-generator'] --- import kbnPluginGeneratorObj from './kbn_plugin_generator.devdocs.json'; diff --git a/api_docs/kbn_plugin_helpers.mdx b/api_docs/kbn_plugin_helpers.mdx index 6ef469883b64e..4572b2d7e2e5b 100644 --- a/api_docs/kbn_plugin_helpers.mdx +++ b/api_docs/kbn_plugin_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-plugin-helpers title: "@kbn/plugin-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/plugin-helpers plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/plugin-helpers'] --- import kbnPluginHelpersObj from './kbn_plugin_helpers.devdocs.json'; diff --git a/api_docs/kbn_presentation_containers.devdocs.json b/api_docs/kbn_presentation_containers.devdocs.json index 716fbb0bf73cd..46f36820b0d14 100644 --- a/api_docs/kbn_presentation_containers.devdocs.json +++ b/api_docs/kbn_presentation_containers.devdocs.json @@ -768,7 +768,7 @@ "label": "expandPanel", "description": [], "signature": [ - "(panelId?: string | undefined) => void" + "(panelId: string) => void" ], "path": "packages/presentation/presentation_containers/interfaces/panel_management.ts", "deprecated": false, @@ -782,12 +782,12 @@ "label": "panelId", "description": [], "signature": [ - "string | undefined" + "string" ], "path": "packages/presentation/presentation_containers/interfaces/panel_management.ts", "deprecated": false, "trackAdoption": false, - "isRequired": false + "isRequired": true } ], "returnComment": [] @@ -1139,7 +1139,7 @@ "section": "def-common.SerializedPanelState", "text": "SerializedPanelState" }, - "" + " | undefined" ], "path": "packages/presentation/presentation_containers/interfaces/child_state.ts", "deprecated": false, @@ -1194,7 +1194,7 @@ "tags": [], "label": "snapshotRuntimeState", "description": [ - "\nSerializes all runtime state exactly as it appears. This could be used\nto rehydrate a component's state without needing to deserialize it." + "\nSerializes all runtime state exactly as it appears. This can be used\nto rehydrate a component's state without needing to serialize then deserialize it." ], "signature": [ "() => RuntimeState" diff --git a/api_docs/kbn_presentation_containers.mdx b/api_docs/kbn_presentation_containers.mdx index 86b3132502f3c..7e65523bab9c1 100644 --- a/api_docs/kbn_presentation_containers.mdx +++ b/api_docs/kbn_presentation_containers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-presentation-containers title: "@kbn/presentation-containers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/presentation-containers plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/presentation-containers'] --- import kbnPresentationContainersObj from './kbn_presentation_containers.devdocs.json'; diff --git a/api_docs/kbn_presentation_publishing.devdocs.json b/api_docs/kbn_presentation_publishing.devdocs.json index a91b622e34450..e77aadbe13c1c 100644 --- a/api_docs/kbn_presentation_publishing.devdocs.json +++ b/api_docs/kbn_presentation_publishing.devdocs.json @@ -196,7 +196,8 @@ "docId": "kibKbnPresentationPublishingPluginApi", "section": "def-common.HasInPlaceLibraryTransforms", "text": "HasInPlaceLibraryTransforms" - } + }, + "" ], "path": "packages/presentation/presentation_publishing/interfaces/has_library_transforms.ts", "deprecated": false, @@ -987,6 +988,46 @@ "returnComment": [], "initialIsOpen": false }, + { + "parentPluginId": "@kbn/presentation-publishing", + "id": "def-common.apiPublishesTimeslice", + "type": "Function", + "tags": [], + "label": "apiPublishesTimeslice", + "description": [], + "signature": [ + "(unknownApi: unknown) => unknownApi is ", + { + "pluginId": "@kbn/presentation-publishing", + "scope": "common", + "docId": "kibKbnPresentationPublishingPluginApi", + "section": "def-common.PublishesTimeslice", + "text": "PublishesTimeslice" + } + ], + "path": "packages/presentation/presentation_publishing/interfaces/fetch/publishes_unified_search.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/presentation-publishing", + "id": "def-common.apiPublishesTimeslice.$1", + "type": "Unknown", + "tags": [], + "label": "unknownApi", + "description": [], + "signature": [ + "unknown" + ], + "path": "packages/presentation/presentation_publishing/interfaces/fetch/publishes_unified_search.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, { "parentPluginId": "@kbn/presentation-publishing", "id": "def-common.apiPublishesUnifiedSearch", @@ -1936,6 +1977,46 @@ "returnComment": [], "initialIsOpen": false }, + { + "parentPluginId": "@kbn/presentation-publishing", + "id": "def-common.stateHasTitles", + "type": "Function", + "tags": [], + "label": "stateHasTitles", + "description": [], + "signature": [ + "(state: unknown) => state is ", + { + "pluginId": "@kbn/presentation-publishing", + "scope": "common", + "docId": "kibKbnPresentationPublishingPluginApi", + "section": "def-common.SerializedTitles", + "text": "SerializedTitles" + } + ], + "path": "packages/presentation/presentation_publishing/interfaces/titles/titles_api.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/presentation-publishing", + "id": "def-common.stateHasTitles.$1", + "type": "Unknown", + "tags": [], + "label": "state", + "description": [], + "signature": [ + "unknown" + ], + "path": "packages/presentation/presentation_publishing/interfaces/titles/titles_api.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, { "parentPluginId": "@kbn/presentation-publishing", "id": "def-common.useBatchedOptionalPublishingSubjects", @@ -2792,7 +2873,7 @@ "section": "def-common.HasInPlaceLibraryTransforms", "text": "HasInPlaceLibraryTransforms" }, - " extends Partial,DuplicateTitleCheck" + " extends Partial,DuplicateTitleCheck" ], "path": "packages/presentation/presentation_publishing/interfaces/has_library_transforms.ts", "deprecated": false, @@ -3000,6 +3081,24 @@ "id of persisted library item" ] }, + { + "parentPluginId": "@kbn/presentation-publishing", + "id": "def-common.HasInPlaceLibraryTransforms.getByValueRuntimeSnapshot", + "type": "Function", + "tags": [], + "label": "getByValueRuntimeSnapshot", + "description": [ + "\ngets a snapshot of this embeddable's runtime state without any state that links it to a library item." + ], + "signature": [ + "() => RuntimeState" + ], + "path": "packages/presentation/presentation_publishing/interfaces/has_library_transforms.ts", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [] + }, { "parentPluginId": "@kbn/presentation-publishing", "id": "def-common.HasInPlaceLibraryTransforms.unlinkFromLibrary", @@ -3025,11 +3124,11 @@ "parentPluginId": "@kbn/presentation-publishing", "id": "def-common.HasLibraryTransforms", "type": "Interface", - "tags": [], - "label": "HasLibraryTransforms", - "description": [ - "\nAPIs that inherit this interface can be linked to and unlinked from the library. After the save or unlink\noperation, the embeddable will be reinitialized." + "tags": [ + "deprecated" ], + "label": "HasLibraryTransforms", + "description": [], "signature": [ { "pluginId": "@kbn/presentation-publishing", @@ -3041,8 +3140,42 @@ " extends LibraryTransformGuards,DuplicateTitleCheck" ], "path": "packages/presentation/presentation_publishing/interfaces/has_library_transforms.ts", - "deprecated": false, + "deprecated": true, "trackAdoption": false, + "references": [ + { + "plugin": "dashboard", + "path": "src/plugins/dashboard/public/dashboard_actions/add_to_library_action.tsx" + }, + { + "plugin": "dashboard", + "path": "src/plugins/dashboard/public/dashboard_actions/add_to_library_action.tsx" + }, + { + "plugin": "dashboard", + "path": "src/plugins/dashboard/public/dashboard_actions/unlink_from_library_action.tsx" + }, + { + "plugin": "dashboard", + "path": "src/plugins/dashboard/public/dashboard_actions/unlink_from_library_action.tsx" + }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/public/react_embeddable/types.ts" + }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/public/react_embeddable/types.ts" + }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/public/react_embeddable/library_transforms.ts" + }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/public/react_embeddable/library_transforms.ts" + } + ], "children": [ { "parentPluginId": "@kbn/presentation-publishing", @@ -5828,14 +5961,15 @@ "section": "def-common.PublishesTimeRange", "text": "PublishesTimeRange" }, - " extends ", + " extends Partial<", { "pluginId": "@kbn/presentation-publishing", "scope": "common", "docId": "kibKbnPresentationPublishingPluginApi", "section": "def-common.PublishesTimeslice", "text": "PublishesTimeslice" - } + }, + ">" ], "path": "packages/presentation/presentation_publishing/interfaces/fetch/publishes_unified_search.ts", "deprecated": false, @@ -6248,14 +6382,157 @@ "label": "timeslice$", "description": [], "signature": [ - { - "pluginId": "@kbn/presentation-publishing", - "scope": "common", - "docId": "kibKbnPresentationPublishingPluginApi", - "section": "def-common.PublishingSubject", - "text": "PublishingSubject" - }, - "<[number, number] | undefined> | undefined" + "{ source: ", + "Observable", + " | undefined; readonly value: [number, number] | undefined; error: (err: any) => void; forEach: { (next: (value: [number, number] | undefined) => void): Promise; (next: (value: [number, number] | undefined) => void, promiseCtor: PromiseConstructorLike): Promise; }; complete: () => void; getValue: () => [number, number] | undefined; pipe: { (): ", + "Observable", + "<[number, number] | undefined>; (op1: ", + "OperatorFunction", + "<[number, number] | undefined, A>): ", + "Observable", + "; (op1: ", + "OperatorFunction", + "<[number, number] | undefined, A>, op2: ", + "OperatorFunction", + "): ", + "Observable", + "; (op1: ", + "OperatorFunction", + "<[number, number] | undefined, A>, op2: ", + "OperatorFunction", + ", op3: ", + "OperatorFunction", + "): ", + "Observable", + "; (op1: ", + "OperatorFunction", + "<[number, number] | undefined, A>, op2: ", + "OperatorFunction", + ", op3: ", + "OperatorFunction", + ", op4: ", + "OperatorFunction", + "): ", + "Observable", + "; (op1: ", + "OperatorFunction", + "<[number, number] | undefined, A>, op2: ", + "OperatorFunction", + ", op3: ", + "OperatorFunction", + ", op4: ", + "OperatorFunction", + ", op5: ", + "OperatorFunction", + "): ", + "Observable", + "; (op1: ", + "OperatorFunction", + "<[number, number] | undefined, A>, op2: ", + "OperatorFunction", + ", op3: ", + "OperatorFunction", + ", op4: ", + "OperatorFunction", + ", op5: ", + "OperatorFunction", + ", op6: ", + "OperatorFunction", + "): ", + "Observable", + "; (op1: ", + "OperatorFunction", + "<[number, number] | undefined, A>, op2: ", + "OperatorFunction", + ", op3: ", + "OperatorFunction", + ", op4: ", + "OperatorFunction", + ", op5: ", + "OperatorFunction", + ", op6: ", + "OperatorFunction", + ", op7: ", + "OperatorFunction", + "): ", + "Observable", + "; (op1: ", + "OperatorFunction", + "<[number, number] | undefined, A>, op2: ", + "OperatorFunction", + ", op3: ", + "OperatorFunction", + ", op4: ", + "OperatorFunction", + ", op5: ", + "OperatorFunction", + ", op6: ", + "OperatorFunction", + ", op7: ", + "OperatorFunction", + ", op8: ", + "OperatorFunction", + "): ", + "Observable", + "; (op1: ", + "OperatorFunction", + "<[number, number] | undefined, A>, op2: ", + "OperatorFunction", + ", op3: ", + "OperatorFunction", + ", op4: ", + "OperatorFunction", + ", op5: ", + "OperatorFunction", + ", op6: ", + "OperatorFunction", + ", op7: ", + "OperatorFunction", + ", op8: ", + "OperatorFunction", + ", op9: ", + "OperatorFunction", + "): ", + "Observable", + "; (op1: ", + "OperatorFunction", + "<[number, number] | undefined, A>, op2: ", + "OperatorFunction", + ", op3: ", + "OperatorFunction", + ", op4: ", + "OperatorFunction", + ", op5: ", + "OperatorFunction", + ", op6: ", + "OperatorFunction", + ", op7: ", + "OperatorFunction", + ", op8: ", + "OperatorFunction", + ", op9: ", + "OperatorFunction", + ", ...operations: ", + "OperatorFunction", + "[]): ", + "Observable", + "; }; closed: boolean; observers: ", + "Observer", + "<[number, number] | undefined>[]; isStopped: boolean; hasError: boolean; thrownError: any; lift: (operator: ", + "Operator", + "<[number, number] | undefined, R>) => ", + "Observable", + "; unsubscribe: () => void; readonly observed: boolean; asObservable: () => ", + "Observable", + "<[number, number] | undefined>; operator: ", + "Operator", + " | undefined; subscribe: { (observerOrNext?: Partial<", + "Observer", + "<[number, number] | undefined>> | ((value: [number, number] | undefined) => void) | undefined): ", + "Subscription", + "; (next?: ((value: [number, number] | undefined) => void) | null | undefined, error?: ((error: any) => void) | null | undefined, complete?: (() => void) | null | undefined): ", + "Subscription", + "; }; toPromise: { (): Promise<[number, number] | undefined>; (PromiseCtor: PromiseConstructor): Promise<[number, number] | undefined>; (PromiseCtor: PromiseConstructorLike): Promise<[number, number] | undefined>; }; }" ], "path": "packages/presentation/presentation_publishing/interfaces/fetch/publishes_unified_search.ts", "deprecated": false, diff --git a/api_docs/kbn_presentation_publishing.mdx b/api_docs/kbn_presentation_publishing.mdx index 0e021d0ca307c..319c95cf83786 100644 --- a/api_docs/kbn_presentation_publishing.mdx +++ b/api_docs/kbn_presentation_publishing.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-presentation-publishing title: "@kbn/presentation-publishing" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/presentation-publishing plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/presentation-publishing'] --- import kbnPresentationPublishingObj from './kbn_presentation_publishing.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-presentation](https://github.com/orgs/elastic/teams/kib | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 209 | 0 | 174 | 5 | +| 214 | 0 | 179 | 5 | ## Common diff --git a/api_docs/kbn_profiling_utils.mdx b/api_docs/kbn_profiling_utils.mdx index 68813cccd6190..5787bc899922b 100644 --- a/api_docs/kbn_profiling_utils.mdx +++ b/api_docs/kbn_profiling_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-profiling-utils title: "@kbn/profiling-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/profiling-utils plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/profiling-utils'] --- import kbnProfilingUtilsObj from './kbn_profiling_utils.devdocs.json'; diff --git a/api_docs/kbn_random_sampling.mdx b/api_docs/kbn_random_sampling.mdx index b29ce64a87355..bc834e386a1a1 100644 --- a/api_docs/kbn_random_sampling.mdx +++ b/api_docs/kbn_random_sampling.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-random-sampling title: "@kbn/random-sampling" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/random-sampling plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/random-sampling'] --- import kbnRandomSamplingObj from './kbn_random_sampling.devdocs.json'; diff --git a/api_docs/kbn_react_field.mdx b/api_docs/kbn_react_field.mdx index f411673525943..0e0e91edaeecc 100644 --- a/api_docs/kbn_react_field.mdx +++ b/api_docs/kbn_react_field.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-field title: "@kbn/react-field" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-field plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-field'] --- import kbnReactFieldObj from './kbn_react_field.devdocs.json'; diff --git a/api_docs/kbn_react_hooks.mdx b/api_docs/kbn_react_hooks.mdx index a7443008e4121..599a0823c784e 100644 --- a/api_docs/kbn_react_hooks.mdx +++ b/api_docs/kbn_react_hooks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-hooks title: "@kbn/react-hooks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-hooks plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-hooks'] --- import kbnReactHooksObj from './kbn_react_hooks.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_common.mdx b/api_docs/kbn_react_kibana_context_common.mdx index 0f8bb09a45811..c1c8ed2f9a9d5 100644 --- a/api_docs/kbn_react_kibana_context_common.mdx +++ b/api_docs/kbn_react_kibana_context_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-common title: "@kbn/react-kibana-context-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-common plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-common'] --- import kbnReactKibanaContextCommonObj from './kbn_react_kibana_context_common.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_render.mdx b/api_docs/kbn_react_kibana_context_render.mdx index 201f21fd2072d..281ff406e4ec0 100644 --- a/api_docs/kbn_react_kibana_context_render.mdx +++ b/api_docs/kbn_react_kibana_context_render.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-render title: "@kbn/react-kibana-context-render" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-render plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-render'] --- import kbnReactKibanaContextRenderObj from './kbn_react_kibana_context_render.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_root.mdx b/api_docs/kbn_react_kibana_context_root.mdx index 23e6f601bf27c..4bc306b75802b 100644 --- a/api_docs/kbn_react_kibana_context_root.mdx +++ b/api_docs/kbn_react_kibana_context_root.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-root title: "@kbn/react-kibana-context-root" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-root plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-root'] --- import kbnReactKibanaContextRootObj from './kbn_react_kibana_context_root.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_styled.mdx b/api_docs/kbn_react_kibana_context_styled.mdx index 98dcc858cab1f..54585e9c79536 100644 --- a/api_docs/kbn_react_kibana_context_styled.mdx +++ b/api_docs/kbn_react_kibana_context_styled.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-styled title: "@kbn/react-kibana-context-styled" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-styled plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-styled'] --- import kbnReactKibanaContextStyledObj from './kbn_react_kibana_context_styled.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_theme.mdx b/api_docs/kbn_react_kibana_context_theme.mdx index 5f617bee8c48c..3c441d5c97018 100644 --- a/api_docs/kbn_react_kibana_context_theme.mdx +++ b/api_docs/kbn_react_kibana_context_theme.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-theme title: "@kbn/react-kibana-context-theme" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-theme plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-theme'] --- import kbnReactKibanaContextThemeObj from './kbn_react_kibana_context_theme.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_mount.mdx b/api_docs/kbn_react_kibana_mount.mdx index fb82a4b897546..371f9635bb51b 100644 --- a/api_docs/kbn_react_kibana_mount.mdx +++ b/api_docs/kbn_react_kibana_mount.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-mount title: "@kbn/react-kibana-mount" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-mount plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-mount'] --- import kbnReactKibanaMountObj from './kbn_react_kibana_mount.devdocs.json'; diff --git a/api_docs/kbn_repo_file_maps.mdx b/api_docs/kbn_repo_file_maps.mdx index 7f7f696d78a68..3c2a1bcf448c6 100644 --- a/api_docs/kbn_repo_file_maps.mdx +++ b/api_docs/kbn_repo_file_maps.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-file-maps title: "@kbn/repo-file-maps" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-file-maps plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-file-maps'] --- import kbnRepoFileMapsObj from './kbn_repo_file_maps.devdocs.json'; diff --git a/api_docs/kbn_repo_linter.mdx b/api_docs/kbn_repo_linter.mdx index fb5c4a1524b4d..4ba53eaf5461f 100644 --- a/api_docs/kbn_repo_linter.mdx +++ b/api_docs/kbn_repo_linter.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-linter title: "@kbn/repo-linter" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-linter plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-linter'] --- import kbnRepoLinterObj from './kbn_repo_linter.devdocs.json'; diff --git a/api_docs/kbn_repo_path.mdx b/api_docs/kbn_repo_path.mdx index 5a840e912f536..0df152709c95f 100644 --- a/api_docs/kbn_repo_path.mdx +++ b/api_docs/kbn_repo_path.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-path title: "@kbn/repo-path" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-path plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-path'] --- import kbnRepoPathObj from './kbn_repo_path.devdocs.json'; diff --git a/api_docs/kbn_repo_source_classifier.mdx b/api_docs/kbn_repo_source_classifier.mdx index 3ff67fc3ea8ce..37c10b3f4505b 100644 --- a/api_docs/kbn_repo_source_classifier.mdx +++ b/api_docs/kbn_repo_source_classifier.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-source-classifier title: "@kbn/repo-source-classifier" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-source-classifier plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-source-classifier'] --- import kbnRepoSourceClassifierObj from './kbn_repo_source_classifier.devdocs.json'; diff --git a/api_docs/kbn_reporting_common.mdx b/api_docs/kbn_reporting_common.mdx index 89ec0443f6839..7f3a661b90e18 100644 --- a/api_docs/kbn_reporting_common.mdx +++ b/api_docs/kbn_reporting_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-common title: "@kbn/reporting-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-common plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-common'] --- import kbnReportingCommonObj from './kbn_reporting_common.devdocs.json'; diff --git a/api_docs/kbn_reporting_csv_share_panel.mdx b/api_docs/kbn_reporting_csv_share_panel.mdx index ce737fb4e4b06..cf048168fa9c1 100644 --- a/api_docs/kbn_reporting_csv_share_panel.mdx +++ b/api_docs/kbn_reporting_csv_share_panel.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-csv-share-panel title: "@kbn/reporting-csv-share-panel" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-csv-share-panel plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-csv-share-panel'] --- import kbnReportingCsvSharePanelObj from './kbn_reporting_csv_share_panel.devdocs.json'; diff --git a/api_docs/kbn_reporting_export_types_csv.mdx b/api_docs/kbn_reporting_export_types_csv.mdx index 00ce6fed4ce0b..42539c54053c1 100644 --- a/api_docs/kbn_reporting_export_types_csv.mdx +++ b/api_docs/kbn_reporting_export_types_csv.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-export-types-csv title: "@kbn/reporting-export-types-csv" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-export-types-csv plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-export-types-csv'] --- import kbnReportingExportTypesCsvObj from './kbn_reporting_export_types_csv.devdocs.json'; diff --git a/api_docs/kbn_reporting_export_types_csv_common.mdx b/api_docs/kbn_reporting_export_types_csv_common.mdx index 03cc56bb5dd51..44a1cba0963a7 100644 --- a/api_docs/kbn_reporting_export_types_csv_common.mdx +++ b/api_docs/kbn_reporting_export_types_csv_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-export-types-csv-common title: "@kbn/reporting-export-types-csv-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-export-types-csv-common plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-export-types-csv-common'] --- import kbnReportingExportTypesCsvCommonObj from './kbn_reporting_export_types_csv_common.devdocs.json'; diff --git a/api_docs/kbn_reporting_export_types_pdf.mdx b/api_docs/kbn_reporting_export_types_pdf.mdx index 2737f4db07ce4..67331ca76b59b 100644 --- a/api_docs/kbn_reporting_export_types_pdf.mdx +++ b/api_docs/kbn_reporting_export_types_pdf.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-export-types-pdf title: "@kbn/reporting-export-types-pdf" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-export-types-pdf plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-export-types-pdf'] --- import kbnReportingExportTypesPdfObj from './kbn_reporting_export_types_pdf.devdocs.json'; diff --git a/api_docs/kbn_reporting_export_types_pdf_common.mdx b/api_docs/kbn_reporting_export_types_pdf_common.mdx index 574ac8e9ca734..d6aa4f0c84b35 100644 --- a/api_docs/kbn_reporting_export_types_pdf_common.mdx +++ b/api_docs/kbn_reporting_export_types_pdf_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-export-types-pdf-common title: "@kbn/reporting-export-types-pdf-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-export-types-pdf-common plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-export-types-pdf-common'] --- import kbnReportingExportTypesPdfCommonObj from './kbn_reporting_export_types_pdf_common.devdocs.json'; diff --git a/api_docs/kbn_reporting_export_types_png.mdx b/api_docs/kbn_reporting_export_types_png.mdx index 2977c93c5c0c4..fcc6a344808e2 100644 --- a/api_docs/kbn_reporting_export_types_png.mdx +++ b/api_docs/kbn_reporting_export_types_png.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-export-types-png title: "@kbn/reporting-export-types-png" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-export-types-png plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-export-types-png'] --- import kbnReportingExportTypesPngObj from './kbn_reporting_export_types_png.devdocs.json'; diff --git a/api_docs/kbn_reporting_export_types_png_common.mdx b/api_docs/kbn_reporting_export_types_png_common.mdx index 1fe929de376f3..1237c934a286d 100644 --- a/api_docs/kbn_reporting_export_types_png_common.mdx +++ b/api_docs/kbn_reporting_export_types_png_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-export-types-png-common title: "@kbn/reporting-export-types-png-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-export-types-png-common plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-export-types-png-common'] --- import kbnReportingExportTypesPngCommonObj from './kbn_reporting_export_types_png_common.devdocs.json'; diff --git a/api_docs/kbn_reporting_mocks_server.mdx b/api_docs/kbn_reporting_mocks_server.mdx index 80424616f17b4..a72dd07785692 100644 --- a/api_docs/kbn_reporting_mocks_server.mdx +++ b/api_docs/kbn_reporting_mocks_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-mocks-server title: "@kbn/reporting-mocks-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-mocks-server plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-mocks-server'] --- import kbnReportingMocksServerObj from './kbn_reporting_mocks_server.devdocs.json'; diff --git a/api_docs/kbn_reporting_public.mdx b/api_docs/kbn_reporting_public.mdx index 2bdca194559a5..867d5182c977e 100644 --- a/api_docs/kbn_reporting_public.mdx +++ b/api_docs/kbn_reporting_public.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-public title: "@kbn/reporting-public" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-public plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-public'] --- import kbnReportingPublicObj from './kbn_reporting_public.devdocs.json'; diff --git a/api_docs/kbn_reporting_server.mdx b/api_docs/kbn_reporting_server.mdx index b1e93c3e64713..e6ffe5f822ccd 100644 --- a/api_docs/kbn_reporting_server.mdx +++ b/api_docs/kbn_reporting_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-server title: "@kbn/reporting-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-server plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-server'] --- import kbnReportingServerObj from './kbn_reporting_server.devdocs.json'; diff --git a/api_docs/kbn_resizable_layout.mdx b/api_docs/kbn_resizable_layout.mdx index 2cd1f2d49eaff..e378294f2f369 100644 --- a/api_docs/kbn_resizable_layout.mdx +++ b/api_docs/kbn_resizable_layout.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-resizable-layout title: "@kbn/resizable-layout" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/resizable-layout plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/resizable-layout'] --- import kbnResizableLayoutObj from './kbn_resizable_layout.devdocs.json'; diff --git a/api_docs/kbn_response_ops_feature_flag_service.mdx b/api_docs/kbn_response_ops_feature_flag_service.mdx index 832f03fdfeb36..198ea3b790a68 100644 --- a/api_docs/kbn_response_ops_feature_flag_service.mdx +++ b/api_docs/kbn_response_ops_feature_flag_service.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-response-ops-feature-flag-service title: "@kbn/response-ops-feature-flag-service" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/response-ops-feature-flag-service plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/response-ops-feature-flag-service'] --- import kbnResponseOpsFeatureFlagServiceObj from './kbn_response_ops_feature_flag_service.devdocs.json'; diff --git a/api_docs/kbn_rison.mdx b/api_docs/kbn_rison.mdx index 02fe8a3f84e65..3363a59e9c9f1 100644 --- a/api_docs/kbn_rison.mdx +++ b/api_docs/kbn_rison.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-rison title: "@kbn/rison" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/rison plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/rison'] --- import kbnRisonObj from './kbn_rison.devdocs.json'; diff --git a/api_docs/kbn_router_to_openapispec.mdx b/api_docs/kbn_router_to_openapispec.mdx index 3a36a6cad5926..eb3d7cabccdc4 100644 --- a/api_docs/kbn_router_to_openapispec.mdx +++ b/api_docs/kbn_router_to_openapispec.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-router-to-openapispec title: "@kbn/router-to-openapispec" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/router-to-openapispec plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/router-to-openapispec'] --- import kbnRouterToOpenapispecObj from './kbn_router_to_openapispec.devdocs.json'; diff --git a/api_docs/kbn_router_utils.mdx b/api_docs/kbn_router_utils.mdx index ff48953d6b839..f03baf648a10f 100644 --- a/api_docs/kbn_router_utils.mdx +++ b/api_docs/kbn_router_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-router-utils title: "@kbn/router-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/router-utils plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/router-utils'] --- import kbnRouterUtilsObj from './kbn_router_utils.devdocs.json'; diff --git a/api_docs/kbn_rrule.mdx b/api_docs/kbn_rrule.mdx index 2938c97001f60..64332969168c9 100644 --- a/api_docs/kbn_rrule.mdx +++ b/api_docs/kbn_rrule.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-rrule title: "@kbn/rrule" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/rrule plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/rrule'] --- import kbnRruleObj from './kbn_rrule.devdocs.json'; diff --git a/api_docs/kbn_rule_data_utils.mdx b/api_docs/kbn_rule_data_utils.mdx index bcc4f8825b62b..119564ae46eda 100644 --- a/api_docs/kbn_rule_data_utils.mdx +++ b/api_docs/kbn_rule_data_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-rule-data-utils title: "@kbn/rule-data-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/rule-data-utils plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/rule-data-utils'] --- import kbnRuleDataUtilsObj from './kbn_rule_data_utils.devdocs.json'; diff --git a/api_docs/kbn_saved_objects_settings.mdx b/api_docs/kbn_saved_objects_settings.mdx index 3f3dd6ae50a6d..92b80ee4696af 100644 --- a/api_docs/kbn_saved_objects_settings.mdx +++ b/api_docs/kbn_saved_objects_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-saved-objects-settings title: "@kbn/saved-objects-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/saved-objects-settings plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/saved-objects-settings'] --- import kbnSavedObjectsSettingsObj from './kbn_saved_objects_settings.devdocs.json'; diff --git a/api_docs/kbn_search_api_panels.mdx b/api_docs/kbn_search_api_panels.mdx index 180f6feaa00b6..76128534044d6 100644 --- a/api_docs/kbn_search_api_panels.mdx +++ b/api_docs/kbn_search_api_panels.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-api-panels title: "@kbn/search-api-panels" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/search-api-panels plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-api-panels'] --- import kbnSearchApiPanelsObj from './kbn_search_api_panels.devdocs.json'; diff --git a/api_docs/kbn_search_connectors.mdx b/api_docs/kbn_search_connectors.mdx index b9c9c36ee0cc4..309b2f54502a5 100644 --- a/api_docs/kbn_search_connectors.mdx +++ b/api_docs/kbn_search_connectors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-connectors title: "@kbn/search-connectors" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/search-connectors plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-connectors'] --- import kbnSearchConnectorsObj from './kbn_search_connectors.devdocs.json'; diff --git a/api_docs/kbn_search_errors.mdx b/api_docs/kbn_search_errors.mdx index 95d9c212126d9..40e3b4f7cda2c 100644 --- a/api_docs/kbn_search_errors.mdx +++ b/api_docs/kbn_search_errors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-errors title: "@kbn/search-errors" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/search-errors plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-errors'] --- import kbnSearchErrorsObj from './kbn_search_errors.devdocs.json'; diff --git a/api_docs/kbn_search_index_documents.mdx b/api_docs/kbn_search_index_documents.mdx index af6487fc4bd74..ba5d87517880b 100644 --- a/api_docs/kbn_search_index_documents.mdx +++ b/api_docs/kbn_search_index_documents.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-index-documents title: "@kbn/search-index-documents" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/search-index-documents plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-index-documents'] --- import kbnSearchIndexDocumentsObj from './kbn_search_index_documents.devdocs.json'; diff --git a/api_docs/kbn_search_response_warnings.mdx b/api_docs/kbn_search_response_warnings.mdx index 164bc07bfde00..913debefff426 100644 --- a/api_docs/kbn_search_response_warnings.mdx +++ b/api_docs/kbn_search_response_warnings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-response-warnings title: "@kbn/search-response-warnings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/search-response-warnings plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-response-warnings'] --- import kbnSearchResponseWarningsObj from './kbn_search_response_warnings.devdocs.json'; diff --git a/api_docs/kbn_search_types.mdx b/api_docs/kbn_search_types.mdx index bde8f9b48769a..e5293ae2c1bf9 100644 --- a/api_docs/kbn_search_types.mdx +++ b/api_docs/kbn_search_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-types title: "@kbn/search-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/search-types plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-types'] --- import kbnSearchTypesObj from './kbn_search_types.devdocs.json'; diff --git a/api_docs/kbn_security_hardening.mdx b/api_docs/kbn_security_hardening.mdx index d77972c92b169..871caa61ba866 100644 --- a/api_docs/kbn_security_hardening.mdx +++ b/api_docs/kbn_security_hardening.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-hardening title: "@kbn/security-hardening" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-hardening plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-hardening'] --- import kbnSecurityHardeningObj from './kbn_security_hardening.devdocs.json'; diff --git a/api_docs/kbn_security_plugin_types_common.mdx b/api_docs/kbn_security_plugin_types_common.mdx index 6af26b6b71fbf..162861e8154eb 100644 --- a/api_docs/kbn_security_plugin_types_common.mdx +++ b/api_docs/kbn_security_plugin_types_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-plugin-types-common title: "@kbn/security-plugin-types-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-plugin-types-common plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-plugin-types-common'] --- import kbnSecurityPluginTypesCommonObj from './kbn_security_plugin_types_common.devdocs.json'; diff --git a/api_docs/kbn_security_plugin_types_public.mdx b/api_docs/kbn_security_plugin_types_public.mdx index e9c43ae092a19..ff1bfabaf0ef4 100644 --- a/api_docs/kbn_security_plugin_types_public.mdx +++ b/api_docs/kbn_security_plugin_types_public.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-plugin-types-public title: "@kbn/security-plugin-types-public" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-plugin-types-public plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-plugin-types-public'] --- import kbnSecurityPluginTypesPublicObj from './kbn_security_plugin_types_public.devdocs.json'; diff --git a/api_docs/kbn_security_plugin_types_server.devdocs.json b/api_docs/kbn_security_plugin_types_server.devdocs.json index 15aea85d3b059..9e4605fe0085b 100644 --- a/api_docs/kbn_security_plugin_types_server.devdocs.json +++ b/api_docs/kbn_security_plugin_types_server.devdocs.json @@ -3379,6 +3379,26 @@ "plugin": "apm", "path": "x-pack/plugins/observability_solution/apm/server/routes/fleet/is_superuser.ts" }, + { + "plugin": "assetManager", + "path": "x-pack/plugins/observability_solution/asset_manager/server/lib/auth/api_key/api_key.ts" + }, + { + "plugin": "assetManager", + "path": "x-pack/plugins/observability_solution/asset_manager/server/lib/auth/api_key/api_key.ts" + }, + { + "plugin": "assetManager", + "path": "x-pack/plugins/observability_solution/asset_manager/server/lib/auth/api_key/api_key.ts" + }, + { + "plugin": "assetManager", + "path": "x-pack/plugins/observability_solution/asset_manager/server/routes/enablement/enable.ts" + }, + { + "plugin": "assetManager", + "path": "x-pack/plugins/observability_solution/asset_manager/server/routes/enablement/disable.ts" + }, { "plugin": "synthetics", "path": "x-pack/plugins/observability_solution/synthetics/server/synthetics_service/get_api_key.ts" diff --git a/api_docs/kbn_security_plugin_types_server.mdx b/api_docs/kbn_security_plugin_types_server.mdx index 1e2222e5ee35b..caad2d9f05d8a 100644 --- a/api_docs/kbn_security_plugin_types_server.mdx +++ b/api_docs/kbn_security_plugin_types_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-plugin-types-server title: "@kbn/security-plugin-types-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-plugin-types-server plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-plugin-types-server'] --- import kbnSecurityPluginTypesServerObj from './kbn_security_plugin_types_server.devdocs.json'; diff --git a/api_docs/kbn_security_solution_features.mdx b/api_docs/kbn_security_solution_features.mdx index 9d91ab7470056..5a3429f2adbb7 100644 --- a/api_docs/kbn_security_solution_features.mdx +++ b/api_docs/kbn_security_solution_features.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-features title: "@kbn/security-solution-features" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-features plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-features'] --- import kbnSecuritySolutionFeaturesObj from './kbn_security_solution_features.devdocs.json'; diff --git a/api_docs/kbn_security_solution_navigation.mdx b/api_docs/kbn_security_solution_navigation.mdx index 6bf6254bc2591..61ed90c529415 100644 --- a/api_docs/kbn_security_solution_navigation.mdx +++ b/api_docs/kbn_security_solution_navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-navigation title: "@kbn/security-solution-navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-navigation plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-navigation'] --- import kbnSecuritySolutionNavigationObj from './kbn_security_solution_navigation.devdocs.json'; diff --git a/api_docs/kbn_security_solution_side_nav.mdx b/api_docs/kbn_security_solution_side_nav.mdx index d011760047994..5027b75bfc2b7 100644 --- a/api_docs/kbn_security_solution_side_nav.mdx +++ b/api_docs/kbn_security_solution_side_nav.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-side-nav title: "@kbn/security-solution-side-nav" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-side-nav plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-side-nav'] --- import kbnSecuritySolutionSideNavObj from './kbn_security_solution_side_nav.devdocs.json'; diff --git a/api_docs/kbn_security_solution_storybook_config.mdx b/api_docs/kbn_security_solution_storybook_config.mdx index 168d289b799cd..78fcc58350e34 100644 --- a/api_docs/kbn_security_solution_storybook_config.mdx +++ b/api_docs/kbn_security_solution_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-storybook-config title: "@kbn/security-solution-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-storybook-config plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-storybook-config'] --- import kbnSecuritySolutionStorybookConfigObj from './kbn_security_solution_storybook_config.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_autocomplete.mdx b/api_docs/kbn_securitysolution_autocomplete.mdx index 2ac141175ccf8..18b64b68c6d6c 100644 --- a/api_docs/kbn_securitysolution_autocomplete.mdx +++ b/api_docs/kbn_securitysolution_autocomplete.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-autocomplete title: "@kbn/securitysolution-autocomplete" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-autocomplete plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-autocomplete'] --- import kbnSecuritysolutionAutocompleteObj from './kbn_securitysolution_autocomplete.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_data_table.mdx b/api_docs/kbn_securitysolution_data_table.mdx index d6a3696437744..5893791dea3ba 100644 --- a/api_docs/kbn_securitysolution_data_table.mdx +++ b/api_docs/kbn_securitysolution_data_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-data-table title: "@kbn/securitysolution-data-table" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-data-table plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-data-table'] --- import kbnSecuritysolutionDataTableObj from './kbn_securitysolution_data_table.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_ecs.mdx b/api_docs/kbn_securitysolution_ecs.mdx index 8762cacb033b3..424cce81c938b 100644 --- a/api_docs/kbn_securitysolution_ecs.mdx +++ b/api_docs/kbn_securitysolution_ecs.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-ecs title: "@kbn/securitysolution-ecs" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-ecs plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-ecs'] --- import kbnSecuritysolutionEcsObj from './kbn_securitysolution_ecs.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_es_utils.mdx b/api_docs/kbn_securitysolution_es_utils.mdx index ff2f0609cc740..2b6dd42446466 100644 --- a/api_docs/kbn_securitysolution_es_utils.mdx +++ b/api_docs/kbn_securitysolution_es_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-es-utils title: "@kbn/securitysolution-es-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-es-utils plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-es-utils'] --- import kbnSecuritysolutionEsUtilsObj from './kbn_securitysolution_es_utils.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_exception_list_components.mdx b/api_docs/kbn_securitysolution_exception_list_components.mdx index 09104e8d6febc..2ae380e4d9fa1 100644 --- a/api_docs/kbn_securitysolution_exception_list_components.mdx +++ b/api_docs/kbn_securitysolution_exception_list_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-exception-list-components title: "@kbn/securitysolution-exception-list-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-exception-list-components plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-exception-list-components'] --- import kbnSecuritysolutionExceptionListComponentsObj from './kbn_securitysolution_exception_list_components.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_hook_utils.mdx b/api_docs/kbn_securitysolution_hook_utils.mdx index 873699f6b4092..c75fcd8c055b5 100644 --- a/api_docs/kbn_securitysolution_hook_utils.mdx +++ b/api_docs/kbn_securitysolution_hook_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-hook-utils title: "@kbn/securitysolution-hook-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-hook-utils plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-hook-utils'] --- import kbnSecuritysolutionHookUtilsObj from './kbn_securitysolution_hook_utils.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_io_ts_alerting_types.mdx b/api_docs/kbn_securitysolution_io_ts_alerting_types.mdx index 68eaaad8c99b1..429232179d0a3 100644 --- a/api_docs/kbn_securitysolution_io_ts_alerting_types.mdx +++ b/api_docs/kbn_securitysolution_io_ts_alerting_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-alerting-types title: "@kbn/securitysolution-io-ts-alerting-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-alerting-types plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-io-ts-alerting-types'] --- import kbnSecuritysolutionIoTsAlertingTypesObj from './kbn_securitysolution_io_ts_alerting_types.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_io_ts_list_types.mdx b/api_docs/kbn_securitysolution_io_ts_list_types.mdx index c78391812aced..58da8c5c83b3d 100644 --- a/api_docs/kbn_securitysolution_io_ts_list_types.mdx +++ b/api_docs/kbn_securitysolution_io_ts_list_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-list-types title: "@kbn/securitysolution-io-ts-list-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-list-types plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-io-ts-list-types'] --- import kbnSecuritysolutionIoTsListTypesObj from './kbn_securitysolution_io_ts_list_types.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_io_ts_types.mdx b/api_docs/kbn_securitysolution_io_ts_types.mdx index fdabec7085bb6..aecd7ade62c0e 100644 --- a/api_docs/kbn_securitysolution_io_ts_types.mdx +++ b/api_docs/kbn_securitysolution_io_ts_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-types title: "@kbn/securitysolution-io-ts-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-types plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-io-ts-types'] --- import kbnSecuritysolutionIoTsTypesObj from './kbn_securitysolution_io_ts_types.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_io_ts_utils.mdx b/api_docs/kbn_securitysolution_io_ts_utils.mdx index dd230ff4e75d2..8177048b8d55b 100644 --- a/api_docs/kbn_securitysolution_io_ts_utils.mdx +++ b/api_docs/kbn_securitysolution_io_ts_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-utils title: "@kbn/securitysolution-io-ts-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-utils plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-io-ts-utils'] --- import kbnSecuritysolutionIoTsUtilsObj from './kbn_securitysolution_io_ts_utils.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_list_api.mdx b/api_docs/kbn_securitysolution_list_api.mdx index 69cb2d0521c29..bcd809993134c 100644 --- a/api_docs/kbn_securitysolution_list_api.mdx +++ b/api_docs/kbn_securitysolution_list_api.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-api title: "@kbn/securitysolution-list-api" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-api plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-list-api'] --- import kbnSecuritysolutionListApiObj from './kbn_securitysolution_list_api.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_list_constants.mdx b/api_docs/kbn_securitysolution_list_constants.mdx index 6b3e626eccecf..68247c87c1b35 100644 --- a/api_docs/kbn_securitysolution_list_constants.mdx +++ b/api_docs/kbn_securitysolution_list_constants.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-constants title: "@kbn/securitysolution-list-constants" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-constants plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-list-constants'] --- import kbnSecuritysolutionListConstantsObj from './kbn_securitysolution_list_constants.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_list_hooks.mdx b/api_docs/kbn_securitysolution_list_hooks.mdx index a2a939321dd14..d0d4c44eb3d94 100644 --- a/api_docs/kbn_securitysolution_list_hooks.mdx +++ b/api_docs/kbn_securitysolution_list_hooks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-hooks title: "@kbn/securitysolution-list-hooks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-hooks plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-list-hooks'] --- import kbnSecuritysolutionListHooksObj from './kbn_securitysolution_list_hooks.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_list_utils.mdx b/api_docs/kbn_securitysolution_list_utils.mdx index 11a08c128e4f5..d3695872b2860 100644 --- a/api_docs/kbn_securitysolution_list_utils.mdx +++ b/api_docs/kbn_securitysolution_list_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-utils title: "@kbn/securitysolution-list-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-utils plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-list-utils'] --- import kbnSecuritysolutionListUtilsObj from './kbn_securitysolution_list_utils.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_rules.mdx b/api_docs/kbn_securitysolution_rules.mdx index ef5bf78923fbd..8829cacb3c35a 100644 --- a/api_docs/kbn_securitysolution_rules.mdx +++ b/api_docs/kbn_securitysolution_rules.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-rules title: "@kbn/securitysolution-rules" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-rules plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-rules'] --- import kbnSecuritysolutionRulesObj from './kbn_securitysolution_rules.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_t_grid.mdx b/api_docs/kbn_securitysolution_t_grid.mdx index 21bee7c0e72a2..21f91be6ae9b4 100644 --- a/api_docs/kbn_securitysolution_t_grid.mdx +++ b/api_docs/kbn_securitysolution_t_grid.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-t-grid title: "@kbn/securitysolution-t-grid" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-t-grid plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-t-grid'] --- import kbnSecuritysolutionTGridObj from './kbn_securitysolution_t_grid.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_utils.mdx b/api_docs/kbn_securitysolution_utils.mdx index dc2b54cb365bd..099d38fb0a787 100644 --- a/api_docs/kbn_securitysolution_utils.mdx +++ b/api_docs/kbn_securitysolution_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-utils title: "@kbn/securitysolution-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-utils plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-utils'] --- import kbnSecuritysolutionUtilsObj from './kbn_securitysolution_utils.devdocs.json'; diff --git a/api_docs/kbn_server_http_tools.mdx b/api_docs/kbn_server_http_tools.mdx index 1f2f176f841e3..9b92cb9d70387 100644 --- a/api_docs/kbn_server_http_tools.mdx +++ b/api_docs/kbn_server_http_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-server-http-tools title: "@kbn/server-http-tools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/server-http-tools plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/server-http-tools'] --- import kbnServerHttpToolsObj from './kbn_server_http_tools.devdocs.json'; diff --git a/api_docs/kbn_server_route_repository.mdx b/api_docs/kbn_server_route_repository.mdx index 7bf9a997101b8..0ecdff2c47c58 100644 --- a/api_docs/kbn_server_route_repository.mdx +++ b/api_docs/kbn_server_route_repository.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-server-route-repository title: "@kbn/server-route-repository" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/server-route-repository plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/server-route-repository'] --- import kbnServerRouteRepositoryObj from './kbn_server_route_repository.devdocs.json'; diff --git a/api_docs/kbn_serverless_common_settings.mdx b/api_docs/kbn_serverless_common_settings.mdx index ca8a403348209..81364a023106e 100644 --- a/api_docs/kbn_serverless_common_settings.mdx +++ b/api_docs/kbn_serverless_common_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-common-settings title: "@kbn/serverless-common-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-common-settings plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-common-settings'] --- import kbnServerlessCommonSettingsObj from './kbn_serverless_common_settings.devdocs.json'; diff --git a/api_docs/kbn_serverless_observability_settings.mdx b/api_docs/kbn_serverless_observability_settings.mdx index 16ca494177e31..3f0dd0a8dbaa6 100644 --- a/api_docs/kbn_serverless_observability_settings.mdx +++ b/api_docs/kbn_serverless_observability_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-observability-settings title: "@kbn/serverless-observability-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-observability-settings plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-observability-settings'] --- import kbnServerlessObservabilitySettingsObj from './kbn_serverless_observability_settings.devdocs.json'; diff --git a/api_docs/kbn_serverless_project_switcher.mdx b/api_docs/kbn_serverless_project_switcher.mdx index e52d006de0233..59159520c70cb 100644 --- a/api_docs/kbn_serverless_project_switcher.mdx +++ b/api_docs/kbn_serverless_project_switcher.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-project-switcher title: "@kbn/serverless-project-switcher" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-project-switcher plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-project-switcher'] --- import kbnServerlessProjectSwitcherObj from './kbn_serverless_project_switcher.devdocs.json'; diff --git a/api_docs/kbn_serverless_search_settings.mdx b/api_docs/kbn_serverless_search_settings.mdx index d5b634131da1a..9598968238492 100644 --- a/api_docs/kbn_serverless_search_settings.mdx +++ b/api_docs/kbn_serverless_search_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-search-settings title: "@kbn/serverless-search-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-search-settings plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-search-settings'] --- import kbnServerlessSearchSettingsObj from './kbn_serverless_search_settings.devdocs.json'; diff --git a/api_docs/kbn_serverless_security_settings.mdx b/api_docs/kbn_serverless_security_settings.mdx index 3caf5ac24cec2..78125c0427665 100644 --- a/api_docs/kbn_serverless_security_settings.mdx +++ b/api_docs/kbn_serverless_security_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-security-settings title: "@kbn/serverless-security-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-security-settings plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-security-settings'] --- import kbnServerlessSecuritySettingsObj from './kbn_serverless_security_settings.devdocs.json'; diff --git a/api_docs/kbn_serverless_storybook_config.mdx b/api_docs/kbn_serverless_storybook_config.mdx index 08bc40afae32c..bd4e2ff00f8f1 100644 --- a/api_docs/kbn_serverless_storybook_config.mdx +++ b/api_docs/kbn_serverless_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-storybook-config title: "@kbn/serverless-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-storybook-config plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-storybook-config'] --- import kbnServerlessStorybookConfigObj from './kbn_serverless_storybook_config.devdocs.json'; diff --git a/api_docs/kbn_shared_svg.mdx b/api_docs/kbn_shared_svg.mdx index 9745ecdb8186c..288d625e70226 100644 --- a/api_docs/kbn_shared_svg.mdx +++ b/api_docs/kbn_shared_svg.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-svg title: "@kbn/shared-svg" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-svg plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-svg'] --- import kbnSharedSvgObj from './kbn_shared_svg.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_avatar_solution.mdx b/api_docs/kbn_shared_ux_avatar_solution.mdx index 404f874299660..5f530299c48f4 100644 --- a/api_docs/kbn_shared_ux_avatar_solution.mdx +++ b/api_docs/kbn_shared_ux_avatar_solution.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-avatar-solution title: "@kbn/shared-ux-avatar-solution" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-avatar-solution plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-avatar-solution'] --- import kbnSharedUxAvatarSolutionObj from './kbn_shared_ux_avatar_solution.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_button_exit_full_screen.mdx b/api_docs/kbn_shared_ux_button_exit_full_screen.mdx index 9333d04496cb4..82ac995c9494a 100644 --- a/api_docs/kbn_shared_ux_button_exit_full_screen.mdx +++ b/api_docs/kbn_shared_ux_button_exit_full_screen.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-button-exit-full-screen title: "@kbn/shared-ux-button-exit-full-screen" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-button-exit-full-screen plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-button-exit-full-screen'] --- import kbnSharedUxButtonExitFullScreenObj from './kbn_shared_ux_button_exit_full_screen.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_button_toolbar.mdx b/api_docs/kbn_shared_ux_button_toolbar.mdx index ef29350965f53..7177dc91ec9f5 100644 --- a/api_docs/kbn_shared_ux_button_toolbar.mdx +++ b/api_docs/kbn_shared_ux_button_toolbar.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-button-toolbar title: "@kbn/shared-ux-button-toolbar" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-button-toolbar plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-button-toolbar'] --- import kbnSharedUxButtonToolbarObj from './kbn_shared_ux_button_toolbar.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_card_no_data.mdx b/api_docs/kbn_shared_ux_card_no_data.mdx index d3673b25f72e7..f5d400a833e89 100644 --- a/api_docs/kbn_shared_ux_card_no_data.mdx +++ b/api_docs/kbn_shared_ux_card_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-card-no-data title: "@kbn/shared-ux-card-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-card-no-data plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-card-no-data'] --- import kbnSharedUxCardNoDataObj from './kbn_shared_ux_card_no_data.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_card_no_data_mocks.mdx b/api_docs/kbn_shared_ux_card_no_data_mocks.mdx index 5cb78c021e1f9..20cbd7ac38501 100644 --- a/api_docs/kbn_shared_ux_card_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_card_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-card-no-data-mocks title: "@kbn/shared-ux-card-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-card-no-data-mocks plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-card-no-data-mocks'] --- import kbnSharedUxCardNoDataMocksObj from './kbn_shared_ux_card_no_data_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_chrome_navigation.mdx b/api_docs/kbn_shared_ux_chrome_navigation.mdx index 0a2ead2d37889..7e0eeb36022cf 100644 --- a/api_docs/kbn_shared_ux_chrome_navigation.mdx +++ b/api_docs/kbn_shared_ux_chrome_navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-chrome-navigation title: "@kbn/shared-ux-chrome-navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-chrome-navigation plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-chrome-navigation'] --- import kbnSharedUxChromeNavigationObj from './kbn_shared_ux_chrome_navigation.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_error_boundary.mdx b/api_docs/kbn_shared_ux_error_boundary.mdx index 239d1b323afe6..e279362687f6e 100644 --- a/api_docs/kbn_shared_ux_error_boundary.mdx +++ b/api_docs/kbn_shared_ux_error_boundary.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-error-boundary title: "@kbn/shared-ux-error-boundary" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-error-boundary plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-error-boundary'] --- import kbnSharedUxErrorBoundaryObj from './kbn_shared_ux_error_boundary.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_context.mdx b/api_docs/kbn_shared_ux_file_context.mdx index b8ece7498308d..1fca84710e7b6 100644 --- a/api_docs/kbn_shared_ux_file_context.mdx +++ b/api_docs/kbn_shared_ux_file_context.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-context title: "@kbn/shared-ux-file-context" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-context plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-context'] --- import kbnSharedUxFileContextObj from './kbn_shared_ux_file_context.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_image.mdx b/api_docs/kbn_shared_ux_file_image.mdx index d66a1c29d299b..71d5248fa70c8 100644 --- a/api_docs/kbn_shared_ux_file_image.mdx +++ b/api_docs/kbn_shared_ux_file_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-image title: "@kbn/shared-ux-file-image" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-image plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-image'] --- import kbnSharedUxFileImageObj from './kbn_shared_ux_file_image.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_image_mocks.mdx b/api_docs/kbn_shared_ux_file_image_mocks.mdx index 4af0208d8e674..e2612ed53cc88 100644 --- a/api_docs/kbn_shared_ux_file_image_mocks.mdx +++ b/api_docs/kbn_shared_ux_file_image_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-image-mocks title: "@kbn/shared-ux-file-image-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-image-mocks plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-image-mocks'] --- import kbnSharedUxFileImageMocksObj from './kbn_shared_ux_file_image_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_mocks.mdx b/api_docs/kbn_shared_ux_file_mocks.mdx index da0e05f1c19c1..7b0ebeecc0e59 100644 --- a/api_docs/kbn_shared_ux_file_mocks.mdx +++ b/api_docs/kbn_shared_ux_file_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-mocks title: "@kbn/shared-ux-file-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-mocks plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-mocks'] --- import kbnSharedUxFileMocksObj from './kbn_shared_ux_file_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_picker.mdx b/api_docs/kbn_shared_ux_file_picker.mdx index 2f8bbde5a2807..7aff5bad2411a 100644 --- a/api_docs/kbn_shared_ux_file_picker.mdx +++ b/api_docs/kbn_shared_ux_file_picker.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-picker title: "@kbn/shared-ux-file-picker" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-picker plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-picker'] --- import kbnSharedUxFilePickerObj from './kbn_shared_ux_file_picker.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_types.mdx b/api_docs/kbn_shared_ux_file_types.mdx index 3bd1daa4136c0..e57dd8e4204bb 100644 --- a/api_docs/kbn_shared_ux_file_types.mdx +++ b/api_docs/kbn_shared_ux_file_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-types title: "@kbn/shared-ux-file-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-types plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-types'] --- import kbnSharedUxFileTypesObj from './kbn_shared_ux_file_types.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_upload.mdx b/api_docs/kbn_shared_ux_file_upload.mdx index 259a2ef67160a..77625d9977af8 100644 --- a/api_docs/kbn_shared_ux_file_upload.mdx +++ b/api_docs/kbn_shared_ux_file_upload.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-upload title: "@kbn/shared-ux-file-upload" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-upload plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-upload'] --- import kbnSharedUxFileUploadObj from './kbn_shared_ux_file_upload.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_util.mdx b/api_docs/kbn_shared_ux_file_util.mdx index fbd2ad9877dfa..367eac826539b 100644 --- a/api_docs/kbn_shared_ux_file_util.mdx +++ b/api_docs/kbn_shared_ux_file_util.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-util title: "@kbn/shared-ux-file-util" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-util plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-util'] --- import kbnSharedUxFileUtilObj from './kbn_shared_ux_file_util.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_link_redirect_app.mdx b/api_docs/kbn_shared_ux_link_redirect_app.mdx index b43f928c2921b..dba2ff7bf15b6 100644 --- a/api_docs/kbn_shared_ux_link_redirect_app.mdx +++ b/api_docs/kbn_shared_ux_link_redirect_app.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-link-redirect-app title: "@kbn/shared-ux-link-redirect-app" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-link-redirect-app plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-link-redirect-app'] --- import kbnSharedUxLinkRedirectAppObj from './kbn_shared_ux_link_redirect_app.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx b/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx index 29a5b2b890b55..007d6ff33ccb2 100644 --- a/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx +++ b/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-link-redirect-app-mocks title: "@kbn/shared-ux-link-redirect-app-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-link-redirect-app-mocks plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-link-redirect-app-mocks'] --- import kbnSharedUxLinkRedirectAppMocksObj from './kbn_shared_ux_link_redirect_app_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_markdown.mdx b/api_docs/kbn_shared_ux_markdown.mdx index 70cd3f8c5a62e..29ef99f2434a6 100644 --- a/api_docs/kbn_shared_ux_markdown.mdx +++ b/api_docs/kbn_shared_ux_markdown.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-markdown title: "@kbn/shared-ux-markdown" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-markdown plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-markdown'] --- import kbnSharedUxMarkdownObj from './kbn_shared_ux_markdown.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_markdown_mocks.mdx b/api_docs/kbn_shared_ux_markdown_mocks.mdx index e92d85b21dea6..e31660fa7a5d6 100644 --- a/api_docs/kbn_shared_ux_markdown_mocks.mdx +++ b/api_docs/kbn_shared_ux_markdown_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-markdown-mocks title: "@kbn/shared-ux-markdown-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-markdown-mocks plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-markdown-mocks'] --- import kbnSharedUxMarkdownMocksObj from './kbn_shared_ux_markdown_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_analytics_no_data.mdx b/api_docs/kbn_shared_ux_page_analytics_no_data.mdx index 279b0490c5cba..daedefc83dff1 100644 --- a/api_docs/kbn_shared_ux_page_analytics_no_data.mdx +++ b/api_docs/kbn_shared_ux_page_analytics_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-analytics-no-data title: "@kbn/shared-ux-page-analytics-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-analytics-no-data plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-analytics-no-data'] --- import kbnSharedUxPageAnalyticsNoDataObj from './kbn_shared_ux_page_analytics_no_data.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx b/api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx index 17edc6261ff59..3921bc4a3b941 100644 --- a/api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-analytics-no-data-mocks title: "@kbn/shared-ux-page-analytics-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-analytics-no-data-mocks plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-analytics-no-data-mocks'] --- import kbnSharedUxPageAnalyticsNoDataMocksObj from './kbn_shared_ux_page_analytics_no_data_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_kibana_no_data.mdx b/api_docs/kbn_shared_ux_page_kibana_no_data.mdx index 073fc1ac1af79..e3a72d2d1db72 100644 --- a/api_docs/kbn_shared_ux_page_kibana_no_data.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-no-data title: "@kbn/shared-ux-page-kibana-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-no-data plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-kibana-no-data'] --- import kbnSharedUxPageKibanaNoDataObj from './kbn_shared_ux_page_kibana_no_data.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx b/api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx index 17fcd1e4f0c90..fa0b73ceebb3c 100644 --- a/api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-no-data-mocks title: "@kbn/shared-ux-page-kibana-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-no-data-mocks plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-kibana-no-data-mocks'] --- import kbnSharedUxPageKibanaNoDataMocksObj from './kbn_shared_ux_page_kibana_no_data_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_kibana_template.mdx b/api_docs/kbn_shared_ux_page_kibana_template.mdx index fe6a0f30a222d..cd9a572867f22 100644 --- a/api_docs/kbn_shared_ux_page_kibana_template.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_template.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-template title: "@kbn/shared-ux-page-kibana-template" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-template plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-kibana-template'] --- import kbnSharedUxPageKibanaTemplateObj from './kbn_shared_ux_page_kibana_template.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx b/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx index 1657db0e5712d..d9d810301d381 100644 --- a/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-template-mocks title: "@kbn/shared-ux-page-kibana-template-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-template-mocks plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-kibana-template-mocks'] --- import kbnSharedUxPageKibanaTemplateMocksObj from './kbn_shared_ux_page_kibana_template_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_no_data.mdx b/api_docs/kbn_shared_ux_page_no_data.mdx index faa0052cdefe5..529198c4dba0f 100644 --- a/api_docs/kbn_shared_ux_page_no_data.mdx +++ b/api_docs/kbn_shared_ux_page_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data title: "@kbn/shared-ux-page-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-no-data'] --- import kbnSharedUxPageNoDataObj from './kbn_shared_ux_page_no_data.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_no_data_config.mdx b/api_docs/kbn_shared_ux_page_no_data_config.mdx index 095b8d4616d75..22b4353d0b3e0 100644 --- a/api_docs/kbn_shared_ux_page_no_data_config.mdx +++ b/api_docs/kbn_shared_ux_page_no_data_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data-config title: "@kbn/shared-ux-page-no-data-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data-config plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-no-data-config'] --- import kbnSharedUxPageNoDataConfigObj from './kbn_shared_ux_page_no_data_config.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx b/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx index bff0a5c9cfbcd..7c702a9d01087 100644 --- a/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data-config-mocks title: "@kbn/shared-ux-page-no-data-config-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data-config-mocks plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-no-data-config-mocks'] --- import kbnSharedUxPageNoDataConfigMocksObj from './kbn_shared_ux_page_no_data_config_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_no_data_mocks.mdx b/api_docs/kbn_shared_ux_page_no_data_mocks.mdx index bf07f8e2bbba6..87b668a4ec03d 100644 --- a/api_docs/kbn_shared_ux_page_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data-mocks title: "@kbn/shared-ux-page-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data-mocks plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-no-data-mocks'] --- import kbnSharedUxPageNoDataMocksObj from './kbn_shared_ux_page_no_data_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_solution_nav.mdx b/api_docs/kbn_shared_ux_page_solution_nav.mdx index adf63c4ec483b..90f48388b2e84 100644 --- a/api_docs/kbn_shared_ux_page_solution_nav.mdx +++ b/api_docs/kbn_shared_ux_page_solution_nav.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-solution-nav title: "@kbn/shared-ux-page-solution-nav" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-solution-nav plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-solution-nav'] --- import kbnSharedUxPageSolutionNavObj from './kbn_shared_ux_page_solution_nav.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_prompt_no_data_views.mdx b/api_docs/kbn_shared_ux_prompt_no_data_views.mdx index 5287ba423855e..7a2535c64623b 100644 --- a/api_docs/kbn_shared_ux_prompt_no_data_views.mdx +++ b/api_docs/kbn_shared_ux_prompt_no_data_views.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-prompt-no-data-views title: "@kbn/shared-ux-prompt-no-data-views" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-prompt-no-data-views plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-prompt-no-data-views'] --- import kbnSharedUxPromptNoDataViewsObj from './kbn_shared_ux_prompt_no_data_views.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx b/api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx index 33ab370ae2fac..e7e4e07558b41 100644 --- a/api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx +++ b/api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-prompt-no-data-views-mocks title: "@kbn/shared-ux-prompt-no-data-views-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-prompt-no-data-views-mocks plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-prompt-no-data-views-mocks'] --- import kbnSharedUxPromptNoDataViewsMocksObj from './kbn_shared_ux_prompt_no_data_views_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_prompt_not_found.mdx b/api_docs/kbn_shared_ux_prompt_not_found.mdx index 4029b95750832..bb008d0fd2694 100644 --- a/api_docs/kbn_shared_ux_prompt_not_found.mdx +++ b/api_docs/kbn_shared_ux_prompt_not_found.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-prompt-not-found title: "@kbn/shared-ux-prompt-not-found" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-prompt-not-found plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-prompt-not-found'] --- import kbnSharedUxPromptNotFoundObj from './kbn_shared_ux_prompt_not_found.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_router.mdx b/api_docs/kbn_shared_ux_router.mdx index 92f3ebba2f5df..545c1e0b6dd1b 100644 --- a/api_docs/kbn_shared_ux_router.mdx +++ b/api_docs/kbn_shared_ux_router.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-router title: "@kbn/shared-ux-router" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-router plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-router'] --- import kbnSharedUxRouterObj from './kbn_shared_ux_router.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_router_mocks.mdx b/api_docs/kbn_shared_ux_router_mocks.mdx index 12cbb0872b2e1..5c6e38b4184db 100644 --- a/api_docs/kbn_shared_ux_router_mocks.mdx +++ b/api_docs/kbn_shared_ux_router_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-router-mocks title: "@kbn/shared-ux-router-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-router-mocks plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-router-mocks'] --- import kbnSharedUxRouterMocksObj from './kbn_shared_ux_router_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_storybook_config.mdx b/api_docs/kbn_shared_ux_storybook_config.mdx index d39b8ab858fc2..bcc5c4f3f4273 100644 --- a/api_docs/kbn_shared_ux_storybook_config.mdx +++ b/api_docs/kbn_shared_ux_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-storybook-config title: "@kbn/shared-ux-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-storybook-config plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-storybook-config'] --- import kbnSharedUxStorybookConfigObj from './kbn_shared_ux_storybook_config.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_storybook_mock.mdx b/api_docs/kbn_shared_ux_storybook_mock.mdx index b82e7bc78626a..4e9d19ae24237 100644 --- a/api_docs/kbn_shared_ux_storybook_mock.mdx +++ b/api_docs/kbn_shared_ux_storybook_mock.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-storybook-mock title: "@kbn/shared-ux-storybook-mock" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-storybook-mock plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-storybook-mock'] --- import kbnSharedUxStorybookMockObj from './kbn_shared_ux_storybook_mock.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_tabbed_modal.mdx b/api_docs/kbn_shared_ux_tabbed_modal.mdx index 261247fd4298c..3776224c8ed1d 100644 --- a/api_docs/kbn_shared_ux_tabbed_modal.mdx +++ b/api_docs/kbn_shared_ux_tabbed_modal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-tabbed-modal title: "@kbn/shared-ux-tabbed-modal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-tabbed-modal plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-tabbed-modal'] --- import kbnSharedUxTabbedModalObj from './kbn_shared_ux_tabbed_modal.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_utility.mdx b/api_docs/kbn_shared_ux_utility.mdx index 1a435031fb47b..02113066de7d0 100644 --- a/api_docs/kbn_shared_ux_utility.mdx +++ b/api_docs/kbn_shared_ux_utility.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-utility title: "@kbn/shared-ux-utility" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-utility plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-utility'] --- import kbnSharedUxUtilityObj from './kbn_shared_ux_utility.devdocs.json'; diff --git a/api_docs/kbn_slo_schema.devdocs.json b/api_docs/kbn_slo_schema.devdocs.json index 5707fe5fd6e53..77f3590eb32c0 100644 --- a/api_docs/kbn_slo_schema.devdocs.json +++ b/api_docs/kbn_slo_schema.devdocs.json @@ -850,7 +850,7 @@ "label": "FindSLOGroupsParams", "description": [], "signature": [ - "{ page?: string | undefined; perPage?: string | undefined; groupBy?: \"status\" | \"_index\" | \"ungrouped\" | \"slo.tags\" | \"slo.indicator.type\" | undefined; groupsFilter?: string | string[] | undefined; kqlQuery?: string | undefined; filters?: string | undefined; }" + "{ page?: string | undefined; perPage?: string | undefined; groupBy?: \"status\" | \"slo.instanceId\" | \"_index\" | \"ungrouped\" | \"slo.tags\" | \"slo.indicator.type\" | undefined; groupsFilter?: string | string[] | undefined; kqlQuery?: string | undefined; filters?: string | undefined; }" ], "path": "x-pack/packages/kbn-slo-schema/src/rest_specs/routes/find_group.ts", "deprecated": false, @@ -865,7 +865,7 @@ "label": "FindSLOGroupsResponse", "description": [], "signature": [ - "{ page: number; perPage: number; total: number; results: { group: string; groupBy: \"status\" | \"_index\" | \"ungrouped\" | \"slo.tags\" | \"slo.indicator.type\"; summary: { total: number; worst: { sliValue: number; status: string; slo: { id: string; instanceId: string; name: string; }; }; violated: number; healthy: number; degrading: number; noData: number; }; }[]; }" + "{ page: number; perPage: number; total: number; results: { group: string; groupBy: \"status\" | \"slo.instanceId\" | \"_index\" | \"ungrouped\" | \"slo.tags\" | \"slo.indicator.type\"; summary: { total: number; worst: { sliValue: number; status: string; slo: { id: string; instanceId: string; name: string; groupings: { [x: string]: unknown; }; }; }; violated: number; healthy: number; degrading: number; noData: number; }; }[]; }" ], "path": "x-pack/packages/kbn-slo-schema/src/rest_specs/routes/find_group.ts", "deprecated": false, @@ -1053,7 +1053,7 @@ "label": "GroupSummary", "description": [], "signature": [ - "{ total: number; worst: { sliValue: number; status: string; slo: { id: string; instanceId: string; name: string; }; }; violated: number; healthy: number; degrading: number; noData: number; }" + "{ total: number; worst: { sliValue: number; status: string; slo: { id: string; instanceId: string; name: string; groupings: { [x: string]: unknown; }; }; }; violated: number; healthy: number; degrading: number; noData: number; }" ], "path": "x-pack/packages/kbn-slo-schema/src/rest_specs/common.ts", "deprecated": false, @@ -5256,6 +5256,8 @@ "LiteralC", "<\"slo.indicator.type\">, ", "LiteralC", + "<\"slo.instanceId\">, ", + "LiteralC", "<\"_index\">]>; groupsFilter: ", "UnionC", "<[", @@ -5308,6 +5310,8 @@ "LiteralC", "<\"slo.indicator.type\">, ", "LiteralC", + "<\"slo.instanceId\">, ", + "LiteralC", "<\"_index\">]>; summary: ", "TypeC", "<{ total: ", @@ -5326,7 +5330,13 @@ "StringC", "; name: ", "StringC", - "; }>; }>; violated: ", + "; groupings: ", + "RecordC", + "<", + "StringC", + ", ", + "UnknownC", + ">; }>; }>; violated: ", "NumberC", "; healthy: ", "NumberC", @@ -10154,7 +10164,13 @@ "StringC", "; name: ", "StringC", - "; }>; }>; violated: ", + "; groupings: ", + "RecordC", + "<", + "StringC", + ", ", + "UnknownC", + ">; }>; }>; violated: ", "NumberC", "; healthy: ", "NumberC", @@ -16029,6 +16045,8 @@ "LiteralC", "<\"slo.indicator.type\">, ", "LiteralC", + "<\"slo.instanceId\">, ", + "LiteralC", "<\"_index\">]>; summary: ", "TypeC", "<{ total: ", @@ -16047,7 +16065,13 @@ "StringC", "; name: ", "StringC", - "; }>; }>; violated: ", + "; groupings: ", + "RecordC", + "<", + "StringC", + ", ", + "UnknownC", + ">; }>; }>; violated: ", "NumberC", "; healthy: ", "NumberC", diff --git a/api_docs/kbn_slo_schema.mdx b/api_docs/kbn_slo_schema.mdx index aa10690cafe76..e7106d04a872f 100644 --- a/api_docs/kbn_slo_schema.mdx +++ b/api_docs/kbn_slo_schema.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-slo-schema title: "@kbn/slo-schema" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/slo-schema plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/slo-schema'] --- import kbnSloSchemaObj from './kbn_slo_schema.devdocs.json'; diff --git a/api_docs/kbn_some_dev_log.mdx b/api_docs/kbn_some_dev_log.mdx index 9748374475f97..014f53435c75f 100644 --- a/api_docs/kbn_some_dev_log.mdx +++ b/api_docs/kbn_some_dev_log.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-some-dev-log title: "@kbn/some-dev-log" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/some-dev-log plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/some-dev-log'] --- import kbnSomeDevLogObj from './kbn_some_dev_log.devdocs.json'; diff --git a/api_docs/kbn_sort_predicates.mdx b/api_docs/kbn_sort_predicates.mdx index 8f8c28195b779..28c663fcade55 100644 --- a/api_docs/kbn_sort_predicates.mdx +++ b/api_docs/kbn_sort_predicates.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-sort-predicates title: "@kbn/sort-predicates" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/sort-predicates plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/sort-predicates'] --- import kbnSortPredicatesObj from './kbn_sort_predicates.devdocs.json'; diff --git a/api_docs/kbn_std.mdx b/api_docs/kbn_std.mdx index c6eab71a6e0c6..20f743df37134 100644 --- a/api_docs/kbn_std.mdx +++ b/api_docs/kbn_std.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-std title: "@kbn/std" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/std plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/std'] --- import kbnStdObj from './kbn_std.devdocs.json'; diff --git a/api_docs/kbn_stdio_dev_helpers.mdx b/api_docs/kbn_stdio_dev_helpers.mdx index 0112000b7a26c..004f75ef211a0 100644 --- a/api_docs/kbn_stdio_dev_helpers.mdx +++ b/api_docs/kbn_stdio_dev_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-stdio-dev-helpers title: "@kbn/stdio-dev-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/stdio-dev-helpers plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/stdio-dev-helpers'] --- import kbnStdioDevHelpersObj from './kbn_stdio_dev_helpers.devdocs.json'; diff --git a/api_docs/kbn_storybook.mdx b/api_docs/kbn_storybook.mdx index 943833768aeac..8ff95711b2e53 100644 --- a/api_docs/kbn_storybook.mdx +++ b/api_docs/kbn_storybook.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-storybook title: "@kbn/storybook" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/storybook plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/storybook'] --- import kbnStorybookObj from './kbn_storybook.devdocs.json'; diff --git a/api_docs/kbn_telemetry_tools.mdx b/api_docs/kbn_telemetry_tools.mdx index 0d9fa30a0949c..9fe8d6ed27ad2 100644 --- a/api_docs/kbn_telemetry_tools.mdx +++ b/api_docs/kbn_telemetry_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-telemetry-tools title: "@kbn/telemetry-tools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/telemetry-tools plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/telemetry-tools'] --- import kbnTelemetryToolsObj from './kbn_telemetry_tools.devdocs.json'; diff --git a/api_docs/kbn_test.mdx b/api_docs/kbn_test.mdx index 64f82b945cbc0..b37cff2370b23 100644 --- a/api_docs/kbn_test.mdx +++ b/api_docs/kbn_test.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-test title: "@kbn/test" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/test plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/test'] --- import kbnTestObj from './kbn_test.devdocs.json'; diff --git a/api_docs/kbn_test_eui_helpers.mdx b/api_docs/kbn_test_eui_helpers.mdx index 29b758c4be49c..22328a3f54b95 100644 --- a/api_docs/kbn_test_eui_helpers.mdx +++ b/api_docs/kbn_test_eui_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-test-eui-helpers title: "@kbn/test-eui-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/test-eui-helpers plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/test-eui-helpers'] --- import kbnTestEuiHelpersObj from './kbn_test_eui_helpers.devdocs.json'; diff --git a/api_docs/kbn_test_jest_helpers.mdx b/api_docs/kbn_test_jest_helpers.mdx index 468d56ee570b1..2ebd9d2a15e0b 100644 --- a/api_docs/kbn_test_jest_helpers.mdx +++ b/api_docs/kbn_test_jest_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-test-jest-helpers title: "@kbn/test-jest-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/test-jest-helpers plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/test-jest-helpers'] --- import kbnTestJestHelpersObj from './kbn_test_jest_helpers.devdocs.json'; diff --git a/api_docs/kbn_test_subj_selector.mdx b/api_docs/kbn_test_subj_selector.mdx index 0e0df8e1fee93..6d97955a4eac5 100644 --- a/api_docs/kbn_test_subj_selector.mdx +++ b/api_docs/kbn_test_subj_selector.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-test-subj-selector title: "@kbn/test-subj-selector" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/test-subj-selector plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/test-subj-selector'] --- import kbnTestSubjSelectorObj from './kbn_test_subj_selector.devdocs.json'; diff --git a/api_docs/kbn_text_based_editor.mdx b/api_docs/kbn_text_based_editor.mdx index a274863d31ad6..ae49961c7834e 100644 --- a/api_docs/kbn_text_based_editor.mdx +++ b/api_docs/kbn_text_based_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-text-based-editor title: "@kbn/text-based-editor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/text-based-editor plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/text-based-editor'] --- import kbnTextBasedEditorObj from './kbn_text_based_editor.devdocs.json'; diff --git a/api_docs/kbn_timerange.mdx b/api_docs/kbn_timerange.mdx index d3e5ad7feb050..27e4b3878de69 100644 --- a/api_docs/kbn_timerange.mdx +++ b/api_docs/kbn_timerange.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-timerange title: "@kbn/timerange" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/timerange plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/timerange'] --- import kbnTimerangeObj from './kbn_timerange.devdocs.json'; diff --git a/api_docs/kbn_tooling_log.mdx b/api_docs/kbn_tooling_log.mdx index 8312393b8890a..86a61b9c4bd11 100644 --- a/api_docs/kbn_tooling_log.mdx +++ b/api_docs/kbn_tooling_log.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-tooling-log title: "@kbn/tooling-log" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/tooling-log plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/tooling-log'] --- import kbnToolingLogObj from './kbn_tooling_log.devdocs.json'; diff --git a/api_docs/kbn_triggers_actions_ui_types.mdx b/api_docs/kbn_triggers_actions_ui_types.mdx index b8ef08f8eec8f..8a16c3fb16369 100644 --- a/api_docs/kbn_triggers_actions_ui_types.mdx +++ b/api_docs/kbn_triggers_actions_ui_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-triggers-actions-ui-types title: "@kbn/triggers-actions-ui-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/triggers-actions-ui-types plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/triggers-actions-ui-types'] --- import kbnTriggersActionsUiTypesObj from './kbn_triggers_actions_ui_types.devdocs.json'; diff --git a/api_docs/kbn_try_in_console.mdx b/api_docs/kbn_try_in_console.mdx index 94ddd39fdd645..f6647f7af3bca 100644 --- a/api_docs/kbn_try_in_console.mdx +++ b/api_docs/kbn_try_in_console.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-try-in-console title: "@kbn/try-in-console" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/try-in-console plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/try-in-console'] --- import kbnTryInConsoleObj from './kbn_try_in_console.devdocs.json'; diff --git a/api_docs/kbn_ts_projects.mdx b/api_docs/kbn_ts_projects.mdx index b13e774e8dd1d..1d410d7cfdfda 100644 --- a/api_docs/kbn_ts_projects.mdx +++ b/api_docs/kbn_ts_projects.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ts-projects title: "@kbn/ts-projects" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ts-projects plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ts-projects'] --- import kbnTsProjectsObj from './kbn_ts_projects.devdocs.json'; diff --git a/api_docs/kbn_typed_react_router_config.mdx b/api_docs/kbn_typed_react_router_config.mdx index 83d4f24f65989..6cb64ed603c61 100644 --- a/api_docs/kbn_typed_react_router_config.mdx +++ b/api_docs/kbn_typed_react_router_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-typed-react-router-config title: "@kbn/typed-react-router-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/typed-react-router-config plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/typed-react-router-config'] --- import kbnTypedReactRouterConfigObj from './kbn_typed_react_router_config.devdocs.json'; diff --git a/api_docs/kbn_ui_actions_browser.mdx b/api_docs/kbn_ui_actions_browser.mdx index cf0d74cfcf5d6..ac5f50c197a28 100644 --- a/api_docs/kbn_ui_actions_browser.mdx +++ b/api_docs/kbn_ui_actions_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ui-actions-browser title: "@kbn/ui-actions-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ui-actions-browser plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ui-actions-browser'] --- import kbnUiActionsBrowserObj from './kbn_ui_actions_browser.devdocs.json'; diff --git a/api_docs/kbn_ui_shared_deps_src.mdx b/api_docs/kbn_ui_shared_deps_src.mdx index 3e366650b981a..8cb29e950fa11 100644 --- a/api_docs/kbn_ui_shared_deps_src.mdx +++ b/api_docs/kbn_ui_shared_deps_src.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ui-shared-deps-src title: "@kbn/ui-shared-deps-src" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ui-shared-deps-src plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ui-shared-deps-src'] --- import kbnUiSharedDepsSrcObj from './kbn_ui_shared_deps_src.devdocs.json'; diff --git a/api_docs/kbn_ui_theme.mdx b/api_docs/kbn_ui_theme.mdx index a316100c89324..3d08d59ab1e00 100644 --- a/api_docs/kbn_ui_theme.mdx +++ b/api_docs/kbn_ui_theme.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ui-theme title: "@kbn/ui-theme" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ui-theme plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ui-theme'] --- import kbnUiThemeObj from './kbn_ui_theme.devdocs.json'; diff --git a/api_docs/kbn_unified_data_table.mdx b/api_docs/kbn_unified_data_table.mdx index ebaebbf0d1c19..fb90e91ea641e 100644 --- a/api_docs/kbn_unified_data_table.mdx +++ b/api_docs/kbn_unified_data_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-unified-data-table title: "@kbn/unified-data-table" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/unified-data-table plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/unified-data-table'] --- import kbnUnifiedDataTableObj from './kbn_unified_data_table.devdocs.json'; diff --git a/api_docs/kbn_unified_doc_viewer.devdocs.json b/api_docs/kbn_unified_doc_viewer.devdocs.json index 784e80f8d5615..62463520b7db6 100644 --- a/api_docs/kbn_unified_doc_viewer.devdocs.json +++ b/api_docs/kbn_unified_doc_viewer.devdocs.json @@ -295,7 +295,7 @@ "label": "FieldName", "description": [], "signature": [ - "({\n fieldName,\n fieldMapping,\n fieldType,\n fieldIconProps,\n scripted = false,\n highlight = '',\n}: Props) => JSX.Element" + "({\n fieldName,\n fieldMapping,\n fieldType,\n fieldIconProps,\n scripted = false,\n highlight = '',\n isPinned = false,\n}: Props) => JSX.Element" ], "path": "packages/kbn-unified-doc-viewer/src/components/field_name/field_name.tsx", "deprecated": false, @@ -306,7 +306,7 @@ "id": "def-common.FieldName.$1", "type": "Object", "tags": [], - "label": "{\n fieldName,\n fieldMapping,\n fieldType,\n fieldIconProps,\n scripted = false,\n highlight = '',\n}", + "label": "{\n fieldName,\n fieldMapping,\n fieldType,\n fieldIconProps,\n scripted = false,\n highlight = '',\n isPinned = false,\n}", "description": [], "signature": [ "Props" diff --git a/api_docs/kbn_unified_doc_viewer.mdx b/api_docs/kbn_unified_doc_viewer.mdx index 9016bea59786a..77de1da31a8df 100644 --- a/api_docs/kbn_unified_doc_viewer.mdx +++ b/api_docs/kbn_unified_doc_viewer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-unified-doc-viewer title: "@kbn/unified-doc-viewer" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/unified-doc-viewer plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/unified-doc-viewer'] --- import kbnUnifiedDocViewerObj from './kbn_unified_doc_viewer.devdocs.json'; diff --git a/api_docs/kbn_unified_field_list.mdx b/api_docs/kbn_unified_field_list.mdx index d7b8892935c74..17a2519370e70 100644 --- a/api_docs/kbn_unified_field_list.mdx +++ b/api_docs/kbn_unified_field_list.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-unified-field-list title: "@kbn/unified-field-list" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/unified-field-list plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/unified-field-list'] --- import kbnUnifiedFieldListObj from './kbn_unified_field_list.devdocs.json'; diff --git a/api_docs/kbn_unsaved_changes_badge.mdx b/api_docs/kbn_unsaved_changes_badge.mdx index 13d0692fda595..505ceda67af36 100644 --- a/api_docs/kbn_unsaved_changes_badge.mdx +++ b/api_docs/kbn_unsaved_changes_badge.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-unsaved-changes-badge title: "@kbn/unsaved-changes-badge" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/unsaved-changes-badge plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/unsaved-changes-badge'] --- import kbnUnsavedChangesBadgeObj from './kbn_unsaved_changes_badge.devdocs.json'; diff --git a/api_docs/kbn_unsaved_changes_prompt.mdx b/api_docs/kbn_unsaved_changes_prompt.mdx index 28de503ac92cf..3ca325fd94102 100644 --- a/api_docs/kbn_unsaved_changes_prompt.mdx +++ b/api_docs/kbn_unsaved_changes_prompt.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-unsaved-changes-prompt title: "@kbn/unsaved-changes-prompt" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/unsaved-changes-prompt plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/unsaved-changes-prompt'] --- import kbnUnsavedChangesPromptObj from './kbn_unsaved_changes_prompt.devdocs.json'; diff --git a/api_docs/kbn_use_tracked_promise.mdx b/api_docs/kbn_use_tracked_promise.mdx index 0e01d98f67532..4116d6f871f0f 100644 --- a/api_docs/kbn_use_tracked_promise.mdx +++ b/api_docs/kbn_use_tracked_promise.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-use-tracked-promise title: "@kbn/use-tracked-promise" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/use-tracked-promise plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/use-tracked-promise'] --- import kbnUseTrackedPromiseObj from './kbn_use_tracked_promise.devdocs.json'; diff --git a/api_docs/kbn_user_profile_components.mdx b/api_docs/kbn_user_profile_components.mdx index 0eca362028796..3803ca5c27700 100644 --- a/api_docs/kbn_user_profile_components.mdx +++ b/api_docs/kbn_user_profile_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-user-profile-components title: "@kbn/user-profile-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/user-profile-components plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/user-profile-components'] --- import kbnUserProfileComponentsObj from './kbn_user_profile_components.devdocs.json'; diff --git a/api_docs/kbn_utility_types.mdx b/api_docs/kbn_utility_types.mdx index 51d6e23f8b802..1c18480bd8b58 100644 --- a/api_docs/kbn_utility_types.mdx +++ b/api_docs/kbn_utility_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-utility-types title: "@kbn/utility-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/utility-types plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/utility-types'] --- import kbnUtilityTypesObj from './kbn_utility_types.devdocs.json'; diff --git a/api_docs/kbn_utility_types_jest.mdx b/api_docs/kbn_utility_types_jest.mdx index 857110d8f912f..4156d402bb99d 100644 --- a/api_docs/kbn_utility_types_jest.mdx +++ b/api_docs/kbn_utility_types_jest.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-utility-types-jest title: "@kbn/utility-types-jest" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/utility-types-jest plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/utility-types-jest'] --- import kbnUtilityTypesJestObj from './kbn_utility_types_jest.devdocs.json'; diff --git a/api_docs/kbn_utils.mdx b/api_docs/kbn_utils.mdx index 3de74eb88c3ab..ae26508b30f3d 100644 --- a/api_docs/kbn_utils.mdx +++ b/api_docs/kbn_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-utils title: "@kbn/utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/utils plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/utils'] --- import kbnUtilsObj from './kbn_utils.devdocs.json'; diff --git a/api_docs/kbn_visualization_ui_components.mdx b/api_docs/kbn_visualization_ui_components.mdx index fff13aac1b112..ebfa2b50e54ff 100644 --- a/api_docs/kbn_visualization_ui_components.mdx +++ b/api_docs/kbn_visualization_ui_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-visualization-ui-components title: "@kbn/visualization-ui-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/visualization-ui-components plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/visualization-ui-components'] --- import kbnVisualizationUiComponentsObj from './kbn_visualization_ui_components.devdocs.json'; diff --git a/api_docs/kbn_visualization_utils.mdx b/api_docs/kbn_visualization_utils.mdx index 94cabdfae49a6..eef1b97e2b4e0 100644 --- a/api_docs/kbn_visualization_utils.mdx +++ b/api_docs/kbn_visualization_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-visualization-utils title: "@kbn/visualization-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/visualization-utils plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/visualization-utils'] --- import kbnVisualizationUtilsObj from './kbn_visualization_utils.devdocs.json'; diff --git a/api_docs/kbn_xstate_utils.mdx b/api_docs/kbn_xstate_utils.mdx index a093809f851a7..c51a8725b6f2f 100644 --- a/api_docs/kbn_xstate_utils.mdx +++ b/api_docs/kbn_xstate_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-xstate-utils title: "@kbn/xstate-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/xstate-utils plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/xstate-utils'] --- import kbnXstateUtilsObj from './kbn_xstate_utils.devdocs.json'; diff --git a/api_docs/kbn_yarn_lock_validator.mdx b/api_docs/kbn_yarn_lock_validator.mdx index 78c6e883b6e67..6314aee2a1d6a 100644 --- a/api_docs/kbn_yarn_lock_validator.mdx +++ b/api_docs/kbn_yarn_lock_validator.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-yarn-lock-validator title: "@kbn/yarn-lock-validator" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/yarn-lock-validator plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/yarn-lock-validator'] --- import kbnYarnLockValidatorObj from './kbn_yarn_lock_validator.devdocs.json'; diff --git a/api_docs/kbn_zod_helpers.mdx b/api_docs/kbn_zod_helpers.mdx index 8c5ae93d1de77..26014f3373e02 100644 --- a/api_docs/kbn_zod_helpers.mdx +++ b/api_docs/kbn_zod_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-zod-helpers title: "@kbn/zod-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/zod-helpers plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/zod-helpers'] --- import kbnZodHelpersObj from './kbn_zod_helpers.devdocs.json'; diff --git a/api_docs/kibana_overview.mdx b/api_docs/kibana_overview.mdx index 2578cad63ef05..0ad22483750ea 100644 --- a/api_docs/kibana_overview.mdx +++ b/api_docs/kibana_overview.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kibanaOverview title: "kibanaOverview" image: https://source.unsplash.com/400x175/?github description: API docs for the kibanaOverview plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kibanaOverview'] --- import kibanaOverviewObj from './kibana_overview.devdocs.json'; diff --git a/api_docs/kibana_react.mdx b/api_docs/kibana_react.mdx index 7eaac80a171b1..f81cc642b64bd 100644 --- a/api_docs/kibana_react.mdx +++ b/api_docs/kibana_react.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kibanaReact title: "kibanaReact" image: https://source.unsplash.com/400x175/?github description: API docs for the kibanaReact plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kibanaReact'] --- import kibanaReactObj from './kibana_react.devdocs.json'; diff --git a/api_docs/kibana_utils.devdocs.json b/api_docs/kibana_utils.devdocs.json index c880f79625ef1..e2cb3da15e5e6 100644 --- a/api_docs/kibana_utils.devdocs.json +++ b/api_docs/kibana_utils.devdocs.json @@ -1437,7 +1437,7 @@ "label": "set", "description": [], "signature": [ - "(key: string, value: any) => false | void" + "(key: string, value: any, includeUndefined?: boolean) => false | void" ], "path": "src/plugins/kibana_utils/public/storage/storage.ts", "deprecated": false, @@ -1472,6 +1472,21 @@ "deprecated": false, "trackAdoption": false, "isRequired": true + }, + { + "parentPluginId": "kibanaUtils", + "id": "def-public.Storage.set.$3", + "type": "boolean", + "tags": [], + "label": "includeUndefined", + "description": [], + "signature": [ + "boolean" + ], + "path": "src/plugins/kibana_utils/public/storage/storage.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true } ], "returnComment": [] diff --git a/api_docs/kibana_utils.mdx b/api_docs/kibana_utils.mdx index 350d92ac57c19..4c44f7378a279 100644 --- a/api_docs/kibana_utils.mdx +++ b/api_docs/kibana_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kibanaUtils title: "kibanaUtils" image: https://source.unsplash.com/400x175/?github description: API docs for the kibanaUtils plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kibanaUtils'] --- import kibanaUtilsObj from './kibana_utils.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sh | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 609 | 3 | 416 | 9 | +| 610 | 3 | 417 | 9 | ## Client diff --git a/api_docs/kubernetes_security.mdx b/api_docs/kubernetes_security.mdx index 97af756fbcb2a..e720ebb6a3832 100644 --- a/api_docs/kubernetes_security.mdx +++ b/api_docs/kubernetes_security.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kubernetesSecurity title: "kubernetesSecurity" image: https://source.unsplash.com/400x175/?github description: API docs for the kubernetesSecurity plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kubernetesSecurity'] --- import kubernetesSecurityObj from './kubernetes_security.devdocs.json'; diff --git a/api_docs/lens.devdocs.json b/api_docs/lens.devdocs.json index 2e502ecd39bad..efd0ff8b1c20c 100644 --- a/api_docs/lens.devdocs.json +++ b/api_docs/lens.devdocs.json @@ -3725,6 +3725,55 @@ "path": "src/plugins/chart_expressions/expression_xy/common/types/expression_functions.ts", "deprecated": false, "trackAdoption": false + }, + { + "parentPluginId": "lens", + "id": "def-public.LegendConfig.layout", + "type": "CompoundType", + "tags": [], + "label": "layout", + "description": [], + "signature": [ + { + "pluginId": "visualizations", + "scope": "common", + "docId": "kibVisualizationsPluginApi", + "section": "def-common.LegendLayout", + "text": "LegendLayout" + }, + " | undefined" + ], + "path": "src/plugins/chart_expressions/expression_xy/common/types/expression_functions.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "lens", + "id": "def-public.LegendConfig.title", + "type": "string", + "tags": [], + "label": "title", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "src/plugins/chart_expressions/expression_xy/common/types/expression_functions.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "lens", + "id": "def-public.LegendConfig.isTitleVisible", + "type": "CompoundType", + "tags": [], + "label": "isTitleVisible", + "description": [], + "signature": [ + "boolean | undefined" + ], + "path": "src/plugins/chart_expressions/expression_xy/common/types/expression_functions.ts", + "deprecated": false, + "trackAdoption": false } ], "initialIsOpen": false diff --git a/api_docs/lens.mdx b/api_docs/lens.mdx index 1aacddd53ae9c..33b5a5fd68a92 100644 --- a/api_docs/lens.mdx +++ b/api_docs/lens.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/lens title: "lens" image: https://source.unsplash.com/400x175/?github description: API docs for the lens plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'lens'] --- import lensObj from './lens.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/k | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 669 | 0 | 567 | 62 | +| 672 | 0 | 570 | 62 | ## Client diff --git a/api_docs/license_api_guard.mdx b/api_docs/license_api_guard.mdx index 52990b67a8805..0ab2946ceb01f 100644 --- a/api_docs/license_api_guard.mdx +++ b/api_docs/license_api_guard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/licenseApiGuard title: "licenseApiGuard" image: https://source.unsplash.com/400x175/?github description: API docs for the licenseApiGuard plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'licenseApiGuard'] --- import licenseApiGuardObj from './license_api_guard.devdocs.json'; diff --git a/api_docs/license_management.mdx b/api_docs/license_management.mdx index 53e6a7de6aaf9..0a5ee3c2e96e7 100644 --- a/api_docs/license_management.mdx +++ b/api_docs/license_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/licenseManagement title: "licenseManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the licenseManagement plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'licenseManagement'] --- import licenseManagementObj from './license_management.devdocs.json'; diff --git a/api_docs/licensing.mdx b/api_docs/licensing.mdx index 7ff63218c70ce..1bdae40a587ee 100644 --- a/api_docs/licensing.mdx +++ b/api_docs/licensing.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/licensing title: "licensing" image: https://source.unsplash.com/400x175/?github description: API docs for the licensing plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'licensing'] --- import licensingObj from './licensing.devdocs.json'; diff --git a/api_docs/links.mdx b/api_docs/links.mdx index bb6e28921dcea..1d018f9f0b32b 100644 --- a/api_docs/links.mdx +++ b/api_docs/links.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/links title: "links" image: https://source.unsplash.com/400x175/?github description: API docs for the links plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'links'] --- import linksObj from './links.devdocs.json'; diff --git a/api_docs/lists.mdx b/api_docs/lists.mdx index d1dbb67ba6ccb..7174f0eef621e 100644 --- a/api_docs/lists.mdx +++ b/api_docs/lists.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/lists title: "lists" image: https://source.unsplash.com/400x175/?github description: API docs for the lists plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'lists'] --- import listsObj from './lists.devdocs.json'; diff --git a/api_docs/logs_data_access.mdx b/api_docs/logs_data_access.mdx index 8e77013849428..a9231f79f2325 100644 --- a/api_docs/logs_data_access.mdx +++ b/api_docs/logs_data_access.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/logsDataAccess title: "logsDataAccess" image: https://source.unsplash.com/400x175/?github description: API docs for the logsDataAccess plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'logsDataAccess'] --- import logsDataAccessObj from './logs_data_access.devdocs.json'; diff --git a/api_docs/logs_explorer.mdx b/api_docs/logs_explorer.mdx index f853c879c5cc2..06716db3a291f 100644 --- a/api_docs/logs_explorer.mdx +++ b/api_docs/logs_explorer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/logsExplorer title: "logsExplorer" image: https://source.unsplash.com/400x175/?github description: API docs for the logsExplorer plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'logsExplorer'] --- import logsExplorerObj from './logs_explorer.devdocs.json'; diff --git a/api_docs/logs_shared.mdx b/api_docs/logs_shared.mdx index b3b4149db03f5..7497096caf758 100644 --- a/api_docs/logs_shared.mdx +++ b/api_docs/logs_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/logsShared title: "logsShared" image: https://source.unsplash.com/400x175/?github description: API docs for the logsShared plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'logsShared'] --- import logsSharedObj from './logs_shared.devdocs.json'; diff --git a/api_docs/management.mdx b/api_docs/management.mdx index 128a57183b207..d28a7e95e784e 100644 --- a/api_docs/management.mdx +++ b/api_docs/management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/management title: "management" image: https://source.unsplash.com/400x175/?github description: API docs for the management plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'management'] --- import managementObj from './management.devdocs.json'; diff --git a/api_docs/maps.mdx b/api_docs/maps.mdx index ada73ac30ea8f..00545a0d34f47 100644 --- a/api_docs/maps.mdx +++ b/api_docs/maps.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/maps title: "maps" image: https://source.unsplash.com/400x175/?github description: API docs for the maps plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'maps'] --- import mapsObj from './maps.devdocs.json'; diff --git a/api_docs/maps_ems.mdx b/api_docs/maps_ems.mdx index dcf3eed8d65e7..25c97a6ce84c6 100644 --- a/api_docs/maps_ems.mdx +++ b/api_docs/maps_ems.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/mapsEms title: "mapsEms" image: https://source.unsplash.com/400x175/?github description: API docs for the mapsEms plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'mapsEms'] --- import mapsEmsObj from './maps_ems.devdocs.json'; diff --git a/api_docs/metrics_data_access.mdx b/api_docs/metrics_data_access.mdx index 7621ac99fed0d..8834b98d89023 100644 --- a/api_docs/metrics_data_access.mdx +++ b/api_docs/metrics_data_access.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/metricsDataAccess title: "metricsDataAccess" image: https://source.unsplash.com/400x175/?github description: API docs for the metricsDataAccess plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'metricsDataAccess'] --- import metricsDataAccessObj from './metrics_data_access.devdocs.json'; diff --git a/api_docs/ml.mdx b/api_docs/ml.mdx index 242a6df027850..a44051c1a9a8b 100644 --- a/api_docs/ml.mdx +++ b/api_docs/ml.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ml title: "ml" image: https://source.unsplash.com/400x175/?github description: API docs for the ml plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ml'] --- import mlObj from './ml.devdocs.json'; diff --git a/api_docs/mock_idp_plugin.mdx b/api_docs/mock_idp_plugin.mdx index a54ec10197db9..227031d52a968 100644 --- a/api_docs/mock_idp_plugin.mdx +++ b/api_docs/mock_idp_plugin.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/mockIdpPlugin title: "mockIdpPlugin" image: https://source.unsplash.com/400x175/?github description: API docs for the mockIdpPlugin plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'mockIdpPlugin'] --- import mockIdpPluginObj from './mock_idp_plugin.devdocs.json'; diff --git a/api_docs/monitoring.mdx b/api_docs/monitoring.mdx index f00d547d595b2..7c90349275ce6 100644 --- a/api_docs/monitoring.mdx +++ b/api_docs/monitoring.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/monitoring title: "monitoring" image: https://source.unsplash.com/400x175/?github description: API docs for the monitoring plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'monitoring'] --- import monitoringObj from './monitoring.devdocs.json'; diff --git a/api_docs/monitoring_collection.mdx b/api_docs/monitoring_collection.mdx index 37bdf4ef856ea..10ce48a9ad6bc 100644 --- a/api_docs/monitoring_collection.mdx +++ b/api_docs/monitoring_collection.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/monitoringCollection title: "monitoringCollection" image: https://source.unsplash.com/400x175/?github description: API docs for the monitoringCollection plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'monitoringCollection'] --- import monitoringCollectionObj from './monitoring_collection.devdocs.json'; diff --git a/api_docs/navigation.mdx b/api_docs/navigation.mdx index 36019f225e1c4..e47cfecef163c 100644 --- a/api_docs/navigation.mdx +++ b/api_docs/navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/navigation title: "navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the navigation plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'navigation'] --- import navigationObj from './navigation.devdocs.json'; diff --git a/api_docs/newsfeed.mdx b/api_docs/newsfeed.mdx index ed3a9bbce6fec..f8486c95a103e 100644 --- a/api_docs/newsfeed.mdx +++ b/api_docs/newsfeed.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/newsfeed title: "newsfeed" image: https://source.unsplash.com/400x175/?github description: API docs for the newsfeed plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'newsfeed'] --- import newsfeedObj from './newsfeed.devdocs.json'; diff --git a/api_docs/no_data_page.mdx b/api_docs/no_data_page.mdx index 2ac60ca6d01aa..5daefa807c297 100644 --- a/api_docs/no_data_page.mdx +++ b/api_docs/no_data_page.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/noDataPage title: "noDataPage" image: https://source.unsplash.com/400x175/?github description: API docs for the noDataPage plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'noDataPage'] --- import noDataPageObj from './no_data_page.devdocs.json'; diff --git a/api_docs/notifications.mdx b/api_docs/notifications.mdx index fefcc8e26a90f..4a087225b7e45 100644 --- a/api_docs/notifications.mdx +++ b/api_docs/notifications.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/notifications title: "notifications" image: https://source.unsplash.com/400x175/?github description: API docs for the notifications plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'notifications'] --- import notificationsObj from './notifications.devdocs.json'; diff --git a/api_docs/observability.devdocs.json b/api_docs/observability.devdocs.json index ed3e91babeb4f..46d940d14b41b 100644 --- a/api_docs/observability.devdocs.json +++ b/api_docs/observability.devdocs.json @@ -834,6 +834,65 @@ "returnComment": [], "initialIsOpen": false }, + { + "parentPluginId": "observability", + "id": "def-public.getGroupFilters", + "type": "Function", + "tags": [], + "label": "getGroupFilters", + "description": [], + "signature": [ + "(groups?: ", + "Group", + "[] | undefined, groupFieldName?: string | undefined) => ", + { + "pluginId": "@kbn/es-query", + "scope": "common", + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.Filter", + "text": "Filter" + }, + "[]" + ], + "path": "x-pack/plugins/observability_solution/observability/common/custom_threshold_rule/helpers/get_group.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "observability", + "id": "def-public.getGroupFilters.$1", + "type": "Array", + "tags": [], + "label": "groups", + "description": [], + "signature": [ + "Group", + "[] | undefined" + ], + "path": "x-pack/plugins/observability_solution/observability/common/custom_threshold_rule/helpers/get_group.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + }, + { + "parentPluginId": "observability", + "id": "def-public.getGroupFilters.$2", + "type": "string", + "tags": [], + "label": "groupFieldName", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "x-pack/plugins/observability_solution/observability/common/custom_threshold_rule/helpers/get_group.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [], + "initialIsOpen": false + }, { "parentPluginId": "observability", "id": "def-public.LazyAlertsFlyout", @@ -1012,6 +1071,39 @@ "returnComment": [], "initialIsOpen": false }, + { + "parentPluginId": "observability", + "id": "def-public.RuleConditionChart", + "type": "Function", + "tags": [], + "label": "RuleConditionChart", + "description": [], + "signature": [ + "({\n metricExpression,\n searchConfiguration,\n dataView,\n groupBy,\n error,\n annotations,\n timeRange,\n chartOptions: { seriesType, interval } = {},\n additionalFilters = [],\n}: RuleConditionChartProps) => JSX.Element" + ], + "path": "x-pack/plugins/observability_solution/observability/public/components/rule_condition_chart/rule_condition_chart.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "observability", + "id": "def-public.RuleConditionChart.$1", + "type": "Object", + "tags": [], + "label": "{\n metricExpression,\n searchConfiguration,\n dataView,\n groupBy,\n error,\n annotations,\n timeRange,\n chartOptions: { seriesType, interval } = {},\n additionalFilters = [],\n}", + "description": [], + "signature": [ + "RuleConditionChartProps" + ], + "path": "x-pack/plugins/observability_solution/observability/public/components/rule_condition_chart/rule_condition_chart.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, { "parentPluginId": "observability", "id": "def-public.RuleFlyoutKueryBar", @@ -4620,6 +4712,22 @@ ], "initialIsOpen": false }, + { + "parentPluginId": "observability", + "id": "def-public.GenericAggType", + "type": "Type", + "tags": [], + "label": "GenericAggType", + "description": [], + "signature": [ + "\"custom\" | ", + "Aggregators" + ], + "path": "x-pack/plugins/observability_solution/observability/public/components/rule_condition_chart/rule_condition_chart.tsx", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "observability", "id": "def-public.HasData", @@ -13858,6 +13966,21 @@ "trackAdoption": false, "initialIsOpen": false }, + { + "parentPluginId": "observability", + "id": "def-common.apmEnableMultiSignal", + "type": "string", + "tags": [], + "label": "apmEnableMultiSignal", + "description": [], + "signature": [ + "\"observability:apmEnableMultiSignal\"" + ], + "path": "x-pack/plugins/observability_solution/observability/common/ui_settings_keys.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "observability", "id": "def-common.apmEnableProfilingIntegration", diff --git a/api_docs/observability.mdx b/api_docs/observability.mdx index 8b0145aebed4c..a38830b4da793 100644 --- a/api_docs/observability.mdx +++ b/api_docs/observability.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observability title: "observability" image: https://source.unsplash.com/400x175/?github description: API docs for the observability plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observability'] --- import observabilityObj from './observability.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/obs-ux-management-team](https://github.com/orgs/elastic/teams/ | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 698 | 2 | 689 | 15 | +| 705 | 2 | 696 | 16 | ## Client diff --git a/api_docs/observability_a_i_assistant.mdx b/api_docs/observability_a_i_assistant.mdx index 944c331bf49d7..eea8ce6804e69 100644 --- a/api_docs/observability_a_i_assistant.mdx +++ b/api_docs/observability_a_i_assistant.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityAIAssistant title: "observabilityAIAssistant" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityAIAssistant plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityAIAssistant'] --- import observabilityAIAssistantObj from './observability_a_i_assistant.devdocs.json'; diff --git a/api_docs/observability_a_i_assistant_app.mdx b/api_docs/observability_a_i_assistant_app.mdx index 3d3c4c26a72b5..1e4a03b656e8d 100644 --- a/api_docs/observability_a_i_assistant_app.mdx +++ b/api_docs/observability_a_i_assistant_app.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityAIAssistantApp title: "observabilityAIAssistantApp" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityAIAssistantApp plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityAIAssistantApp'] --- import observabilityAIAssistantAppObj from './observability_a_i_assistant_app.devdocs.json'; diff --git a/api_docs/observability_ai_assistant_management.mdx b/api_docs/observability_ai_assistant_management.mdx index 0a6cd4f656e10..4eb749b9a6981 100644 --- a/api_docs/observability_ai_assistant_management.mdx +++ b/api_docs/observability_ai_assistant_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityAiAssistantManagement title: "observabilityAiAssistantManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityAiAssistantManagement plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityAiAssistantManagement'] --- import observabilityAiAssistantManagementObj from './observability_ai_assistant_management.devdocs.json'; diff --git a/api_docs/observability_logs_explorer.mdx b/api_docs/observability_logs_explorer.mdx index 3106ad25e10ba..79742132fcf8d 100644 --- a/api_docs/observability_logs_explorer.mdx +++ b/api_docs/observability_logs_explorer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityLogsExplorer title: "observabilityLogsExplorer" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityLogsExplorer plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityLogsExplorer'] --- import observabilityLogsExplorerObj from './observability_logs_explorer.devdocs.json'; diff --git a/api_docs/observability_onboarding.mdx b/api_docs/observability_onboarding.mdx index 9c73c46efa49f..afc7ce15a33bb 100644 --- a/api_docs/observability_onboarding.mdx +++ b/api_docs/observability_onboarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityOnboarding title: "observabilityOnboarding" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityOnboarding plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityOnboarding'] --- import observabilityOnboardingObj from './observability_onboarding.devdocs.json'; diff --git a/api_docs/observability_shared.mdx b/api_docs/observability_shared.mdx index f5e26915cb9b4..7cebdea22309d 100644 --- a/api_docs/observability_shared.mdx +++ b/api_docs/observability_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityShared title: "observabilityShared" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityShared plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityShared'] --- import observabilitySharedObj from './observability_shared.devdocs.json'; diff --git a/api_docs/osquery.mdx b/api_docs/osquery.mdx index ac6690ba3a9dd..c4556fd515087 100644 --- a/api_docs/osquery.mdx +++ b/api_docs/osquery.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/osquery title: "osquery" image: https://source.unsplash.com/400x175/?github description: API docs for the osquery plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'osquery'] --- import osqueryObj from './osquery.devdocs.json'; diff --git a/api_docs/painless_lab.mdx b/api_docs/painless_lab.mdx index 4324d1d11c14a..0e4c272457167 100644 --- a/api_docs/painless_lab.mdx +++ b/api_docs/painless_lab.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/painlessLab title: "painlessLab" image: https://source.unsplash.com/400x175/?github description: API docs for the painlessLab plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'painlessLab'] --- import painlessLabObj from './painless_lab.devdocs.json'; diff --git a/api_docs/plugin_directory.mdx b/api_docs/plugin_directory.mdx index 80b6b3136a7d9..bcbe136208691 100644 --- a/api_docs/plugin_directory.mdx +++ b/api_docs/plugin_directory.mdx @@ -7,7 +7,7 @@ id: kibDevDocsPluginDirectory slug: /kibana-dev-docs/api-meta/plugin-api-directory title: Directory description: Directory of public APIs available through plugins or packages. -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- @@ -15,13 +15,13 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | Count | Plugins or Packages with a
public API | Number of teams | |--------------|----------|------------------------| -| 805 | 689 | 42 | +| 806 | 690 | 42 | ### Public API health stats | API Count | Any Count | Missing comments | Missing exports | |--------------|----------|-----------------|--------| -| 49310 | 238 | 37600 | 1879 | +| 49391 | 238 | 37662 | 1884 | ## Plugin Directory @@ -34,7 +34,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-ops) | - | 868 | 1 | 836 | 54 | | | [@elastic/obs-ux-infra_services-team](https://github.com/orgs/elastic/teams/obs-ux-infra_services-team) | The user interface for Elastic APM | 29 | 0 | 29 | 123 | | | [@elastic/obs-knowledge-team](https://github.com/orgs/elastic/teams/obs-knowledge-team) | - | 9 | 0 | 9 | 0 | -| | [@elastic/obs-knowledge-team](https://github.com/orgs/elastic/teams/obs-knowledge-team) | Asset manager plugin for entity assets (inventory, topology, etc) | 9 | 0 | 9 | 2 | +| | [@elastic/obs-knowledge-team](https://github.com/orgs/elastic/teams/obs-knowledge-team) | Asset manager plugin for entity assets (inventory, topology, etc) | 11 | 0 | 11 | 3 | | | [@elastic/obs-knowledge-team](https://github.com/orgs/elastic/teams/obs-knowledge-team) | - | 2 | 0 | 2 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 9 | 0 | 9 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | Considering using bfetch capabilities when fetching large amounts of data. This services supports batching HTTP requests and streaming responses back. | 83 | 1 | 73 | 2 | @@ -66,7 +66,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | The Data Visualizer tools help you understand your data, by analyzing the metrics and fields in a log file or an existing Elasticsearch index. | 31 | 3 | 25 | 4 | | | [@elastic/obs-ux-logs-team](https://github.com/orgs/elastic/teams/obs-ux-logs-team) | This plugin introduces the concept of data set quality, where users can easily get an overview on the data sets they have. | 10 | 0 | 10 | 5 | | | [@elastic/kibana-management](https://github.com/orgs/elastic/teams/kibana-management) | - | 15 | 0 | 9 | 2 | -| | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | This plugin contains the Discover application and the saved search embeddable. | 148 | 0 | 101 | 28 | +| | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | This plugin contains the Discover application and the saved search embeddable. | 144 | 0 | 97 | 29 | | | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | - | 35 | 0 | 33 | 2 | | | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | A stateful layer to register shared features and provide an access point to discover without a direct dependency | 16 | 0 | 15 | 2 | | | [@elastic/security-threat-hunting-explore](https://github.com/orgs/elastic/teams/security-threat-hunting-explore) | APIs used to assess the quality of data in Elasticsearch indexes | 2 | 0 | 0 | 0 | @@ -93,7 +93,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | Adds 'revealImage' function and renderer to expressions | 14 | 0 | 14 | 3 | | | [@elastic/kibana-presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | Adds 'shape' function and renderer to expressions | 148 | 0 | 146 | 0 | | | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | Expression Tagcloud plugin adds a `tagcloud` renderer and function to the expression plugin. The renderer will display the `Wordcloud` chart. | 6 | 0 | 6 | 2 | -| | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | Expression XY plugin adds a `xy` renderer and function to the expression plugin. The renderer will display the `xy` chart. | 177 | 0 | 166 | 13 | +| | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | Expression XY plugin adds a `xy` renderer and function to the expression plugin. The renderer will display the `xy` chart. | 180 | 0 | 169 | 13 | | | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | Adds expression runtime to Kibana | 2233 | 17 | 1763 | 6 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 247 | 0 | 102 | 2 | | | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | Index pattern fields and ambiguous values formatters | 292 | 5 | 253 | 3 | @@ -123,9 +123,9 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 6 | 0 | 6 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 153 | 0 | 121 | 3 | | kibanaUsageCollection | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 0 | 0 | 0 | 0 | -| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 609 | 3 | 416 | 9 | +| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 610 | 3 | 417 | 9 | | | [@elastic/kibana-cloud-security-posture](https://github.com/orgs/elastic/teams/kibana-cloud-security-posture) | - | 5 | 0 | 5 | 1 | -| | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | Visualization editor allowing to quickly and easily configure compelling visualizations to use on dashboards and canvas workpads. Exposes components to embed visualizations and link into the Lens editor from within other apps in Kibana. | 669 | 0 | 567 | 62 | +| | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | Visualization editor allowing to quickly and easily configure compelling visualizations to use on dashboards and canvas workpads. Exposes components to embed visualizations and link into the Lens editor from within other apps in Kibana. | 672 | 0 | 570 | 62 | | | [@elastic/kibana-management](https://github.com/orgs/elastic/teams/kibana-management) | - | 8 | 0 | 8 | 0 | | | [@elastic/kibana-management](https://github.com/orgs/elastic/teams/kibana-management) | - | 4 | 0 | 4 | 1 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 117 | 0 | 42 | 10 | @@ -147,7 +147,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 17 | 0 | 17 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 3 | 0 | 3 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 2 | 0 | 2 | 1 | -| | [@elastic/obs-ux-management-team](https://github.com/orgs/elastic/teams/obs-ux-management-team) | - | 698 | 2 | 689 | 15 | +| | [@elastic/obs-ux-management-team](https://github.com/orgs/elastic/teams/obs-ux-management-team) | - | 705 | 2 | 696 | 16 | | | [@elastic/obs-ai-assistant](https://github.com/orgs/elastic/teams/obs-ai-assistant) | - | 290 | 1 | 288 | 26 | | | [@elastic/obs-ai-assistant](https://github.com/orgs/elastic/teams/obs-ai-assistant) | - | 4 | 0 | 4 | 0 | | | [@elastic/obs-ai-assistant](https://github.com/orgs/elastic/teams/obs-ai-assistant) | - | 2 | 0 | 2 | 0 | @@ -174,6 +174,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 32 | 0 | 13 | 0 | | | [@elastic/kibana-reporting-services](https://github.com/orgs/elastic/teams/kibana-reporting-services) | Kibana Screenshotting Plugin | 32 | 0 | 8 | 4 | | | [@elastic/search-kibana](https://github.com/orgs/elastic/teams/search-kibana) | Plugin hosting shared features for connectors | 19 | 0 | 19 | 3 | +| | [@elastic/search-kibana](https://github.com/orgs/elastic/teams/search-kibana) | - | 18 | 0 | 10 | 0 | | | [@elastic/search-kibana](https://github.com/orgs/elastic/teams/search-kibana) | - | 10 | 0 | 6 | 1 | | | [@elastic/search-kibana](https://github.com/orgs/elastic/teams/search-kibana) | Plugin to provide access to and rendering of python notebooks for use in the persistent developer console. | 6 | 0 | 6 | 0 | | | [@elastic/search-kibana](https://github.com/orgs/elastic/teams/search-kibana) | - | 18 | 0 | 10 | 1 | @@ -206,7 +207,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-ops) | - | 588 | 1 | 562 | 52 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | Adds UI Actions service to Kibana | 149 | 0 | 103 | 9 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | Extends UI Actions plugin with more functionality | 212 | 0 | 145 | 11 | -| | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | This plugin contains services reliant on the plugin lifecycle for the unified doc viewer component (see @kbn/unified-doc-viewer). | 10 | 0 | 7 | 2 | +| | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | This plugin contains services reliant on the plugin lifecycle for the unified doc viewer component (see @kbn/unified-doc-viewer). | 12 | 0 | 8 | 3 | | | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | The `unifiedHistogram` plugin provides UI components to create a layout including a resizable histogram and a main display. | 71 | 0 | 36 | 6 | | | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | Contains all the key functionality of Kibana's unified search experience.Contains all the key functionality of Kibana's unified search experience. | 152 | 2 | 113 | 23 | | upgradeAssistant | [@elastic/kibana-management](https://github.com/orgs/elastic/teams/kibana-management) | - | 0 | 0 | 0 | 0 | @@ -228,7 +229,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | Registers the vega visualization. Is the elastic version of vega and vega-lite libraries. | 2 | 0 | 2 | 0 | | | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | Contains the vislib visualizations. These are the classical area/line/bar, gauge/goal and heatmap charts. We want to replace them with elastic-charts. | 1 | 0 | 1 | 0 | | | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | Contains the new xy-axis chart using the elastic-charts library, which will eventually replace the vislib xy-axis charts including bar, area, and line. | 52 | 0 | 50 | 5 | -| | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | Contains the shared architecture among all the legacy visualizations, e.g. the visualization type registry or the visualization embeddable. | 864 | 12 | 833 | 19 | +| | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | Contains the shared architecture among all the legacy visualizations, e.g. the visualization type registry or the visualization embeddable. | 865 | 12 | 834 | 19 | | watcher | [@elastic/kibana-management](https://github.com/orgs/elastic/teams/kibana-management) | - | 0 | 0 | 0 | 0 | ## Package Directory @@ -265,7 +266,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 3 | 0 | 3 | 0 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 62 | 0 | 17 | 1 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 2 | 0 | 2 | 0 | -| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 39 | 0 | 16 | 0 | +| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 40 | 0 | 17 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 2 | 0 | 2 | 0 | | | [@elastic/appex-qa](https://github.com/orgs/elastic/teams/appex-qa) | - | 8 | 0 | 4 | 0 | | | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | - | 217 | 0 | 180 | 9 | @@ -323,7 +324,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 4 | 0 | 4 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 22 | 0 | 13 | 1 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 38 | 1 | 34 | 0 | -| | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 115 | 0 | 55 | 0 | +| | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 116 | 0 | 56 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 43 | 0 | 38 | 3 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 13 | 1 | 13 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 4 | 0 | 4 | 1 | @@ -348,7 +349,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 7 | 0 | 7 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 54 | 7 | 54 | 6 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 13 | 0 | 13 | 1 | -| | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 489 | 2 | 193 | 0 | +| | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 495 | 2 | 193 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 92 | 0 | 79 | 10 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 44 | 0 | 43 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 4 | 0 | 2 | 0 | @@ -406,7 +407,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 73 | 0 | 40 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 26 | 0 | 23 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 4 | 0 | 4 | 0 | -| | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 128 | 0 | 94 | 45 | +| | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 128 | 0 | 94 | 44 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 12 | 0 | 12 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 561 | 1 | 133 | 4 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 71 | 0 | 70 | 5 | @@ -491,18 +492,18 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/obs-knowledge-team](https://github.com/orgs/elastic/teams/obs-knowledge-team) | - | 20 | 0 | 20 | 0 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 52 | 0 | 37 | 7 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 32 | 0 | 19 | 1 | -| | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 7 | 0 | 3 | 0 | +| | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 11 | 0 | 6 | 0 | | | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | - | 269 | 1 | 209 | 15 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 26 | 0 | 26 | 1 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 2 | 0 | 1 | 0 | -| | [@elastic/kibana-esql](https://github.com/orgs/elastic/teams/kibana-esql) | - | 68 | 1 | 68 | 9 | +| | [@elastic/kibana-esql](https://github.com/orgs/elastic/teams/kibana-esql) | - | 99 | 1 | 96 | 11 | | | [@elastic/kibana-esql](https://github.com/orgs/elastic/teams/kibana-esql) | - | 53 | 0 | 51 | 0 | -| | [@elastic/kibana-esql](https://github.com/orgs/elastic/teams/kibana-esql) | - | 189 | 0 | 178 | 10 | +| | [@elastic/kibana-esql](https://github.com/orgs/elastic/teams/kibana-esql) | - | 192 | 0 | 181 | 10 | | | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | - | 39 | 0 | 39 | 0 | | | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | - | 52 | 0 | 52 | 1 | | | [@elastic/security-threat-hunting-investigations](https://github.com/orgs/elastic/teams/security-threat-hunting-investigations) | - | 39 | 0 | 14 | 1 | | | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | - | 22 | 0 | 18 | 0 | -| | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | - | 54 | 0 | 45 | 1 | +| | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | - | 51 | 0 | 42 | 1 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 2 | 0 | 0 | 0 | | | [@elastic/obs-ux-logs-team](https://github.com/orgs/elastic/teams/obs-ux-logs-team) | - | 3 | 0 | 3 | 0 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 36 | 0 | 21 | 1 | @@ -594,7 +595,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 1 | 0 | 1 | 0 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 1 | 0 | 1 | 0 | | | [@elastic/kibana-presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | - | 82 | 0 | 71 | 0 | -| | [@elastic/kibana-presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | - | 209 | 0 | 174 | 5 | +| | [@elastic/kibana-presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | - | 214 | 0 | 179 | 5 | | | [@elastic/obs-ux-infra_services-team](https://github.com/orgs/elastic/teams/obs-ux-infra_services-team) | - | 168 | 0 | 55 | 0 | | | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | - | 13 | 0 | 7 | 0 | | | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | - | 22 | 0 | 9 | 0 | diff --git a/api_docs/presentation_panel.mdx b/api_docs/presentation_panel.mdx index 4df0ee0b57d97..19215acff25b7 100644 --- a/api_docs/presentation_panel.mdx +++ b/api_docs/presentation_panel.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/presentationPanel title: "presentationPanel" image: https://source.unsplash.com/400x175/?github description: API docs for the presentationPanel plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'presentationPanel'] --- import presentationPanelObj from './presentation_panel.devdocs.json'; diff --git a/api_docs/presentation_util.mdx b/api_docs/presentation_util.mdx index 7e59e1b428305..1fff6a578d2e5 100644 --- a/api_docs/presentation_util.mdx +++ b/api_docs/presentation_util.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/presentationUtil title: "presentationUtil" image: https://source.unsplash.com/400x175/?github description: API docs for the presentationUtil plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'presentationUtil'] --- import presentationUtilObj from './presentation_util.devdocs.json'; diff --git a/api_docs/profiling.mdx b/api_docs/profiling.mdx index b03bdffd3b0d2..3999245822c94 100644 --- a/api_docs/profiling.mdx +++ b/api_docs/profiling.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/profiling title: "profiling" image: https://source.unsplash.com/400x175/?github description: API docs for the profiling plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'profiling'] --- import profilingObj from './profiling.devdocs.json'; diff --git a/api_docs/profiling_data_access.mdx b/api_docs/profiling_data_access.mdx index e3310f1e571a0..dede9670e872b 100644 --- a/api_docs/profiling_data_access.mdx +++ b/api_docs/profiling_data_access.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/profilingDataAccess title: "profilingDataAccess" image: https://source.unsplash.com/400x175/?github description: API docs for the profilingDataAccess plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'profilingDataAccess'] --- import profilingDataAccessObj from './profiling_data_access.devdocs.json'; diff --git a/api_docs/remote_clusters.mdx b/api_docs/remote_clusters.mdx index 1b78a818df00f..351c840a9d855 100644 --- a/api_docs/remote_clusters.mdx +++ b/api_docs/remote_clusters.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/remoteClusters title: "remoteClusters" image: https://source.unsplash.com/400x175/?github description: API docs for the remoteClusters plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'remoteClusters'] --- import remoteClustersObj from './remote_clusters.devdocs.json'; diff --git a/api_docs/reporting.mdx b/api_docs/reporting.mdx index 10d2a95a204f3..dc932e6479002 100644 --- a/api_docs/reporting.mdx +++ b/api_docs/reporting.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/reporting title: "reporting" image: https://source.unsplash.com/400x175/?github description: API docs for the reporting plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'reporting'] --- import reportingObj from './reporting.devdocs.json'; diff --git a/api_docs/rollup.mdx b/api_docs/rollup.mdx index 3c7589a1dfaa4..9968a779c5b05 100644 --- a/api_docs/rollup.mdx +++ b/api_docs/rollup.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/rollup title: "rollup" image: https://source.unsplash.com/400x175/?github description: API docs for the rollup plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'rollup'] --- import rollupObj from './rollup.devdocs.json'; diff --git a/api_docs/rule_registry.mdx b/api_docs/rule_registry.mdx index f39c370de06fc..7a3b63326e62e 100644 --- a/api_docs/rule_registry.mdx +++ b/api_docs/rule_registry.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ruleRegistry title: "ruleRegistry" image: https://source.unsplash.com/400x175/?github description: API docs for the ruleRegistry plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ruleRegistry'] --- import ruleRegistryObj from './rule_registry.devdocs.json'; diff --git a/api_docs/runtime_fields.mdx b/api_docs/runtime_fields.mdx index a046e09ac1206..07152c075b270 100644 --- a/api_docs/runtime_fields.mdx +++ b/api_docs/runtime_fields.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/runtimeFields title: "runtimeFields" image: https://source.unsplash.com/400x175/?github description: API docs for the runtimeFields plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'runtimeFields'] --- import runtimeFieldsObj from './runtime_fields.devdocs.json'; diff --git a/api_docs/saved_objects.mdx b/api_docs/saved_objects.mdx index 2b3aebccf8f44..88e635d70c2ec 100644 --- a/api_docs/saved_objects.mdx +++ b/api_docs/saved_objects.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjects title: "savedObjects" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjects plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjects'] --- import savedObjectsObj from './saved_objects.devdocs.json'; diff --git a/api_docs/saved_objects_finder.mdx b/api_docs/saved_objects_finder.mdx index dfcabf012f816..a4bbb3f7841d3 100644 --- a/api_docs/saved_objects_finder.mdx +++ b/api_docs/saved_objects_finder.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsFinder title: "savedObjectsFinder" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsFinder plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjectsFinder'] --- import savedObjectsFinderObj from './saved_objects_finder.devdocs.json'; diff --git a/api_docs/saved_objects_management.mdx b/api_docs/saved_objects_management.mdx index a4b75fa8bf8af..b9d1f9eb00379 100644 --- a/api_docs/saved_objects_management.mdx +++ b/api_docs/saved_objects_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsManagement title: "savedObjectsManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsManagement plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjectsManagement'] --- import savedObjectsManagementObj from './saved_objects_management.devdocs.json'; diff --git a/api_docs/saved_objects_tagging.mdx b/api_docs/saved_objects_tagging.mdx index 997699a68579a..f7216ca8ca27d 100644 --- a/api_docs/saved_objects_tagging.mdx +++ b/api_docs/saved_objects_tagging.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsTagging title: "savedObjectsTagging" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsTagging plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjectsTagging'] --- import savedObjectsTaggingObj from './saved_objects_tagging.devdocs.json'; diff --git a/api_docs/saved_objects_tagging_oss.mdx b/api_docs/saved_objects_tagging_oss.mdx index a353a4cff8bc9..dac7de8a35c34 100644 --- a/api_docs/saved_objects_tagging_oss.mdx +++ b/api_docs/saved_objects_tagging_oss.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsTaggingOss title: "savedObjectsTaggingOss" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsTaggingOss plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjectsTaggingOss'] --- import savedObjectsTaggingOssObj from './saved_objects_tagging_oss.devdocs.json'; diff --git a/api_docs/saved_search.mdx b/api_docs/saved_search.mdx index 5fe795374d9fd..10d228096b24a 100644 --- a/api_docs/saved_search.mdx +++ b/api_docs/saved_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedSearch title: "savedSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the savedSearch plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedSearch'] --- import savedSearchObj from './saved_search.devdocs.json'; diff --git a/api_docs/screenshot_mode.mdx b/api_docs/screenshot_mode.mdx index 8b0e1bbb43838..a2bb4e009e136 100644 --- a/api_docs/screenshot_mode.mdx +++ b/api_docs/screenshot_mode.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/screenshotMode title: "screenshotMode" image: https://source.unsplash.com/400x175/?github description: API docs for the screenshotMode plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'screenshotMode'] --- import screenshotModeObj from './screenshot_mode.devdocs.json'; diff --git a/api_docs/screenshotting.mdx b/api_docs/screenshotting.mdx index f8503be8f380b..41960091db19f 100644 --- a/api_docs/screenshotting.mdx +++ b/api_docs/screenshotting.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/screenshotting title: "screenshotting" image: https://source.unsplash.com/400x175/?github description: API docs for the screenshotting plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'screenshotting'] --- import screenshottingObj from './screenshotting.devdocs.json'; diff --git a/api_docs/search_connectors.mdx b/api_docs/search_connectors.mdx index 45a03aa097976..e1e4095f1e1fb 100644 --- a/api_docs/search_connectors.mdx +++ b/api_docs/search_connectors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/searchConnectors title: "searchConnectors" image: https://source.unsplash.com/400x175/?github description: API docs for the searchConnectors plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'searchConnectors'] --- import searchConnectorsObj from './search_connectors.devdocs.json'; diff --git a/api_docs/search_homepage.devdocs.json b/api_docs/search_homepage.devdocs.json new file mode 100644 index 0000000000000..38fef344fc7b4 --- /dev/null +++ b/api_docs/search_homepage.devdocs.json @@ -0,0 +1,312 @@ +{ + "id": "searchHomepage", + "client": { + "classes": [], + "functions": [], + "interfaces": [ + { + "parentPluginId": "searchHomepage", + "id": "def-public.SearchHomepageAppInfo", + "type": "Interface", + "tags": [], + "label": "SearchHomepageAppInfo", + "description": [], + "path": "x-pack/plugins/search_homepage/public/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "searchHomepage", + "id": "def-public.SearchHomepageAppInfo.appRoute", + "type": "string", + "tags": [], + "label": "appRoute", + "description": [], + "path": "x-pack/plugins/search_homepage/public/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "searchHomepage", + "id": "def-public.SearchHomepageAppInfo.id", + "type": "string", + "tags": [], + "label": "id", + "description": [], + "path": "x-pack/plugins/search_homepage/public/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "searchHomepage", + "id": "def-public.SearchHomepageAppInfo.title", + "type": "string", + "tags": [], + "label": "title", + "description": [], + "path": "x-pack/plugins/search_homepage/public/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + } + ], + "enums": [], + "misc": [], + "objects": [], + "setup": { + "parentPluginId": "searchHomepage", + "id": "def-public.SearchHomepagePluginSetup", + "type": "Interface", + "tags": [], + "label": "SearchHomepagePluginSetup", + "description": [], + "path": "x-pack/plugins/search_homepage/public/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "searchHomepage", + "id": "def-public.SearchHomepagePluginSetup.app", + "type": "Object", + "tags": [], + "label": "app", + "description": [ + "\nSearch Homepage shared information for the Kibana application.\nUsed to ensure the stack and serverless apps have the same route\nand deep links." + ], + "signature": [ + { + "pluginId": "searchHomepage", + "scope": "public", + "docId": "kibSearchHomepagePluginApi", + "section": "def-public.SearchHomepageAppInfo", + "text": "SearchHomepageAppInfo" + } + ], + "path": "x-pack/plugins/search_homepage/public/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "searchHomepage", + "id": "def-public.SearchHomepagePluginSetup.isHomepageFeatureEnabled", + "type": "Function", + "tags": [], + "label": "isHomepageFeatureEnabled", + "description": [ + "\nChecks if the Search Homepage feature flag is currently enabled." + ], + "signature": [ + "() => boolean" + ], + "path": "x-pack/plugins/search_homepage/public/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [ + "true if Search Homepage feature is enabled" + ] + } + ], + "lifecycle": "setup", + "initialIsOpen": true + }, + "start": { + "parentPluginId": "searchHomepage", + "id": "def-public.SearchHomepagePluginStart", + "type": "Interface", + "tags": [], + "label": "SearchHomepagePluginStart", + "description": [], + "path": "x-pack/plugins/search_homepage/public/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "searchHomepage", + "id": "def-public.SearchHomepagePluginStart.app", + "type": "Object", + "tags": [], + "label": "app", + "description": [ + "\nSearch Homepage shared information for the Kibana application.\nUsed to ensure the stack and serverless apps have the same route\nand deep links." + ], + "signature": [ + { + "pluginId": "searchHomepage", + "scope": "public", + "docId": "kibSearchHomepagePluginApi", + "section": "def-public.SearchHomepageAppInfo", + "text": "SearchHomepageAppInfo" + } + ], + "path": "x-pack/plugins/search_homepage/public/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "searchHomepage", + "id": "def-public.SearchHomepagePluginStart.isHomepageFeatureEnabled", + "type": "Function", + "tags": [], + "label": "isHomepageFeatureEnabled", + "description": [ + "\nChecks if the Search Homepage feature flag is currently enabled." + ], + "signature": [ + "() => boolean" + ], + "path": "x-pack/plugins/search_homepage/public/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [ + "true if Search Homepage feature is enabled" + ] + }, + { + "parentPluginId": "searchHomepage", + "id": "def-public.SearchHomepagePluginStart.SearchHomepage", + "type": "Function", + "tags": [], + "label": "SearchHomepage", + "description": [ + "\nSearchHomepage shared component, used to render the search homepage in\nthe Stack search plugin" + ], + "signature": [ + "React.FunctionComponent<{ children?: React.ReactNode; }>" + ], + "path": "x-pack/plugins/search_homepage/public/types.ts", + "deprecated": false, + "trackAdoption": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "searchHomepage", + "id": "def-public.SearchHomepagePluginStart.SearchHomepage.$1", + "type": "CompoundType", + "tags": [], + "label": "props", + "description": [], + "signature": [ + "P & { children?: React.ReactNode; }" + ], + "path": "node_modules/@types/react/index.d.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "searchHomepage", + "id": "def-public.SearchHomepagePluginStart.SearchHomepage.$2", + "type": "Any", + "tags": [], + "label": "context", + "description": [], + "signature": [ + "any" + ], + "path": "node_modules/@types/react/index.d.ts", + "deprecated": false, + "trackAdoption": false + } + ] + } + ], + "lifecycle": "start", + "initialIsOpen": true + } + }, + "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [], + "setup": { + "parentPluginId": "searchHomepage", + "id": "def-server.SearchHomepagePluginSetup", + "type": "Interface", + "tags": [], + "label": "SearchHomepagePluginSetup", + "description": [], + "path": "x-pack/plugins/search_homepage/server/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [], + "lifecycle": "setup", + "initialIsOpen": true + }, + "start": { + "parentPluginId": "searchHomepage", + "id": "def-server.SearchHomepagePluginStart", + "type": "Interface", + "tags": [], + "label": "SearchHomepagePluginStart", + "description": [], + "path": "x-pack/plugins/search_homepage/server/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [], + "lifecycle": "start", + "initialIsOpen": true + } + }, + "common": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [ + { + "parentPluginId": "searchHomepage", + "id": "def-common.HOMEPAGE_FEATURE_FLAG_ID", + "type": "string", + "tags": [], + "label": "HOMEPAGE_FEATURE_FLAG_ID", + "description": [ + "\nUI Setting id for the Search Homepage feature flag" + ], + "signature": [ + "\"searchHomepage:homepageEnabled\"" + ], + "path": "x-pack/plugins/search_homepage/common/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "searchHomepage", + "id": "def-common.PLUGIN_ID", + "type": "string", + "tags": [], + "label": "PLUGIN_ID", + "description": [], + "signature": [ + "\"searchHomepage\"" + ], + "path": "x-pack/plugins/search_homepage/common/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "searchHomepage", + "id": "def-common.PLUGIN_NAME", + "type": "string", + "tags": [], + "label": "PLUGIN_NAME", + "description": [], + "signature": [ + "\"searchHomepage\"" + ], + "path": "x-pack/plugins/search_homepage/common/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + } + ], + "objects": [] + } +} \ No newline at end of file diff --git a/api_docs/search_homepage.mdx b/api_docs/search_homepage.mdx new file mode 100644 index 0000000000000..187098b77416a --- /dev/null +++ b/api_docs/search_homepage.mdx @@ -0,0 +1,49 @@ +--- +#### +#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system. +#### Reach out in #docs-engineering for more info. +#### +id: kibSearchHomepagePluginApi +slug: /kibana-dev-docs/api/searchHomepage +title: "searchHomepage" +image: https://source.unsplash.com/400x175/?github +description: API docs for the searchHomepage plugin +date: 2024-06-21 +tags: ['contributor', 'dev', 'apidocs', 'kibana', 'searchHomepage'] +--- +import searchHomepageObj from './search_homepage.devdocs.json'; + + + +Contact [@elastic/search-kibana](https://github.com/orgs/elastic/teams/search-kibana) for questions regarding this plugin. + +**Code health stats** + +| Public API count | Any count | Items lacking comments | Missing exports | +|-------------------|-----------|------------------------|-----------------| +| 18 | 0 | 10 | 0 | + +## Client + +### Setup + + +### Start + + +### Interfaces + + +## Server + +### Setup + + +### Start + + +## Common + +### Consts, variables and types + + diff --git a/api_docs/search_inference_endpoints.mdx b/api_docs/search_inference_endpoints.mdx index 960e4e7e48960..24aba37e1dca0 100644 --- a/api_docs/search_inference_endpoints.mdx +++ b/api_docs/search_inference_endpoints.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/searchInferenceEndpoints title: "searchInferenceEndpoints" image: https://source.unsplash.com/400x175/?github description: API docs for the searchInferenceEndpoints plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'searchInferenceEndpoints'] --- import searchInferenceEndpointsObj from './search_inference_endpoints.devdocs.json'; diff --git a/api_docs/search_notebooks.mdx b/api_docs/search_notebooks.mdx index 470c28d2868b4..bcdbd72b3ab64 100644 --- a/api_docs/search_notebooks.mdx +++ b/api_docs/search_notebooks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/searchNotebooks title: "searchNotebooks" image: https://source.unsplash.com/400x175/?github description: API docs for the searchNotebooks plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'searchNotebooks'] --- import searchNotebooksObj from './search_notebooks.devdocs.json'; diff --git a/api_docs/search_playground.mdx b/api_docs/search_playground.mdx index 1f957baa893ee..4433ac9b1399d 100644 --- a/api_docs/search_playground.mdx +++ b/api_docs/search_playground.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/searchPlayground title: "searchPlayground" image: https://source.unsplash.com/400x175/?github description: API docs for the searchPlayground plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'searchPlayground'] --- import searchPlaygroundObj from './search_playground.devdocs.json'; diff --git a/api_docs/security.devdocs.json b/api_docs/security.devdocs.json index f43fe4bd96a09..edcb390da545f 100644 --- a/api_docs/security.devdocs.json +++ b/api_docs/security.devdocs.json @@ -5683,6 +5683,26 @@ "plugin": "apm", "path": "x-pack/plugins/observability_solution/apm/server/routes/fleet/is_superuser.ts" }, + { + "plugin": "assetManager", + "path": "x-pack/plugins/observability_solution/asset_manager/server/lib/auth/api_key/api_key.ts" + }, + { + "plugin": "assetManager", + "path": "x-pack/plugins/observability_solution/asset_manager/server/lib/auth/api_key/api_key.ts" + }, + { + "plugin": "assetManager", + "path": "x-pack/plugins/observability_solution/asset_manager/server/lib/auth/api_key/api_key.ts" + }, + { + "plugin": "assetManager", + "path": "x-pack/plugins/observability_solution/asset_manager/server/routes/enablement/enable.ts" + }, + { + "plugin": "assetManager", + "path": "x-pack/plugins/observability_solution/asset_manager/server/routes/enablement/disable.ts" + }, { "plugin": "synthetics", "path": "x-pack/plugins/observability_solution/synthetics/server/synthetics_service/get_api_key.ts" diff --git a/api_docs/security.mdx b/api_docs/security.mdx index ad7fdca6c19f6..649e3e67a16ec 100644 --- a/api_docs/security.mdx +++ b/api_docs/security.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/security title: "security" image: https://source.unsplash.com/400x175/?github description: API docs for the security plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'security'] --- import securityObj from './security.devdocs.json'; diff --git a/api_docs/security_solution.mdx b/api_docs/security_solution.mdx index 10fb34dfcd75a..0a923028383dc 100644 --- a/api_docs/security_solution.mdx +++ b/api_docs/security_solution.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/securitySolution title: "securitySolution" image: https://source.unsplash.com/400x175/?github description: API docs for the securitySolution plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'securitySolution'] --- import securitySolutionObj from './security_solution.devdocs.json'; diff --git a/api_docs/security_solution_ess.mdx b/api_docs/security_solution_ess.mdx index c96d7a20b5e9f..9adcf7e250883 100644 --- a/api_docs/security_solution_ess.mdx +++ b/api_docs/security_solution_ess.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/securitySolutionEss title: "securitySolutionEss" image: https://source.unsplash.com/400x175/?github description: API docs for the securitySolutionEss plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'securitySolutionEss'] --- import securitySolutionEssObj from './security_solution_ess.devdocs.json'; diff --git a/api_docs/security_solution_serverless.mdx b/api_docs/security_solution_serverless.mdx index 7acea530f5fc5..f257d92d983ca 100644 --- a/api_docs/security_solution_serverless.mdx +++ b/api_docs/security_solution_serverless.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/securitySolutionServerless title: "securitySolutionServerless" image: https://source.unsplash.com/400x175/?github description: API docs for the securitySolutionServerless plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'securitySolutionServerless'] --- import securitySolutionServerlessObj from './security_solution_serverless.devdocs.json'; diff --git a/api_docs/serverless.mdx b/api_docs/serverless.mdx index 1eb61bcf6de72..935b751efb2aa 100644 --- a/api_docs/serverless.mdx +++ b/api_docs/serverless.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/serverless title: "serverless" image: https://source.unsplash.com/400x175/?github description: API docs for the serverless plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'serverless'] --- import serverlessObj from './serverless.devdocs.json'; diff --git a/api_docs/serverless_observability.mdx b/api_docs/serverless_observability.mdx index c403796a2f280..2623a4fc54407 100644 --- a/api_docs/serverless_observability.mdx +++ b/api_docs/serverless_observability.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/serverlessObservability title: "serverlessObservability" image: https://source.unsplash.com/400x175/?github description: API docs for the serverlessObservability plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'serverlessObservability'] --- import serverlessObservabilityObj from './serverless_observability.devdocs.json'; diff --git a/api_docs/serverless_search.mdx b/api_docs/serverless_search.mdx index c882d39ee8c64..fd9331e5f0d11 100644 --- a/api_docs/serverless_search.mdx +++ b/api_docs/serverless_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/serverlessSearch title: "serverlessSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the serverlessSearch plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'serverlessSearch'] --- import serverlessSearchObj from './serverless_search.devdocs.json'; diff --git a/api_docs/session_view.mdx b/api_docs/session_view.mdx index 39e2308ac3b35..7c2385549c4ec 100644 --- a/api_docs/session_view.mdx +++ b/api_docs/session_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/sessionView title: "sessionView" image: https://source.unsplash.com/400x175/?github description: API docs for the sessionView plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'sessionView'] --- import sessionViewObj from './session_view.devdocs.json'; diff --git a/api_docs/share.mdx b/api_docs/share.mdx index 0955b3e6997b2..50ef3518c5076 100644 --- a/api_docs/share.mdx +++ b/api_docs/share.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/share title: "share" image: https://source.unsplash.com/400x175/?github description: API docs for the share plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'share'] --- import shareObj from './share.devdocs.json'; diff --git a/api_docs/slo.mdx b/api_docs/slo.mdx index 8bb7ffb38c2ea..8a77863b7a564 100644 --- a/api_docs/slo.mdx +++ b/api_docs/slo.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/slo title: "slo" image: https://source.unsplash.com/400x175/?github description: API docs for the slo plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'slo'] --- import sloObj from './slo.devdocs.json'; diff --git a/api_docs/snapshot_restore.mdx b/api_docs/snapshot_restore.mdx index 359079def7dbc..ec96d57f435b3 100644 --- a/api_docs/snapshot_restore.mdx +++ b/api_docs/snapshot_restore.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/snapshotRestore title: "snapshotRestore" image: https://source.unsplash.com/400x175/?github description: API docs for the snapshotRestore plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'snapshotRestore'] --- import snapshotRestoreObj from './snapshot_restore.devdocs.json'; diff --git a/api_docs/spaces.mdx b/api_docs/spaces.mdx index 385368b87f654..2d2aa499e00f6 100644 --- a/api_docs/spaces.mdx +++ b/api_docs/spaces.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/spaces title: "spaces" image: https://source.unsplash.com/400x175/?github description: API docs for the spaces plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'spaces'] --- import spacesObj from './spaces.devdocs.json'; diff --git a/api_docs/stack_alerts.mdx b/api_docs/stack_alerts.mdx index 3314b5bb8aa63..5f3efe617518e 100644 --- a/api_docs/stack_alerts.mdx +++ b/api_docs/stack_alerts.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/stackAlerts title: "stackAlerts" image: https://source.unsplash.com/400x175/?github description: API docs for the stackAlerts plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'stackAlerts'] --- import stackAlertsObj from './stack_alerts.devdocs.json'; diff --git a/api_docs/stack_connectors.mdx b/api_docs/stack_connectors.mdx index 086640353d71c..da4f6fb9b9256 100644 --- a/api_docs/stack_connectors.mdx +++ b/api_docs/stack_connectors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/stackConnectors title: "stackConnectors" image: https://source.unsplash.com/400x175/?github description: API docs for the stackConnectors plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'stackConnectors'] --- import stackConnectorsObj from './stack_connectors.devdocs.json'; diff --git a/api_docs/task_manager.mdx b/api_docs/task_manager.mdx index 03645e34e324d..a127b32e3e66f 100644 --- a/api_docs/task_manager.mdx +++ b/api_docs/task_manager.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/taskManager title: "taskManager" image: https://source.unsplash.com/400x175/?github description: API docs for the taskManager plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'taskManager'] --- import taskManagerObj from './task_manager.devdocs.json'; diff --git a/api_docs/telemetry.mdx b/api_docs/telemetry.mdx index 2c751b121ed49..1c15ef417f20c 100644 --- a/api_docs/telemetry.mdx +++ b/api_docs/telemetry.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetry title: "telemetry" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetry plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetry'] --- import telemetryObj from './telemetry.devdocs.json'; diff --git a/api_docs/telemetry_collection_manager.mdx b/api_docs/telemetry_collection_manager.mdx index 51d70a87ff4b4..f3034a8fb7e4e 100644 --- a/api_docs/telemetry_collection_manager.mdx +++ b/api_docs/telemetry_collection_manager.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetryCollectionManager title: "telemetryCollectionManager" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetryCollectionManager plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetryCollectionManager'] --- import telemetryCollectionManagerObj from './telemetry_collection_manager.devdocs.json'; diff --git a/api_docs/telemetry_collection_xpack.mdx b/api_docs/telemetry_collection_xpack.mdx index 176820c472d6f..0cb25d493a0a4 100644 --- a/api_docs/telemetry_collection_xpack.mdx +++ b/api_docs/telemetry_collection_xpack.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetryCollectionXpack title: "telemetryCollectionXpack" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetryCollectionXpack plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetryCollectionXpack'] --- import telemetryCollectionXpackObj from './telemetry_collection_xpack.devdocs.json'; diff --git a/api_docs/telemetry_management_section.mdx b/api_docs/telemetry_management_section.mdx index ce2e6eb5c50d8..c946749b3cb8f 100644 --- a/api_docs/telemetry_management_section.mdx +++ b/api_docs/telemetry_management_section.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetryManagementSection title: "telemetryManagementSection" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetryManagementSection plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetryManagementSection'] --- import telemetryManagementSectionObj from './telemetry_management_section.devdocs.json'; diff --git a/api_docs/text_based_languages.mdx b/api_docs/text_based_languages.mdx index 7426e2bcc3ed3..98776e43fa626 100644 --- a/api_docs/text_based_languages.mdx +++ b/api_docs/text_based_languages.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/textBasedLanguages title: "textBasedLanguages" image: https://source.unsplash.com/400x175/?github description: API docs for the textBasedLanguages plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'textBasedLanguages'] --- import textBasedLanguagesObj from './text_based_languages.devdocs.json'; diff --git a/api_docs/threat_intelligence.mdx b/api_docs/threat_intelligence.mdx index 5e6c067200b75..2a74af1ab90a0 100644 --- a/api_docs/threat_intelligence.mdx +++ b/api_docs/threat_intelligence.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/threatIntelligence title: "threatIntelligence" image: https://source.unsplash.com/400x175/?github description: API docs for the threatIntelligence plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'threatIntelligence'] --- import threatIntelligenceObj from './threat_intelligence.devdocs.json'; diff --git a/api_docs/timelines.mdx b/api_docs/timelines.mdx index 0fbca32935a9a..62e3d48973578 100644 --- a/api_docs/timelines.mdx +++ b/api_docs/timelines.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/timelines title: "timelines" image: https://source.unsplash.com/400x175/?github description: API docs for the timelines plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'timelines'] --- import timelinesObj from './timelines.devdocs.json'; diff --git a/api_docs/transform.mdx b/api_docs/transform.mdx index c283e9cbb1940..df65a231b0a9e 100644 --- a/api_docs/transform.mdx +++ b/api_docs/transform.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/transform title: "transform" image: https://source.unsplash.com/400x175/?github description: API docs for the transform plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'transform'] --- import transformObj from './transform.devdocs.json'; diff --git a/api_docs/triggers_actions_ui.mdx b/api_docs/triggers_actions_ui.mdx index 947d503130b72..e6f37aafc0772 100644 --- a/api_docs/triggers_actions_ui.mdx +++ b/api_docs/triggers_actions_ui.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/triggersActionsUi title: "triggersActionsUi" image: https://source.unsplash.com/400x175/?github description: API docs for the triggersActionsUi plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'triggersActionsUi'] --- import triggersActionsUiObj from './triggers_actions_ui.devdocs.json'; diff --git a/api_docs/ui_actions.mdx b/api_docs/ui_actions.mdx index 9927f905c3232..05a3c884c664b 100644 --- a/api_docs/ui_actions.mdx +++ b/api_docs/ui_actions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/uiActions title: "uiActions" image: https://source.unsplash.com/400x175/?github description: API docs for the uiActions plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'uiActions'] --- import uiActionsObj from './ui_actions.devdocs.json'; diff --git a/api_docs/ui_actions_enhanced.mdx b/api_docs/ui_actions_enhanced.mdx index f0c965a6d86fd..f910686440247 100644 --- a/api_docs/ui_actions_enhanced.mdx +++ b/api_docs/ui_actions_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/uiActionsEnhanced title: "uiActionsEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the uiActionsEnhanced plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'uiActionsEnhanced'] --- import uiActionsEnhancedObj from './ui_actions_enhanced.devdocs.json'; diff --git a/api_docs/unified_doc_viewer.devdocs.json b/api_docs/unified_doc_viewer.devdocs.json index 0906c32e85ebd..76a3e2a3d32ff 100644 --- a/api_docs/unified_doc_viewer.devdocs.json +++ b/api_docs/unified_doc_viewer.devdocs.json @@ -65,7 +65,7 @@ }, " & React.RefAttributes<{}>>" ], - "path": "src/plugins/unified_doc_viewer/public/index.tsx", + "path": "src/plugins/unified_doc_viewer/public/components/lazy_doc_viewer.tsx", "deprecated": false, "trackAdoption": false, "returnComment": [], @@ -87,6 +87,48 @@ ], "initialIsOpen": false }, + { + "parentPluginId": "unifiedDocViewer", + "id": "def-public.UnifiedDocViewerFlyout", + "type": "Function", + "tags": [], + "label": "UnifiedDocViewerFlyout", + "description": [], + "signature": [ + "React.ForwardRefExoticComponent<", + "UnifiedDocViewerFlyoutProps", + " & ", + { + "pluginId": "@kbn/shared-ux-utility", + "scope": "common", + "docId": "kibKbnSharedUxUtilityPluginApi", + "section": "def-common.WithSuspenseExtendedDeps", + "text": "WithSuspenseExtendedDeps" + }, + " & React.RefAttributes<{}>>" + ], + "path": "src/plugins/unified_doc_viewer/public/components/lazy_doc_viewer_flyout.tsx", + "deprecated": false, + "trackAdoption": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "unifiedDocViewer", + "id": "def-public.UnifiedDocViewerFlyout.$1", + "type": "Uncategorized", + "tags": [], + "label": "props", + "description": [], + "signature": [ + "P" + ], + "path": "node_modules/@types/react/index.d.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, { "parentPluginId": "unifiedDocViewer", "id": "def-public.useEsDocSearch", diff --git a/api_docs/unified_doc_viewer.mdx b/api_docs/unified_doc_viewer.mdx index 797100653e885..fbf2741d09849 100644 --- a/api_docs/unified_doc_viewer.mdx +++ b/api_docs/unified_doc_viewer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedDocViewer title: "unifiedDocViewer" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedDocViewer plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedDocViewer'] --- import unifiedDocViewerObj from './unified_doc_viewer.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/k | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 10 | 0 | 7 | 2 | +| 12 | 0 | 8 | 3 | ## Client diff --git a/api_docs/unified_histogram.mdx b/api_docs/unified_histogram.mdx index 673a04e07caa2..daa9e53e00644 100644 --- a/api_docs/unified_histogram.mdx +++ b/api_docs/unified_histogram.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedHistogram title: "unifiedHistogram" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedHistogram plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedHistogram'] --- import unifiedHistogramObj from './unified_histogram.devdocs.json'; diff --git a/api_docs/unified_search.mdx b/api_docs/unified_search.mdx index da150ddd187d5..d57a4548980fc 100644 --- a/api_docs/unified_search.mdx +++ b/api_docs/unified_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedSearch title: "unifiedSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedSearch plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedSearch'] --- import unifiedSearchObj from './unified_search.devdocs.json'; diff --git a/api_docs/unified_search_autocomplete.mdx b/api_docs/unified_search_autocomplete.mdx index 3828629b7de40..7c7ccfb3f1285 100644 --- a/api_docs/unified_search_autocomplete.mdx +++ b/api_docs/unified_search_autocomplete.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedSearch-autocomplete title: "unifiedSearch.autocomplete" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedSearch.autocomplete plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedSearch.autocomplete'] --- import unifiedSearchAutocompleteObj from './unified_search_autocomplete.devdocs.json'; diff --git a/api_docs/uptime.mdx b/api_docs/uptime.mdx index 8b9feb48b2554..1f66882960ef8 100644 --- a/api_docs/uptime.mdx +++ b/api_docs/uptime.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/uptime title: "uptime" image: https://source.unsplash.com/400x175/?github description: API docs for the uptime plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'uptime'] --- import uptimeObj from './uptime.devdocs.json'; diff --git a/api_docs/url_forwarding.mdx b/api_docs/url_forwarding.mdx index 64a832b6cff6c..dd533008201e1 100644 --- a/api_docs/url_forwarding.mdx +++ b/api_docs/url_forwarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/urlForwarding title: "urlForwarding" image: https://source.unsplash.com/400x175/?github description: API docs for the urlForwarding plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'urlForwarding'] --- import urlForwardingObj from './url_forwarding.devdocs.json'; diff --git a/api_docs/usage_collection.mdx b/api_docs/usage_collection.mdx index 436db094913ba..7c92cb2b6432d 100644 --- a/api_docs/usage_collection.mdx +++ b/api_docs/usage_collection.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/usageCollection title: "usageCollection" image: https://source.unsplash.com/400x175/?github description: API docs for the usageCollection plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'usageCollection'] --- import usageCollectionObj from './usage_collection.devdocs.json'; diff --git a/api_docs/ux.mdx b/api_docs/ux.mdx index 6101ac7d027d2..77504512577ad 100644 --- a/api_docs/ux.mdx +++ b/api_docs/ux.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ux title: "ux" image: https://source.unsplash.com/400x175/?github description: API docs for the ux plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ux'] --- import uxObj from './ux.devdocs.json'; diff --git a/api_docs/vis_default_editor.mdx b/api_docs/vis_default_editor.mdx index 890eb0c990a2e..e97fec2997ace 100644 --- a/api_docs/vis_default_editor.mdx +++ b/api_docs/vis_default_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visDefaultEditor title: "visDefaultEditor" image: https://source.unsplash.com/400x175/?github description: API docs for the visDefaultEditor plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visDefaultEditor'] --- import visDefaultEditorObj from './vis_default_editor.devdocs.json'; diff --git a/api_docs/vis_type_gauge.mdx b/api_docs/vis_type_gauge.mdx index 6aff52a01cd88..31b4c623dbd8a 100644 --- a/api_docs/vis_type_gauge.mdx +++ b/api_docs/vis_type_gauge.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeGauge title: "visTypeGauge" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeGauge plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeGauge'] --- import visTypeGaugeObj from './vis_type_gauge.devdocs.json'; diff --git a/api_docs/vis_type_heatmap.mdx b/api_docs/vis_type_heatmap.mdx index dca9fa99c07b0..e260271aa139f 100644 --- a/api_docs/vis_type_heatmap.mdx +++ b/api_docs/vis_type_heatmap.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeHeatmap title: "visTypeHeatmap" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeHeatmap plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeHeatmap'] --- import visTypeHeatmapObj from './vis_type_heatmap.devdocs.json'; diff --git a/api_docs/vis_type_pie.mdx b/api_docs/vis_type_pie.mdx index 6f52c4d6726a1..25c405e31dfd8 100644 --- a/api_docs/vis_type_pie.mdx +++ b/api_docs/vis_type_pie.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypePie title: "visTypePie" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypePie plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypePie'] --- import visTypePieObj from './vis_type_pie.devdocs.json'; diff --git a/api_docs/vis_type_table.mdx b/api_docs/vis_type_table.mdx index c984f1e20a831..bed0265509cd6 100644 --- a/api_docs/vis_type_table.mdx +++ b/api_docs/vis_type_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeTable title: "visTypeTable" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeTable plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeTable'] --- import visTypeTableObj from './vis_type_table.devdocs.json'; diff --git a/api_docs/vis_type_timelion.mdx b/api_docs/vis_type_timelion.mdx index 3dce4637737ae..c578c211c7bbd 100644 --- a/api_docs/vis_type_timelion.mdx +++ b/api_docs/vis_type_timelion.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeTimelion title: "visTypeTimelion" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeTimelion plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeTimelion'] --- import visTypeTimelionObj from './vis_type_timelion.devdocs.json'; diff --git a/api_docs/vis_type_timeseries.mdx b/api_docs/vis_type_timeseries.mdx index 1106d22596c13..a7a95031124ab 100644 --- a/api_docs/vis_type_timeseries.mdx +++ b/api_docs/vis_type_timeseries.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeTimeseries title: "visTypeTimeseries" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeTimeseries plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeTimeseries'] --- import visTypeTimeseriesObj from './vis_type_timeseries.devdocs.json'; diff --git a/api_docs/vis_type_vega.mdx b/api_docs/vis_type_vega.mdx index d899070ea869f..4a4533ba6980a 100644 --- a/api_docs/vis_type_vega.mdx +++ b/api_docs/vis_type_vega.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeVega title: "visTypeVega" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeVega plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeVega'] --- import visTypeVegaObj from './vis_type_vega.devdocs.json'; diff --git a/api_docs/vis_type_vislib.mdx b/api_docs/vis_type_vislib.mdx index 89682e5f50528..481b2179bac33 100644 --- a/api_docs/vis_type_vislib.mdx +++ b/api_docs/vis_type_vislib.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeVislib title: "visTypeVislib" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeVislib plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeVislib'] --- import visTypeVislibObj from './vis_type_vislib.devdocs.json'; diff --git a/api_docs/vis_type_xy.mdx b/api_docs/vis_type_xy.mdx index 4ae390b8e9a7c..857a44847b49c 100644 --- a/api_docs/vis_type_xy.mdx +++ b/api_docs/vis_type_xy.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeXy title: "visTypeXy" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeXy plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeXy'] --- import visTypeXyObj from './vis_type_xy.devdocs.json'; diff --git a/api_docs/visualizations.devdocs.json b/api_docs/visualizations.devdocs.json index b405cfcef12f0..5134efed80664 100644 --- a/api_docs/visualizations.devdocs.json +++ b/api_docs/visualizations.devdocs.json @@ -14631,6 +14631,18 @@ } ], "enums": [ + { + "parentPluginId": "visualizations", + "id": "def-common.LegendLayout", + "type": "Enum", + "tags": [], + "label": "LegendLayout", + "description": [], + "path": "src/plugins/visualizations/common/constants.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "visualizations", "id": "def-common.LegendSize", @@ -16124,10 +16136,13 @@ { "parentPluginId": "visualizations", "id": "def-common.PartitionLegendValue", - "type": "string", + "type": "Type", "tags": [], "label": "PartitionLegendValue", "description": [], + "signature": [ + "\"value\" | \"percent\"" + ], "path": "src/plugins/visualizations/common/constants.ts", "deprecated": false, "trackAdoption": false, @@ -16648,10 +16663,13 @@ { "parentPluginId": "visualizations", "id": "def-common.XYLegendValue", - "type": "string", + "type": "Type", "tags": [], "label": "XYLegendValue", "description": [], + "signature": [ + "\"min\" | \"max\" | \"median\" | \"count\" | \"total\" | \"range\" | \"currentAndLastValue\" | \"lastValue\" | \"lastNonNullValue\" | \"average\" | \"firstValue\" | \"firstNonNullValue\" | \"distinctCount\" | \"variance\" | \"stdDeviation\" | \"difference\" | \"differencePercent\"" + ], "path": "src/plugins/visualizations/common/constants.ts", "deprecated": false, "trackAdoption": false, diff --git a/api_docs/visualizations.mdx b/api_docs/visualizations.mdx index 862c90efea645..25b9688ab2877 100644 --- a/api_docs/visualizations.mdx +++ b/api_docs/visualizations.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visualizations title: "visualizations" image: https://source.unsplash.com/400x175/?github description: API docs for the visualizations plugin -date: 2024-06-19 +date: 2024-06-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visualizations'] --- import visualizationsObj from './visualizations.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/k | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 864 | 12 | 833 | 19 | +| 865 | 12 | 834 | 19 | ## Client From fe61a65bddb9aacac1b24a8831b11a65d2b34405 Mon Sep 17 00:00:00 2001 From: Stratoula Kalafateli Date: Fri, 21 Jun 2024 07:59:44 +0200 Subject: [PATCH 04/80] [ES|QL] Change the icon for comma, pipe and punctuation in general (#186442) ## Summary Changes the icon used for comma, pipe etc suggestions as it was using the operator icon which was quite confusing. ![image (51)](https://github.com/elastic/kibana/assets/17003240/c326e06b-a392-4de2-97f2-68a803b4f60b) --- .../src/autocomplete/complete_items.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/kbn-esql-validation-autocomplete/src/autocomplete/complete_items.ts b/packages/kbn-esql-validation-autocomplete/src/autocomplete/complete_items.ts index 204f5b1b4855d..e0ab600aa1382 100644 --- a/packages/kbn-esql-validation-autocomplete/src/autocomplete/complete_items.ts +++ b/packages/kbn-esql-validation-autocomplete/src/autocomplete/complete_items.ts @@ -93,7 +93,7 @@ function buildCharCompleteItem( return { label, text: quoted ? `"${label}"` : label, - kind: 'Operator', + kind: 'Keyword', detail, sortText, }; From 5ed27233550a4fa8f7b543dfda556400f0feaf9a Mon Sep 17 00:00:00 2001 From: Stratoula Kalafateli Date: Fri, 21 Jun 2024 07:59:54 +0200 Subject: [PATCH 05/80] [ES|QL] Various fixes in editor loading functionality (#186445) ## Summary Closes https://github.com/elastic/kibana/issues/185886 This PR: - make some fixes in the loading logic - allows the user to edit the query even if another one is running - fixes a bug in inline editing where the CMD + Enter command didnt work after the first run --- .../src/text_based_languages_editor.tsx | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/packages/kbn-text-based-editor/src/text_based_languages_editor.tsx b/packages/kbn-text-based-editor/src/text_based_languages_editor.tsx index b33d8125bfd25..14767da922ed9 100644 --- a/packages/kbn-text-based-editor/src/text_based_languages_editor.tsx +++ b/packages/kbn-text-based-editor/src/text_based_languages_editor.tsx @@ -221,7 +221,7 @@ export const TextBasedLanguagesEditor = memo(function TextBasedLanguagesEditor({ ); const onQuerySubmit = useCallback(() => { - if (isQueryLoading && allowQueryCancellation) { + if (isQueryLoading && isLoading && allowQueryCancellation) { abortController?.abort(); setIsQueryLoading(false); } else { @@ -235,7 +235,14 @@ export const TextBasedLanguagesEditor = memo(function TextBasedLanguagesEditor({ } onTextLangQuerySubmit({ [language]: currentValue } as AggregateQuery, abc); } - }, [language, onTextLangQuerySubmit, abortController, isQueryLoading, allowQueryCancellation]); + }, [ + isQueryLoading, + isLoading, + allowQueryCancellation, + abortController, + onTextLangQuerySubmit, + language, + ]); const onCommentLine = useCallback(() => { const currentSelection = editor1?.current?.getSelection(); @@ -691,9 +698,7 @@ export const TextBasedLanguagesEditor = memo(function TextBasedLanguagesEditor({ }, quickSuggestions: true, readOnly: - isLoading || - isDisabled || - Boolean(!isCompactFocused && codeOneLiner && codeOneLiner.includes('...')), + isDisabled || Boolean(!isCompactFocused && codeOneLiner && codeOneLiner.includes('...')), renderLineHighlight: !isCodeEditorExpanded ? 'none' : 'line', renderLineHighlightOnlyWhenFocus: true, scrollbar: { From 50ee4cf58b296372139fb648129c447fc5ba3a8e Mon Sep 17 00:00:00 2001 From: Shahzad Date: Fri, 21 Jun 2024 08:17:56 +0200 Subject: [PATCH 06/80] [Synthetucs] Added perf metrics for es queries (#186313) ## Summary Added perf metrics for es queries !! Fixes https://github.com/elastic/synthetics-dev/issues/351 Started reporting query time for exploratory based visualizations used in Synthetics Test data can be seen on staging telemetry cluster !! image --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> --- .../embeddable/embeddable.tsx | 18 ++++++- .../exploratory_view/embeddable/index.tsx | 6 ++- .../hooks/use_ebt_telemetry.ts | 52 +++++++++++++++++++ .../exploratory_view/public/plugin.ts | 10 +++- .../exploratory_view/tsconfig.json | 5 +- 5 files changed, 86 insertions(+), 5 deletions(-) create mode 100644 x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/hooks/use_ebt_telemetry.ts diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/embeddable/embeddable.tsx b/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/embeddable/embeddable.tsx index ed06d786124f3..a0079568803b6 100644 --- a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/embeddable/embeddable.tsx +++ b/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/embeddable/embeddable.tsx @@ -18,6 +18,8 @@ import { import { ViewMode } from '@kbn/embeddable-plugin/common'; import { observabilityFeatureId } from '@kbn/observability-shared-plugin/public'; import styled from 'styled-components'; +import { AnalyticsServiceSetup } from '@kbn/core-analytics-browser'; +import { useEBTTelemetry } from '../hooks/use_ebt_telemetry'; import { AllSeries } from '../../../..'; import { AppDataType, ReportViewType } from '../types'; import { OperationTypeComponent } from '../series_editor/columns/operation_type_select'; @@ -61,6 +63,7 @@ export interface ExploratoryEmbeddableComponentProps extends ExploratoryEmbeddab lens: LensPublicStart; dataViewState: DataViewState; lensFormulaHelper?: FormulaPublicApi; + analytics?: AnalyticsServiceSetup; } // eslint-disable-next-line import/no-default-export @@ -88,6 +91,7 @@ export default function Embeddable(props: ExploratoryEmbeddableComponentProps) { lineHeight = 32, searchSessionId, onLoad, + analytics, } = props; const LensComponent = lens?.EmbeddableComponent; const LensSaveModalComponent = lens?.SaveModalComponent; @@ -103,6 +107,15 @@ export default function Embeddable(props: ExploratoryEmbeddableComponentProps) { const timeRange = customTimeRange ?? series?.time; + const { reportEvent } = useEBTTelemetry({ + analytics, + queryName: series + ? `${series.dataType}_${series.name}` + : typeof title === 'string' + ? title + : 'Exp View embeddable query', + }); + const actions = useActions({ withActions, attributes, @@ -198,7 +211,10 @@ export default function Embeddable(props: ExploratoryEmbeddableComponentProps) { extraActions={actions} viewMode={ViewMode.VIEW} searchSessionId={searchSessionId} - onLoad={onLoad} + onLoad={(loading, inspectorAdapters) => { + reportEvent(inspectorAdapters); + onLoad?.(loading); + }} /> {isSaveOpen && attributesJSON && ( diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/hooks/use_ebt_telemetry.ts b/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/hooks/use_ebt_telemetry.ts new file mode 100644 index 0000000000000..639b6332ab612 --- /dev/null +++ b/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/hooks/use_ebt_telemetry.ts @@ -0,0 +1,52 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { DefaultInspectorAdapters } from '@kbn/expressions-plugin/common'; +import { reportPerformanceMetricEvent } from '@kbn/ebt-tools'; +import { AnalyticsServiceSetup } from '@kbn/core-analytics-browser'; + +export const useEBTTelemetry = ({ + analytics, + queryName, +}: { + analytics?: AnalyticsServiceSetup; + queryName?: string; +}) => { + const reportEvent = (inspectorAdapters?: Partial) => { + if (inspectorAdapters) { + const { requests } = inspectorAdapters; + if (requests && analytics) { + const listReq = requests.getRequests(); + + if (listReq.length > 0) { + // find the highest query time, since a lens chart can contains more than on query, it doesn't make sense to + // report all of them , only the query with highest latency needs to be reported + const duration = listReq.reduce((acc, req) => { + const queryTime = Number(req.stats?.queryTime.value.split('ms')?.[0]); + return queryTime > acc ? queryTime : acc; + }, 0); + + if (duration) { + reportPerformanceMetricEvent(analytics, { + eventName: 'exploratory_view_query_time', + duration, + meta: + (queryName && { + queryName, + }) || + undefined, + }); + } + } + } + } + }; + + return { + reportEvent, + }; +}; diff --git a/x-pack/plugins/observability_solution/exploratory_view/public/plugin.ts b/x-pack/plugins/observability_solution/exploratory_view/public/plugin.ts index 182884d42a51a..a1101e0fb4e4a 100644 --- a/x-pack/plugins/observability_solution/exploratory_view/public/plugin.ts +++ b/x-pack/plugins/observability_solution/exploratory_view/public/plugin.ts @@ -9,6 +9,7 @@ import { i18n } from '@kbn/i18n'; import { BehaviorSubject } from 'rxjs'; import { SharePluginSetup, SharePluginStart } from '@kbn/share-plugin/public'; import { + AnalyticsServiceSetup, AppMountParameters, AppUpdater, CoreSetup, @@ -85,6 +86,8 @@ export class Plugin { private readonly appUpdater$ = new BehaviorSubject(() => ({})); + private analyticsService?: AnalyticsServiceSetup; + constructor(private readonly initContext: PluginInitializerContext) {} public setup( @@ -129,6 +132,8 @@ export class Plugin ], }); + this.analyticsService = core.analytics; + return { register: registerDataHandler, }; @@ -138,7 +143,10 @@ export class Plugin return { createExploratoryViewUrl, getAppDataView: getAppDataView(pluginsStart.dataViews), - ExploratoryViewEmbeddable: getExploratoryViewEmbeddable({ ...coreStart, ...pluginsStart }), + ExploratoryViewEmbeddable: getExploratoryViewEmbeddable( + { ...coreStart, ...pluginsStart }, + this.analyticsService + ), }; } } diff --git a/x-pack/plugins/observability_solution/exploratory_view/tsconfig.json b/x-pack/plugins/observability_solution/exploratory_view/tsconfig.json index 87002a070158a..3aca08a23f4ef 100644 --- a/x-pack/plugins/observability_solution/exploratory_view/tsconfig.json +++ b/x-pack/plugins/observability_solution/exploratory_view/tsconfig.json @@ -41,7 +41,10 @@ "@kbn/observability-ai-assistant-plugin", "@kbn/shared-ux-link-redirect-app", "@kbn/react-kibana-context-render", - "@kbn/react-kibana-mount" + "@kbn/react-kibana-mount", + "@kbn/core-analytics-browser", + "@kbn/expressions-plugin", + "@kbn/ebt-tools" ], "exclude": ["target/**/*"] } From 695d382bcc7e939a33b0eee0e36ba8045b0cf2ec Mon Sep 17 00:00:00 2001 From: Walter Rafelsberger Date: Fri, 21 Jun 2024 09:20:53 +0200 Subject: [PATCH 07/80] [ML] AIOps: Fix the text field icon margins in the log rate analysis results table. (#186520) ## Summary Part of #181111. Fixes the regression where the text field icon margins in the log rate analysis results table were not rendered. It turned out the css applied to `EuiIconTip` was not picked up correctly. Wrapping it in a `span` applies it correctly. Before: image After: image ### Checklist - [ ] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios - [x] This was checked for breaking API changes and was [labeled appropriately](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process) --- .../use_columns.tsx | 33 +++++++++++-------- 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/x-pack/plugins/aiops/public/components/log_rate_analysis_results_table/use_columns.tsx b/x-pack/plugins/aiops/public/components/log_rate_analysis_results_table/use_columns.tsx index fa52207865f3c..2f89702f0eb2c 100644 --- a/x-pack/plugins/aiops/public/components/log_rate_analysis_results_table/use_columns.tsx +++ b/x-pack/plugins/aiops/public/components/log_rate_analysis_results_table/use_columns.tsx @@ -163,19 +163,26 @@ export const useColumns = ( /> )} {type === SIGNIFICANT_ITEM_TYPE.LOG_PATTERN && ( - + + + )} From 32e5360afc823d1762865e28c95e1c9218ea71cc Mon Sep 17 00:00:00 2001 From: elena-shostak <165678770+elena-shostak@users.noreply.github.com> Date: Fri, 21 Jun 2024 09:45:38 +0200 Subject: [PATCH 08/80] a11y fixes for user profile input labels (#186471) ## Summary a11y fixes for user profile input labels. Screen readers announce "Change username, optional" or "Change email address, optional" when inputs receive focus. ### Checklist - [x] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios - [x] Any UI touched in this PR is usable by keyboard only (learn more about [keyboard accessibility](https://webaim.org/techniques/keyboard/)) - [x] Any UI touched in this PR does not create any new axe failures (run axe in browser: [FF](https://addons.mozilla.org/en-US/firefox/addon/axe-devtools/), [Chrome](https://chrome.google.com/webstore/detail/axe-web-accessibility-tes/lhdoppojpmngadmnindnejefpokejbdd?hl=en-US)) - [x] This renders correctly on smaller devices using a responsive layout. (You can test this [in your browser](https://www.browserstack.com/guide/responsive-testing-on-local-server)) - [x] This was checked for [cross-browser compatibility](https://www.elastic.co/support/matrix#matrix_browsers) ### For maintainers - [ ] This was checked for breaking API changes and was [labeled appropriately](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process) __Fixes: https://github.com/elastic/kibana/issues/151934__ ### Release note a11y fixes for user profile input labels. Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../user_profile/user_profile.tsx | 33 +++++++++++++------ 1 file changed, 23 insertions(+), 10 deletions(-) diff --git a/x-pack/plugins/security/public/account_management/user_profile/user_profile.tsx b/x-pack/plugins/security/public/account_management/user_profile/user_profile.tsx index c9ae85dcda634..af3b22901d12e 100644 --- a/x-pack/plugins/security/public/account_management/user_profile/user_profile.tsx +++ b/x-pack/plugins/security/public/account_management/user_profile/user_profile.tsx @@ -29,6 +29,7 @@ import { useEuiTheme, useGeneratedHtmlId, } from '@elastic/eui'; +import { css } from '@emotion/react'; import { Form, FormikProvider, useFormik, useFormikContext } from 'formik'; import type { FunctionComponent } from 'react'; import React, { useRef, useState } from 'react'; @@ -64,6 +65,12 @@ import { FormRow, OptionalText } from '../../components/form_row'; import { ChangePasswordModal } from '../../management/users/edit_user/change_password_modal'; import { isUserReserved } from '../../management/users/user_utils'; +const formRowCSS = css` + .euiFormRow__label { + flex: 1; + } +`; + export interface UserProfileProps { user: AuthenticatedUser; data?: UserProfileData; @@ -128,30 +135,36 @@ const UserDetailsEditor: FunctionComponent = ({ user }) } > - + + + + } - labelAppend={} fullWidth > - + + + + } - labelAppend={} fullWidth > From 9ed2ad9faffa95c26503ce2933c06dbec48a706e Mon Sep 17 00:00:00 2001 From: Sid Date: Fri, 21 Jun 2024 10:22:28 +0200 Subject: [PATCH 09/80] Refactor Roles Grid page from class component to functional component (#186278) Closes https://github.com/elastic/kibana/issues/186388 ## Summary This PR covers some of the pre-work required to modernize role management in Kibana. It convert the older Class component to a functional component. It also breaks up the EUI in-memory table into it's component parts of EUI Search Bar, Filters and EUI Basic table. ### Checklist - [x] Since there's no change to the functionality, tests are expected to continue passing --------- Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../roles/roles_grid/roles_grid_page.test.tsx | 139 +++- .../roles/roles_grid/roles_grid_page.tsx | 684 +++++++++--------- 2 files changed, 448 insertions(+), 375 deletions(-) diff --git a/x-pack/plugins/security/public/management/roles/roles_grid/roles_grid_page.test.tsx b/x-pack/plugins/security/public/management/roles/roles_grid/roles_grid_page.test.tsx index 6b666cfd378f4..8951fd3e5c202 100644 --- a/x-pack/plugins/security/public/management/roles/roles_grid/roles_grid_page.test.tsx +++ b/x-pack/plugins/security/public/management/roles/roles_grid/roles_grid_page.test.tsx @@ -44,6 +44,7 @@ const waitForRender = async ( describe('', () => { let apiClientMock: jest.Mocked>; let history: ReturnType; + const { theme, i18n, analytics, notifications } = coreMock.createStart(); beforeEach(() => { history = scopedHistoryMock.create(); @@ -87,7 +88,11 @@ describe('', () => { ); const initialIconCount = wrapper.find(EuiIcon).length; @@ -105,7 +110,11 @@ describe('', () => { ); const initialIconCount = wrapper.find(EuiIcon).length; @@ -125,7 +134,11 @@ describe('', () => { ); await waitForRender(wrapper, (updatedWrapper) => { @@ -139,7 +152,11 @@ describe('', () => { ); const initialIconCount = wrapper.find(EuiIcon).length; @@ -179,7 +196,11 @@ describe('', () => { ); const initialIconCount = wrapper.find(EuiIcon).length; @@ -190,32 +211,86 @@ describe('', () => { expect(wrapper.find(EuiBasicTable).props().items).toEqual([ { - name: 'disabled-role', - elasticsearch: { cluster: [], indices: [], run_as: [] }, - kibana: [{ base: [], spaces: [], feature: {} }], - transient_metadata: { enabled: false }, + name: 'test-role-1', + elasticsearch: { + cluster: [], + indices: [], + run_as: [], + }, + kibana: [ + { + base: [], + spaces: [], + feature: {}, + }, + ], }, { - name: 'reserved-role', - elasticsearch: { cluster: [], indices: [], run_as: [] }, - kibana: [{ base: [], spaces: [], feature: {} }], - metadata: { _reserved: true }, + name: 'test-role-with-description', + description: 'role-description', + elasticsearch: { + cluster: [], + indices: [], + run_as: [], + }, + kibana: [ + { + base: [], + spaces: [], + feature: {}, + }, + ], }, { - name: 'special%chars%role', - elasticsearch: { cluster: [], indices: [], run_as: [] }, - kibana: [{ base: [], spaces: [], feature: {} }], + name: 'reserved-role', + elasticsearch: { + cluster: [], + indices: [], + run_as: [], + }, + kibana: [ + { + base: [], + spaces: [], + feature: {}, + }, + ], + metadata: { + _reserved: true, + }, }, { - name: 'test-role-1', - elasticsearch: { cluster: [], indices: [], run_as: [] }, - kibana: [{ base: [], spaces: [], feature: {} }], + name: 'disabled-role', + elasticsearch: { + cluster: [], + indices: [], + run_as: [], + }, + kibana: [ + { + base: [], + spaces: [], + feature: {}, + }, + ], + transient_metadata: { + enabled: false, + }, }, { - name: 'test-role-with-description', - description: 'role-description', - elasticsearch: { cluster: [], indices: [], run_as: [] }, - kibana: [{ base: [], spaces: [], feature: {} }], + name: 'special%chars%role', + elasticsearch: { + cluster: [], + indices: [], + run_as: [], + }, + kibana: [ + { + base: [], + spaces: [], + feature: {}, + }, + ], }, ]); @@ -223,24 +298,24 @@ describe('', () => { expect(wrapper.find(EuiBasicTable).props().items).toEqual([ { - name: 'disabled-role', + name: 'test-role-1', elasticsearch: { cluster: [], indices: [], run_as: [] }, kibana: [{ base: [], spaces: [], feature: {} }], - transient_metadata: { enabled: false }, }, { - name: 'special%chars%role', + name: 'test-role-with-description', + description: 'role-description', elasticsearch: { cluster: [], indices: [], run_as: [] }, kibana: [{ base: [], spaces: [], feature: {} }], }, { - name: 'test-role-1', + name: 'disabled-role', elasticsearch: { cluster: [], indices: [], run_as: [] }, kibana: [{ base: [], spaces: [], feature: {} }], + transient_metadata: { enabled: false }, }, { - name: 'test-role-with-description', - description: 'role-description', + name: 'special%chars%role', elasticsearch: { cluster: [], indices: [], run_as: [] }, kibana: [{ base: [], spaces: [], feature: {} }], }, @@ -252,7 +327,11 @@ describe('', () => { ); diff --git a/x-pack/plugins/security/public/management/roles/roles_grid/roles_grid_page.tsx b/x-pack/plugins/security/public/management/roles/roles_grid/roles_grid_page.tsx index c753a7cc8a6a6..7c16c4179f193 100644 --- a/x-pack/plugins/security/public/management/roles/roles_grid/roles_grid_page.tsx +++ b/x-pack/plugins/security/public/management/roles/roles_grid/roles_grid_page.tsx @@ -5,28 +5,35 @@ * 2.0. */ -import type { EuiBasicTableColumn, EuiSwitchEvent } from '@elastic/eui'; +import type { + CriteriaWithPagination, + EuiBasicTableColumn, + EuiSwitchEvent, + Query, +} from '@elastic/eui'; import { + EuiBasicTable, EuiButton, EuiButtonEmpty, EuiFlexGroup, EuiFlexItem, - EuiInMemoryTable, EuiLink, - EuiPageHeader, + EuiSearchBar, EuiSpacer, EuiSwitch, EuiText, EuiToolTip, } from '@elastic/eui'; import _ from 'lodash'; -import React, { Component } from 'react'; +import React, { useEffect, useState } from 'react'; +import type { FC } from 'react'; import type { BuildFlavor } from '@kbn/config'; import type { NotificationsStart, ScopedHistory } from '@kbn/core/public'; import { i18n } from '@kbn/i18n'; import { FormattedMessage } from '@kbn/i18n-react'; import { reactRouterNavigate } from '@kbn/kibana-react-plugin/public'; +import { KibanaPageTemplate } from '@kbn/shared-ux-page-kibana-template'; import type { PublicMethodsOf } from '@kbn/utility-types'; import { ConfirmDelete } from './confirm_delete'; @@ -52,190 +59,192 @@ export interface Props extends StartServices { cloudOrgUrl?: string; } -interface State { - roles: Role[]; - visibleRoles: Role[]; - selection: Role[]; - filter: string; - showDeleteConfirmation: boolean; - permissionDenied: boolean; - includeReservedRoles: boolean; - isLoading: boolean; +interface RolesTableState { + query: Query; + from: number; + size: number; } const getRoleManagementHref = (action: 'edit' | 'clone', roleName?: string) => { return `/${action}${roleName ? `/${encodeURIComponent(roleName)}` : ''}`; }; -export class RolesGridPage extends Component { - static defaultProps: Partial = { - readOnly: false, - }; - - constructor(props: Props) { - super(props); - this.state = { - roles: [], - visibleRoles: [], - selection: [], - filter: '', - showDeleteConfirmation: false, - permissionDenied: false, - includeReservedRoles: true, - isLoading: false, - }; - } +const getVisibleRoles = (roles: Role[], filter: string, includeReservedRoles: boolean) => { + return roles.filter((role) => { + const normalized = `${role.name}`.toLowerCase(); + const normalizedQuery = filter.toLowerCase(); + return ( + normalized.indexOf(normalizedQuery) !== -1 && (includeReservedRoles || !isRoleReserved(role)) + ); + }); +}; - public componentDidMount() { - this.loadRoles(); - } +const DEFAULT_TABLE_STATE = { + query: EuiSearchBar.Query.MATCH_ALL, + sort: { + field: 'creation' as const, + direction: 'desc' as const, + }, + from: 0, + size: 25, + filters: {}, +}; - public render() { - const { permissionDenied } = this.state; +export const RolesGridPage: FC = ({ + notifications, + rolesAPIClient, + history, + readOnly, + buildFlavor, + cloudOrgUrl, + analytics, + theme, + i18n: i18nStart, +}) => { + const [roles, setRoles] = useState([]); + const [visibleRoles, setVisibleRoles] = useState([]); + const [selection, setSelection] = useState([]); + const [filter, setFilter] = useState(''); + const [showDeleteConfirmation, setShowDeleteConfirmation] = useState(false); + const [permissionDenied, setPermissionDenied] = useState(false); + const [includeReservedRoles, setIncludeReservedRoles] = useState(true); + const [isLoading, setIsLoading] = useState(false); + const [tableState, setTableState] = useState(DEFAULT_TABLE_STATE); + + useEffect(() => { + loadRoles(); + }, []); // eslint-disable-line react-hooks/exhaustive-deps + + const loadRoles = async () => { + try { + setIsLoading(true); + const rolesFromApi = await rolesAPIClient.getRoles(); + setRoles(rolesFromApi); + setVisibleRoles(getVisibleRoles(rolesFromApi, filter, includeReservedRoles)); + } catch (e) { + if (_.get(e, 'body.statusCode') === 403) { + setPermissionDenied(true); + } else { + notifications.toasts.addDanger( + i18n.translate('xpack.security.management.roles.fetchingRolesErrorMessage', { + defaultMessage: 'Error fetching roles: {message}', + values: { message: _.get(e, 'body.message', '') }, + }) + ); + } + } finally { + setIsLoading(false); + } + }; - return permissionDenied ? : this.getPageContent(); - } + const onIncludeReservedRolesChange = (e: EuiSwitchEvent) => { + setIncludeReservedRoles(e.target.checked); + setVisibleRoles(getVisibleRoles(roles, filter, e.target.checked)); + }; - private getPageContent = () => { - const { isLoading } = this.state; + const getRoleStatusBadges = (role: Role) => { + const enabled = isRoleEnabled(role); + const deprecated = isRoleDeprecated(role); + const reserved = isRoleReserved(role); - const customRolesEnabled = this.props.buildFlavor === 'serverless'; + const badges: JSX.Element[] = []; + if (!enabled) { + badges.push(); + } + if (reserved) { + badges.push( + + } + /> + ); + } + if (deprecated) { + badges.push( + + ); + } - const rolesTitle = customRolesEnabled ? ( - - ) : ( - + return ( + + {badges.map((badge, index) => ( + + {badge} + + ))} + ); + }; - const rolesDescription = customRolesEnabled ? ( - - ) : ( - - ); + const handleDelete = () => { + setSelection([]); + setShowDeleteConfirmation(false); + loadRoles(); + }; - const emptyResultsMessage = customRolesEnabled ? ( - - ) : ( - - ); - const pageRightSideItems = [ + const deleteOneRole = (roleToDelete: Role) => { + setSelection([roleToDelete]); + setShowDeleteConfirmation(true); + }; + + const renderToolsLeft = () => { + if (selection.length === 0) { + return; + } + const numSelected = selection.length; + return ( setShowDeleteConfirmation(true)} > - , - ]; - if (customRolesEnabled) { - pageRightSideItems.push( - - - - ); - } - return ( - <> - + + ); + }; - - - {this.state.showDeleteConfirmation ? ( - role.name)} - callback={this.handleDelete} - cloudOrgUrl={this.props.cloudOrgUrl} - {...this.props} - /> - ) : null} - - !role.metadata || !role.metadata._reserved, - selectableMessage: (selectable: boolean) => - !selectable ? 'Role is reserved' : '', - onSelectionChange: (selection: Role[]) => this.setState({ selection }), - selected: this.state.selection, - } + const renderToolsRight = () => { + if (buildFlavor !== 'serverless') { + return ( + } - pagination={{ - initialPageSize: 20, - pageSizeOptions: [10, 20, 30, 50, 100], - }} - message={emptyResultsMessage} - items={this.state.visibleRoles} - loading={isLoading} - search={{ - toolsLeft: this.renderToolsLeft(), - toolsRight: this.renderToolsRight(), - box: { - incremental: true, - 'data-test-subj': 'searchRoles', - }, - onChange: (query: Record) => { - this.setState({ - filter: query.queryText, - visibleRoles: this.getVisibleRoles( - this.state.roles, - query.queryText, - this.state.includeReservedRoles - ), - }); - }, - }} - sorting={{ - sort: { - field: 'name', - direction: 'asc', - }, - }} - rowProps={{ 'data-test-subj': 'roleRow' }} + checked={includeReservedRoles} + onChange={onIncludeReservedRolesChange} /> - - ); + ); + } }; - private getColumnConfig = () => { + const onTableChange = ({ page, sort }: CriteriaWithPagination) => { + const newState = { + ...tableState, + from: page?.index! * page?.size!, + size: page?.size!, + }; + setTableState(newState); + }; + + const getColumnConfig = (): Array> => { const config: Array> = [ { field: 'name', @@ -243,18 +252,16 @@ export class RolesGridPage extends Component { defaultMessage: 'Role', }), sortable: true, - render: (name: string) => { - return ( - - - {name} - - - ); - }, + render: (name: string) => ( + + + {name} + + + ), }, { field: 'description', @@ -263,35 +270,27 @@ export class RolesGridPage extends Component { }), sortable: true, truncateText: { lines: 3 }, - render: (description: string, record: Role) => { - return ( - - - {description} - - - ); - }, + render: (description: string, record: Role) => ( + + + {description} + + + ), }, ]; - if (this.props.buildFlavor !== 'serverless') { + if (buildFlavor !== 'serverless') { config.push({ field: 'metadata', name: i18n.translate('xpack.security.management.roles.statusColumnName', { defaultMessage: 'Status', }), sortable: (role: Role) => isRoleEnabled(role) && !isRoleDeprecated(role), - render: (_metadata: Role['metadata'], record: Role) => { - return this.getRoleStatusBadges(record); - }, + render: (_metadata: Role['metadata'], record: Role) => getRoleStatusBadges(record), }); } - if (!this.props.readOnly) { + if (!readOnly) { config.push({ name: i18n.translate('xpack.security.management.roles.actionsColumnName', { defaultMessage: 'Actions', @@ -312,13 +311,11 @@ export class RolesGridPage extends Component { values: { roleName: role.name }, }), href: (role: Role) => - reactRouterNavigate(this.props.history, getRoleManagementHref('clone', role.name)) - .href, + reactRouterNavigate(history, getRoleManagementHref('clone', role.name)).href, onClick: (role: Role, event: React.MouseEvent) => - reactRouterNavigate( - this.props.history, - getRoleManagementHref('clone', role.name) - ).onClick(event), + reactRouterNavigate(history, getRoleManagementHref('clone', role.name)).onClick( + event + ), 'data-test-subj': (role: Role) => `clone-role-action-${role.name}`, }, { @@ -334,7 +331,7 @@ export class RolesGridPage extends Component { values: { roleName: role.name }, }), 'data-test-subj': (role: Role) => `delete-role-action-${role.name}`, - onClick: (role: Role) => this.deleteOneRole(role), + onClick: (role: Role) => deleteOneRole(role), available: (role: Role) => !role.metadata || !role.metadata._reserved, }, { @@ -351,15 +348,11 @@ export class RolesGridPage extends Component { }), 'data-test-subj': (role: Role) => `edit-role-action-${role.name}`, href: (role: Role) => - reactRouterNavigate(this.props.history, getRoleManagementHref('edit', role.name)) - .href, + reactRouterNavigate(history, getRoleManagementHref('edit', role.name)).href, onClick: (role: Role, event: React.MouseEvent) => - reactRouterNavigate( - this.props.history, - getRoleManagementHref('edit', role.name) - ).onClick(event), + reactRouterNavigate(history, getRoleManagementHref('edit', role.name)).onClick(event), available: (role: Role) => !isRoleReadOnly(role), - enabled: () => this.state.selection.length === 0, + enabled: () => selection.length === 0, }, ], }); @@ -368,151 +361,152 @@ export class RolesGridPage extends Component { return config; }; - private getVisibleRoles = (roles: Role[], filter: string, includeReservedRoles: boolean) => { - return roles.filter((role) => { - const normalized = `${role.name}`.toLowerCase(); - const normalizedQuery = filter.toLowerCase(); - return ( - normalized.indexOf(normalizedQuery) !== -1 && - (includeReservedRoles || !isRoleReserved(role)) - ); - }); + const onCancelDelete = () => { + setShowDeleteConfirmation(false); }; - private onIncludeReservedRolesChange = (e: EuiSwitchEvent) => { - this.setState({ - includeReservedRoles: e.target.checked, - visibleRoles: this.getVisibleRoles(this.state.roles, this.state.filter, e.target.checked), - }); + const pagination = { + pageIndex: tableState.from / tableState.size, + pageSize: tableState.size, + totalItemCount: visibleRoles.length, + pageSizeOptions: [25, 50, 100], }; - - private getRoleStatusBadges = (role: Role) => { - const enabled = isRoleEnabled(role); - const deprecated = isRoleDeprecated(role); - const reserved = isRoleReserved(role); - - const badges: JSX.Element[] = []; - if (!enabled) { - badges.push(); - } - if (reserved) { - badges.push( - + ) : ( + <> + - } - /> - ); - } - if (deprecated) { - badges.push( - - ); - } - - return ( - - {badges.map((badge, index) => ( - - {badge} - - ))} - - ); - }; - - private handleDelete = () => { - this.setState({ - selection: [], - showDeleteConfirmation: false, - }); - this.loadRoles(); - }; - - private deleteOneRole = (roleToDelete: Role) => { - this.setState({ - selection: [roleToDelete], - showDeleteConfirmation: true, - }); - }; - - private async loadRoles() { - try { - this.setState({ isLoading: true }); - const roles = await this.props.rolesAPIClient.getRoles(); + ) : ( + + ) + } + description={ + buildFlavor === 'serverless' ? ( + + ) : ( + + ) + } + rightSideItems={ + readOnly + ? undefined + : [ + + + , + buildFlavor === 'serverless' && ( + + + + ), + ] + } + /> - this.setState({ - roles, - visibleRoles: this.getVisibleRoles( - roles, - this.state.filter, - this.state.includeReservedRoles - ), - }); - } catch (e) { - if (_.get(e, 'body.statusCode') === 403) { - this.setState({ permissionDenied: true }); - } else { - this.props.notifications.toasts.addDanger( - i18n.translate('xpack.security.management.roles.fetchingRolesErrorMessage', { - defaultMessage: 'Error fetching roles: {message}', - values: { message: _.get(e, 'body.message', '') }, - }) - ); - } - } finally { - this.setState({ isLoading: false }); - } - } + + + {showDeleteConfirmation ? ( + role.name)} + callback={handleDelete} + cloudOrgUrl={cloudOrgUrl} + notifications={notifications} + rolesAPIClient={rolesAPIClient} + buildFlavor={buildFlavor} + theme={theme} + analytics={analytics} + i18n={i18nStart} + /> + ) : null} - private renderToolsLeft() { - const { selection } = this.state; - if (selection.length === 0) { - return; - } - const numSelected = selection.length; - return ( - this.setState({ showDeleteConfirmation: true })} - > - ) => { + setFilter(query.queryText); + setVisibleRoles(getVisibleRoles(roles, query.queryText, includeReservedRoles)); + }} + toolsLeft={renderToolsLeft()} + toolsRight={renderToolsRight()} /> - - ); - } - - private renderToolsRight() { - if (this.props.buildFlavor !== 'serverless') { - return ( - + + !role.metadata || !role.metadata._reserved, + selectableMessage: (selectable: boolean) => + !selectable ? 'Role is reserved' : '', + onSelectionChange: (value: Role[]) => setSelection(value), + selected: selection, + } + } + onChange={onTableChange} + pagination={pagination} + noItemsMessage={ + buildFlavor === 'serverless' ? ( + + ) : ( + + ) } - checked={this.state.includeReservedRoles} - onChange={this.onIncludeReservedRolesChange} + items={visibleRoles} + loading={isLoading} + sorting={{ + sort: { + field: 'name', + direction: 'asc', + }, + }} + rowProps={{ 'data-test-subj': 'roleRow' }} /> - ); - } - } - private onCancelDelete = () => { - this.setState({ showDeleteConfirmation: false }); - }; -} + + + ); +}; From aaf891406e02f2359b218798d5b551068379dc94 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20Fern=C3=A1ndez=20Haro?= Date: Fri, 21 Jun 2024 10:54:48 +0200 Subject: [PATCH 10/80] fix(apm): flatten `globalLabels` object (#186579) --- .../kbn-apm-config-loader/src/config.test.ts | 29 +++++++++++++++++++ packages/kbn-apm-config-loader/src/config.ts | 10 +++++++ 2 files changed, 39 insertions(+) diff --git a/packages/kbn-apm-config-loader/src/config.test.ts b/packages/kbn-apm-config-loader/src/config.test.ts index e955b175de129..01f83d43f160d 100644 --- a/packages/kbn-apm-config-loader/src/config.test.ts +++ b/packages/kbn-apm-config-loader/src/config.test.ts @@ -146,6 +146,35 @@ describe('ApmConfiguration', () => { ); }); + it('flattens the `globalLabels` object', () => { + const kibanaConfig = { + elastic: { + apm: { + globalLabels: { + keyOne: 'k1', + objectOne: { + objectOneKeyOne: 'o1k1', + objectOneKeyTwo: { + objectOneKeyTwoSubkeyOne: 'o1k2s1', + }, + }, + }, + }, + }, + }; + const config = new ApmConfiguration(mockedRootDir, kibanaConfig, true); + expect(config.getConfig('serviceName')).toEqual( + expect.objectContaining({ + globalLabels: { + git_rev: 'sha', + keyOne: 'k1', + 'objectOne.objectOneKeyOne': 'o1k1', + 'objectOne.objectOneKeyTwo.objectOneKeyTwoSubkeyOne': 'o1k2s1', + }, + }) + ); + }); + describe('env vars', () => { beforeEach(() => { delete process.env.ELASTIC_APM_ENVIRONMENT; diff --git a/packages/kbn-apm-config-loader/src/config.ts b/packages/kbn-apm-config-loader/src/config.ts index 8771eb042dc75..ef5f41bb8398e 100644 --- a/packages/kbn-apm-config-loader/src/config.ts +++ b/packages/kbn-apm-config-loader/src/config.ts @@ -13,6 +13,7 @@ import { getDataPath } from '@kbn/utils'; import { readFileSync } from 'fs'; import type { AgentConfigOptions } from 'elastic-apm-node'; import type { AgentConfigOptions as RUMAgentConfigOptions } from '@elastic/apm-rum'; +import { getFlattenedObject } from '@kbn/std'; import type { ApmConfigSchema } from './apm_config'; // https://www.elastic.co/guide/en/apm/agent/nodejs/current/configuration.html @@ -129,6 +130,15 @@ export class ApmConfiguration { ) { this.baseConfig = merge(this.baseConfig, centralizedConfig); } + + if (this.baseConfig?.globalLabels) { + // Global Labels need to be a key/value pair... + // Dotted names will be renamed to underscored ones by the agent, but we need to provide key/value pairs + // https://github.com/elastic/apm-agent-nodejs/issues/4096#issuecomment-2181621221 + this.baseConfig.globalLabels = getFlattenedObject( + this.baseConfig.globalLabels as Record + ); + } } return this.baseConfig; From 1ef0793245d342cb9744143aac8c13b72a810bb0 Mon Sep 17 00:00:00 2001 From: Lisa Cawley Date: Fri, 21 Jun 2024 02:04:52 -0700 Subject: [PATCH 11/80] [OAS] Add deployment GitHub action (#186487) ## Summary This PR adds a new GitHub workflow to publish an [OpenAPI document](https://github.com/elastic/kibana/blob/main/oas_docs/kibana.serverless.yaml) to https://www.elastic.co/docs/api/doc/serverless, per https://docs.bump.sh/help/continuous-integration/github-actions/ --- .github/workflows/bump.yml | 60 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 .github/workflows/bump.yml diff --git a/.github/workflows/bump.yml b/.github/workflows/bump.yml new file mode 100644 index 0000000000000..4e8bd45fd8690 --- /dev/null +++ b/.github/workflows/bump.yml @@ -0,0 +1,60 @@ +name: Check & deploy API documentation + +on: + push: + branches: + - main + paths: + - 'oas_docs/kibana.serverless.yaml' + + pull_request: + branches: + - main + paths: + - 'oas_docs/kibana.serverless.yaml' + +permissions: + contents: read + pull-requests: write + +jobs: + deploy-doc: + if: ${{ github.event_name == 'push' }} + name: Deploy API documentation on Bump.sh + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Deploy API documentation + uses: bump-sh/github-action@v1 + with: + doc: serverless + token: ${{secrets.BUMP_TOKEN}} + file: oas_docs/kibana.serverless.yaml + + api-diff: + if: ${{ github.event_name == 'pull_request' }} + name: Check API diff on Bump.sh + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Create Preview + uses: bump-sh/github-action@v1 + with: + doc: serverless + token: ${{secrets.BUMP_TOKEN}} + file: oas_docs/kibana.serverless.yaml + command: preview + env: + GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} + - name: Comment pull request with API diff + uses: bump-sh/github-action@v1 + with: + doc: serverless + token: ${{secrets.BUMP_TOKEN}} + file: oas_docs/kibana.serverless.yaml + command: diff + fail_on_breaking: true + env: + GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} From c0eba7c0f1f261b4b06e6226a6869892ec72eb30 Mon Sep 17 00:00:00 2001 From: Robert Oskamp Date: Fri, 21 Jun 2024 12:31:07 +0200 Subject: [PATCH 12/80] Add saved objects serverless API tests to esGate (#186589) ## Summary This PR tags the saved_object_management API integration test suite with `esGate` to include it in the verification checks that run as part of the Elasticsearch on-merge process. --- .../test_suites/common/saved_objects_management/index.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/x-pack/test_serverless/api_integration/test_suites/common/saved_objects_management/index.ts b/x-pack/test_serverless/api_integration/test_suites/common/saved_objects_management/index.ts index 2da0263122550..f5e6cdf72c90d 100644 --- a/x-pack/test_serverless/api_integration/test_suites/common/saved_objects_management/index.ts +++ b/x-pack/test_serverless/api_integration/test_suites/common/saved_objects_management/index.ts @@ -8,7 +8,9 @@ import { FtrProviderContext } from '../../../ftr_provider_context'; export default function ({ loadTestFile }: FtrProviderContext) { - describe('saved objects management apis', () => { + describe('saved objects management apis', function () { + this.tags(['esGate']); + loadTestFile(require.resolve('./find')); loadTestFile(require.resolve('./bulk_get')); loadTestFile(require.resolve('./bulk_delete')); From 73ef3cf9c3c66919c90f038c14164424aebd2b7a Mon Sep 17 00:00:00 2001 From: Tre Date: Fri, 21 Jun 2024 11:33:25 +0100 Subject: [PATCH 13/80] [FTR](platform-security) update common serverless api tests to use api keys (#184935) ## Summary - Update files within: `x-pack/test_serverless/api_integration/test_suites/common/platform_security/` Contributes to: https://github.com/elastic/kibana/issues/180834 --------- Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../common/platform_security/anonymous.ts | 23 ++- .../common/platform_security/api_keys.ts | 62 ++++--- .../platform_security/authentication.ts | 21 ++- .../platform_security/authentication_http.ts | 8 +- .../common/platform_security/authorization.ts | 74 +++++---- .../encrypted_saved_objects.ts | 18 +- .../common/platform_security/feature_check.ts | 16 +- .../common/platform_security/misc.ts | 36 ++-- .../platform_security/response_headers.ts | 16 +- .../common/platform_security/role_mappings.ts | 41 +++-- .../common/platform_security/sessions.ts | 28 +++- .../common/platform_security/user_profiles.ts | 14 +- .../common/platform_security/users.ts | 155 +++++++++-------- .../common/platform_security/views.ts | 97 +++++++---- .../common/reporting/datastream.ts | 43 +++-- .../common/reporting/generate_csv_discover.ts | 156 +++++++++++++----- .../common/reporting/management.ts | 15 +- .../shared/services/svl_reporting.ts | 45 +++-- 18 files changed, 582 insertions(+), 286 deletions(-) diff --git a/x-pack/test_serverless/api_integration/test_suites/common/platform_security/anonymous.ts b/x-pack/test_serverless/api_integration/test_suites/common/platform_security/anonymous.ts index 0b08aa18ce128..337e3d1c3988c 100644 --- a/x-pack/test_serverless/api_integration/test_suites/common/platform_security/anonymous.ts +++ b/x-pack/test_serverless/api_integration/test_suites/common/platform_security/anonymous.ts @@ -6,25 +6,38 @@ */ import { FtrProviderContext } from '../../../ftr_provider_context'; +import { InternalRequestHeader, RoleCredentials } from '../../../../shared/services'; export default function ({ getService }: FtrProviderContext) { const svlCommonApi = getService('svlCommonApi'); - const supertest = getService('supertest'); + const svlUserManager = getService('svlUserManager'); + const supertestWithoutAuth = getService('supertestWithoutAuth'); + let roleAuthc: RoleCredentials; + let internalReqHeader: InternalRequestHeader; describe('security/anonymous', function () { + before(async () => { + roleAuthc = await svlUserManager.createApiKeyForRole('admin'); + internalReqHeader = svlCommonApi.getInternalRequestHeader(); + }); + after(async () => { + await svlUserManager.invalidateApiKeyForRole(roleAuthc); + }); describe('route access', () => { describe('disabled', () => { it('get access capabilities', async () => { - const { body, status } = await supertest + const { body, status } = await supertestWithoutAuth .get('/internal/security/anonymous_access/capabilities') - .set(svlCommonApi.getCommonRequestHeader()); + .set(internalReqHeader) + .set(roleAuthc.apiKeyHeader); svlCommonApi.assertApiNotFound(body, status); }); it('get access state', async () => { - const { body, status } = await supertest + const { body, status } = await supertestWithoutAuth .get('/internal/security/anonymous_access/state') - .set(svlCommonApi.getCommonRequestHeader()); + .set(internalReqHeader) + .set(roleAuthc.apiKeyHeader); svlCommonApi.assertApiNotFound(body, status); }); }); diff --git a/x-pack/test_serverless/api_integration/test_suites/common/platform_security/api_keys.ts b/x-pack/test_serverless/api_integration/test_suites/common/platform_security/api_keys.ts index 691f448ca0ab2..c61d01970ba78 100644 --- a/x-pack/test_serverless/api_integration/test_suites/common/platform_security/api_keys.ts +++ b/x-pack/test_serverless/api_integration/test_suites/common/platform_security/api_keys.ts @@ -7,18 +7,28 @@ import expect from 'expect'; import { FtrProviderContext } from '../../../ftr_provider_context'; +import { RoleCredentials } from '../../../../shared/services'; export default function ({ getService }: FtrProviderContext) { - const svlCommonApi = getService('svlCommonApi'); - const supertest = getService('supertest'); let roleMapping: { id: string; name: string; api_key: string; encoded: string }; - + const supertest = getService('supertest'); + const svlCommonApi = getService('svlCommonApi'); + const svlUserManager = getService('svlUserManager'); + const supertestWithoutAuth = getService('supertestWithoutAuth'); + let roleAuthc: RoleCredentials; describe('security/api_keys', function () { + before(async () => { + roleAuthc = await svlUserManager.createApiKeyForRole('admin'); + }); + after(async () => { + await svlUserManager.invalidateApiKeyForRole(roleAuthc); + }); describe('route access', () => { describe('internal', () => { before(async () => { - const { body, status } = await supertest + const { body, status } = await supertestWithoutAuth .post('/internal/security/api_key') + .set(roleAuthc.cookieHeader) .set(svlCommonApi.getInternalRequestHeader()) .send({ name: 'test', @@ -29,14 +39,16 @@ export default function ({ getService }: FtrProviderContext) { roleMapping = body; }); - after(async () => { - const { body, status } = await supertest + after(async function invalidateAll() { + const { body, status } = await supertestWithoutAuth .get('/internal/security/api_key?isAdmin=true') + .set(roleAuthc.cookieHeader) .set(svlCommonApi.getInternalRequestHeader()); if (status === 200) { - await supertest + await supertestWithoutAuth .post('/internal/security/api_key/invalidate') + .set(roleAuthc.cookieHeader) .set(svlCommonApi.getInternalRequestHeader()) .send({ apiKeys: body?.apiKeys, @@ -54,23 +66,22 @@ export default function ({ getService }: FtrProviderContext) { role_descriptors: {}, }; - ({ body, status } = await supertest + ({ body, status } = await supertestWithoutAuth .post('/internal/security/api_key') .set(svlCommonApi.getCommonRequestHeader()) .send(requestBody)); // expect a rejection because we're not using the internal header expect(body).toEqual({ - statusCode: 400, - error: 'Bad Request', - message: expect.stringContaining( - 'method [post] exists but is not available with the current configuration' - ), + statusCode: 401, + error: 'Unauthorized', + message: expect.stringContaining('Unauthorized'), }); - expect(status).toBe(400); + expect(status).toBe(401); - ({ body, status } = await supertest + ({ body, status } = await supertestWithoutAuth .post('/internal/security/api_key') .set(svlCommonApi.getInternalRequestHeader()) + .set(roleAuthc.cookieHeader) .send(requestBody)); // expect success because we're using the internal header expect(body).toEqual(expect.objectContaining({ name: 'create_test' })); @@ -86,9 +97,10 @@ export default function ({ getService }: FtrProviderContext) { role_descriptors: {}, }; - ({ body, status } = await supertest + ({ body, status } = await supertestWithoutAuth .put('/internal/security/api_key') .set(svlCommonApi.getCommonRequestHeader()) + .set(roleAuthc.cookieHeader) .send(requestBody)); // expect a rejection because we're not using the internal header expect(body).toEqual({ @@ -100,9 +112,10 @@ export default function ({ getService }: FtrProviderContext) { }); expect(status).toBe(400); - ({ body, status } = await supertest + ({ body, status } = await supertestWithoutAuth .put('/internal/security/api_key') .set(svlCommonApi.getInternalRequestHeader()) + .set(roleAuthc.cookieHeader) .send(requestBody)); // expect success because we're using the internal header expect(body).toEqual(expect.objectContaining({ updated: true })); @@ -115,7 +128,8 @@ export default function ({ getService }: FtrProviderContext) { ({ body, status } = await supertest .get('/internal/security/api_key/_enabled') - .set(svlCommonApi.getCommonRequestHeader())); + .set(svlCommonApi.getCommonRequestHeader()) + .set(roleAuthc.cookieHeader)); // expect a rejection because we're not using the internal header expect(body).toEqual({ statusCode: 400, @@ -126,8 +140,9 @@ export default function ({ getService }: FtrProviderContext) { }); expect(status).toBe(400); - ({ body, status } = await supertest + ({ body, status } = await supertestWithoutAuth .get('/internal/security/api_key/_enabled') + .set(roleAuthc.cookieHeader) .set(svlCommonApi.getInternalRequestHeader())); // expect success because we're using the internal header expect(body).toEqual({ apiKeysEnabled: true }); @@ -147,9 +162,10 @@ export default function ({ getService }: FtrProviderContext) { isAdmin: true, }; - ({ body, status } = await supertest + ({ body, status } = await supertestWithoutAuth .post('/internal/security/api_key/invalidate') .set(svlCommonApi.getCommonRequestHeader()) + .set(roleAuthc.cookieHeader) .send(requestBody)); // expect a rejection because we're not using the internal header expect(body).toEqual({ @@ -161,9 +177,10 @@ export default function ({ getService }: FtrProviderContext) { }); expect(status).toBe(400); - ({ body, status } = await supertest + ({ body, status } = await supertestWithoutAuth .post('/internal/security/api_key/invalidate') .set(svlCommonApi.getInternalRequestHeader()) + .set(roleAuthc.cookieHeader) .send(requestBody)); // expect success because we're using the internal header expect(body).toEqual({ @@ -188,9 +205,10 @@ export default function ({ getService }: FtrProviderContext) { size: 1, }; - const { body } = await supertest + const { body } = await supertestWithoutAuth .post('/internal/security/api_key/_query') .set(svlCommonApi.getInternalRequestHeader()) + .set(roleAuthc.cookieHeader) .send(requestBody) .expect(200); diff --git a/x-pack/test_serverless/api_integration/test_suites/common/platform_security/authentication.ts b/x-pack/test_serverless/api_integration/test_suites/common/platform_security/authentication.ts index da71d2ad4858a..d1cb2b29b56b5 100644 --- a/x-pack/test_serverless/api_integration/test_suites/common/platform_security/authentication.ts +++ b/x-pack/test_serverless/api_integration/test_suites/common/platform_security/authentication.ts @@ -7,27 +7,38 @@ import expect from 'expect'; import { FtrProviderContext } from '../../../ftr_provider_context'; +import { RoleCredentials } from '../../../../shared/services'; export default function ({ getService }: FtrProviderContext) { - const svlCommonApi = getService('svlCommonApi'); const supertest = getService('supertest'); const config = getService('config'); + const svlCommonApi = getService('svlCommonApi'); + const svlUserManager = getService('svlUserManager'); + const supertestWithoutAuth = getService('supertestWithoutAuth'); + let roleAuthc: RoleCredentials; describe('security/authentication', function () { + before(async () => { + roleAuthc = await svlUserManager.createApiKeyForRole('admin'); + }); + after(async () => { + await svlUserManager.invalidateApiKeyForRole(roleAuthc); + }); describe('route access', () => { describe('disabled', () => { // ToDo: uncomment when we disable login // it('login', async () => { - // const { body, status } = await supertest + // const { body, status } = await supertestWithoutAuth // .post('/internal/security/login') - // .set(svlCommonApi.getInternalRequestHeader()); + // .set(svlCommonApi.getInternalRequestHeader()).set(roleAuthc.apiKeyHeader) // svlCommonApi.assertApiNotFound(body, status); // }); it('logout (deprecated)', async () => { - const { body, status } = await supertest + const { body, status } = await supertestWithoutAuth .get('/api/security/v1/logout') - .set(svlCommonApi.getInternalRequestHeader()); + .set(svlCommonApi.getInternalRequestHeader()) + .set(roleAuthc.apiKeyHeader); svlCommonApi.assertApiNotFound(body, status); }); diff --git a/x-pack/test_serverless/api_integration/test_suites/common/platform_security/authentication_http.ts b/x-pack/test_serverless/api_integration/test_suites/common/platform_security/authentication_http.ts index 50148f2892154..6c7e939a3b6b0 100644 --- a/x-pack/test_serverless/api_integration/test_suites/common/platform_security/authentication_http.ts +++ b/x-pack/test_serverless/api_integration/test_suites/common/platform_security/authentication_http.ts @@ -9,7 +9,7 @@ import { FtrProviderContext } from '../../../ftr_provider_context'; export default function ({ getService }: FtrProviderContext) { const svlCommonApi = getService('svlCommonApi'); - const supertest = getService('supertestWithoutAuth'); + const supertestWithoutAuth = getService('supertestWithoutAuth'); describe('security/authentication/http', function () { describe('JWT', () => { @@ -28,7 +28,7 @@ export default function ({ getService }: FtrProviderContext) { '/internal/task_manager/_background_task_utilization', '/api/task_manager/metrics', ]) { - await supertest + await supertestWithoutAuth .get(allowedPath) .set('Authorization', `Bearer ${jsonWebToken}`) .set('ES-Client-Authentication', 'SharedSecret my_super_secret') @@ -37,14 +37,14 @@ export default function ({ getService }: FtrProviderContext) { } // Make sure it's not possible to use JWT to have interactive sessions. - await supertest + await supertestWithoutAuth .get('/') .set('Authorization', `Bearer ${jsonWebToken}`) .set('ES-Client-Authentication', 'SharedSecret my_super_secret') .expect(401); // Make sure it's not possible to use JWT to access any other APIs. - await supertest + await supertestWithoutAuth .get('/internal/security/me') .set('Authorization', `Bearer ${jsonWebToken}`) .set('ES-Client-Authentication', 'SharedSecret my_super_secret') diff --git a/x-pack/test_serverless/api_integration/test_suites/common/platform_security/authorization.ts b/x-pack/test_serverless/api_integration/test_suites/common/platform_security/authorization.ts index d6ec69803b8f5..672ff9cfdbedd 100644 --- a/x-pack/test_serverless/api_integration/test_suites/common/platform_security/authorization.ts +++ b/x-pack/test_serverless/api_integration/test_suites/common/platform_security/authorization.ts @@ -8,6 +8,7 @@ import expect from 'expect'; import { KibanaFeatureConfig, SubFeaturePrivilegeConfig } from '@kbn/features-plugin/common'; import { FtrProviderContext } from '../../../ftr_provider_context'; +import { InternalRequestHeader, RoleCredentials } from '../../../../shared/services'; function collectSubFeaturesPrivileges(feature: KibanaFeatureConfig) { return new Map( @@ -22,60 +23,78 @@ function collectSubFeaturesPrivileges(feature: KibanaFeatureConfig) { } export default function ({ getService }: FtrProviderContext) { + const log = getService('log'); const svlCommonApi = getService('svlCommonApi'); + const svlUserManager = getService('svlUserManager'); + const supertestWithoutAuth = getService('supertestWithoutAuth'); const supertest = getService('supertest'); - const log = getService('log'); + let roleAuthc: RoleCredentials; + let internalReqHeader: InternalRequestHeader; describe('security/authorization', function () { + before(async () => { + roleAuthc = await svlUserManager.createApiKeyForRole('admin'); + internalReqHeader = svlCommonApi.getInternalRequestHeader(); + }); + after(async () => { + await svlUserManager.invalidateApiKeyForRole(roleAuthc); + }); describe('route access', () => { describe('internal', () => { describe('disabled', () => { it('get all privileges', async () => { - const { body, status } = await supertest + const { body, status } = await supertestWithoutAuth .get('/api/security/privileges') - .set(svlCommonApi.getInternalRequestHeader()); + .set(svlCommonApi.getInternalRequestHeader()) + .set(roleAuthc.apiKeyHeader); svlCommonApi.assertApiNotFound(body, status); }); it('get built-in elasticsearch privileges', async () => { - const { body, status } = await supertest + const { body, status } = await supertestWithoutAuth .get('/internal/security/esPrivileges/builtin') - .set(svlCommonApi.getInternalRequestHeader()); + .set(svlCommonApi.getInternalRequestHeader()) + .set(roleAuthc.apiKeyHeader); svlCommonApi.assertApiNotFound(body, status); }); - it('create/update role', async () => { - const { body, status } = await supertest - .put('/api/security/role/test') - .set(svlCommonApi.getInternalRequestHeader()); + it('create/update roleAuthc', async () => { + const { body, status } = await supertestWithoutAuth + .put('/api/security/roleAuthc/test') + .set(svlCommonApi.getInternalRequestHeader()) + .set(roleAuthc.apiKeyHeader); svlCommonApi.assertApiNotFound(body, status); }); - it('get role', async () => { - const { body, status } = await supertest - .get('/api/security/role/superuser') - .set(svlCommonApi.getInternalRequestHeader()); + it('get roleAuthc', async () => { + const { body, status } = await supertestWithoutAuth + .get('/api/security/roleAuthc/superuser') + .set(svlCommonApi.getInternalRequestHeader()) + .set(roleAuthc.apiKeyHeader); svlCommonApi.assertApiNotFound(body, status); }); it('get all roles', async () => { - const { body, status } = await supertest - .get('/api/security/role') - .set(svlCommonApi.getInternalRequestHeader()); + const { body, status } = await supertestWithoutAuth + .get('/api/security/roleAuthc') + .set(svlCommonApi.getInternalRequestHeader()) + .set(roleAuthc.apiKeyHeader); svlCommonApi.assertApiNotFound(body, status); }); - it('delete role', async () => { - const { body, status } = await supertest - .delete('/api/security/role/superuser') - .set(svlCommonApi.getInternalRequestHeader()); + it('delete roleAuthc', async () => { + const { body, status } = await supertestWithoutAuth + .delete('/api/security/roleAuthc/superuser') + .set(svlCommonApi.getInternalRequestHeader()) + .set(roleAuthc.apiKeyHeader); svlCommonApi.assertApiNotFound(body, status); }); it('get shared saved object permissions', async () => { - const { body, status } = await supertest + const { body, status } = await supertestWithoutAuth .get('/internal/security/_share_saved_object_permissions') - .set(svlCommonApi.getInternalRequestHeader()); + .set(svlCommonApi.getInternalRequestHeader()) + .set(roleAuthc.apiKeyHeader); svlCommonApi.assertApiNotFound(body, status); }); }); @@ -83,26 +102,25 @@ export default function ({ getService }: FtrProviderContext) { describe('public', () => { it('reset session page', async () => { - const { status } = await supertest + const { status } = await supertestWithoutAuth .get('/internal/security/reset_session_page.js') - .set(svlCommonApi.getCommonRequestHeader()); + .set(internalReqHeader) + .set(roleAuthc.apiKeyHeader); expect(status).toBe(200); }); }); }); describe('available features', () => { - const svlUserManager = getService('svlUserManager'); - const supertestWithoutAuth = getService('supertestWithoutAuth'); let adminCredentials: { Cookie: string }; before(async () => { - // get auth header for Viewer role + // get auth header for Viewer roleAuthc adminCredentials = await svlUserManager.getApiCredentialsForRole('admin'); }); it('all Dashboard and Discover sub-feature privileges are disabled', async () => { - const { body } = await supertestWithoutAuth + const { body } = await supertest .get('/api/features') .set(svlCommonApi.getInternalRequestHeader()) .set(adminCredentials) diff --git a/x-pack/test_serverless/api_integration/test_suites/common/platform_security/encrypted_saved_objects.ts b/x-pack/test_serverless/api_integration/test_suites/common/platform_security/encrypted_saved_objects.ts index 63d81773398cd..55627e840fc17 100644 --- a/x-pack/test_serverless/api_integration/test_suites/common/platform_security/encrypted_saved_objects.ts +++ b/x-pack/test_serverless/api_integration/test_suites/common/platform_security/encrypted_saved_objects.ts @@ -6,18 +6,30 @@ */ import { FtrProviderContext } from '../../../ftr_provider_context'; +import { InternalRequestHeader, RoleCredentials } from '../../../../shared/services'; export default function ({ getService }: FtrProviderContext) { const svlCommonApi = getService('svlCommonApi'); - const supertest = getService('supertest'); + const svlUserManager = getService('svlUserManager'); + const supertestWithoutAuth = getService('supertestWithoutAuth'); + let roleAuthc: RoleCredentials; + let internalReqHeader: InternalRequestHeader; describe('encrypted saved objects', function () { + before(async () => { + roleAuthc = await svlUserManager.createApiKeyForRole('admin'); + internalReqHeader = svlCommonApi.getInternalRequestHeader(); + }); + after(async () => { + await svlUserManager.invalidateApiKeyForRole(roleAuthc); + }); describe('route access', () => { describe('disabled', () => { it('rotate key', async () => { - const { body, status } = await supertest + const { body, status } = await supertestWithoutAuth .post('/api/encrypted_saved_objects/_rotate_key') - .set(svlCommonApi.getCommonRequestHeader()); + .set(internalReqHeader) + .set(roleAuthc.apiKeyHeader); svlCommonApi.assertApiNotFound(body, status); }); }); diff --git a/x-pack/test_serverless/api_integration/test_suites/common/platform_security/feature_check.ts b/x-pack/test_serverless/api_integration/test_suites/common/platform_security/feature_check.ts index e42cb88eec0f8..3f79993262322 100644 --- a/x-pack/test_serverless/api_integration/test_suites/common/platform_security/feature_check.ts +++ b/x-pack/test_serverless/api_integration/test_suites/common/platform_security/feature_check.ts @@ -6,16 +6,26 @@ */ import { FtrProviderContext } from '../../../ftr_provider_context'; +import { RoleCredentials } from '../../../../shared/services'; export default function ({ getService }: FtrProviderContext) { const svlCommonApi = getService('svlCommonApi'); - const supertest = getService('supertest'); + const svlUserManager = getService('svlUserManager'); + const supertestWithoutAuth = getService('supertestWithoutAuth'); + let roleAuthc: RoleCredentials; describe('security/features', function () { + before(async () => { + roleAuthc = await svlUserManager.createApiKeyForRole('admin'); + }); + after(async () => { + await svlUserManager.invalidateApiKeyForRole(roleAuthc); + }); it('route access disabled', async () => { - const { body, status } = await supertest + const { body, status } = await supertestWithoutAuth .get('/internal/security/_check_security_features') - .set(svlCommonApi.getInternalRequestHeader()); + .set(svlCommonApi.getInternalRequestHeader()) + .set(roleAuthc.apiKeyHeader); svlCommonApi.assertApiNotFound(body, status); }); }); diff --git a/x-pack/test_serverless/api_integration/test_suites/common/platform_security/misc.ts b/x-pack/test_serverless/api_integration/test_suites/common/platform_security/misc.ts index 2b49b3a96ab20..37c11fe6b5917 100644 --- a/x-pack/test_serverless/api_integration/test_suites/common/platform_security/misc.ts +++ b/x-pack/test_serverless/api_integration/test_suites/common/platform_security/misc.ts @@ -7,49 +7,63 @@ import expect from 'expect'; import { FtrProviderContext } from '../../../ftr_provider_context'; +import { RoleCredentials } from '../../../../shared/services'; export default function ({ getService }: FtrProviderContext) { const svlCommonApi = getService('svlCommonApi'); - const supertest = getService('supertest'); + const svlUserManager = getService('svlUserManager'); + const supertestWithoutAuth = getService('supertestWithoutAuth'); + let roleAuthc: RoleCredentials; describe('security/misc', function () { + before(async () => { + roleAuthc = await svlUserManager.createApiKeyForRole('admin'); + }); + after(async () => { + await svlUserManager.invalidateApiKeyForRole(roleAuthc); + }); describe('route access', () => { describe('disabled', () => { it('get index fields', async () => { - const { body, status } = await supertest + const { body, status } = await supertestWithoutAuth .get('/internal/security/fields/test') .set(svlCommonApi.getInternalRequestHeader()) + .set(roleAuthc.apiKeyHeader) .send({ params: 'params' }); svlCommonApi.assertApiNotFound(body, status); }); it('fix deprecated roles', async () => { - const { body, status } = await supertest + const { body, status } = await supertestWithoutAuth .post('/internal/security/deprecations/kibana_user_role/_fix_users') - .set(svlCommonApi.getInternalRequestHeader()); + .set(svlCommonApi.getInternalRequestHeader()) + .set(roleAuthc.apiKeyHeader); svlCommonApi.assertApiNotFound(body, status); }); - it('fix deprecated role mappings', async () => { - const { body, status } = await supertest + it('fix deprecated roleAuthc mappings', async () => { + const { body, status } = await supertestWithoutAuth .post('/internal/security/deprecations/kibana_user_role/_fix_role_mappings') - .set(svlCommonApi.getInternalRequestHeader()); + .set(svlCommonApi.getInternalRequestHeader()) + .set(roleAuthc.apiKeyHeader); svlCommonApi.assertApiNotFound(body, status); }); it('get security checkup state', async () => { - const { body, status } = await supertest + const { body, status } = await supertestWithoutAuth .get('/internal/security/security_checkup/state') - .set(svlCommonApi.getInternalRequestHeader()); + .set(svlCommonApi.getInternalRequestHeader()) + .set(roleAuthc.apiKeyHeader); svlCommonApi.assertApiNotFound(body, status); }); }); describe('internal', () => { it('get record auth type', async () => { - const { status } = await supertest + const { status } = await supertestWithoutAuth .post('/internal/security/analytics/_record_auth_type') - .set(svlCommonApi.getInternalRequestHeader()); + .set(svlCommonApi.getInternalRequestHeader()) + .set(roleAuthc.apiKeyHeader); expect(status).toBe(200); }); }); diff --git a/x-pack/test_serverless/api_integration/test_suites/common/platform_security/response_headers.ts b/x-pack/test_serverless/api_integration/test_suites/common/platform_security/response_headers.ts index 75413907fbd30..393645ba8b360 100644 --- a/x-pack/test_serverless/api_integration/test_suites/common/platform_security/response_headers.ts +++ b/x-pack/test_serverless/api_integration/test_suites/common/platform_security/response_headers.ts @@ -8,10 +8,13 @@ import expect from 'expect'; import cspParser from 'content-security-policy-parser'; import { FtrProviderContext } from '../../../ftr_provider_context'; +import { RoleCredentials } from '../../../../shared/services'; export default function ({ getService }: FtrProviderContext) { const svlCommonApi = getService('svlCommonApi'); - const supertest = getService('supertest'); + const svlUserManager = getService('svlUserManager'); + const supertestWithoutAuth = getService('supertestWithoutAuth'); + let roleAuthc: RoleCredentials; describe('security/response_headers', function () { const baseCSP = `script-src 'report-sample' 'self'; worker-src 'report-sample' 'self' blob:; style-src 'report-sample' 'self' 'unsafe-inline'; frame-ancestors 'self'`; @@ -23,9 +26,16 @@ export default function ({ getService }: FtrProviderContext) { const defaultXContentTypeOptions = 'nosniff'; const defaultXFrameOptions = 'SAMEORIGIN'; + before(async () => { + roleAuthc = await svlUserManager.createApiKeyForRole('admin'); + }); + after(async () => { + await svlUserManager.invalidateApiKeyForRole(roleAuthc); + }); it('API endpoint response contains default security headers', async () => { - const { header } = await supertest + const { header } = await supertestWithoutAuth .get(`/internal/security/me`) + .set(roleAuthc.apiKeyHeader) .set(svlCommonApi.getInternalRequestHeader()) .expect(200); @@ -40,7 +50,7 @@ export default function ({ getService }: FtrProviderContext) { }); it('redirect endpoint response contains default security headers', async () => { - const { header } = await supertest + const { header } = await supertestWithoutAuth .get(`/logout`) .set(svlCommonApi.getInternalRequestHeader()) .expect(200); diff --git a/x-pack/test_serverless/api_integration/test_suites/common/platform_security/role_mappings.ts b/x-pack/test_serverless/api_integration/test_suites/common/platform_security/role_mappings.ts index bfddf5b4a3267..5e64dd88b1184 100644 --- a/x-pack/test_serverless/api_integration/test_suites/common/platform_security/role_mappings.ts +++ b/x-pack/test_serverless/api_integration/test_suites/common/platform_security/role_mappings.ts @@ -6,40 +6,53 @@ */ import { FtrProviderContext } from '../../../ftr_provider_context'; +import { RoleCredentials } from '../../../../shared/services'; export default function ({ getService }: FtrProviderContext) { const svlCommonApi = getService('svlCommonApi'); - const supertest = getService('supertest'); + const svlUserManager = getService('svlUserManager'); + const supertestWithoutAuth = getService('supertestWithoutAuth'); + let roleAuthc: RoleCredentials; describe('security/role_mappings', function () { + before(async () => { + roleAuthc = await svlUserManager.createApiKeyForRole('admin'); + }); + after(async () => { + await svlUserManager.invalidateApiKeyForRole(roleAuthc); + }); describe('route access', () => { describe('disabled', () => { - it('create/update role mapping', async () => { - const { body, status } = await supertest + it('create/update roleAuthc mapping', async () => { + const { body, status } = await supertestWithoutAuth .post('/internal/security/role_mapping/test') - .set(svlCommonApi.getInternalRequestHeader()); + .set(svlCommonApi.getInternalRequestHeader()) + .set(roleAuthc.apiKeyHeader); svlCommonApi.assertApiNotFound(body, status); }); - it('get role mapping', async () => { - const { body, status } = await supertest + it('get roleAuthc mapping', async () => { + const { body, status } = await supertestWithoutAuth .get('/internal/security/role_mapping/test') - .set(svlCommonApi.getInternalRequestHeader()); + .set(svlCommonApi.getInternalRequestHeader()) + .set(roleAuthc.apiKeyHeader); svlCommonApi.assertApiNotFound(body, status); }); - it('get all role mappings', async () => { - const { body, status } = await supertest + it('get all roleAuthc mappings', async () => { + const { body, status } = await supertestWithoutAuth .get('/internal/security/role_mapping') - .set(svlCommonApi.getInternalRequestHeader()); + .set(svlCommonApi.getInternalRequestHeader()) + .set(roleAuthc.apiKeyHeader); svlCommonApi.assertApiNotFound(body, status); }); - it('delete role mapping', async () => { - // this test works because the message for a missing endpoint is different from a missing role mapping - const { body, status } = await supertest + it('delete roleAuthc mapping', async () => { + // this test works because the message for a missing endpoint is different from a missing roleAuthc mapping + const { body, status } = await supertestWithoutAuth .delete('/internal/security/role_mapping/test') - .set(svlCommonApi.getInternalRequestHeader()); + .set(svlCommonApi.getInternalRequestHeader()) + .set(roleAuthc.apiKeyHeader); svlCommonApi.assertApiNotFound(body, status); }); }); diff --git a/x-pack/test_serverless/api_integration/test_suites/common/platform_security/sessions.ts b/x-pack/test_serverless/api_integration/test_suites/common/platform_security/sessions.ts index 2148447fa736f..de2b1751c82c1 100644 --- a/x-pack/test_serverless/api_integration/test_suites/common/platform_security/sessions.ts +++ b/x-pack/test_serverless/api_integration/test_suites/common/platform_security/sessions.ts @@ -7,18 +7,27 @@ import expect from 'expect'; import { FtrProviderContext } from '../../../ftr_provider_context'; +import { RoleCredentials } from '../../../../shared/services'; export default function ({ getService }: FtrProviderContext) { const svlCommonApi = getService('svlCommonApi'); - const supertest = getService('supertest'); - + const svlUserManager = getService('svlUserManager'); + const supertestWithoutAuth = getService('supertestWithoutAuth'); + let roleAuthc: RoleCredentials; describe('security/sessions', function () { + before(async () => { + roleAuthc = await svlUserManager.createApiKeyForRole('admin'); + }); + after(async () => { + await svlUserManager.invalidateApiKeyForRole(roleAuthc); + }); describe('route access', () => { describe('disabled', () => { it('invalidate', async () => { - const { body, status } = await supertest + const { body, status } = await supertestWithoutAuth .post('/api/security/session/_invalidate') .set(svlCommonApi.getInternalRequestHeader()) + .set(roleAuthc.apiKeyHeader) .send({ match: 'all' }); svlCommonApi.assertApiNotFound(body, status); }); @@ -29,9 +38,11 @@ export default function ({ getService }: FtrProviderContext) { let body: any; let status: number; - ({ body, status } = await supertest + ({ body, status } = await supertestWithoutAuth .get('/internal/security/session') + .set(roleAuthc.apiKeyHeader) .set(svlCommonApi.getCommonRequestHeader())); + // expect a rejection because we're not using the internal header expect(body).toEqual({ statusCode: 400, @@ -42,8 +53,9 @@ export default function ({ getService }: FtrProviderContext) { }); expect(status).toBe(400); - ({ body, status } = await supertest + ({ body, status } = await supertestWithoutAuth .get('/internal/security/session') + .set(roleAuthc.apiKeyHeader) .set(svlCommonApi.getInternalRequestHeader())); // expect 204 because there is no session expect(status).toBe(204); @@ -53,8 +65,9 @@ export default function ({ getService }: FtrProviderContext) { let body: any; let status: number; - ({ body, status } = await supertest + ({ body, status } = await supertestWithoutAuth .post('/internal/security/session') + .set(roleAuthc.apiKeyHeader) .set(svlCommonApi.getCommonRequestHeader())); // expect a rejection because we're not using the internal header expect(body).toEqual({ @@ -66,8 +79,9 @@ export default function ({ getService }: FtrProviderContext) { }); expect(status).toBe(400); - ({ body, status } = await supertest + ({ body, status } = await supertestWithoutAuth .post('/internal/security/session') + .set(roleAuthc.apiKeyHeader) .set(svlCommonApi.getInternalRequestHeader())); // expect redirect expect(status).toBe(302); diff --git a/x-pack/test_serverless/api_integration/test_suites/common/platform_security/user_profiles.ts b/x-pack/test_serverless/api_integration/test_suites/common/platform_security/user_profiles.ts index 83ef0c4335679..687a6ee453a2d 100644 --- a/x-pack/test_serverless/api_integration/test_suites/common/platform_security/user_profiles.ts +++ b/x-pack/test_serverless/api_integration/test_suites/common/platform_security/user_profiles.ts @@ -8,13 +8,22 @@ import expect from 'expect'; import { kibanaTestUser } from '@kbn/test'; import { FtrProviderContext } from '../../../ftr_provider_context'; +import { RoleCredentials } from '../../../../shared/services'; export default function ({ getService }: FtrProviderContext) { + const samlTools = getService('samlTools'); const svlCommonApi = getService('svlCommonApi'); + const svlUserManager = getService('svlUserManager'); const supertestWithoutAuth = getService('supertestWithoutAuth'); - const samlTools = getService('samlTools'); + let roleAuthc: RoleCredentials; describe('security/user_profiles', function () { + before(async () => { + roleAuthc = await svlUserManager.createApiKeyForRole('admin'); + }); + after(async () => { + await svlUserManager.invalidateApiKeyForRole(roleAuthc); + }); describe('route access', () => { describe('internal', () => { // When we run tests on MKI, SAML realm is configured differently, and we cannot handcraft SAML responses to @@ -25,6 +34,7 @@ export default function ({ getService }: FtrProviderContext) { const { status } = await supertestWithoutAuth .post(`/internal/security/user_profile/_data`) .set(svlCommonApi.getInternalRequestHeader()) + .set(roleAuthc.apiKeyHeader) .set(await samlTools.login(kibanaTestUser.username)) .send({ key: 'value' }); expect(status).not.toBe(404); @@ -33,6 +43,7 @@ export default function ({ getService }: FtrProviderContext) { it('get current', async () => { const { status } = await supertestWithoutAuth .get(`/internal/security/user_profile`) + .set(roleAuthc.apiKeyHeader) .set(svlCommonApi.getInternalRequestHeader()) .set(await samlTools.login(kibanaTestUser.username)); expect(status).not.toBe(404); @@ -42,6 +53,7 @@ export default function ({ getService }: FtrProviderContext) { const { status } = await supertestWithoutAuth .get(`/internal/security/user_profile`) .set(svlCommonApi.getInternalRequestHeader()) + .set(roleAuthc.apiKeyHeader) .set(await samlTools.login(kibanaTestUser.username)) .send({ uids: ['12345678'] }); expect(status).not.toBe(404); diff --git a/x-pack/test_serverless/api_integration/test_suites/common/platform_security/users.ts b/x-pack/test_serverless/api_integration/test_suites/common/platform_security/users.ts index 2feaa8878d1ef..b9979492ce417 100644 --- a/x-pack/test_serverless/api_integration/test_suites/common/platform_security/users.ts +++ b/x-pack/test_serverless/api_integration/test_suites/common/platform_security/users.ts @@ -6,89 +6,105 @@ */ import expect from 'expect'; +import { RoleCredentials } from '../../../../shared/services'; import { FtrProviderContext } from '../../../ftr_provider_context'; export default function ({ getService }: FtrProviderContext) { const svlCommonApi = getService('svlCommonApi'); - const supertest = getService('supertest'); + const svlUserManager = getService('svlUserManager'); + const supertestWithoutAuth = getService('supertestWithoutAuth'); + let roleAuthc: RoleCredentials; describe('security/users', function () { + before(async () => { + roleAuthc = await svlUserManager.createApiKeyForRole('admin'); + }); + after(async () => { + await svlUserManager.invalidateApiKeyForRole(roleAuthc); + }); describe('route access', () => { // ToDo: uncomment when we disable user APIs - // describe('disabled', () => { - // it('get', async () => { - // const { body, status } = await supertest - // .get('/internal/security/users/elastic') - // .set(svlCommonApi.getInternalRequestHeader()); - // svlCommonApi.assertApiNotFound(body, status); - // }); - - // it('get all', async () => { - // const { body, status } = await supertest - // .get('/internal/security/users') - // .set(svlCommonApi.getInternalRequestHeader()); - // svlCommonApi.assertApiNotFound(body, status); - // }); - - // it('create/update', async () => { - // const { body, status } = await supertest - // .post(`/internal/security/users/some_testuser`) - // .set(svlCommonApi.getInternalRequestHeader()) - // .send({ username: 'some_testuser', password: 'testpassword', roles: [] }); - // svlCommonApi.assertApiNotFound(body, status); - // }); - - // it('delete', async () => { - // const { body, status } = await supertest - // .delete(`/internal/security/users/elastic`) - // .set(svlCommonApi.getInternalRequestHeader()); - // svlCommonApi.assertApiNotFound(body, status); - // }); - - // it('disable', async () => { - // const { body, status } = await supertest - // .post(`/internal/security/users/elastic/_disable`) - // .set(svlCommonApi.getInternalRequestHeader()); - // svlCommonApi.assertApiNotFound(body, status); - // }); - - // it('enable', async () => { - // const { body, status } = await supertest - // .post(`/internal/security/users/elastic/_enable`) - // .set(svlCommonApi.getInternalRequestHeader()); - // svlCommonApi.assertApiNotFound(body, status); - // }); - - // it('set password', async () => { - // const { body, status } = await supertest - // .post(`/internal/security/users/{username}/password`) - // .set(svlCommonApi.getInternalRequestHeader()) - // .send({ - // password: 'old_pw', - // newPassword: 'new_pw', - // }); - // svlCommonApi.assertApiNotFound(body, status); - // }); - // }); + describe.skip('disabled', () => { + it('get', async () => { + const { body, status } = await supertestWithoutAuth + .get('/internal/security/users/elastic') + .set(svlCommonApi.getInternalRequestHeader()) + .set(roleAuthc.apiKeyHeader); + svlCommonApi.assertApiNotFound(body, status); + }); + + it('get all', async () => { + const { body, status } = await supertestWithoutAuth + .get('/internal/security/users') + .set(svlCommonApi.getInternalRequestHeader()) + .set(roleAuthc.apiKeyHeader); + svlCommonApi.assertApiNotFound(body, status); + }); + + it('create/update', async () => { + const { body, status } = await supertestWithoutAuth + .post(`/internal/security/users/some_testuser`) + .set(svlCommonApi.getInternalRequestHeader()) + .send({ username: 'some_testuser', password: 'testpassword', roles: [] }); + svlCommonApi.assertApiNotFound(body, status); + }); + + it('delete', async () => { + const { body, status } = await supertestWithoutAuth + .delete(`/internal/security/users/elastic`) + .set(svlCommonApi.getInternalRequestHeader()) + .set(roleAuthc.apiKeyHeader); + svlCommonApi.assertApiNotFound(body, status); + }); + + it('disable', async () => { + const { body, status } = await supertestWithoutAuth + .post(`/internal/security/users/elastic/_disable`) + .set(svlCommonApi.getInternalRequestHeader()) + .set(roleAuthc.apiKeyHeader); + svlCommonApi.assertApiNotFound(body, status); + }); + + it('enable', async () => { + const { body, status } = await supertestWithoutAuth + .post(`/internal/security/users/elastic/_enable`) + .set(svlCommonApi.getInternalRequestHeader()) + .set(roleAuthc.apiKeyHeader); + svlCommonApi.assertApiNotFound(body, status); + }); + + it('set password', async () => { + const { body, status } = await supertestWithoutAuth + .post(`/internal/security/users/{username}/password`) + .set(svlCommonApi.getInternalRequestHeader()) + .send({ + password: 'old_pw', + newPassword: 'new_pw', + }); + svlCommonApi.assertApiNotFound(body, status); + }); + }); // ToDo: remove when we disable user APIs describe('internal', () => { it('get', async () => { - const { status } = await supertest + const { status } = await supertestWithoutAuth .get('/internal/security/users/elastic') - .set(svlCommonApi.getInternalRequestHeader()); + .set(svlCommonApi.getInternalRequestHeader()) + .set(roleAuthc.apiKeyHeader); expect(status).not.toBe(404); }); it('get all', async () => { - const { status } = await supertest + const { status } = await supertestWithoutAuth .get('/internal/security/users') - .set(svlCommonApi.getInternalRequestHeader()); + .set(svlCommonApi.getInternalRequestHeader()) + .set(roleAuthc.apiKeyHeader); expect(status).not.toBe(404); }); it('create/update', async () => { - const { status } = await supertest + const { status } = await supertestWithoutAuth .post(`/internal/security/users/some_testuser`) .set(svlCommonApi.getInternalRequestHeader()) .send({ username: 'some_testuser', password: 'testpassword', roles: [] }); @@ -96,28 +112,31 @@ export default function ({ getService }: FtrProviderContext) { }); it('delete', async () => { - const { status } = await supertest + const { status } = await supertestWithoutAuth .delete(`/internal/security/users/elastic`) - .set(svlCommonApi.getInternalRequestHeader()); + .set(svlCommonApi.getInternalRequestHeader()) + .set(roleAuthc.apiKeyHeader); expect(status).not.toBe(404); }); it('disable', async () => { - const { status } = await supertest + const { status } = await supertestWithoutAuth .post(`/internal/security/users/elastic/_disable`) - .set(svlCommonApi.getInternalRequestHeader()); + .set(svlCommonApi.getInternalRequestHeader()) + .set(roleAuthc.apiKeyHeader); expect(status).not.toBe(404); }); it('enable', async () => { - const { status } = await supertest + const { status } = await supertestWithoutAuth .post(`/internal/security/users/elastic/_enable`) - .set(svlCommonApi.getInternalRequestHeader()); + .set(svlCommonApi.getInternalRequestHeader()) + .set(roleAuthc.apiKeyHeader); expect(status).not.toBe(404); }); it('set password', async () => { - const { status } = await supertest + const { status } = await supertestWithoutAuth .post(`/internal/security/users/{username}/password`) .set(svlCommonApi.getInternalRequestHeader()) .send({ diff --git a/x-pack/test_serverless/api_integration/test_suites/common/platform_security/views.ts b/x-pack/test_serverless/api_integration/test_suites/common/platform_security/views.ts index ac1d994252c57..3800d1f06b134 100644 --- a/x-pack/test_serverless/api_integration/test_suites/common/platform_security/views.ts +++ b/x-pack/test_serverless/api_integration/test_suites/common/platform_security/views.ts @@ -6,106 +6,131 @@ */ import expect from 'expect'; +import { InternalRequestHeader, RoleCredentials } from '../../../../shared/services'; import { FtrProviderContext } from '../../../ftr_provider_context'; export default function ({ getService }: FtrProviderContext) { const svlCommonApi = getService('svlCommonApi'); - const supertest = getService('supertest'); + const svlUserManager = getService('svlUserManager'); + const supertestWithoutAuth = getService('supertestWithoutAuth'); + let roleAuthc: RoleCredentials; + let internalReqHeader: InternalRequestHeader; describe('security/views', function () { + before(async () => { + roleAuthc = await svlUserManager.createApiKeyForRole('admin'); + internalReqHeader = svlCommonApi.getInternalRequestHeader(); + }); + after(async () => { + await svlUserManager.invalidateApiKeyForRole(roleAuthc); + }); describe('route access', () => { describe('disabled', () => { - // ToDo: uncomment these when we disable login routes - // it('login', async () => { - // const { body, status } = await supertest - // .get('/login') - // .set(svlCommonApi.getInternalRequestHeader()); - // svlCommonApi.assertApiNotFound(body, status); - // }); + // ToDo: unskip these when we disable login routes + xit('login', async () => { + const { body, status } = await supertestWithoutAuth + .get('/login') + .set(svlCommonApi.getInternalRequestHeader()) + .set(roleAuthc.apiKeyHeader); + svlCommonApi.assertApiNotFound(body, status); + }); - // it('get login state', async () => { - // const { body, status } = await supertest - // .get('/internal/security/login_state') - // .set(svlCommonApi.getInternalRequestHeader()); - // svlCommonApi.assertApiNotFound(body, status); - // }); + // ToDo: unskip these when we disable login routes + xit('get login state', async () => { + const { body, status } = await supertestWithoutAuth + .get('/internal/security/login_state') + .set(svlCommonApi.getInternalRequestHeader()) + .set(roleAuthc.apiKeyHeader); + svlCommonApi.assertApiNotFound(body, status); + }); it('access agreement', async () => { - const { body, status } = await supertest + const { body, status } = await supertestWithoutAuth .get('/security/access_agreement') - .set(svlCommonApi.getInternalRequestHeader()); + .set(svlCommonApi.getInternalRequestHeader()) + .set(roleAuthc.apiKeyHeader); svlCommonApi.assertApiNotFound(body, status); }); it('get access agreement state', async () => { - const { body, status } = await supertest + const { body, status } = await supertestWithoutAuth .get('/internal/security/access_agreement/state') - .set(svlCommonApi.getInternalRequestHeader()); + .set(svlCommonApi.getInternalRequestHeader()) + .set(roleAuthc.apiKeyHeader); svlCommonApi.assertApiNotFound(body, status); }); }); describe('public', () => { it('login', async () => { - const { status } = await supertest + const { status } = await supertestWithoutAuth .get('/login') - .set(svlCommonApi.getInternalRequestHeader()); + .set(svlCommonApi.getInternalRequestHeader()) + .set(roleAuthc.apiKeyHeader); expect(status).toBe(302); }); it('get login state', async () => { - const { status } = await supertest + const { status } = await supertestWithoutAuth .get('/internal/security/login_state') - .set(svlCommonApi.getInternalRequestHeader()); + .set(svlCommonApi.getInternalRequestHeader()) + .set(roleAuthc.apiKeyHeader); expect(status).toBe(200); }); it('capture URL', async () => { - const { status } = await supertest + const { status } = await supertestWithoutAuth .get('/internal/security/capture-url') - .set(svlCommonApi.getCommonRequestHeader()); + .set(internalReqHeader) + .set(roleAuthc.apiKeyHeader); expect(status).toBe(200); }); it('space selector', async () => { - const { status } = await supertest + const { status } = await supertestWithoutAuth .get('/spaces/space_selector') - .set(svlCommonApi.getCommonRequestHeader()); + .set(internalReqHeader) + .set(roleAuthc.apiKeyHeader); expect(status).toBe(200); }); it('enter space', async () => { - const { status } = await supertest + const { status } = await supertestWithoutAuth .get('/spaces/enter') - .set(svlCommonApi.getCommonRequestHeader()); + .set(internalReqHeader) + .set(roleAuthc.apiKeyHeader); expect(status).toBe(302); }); it('account', async () => { - const { status } = await supertest + const { status } = await supertestWithoutAuth .get('/security/account') - .set(svlCommonApi.getCommonRequestHeader()); + .set(internalReqHeader) + .set(roleAuthc.apiKeyHeader); expect(status).toBe(200); }); it('logged out', async () => { - const { status } = await supertest + const { status } = await supertestWithoutAuth .get('/security/logged_out') - .set(svlCommonApi.getCommonRequestHeader()); + .set(internalReqHeader) + .set(roleAuthc.apiKeyHeader); expect(status).toBe(200); }); it('logout', async () => { - const { status } = await supertest + const { status } = await supertestWithoutAuth .get('/logout') - .set(svlCommonApi.getCommonRequestHeader()); + .set(internalReqHeader) + .set(roleAuthc.apiKeyHeader); expect(status).toBe(200); }); it('overwritten session', async () => { - const { status } = await supertest + const { status } = await supertestWithoutAuth .get('/security/overwritten_session') - .set(svlCommonApi.getCommonRequestHeader()); + .set(internalReqHeader) + .set(roleAuthc.apiKeyHeader); expect(status).toBe(200); }); }); diff --git a/x-pack/test_serverless/api_integration/test_suites/common/reporting/datastream.ts b/x-pack/test_serverless/api_integration/test_suites/common/reporting/datastream.ts index 1d336ec504250..6cec7b7c2fcfb 100644 --- a/x-pack/test_serverless/api_integration/test_suites/common/reporting/datastream.ts +++ b/x-pack/test_serverless/api_integration/test_suites/common/reporting/datastream.ts @@ -7,12 +7,17 @@ import { expect } from 'expect'; import { FtrProviderContext } from '../../../ftr_provider_context'; +import { InternalRequestHeader, RoleCredentials } from '../../../../shared/services'; export default function ({ getService }: FtrProviderContext) { const esArchiver = getService('esArchiver'); const kibanaServer = getService('kibanaServer'); const reportingAPI = getService('svlReportingApi'); - const supertest = getService('supertest'); + const svlCommonApi = getService('svlCommonApi'); + const svlUserManager = getService('svlUserManager'); + const supertestWithoutAuth = getService('supertestWithoutAuth'); + let roleAuthc: RoleCredentials; + let internalReqHeader: InternalRequestHeader; const archives: Record = { ecommerce: { @@ -23,34 +28,42 @@ export default function ({ getService }: FtrProviderContext) { describe('Data Stream', () => { before(async () => { + roleAuthc = await svlUserManager.createApiKeyForRole('admin'); + internalReqHeader = svlCommonApi.getInternalRequestHeader(); await esArchiver.load(archives.ecommerce.data); await kibanaServer.importExport.load(archives.ecommerce.savedObjects); // for this test, we don't need to wait for the job to finish or verify the result - await reportingAPI.createReportJobInternal('csv_searchsource', { - browserTimezone: 'UTC', - objectType: 'search', - searchSource: { - index: '5193f870-d861-11e9-a311-0fa548c5f953', - query: { language: 'kuery', query: '' }, - version: true, + await reportingAPI.createReportJobInternal( + 'csv_searchsource', + { + browserTimezone: 'UTC', + objectType: 'search', + searchSource: { + index: '5193f870-d861-11e9-a311-0fa548c5f953', + query: { language: 'kuery', query: '' }, + version: true, + }, + title: 'Ecommerce Data', + version: '8.15.0', }, - title: 'Ecommerce Data', - version: '8.15.0', - }); + roleAuthc, + internalReqHeader + ); }); after(async () => { - await reportingAPI.deleteAllReports(); + await reportingAPI.deleteAllReports(roleAuthc, internalReqHeader); await esArchiver.unload(archives.ecommerce.data); await kibanaServer.importExport.unload(archives.ecommerce.savedObjects); + await svlUserManager.invalidateApiKeyForRole(roleAuthc); }); it('uses the datastream configuration with set ILM policy', async () => { - const { body } = await supertest + const { body } = await supertestWithoutAuth .get(`/api/index_management/data_streams/.kibana-reporting`) - .set('kbn-xsrf', 'xxx') - .set('x-elastic-internal-origin', 'xxx') + .set(internalReqHeader) + .set(roleAuthc.apiKeyHeader) .expect(200); expect(body).toEqual({ diff --git a/x-pack/test_serverless/api_integration/test_suites/common/reporting/generate_csv_discover.ts b/x-pack/test_serverless/api_integration/test_suites/common/reporting/generate_csv_discover.ts index 6fe25028cb3e7..16342c37fc579 100644 --- a/x-pack/test_serverless/api_integration/test_suites/common/reporting/generate_csv_discover.ts +++ b/x-pack/test_serverless/api_integration/test_suites/common/reporting/generate_csv_discover.ts @@ -9,12 +9,17 @@ import expect from '@kbn/expect'; import type { SortDirection } from '@kbn/data-plugin/common'; import type { JobParamsCSV } from '@kbn/reporting-export-types-csv-common'; import type { Filter } from '@kbn/es-query'; +import { InternalRequestHeader, RoleCredentials } from '../../../../shared/services'; import { FtrProviderContext } from '../../../ftr_provider_context'; export default function ({ getService }: FtrProviderContext) { const esArchiver = getService('esArchiver'); const kibanaServer = getService('kibanaServer'); const reportingAPI = getService('svlReportingApi'); + const svlCommonApi = getService('svlCommonApi'); + const svlUserManager = getService('svlUserManager'); + let roleAuthc: RoleCredentials; + let internalReqHeader: InternalRequestHeader; /* * Helper function to decorate with common fields needed in the API call @@ -73,6 +78,11 @@ export default function ({ getService }: FtrProviderContext) { // see kibanaReportCompletion config this.timeout(12 * 60 * 1000); + before(async () => { + roleAuthc = await svlUserManager.createApiKeyForRole('admin'); + internalReqHeader = svlCommonApi.getInternalRequestHeader(); + }); + beforeEach(async () => { await kibanaServer.uiSettings.update({ 'csv:quoteValues': true, @@ -80,6 +90,10 @@ export default function ({ getService }: FtrProviderContext) { }); }); + after(async () => { + await svlUserManager.invalidateApiKeyForRole(roleAuthc); + }); + describe('exported CSV', () => { before(async () => { await esArchiver.load(archives.ecommerce.data); @@ -87,7 +101,7 @@ export default function ({ getService }: FtrProviderContext) { }); after(async () => { - await reportingAPI.deleteAllReports(); + await reportingAPI.deleteAllReports(roleAuthc, internalReqHeader); await esArchiver.unload(archives.ecommerce.data); await kibanaServer.importExport.unload(archives.ecommerce.savedObjects); }); @@ -155,10 +169,16 @@ export default function ({ getService }: FtrProviderContext) { }, title: 'Ecommerce Data', version: '8.14.0', - }) + }), + roleAuthc, + internalReqHeader + ); + await reportingAPI.waitForJobToFinish(res.path, roleAuthc, internalReqHeader); + const csvFile = await reportingAPI.getCompletedJobOutput( + res.path, + roleAuthc, + internalReqHeader ); - await reportingAPI.waitForJobToFinish(res.path); - const csvFile = await reportingAPI.getCompletedJobOutput(res.path); expect((csvFile as string).length).to.be(124183); expectSnapshot(createPartialCsv(csvFile)).toMatch(); }); @@ -192,10 +212,12 @@ export default function ({ getService }: FtrProviderContext) { }, title: 'Untitled discover search', version: '8.14.0', - }) + }), + roleAuthc, + internalReqHeader ); - await reportingAPI.waitForJobToFinish(res.path); - return reportingAPI.getCompletedJobOutput(res.path); + await reportingAPI.waitForJobToFinish(res.path, roleAuthc, internalReqHeader); + return reportingAPI.getCompletedJobOutput(res.path, roleAuthc, internalReqHeader); } it('includes an unmapped field to the report', async () => { @@ -337,10 +359,16 @@ export default function ({ getService }: FtrProviderContext) { }, }, }, - }) + }), + roleAuthc, + internalReqHeader + ); + await reportingAPI.waitForJobToFinish(res.path, roleAuthc, internalReqHeader); + const csvFile = await reportingAPI.getCompletedJobOutput( + res.path, + roleAuthc, + internalReqHeader ); - await reportingAPI.waitForJobToFinish(res.path); - const csvFile = await reportingAPI.getCompletedJobOutput(res.path); expect((csvFile as string).length).to.be(1270683); expectSnapshot(createPartialCsv(csvFile)).toMatch(); }); @@ -383,10 +411,16 @@ export default function ({ getService }: FtrProviderContext) { }, }, }, - }) + }), + roleAuthc, + internalReqHeader + ); + await reportingAPI.waitForJobToFinish(res.path, roleAuthc, internalReqHeader); + const csvFile = await reportingAPI.getCompletedJobOutput( + res.path, + roleAuthc, + internalReqHeader ); - await reportingAPI.waitForJobToFinish(res.path); - const csvFile = await reportingAPI.getCompletedJobOutput(res.path); expect((csvFile as string).length).to.be(918298); expectSnapshot(createPartialCsv(csvFile)).toMatch(); }); @@ -435,10 +469,16 @@ export default function ({ getService }: FtrProviderContext) { sort: [{ '@timestamp': 'desc' as SortDirection }], }, columns: ['@timestamp', 'clientip', 'extension'], - }) + }), + roleAuthc, + internalReqHeader + ); + await reportingAPI.waitForJobToFinish(res.path, roleAuthc, internalReqHeader); + const csvFile = await reportingAPI.getCompletedJobOutput( + res.path, + roleAuthc, + internalReqHeader ); - await reportingAPI.waitForJobToFinish(res.path); - const csvFile = await reportingAPI.getCompletedJobOutput(res.path); expect((csvFile as string).length).to.be(3020); expectSnapshot(createPartialCsv(csvFile)).toMatch(); }); @@ -475,10 +515,16 @@ export default function ({ getService }: FtrProviderContext) { sort: [{ '@timestamp': 'desc' as SortDirection }], }, columns: ['@timestamp', 'clientip', 'extension'], - }) + }), + roleAuthc, + internalReqHeader + ); + await reportingAPI.waitForJobToFinish(res.path, roleAuthc, internalReqHeader); + const csvFile = await reportingAPI.getCompletedJobOutput( + res.path, + roleAuthc, + internalReqHeader ); - await reportingAPI.waitForJobToFinish(res.path); - const csvFile = await reportingAPI.getCompletedJobOutput(res.path); expect((csvFile as string).length).to.be(3020); expectSnapshot(createPartialCsv(csvFile)).toMatch(); }); @@ -509,10 +555,16 @@ export default function ({ getService }: FtrProviderContext) { filter: [], }, columns: ['date', 'message'], - }) + }), + roleAuthc, + internalReqHeader + ); + await reportingAPI.waitForJobToFinish(res.path, roleAuthc, internalReqHeader); + const csvFile = await reportingAPI.getCompletedJobOutput( + res.path, + roleAuthc, + internalReqHeader ); - await reportingAPI.waitForJobToFinish(res.path); - const csvFile = await reportingAPI.getCompletedJobOutput(res.path); expect((csvFile as string).length).to.be(103); expectSnapshot(createPartialCsv(csvFile)).toMatch(); }); @@ -532,10 +584,16 @@ export default function ({ getService }: FtrProviderContext) { filter: [], }, columns: ['date', 'message'], - }) + }), + roleAuthc, + internalReqHeader + ); + await reportingAPI.waitForJobToFinish(res.path, roleAuthc, internalReqHeader); + const csvFile = await reportingAPI.getCompletedJobOutput( + res.path, + roleAuthc, + internalReqHeader ); - await reportingAPI.waitForJobToFinish(res.path); - const csvFile = await reportingAPI.getCompletedJobOutput(res.path); expect((csvFile as string).length).to.be(103); expectSnapshot(createPartialCsv(csvFile)).toMatch(); }); @@ -569,10 +627,16 @@ export default function ({ getService }: FtrProviderContext) { filter: [], }, columns: ['date', 'message', '_id', '_index'], - }) + }), + roleAuthc, + internalReqHeader + ); + await reportingAPI.waitForJobToFinish(res.path, roleAuthc, internalReqHeader); + const csvFile = await reportingAPI.getCompletedJobOutput( + res.path, + roleAuthc, + internalReqHeader ); - await reportingAPI.waitForJobToFinish(res.path); - const csvFile = await reportingAPI.getCompletedJobOutput(res.path); expect((csvFile as string).length).to.be(134); expectSnapshot(createPartialCsv(csvFile)).toMatch(); }); @@ -595,10 +659,16 @@ export default function ({ getService }: FtrProviderContext) { ] as unknown as Filter[], }, columns: ['name', 'power'], - }) + }), + roleAuthc, + internalReqHeader + ); + await reportingAPI.waitForJobToFinish(res.path, roleAuthc, internalReqHeader); + const csvFile = await reportingAPI.getCompletedJobOutput( + res.path, + roleAuthc, + internalReqHeader ); - await reportingAPI.waitForJobToFinish(res.path); - const csvFile = await reportingAPI.getCompletedJobOutput(res.path); expect((csvFile as string).length).to.be(274); expectSnapshot(createPartialCsv(csvFile)).toMatch(); }); @@ -673,10 +743,16 @@ export default function ({ getService }: FtrProviderContext) { }, }, columns: [], - }) + }), + roleAuthc, + internalReqHeader + ); + await reportingAPI.waitForJobToFinish(res.path, roleAuthc, internalReqHeader); + const csvFile = await reportingAPI.getCompletedJobOutput( + res.path, + roleAuthc, + internalReqHeader ); - await reportingAPI.waitForJobToFinish(res.path); - const csvFile = await reportingAPI.getCompletedJobOutput(res.path); expect((csvFile as string).length).to.be(356); expectSnapshot(createPartialCsv(csvFile)).toMatch(); }); @@ -733,10 +809,16 @@ export default function ({ getService }: FtrProviderContext) { }, }, }, - }) + }), + roleAuthc, + internalReqHeader + ); + await reportingAPI.waitForJobToFinish(res.path, roleAuthc, internalReqHeader); + const csvFile = await reportingAPI.getCompletedJobOutput( + res.path, + roleAuthc, + internalReqHeader ); - await reportingAPI.waitForJobToFinish(res.path); - const csvFile = await reportingAPI.getCompletedJobOutput(res.path); expect((csvFile as string).length).to.be(4845684); expectSnapshot(createPartialCsv(csvFile)).toMatch(); }); diff --git a/x-pack/test_serverless/functional/test_suites/common/reporting/management.ts b/x-pack/test_serverless/functional/test_suites/common/reporting/management.ts index 6d23ef5512b76..be4c365263dbd 100644 --- a/x-pack/test_serverless/functional/test_suites/common/reporting/management.ts +++ b/x-pack/test_serverless/functional/test_suites/common/reporting/management.ts @@ -11,6 +11,7 @@ import { JobParamsCsvFromSavedObject, } from '@kbn/reporting-export-types-csv-common'; import { FtrProviderContext } from '../../../ftr_provider_context'; +import { InternalRequestHeader, RoleCredentials } from '../../../../shared/services'; export default ({ getPageObjects, getService }: FtrProviderContext) => { const kibanaServer = getService('kibanaServer'); @@ -20,6 +21,10 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => { const PageObjects = getPageObjects(['common', 'svlCommonPage', 'header']); const reportingAPI = getService('svlReportingApi'); const config = getService('config'); + const svlCommonApi = getService('svlCommonApi'); + const svlUserManager = getService('svlUserManager'); + let roleAuthc: RoleCredentials; + let internalReqHeader: InternalRequestHeader; const navigateToReportingManagement = async () => { log.debug(`navigating to reporting management app`); @@ -55,19 +60,27 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => { const TEST_PASSWORD = config.get('servers.kibana.password'); before('initialize saved object archive', async () => { + roleAuthc = await svlUserManager.createApiKeyForRole('admin'); + internalReqHeader = svlCommonApi.getInternalRequestHeader(); // add test saved search object await kibanaServer.importExport.load(savedObjectsArchive); }); after('clean up archives', async () => { await kibanaServer.importExport.unload(savedObjectsArchive); + await svlUserManager.invalidateApiKeyForRole(roleAuthc); }); // Cant auth into the route as it's structured currently xit(`user sees a job they've created`, async () => { const { job: { id: jobId }, - } = await reportingAPI.createReportJobInternal(CSV_REPORT_TYPE_V2, job); + } = await reportingAPI.createReportJobInternal( + CSV_REPORT_TYPE_V2, + job, + roleAuthc, + internalReqHeader + ); await navigateToReportingManagement(); await testSubjects.existOrFail(`viewReportingLink-${jobId}`); diff --git a/x-pack/test_serverless/shared/services/svl_reporting.ts b/x-pack/test_serverless/shared/services/svl_reporting.ts index 4a1a2535aeced..f3cf4065c31f1 100644 --- a/x-pack/test_serverless/shared/services/svl_reporting.ts +++ b/x-pack/test_serverless/shared/services/svl_reporting.ts @@ -5,29 +5,26 @@ * 2.0. */ -import { X_ELASTIC_INTERNAL_ORIGIN_REQUEST } from '@kbn/core-http-common'; import expect from '@kbn/expect'; import { INTERNAL_ROUTES } from '@kbn/reporting-common'; import type { ReportingJobResponse } from '@kbn/reporting-plugin/server/types'; import { REPORTING_DATA_STREAM_WILDCARD_WITH_LEGACY } from '@kbn/reporting-server'; import rison from '@kbn/rison'; import { FtrProviderContext } from '../../functional/ftr_provider_context'; +import { RoleCredentials } from './svl_user_manager'; +import { InternalRequestHeader } from './svl_common_api'; const API_HEADER: [string, string] = ['kbn-xsrf', 'reporting']; -const INTERNAL_HEADER: [string, string] = [X_ELASTIC_INTERNAL_ORIGIN_REQUEST, 'Kibana']; /** * Services to create roles and users for security testing */ export function SvlReportingServiceProvider({ getService }: FtrProviderContext) { const log = getService('log'); - const supertest = getService('supertestWithoutAuth'); + const supertestWithoutAuth = getService('supertestWithoutAuth'); const retry = getService('retry'); const config = getService('config'); - const REPORTING_USER_USERNAME = config.get('servers.kibana.username'); - const REPORTING_USER_PASSWORD = config.get('servers.kibana.password'); - return { /** * Use the internal API to create any kind of report job @@ -35,17 +32,16 @@ export function SvlReportingServiceProvider({ getService }: FtrProviderContext) async createReportJobInternal( jobType: string, job: object, - username: string = REPORTING_USER_USERNAME, - password: string = REPORTING_USER_PASSWORD + roleAuthc: RoleCredentials, + internalReqHeader: InternalRequestHeader ) { const requestPath = `${INTERNAL_ROUTES.GENERATE_PREFIX}/${jobType}`; log.debug(`POST request to ${requestPath}`); - const { status, body } = await supertest + const { status, body } = await supertestWithoutAuth .post(requestPath) - .auth(username, password) - .set(...API_HEADER) - .set(...INTERNAL_HEADER) + .set(internalReqHeader) + .set(roleAuthc.apiKeyHeader) .send({ jobParams: rison.encode(job) }); expect(status).to.be(200); @@ -61,20 +57,20 @@ export function SvlReportingServiceProvider({ getService }: FtrProviderContext) */ async waitForJobToFinish( downloadReportPath: string, - username = REPORTING_USER_USERNAME, - password = REPORTING_USER_PASSWORD, + roleAuthc: RoleCredentials, + internalReqHeader: InternalRequestHeader, options?: { timeout?: number } ) { await retry.waitForWithTimeout( `job ${downloadReportPath} finished`, options?.timeout ?? config.get('timeouts.kibanaReportCompletion'), async () => { - const response = await supertest + const response = await supertestWithoutAuth .get(`${downloadReportPath}?elasticInternalOrigin=true`) - .auth(username, password) .responseType('blob') .set(...API_HEADER) - .set(...INTERNAL_HEADER); + .set(internalReqHeader) + .set(roleAuthc.apiKeyHeader); if (response.status === 500) { throw new Error(`Report at path ${downloadReportPath} has failed`); @@ -106,21 +102,24 @@ export function SvlReportingServiceProvider({ getService }: FtrProviderContext) */ async getCompletedJobOutput( downloadReportPath: string, - username = REPORTING_USER_USERNAME, - password = REPORTING_USER_PASSWORD + roleAuthc: RoleCredentials, + internalReqHeader: InternalRequestHeader ) { - const response = await supertest + const response = await supertestWithoutAuth .get(`${downloadReportPath}?elasticInternalOrigin=true`) - .auth(username, password); + .set(internalReqHeader) + .set(roleAuthc.apiKeyHeader); return response.text as unknown; }, - async deleteAllReports() { + async deleteAllReports(roleAuthc: RoleCredentials, internalReqHeader: InternalRequestHeader) { log.debug('ReportingAPI.deleteAllReports'); // ignores 409 errs and keeps retrying await retry.tryForTime(5000, async () => { - await supertest + await supertestWithoutAuth .post(`/${REPORTING_DATA_STREAM_WILDCARD_WITH_LEGACY}/_delete_by_query`) + .set(internalReqHeader) + .set(roleAuthc.apiKeyHeader) .send({ query: { match_all: {} } }); }); }, From dca0ea2ade1bac1cd66cdd1f508c5bdf7e366564 Mon Sep 17 00:00:00 2001 From: Panagiota Mitsopoulou Date: Fri, 21 Jun 2024 13:24:52 +0200 Subject: [PATCH 14/80] [SLO] use generic edit actions in the SLO embeddables (#186374) Fixes https://github.com/elastic/kibana/issues/186365 ## SLO Group Overview Embeddable - `Edit criteria` appears on top - Edit criteria does not appear under `More` actions - Inline Edit criteria is removed from the panel https://github.com/elastic/kibana/assets/2852703/4b322361-08dd-4f3f-8440-2d4380efa2bd ## SLO Alerts Embeddable - `Edit configuration` appears on top - Edit configuration does not appear under `More` actions - `X SLOs included` within the panel still opens the Edit configuration https://github.com/elastic/kibana/assets/2852703/c609fa70-4c1f-4aa5-aa17-4e765456f7e6 --------- Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../alerts/slo_alerts_embeddable_factory.tsx | 36 +++++++- .../slo/alerts/slo_alerts_wrapper.tsx | 13 +-- .../slo/public/embeddable/slo/alerts/types.ts | 4 +- .../slo/overview/slo_embeddable_factory.tsx | 90 +++++++++---------- .../public/embeddable/slo/overview/types.ts | 4 +- .../slo/public/plugin.ts | 7 +- .../ui_actions/edit_slo_alerts_panel.tsx | 75 ---------------- .../ui_actions/edit_slo_overview_panel.tsx | 86 ------------------ .../slo/public/ui_actions/index.ts | 7 -- 9 files changed, 89 insertions(+), 233 deletions(-) delete mode 100644 x-pack/plugins/observability_solution/slo/public/ui_actions/edit_slo_alerts_panel.tsx delete mode 100644 x-pack/plugins/observability_solution/slo/public/ui_actions/edit_slo_overview_panel.tsx diff --git a/x-pack/plugins/observability_solution/slo/public/embeddable/slo/alerts/slo_alerts_embeddable_factory.tsx b/x-pack/plugins/observability_solution/slo/public/embeddable/slo/alerts/slo_alerts_embeddable_factory.tsx index b70e1d8e4c40a..24c29a20f1e6f 100644 --- a/x-pack/plugins/observability_solution/slo/public/embeddable/slo/alerts/slo_alerts_embeddable_factory.tsx +++ b/x-pack/plugins/observability_solution/slo/public/embeddable/slo/alerts/slo_alerts_embeddable_factory.tsx @@ -21,8 +21,10 @@ import { KibanaContextProvider } from '@kbn/kibana-react-plugin/public'; import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; import { createBrowserHistory } from 'history'; import { Storage } from '@kbn/kibana-utils-plugin/public'; +import type { StartServicesAccessor } from '@kbn/core-lifecycle-browser'; import { SLO_ALERTS_EMBEDDABLE_ID } from './constants'; -import { SloEmbeddableDeps, SloAlertsEmbeddableState, SloAlertsApi } from './types'; +import { SloAlertsEmbeddableState, SloAlertsApi } from './types'; +import { SloPublicPluginsStart, SloPublicStart } from '../../../types'; import { SloAlertsWrapper } from './slo_alerts_wrapper'; const history = createBrowserHistory(); const queryClient = new QueryClient(); @@ -32,7 +34,10 @@ export const getAlertsPanelTitle = () => defaultMessage: 'SLO Alerts', }); -export function getAlertsEmbeddableFactory(deps: SloEmbeddableDeps, kibanaVersion: string) { +export function getAlertsEmbeddableFactory( + getStartServices: StartServicesAccessor, + kibanaVersion: string +) { const factory: ReactEmbeddableFactory< SloAlertsEmbeddableState, SloAlertsEmbeddableState, @@ -43,6 +48,23 @@ export function getAlertsEmbeddableFactory(deps: SloEmbeddableDeps, kibanaVersio return state.rawState as SloAlertsEmbeddableState; }, buildEmbeddable: async (state, buildApi, uuid, parentApi) => { + const [coreStart, pluginStart] = await getStartServices(); + const deps = { ...coreStart, ...pluginStart }; + async function onEdit() { + try { + const { openSloConfiguration } = await import('./slo_alerts_open_configuration'); + + const result = await openSloConfiguration( + coreStart, + pluginStart, + api.getSloAlertsConfig() + ); + api.updateSloAlertsConfig(result); + } catch (e) { + return Promise.reject(); + } + } + const { titlesApi, titleComparators, serializeTitles } = initializeTitles(state); const defaultTitle$ = new BehaviorSubject(getAlertsPanelTitle()); const slos$ = new BehaviorSubject(state.slos); @@ -52,6 +74,14 @@ export function getAlertsEmbeddableFactory(deps: SloEmbeddableDeps, kibanaVersio { ...titlesApi, defaultPanelTitle: defaultTitle$, + getTypeDisplayName: () => + i18n.translate('xpack.slo.editSloAlertswEmbeddable.typeDisplayName', { + defaultMessage: 'configuration', + }), + isEditingEnabled: () => true, + onEdit: async () => { + onEdit(); + }, serializeState: () => { return { rawState: { @@ -116,7 +146,7 @@ export function getAlertsEmbeddableFactory(deps: SloEmbeddableDeps, kibanaVersio void; reloadSubject: Subject; showAllGroupByInstances?: boolean; + onEdit: () => void; } export function SloAlertsWrapper({ - embeddable, slos, deps, timeRange: initialTimeRange, onRenderComplete, reloadSubject, showAllGroupByInstances, + onEdit, }: Props) { const { application: { navigateToUrl }, @@ -102,11 +99,7 @@ export function SloAlertsWrapper({ { - const trigger = deps.uiActions.getTrigger(CONTEXT_MENU_TRIGGER); - deps.uiActions.getAction(EDIT_SLO_ALERTS_ACTION).execute({ - trigger, - embeddable, - } as ActionExecutionContext); + onEdit(); }} data-test-subj="o11ySloAlertsWrapperSlOsIncludedLink" > diff --git a/x-pack/plugins/observability_solution/slo/public/embeddable/slo/alerts/types.ts b/x-pack/plugins/observability_solution/slo/public/embeddable/slo/alerts/types.ts index 8b660442ca7b6..7682c3f55bedf 100644 --- a/x-pack/plugins/observability_solution/slo/public/embeddable/slo/alerts/types.ts +++ b/x-pack/plugins/observability_solution/slo/public/embeddable/slo/alerts/types.ts @@ -24,6 +24,7 @@ import { PublishesWritablePanelTitle, PublishesPanelTitle, EmbeddableApiContext, + HasEditCapabilities, } from '@kbn/presentation-publishing'; export interface SloItem { @@ -45,7 +46,8 @@ export type SloAlertsEmbeddableState = SerializedTitles & EmbeddableSloProps; export type SloAlertsApi = DefaultEmbeddableApi & PublishesWritablePanelTitle & PublishesPanelTitle & - HasSloAlertsConfig; + HasSloAlertsConfig & + HasEditCapabilities; export interface HasSloAlertsConfig { getSloAlertsConfig: () => EmbeddableSloProps; diff --git a/x-pack/plugins/observability_solution/slo/public/embeddable/slo/overview/slo_embeddable_factory.tsx b/x-pack/plugins/observability_solution/slo/public/embeddable/slo/overview/slo_embeddable_factory.tsx index 861909b040e9a..2d043e85df4d4 100644 --- a/x-pack/plugins/observability_solution/slo/public/embeddable/slo/overview/slo_embeddable_factory.tsx +++ b/x-pack/plugins/observability_solution/slo/public/embeddable/slo/overview/slo_embeddable_factory.tsx @@ -8,7 +8,7 @@ import { i18n } from '@kbn/i18n'; import React, { useEffect } from 'react'; import styled from 'styled-components'; -import { EuiFlexItem, EuiLink, EuiFlexGroup } from '@elastic/eui'; +import { EuiFlexItem, EuiFlexGroup } from '@elastic/eui'; import { ReactEmbeddableFactory } from '@kbn/embeddable-plugin/public'; import { initializeTitles, @@ -16,26 +16,22 @@ import { fetch$, } from '@kbn/presentation-publishing'; import { BehaviorSubject, Subject } from 'rxjs'; -import { CONTEXT_MENU_TRIGGER } from '@kbn/embeddable-plugin/public'; -import { ActionExecutionContext } from '@kbn/ui-actions-plugin/public'; +import type { StartServicesAccessor } from '@kbn/core-lifecycle-browser'; import { SLO_OVERVIEW_EMBEDDABLE_ID } from './constants'; import { SloCardChartList } from './slo_overview_grid'; import { SloOverview } from './slo_overview'; import { GroupSloView } from './group_view/group_view'; -import { - SloOverviewEmbeddableState, - SloEmbeddableDeps, - SloOverviewApi, - GroupSloCustomInput, -} from './types'; -import { EDIT_SLO_OVERVIEW_ACTION } from '../../../ui_actions/edit_slo_overview_panel'; +import { SloOverviewEmbeddableState, SloOverviewApi, GroupSloCustomInput } from './types'; +import { SloPublicPluginsStart, SloPublicStart } from '../../../types'; import { SloEmbeddableContext } from '../common/slo_embeddable_context'; export const getOverviewPanelTitle = () => i18n.translate('xpack.slo.sloEmbeddable.displayName', { defaultMessage: 'SLO Overview', }); -export const getOverviewEmbeddableFactory = (deps: SloEmbeddableDeps) => { +export const getOverviewEmbeddableFactory = ( + getStartServices: StartServicesAccessor +) => { const factory: ReactEmbeddableFactory< SloOverviewEmbeddableState, SloOverviewEmbeddableState, @@ -46,6 +42,22 @@ export const getOverviewEmbeddableFactory = (deps: SloEmbeddableDeps) => { return state.rawState as SloOverviewEmbeddableState; }, buildEmbeddable: async (state, buildApi, uuid, parentApi) => { + const [coreStart, pluginStart] = await getStartServices(); + const deps = { ...coreStart, ...pluginStart }; + async function onEdit() { + try { + const { openSloConfiguration } = await import('./slo_overview_open_configuration'); + + const result = await openSloConfiguration( + coreStart, + pluginStart, + api.getSloGroupOverviewConfig() + ); + api.updateSloGroupOverviewConfig(result as GroupSloCustomInput); + } catch (e) { + return Promise.reject(); + } + } const { titlesApi, titleComparators, serializeTitles } = initializeTitles(state); const defaultTitle$ = new BehaviorSubject(getOverviewPanelTitle()); const sloId$ = new BehaviorSubject(state.sloId); @@ -60,6 +72,14 @@ export const getOverviewEmbeddableFactory = (deps: SloEmbeddableDeps) => { { ...titlesApi, defaultPanelTitle: defaultTitle$, + getTypeDisplayName: () => + i18n.translate('xpack.slo.editSloOverviewEmbeddableTitle.typeDisplayName', { + defaultMessage: 'criteria', + }), + isEditingEnabled: () => api.getSloGroupOverviewConfig().overviewMode === 'groups', + onEdit: async () => { + onEdit(); + }, serializeState: () => { return { rawState: { @@ -134,42 +154,22 @@ export const getOverviewEmbeddableFactory = (deps: SloEmbeddableDeps) => { const groups = groupFilters?.groups ?? []; return ( - - - { - const trigger = deps.uiActions.getTrigger(CONTEXT_MENU_TRIGGER); - deps.uiActions.getAction(EDIT_SLO_OVERVIEW_ACTION).execute({ - trigger, - embeddable: api, - } as ActionExecutionContext); - }} - data-test-subj="o11ySloOverviewEditCriteriaLink" - > - {i18n.translate('xpack.slo.overviewEmbeddable.editCriteriaLabel', { - defaultMessage: 'Edit criteria', - })} - + + + - - - ); } else { diff --git a/x-pack/plugins/observability_solution/slo/public/embeddable/slo/overview/types.ts b/x-pack/plugins/observability_solution/slo/public/embeddable/slo/overview/types.ts index 8773fba3e0998..c64faff1f110d 100644 --- a/x-pack/plugins/observability_solution/slo/public/embeddable/slo/overview/types.ts +++ b/x-pack/plugins/observability_solution/slo/public/embeddable/slo/overview/types.ts @@ -8,6 +8,7 @@ import { SerializedTitles, PublishesWritablePanelTitle, PublishesPanelTitle, + HasEditCapabilities, } from '@kbn/presentation-publishing'; import type { EmbeddableApiContext } from '@kbn/presentation-publishing'; import { DefaultEmbeddableApi } from '@kbn/embeddable-plugin/public'; @@ -53,7 +54,8 @@ export type SloOverviewEmbeddableState = SerializedTitles & export type SloOverviewApi = DefaultEmbeddableApi & PublishesWritablePanelTitle & PublishesPanelTitle & - HasSloGroupOverviewConfig; + HasSloGroupOverviewConfig & + HasEditCapabilities; export interface HasSloGroupOverviewConfig { getSloGroupOverviewConfig: () => GroupSloCustomInput; diff --git a/x-pack/plugins/observability_solution/slo/public/plugin.ts b/x-pack/plugins/observability_solution/slo/public/plugin.ts index e387a7f85a7e3..5bdd830830fd6 100644 --- a/x-pack/plugins/observability_solution/slo/public/plugin.ts +++ b/x-pack/plugins/observability_solution/slo/public/plugin.ts @@ -108,24 +108,21 @@ export class SloPlugin pluginsSetup.embeddable.registerReactEmbeddableFactory( SLO_OVERVIEW_EMBEDDABLE_ID, async () => { - const deps = { ...coreStart, ...pluginsStart }; const { getOverviewEmbeddableFactory } = await import( './embeddable/slo/overview/slo_embeddable_factory' ); - return getOverviewEmbeddableFactory(deps); + return getOverviewEmbeddableFactory(coreSetup.getStartServices); } ); pluginsSetup.embeddable.registerReactEmbeddableFactory( SLO_ALERTS_EMBEDDABLE_ID, async () => { - const deps = { ...coreStart, ...pluginsStart }; - const { getAlertsEmbeddableFactory } = await import( './embeddable/slo/alerts/slo_alerts_embeddable_factory' ); - return getAlertsEmbeddableFactory(deps, kibanaVersion); + return getAlertsEmbeddableFactory(coreSetup.getStartServices, kibanaVersion); } ); diff --git a/x-pack/plugins/observability_solution/slo/public/ui_actions/edit_slo_alerts_panel.tsx b/x-pack/plugins/observability_solution/slo/public/ui_actions/edit_slo_alerts_panel.tsx deleted file mode 100644 index ce9b4d196ffb5..0000000000000 --- a/x-pack/plugins/observability_solution/slo/public/ui_actions/edit_slo_alerts_panel.tsx +++ /dev/null @@ -1,75 +0,0 @@ -/* - * 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; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { i18n } from '@kbn/i18n'; -import { ViewMode } from '@kbn/embeddable-plugin/common'; -import type { CoreSetup } from '@kbn/core/public'; -import { - apiCanAccessViewMode, - apiHasType, - apiIsOfType, - EmbeddableApiContext, - getInheritedViewMode, - CanAccessViewMode, - HasType, -} from '@kbn/presentation-publishing'; -import { type UiActionsActionDefinition } from '@kbn/ui-actions-plugin/public'; -import { SLO_ALERTS_EMBEDDABLE_ID } from '../embeddable/slo/alerts/constants'; -import { SloPublicPluginsStart, SloPublicStart } from '..'; -import { - HasSloAlertsConfig, - SloAlertsEmbeddableActionContext, -} from '../embeddable/slo/alerts/types'; -export const EDIT_SLO_ALERTS_ACTION = 'editSloAlertsPanelAction'; -type EditSloAlertsPanelApi = CanAccessViewMode & HasType & HasSloAlertsConfig; -const isEditSloAlertsPanelApi = (api: unknown): api is EditSloAlertsPanelApi => - Boolean( - apiHasType(api) && - apiIsOfType(api, SLO_ALERTS_EMBEDDABLE_ID) && - apiCanAccessViewMode(api) && - getInheritedViewMode(api) === ViewMode.EDIT - ); - -export function createEditSloAlertsPanelAction( - getStartServices: CoreSetup['getStartServices'] -): UiActionsActionDefinition { - return { - id: EDIT_SLO_ALERTS_ACTION, - type: EDIT_SLO_ALERTS_ACTION, - getIconType(): string { - return 'pencil'; - }, - getDisplayName: () => - i18n.translate('xpack.slo.actions.editSloAlertsEmbeddableTitle', { - defaultMessage: 'Edit configuration', - }), - async execute({ embeddable }) { - if (!embeddable) { - throw new Error('Not possible to execute an action without the embeddable context'); - } - - const [coreStart, pluginStart] = await getStartServices(); - - try { - const { openSloConfiguration } = await import( - '../embeddable/slo/alerts/slo_alerts_open_configuration' - ); - - const result = await openSloConfiguration( - coreStart, - pluginStart, - embeddable.getSloAlertsConfig() - ); - embeddable.updateSloAlertsConfig(result); - } catch (e) { - return Promise.reject(); - } - }, - isCompatible: async ({ embeddable }: EmbeddableApiContext) => - isEditSloAlertsPanelApi(embeddable), - }; -} diff --git a/x-pack/plugins/observability_solution/slo/public/ui_actions/edit_slo_overview_panel.tsx b/x-pack/plugins/observability_solution/slo/public/ui_actions/edit_slo_overview_panel.tsx deleted file mode 100644 index 55f5c9b6feb0d..0000000000000 --- a/x-pack/plugins/observability_solution/slo/public/ui_actions/edit_slo_overview_panel.tsx +++ /dev/null @@ -1,86 +0,0 @@ -/* - * 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; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { i18n } from '@kbn/i18n'; -import { ViewMode } from '@kbn/embeddable-plugin/common'; -import type { CoreSetup } from '@kbn/core/public'; -import { - apiCanAccessViewMode, - apiHasType, - apiIsOfType, - EmbeddableApiContext, - getInheritedViewMode, - CanAccessViewMode, - HasType, -} from '@kbn/presentation-publishing'; -import { - type UiActionsActionDefinition, - IncompatibleActionError, -} from '@kbn/ui-actions-plugin/public'; -import { SLO_EMBEDDABLE } from '../embeddable/slo/constants'; -import { SloPublicPluginsStart, SloPublicStart } from '..'; -import { - GroupSloCustomInput, - HasSloGroupOverviewConfig, - SloOverviewEmbeddableActionContext, - apiHasSloGroupOverviewConfig, -} from '../embeddable/slo/overview/types'; - -export const EDIT_SLO_OVERVIEW_ACTION = 'editSloOverviewPanelAction'; -type EditSloOverviewPanelApi = CanAccessViewMode & HasType & HasSloGroupOverviewConfig; -const isEditSloOverviewPanelApi = (api: unknown): api is EditSloOverviewPanelApi => - Boolean( - apiHasType(api) && - apiIsOfType(api, SLO_EMBEDDABLE) && - apiCanAccessViewMode(api) && - getInheritedViewMode(api) === ViewMode.EDIT - ); - -export function createEditSloOverviewPanelAction( - getStartServices: CoreSetup['getStartServices'] -): UiActionsActionDefinition { - return { - id: EDIT_SLO_OVERVIEW_ACTION, - type: EDIT_SLO_OVERVIEW_ACTION, - getIconType(): string { - return 'pencil'; - }, - getDisplayName: () => - i18n.translate('xpack.slo.actions.editSloOverviewEmbeddableTitle', { - defaultMessage: 'Edit criteria', - }), - async execute(context) { - const { embeddable } = context; - if (!apiHasSloGroupOverviewConfig(embeddable)) { - throw new IncompatibleActionError(); - } - - const [coreStart, pluginStart] = await getStartServices(); - - try { - const { openSloConfiguration } = await import( - '../embeddable/slo/overview/slo_overview_open_configuration' - ); - - const result = await openSloConfiguration( - coreStart, - pluginStart, - embeddable.getSloGroupOverviewConfig() - ); - embeddable.updateSloGroupOverviewConfig(result as GroupSloCustomInput); - } catch (e) { - return Promise.reject(); - } - }, - isCompatible: async ({ embeddable }: EmbeddableApiContext) => { - return ( - isEditSloOverviewPanelApi(embeddable) && - embeddable.getSloGroupOverviewConfig().overviewMode === 'groups' - ); - }, - }; -} diff --git a/x-pack/plugins/observability_solution/slo/public/ui_actions/index.ts b/x-pack/plugins/observability_solution/slo/public/ui_actions/index.ts index 76862a3afe90d..61c1569f1a9d7 100644 --- a/x-pack/plugins/observability_solution/slo/public/ui_actions/index.ts +++ b/x-pack/plugins/observability_solution/slo/public/ui_actions/index.ts @@ -6,10 +6,7 @@ */ import type { UiActionsSetup } from '@kbn/ui-actions-plugin/public'; -import { CONTEXT_MENU_TRIGGER } from '@kbn/embeddable-plugin/public'; import type { CoreSetup } from '@kbn/core/public'; -import { createEditSloAlertsPanelAction } from './edit_slo_alerts_panel'; -import { createEditSloOverviewPanelAction } from './edit_slo_overview_panel'; import { createOverviewPanelAction } from './create_overview_panel_action'; import { createAddErrorBudgetPanelAction } from './create_error_budget_action'; import { createAddAlertsPanelAction } from './create_alerts_panel_action'; @@ -20,15 +17,11 @@ export function registerSloUiActions( core: CoreSetup ) { // Initialize actions - const editSloAlertsPanelAction = createEditSloAlertsPanelAction(core.getStartServices); - const editSloOverviewPanelAction = createEditSloOverviewPanelAction(core.getStartServices); const addOverviewPanelAction = createOverviewPanelAction(core.getStartServices); const addErrorBudgetPanelAction = createAddErrorBudgetPanelAction(core.getStartServices); const addAlertsPanelAction = createAddAlertsPanelAction(core.getStartServices); // Assign triggers - uiActions.addTriggerAction(CONTEXT_MENU_TRIGGER, editSloAlertsPanelAction); - uiActions.addTriggerAction(CONTEXT_MENU_TRIGGER, editSloOverviewPanelAction); uiActions.addTriggerAction('ADD_PANEL_TRIGGER', addOverviewPanelAction); uiActions.addTriggerAction('ADD_PANEL_TRIGGER', addErrorBudgetPanelAction); uiActions.addTriggerAction('ADD_PANEL_TRIGGER', addAlertsPanelAction); From 385bb2b35b47d63278c106bdce9d9ca1be3c2845 Mon Sep 17 00:00:00 2001 From: Saikat Sarkar <132922331+saikatsarkar056@users.noreply.github.com> Date: Fri, 21 Jun 2024 05:33:48 -0600 Subject: [PATCH 15/80] [Semantic Text UI] Display semantic_text based on licensing (#185902) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR includes changes related to displaying semantic_text based on the ml operations capacity of the users. The PR includes the following changes: - Display a banner based on the user's capacity to run ML operations. - Display semantic_text if the user has the capacity to run ML operations; otherwise, hide the semantic_text field. ### Trial License Screenshot 2024-06-10 at 4 06 16 PM ### Basic License Screenshot 2024-06-10 at 4 00 56 PM ### Serverless Screenshot 2024-06-10 at 3 52 19 PM # How to test - Enable semantic_text in config/kibana.yml. `xpack.index_management.dev.enableSemanticText: true` - For Basic license, we can run elastic_search using: `yarn es snapshot` - For Trial license, we can run elastic_seach using: `yarn es snapshot --license trial` - For serverless, we can run elastic_search using: `yarn es serverless --projectType es` --- .../index_details_page.test.tsx | 15 +++++ .../semantic_text_bannner.test.tsx | 17 +++++- x-pack/plugins/index_management/kibana.jsonc | 2 +- .../public/application/app_context.tsx | 2 + .../application/mount_management_section.ts | 1 + .../details_page_mappings_content.tsx | 40 +++++++++++--- .../details_page/semantic_text_banner.tsx | 55 ++++++++++++++----- .../plugins/index_management/public/plugin.ts | 3 +- .../plugins/index_management/public/types.ts | 2 + 9 files changed, 112 insertions(+), 25 deletions(-) diff --git a/x-pack/plugins/index_management/__jest__/client_integration/index_details_page/index_details_page.test.tsx b/x-pack/plugins/index_management/__jest__/client_integration/index_details_page/index_details_page.test.tsx index 18f43807041ff..c79efbbf53f53 100644 --- a/x-pack/plugins/index_management/__jest__/client_integration/index_details_page/index_details_page.test.tsx +++ b/x-pack/plugins/index_management/__jest__/client_integration/index_details_page/index_details_page.test.tsx @@ -647,6 +647,10 @@ describe('', () => { }); describe('Add Semantic text field', () => { const customInferenceModel = 'my-elser-model'; + const mockLicense = { + isActive: true, + hasAtLeast: jest.fn((type) => true), + }; beforeEach(async () => { httpRequestsMockHelpers.setInferenceModels({ data: [ @@ -674,7 +678,18 @@ describe('', () => { enterpriseSearch: '', }, }, + core: { + application: { capabilities: { ml: { canGetTrainedModels: true } } }, + }, plugins: { + licensing: { + license$: { + subscribe: jest.fn((callback) => { + callback(mockLicense); + return { unsubscribe: jest.fn() }; + }), + }, + }, ml: { mlApi: { trainedModels: { diff --git a/x-pack/plugins/index_management/__jest__/client_integration/index_details_page/semantic_text_bannner.test.tsx b/x-pack/plugins/index_management/__jest__/client_integration/index_details_page/semantic_text_bannner.test.tsx index 1370c328bf873..6be691a03d8f1 100644 --- a/x-pack/plugins/index_management/__jest__/client_integration/index_details_page/semantic_text_bannner.test.tsx +++ b/x-pack/plugins/index_management/__jest__/client_integration/index_details_page/semantic_text_bannner.test.tsx @@ -20,7 +20,7 @@ describe('When semantic_text is enabled', () => { getItemSpy = jest.spyOn(Storage.prototype, 'getItem'); setItemSpy = jest.spyOn(Storage.prototype, 'setItem'); const setup = registerTestBed(SemanticTextBanner, { - defaultProps: { isSemanticTextEnabled: true }, + defaultProps: { isSemanticTextEnabled: true, isPlatinumLicense: true }, memoryRouter: { wrapComponent: false }, }); const testBed = setup(); @@ -56,6 +56,21 @@ describe('When semantic_text is enabled', () => { }); }); +describe('when user does not have ML permissions', () => { + const setupWithNoMlPermission = registerTestBed(SemanticTextBanner, { + defaultProps: { isSemanticTextEnabled: true, isPlatinumLicense: false }, + memoryRouter: { wrapComponent: false }, + }); + + const { find } = setupWithNoMlPermission(); + + it('should contain content related to semantic_text', () => { + expect(find('indexDetailsMappingsSemanticTextBanner').text()).toContain( + 'Semantic text now available for platinum license' + ); + }); +}); + describe('When semantic_text is disabled', () => { const setup = registerTestBed(SemanticTextBanner, { defaultProps: { isSemanticTextEnabled: false }, diff --git a/x-pack/plugins/index_management/kibana.jsonc b/x-pack/plugins/index_management/kibana.jsonc index 84e4a6221c502..b9bec8115e019 100644 --- a/x-pack/plugins/index_management/kibana.jsonc +++ b/x-pack/plugins/index_management/kibana.jsonc @@ -8,7 +8,7 @@ "browser": true, "configPath": ["xpack", "index_management"], "requiredPlugins": ["home", "management", "features", "share"], - "optionalPlugins": ["security", "usageCollection", "fleet", "cloud", "ml", "console"], + "optionalPlugins": ["security", "usageCollection", "fleet", "cloud", "ml", "console","licensing"], "requiredBundles": ["kibanaReact", "esUiShared", "runtimeFields"] } } diff --git a/x-pack/plugins/index_management/public/application/app_context.tsx b/x-pack/plugins/index_management/public/application/app_context.tsx index 964a0e098c15e..c5e80263a7fea 100644 --- a/x-pack/plugins/index_management/public/application/app_context.tsx +++ b/x-pack/plugins/index_management/public/application/app_context.tsx @@ -26,6 +26,7 @@ import type { CloudSetup } from '@kbn/cloud-plugin/public'; import type { ConsolePluginStart } from '@kbn/console-plugin/public'; import { EuiBreadcrumb } from '@elastic/eui'; +import { LicensingPluginStart } from '@kbn/licensing-plugin/public'; import { ExtensionsService } from '../services'; import { HttpService, NotificationService, UiMetricService } from './services'; import { IndexManagementBreadcrumb } from './services/breadcrumbs'; @@ -48,6 +49,7 @@ export interface AppDependencies { share: SharePluginStart; cloud?: CloudSetup; console?: ConsolePluginStart; + licensing?: LicensingPluginStart; ml?: MlPluginStart; }; services: { diff --git a/x-pack/plugins/index_management/public/application/mount_management_section.ts b/x-pack/plugins/index_management/public/application/mount_management_section.ts index 76c3dd6cd7a23..d0cd5b07eab0f 100644 --- a/x-pack/plugins/index_management/public/application/mount_management_section.ts +++ b/x-pack/plugins/index_management/public/application/mount_management_section.ts @@ -83,6 +83,7 @@ export function getIndexManagementDependencies({ cloud, console: startDependencies.console, ml: startDependencies.ml, + licensing: startDependencies.licensing, }, services: { httpService, diff --git a/x-pack/plugins/index_management/public/application/sections/home/index_list/details_page/details_page_mappings_content.tsx b/x-pack/plugins/index_management/public/application/sections/home/index_list/details_page/details_page_mappings_content.tsx index b8d2e3a5dc59f..effa53f717cde 100644 --- a/x-pack/plugins/index_management/public/application/sections/home/index_list/details_page/details_page_mappings_content.tsx +++ b/x-pack/plugins/index_management/public/application/sections/home/index_list/details_page/details_page_mappings_content.tsx @@ -27,6 +27,7 @@ import { css } from '@emotion/react'; import { i18n } from '@kbn/i18n'; import { FormattedMessage } from '@kbn/i18n-react'; import React, { FunctionComponent, useCallback, useEffect, useMemo, useState } from 'react'; +import { ILicense } from '@kbn/licensing-plugin/public'; import { Index } from '../../../../../../common'; import { useDetailsPageMappingsModelManagement } from '../../../../../hooks/use_details_page_mappings_model_management'; import { useAppContext } from '../../../../app_context'; @@ -65,17 +66,33 @@ export const DetailsPageMappingsContent: FunctionComponent<{ }> = ({ index, data, jsonData, refetchMapping, showAboutMappings }) => { const { services: { extensionsService }, - core: { getUrlForApp }, - plugins: { ml }, + core: { + getUrlForApp, + application: { capabilities }, + }, + plugins: { ml, licensing }, url, config, } = useAppContext(); + + const [isPlatinumLicense, setIsPlatinumLicense] = useState(false); + useEffect(() => { + const subscription = licensing?.license$.subscribe((license: ILicense) => { + setIsPlatinumLicense(license.isActive && license.hasAtLeast('platinum')); + }); + + return () => subscription?.unsubscribe(); + }, [licensing]); + const { enableSemanticText: isSemanticTextEnabled } = config; const [errorsInTrainedModelDeployment, setErrorsInTrainedModelDeployment] = useState( [] ); + + const hasMLPermissions = capabilities?.ml?.canGetTrainedModels ? true : false; + const semanticTextInfo = { - isSemanticTextEnabled, + isSemanticTextEnabled: isSemanticTextEnabled && hasMLPermissions && isPlatinumLicense, indexName: index.name, ml, setErrorsInTrainedModelDeployment, @@ -164,7 +181,7 @@ export const DetailsPageMappingsContent: FunctionComponent<{ const [isModalVisible, setIsModalVisible] = useState(false); useEffect(() => { - if (!isSemanticTextEnabled) { + if (!isSemanticTextEnabled || !hasMLPermissions) { return; } @@ -182,15 +199,19 @@ export const DetailsPageMappingsContent: FunctionComponent<{ return; } + if (!hasMLPermissions) { + return; + } + await fetchInferenceToModelIdMap(); } catch (exception) { setSaveMappingError(exception.message); } - }, [fetchInferenceToModelIdMap, isSemanticTextEnabled]); + }, [fetchInferenceToModelIdMap, isSemanticTextEnabled, hasMLPermissions]); const updateMappings = useCallback(async () => { try { - if (isSemanticTextEnabled) { + if (isSemanticTextEnabled && hasMLPermissions) { await fetchInferenceToModelIdMap(); if (pendingDeployments.length > 0) { @@ -487,7 +508,12 @@ export const DetailsPageMappingsContent: FunctionComponent<{ - + {hasMLPermissions && ( + + )} {errorSavingMappings} {isAddingFields && ( diff --git a/x-pack/plugins/index_management/public/application/sections/home/index_list/details_page/semantic_text_banner.tsx b/x-pack/plugins/index_management/public/application/sections/home/index_list/details_page/semantic_text_banner.tsx index 6eb388a7d4545..0773069754483 100644 --- a/x-pack/plugins/index_management/public/application/sections/home/index_list/details_page/semantic_text_banner.tsx +++ b/x-pack/plugins/index_management/public/application/sections/home/index_list/details_page/semantic_text_banner.tsx @@ -11,9 +11,47 @@ import useLocalStorage from 'react-use/lib/useLocalStorage'; interface SemanticTextBannerProps { isSemanticTextEnabled: boolean; + isPlatinumLicense?: boolean; } -export function SemanticTextBanner({ isSemanticTextEnabled }: SemanticTextBannerProps) { +const defaultLicenseMessage = ( + + + + ), + }} + /> +); + +const platinumLicenseMessage = ( + + + + ), + }} + /> +); + +export function SemanticTextBanner({ + isSemanticTextEnabled, + isPlatinumLicense = false, +}: SemanticTextBannerProps) { const [isSemanticTextBannerDisplayable, setIsSemanticTextBannerDisplayable] = useLocalStorage('semantic-text-banner-display', true); @@ -23,20 +61,7 @@ export function SemanticTextBanner({ isSemanticTextEnabled }: SemanticTextBanner - - - - ), - }} - /> + {isPlatinumLicense ? platinumLicenseMessage : defaultLicenseMessage} diff --git a/x-pack/plugins/index_management/public/plugin.ts b/x-pack/plugins/index_management/public/plugin.ts index a94fca4f6198f..8314734a0bf61 100644 --- a/x-pack/plugins/index_management/public/plugin.ts +++ b/x-pack/plugins/index_management/public/plugin.ts @@ -112,7 +112,7 @@ export class IndexMgmtUIPlugin } public start(coreStart: CoreStart, plugins: StartDependencies): IndexManagementPluginStart { - const { fleet, usageCollection, cloud, share, console, ml } = plugins; + const { fleet, usageCollection, cloud, share, console, ml, licensing } = plugins; return { extensionsService: this.extensionsService.setup(), getIndexMappingComponent: (deps: { history: ScopedHistory }) => { @@ -134,6 +134,7 @@ export class IndexMgmtUIPlugin cloud, console, ml, + licensing, }, services: { extensionsService: this.extensionsService, diff --git a/x-pack/plugins/index_management/public/types.ts b/x-pack/plugins/index_management/public/types.ts index 30df6157abd8b..634023efb70e0 100644 --- a/x-pack/plugins/index_management/public/types.ts +++ b/x-pack/plugins/index_management/public/types.ts @@ -17,6 +17,7 @@ import { ManagementSetup } from '@kbn/management-plugin/public'; import { MlPluginStart } from '@kbn/ml-plugin/public'; import { SharePluginSetup, SharePluginStart } from '@kbn/share-plugin/public'; import { UsageCollectionSetup } from '@kbn/usage-collection-plugin/public'; +import { LicensingPluginStart } from '@kbn/licensing-plugin/public'; export interface IndexManagementStartServices { analytics: Pick; @@ -40,6 +41,7 @@ export interface StartDependencies { fleet?: unknown; usageCollection: UsageCollectionSetup; management: ManagementSetup; + licensing?: LicensingPluginStart; ml?: MlPluginStart; } From 55687dd53931e33f268085c0fdf578dd954a78e0 Mon Sep 17 00:00:00 2001 From: Nikita Indik Date: Fri, 21 Jun 2024 14:05:55 +0200 Subject: [PATCH 16/80] [Security Solution] `DetectionRulesClient`: return `RuleResponse` from all methods (#186179) **Partially addresses: https://github.com/elastic/kibana/issues/184364** ## Summary This PR is a follow-up to [PR #185748](https://github.com/elastic/kibana/pull/185748) and it converts the remaining `DetectionRulesClient` methods to return `RuleResponse`. Changes in this PR: - These methods now return `RuleResponse` instead of internal `RuleAlertType` type: - `updateRule` - `patchRule` - `upgradePrebuiltRule` - `importRule` --- .../perform_rule_upgrade_route.ts | 3 +- .../api/rules/bulk_patch_rules/route.test.ts | 19 +++---- .../api/rules/bulk_patch_rules/route.ts | 5 +- .../api/rules/bulk_update_rules/route.test.ts | 3 +- .../api/rules/bulk_update_rules/route.ts | 5 +- .../api/rules/import_rules/route.test.ts | 4 +- .../api/rules/patch_rule/route.test.ts | 20 +++---- .../api/rules/patch_rule/route.ts | 5 +- .../api/rules/update_rule/route.test.ts | 3 +- .../api/rules/update_rule/route.ts | 6 +-- ...on_rules_client.create_custom_rule.test.ts | 16 ------ ...detection_rules_client.import_rule.test.ts | 2 + .../detection_rules_client.ts | 9 ++-- ...rules_client.upgrade_prebuilt_rule.test.ts | 6 ++- .../detection_rules_client_interface.ts | 9 ++-- .../methods/create_custom_rule.ts | 8 +-- .../methods/create_prebuilt_rule.ts | 8 +-- .../methods/import_rule.ts | 54 +++++++++++++------ .../methods/patch_rule.ts | 41 ++++++++++---- .../methods/update_rule.ts | 39 +++++++++++--- .../methods/upgrade_prebuilt_rule.ts | 41 +++++++++----- .../logic/detection_rules_client/utils.ts | 10 +++- .../logic/import/import_rules_utils.test.ts | 34 ++++++------ .../logic/import/import_rules_utils.ts | 2 +- .../rule_management/utils/validate.test.ts | 19 +------ .../rule_management/utils/validate.ts | 6 --- 26 files changed, 218 insertions(+), 159 deletions(-) diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/prebuilt_rules/api/perform_rule_upgrade/perform_rule_upgrade_route.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/prebuilt_rules/api/perform_rule_upgrade/perform_rule_upgrade_route.ts index 33968f6e56fc9..0d1693a69806e 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/prebuilt_rules/api/perform_rule_upgrade/perform_rule_upgrade_route.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/prebuilt_rules/api/perform_rule_upgrade/perform_rule_upgrade_route.ts @@ -21,7 +21,6 @@ import type { SecuritySolutionPluginRouter } from '../../../../../types'; import { buildRouteValidation } from '../../../../../utils/build_validation/route_validation'; import type { PromisePoolError } from '../../../../../utils/promise_pool'; import { buildSiemResponse } from '../../../routes/utils'; -import { internalRuleToAPIResponse } from '../../../rule_management/normalization/rule_converters'; import { aggregatePrebuiltRuleErrors } from '../../logic/aggregate_prebuilt_rule_errors'; import { performTimelinesInstallation } from '../../logic/perform_timelines_installation'; import { createPrebuiltRuleAssetsClient } from '../../logic/rule_assets/prebuilt_rule_assets_client'; @@ -182,7 +181,7 @@ export const performRuleUpgradeRoute = (router: SecuritySolutionPluginRouter) => failed: ruleErrors.length, }, results: { - updated: updatedRules.map(({ result }) => internalRuleToAPIResponse(result)), + updated: updatedRules.map(({ result }) => result), skipped: skippedRules, }, errors: allErrors, diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/api/rules/bulk_patch_rules/route.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/api/rules/bulk_patch_rules/route.test.ts index 7bda64e6a30d8..c6a2ef1b83d8c 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/api/rules/bulk_patch_rules/route.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/api/rules/bulk_patch_rules/route.test.ts @@ -17,6 +17,10 @@ import { typicalMlRulePayload, } from '../../../../routes/__mocks__/request_responses'; import { serverMock, requestContextMock, requestMock } from '../../../../routes/__mocks__'; +import { + getRulesSchemaMock, + getRulesMlSchemaMock, +} from '../../../../../../../common/api/detection_engine/model/rule_schema/rule_response_schema.mock'; import { bulkPatchRulesRoute } from './route'; import { getCreateRulesSchemaMock } from '../../../../../../../common/api/detection_engine/model/rule_schema/mocks'; import { getMlRuleParams, getQueryRuleParams } from '../../../../rule_schema/mocks'; @@ -34,7 +38,7 @@ describe('Bulk patch rules route', () => { clients.rulesClient.find.mockResolvedValue(getFindResultWithSingleHit()); // rule exists clients.rulesClient.update.mockResolvedValue(getRuleMock(getQueryRuleParams())); // update succeeds - clients.detectionRulesClient.patchRule.mockResolvedValue(getRuleMock(getQueryRuleParams())); + clients.detectionRulesClient.patchRule.mockResolvedValue(getRulesSchemaMock()); bulkPatchRulesRoute(server.router, logger); }); @@ -72,14 +76,11 @@ describe('Bulk patch rules route', () => { ...getFindResultWithSingleHit(), data: [getRuleMock(getMlRuleParams())], }); - clients.detectionRulesClient.patchRule.mockResolvedValueOnce( - getRuleMock( - getMlRuleParams({ - anomalyThreshold, - machineLearningJobId: [machineLearningJobId], - }) - ) - ); + clients.detectionRulesClient.patchRule.mockResolvedValueOnce({ + ...getRulesMlSchemaMock(), + anomaly_threshold: anomalyThreshold, + machine_learning_job_id: [machineLearningJobId], + }); const request = requestMock.create({ method: 'patch', diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/api/rules/bulk_patch_rules/route.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/api/rules/bulk_patch_rules/route.ts index aa06c04db0619..3b16ba5fa4742 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/api/rules/bulk_patch_rules/route.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/api/rules/bulk_patch_rules/route.ts @@ -17,7 +17,6 @@ import { import type { SecuritySolutionPluginRouter } from '../../../../../../types'; import { transformBulkError, buildSiemResponse } from '../../../../routes/utils'; import { getIdBulkError } from '../../../utils/utils'; -import { transformValidateBulkError } from '../../../utils/validate'; import { readRules } from '../../../logic/detection_rules_client/read_rules'; import { getDeprecatedBulkEndpointHeader, logDeprecatedBulkEndpoint } from '../../deprecation'; import { validateRuleDefaultExceptionList } from '../../../logic/exceptions/validate_rule_default_exception_list'; @@ -86,11 +85,11 @@ export const bulkPatchRulesRoute = (router: SecuritySolutionPluginRouter, logger ruleId: payloadRule.id, }); - const rule = await detectionRulesClient.patchRule({ + const patchedRule = await detectionRulesClient.patchRule({ nextParams: payloadRule, }); - return transformValidateBulkError(rule.id, rule); + return patchedRule; } catch (err) { return transformBulkError(idOrRuleIdOrUnknown, err); } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/api/rules/bulk_update_rules/route.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/api/rules/bulk_update_rules/route.test.ts index 5f2a89df6b7dd..ebdc1604346b5 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/api/rules/bulk_update_rules/route.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/api/rules/bulk_update_rules/route.test.ts @@ -14,6 +14,7 @@ import { typicalMlRulePayload, } from '../../../../routes/__mocks__/request_responses'; import { serverMock, requestContextMock, requestMock } from '../../../../routes/__mocks__'; +import { getRulesSchemaMock } from '../../../../../../../common/api/detection_engine/model/rule_schema/rule_response_schema.mock'; import { bulkUpdateRulesRoute } from './route'; import type { BulkError } from '../../../../routes/utils'; import { getCreateRulesSchemaMock } from '../../../../../../../common/api/detection_engine/model/rule_schema/mocks'; @@ -32,7 +33,7 @@ describe('Bulk update rules route', () => { clients.rulesClient.find.mockResolvedValue(getFindResultWithSingleHit()); clients.rulesClient.update.mockResolvedValue(getRuleMock(getQueryRuleParams())); - clients.detectionRulesClient.updateRule.mockResolvedValue(getRuleMock(getQueryRuleParams())); + clients.detectionRulesClient.updateRule.mockResolvedValue(getRulesSchemaMock()); clients.appClient.getSignalsIndex.mockReturnValue('.siem-signals-test-index'); bulkUpdateRulesRoute(server.router, logger); diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/api/rules/bulk_update_rules/route.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/api/rules/bulk_update_rules/route.ts index bae89a74ab0b1..fb95e7e452afd 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/api/rules/bulk_update_rules/route.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/api/rules/bulk_update_rules/route.ts @@ -16,7 +16,6 @@ import { import type { SecuritySolutionPluginRouter } from '../../../../../../types'; import { DETECTION_ENGINE_RULES_BULK_UPDATE } from '../../../../../../../common/constants'; import { getIdBulkError } from '../../../utils/utils'; -import { transformValidateBulkError } from '../../../utils/validate'; import { transformBulkError, buildSiemResponse, @@ -97,11 +96,11 @@ export const bulkUpdateRulesRoute = (router: SecuritySolutionPluginRouter, logge ruleId: payloadRule.id, }); - const rule = await detectionRulesClient.updateRule({ + const updatedRule = await detectionRulesClient.updateRule({ ruleUpdate: payloadRule, }); - return transformValidateBulkError(rule.id, rule); + return updatedRule; } catch (err) { return transformBulkError(idOrRuleIdOrUnknown, err); } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/api/rules/import_rules/route.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/api/rules/import_rules/route.test.ts index 182e9bb8d92b7..123b39a588c59 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/api/rules/import_rules/route.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/api/rules/import_rules/route.test.ts @@ -12,6 +12,7 @@ import { ruleIdsToNdJsonString, rulesToNdJsonString, } from '../../../../../../../common/api/detection_engine/rule_management/mocks'; +import { getRulesSchemaMock } from '../../../../../../../common/api/detection_engine/model/rule_schema/rule_response_schema.mock'; import type { requestMock } from '../../../../routes/__mocks__'; import { createMockConfig, requestContextMock, serverMock } from '../../../../routes/__mocks__'; @@ -47,7 +48,8 @@ describe('Import rules route', () => { clients.rulesClient.find.mockResolvedValue(getEmptyFindResult()); // no extant rules clients.rulesClient.update.mockResolvedValue(getRuleMock(getQueryRuleParams())); - clients.detectionRulesClient.importRule.mockResolvedValue(getRuleMock(getQueryRuleParams())); + clients.detectionRulesClient.createCustomRule.mockResolvedValue(getRulesSchemaMock()); + clients.detectionRulesClient.importRule.mockResolvedValue(getRulesSchemaMock()); clients.actionsClient.getAll.mockResolvedValue([]); context.core.elasticsearch.client.asCurrentUser.search.mockResolvedValue( elasticsearchClientMock.createSuccessTransportRequestPromise(getBasicEmptySearchResponse()) diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/api/rules/patch_rule/route.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/api/rules/patch_rule/route.test.ts index c09eebec7689d..6352005acaca5 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/api/rules/patch_rule/route.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/api/rules/patch_rule/route.test.ts @@ -20,6 +20,11 @@ import { import { getMlRuleParams, getQueryRuleParams } from '../../../../rule_schema/mocks'; +import { + getRulesSchemaMock, + getRulesMlSchemaMock, +} from '../../../../../../../common/api/detection_engine/model/rule_schema/rule_response_schema.mock'; + import { patchRuleRoute } from './route'; import { HttpAuthzError } from '../../../../../machine_learning/validation'; @@ -34,7 +39,7 @@ describe('Patch rule route', () => { clients.rulesClient.get.mockResolvedValue(getRuleMock(getQueryRuleParams())); // existing rule clients.rulesClient.find.mockResolvedValue(getFindResultWithSingleHit()); // existing rule clients.rulesClient.update.mockResolvedValue(getRuleMock(getQueryRuleParams())); // successful update - clients.detectionRulesClient.patchRule.mockResolvedValue(getRuleMock(getQueryRuleParams())); + clients.detectionRulesClient.patchRule.mockResolvedValue(getRulesSchemaMock()); patchRuleRoute(server.router); }); @@ -99,14 +104,11 @@ describe('Patch rule route', () => { const anomalyThreshold = 4; const machineLearningJobId = 'some_job_id'; - clients.detectionRulesClient.patchRule.mockResolvedValueOnce( - getRuleMock( - getMlRuleParams({ - anomalyThreshold, - machineLearningJobId: [machineLearningJobId], - }) - ) - ); + clients.detectionRulesClient.patchRule.mockResolvedValueOnce({ + ...getRulesMlSchemaMock(), + anomaly_threshold: anomalyThreshold, + machine_learning_job_id: [machineLearningJobId], + }); const request = requestMock.create({ method: 'patch', diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/api/rules/patch_rule/route.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/api/rules/patch_rule/route.ts index 506b36d4441dc..0e508f43103d6 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/api/rules/patch_rule/route.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/api/rules/patch_rule/route.ts @@ -20,7 +20,6 @@ import { readRules } from '../../../logic/detection_rules_client/read_rules'; import { checkDefaultRuleExceptionListReferences } from '../../../logic/exceptions/check_for_default_rule_exception_list'; import { validateRuleDefaultExceptionList } from '../../../logic/exceptions/validate_rule_default_exception_list'; import { getIdError } from '../../../utils/utils'; -import { transformValidate } from '../../../utils/validate'; export const patchRuleRoute = (router: SecuritySolutionPluginRouter) => { router.versioned @@ -76,12 +75,12 @@ export const patchRuleRoute = (router: SecuritySolutionPluginRouter) => { ruleId: params.id, }); - const rule = await detectionRulesClient.patchRule({ + const patchedRule = await detectionRulesClient.patchRule({ nextParams: params, }); return response.ok({ - body: transformValidate(rule), + body: patchedRule, }); } catch (err) { const error = transformError(err); diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/api/rules/update_rule/route.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/api/rules/update_rule/route.test.ts index ff34f1a4c3e56..80db9f68a853b 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/api/rules/update_rule/route.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/api/rules/update_rule/route.test.ts @@ -13,6 +13,7 @@ import { typicalMlRulePayload, } from '../../../../routes/__mocks__/request_responses'; import { requestContextMock, serverMock, requestMock } from '../../../../routes/__mocks__'; +import { getRulesSchemaMock } from '../../../../../../../common/api/detection_engine/model/rule_schema/rule_response_schema.mock'; import { DETECTION_ENGINE_RULES_URL } from '../../../../../../../common/constants'; import { updateRuleRoute } from './route'; import { @@ -34,7 +35,7 @@ describe('Update rule route', () => { clients.rulesClient.get.mockResolvedValue(getRuleMock(getQueryRuleParams())); // existing rule clients.rulesClient.find.mockResolvedValue(getFindResultWithSingleHit()); // rule exists clients.rulesClient.update.mockResolvedValue(getRuleMock(getQueryRuleParams())); // successful update - clients.detectionRulesClient.updateRule.mockResolvedValue(getRuleMock(getQueryRuleParams())); + clients.detectionRulesClient.updateRule.mockResolvedValue(getRulesSchemaMock()); clients.appClient.getSignalsIndex.mockReturnValue('.siem-signals-test-index'); updateRuleRoute(server.router); diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/api/rules/update_rule/route.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/api/rules/update_rule/route.ts index 5e77fa64e1fb9..fb7a7a9e3197d 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/api/rules/update_rule/route.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/api/rules/update_rule/route.ts @@ -20,7 +20,7 @@ import { readRules } from '../../../logic/detection_rules_client/read_rules'; import { checkDefaultRuleExceptionListReferences } from '../../../logic/exceptions/check_for_default_rule_exception_list'; import { validateRuleDefaultExceptionList } from '../../../logic/exceptions/validate_rule_default_exception_list'; import { getIdError } from '../../../utils/utils'; -import { transformValidate, validateResponseActionsPermissions } from '../../../utils/validate'; +import { validateResponseActionsPermissions } from '../../../utils/validate'; export const updateRuleRoute = (router: SecuritySolutionPluginRouter) => { router.versioned @@ -80,12 +80,12 @@ export const updateRuleRoute = (router: SecuritySolutionPluginRouter) => { existingRule ); - const rule = await detectionRulesClient.updateRule({ + const updatedRule = await detectionRulesClient.updateRule({ ruleUpdate: request.body, }); return response.ok({ - body: transformValidate(rule), + body: updatedRule, }); } catch (err) { const error = transformError(err); diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/logic/detection_rules_client/detection_rules_client.create_custom_rule.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/logic/detection_rules_client/detection_rules_client.create_custom_rule.test.ts index 1cf4afecedb26..7aab6640a1b52 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/logic/detection_rules_client/detection_rules_client.create_custom_rule.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/logic/detection_rules_client/detection_rules_client.create_custom_rule.test.ts @@ -19,8 +19,6 @@ import { buildMlAuthz } from '../../../../machine_learning/authz'; import { throwAuthzError } from '../../../../machine_learning/validation'; import { createDetectionRulesClient } from './detection_rules_client'; import type { IDetectionRulesClient } from './detection_rules_client_interface'; -import { RuleResponseValidationError } from './utils'; -import type { RuleAlertType } from '../../../rule_schema'; jest.mock('../../../../machine_learning/authz'); jest.mock('../../../../machine_learning/validation'); @@ -70,20 +68,6 @@ describe('DetectionRulesClient.createCustomRule', () => { expect(rulesClient.create).not.toHaveBeenCalled(); }); - it('throws if RuleResponse validation fails', async () => { - const internalRuleMock: RuleAlertType = getRuleMock({ - ...getQueryRuleParams(), - /* Casting as 'query' suppress to TS error */ - type: 'fake-non-existent-type' as 'query', - }); - - rulesClient.create.mockResolvedValueOnce(internalRuleMock); - - await expect( - detectionRulesClient.createCustomRule({ params: getCreateMachineLearningRulesSchemaMock() }) - ).rejects.toThrow(RuleResponseValidationError); - }); - it('calls the rulesClient with legacy ML params', async () => { await detectionRulesClient.createCustomRule({ params: getCreateMachineLearningRulesSchemaMock(), diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/logic/detection_rules_client/detection_rules_client.import_rule.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/logic/detection_rules_client/detection_rules_client.import_rule.test.ts index 4d2cb0ee65519..474fecc186519 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/logic/detection_rules_client/detection_rules_client.import_rule.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/logic/detection_rules_client/detection_rules_client.import_rule.test.ts @@ -42,6 +42,8 @@ describe('DetectionRulesClient.importRule', () => { beforeEach(() => { rulesClient = rulesClientMock.create(); + rulesClient.create.mockResolvedValue(getRuleMock(getQueryRuleParams())); + rulesClient.update.mockResolvedValue(getRuleMock(getQueryRuleParams())); detectionRulesClient = createDetectionRulesClient(rulesClient, mlAuthz); }); diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/logic/detection_rules_client/detection_rules_client.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/logic/detection_rules_client/detection_rules_client.ts index c26649604b282..ce6043a420907 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/logic/detection_rules_client/detection_rules_client.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/logic/detection_rules_client/detection_rules_client.ts @@ -8,7 +8,6 @@ import type { RulesClient } from '@kbn/alerting-plugin/server'; import type { MlAuthz } from '../../../../machine_learning/authz'; -import type { RuleAlertType } from '../../../rule_schema'; import type { RuleResponse } from '../../../../../../common/api/detection_engine/model/rule_schema'; import type { IDetectionRulesClient, @@ -47,13 +46,13 @@ export const createDetectionRulesClient = ( }); }, - async updateRule(args: UpdateRuleArgs): Promise { + async updateRule(args: UpdateRuleArgs): Promise { return withSecuritySpan('DetectionRulesClient.updateRule', async () => { return updateRule(rulesClient, args, mlAuthz); }); }, - async patchRule(args: PatchRuleArgs): Promise { + async patchRule(args: PatchRuleArgs): Promise { return withSecuritySpan('DetectionRulesClient.patchRule', async () => { return patchRule(rulesClient, args, mlAuthz); }); @@ -65,13 +64,13 @@ export const createDetectionRulesClient = ( }); }, - async upgradePrebuiltRule(args: UpgradePrebuiltRuleArgs): Promise { + async upgradePrebuiltRule(args: UpgradePrebuiltRuleArgs): Promise { return withSecuritySpan('DetectionRulesClient.upgradePrebuiltRule', async () => { return upgradePrebuiltRule(rulesClient, args, mlAuthz); }); }, - async importRule(args: ImportRuleArgs): Promise { + async importRule(args: ImportRuleArgs): Promise { return withSecuritySpan('DetectionRulesClient.importRule', async () => { return importRule(rulesClient, args, mlAuthz); }); diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/logic/detection_rules_client/detection_rules_client.upgrade_prebuilt_rule.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/logic/detection_rules_client/detection_rules_client.upgrade_prebuilt_rule.test.ts index 97a564cbf86e6..38f3507d2f7ae 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/logic/detection_rules_client/detection_rules_client.upgrade_prebuilt_rule.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/logic/detection_rules_client/detection_rules_client.upgrade_prebuilt_rule.test.ts @@ -99,10 +99,12 @@ describe('DetectionRulesClient.upgradePrebuiltRule', () => { ruleId: 'rule-id', }); beforeEach(() => { + jest.resetAllMocks(); + rulesClient.create.mockResolvedValue(getRuleMock(getQueryRuleParams())); (readRules as jest.Mock).mockResolvedValue(installedRule); }); - it('deletes the old rule ', async () => { + it('deletes the old rule', async () => { await detectionRulesClient.upgradePrebuiltRule({ ruleAsset }); expect(rulesClient.delete).toHaveBeenCalled(); }); @@ -153,6 +155,8 @@ describe('DetectionRulesClient.upgradePrebuiltRule', () => { }); it('patches the existing rule with the new params from the rule asset', async () => { + rulesClient.update.mockResolvedValue(getRuleMock(getEqlRuleParams())); + await detectionRulesClient.upgradePrebuiltRule({ ruleAsset }); expect(rulesClient.update).toHaveBeenCalledWith( expect.objectContaining({ diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/logic/detection_rules_client/detection_rules_client_interface.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/logic/detection_rules_client/detection_rules_client_interface.ts index 2d9c787119cdf..34c39153206b1 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/logic/detection_rules_client/detection_rules_client_interface.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/logic/detection_rules_client/detection_rules_client_interface.ts @@ -13,17 +13,16 @@ import type { RuleToImport, RuleResponse, } from '../../../../../../common/api/detection_engine'; -import type { RuleAlertType } from '../../../rule_schema'; import type { PrebuiltRuleAsset } from '../../../prebuilt_rules'; export interface IDetectionRulesClient { createCustomRule: (args: CreateCustomRuleArgs) => Promise; createPrebuiltRule: (args: CreatePrebuiltRuleArgs) => Promise; - updateRule: (args: UpdateRuleArgs) => Promise; - patchRule: (args: PatchRuleArgs) => Promise; + updateRule: (args: UpdateRuleArgs) => Promise; + patchRule: (args: PatchRuleArgs) => Promise; deleteRule: (args: DeleteRuleArgs) => Promise; - upgradePrebuiltRule: (args: UpgradePrebuiltRuleArgs) => Promise; - importRule: (args: ImportRuleArgs) => Promise; + upgradePrebuiltRule: (args: UpgradePrebuiltRuleArgs) => Promise; + importRule: (args: ImportRuleArgs) => Promise; } export interface CreateCustomRuleArgs { diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/logic/detection_rules_client/methods/create_custom_rule.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/logic/detection_rules_client/methods/create_custom_rule.ts index c77446f5baf63..963cac7e10dd1 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/logic/detection_rules_client/methods/create_custom_rule.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/logic/detection_rules_client/methods/create_custom_rule.ts @@ -11,8 +11,10 @@ import type { CreateCustomRuleArgs } from '../detection_rules_client_interface'; import type { MlAuthz } from '../../../../../machine_learning/authz'; import type { RuleParams } from '../../../../rule_schema'; import { RuleResponse } from '../../../../../../../common/api/detection_engine/model/rule_schema'; -import { convertCreateAPIToInternalSchema } from '../../../normalization/rule_converters'; -import { transform } from '../../../utils/utils'; +import { + convertCreateAPIToInternalSchema, + internalRuleToAPIResponse, +} from '../../../normalization/rule_converters'; import { validateMlAuth, RuleResponseValidationError } from '../utils'; export const createCustomRule = async ( @@ -29,7 +31,7 @@ export const createCustomRule = async ( }); /* Trying to convert the rule to a RuleResponse object */ - const parseResult = RuleResponse.safeParse(transform(rule)); + const parseResult = RuleResponse.safeParse(internalRuleToAPIResponse(rule)); if (!parseResult.success) { throw new RuleResponseValidationError({ diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/logic/detection_rules_client/methods/create_prebuilt_rule.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/logic/detection_rules_client/methods/create_prebuilt_rule.ts index db510d9071c4f..0f0a4aea12d7b 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/logic/detection_rules_client/methods/create_prebuilt_rule.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/logic/detection_rules_client/methods/create_prebuilt_rule.ts @@ -11,8 +11,10 @@ import type { CreatePrebuiltRuleArgs } from '../detection_rules_client_interface import type { MlAuthz } from '../../../../../machine_learning/authz'; import { RuleResponse } from '../../../../../../../common/api/detection_engine/model/rule_schema'; import type { RuleParams } from '../../../../rule_schema'; -import { convertCreateAPIToInternalSchema } from '../../../normalization/rule_converters'; -import { transform } from '../../../utils/utils'; +import { + convertCreateAPIToInternalSchema, + internalRuleToAPIResponse, +} from '../../../normalization/rule_converters'; import { validateMlAuth, RuleResponseValidationError } from '../utils'; export const createPrebuiltRule = async ( @@ -34,7 +36,7 @@ export const createPrebuiltRule = async ( }); /* Trying to convert the rule to a RuleResponse object */ - const parseResult = RuleResponse.safeParse(transform(rule)); + const parseResult = RuleResponse.safeParse(internalRuleToAPIResponse(rule)); if (!parseResult.success) { throw new RuleResponseValidationError({ diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/logic/detection_rules_client/methods/import_rule.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/logic/detection_rules_client/methods/import_rule.ts index 8761478e30eda..55a0399f1a528 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/logic/detection_rules_client/methods/import_rule.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/logic/detection_rules_client/methods/import_rule.ts @@ -6,6 +6,7 @@ */ import type { RulesClient } from '@kbn/alerting-plugin/server'; +import { stringifyZodError } from '@kbn/zod-helpers'; import type { MlAuthz } from '../../../../../machine_learning/authz'; import type { ImportRuleArgs } from '../detection_rules_client_interface'; import type { RuleAlertType, RuleParams } from '../../../../rule_schema'; @@ -13,9 +14,11 @@ import { createBulkErrorObject } from '../../../../routes/utils'; import { convertCreateAPIToInternalSchema, convertUpdateAPIToInternalSchema, + internalRuleToAPIResponse, } from '../../../normalization/rule_converters'; +import { RuleResponse } from '../../../../../../../common/api/detection_engine/model/rule_schema'; -import { validateMlAuth } from '../utils'; +import { validateMlAuth, RuleResponseValidationError } from '../utils'; import { readRules } from '../read_rules'; @@ -23,7 +26,7 @@ export const importRule = async ( rulesClient: RulesClient, importRulePayload: ImportRuleArgs, mlAuthz: MlAuthz -): Promise => { +): Promise => { const { ruleToImport, overwriteRules, allowMissingConnectorSecrets } = importRulePayload; await validateMlAuth(mlAuthz, ruleToImport.type); @@ -34,30 +37,47 @@ export const importRule = async ( id: undefined, }); - if (!existingRule) { - const internalRule = convertCreateAPIToInternalSchema(ruleToImport, { - immutable: false, + if (existingRule && !overwriteRules) { + throw createBulkErrorObject({ + ruleId: existingRule.params.ruleId, + statusCode: 409, + message: `rule_id: "${existingRule.params.ruleId}" already exists`, }); + } - return rulesClient.create({ - data: internalRule, - allowMissingConnectorSecrets, - }); - } else if (existingRule && overwriteRules) { - const newInternalRule = convertUpdateAPIToInternalSchema({ + let importedInternalRule: RuleAlertType; + + if (existingRule && overwriteRules) { + const ruleUpdateParams = convertUpdateAPIToInternalSchema({ existingRule, ruleUpdate: ruleToImport, }); - return rulesClient.update({ + importedInternalRule = await rulesClient.update({ id: existingRule.id, - data: newInternalRule, + data: ruleUpdateParams, }); } else { - throw createBulkErrorObject({ - ruleId: existingRule.params.ruleId, - statusCode: 409, - message: `rule_id: "${existingRule.params.ruleId}" already exists`, + /* Rule does not exist, so we'll create it */ + const ruleCreateParams = convertCreateAPIToInternalSchema(ruleToImport, { + immutable: false, + }); + + importedInternalRule = await rulesClient.create({ + data: ruleCreateParams, + allowMissingConnectorSecrets, }); } + + /* Trying to convert an internal rule to a RuleResponse object */ + const parseResult = RuleResponse.safeParse(internalRuleToAPIResponse(importedInternalRule)); + + if (!parseResult.success) { + throw new RuleResponseValidationError({ + message: stringifyZodError(parseResult.error), + ruleId: importedInternalRule.params.ruleId, + }); + } + + return parseResult.data; }; diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/logic/detection_rules_client/methods/patch_rule.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/logic/detection_rules_client/methods/patch_rule.ts index b7c8c1539d664..ce9956c5eec84 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/logic/detection_rules_client/methods/patch_rule.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/logic/detection_rules_client/methods/patch_rule.ts @@ -6,13 +6,22 @@ */ import type { RulesClient } from '@kbn/alerting-plugin/server'; +import { stringifyZodError } from '@kbn/zod-helpers'; import type { MlAuthz } from '../../../../../machine_learning/authz'; import type { PatchRuleArgs } from '../detection_rules_client_interface'; -import type { RuleAlertType } from '../../../../rule_schema'; import { getIdError } from '../../../utils/utils'; -import { convertPatchAPIToInternalSchema } from '../../../normalization/rule_converters'; +import { + convertPatchAPIToInternalSchema, + internalRuleToAPIResponse, +} from '../../../normalization/rule_converters'; +import { RuleResponse } from '../../../../../../../common/api/detection_engine/model/rule_schema'; -import { validateMlAuth, ClientError, toggleRuleEnabledOnUpdate } from '../utils'; +import { + validateMlAuth, + ClientError, + toggleRuleEnabledOnUpdate, + RuleResponseValidationError, +} from '../utils'; import { readRules } from '../read_rules'; @@ -20,7 +29,7 @@ export const patchRule = async ( rulesClient: RulesClient, args: PatchRuleArgs, mlAuthz: MlAuthz -): Promise => { +): Promise => { const { nextParams } = args; const { rule_id: ruleId, id } = nextParams; @@ -39,16 +48,28 @@ export const patchRule = async ( const patchedRule = convertPatchAPIToInternalSchema(nextParams, existingRule); - const update = await rulesClient.update({ + const patchedInternalRule = await rulesClient.update({ id: existingRule.id, data: patchedRule, }); - await toggleRuleEnabledOnUpdate(rulesClient, existingRule, nextParams.enabled); + const { enabled } = await toggleRuleEnabledOnUpdate( + rulesClient, + existingRule, + nextParams.enabled + ); + + /* Trying to convert the internal rule to a RuleResponse object */ + const parseResult = RuleResponse.safeParse( + internalRuleToAPIResponse({ ...patchedInternalRule, enabled }) + ); - if (nextParams.enabled != null) { - return { ...update, enabled: nextParams.enabled }; - } else { - return update; + if (!parseResult.success) { + throw new RuleResponseValidationError({ + message: stringifyZodError(parseResult.error), + ruleId: patchedInternalRule.params.ruleId, + }); } + + return parseResult.data; }; diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/logic/detection_rules_client/methods/update_rule.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/logic/detection_rules_client/methods/update_rule.ts index a37b5eaddcee0..8684a7ccd2c61 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/logic/detection_rules_client/methods/update_rule.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/logic/detection_rules_client/methods/update_rule.ts @@ -6,13 +6,22 @@ */ import type { RulesClient } from '@kbn/alerting-plugin/server'; +import { stringifyZodError } from '@kbn/zod-helpers'; import type { MlAuthz } from '../../../../../machine_learning/authz'; -import type { RuleAlertType } from '../../../../rule_schema'; import type { UpdateRuleArgs } from '../detection_rules_client_interface'; import { getIdError } from '../../../utils/utils'; -import { convertUpdateAPIToInternalSchema } from '../../../normalization/rule_converters'; +import { + convertUpdateAPIToInternalSchema, + internalRuleToAPIResponse, +} from '../../../normalization/rule_converters'; +import { RuleResponse } from '../../../../../../../common/api/detection_engine/model/rule_schema'; -import { validateMlAuth, ClientError, toggleRuleEnabledOnUpdate } from '../utils'; +import { + validateMlAuth, + ClientError, + toggleRuleEnabledOnUpdate, + RuleResponseValidationError, +} from '../utils'; import { readRules } from '../read_rules'; @@ -20,7 +29,7 @@ export const updateRule = async ( rulesClient: RulesClient, args: UpdateRuleArgs, mlAuthz: MlAuthz -): Promise => { +): Promise => { const { ruleUpdate } = args; const { rule_id: ruleId, id } = ruleUpdate; @@ -42,12 +51,28 @@ export const updateRule = async ( ruleUpdate, }); - const update = await rulesClient.update({ + const updatedInternalRule = await rulesClient.update({ id: existingRule.id, data: newInternalRule, }); - await toggleRuleEnabledOnUpdate(rulesClient, existingRule, ruleUpdate.enabled); + const { enabled } = await toggleRuleEnabledOnUpdate( + rulesClient, + existingRule, + ruleUpdate.enabled + ); + + /* Trying to convert the internal rule to a RuleResponse object */ + const parseResult = RuleResponse.safeParse( + internalRuleToAPIResponse({ ...updatedInternalRule, enabled }) + ); + + if (!parseResult.success) { + throw new RuleResponseValidationError({ + message: stringifyZodError(parseResult.error), + ruleId: updatedInternalRule.params.ruleId, + }); + } - return { ...update, enabled: ruleUpdate.enabled ?? existingRule.enabled }; + return parseResult.data; }; diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/logic/detection_rules_client/methods/upgrade_prebuilt_rule.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/logic/detection_rules_client/methods/upgrade_prebuilt_rule.ts index 528f81ac9c57b..8c1079f5716db 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/logic/detection_rules_client/methods/upgrade_prebuilt_rule.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/logic/detection_rules_client/methods/upgrade_prebuilt_rule.ts @@ -6,16 +6,19 @@ */ import type { RulesClient } from '@kbn/alerting-plugin/server'; +import { stringifyZodError } from '@kbn/zod-helpers'; import type { MlAuthz } from '../../../../../machine_learning/authz'; -import type { RuleAlertType, RuleParams } from '../../../../rule_schema'; +import type { RuleParams } from '../../../../rule_schema'; import type { UpgradePrebuiltRuleArgs } from '../detection_rules_client_interface'; import { convertPatchAPIToInternalSchema, convertCreateAPIToInternalSchema, + internalRuleToAPIResponse, } from '../../../normalization/rule_converters'; import { transformAlertToRuleAction } from '../../../../../../../common/detection_engine/transform_actions'; +import { RuleResponse } from '../../../../../../../common/api/detection_engine/model/rule_schema'; -import { validateMlAuth, ClientError } from '../utils'; +import { validateMlAuth, ClientError, RuleResponseValidationError } from '../utils'; import { readRules } from '../read_rules'; @@ -23,7 +26,7 @@ export const upgradePrebuiltRule = async ( rulesClient: RulesClient, upgradePrebuiltRulePayload: UpgradePrebuiltRuleArgs, mlAuthz: MlAuthz -): Promise => { +): Promise => { const { ruleAsset } = upgradePrebuiltRulePayload; await validateMlAuth(mlAuthz, ruleAsset.type); @@ -56,29 +59,41 @@ export const upgradePrebuiltRule = async ( { immutable: true, defaultEnabled: existingRule.enabled } ); - return rulesClient.create({ + const createdRule = await rulesClient.create({ data: internalRule, options: { id: existingRule.id }, }); + + /* Trying to convert the rule to a RuleResponse object */ + const parseResult = RuleResponse.safeParse(internalRuleToAPIResponse(createdRule)); + + if (!parseResult.success) { + throw new RuleResponseValidationError({ + message: stringifyZodError(parseResult.error), + ruleId: createdRule.params.ruleId, + }); + } + + return parseResult.data; } // Else, simply patch it. const patchedRule = convertPatchAPIToInternalSchema(ruleAsset, existingRule); - await rulesClient.update({ + const patchedInternalRule = await rulesClient.update({ id: existingRule.id, data: patchedRule, }); - const updatedRule = await readRules({ - rulesClient, - ruleId: ruleAsset.rule_id, - id: undefined, - }); + /* Trying to convert the internal rule to a RuleResponse object */ + const parseResult = RuleResponse.safeParse(internalRuleToAPIResponse(patchedInternalRule)); - if (!updatedRule) { - throw new ClientError(`Rule ${ruleAsset.rule_id} not found after upgrade`, 500); + if (!parseResult.success) { + throw new RuleResponseValidationError({ + message: stringifyZodError(parseResult.error), + ruleId: patchedInternalRule.params.ruleId, + }); } - return updatedRule; + return parseResult.data; }; diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/logic/detection_rules_client/utils.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/logic/detection_rules_client/utils.ts index 624f86a49422a..4f25497b30564 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/logic/detection_rules_client/utils.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/logic/detection_rules_client/utils.ts @@ -20,12 +20,18 @@ export const toggleRuleEnabledOnUpdate = async ( rulesClient: RulesClient, existingRule: RuleAlertType, updatedRuleEnabled?: boolean -) => { +): Promise<{ enabled: boolean }> => { if (existingRule.enabled && updatedRuleEnabled === false) { await rulesClient.disable({ id: existingRule.id }); - } else if (!existingRule.enabled && updatedRuleEnabled === true) { + return { enabled: false }; + } + + if (!existingRule.enabled && updatedRuleEnabled === true) { await rulesClient.enable({ id: existingRule.id }); + return { enabled: true }; } + + return { enabled: existingRule.enabled }; }; export const validateMlAuth = async (mlAuthz: MlAuthz, ruleType: Type) => { diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/logic/import/import_rules_utils.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/logic/import/import_rules_utils.test.ts index 5fef4d40a22e5..6537dfed3a169 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/logic/import/import_rules_utils.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/logic/import/import_rules_utils.test.ts @@ -6,28 +6,21 @@ */ import { getImportRulesSchemaMock } from '../../../../../../common/api/detection_engine/rule_management/mocks'; -import { getQueryRuleParams } from '../../../rule_schema/mocks'; - +import { getRulesSchemaMock } from '../../../../../../common/api/detection_engine/model/rule_schema/rule_response_schema.mock'; import { requestContextMock } from '../../../routes/__mocks__'; -import { getRuleMock, getEmptyFindResult } from '../../../routes/__mocks__/request_responses'; import { importRules } from './import_rules_utils'; import { createBulkErrorObject } from '../../../routes/utils'; describe('importRules', () => { const { clients, context } = requestContextMock.createTools(); - const importedRule = getRuleMock(getQueryRuleParams()); + const ruleToImport = getImportRulesSchemaMock(); beforeEach(() => { - clients.rulesClient.find.mockResolvedValue(getEmptyFindResult()); - clients.rulesClient.update.mockResolvedValue(importedRule); - clients.detectionRulesClient.importRule.mockResolvedValue(importedRule); - clients.actionsClient.getAll.mockResolvedValue([]); - jest.clearAllMocks(); }); - it('returns rules response if no rules to import', async () => { + it('returns an empty rules response if no rules to import', async () => { const result = await importRules({ ruleChunks: [], rulesResponseAcc: [], @@ -62,12 +55,13 @@ describe('importRules', () => { it('returns 409 error if DetectionRulesClient throws with 409 - existing rule', async () => { clients.detectionRulesClient.importRule.mockImplementationOnce(async () => { throw createBulkErrorObject({ - ruleId: importedRule.params.ruleId, + ruleId: ruleToImport.rule_id, statusCode: 409, - message: `rule_id: "${importedRule.params.ruleId}" already exists`, + message: `rule_id: "${ruleToImport.rule_id}" already exists`, }); }); - const ruleChunk = [getImportRulesSchemaMock({ rule_id: importedRule.params.ruleId })]; + + const ruleChunk = [ruleToImport]; const result = await importRules({ ruleChunks: [ruleChunk], rulesResponseAcc: [], @@ -79,15 +73,21 @@ describe('importRules', () => { expect(result).toEqual([ { error: { - message: `rule_id: "${importedRule.params.ruleId}" already exists`, + message: `rule_id: "${ruleToImport.rule_id}" already exists`, status_code: 409, }, - rule_id: importedRule.params.ruleId, + rule_id: ruleToImport.rule_id, }, ]); }); + it('creates rule if no matching existing rule found', async () => { - const ruleChunk = [getImportRulesSchemaMock({ rule_id: importedRule.params.ruleId })]; + clients.detectionRulesClient.importRule.mockResolvedValue({ + ...getRulesSchemaMock(), + rule_id: ruleToImport.rule_id, + }); + + const ruleChunk = [ruleToImport]; const result = await importRules({ ruleChunks: [ruleChunk], rulesResponseAcc: [], @@ -96,6 +96,6 @@ describe('importRules', () => { existingLists: {}, }); - expect(result).toEqual([{ rule_id: importedRule.params.ruleId, status_code: 200 }]); + expect(result).toEqual([{ rule_id: ruleToImport.rule_id, status_code: 200 }]); }); }); diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/logic/import/import_rules_utils.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/logic/import/import_rules_utils.ts index 5c64a2a6f9a33..5fc57a7a91e45 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/logic/import/import_rules_utils.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/logic/import/import_rules_utils.ts @@ -98,7 +98,7 @@ export const importRules = async ({ }); resolve({ - rule_id: importedRule.params.ruleId, + rule_id: importedRule.rule_id, status_code: 200, }); } catch (err) { diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/utils/validate.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/utils/validate.test.ts index 8fa275c7ba59f..f11e31691d25b 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/utils/validate.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/utils/validate.test.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { transformValidate, transformValidateBulkError } from './validate'; +import { transformValidateBulkError } from './validate'; import type { BulkError } from '../../routes/utils'; import { getRuleMock } from '../../routes/__mocks__/request_responses'; import { getListArrayMock } from '../../../../../common/detection_engine/schemas/types/lists.mock'; @@ -82,23 +82,6 @@ export const ruleOutput = (): RuleResponse => ({ }); describe('validate', () => { - describe('transformValidate', () => { - test('it should do a validation correctly of a partial alert', () => { - const ruleAlert = getRuleMock(getQueryRuleParams()); - const validated = transformValidate(ruleAlert); - expect(validated).toEqual(ruleOutput()); - }); - - test('it should do an in-validation correctly of a partial alert', () => { - const ruleAlert = getRuleMock(getQueryRuleParams()); - // @ts-expect-error - delete ruleAlert.name; - expect(() => { - transformValidate(ruleAlert); - }).toThrowError('Required'); - }); - }); - describe('transformValidateBulkError', () => { test('it should do a validation correctly of a rule id', () => { const ruleAlert = getRuleMock(getQueryRuleParams()); diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/utils/validate.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/utils/validate.ts index bd66139529cb3..298b7f62d2973 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/utils/validate.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/utils/validate.ts @@ -31,14 +31,8 @@ import { type UnifiedQueryRuleParams, } from '../../rule_schema'; import { type BulkError, createBulkErrorObject } from '../../routes/utils'; -import { transform } from './utils'; import { internalRuleToAPIResponse } from '../normalization/rule_converters'; -export const transformValidate = (rule: PartialRule): RuleResponse => { - const transformed = transform(rule); - return RuleResponse.parse(transformed); -}; - export const transformValidateBulkError = ( ruleId: string, rule: PartialRule From a9089be4b30224b2cc27d3a141abcd5514fcbae9 Mon Sep 17 00:00:00 2001 From: Bena Kansara <69037875+benakansara@users.noreply.github.com> Date: Fri, 21 Jun 2024 14:10:05 +0200 Subject: [PATCH 17/80] [SLO] Fix alert reason not being hyperlinked in SLO details and SLO alerts embeddable (#186563) Closes https://github.com/elastic/kibana/issues/183322 - Fixes alert reason link in SLO details -> Alerts tab - Fixes alert reason link in SLO alerts embeddable https://github.com/elastic/kibana/assets/69037875/04805171-b3ad-4d83-a89d-317345d13675 https://github.com/elastic/kibana/assets/69037875/eaaab802-bc88-4977-a2e8-f30c566eb635 --- .../embeddable/slo/alerts/components/slo_alerts_table.tsx | 2 ++ .../slo/public/embeddable/slo/alerts/types.ts | 2 ++ .../public/pages/slo_details/components/slo_detail_alerts.tsx | 2 ++ 3 files changed, 6 insertions(+) diff --git a/x-pack/plugins/observability_solution/slo/public/embeddable/slo/alerts/components/slo_alerts_table.tsx b/x-pack/plugins/observability_solution/slo/public/embeddable/slo/alerts/components/slo_alerts_table.tsx index c53f7c7c73d20..157c636ff131e 100644 --- a/x-pack/plugins/observability_solution/slo/public/embeddable/slo/alerts/components/slo_alerts_table.tsx +++ b/x-pack/plugins/observability_solution/slo/public/embeddable/slo/alerts/components/slo_alerts_table.tsx @@ -98,6 +98,7 @@ export function SloAlertsTable({ }: Props) { const { triggersActionsUi: { alertsTableConfigurationRegistry, getAlertsStateTable: AlertsStateTable }, + observability: { observabilityRuleTypeRegistry }, } = deps; return ( ); } diff --git a/x-pack/plugins/observability_solution/slo/public/embeddable/slo/alerts/types.ts b/x-pack/plugins/observability_solution/slo/public/embeddable/slo/alerts/types.ts index 7682c3f55bedf..d3cb4629584ff 100644 --- a/x-pack/plugins/observability_solution/slo/public/embeddable/slo/alerts/types.ts +++ b/x-pack/plugins/observability_solution/slo/public/embeddable/slo/alerts/types.ts @@ -26,6 +26,7 @@ import { EmbeddableApiContext, HasEditCapabilities, } from '@kbn/presentation-publishing'; +import { ObservabilityPublicStart } from '@kbn/observability-plugin/public'; export interface SloItem { id: string; @@ -71,6 +72,7 @@ export interface SloEmbeddableDeps { http: CoreStart['http']; i18n: CoreStart['i18n']; application: ApplicationStart; + observability: ObservabilityPublicStart; triggersActionsUi: TriggersAndActionsUIPublicPluginStart; data: DataPublicPluginStart; notifications: NotificationsStart; diff --git a/x-pack/plugins/observability_solution/slo/public/pages/slo_details/components/slo_detail_alerts.tsx b/x-pack/plugins/observability_solution/slo/public/pages/slo_details/components/slo_detail_alerts.tsx index 90db5efb27311..ed4f5dd89fb8f 100644 --- a/x-pack/plugins/observability_solution/slo/public/pages/slo_details/components/slo_detail_alerts.tsx +++ b/x-pack/plugins/observability_solution/slo/public/pages/slo_details/components/slo_detail_alerts.tsx @@ -19,6 +19,7 @@ export interface Props { export function SloDetailsAlerts({ slo }: Props) { const { triggersActionsUi: { alertsTableConfigurationRegistry, getAlertsStateTable: AlertsStateTable }, + observability: { observabilityRuleTypeRegistry }, } = useKibana().services; return ( @@ -42,6 +43,7 @@ export function SloDetailsAlerts({ slo }: Props) { }} showAlertStatusWithFlapping pageSize={100} + cellContext={{ observabilityRuleTypeRegistry }} /> From 2820ae44dca2110490fc851e7be4de7dbb6f02e1 Mon Sep 17 00:00:00 2001 From: Tomasz Ciecierski Date: Fri, 21 Jun 2024 15:18:58 +0200 Subject: [PATCH 18/80] [EDR Workflows] Change crowdstrike fields to ecs fields (#186469) --- .../service/response_actions/constants.ts | 2 +- .../use_alert_response_actions_support.ts | 20 +++------- .../mock/endpoint/endpoint_alert_data_mock.ts | 16 ++++---- .../rule_exceptions/utils/helpers.test.tsx | 8 ++-- .../highlighted_fields_cell.test.tsx | 9 +++-- .../hooks/use_highlighted_fields.test.tsx | 18 ++++----- .../emulator_plugins/crowdstrike/mocks.ts | 4 +- .../crowdstrike/crowdstrike_actions_client.ts | 39 ++++++++++++------- .../actions/clients/crowdstrike/mocks.ts | 6 +-- 9 files changed, 62 insertions(+), 60 deletions(-) diff --git a/x-pack/plugins/security_solution/common/endpoint/service/response_actions/constants.ts b/x-pack/plugins/security_solution/common/endpoint/service/response_actions/constants.ts index fdfa5ed02cb73..447ae1f98c653 100644 --- a/x-pack/plugins/security_solution/common/endpoint/service/response_actions/constants.ts +++ b/x-pack/plugins/security_solution/common/endpoint/service/response_actions/constants.ts @@ -183,5 +183,5 @@ export const RESPONSE_ACTIONS_ALERT_AGENT_ID_FIELD: Readonly< > = Object.freeze({ endpoint: 'agent.id', sentinel_one: 'observer.serial_number', - crowdstrike: 'crowdstrike.event.DeviceId', + crowdstrike: 'device.id', }); diff --git a/x-pack/plugins/security_solution/public/common/hooks/endpoint/use_alert_response_actions_support.ts b/x-pack/plugins/security_solution/public/common/hooks/endpoint/use_alert_response_actions_support.ts index 7d4698695c3b8..60917dfb3a9f7 100644 --- a/x-pack/plugins/security_solution/public/common/hooks/endpoint/use_alert_response_actions_support.ts +++ b/x-pack/plugins/security_solution/public/common/hooks/endpoint/use_alert_response_actions_support.ts @@ -132,7 +132,7 @@ export const useAlertResponseActionsSupport = ( if (agentType === 'crowdstrike') { return getAlertDetailsFieldValue( - { category: 'crowdstrike', field: RESPONSE_ACTIONS_ALERT_AGENT_ID_FIELD.crowdstrike }, + { category: 'device', field: RESPONSE_ACTIONS_ALERT_AGENT_ID_FIELD.crowdstrike }, eventData ); } @@ -172,23 +172,15 @@ export const useAlertResponseActionsSupport = ( }, [agentType, isFeatureEnabled]); const hostName = useMemo(() => { - // TODO:PT need to check if crowdstrike event has `host.name` - if (agentType === 'crowdstrike') { - return getAlertDetailsFieldValue( - { category: 'crowdstrike', field: 'crowdstrike.event.HostName' }, - eventData - ); - } - return getAlertDetailsFieldValue({ category: 'host', field: 'host.name' }, eventData); - }, [agentType, eventData]); + }, [eventData]); const platform = useMemo(() => { - // TODO:PT need to check if crowdstrike event has `host.os.family` + // TODO:TC I couldn't find host.os.family in the example data, thus using host.os.type and host.os.platform which are present one at a time in different type of events if (agentType === 'crowdstrike') { - return getAlertDetailsFieldValue( - { category: 'crowdstrike', field: 'crowdstrike.event.Platform' }, - eventData + return ( + getAlertDetailsFieldValue({ category: 'host', field: 'host.os.type' }, eventData) || + getAlertDetailsFieldValue({ category: 'host', field: 'host.os.platform' }, eventData) ); } diff --git a/x-pack/plugins/security_solution/public/common/mock/endpoint/endpoint_alert_data_mock.ts b/x-pack/plugins/security_solution/public/common/mock/endpoint/endpoint_alert_data_mock.ts index 96003266c1315..0de961badd9b1 100644 --- a/x-pack/plugins/security_solution/public/common/mock/endpoint/endpoint_alert_data_mock.ts +++ b/x-pack/plugins/security_solution/public/common/mock/endpoint/endpoint_alert_data_mock.ts @@ -90,7 +90,7 @@ const generateEndpointAlertDetailsItemDataMock = ( }, { category: 'agent', - field: 'agent.id', + field: RESPONSE_ACTIONS_ALERT_AGENT_ID_FIELD.endpoint, values: ['abfe4a35-d5b4-42a0-a539-bd054c791769'], originalValue: ['abfe4a35-d5b4-42a0-a539-bd054c791769'], isObjectArray: false, @@ -185,22 +185,22 @@ const generateCrowdStrikeAlertDetailsItemDataMock = ( data.push( { - category: 'crowdstrike', + category: 'device', field: RESPONSE_ACTIONS_ALERT_AGENT_ID_FIELD.crowdstrike, values: ['abfe4a35-d5b4-42a0-a539-bd054c791769'], originalValue: ['abfe4a35-d5b4-42a0-a539-bd054c791769'], isObjectArray: false, }, { - category: 'crowdstrike', - field: 'crowdstrike.event.HostName', - values: ['elastic-host-win'], - originalValue: ['windows-native'], + category: 'host', + field: 'host.os.type', + values: ['windows'], + originalValue: ['windows'], isObjectArray: false, }, { - category: 'crowdstrike', - field: 'crowdstrike.event.Platform', + category: 'host', + field: 'host.os.platform', values: ['windows'], originalValue: ['windows'], isObjectArray: false, diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_exceptions/utils/helpers.test.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_exceptions/utils/helpers.test.tsx index c3b288cb15c79..574aa6a6c1970 100644 --- a/x-pack/plugins/security_solution/public/detection_engine/rule_exceptions/utils/helpers.test.tsx +++ b/x-pack/plugins/security_solution/public/detection_engine/rule_exceptions/utils/helpers.test.tsx @@ -49,6 +49,8 @@ import { ALERT_ORIGINAL_EVENT_MODULE, } from '../../../../common/field_maps/field_names'; import { AGENT_ID } from './highlighted_fields_config'; +import { RESPONSE_ACTIONS_ALERT_AGENT_ID_FIELD } from '../../../../common/endpoint/service/response_actions/constants'; + jest.mock('uuid', () => ({ v4: jest.fn().mockReturnValue('123'), })); @@ -1796,17 +1798,17 @@ describe('Exception helpers', () => { id: 'host.name', }, { - id: 'agent.id', + id: RESPONSE_ACTIONS_ALERT_AGENT_ID_FIELD.endpoint, label: 'Agent status', overrideField: 'agent.status', }, { - id: 'observer.serial_number', + id: RESPONSE_ACTIONS_ALERT_AGENT_ID_FIELD.sentinel_one, overrideField: 'agent.status', label: 'Agent status', }, { - id: 'crowdstrike.event.DeviceId', + id: RESPONSE_ACTIONS_ALERT_AGENT_ID_FIELD.crowdstrike, overrideField: 'agent.status', label: 'Agent status', }, diff --git a/x-pack/plugins/security_solution/public/flyout/document_details/right/components/highlighted_fields_cell.test.tsx b/x-pack/plugins/security_solution/public/flyout/document_details/right/components/highlighted_fields_cell.test.tsx index 46f22886c8b58..d7fb75cfa57a4 100644 --- a/x-pack/plugins/security_solution/public/flyout/document_details/right/components/highlighted_fields_cell.test.tsx +++ b/x-pack/plugins/security_solution/public/flyout/document_details/right/components/highlighted_fields_cell.test.tsx @@ -25,6 +25,7 @@ import { useGetSentinelOneAgentStatus, } from '../../../../management/hooks/agents/use_get_agent_status'; import { type ExpandableFlyoutApi, useExpandableFlyoutApi } from '@kbn/expandable-flyout'; +import { RESPONSE_ACTIONS_ALERT_AGENT_ID_FIELD } from '../../../../../common/endpoint/service/response_actions/constants'; jest.mock('../../../../management/hooks'); jest.mock('../../../../management/hooks/agents/use_get_agent_status'); @@ -116,7 +117,7 @@ describe('', () => { // TODO: 8.15 simplify when `agentStatusClientEnabled` FF is enabled and removed it.each(Object.keys(hooksToMock))( - 'should render SentinelOne agent status cell if field is agent.status and `originalField` is `observer.serial_number` with %s hook', + `should render SentinelOne agent status cell if field is agent.status and 'originalField' is ${RESPONSE_ACTIONS_ALERT_AGENT_ID_FIELD.sentinel_one} with %s hook`, (hookName) => { const hook = hooksToMock[hookName]; useAgentStatusHookMock.mockImplementation(() => hook); @@ -131,7 +132,7 @@ describe('', () => { ); @@ -140,7 +141,7 @@ describe('', () => { } ); it.each(Object.keys(hooksToMock))( - 'should render Crowdstrike agent status cell if field is agent.status and `originalField` is `crowdstrike.event.DeviceId` with %s hook', + `should render Crowdstrike agent status cell if field is agent.status and 'originalField' is ${RESPONSE_ACTIONS_ALERT_AGENT_ID_FIELD.crowdstrike} with %s hook`, (hookName) => { const hook = hooksToMock[hookName]; useAgentStatusHookMock.mockImplementation(() => hook); @@ -155,7 +156,7 @@ describe('', () => { ); diff --git a/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_highlighted_fields.test.tsx b/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_highlighted_fields.test.tsx index c78e7313792c8..28a7277fa5318 100644 --- a/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_highlighted_fields.test.tsx +++ b/x-pack/plugins/security_solution/public/flyout/document_details/shared/hooks/use_highlighted_fields.test.tsx @@ -126,13 +126,13 @@ describe('useHighlightedFields', () => { const hookResult = renderHook(() => useHighlightedFields({ dataFormattedForFieldBrowser: dataFormattedForFieldBrowser.concat({ - category: 'crowdstrike', - field: 'crowdstrike.event.DeviceId', - values: ['expectedCrowdstrikeAgentId'], - originalValue: ['expectedCrowdstrikeAgentId'], + category: 'device', + field: RESPONSE_ACTIONS_ALERT_AGENT_ID_FIELD.crowdstrike, + values: ['abfe4a35-d5b4-42a0-a539-bd054c791769'], + originalValue: ['abfe4a35-d5b4-42a0-a539-bd054c791769'], isObjectArray: false, }), - investigationFields: ['agent.status', 'crowdstrike.event.DeviceId'], + investigationFields: ['agent.status', 'device.id'], }) ); @@ -188,14 +188,14 @@ describe('useHighlightedFields', () => { isObjectArray: false, }, { - category: 'crowdstrike', - field: 'crowdstrike.event.DeviceId', + category: 'device', + field: 'device.id', values: ['expectedCrowdstrikeAgentId'], originalValue: ['expectedCrowdstrikeAgentId'], isObjectArray: false, }, ]), - investigationFields: ['agent.status', 'crowdstrike.event.DeviceId'], + investigationFields: ['agent.status', 'device.id'], }) ); @@ -203,7 +203,7 @@ describe('useHighlightedFields', () => { 'kibana.alert.rule.type': { values: ['query'], }, - 'crowdstrike.event.DeviceId': { + 'device.id': { values: ['expectedCrowdstrikeAgentId'], }, }); diff --git a/x-pack/plugins/security_solution/scripts/endpoint/api_emulator/emulator_plugins/crowdstrike/mocks.ts b/x-pack/plugins/security_solution/scripts/endpoint/api_emulator/emulator_plugins/crowdstrike/mocks.ts index cab12ebaeac1a..e915a16c250b0 100644 --- a/x-pack/plugins/security_solution/scripts/endpoint/api_emulator/emulator_plugins/crowdstrike/mocks.ts +++ b/x-pack/plugins/security_solution/scripts/endpoint/api_emulator/emulator_plugins/crowdstrike/mocks.ts @@ -30,7 +30,7 @@ export const createCrowdstrikeAgentDetailsMock = ( ): CrowdstrikeGetAgentsResponse['resources'][number] => { return merge( { - device_id: '0eec3717b2eb472195bbb3964c05cfd3', + device_id: '5f4ed7ec2690431f8fa79213268779cb', cid: '234567890', agent_load_flags: '0', agent_local_time: '2024-03-18T22:21:00.173Z', @@ -141,7 +141,7 @@ export const createCrowdstrikeGetAgentOnlineStatusDetailsMock: ( return merge( { state: 'online', - id: 'ae86ad7402404048ac9b8d94db8f7ba2', + id: '5f4ed7ec2690431f8fa79213268779cb', }, overrides ); diff --git a/x-pack/plugins/security_solution/server/endpoint/services/actions/clients/crowdstrike/crowdstrike_actions_client.ts b/x-pack/plugins/security_solution/server/endpoint/services/actions/clients/crowdstrike/crowdstrike_actions_client.ts index 3e90ee30572c3..ac982f43f151f 100644 --- a/x-pack/plugins/security_solution/server/endpoint/services/actions/clients/crowdstrike/crowdstrike_actions_client.ts +++ b/x-pack/plugins/security_solution/server/endpoint/services/actions/clients/crowdstrike/crowdstrike_actions_client.ts @@ -68,7 +68,7 @@ export class CrowdstrikeActionsClient extends ResponseActionsClientImpl { const agentId = actionRequest.endpoint_ids[0]; const eventDetails = await this.getEventDetailsById(agentId); - const hostname = eventDetails.crowdstrike.event.HostName; + const hostname = eventDetails.host.name; return super.writeActionRequestToEndpointIndex({ ...actionRequest, hosts: { @@ -120,34 +120,43 @@ export class CrowdstrikeActionsClient extends ResponseActionsClientImpl { } private async getEventDetailsById(agentId: string): Promise<{ - crowdstrike: { event: { HostName: string } }; + host: { name: string }; }> { const search = { index: ['logs-crowdstrike.fdr*', 'logs-crowdstrike.falcon*'], size: 1, - _source: ['crowdstrike.event.HostName'], + _source: ['host.name'], body: { query: { bool: { - filter: [{ term: { 'crowdstrike.event.DeviceId': agentId } }], + filter: [{ term: { 'device.id': agentId } }], }, }, }, }; - const result: SearchResponse<{ crowdstrike: { event: { HostName: string } } }> = - await this.options.esClient - .search<{ crowdstrike: { event: { HostName: string } } }>(search, { + try { + const result: SearchResponse<{ host: { name: string } }> = + await this.options.esClient.search<{ host: { name: string } }>(search, { ignore: [404], - }) - .catch((err) => { - throw new ResponseActionsClientError( - `Failed to fetch event document: ${err.message}`, - err.statusCode ?? 500, - err - ); }); - return result.hits.hits?.[0]?._source as { crowdstrike: { event: { HostName: string } } }; + // Check if host name exists + const hostName = result.hits.hits?.[0]?._source?.host?.name; + if (!hostName) { + throw new ResponseActionsClientError( + `Host name not found in the event document for agentId: ${agentId}`, + 404 + ); + } + + return result.hits.hits[0]._source as { host: { name: string } }; + } catch (err) { + throw new ResponseActionsClientError( + `Failed to fetch event document: ${err.message}`, + err.statusCode ?? 500, + err + ); + } } // TODO TC: uncomment when working on agent status support diff --git a/x-pack/plugins/security_solution/server/endpoint/services/actions/clients/crowdstrike/mocks.ts b/x-pack/plugins/security_solution/server/endpoint/services/actions/clients/crowdstrike/mocks.ts index 8ee3dcd51aeda..d1c0734e90909 100644 --- a/x-pack/plugins/security_solution/server/endpoint/services/actions/clients/crowdstrike/mocks.ts +++ b/x-pack/plugins/security_solution/server/endpoint/services/actions/clients/crowdstrike/mocks.ts @@ -89,10 +89,8 @@ const createEventSearchResponseMock = (): CrowdstrikeEventSearchResponseMock => _id: '1-2-3', _index: 'logs-crowdstrike.fdr-default', _source: { - crowdstrike: { - event: { - HostName: 'Crowdstrike-1460', - }, + host: { + name: 'Crowdstrike-1460', }, }, }, From c16c036ac1ab0e91ea98445b1f9d71e105afa33f Mon Sep 17 00:00:00 2001 From: Jean-Louis Leysens Date: Fri, 21 Jun 2024 15:20:00 +0200 Subject: [PATCH 19/80] [OAS] Bump joi-to-json for meta copy fix (#186592) ## Summary Bumps `joi-to-json` for new meta copy behaviour. See https://github.com/kenspirit/joi-to-json/pull/52. --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 0969445f4255f..a0777e361b67c 100644 --- a/package.json +++ b/package.json @@ -1055,7 +1055,7 @@ "ipaddr.js": "2.0.0", "isbinaryfile": "4.0.2", "joi": "^17.7.1", - "joi-to-json": "^4.2.1", + "joi-to-json": "^4.3.0", "jquery": "^3.5.0", "js-levenshtein": "^1.1.6", "js-search": "^1.4.3", diff --git a/yarn.lock b/yarn.lock index 7ae0cbe249d52..e0070b5f0b15a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -21238,10 +21238,10 @@ jest@^29.6.1: import-local "^3.0.2" jest-cli "^29.6.1" -joi-to-json@^4.2.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/joi-to-json/-/joi-to-json-4.2.1.tgz#be275866fd617c63f1ae81eea428fa5de6e036a4" - integrity sha512-HIPyrmT9akm2C4zOZ3qR30GkQs7JBr3LX1/oXXWyC2E1NUnDHjTczqHT0H6l495B99xAyFaJ6LM6KRFTdkKoxQ== +joi-to-json@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/joi-to-json/-/joi-to-json-4.3.0.tgz#c56131ecf8a772fce89fd98b7f81d7b0fac31dbc" + integrity sha512-j6wV/liW2CmPJBJCAsRHegS91JV2QQtg2J/Z/67VfdSvuE65njCx6DrYZY1cw0BXwlxHewpVtiDnY8W0aaNr+A== dependencies: combinations "^1.0.0" lodash "^4.17.21" From e9a224d5b0f3ad19643832a50f7c19181afe4f99 Mon Sep 17 00:00:00 2001 From: Achyut Jhunjhunwala Date: Fri, 21 Jun 2024 15:24:22 +0200 Subject: [PATCH 20/80] [Dataset Quality] Fix flaky summary test (#186618) ## Summary Closes https://github.com/elastic/kibana/issues/186549 --- .../functional/apps/dataset_quality/dataset_quality_summary.ts | 3 +-- x-pack/test/functional/page_objects/dataset_quality.ts | 3 ++- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/x-pack/test/functional/apps/dataset_quality/dataset_quality_summary.ts b/x-pack/test/functional/apps/dataset_quality/dataset_quality_summary.ts index be70275f0874d..491a3b20c8004 100644 --- a/x-pack/test/functional/apps/dataset_quality/dataset_quality_summary.ts +++ b/x-pack/test/functional/apps/dataset_quality/dataset_quality_summary.ts @@ -49,6 +49,7 @@ export default function ({ getService, getPageObjects }: DatasetQualityFtrProvid describe('Dataset quality summary', () => { before(async () => { + await synthtrace.index(getInitialTestLogs({ to, count: 4 })); await PageObjects.datasetQuality.navigateTo(); }); @@ -57,8 +58,6 @@ export default function ({ getService, getPageObjects }: DatasetQualityFtrProvid }); it('shows poor, degraded and good count as 0 and all dataset as healthy', async () => { - await synthtrace.index(getInitialTestLogs({ to, count: 4 })); - await PageObjects.datasetQuality.refreshTable(); const summary = await PageObjects.datasetQuality.parseSummaryPanel(); expect(summary).to.eql({ datasetHealthPoor: '0', diff --git a/x-pack/test/functional/page_objects/dataset_quality.ts b/x-pack/test/functional/page_objects/dataset_quality.ts index d9b274e158536..dc580d2951c6a 100644 --- a/x-pack/test/functional/page_objects/dataset_quality.ts +++ b/x-pack/test/functional/page_objects/dataset_quality.ts @@ -220,7 +220,8 @@ export function DatasetQualityPageObject({ getPageObjects, getService }: FtrProv async refreshTable() { const filtersContainer = await testSubjects.find( - testSubjectSelectors.datasetQualityFiltersContainer + testSubjectSelectors.datasetQualityFiltersContainer, + 20 * 1000 ); const refreshButton = await filtersContainer.findByTestSubject( testSubjectSelectors.superDatePickerApplyTimeButton From 6faadda1eb78788114e1f530dcdd6718a252afa5 Mon Sep 17 00:00:00 2001 From: Ying Mao Date: Fri, 21 Jun 2024 09:29:13 -0400 Subject: [PATCH 21/80] [Response Ops][Task Manager] Integration test for switching between task claim strategies (#186419) Resolves https://github.com/elastic/kibana/issues/184941 ## Summary Adds integration test to verify that restarting Kibana with a different task claim strategy does not break anything and tasks are claimed as expected. --------- Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../lib/setup_test_servers.ts | 54 ++- .../task_manager_switch_task_claimers.test.ts | 369 ++++++++++++++++++ 2 files changed, 410 insertions(+), 13 deletions(-) create mode 100644 x-pack/plugins/task_manager/server/integration_tests/task_manager_switch_task_claimers.test.ts diff --git a/x-pack/plugins/task_manager/server/integration_tests/lib/setup_test_servers.ts b/x-pack/plugins/task_manager/server/integration_tests/lib/setup_test_servers.ts index 7ded9629eb31e..5ec8e724ae819 100644 --- a/x-pack/plugins/task_manager/server/integration_tests/lib/setup_test_servers.ts +++ b/x-pack/plugins/task_manager/server/integration_tests/lib/setup_test_servers.ts @@ -8,19 +8,8 @@ import deepmerge from 'deepmerge'; import { createTestServers, createRootWithCorePlugins } from '@kbn/core-test-helpers-kbn-server'; -export async function setupTestServers(settings = {}) { - const { startES } = createTestServers({ - adjustTimeout: (t) => jest.setTimeout(t), - settings: { - es: { - license: 'trial', - }, - }, - }); - - const esServer = await startES(); - - const root = createRootWithCorePlugins( +function createRoot(settings = {}) { + return createRootWithCorePlugins( deepmerge( { logging: { @@ -32,6 +21,14 @@ export async function setupTestServers(settings = {}) { name: 'plugins.taskManager', level: 'all', }, + { + name: 'plugins.taskManager.metrics-debugger', + level: 'warn', + }, + { + name: 'plugins.taskManager.metrics-subscribe-debugger', + level: 'warn', + }, ], }, }, @@ -39,6 +36,20 @@ export async function setupTestServers(settings = {}) { ), { oss: false } ); +} +export async function setupTestServers(settings = {}) { + const { startES } = createTestServers({ + adjustTimeout: (t) => jest.setTimeout(t), + settings: { + es: { + license: 'trial', + }, + }, + }); + + const esServer = await startES(); + + const root = createRoot(settings); await root.preboot(); const coreSetup = await root.setup(); @@ -54,3 +65,20 @@ export async function setupTestServers(settings = {}) { }, }; } + +export async function setupKibanaServer(settings = {}) { + const root = createRoot(settings); + + await root.preboot(); + const coreSetup = await root.setup(); + const coreStart = await root.start(); + + return { + kibanaServer: { + root, + coreSetup, + coreStart, + stop: async () => await root.shutdown(), + }, + }; +} diff --git a/x-pack/plugins/task_manager/server/integration_tests/task_manager_switch_task_claimers.test.ts b/x-pack/plugins/task_manager/server/integration_tests/task_manager_switch_task_claimers.test.ts new file mode 100644 index 0000000000000..46450a93df30a --- /dev/null +++ b/x-pack/plugins/task_manager/server/integration_tests/task_manager_switch_task_claimers.test.ts @@ -0,0 +1,369 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { v4 as uuidV4 } from 'uuid'; +import { schema } from '@kbn/config-schema'; +import { SerializedConcreteTaskInstance, TaskStatus } from '../task'; +import type { TaskClaimingOpts } from '../queries/task_claiming'; +import { injectTask, setupTestServers, retry } from './lib'; +import { setupKibanaServer } from './lib/setup_test_servers'; + +const mockTaskTypeRunFn = jest.fn(); +const mockCreateTaskRunner = jest.fn(); +const mockTaskType = { + title: '', + description: '', + stateSchemaByVersion: { + 1: { + up: (state: Record) => ({ ...state, baz: state.baz || '' }), + schema: schema.object({ + foo: schema.string(), + bar: schema.string(), + baz: schema.string(), + }), + }, + }, + createTaskRunner: mockCreateTaskRunner.mockImplementation(() => ({ + run: mockTaskTypeRunFn, + })), +}; +const { TaskClaiming: TaskClaimingMock } = jest.requireMock('../queries/task_claiming'); +jest.mock('../queries/task_claiming', () => { + const actual = jest.requireActual('../queries/task_claiming'); + return { + ...actual, + TaskClaiming: jest.fn().mockImplementation((opts: TaskClaimingOpts) => { + // We need to register here because once the class is instantiated, adding + // definitions won't get claimed because of "partitionIntoClaimingBatches". + opts.definitions.registerTaskDefinitions({ + fooType: mockTaskType, + }); + return new actual.TaskClaiming(opts); + }), + }; +}); + +describe('switch task claiming strategies', () => { + beforeEach(() => { + jest.clearAllMocks(); + }); + + it('should switch from default to mget and still claim tasks', async () => { + const setupResultDefault = await setupTestServers(); + const esServer = setupResultDefault.esServer; + let kibanaServer = setupResultDefault.kibanaServer; + let taskClaimingOpts: TaskClaimingOpts = TaskClaimingMock.mock.calls[0][0]; + + expect(taskClaimingOpts.strategy).toBe('default'); + + mockTaskTypeRunFn.mockImplementation(() => { + return { state: {} }; + }); + + // inject a task to run and ensure it is claimed and run + const id1 = uuidV4(); + await injectTask(kibanaServer.coreStart.elasticsearch.client.asInternalUser, { + id: id1, + taskType: 'fooType', + params: { foo: true }, + state: { foo: 'test', bar: 'test', baz: 'test' }, + stateVersion: 4, + runAt: new Date(), + enabled: true, + scheduledAt: new Date(), + attempts: 0, + status: TaskStatus.Idle, + startedAt: null, + retryAt: null, + ownerId: null, + }); + + await retry(async () => { + expect(mockTaskTypeRunFn).toHaveBeenCalledTimes(1); + }); + + if (kibanaServer) { + await kibanaServer.stop(); + } + + const setupResultMget = await setupKibanaServer({ + xpack: { + task_manager: { + claim_strategy: 'unsafe_mget', + }, + }, + }); + kibanaServer = setupResultMget.kibanaServer; + + taskClaimingOpts = TaskClaimingMock.mock.calls[1][0]; + expect(taskClaimingOpts.strategy).toBe('unsafe_mget'); + + // inject a task to run and ensure it is claimed and run + const id2 = uuidV4(); + await injectTask(kibanaServer.coreStart.elasticsearch.client.asInternalUser, { + id: id2, + taskType: 'fooType', + params: { foo: true }, + state: { foo: 'test', bar: 'test', baz: 'test' }, + stateVersion: 4, + runAt: new Date(), + enabled: true, + scheduledAt: new Date(), + attempts: 0, + status: TaskStatus.Idle, + startedAt: null, + retryAt: null, + ownerId: null, + }); + + await retry(async () => { + expect(mockTaskTypeRunFn).toHaveBeenCalledTimes(2); + }); + + if (kibanaServer) { + await kibanaServer.stop(); + } + if (esServer) { + await esServer.stop(); + } + }); + + it('should switch from mget to default and still claim tasks', async () => { + const setupResultMget = await setupTestServers({ + xpack: { + task_manager: { + claim_strategy: 'unsafe_mget', + }, + }, + }); + const esServer = setupResultMget.esServer; + let kibanaServer = setupResultMget.kibanaServer; + let taskClaimingOpts: TaskClaimingOpts = TaskClaimingMock.mock.calls[0][0]; + + expect(taskClaimingOpts.strategy).toBe('unsafe_mget'); + + mockTaskTypeRunFn.mockImplementation(() => { + return { state: {} }; + }); + + // inject a task to run and ensure it is claimed and run + const id1 = uuidV4(); + await injectTask(kibanaServer.coreStart.elasticsearch.client.asInternalUser, { + id: id1, + taskType: 'fooType', + params: { foo: true }, + state: { foo: 'test', bar: 'test', baz: 'test' }, + stateVersion: 4, + runAt: new Date(), + enabled: true, + scheduledAt: new Date(), + attempts: 0, + status: TaskStatus.Idle, + startedAt: null, + retryAt: null, + ownerId: null, + }); + + await retry(async () => { + expect(mockTaskTypeRunFn).toHaveBeenCalledTimes(1); + }); + + if (kibanaServer) { + await kibanaServer.stop(); + } + + const setupResultDefault = await setupKibanaServer(); + kibanaServer = setupResultDefault.kibanaServer; + + taskClaimingOpts = TaskClaimingMock.mock.calls[1][0]; + expect(taskClaimingOpts.strategy).toBe('default'); + + // inject a task to run and ensure it is claimed and run + const id2 = uuidV4(); + await injectTask(kibanaServer.coreStart.elasticsearch.client.asInternalUser, { + id: id2, + taskType: 'fooType', + params: { foo: true }, + state: { foo: 'test', bar: 'test', baz: 'test' }, + stateVersion: 4, + runAt: new Date(), + enabled: true, + scheduledAt: new Date(), + attempts: 0, + status: TaskStatus.Idle, + startedAt: null, + retryAt: null, + ownerId: null, + }); + + await retry(async () => { + expect(mockTaskTypeRunFn).toHaveBeenCalledTimes(2); + }); + + if (kibanaServer) { + await kibanaServer.stop(); + } + if (esServer) { + await esServer.stop(); + } + }); + + it('should switch from default to mget and claim tasks that were running during shutdown', async () => { + const setupResultDefault = await setupTestServers(); + const esServer = setupResultDefault.esServer; + let kibanaServer = setupResultDefault.kibanaServer; + let taskClaimingOpts: TaskClaimingOpts = TaskClaimingMock.mock.calls[0][0]; + + expect(taskClaimingOpts.strategy).toBe('default'); + + mockTaskTypeRunFn.mockImplementation(async () => { + await new Promise((resolve) => setTimeout(resolve, 2000)); + return { state: {} }; + }); + + // inject a task to run and ensure it is claimed and run + const id1 = uuidV4(); + await injectTask(kibanaServer.coreStart.elasticsearch.client.asInternalUser, { + id: id1, + taskType: 'fooType', + params: { foo: true }, + state: { foo: 'test', bar: 'test', baz: 'test' }, + stateVersion: 4, + runAt: new Date(), + enabled: true, + scheduledAt: new Date(), + attempts: 0, + status: TaskStatus.Idle, + startedAt: null, + timeoutOverride: '5s', + retryAt: null, + ownerId: null, + }); + + await retry(async () => { + expect(mockTaskTypeRunFn).toHaveBeenCalledTimes(1); + }); + + if (kibanaServer) { + await kibanaServer.stop(); + } + + const setupResultMget = await setupKibanaServer({ + xpack: { + task_manager: { + claim_strategy: 'unsafe_mget', + }, + }, + }); + kibanaServer = setupResultMget.kibanaServer; + + taskClaimingOpts = TaskClaimingMock.mock.calls[1][0]; + expect(taskClaimingOpts.strategy).toBe('unsafe_mget'); + + // task doc should still exist and be running + const task = await kibanaServer.coreStart.elasticsearch.client.asInternalUser.get<{ + task: SerializedConcreteTaskInstance; + }>({ + id: `task:${id1}`, + index: '.kibana_task_manager', + }); + + expect(task._source?.task?.status).toBe(TaskStatus.Running); + + // task manager should pick up and claim the task that was running during shutdown + await retry( + async () => { + expect(mockTaskTypeRunFn).toHaveBeenCalledTimes(2); + }, + { times: 60, intervalMs: 1000 } + ); + + if (kibanaServer) { + await kibanaServer.stop(); + } + if (esServer) { + await esServer.stop(); + } + }); + + it('should switch from mget to default and claim tasks that were running during shutdown', async () => { + const setupResultMget = await setupTestServers({ + xpack: { + task_manager: { + claim_strategy: 'unsafe_mget', + }, + }, + }); + const esServer = setupResultMget.esServer; + let kibanaServer = setupResultMget.kibanaServer; + let taskClaimingOpts: TaskClaimingOpts = TaskClaimingMock.mock.calls[0][0]; + + expect(taskClaimingOpts.strategy).toBe('unsafe_mget'); + + mockTaskTypeRunFn.mockImplementation(async () => { + await new Promise((resolve) => setTimeout(resolve, 2000)); + return { state: {} }; + }); + + // inject a task to run and ensure it is claimed and run + const id1 = uuidV4(); + await injectTask(kibanaServer.coreStart.elasticsearch.client.asInternalUser, { + id: id1, + taskType: 'fooType', + params: { foo: true }, + state: { foo: 'test', bar: 'test', baz: 'test' }, + stateVersion: 4, + runAt: new Date(), + enabled: true, + scheduledAt: new Date(), + attempts: 0, + status: TaskStatus.Idle, + startedAt: null, + timeoutOverride: '5s', + retryAt: null, + ownerId: null, + }); + + await retry(async () => { + expect(mockTaskTypeRunFn).toHaveBeenCalledTimes(1); + }); + + if (kibanaServer) { + await kibanaServer.stop(); + } + + const setupResultDefault = await setupKibanaServer(); + kibanaServer = setupResultDefault.kibanaServer; + + taskClaimingOpts = TaskClaimingMock.mock.calls[1][0]; + expect(taskClaimingOpts.strategy).toBe('default'); + + // task doc should still exist and be running + const task = await kibanaServer.coreStart.elasticsearch.client.asInternalUser.get<{ + task: SerializedConcreteTaskInstance; + }>({ + id: `task:${id1}`, + index: '.kibana_task_manager', + }); + + expect(task._source?.task?.status).toBe(TaskStatus.Running); + + await retry( + async () => { + expect(mockTaskTypeRunFn).toHaveBeenCalledTimes(2); + }, + { times: 60, intervalMs: 1000 } + ); + + if (kibanaServer) { + await kibanaServer.stop(); + } + if (esServer) { + await esServer.stop(); + } + }); +}); From 5478a06445714d72852ea65148972fba4d0319ed Mon Sep 17 00:00:00 2001 From: Tre Date: Fri, 21 Jun 2024 14:51:45 +0100 Subject: [PATCH 22/80] [FTR](reporting) update common serverless api tests to use api keys (#184819) ## Summary - update api tests in `x-pack/test_serverless/api_integration/test_suites/common/reporting/` - update one ui test in `x-pack/test_serverless/functional/test_suites/common/reporting/management.ts` - update snapshot `x-pack/test_serverless/api_integration/test_suites/common/reporting/__snapshots__/generate_csv_discover.snap` - update shared service in `x-pack/test_serverless/shared/services/svl_reporting.ts` Contributes to: https://github.com/elastic/kibana/issues/180834 --------- Co-authored-by: Tim Sullivan Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../common/reporting/datastream.ts | 10 ++++--- .../common/reporting/management.ts | 28 ++++++++++--------- .../common/reporting/management.ts | 18 ++++++------ .../shared/services/svl_reporting.ts | 2 +- 4 files changed, 31 insertions(+), 27 deletions(-) diff --git a/x-pack/test_serverless/api_integration/test_suites/common/reporting/datastream.ts b/x-pack/test_serverless/api_integration/test_suites/common/reporting/datastream.ts index 6cec7b7c2fcfb..168746c5ebe50 100644 --- a/x-pack/test_serverless/api_integration/test_suites/common/reporting/datastream.ts +++ b/x-pack/test_serverless/api_integration/test_suites/common/reporting/datastream.ts @@ -14,8 +14,8 @@ export default function ({ getService }: FtrProviderContext) { const kibanaServer = getService('kibanaServer'); const reportingAPI = getService('svlReportingApi'); const svlCommonApi = getService('svlCommonApi'); - const svlUserManager = getService('svlUserManager'); const supertestWithoutAuth = getService('supertestWithoutAuth'); + const svlUserManager = getService('svlUserManager'); let roleAuthc: RoleCredentials; let internalReqHeader: InternalRequestHeader; @@ -30,6 +30,7 @@ export default function ({ getService }: FtrProviderContext) { before(async () => { roleAuthc = await svlUserManager.createApiKeyForRole('admin'); internalReqHeader = svlCommonApi.getInternalRequestHeader(); + await esArchiver.load(archives.ecommerce.data); await kibanaServer.importExport.load(archives.ecommerce.savedObjects); @@ -60,11 +61,12 @@ export default function ({ getService }: FtrProviderContext) { }); it('uses the datastream configuration with set ILM policy', async () => { - const { body } = await supertestWithoutAuth + const { status, body } = await supertestWithoutAuth .get(`/api/index_management/data_streams/.kibana-reporting`) .set(internalReqHeader) - .set(roleAuthc.apiKeyHeader) - .expect(200); + .set(roleAuthc.apiKeyHeader); + + svlCommonApi.assertResponseStatusCode(200, status, body); expect(body).toEqual({ _meta: { diff --git a/x-pack/test_serverless/api_integration/test_suites/common/reporting/management.ts b/x-pack/test_serverless/api_integration/test_suites/common/reporting/management.ts index 8610bb6aa1c2f..953dd533b4a96 100644 --- a/x-pack/test_serverless/api_integration/test_suites/common/reporting/management.ts +++ b/x-pack/test_serverless/api_integration/test_suites/common/reporting/management.ts @@ -9,20 +9,17 @@ import { X_ELASTIC_INTERNAL_ORIGIN_REQUEST } from '@kbn/core-http-common/src/con import expect from '@kbn/expect'; import { INTERNAL_ROUTES } from '@kbn/reporting-common'; import { FtrProviderContext } from '../../../ftr_provider_context'; +import { RoleCredentials } from '../../../../shared/services'; // the archived data holds a report created by test_user -const TEST_USERNAME = 'test_user'; -const TEST_USER_PASSWORD = 'changeme'; const API_HEADER: [string, string] = ['kbn-xsrf', 'reporting']; const INTERNAL_HEADER: [string, string] = [X_ELASTIC_INTERNAL_ORIGIN_REQUEST, 'Kibana']; export default ({ getService }: FtrProviderContext) => { const esArchiver = getService('esArchiver'); - const supertest = getService('supertestWithoutAuth'); - const config = getService('config'); - - const REPORTING_USER_USERNAME = config.get('servers.kibana.username'); - const REPORTING_USER_PASSWORD = config.get('servers.kibana.password'); + const supertestWithoutAuth = getService('supertestWithoutAuth'); + const svlUserManager = getService('svlUserManager'); + let roleAuthc: RoleCredentials; describe('Reporting Management', function () { // security_exception: action [indices:admin/create] is unauthorized for user [elastic] with effective roles [superuser] on restricted indices [.reporting-2020.04.19], this action is granted by the index privileges [create_index,manage,all] @@ -30,12 +27,17 @@ export default ({ getService }: FtrProviderContext) => { const dataArchive = 'x-pack/test/functional/es_archives/reporting/archived_reports'; + before(async () => { + roleAuthc = await svlUserManager.createApiKeyForRole('admin'); + }); + beforeEach(async () => { await esArchiver.load(dataArchive); }); after(async () => { await esArchiver.unload(dataArchive); + await svlUserManager.invalidateApiKeyForRole(roleAuthc); }); describe('Deletion', () => { @@ -43,22 +45,22 @@ export default ({ getService }: FtrProviderContext) => { // archived data uses the test user but functionality for specific users is not possible yet for svl xit(`user can delete a report they've created`, async () => { - const response = await supertest + const response = await supertestWithoutAuth .delete(`${INTERNAL_ROUTES.JOBS.DELETE_PREFIX}/${DELETE_REPORT_ID}`) - .auth(TEST_USERNAME, TEST_USER_PASSWORD) .set(...API_HEADER) - .set(...INTERNAL_HEADER); + .set(...INTERNAL_HEADER) + .set(roleAuthc.apiKeyHeader); expect(response.status).to.be(200); expect(response.body).to.eql({ deleted: true }); }); it(`user can not delete a report they haven't created`, async () => { - const response = await supertest + const response = await supertestWithoutAuth .delete(`${INTERNAL_ROUTES.JOBS.DELETE_PREFIX}/${DELETE_REPORT_ID}`) - .auth(REPORTING_USER_USERNAME, REPORTING_USER_PASSWORD) .set(...API_HEADER) - .set(...INTERNAL_HEADER); + .set(...INTERNAL_HEADER) + .set(roleAuthc.apiKeyHeader); expect(response.status).to.be(404); expect(response.body.message).to.be('Not Found'); diff --git a/x-pack/test_serverless/functional/test_suites/common/reporting/management.ts b/x-pack/test_serverless/functional/test_suites/common/reporting/management.ts index be4c365263dbd..bb875e7fac186 100644 --- a/x-pack/test_serverless/functional/test_suites/common/reporting/management.ts +++ b/x-pack/test_serverless/functional/test_suites/common/reporting/management.ts @@ -20,10 +20,10 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => { const retry = getService('retry'); const PageObjects = getPageObjects(['common', 'svlCommonPage', 'header']); const reportingAPI = getService('svlReportingApi'); - const config = getService('config'); - const svlCommonApi = getService('svlCommonApi'); const svlUserManager = getService('svlUserManager'); + const svlCommonApi = getService('svlCommonApi'); let roleAuthc: RoleCredentials; + let roleName: string; let internalReqHeader: InternalRequestHeader; const navigateToReportingManagement = async () => { @@ -56,11 +56,9 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => { }; // Kibana CI and MKI use different users - const TEST_USERNAME = config.get('servers.kibana.username'); - const TEST_PASSWORD = config.get('servers.kibana.password'); - before('initialize saved object archive', async () => { - roleAuthc = await svlUserManager.createApiKeyForRole('admin'); + roleName = 'admin'; + roleAuthc = await svlUserManager.createApiKeyForRole(roleName); internalReqHeader = svlCommonApi.getInternalRequestHeader(); // add test saved search object await kibanaServer.importExport.load(savedObjectsArchive); @@ -69,6 +67,7 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => { after('clean up archives', async () => { await kibanaServer.importExport.unload(savedObjectsArchive); await svlUserManager.invalidateApiKeyForRole(roleAuthc); + await svlUserManager.invalidateApiKeyForRole(roleAuthc); }); // Cant auth into the route as it's structured currently @@ -87,16 +86,17 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => { }); // Skipping test for now because functionality is not yet possible to test + // See details: https://github.com/elastic/kibana/issues/186558 xit(`user doesn't see a job another user has created`, async () => { - log.debug(`creating a csv report job as '${TEST_USERNAME}'`); + log.debug(`creating a csv report job using api keys for role: [${roleName}]`); const { job: { id: jobId }, } = await reportingAPI.createReportJobInternal( CSV_REPORT_TYPE_V2, job, - TEST_USERNAME, - TEST_PASSWORD + roleAuthc, + internalReqHeader ); await navigateToReportingManagement(); diff --git a/x-pack/test_serverless/shared/services/svl_reporting.ts b/x-pack/test_serverless/shared/services/svl_reporting.ts index f3cf4065c31f1..cd231ee8e77e1 100644 --- a/x-pack/test_serverless/shared/services/svl_reporting.ts +++ b/x-pack/test_serverless/shared/services/svl_reporting.ts @@ -98,7 +98,7 @@ export function SvlReportingServiceProvider({ getService }: FtrProviderContext) }, /* - * This function is only used in the API tests, funtional tests we have to click the download link in the UI + * This function is only used in the API tests, functional tests we have to click the download link in the UI */ async getCompletedJobOutput( downloadReportPath: string, From d3897a93c2cb30a6218c4c09380b26c5dcfa5955 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Loix?= Date: Fri, 21 Jun 2024 14:55:44 +0100 Subject: [PATCH 23/80] [Stateful sidenav] Fix isSolutionNavigationEnabled$ (#186611) --- src/plugins/navigation/public/plugin.test.ts | 82 +++++++++++++++++++- src/plugins/navigation/public/plugin.tsx | 32 ++++++-- src/plugins/navigation/tsconfig.json | 1 - 3 files changed, 103 insertions(+), 12 deletions(-) diff --git a/src/plugins/navigation/public/plugin.test.ts b/src/plugins/navigation/public/plugin.test.ts index 6ebdfbe5003a2..e5c3a88babaf1 100644 --- a/src/plugins/navigation/public/plugin.test.ts +++ b/src/plugins/navigation/public/plugin.test.ts @@ -14,7 +14,6 @@ import { cloudExperimentsMock } from '@kbn/cloud-experiments-plugin/common/mocks import { spacesPluginMock } from '@kbn/spaces-plugin/public/mocks'; import type { Space } from '@kbn/spaces-plugin/public'; import type { BuildFlavor } from '@kbn/config'; -import type { UserSettingsData } from '@kbn/user-profile-components'; import { SOLUTION_NAV_FEATURE_FLAG_NAME } from '../common'; import { NavigationPublicPlugin } from './plugin'; @@ -32,10 +31,8 @@ const setup = ( }, { buildFlavor = 'traditional', - userSettings = {}, }: { buildFlavor?: BuildFlavor; - userSettings?: UserSettingsData; } = {} ) => { const initializerContext = coreMock.createPluginInitializerContext({}, { buildFlavor }); @@ -219,6 +216,85 @@ describe('Navigation Plugin', () => { }); describe('isSolutionNavEnabled$', () => { + // This test will need to be changed when we remove the feature flag + it('should be off by default', async () => { + const { plugin, coreStart, unifiedSearch, cloud } = setup({ featureOn }); + + const { isSolutionNavEnabled$ } = plugin.start(coreStart, { + unifiedSearch, + cloud, + }); + await new Promise((resolve) => setTimeout(resolve)); + + const isEnabled = await firstValueFrom(isSolutionNavEnabled$); + expect(isEnabled).toBe(false); + }); + + it('should be off if feature flag if "ON" but space solution is "classic" or "undefined"', async () => { + const { plugin, coreStart, unifiedSearch, cloud, cloudExperiments, spaces } = setup({ + featureOn, + }); + + cloudExperiments.getVariation.mockResolvedValue(true); // Feature flag ON + + { + spaces.getActiveSpace$ = jest + .fn() + .mockReturnValue(of({ solution: undefined } as Pick)); + + const { isSolutionNavEnabled$ } = plugin.start(coreStart, { + unifiedSearch, + cloud, + cloudExperiments, + spaces, + }); + await new Promise((resolve) => setTimeout(resolve)); + + const isEnabled = await firstValueFrom(isSolutionNavEnabled$); + expect(isEnabled).toBe(false); + } + + { + spaces.getActiveSpace$ = jest + .fn() + .mockReturnValue(of({ solution: 'classic' } as Pick)); + + const { isSolutionNavEnabled$ } = plugin.start(coreStart, { + unifiedSearch, + cloud, + cloudExperiments, + spaces, + }); + await new Promise((resolve) => setTimeout(resolve)); + + const isEnabled = await firstValueFrom(isSolutionNavEnabled$); + expect(isEnabled).toBe(false); + } + }); + + it('should be on if feature flag if "ON" and space solution is set', async () => { + const { plugin, coreStart, unifiedSearch, cloud, cloudExperiments, spaces } = setup({ + featureOn, + }); + + cloudExperiments.getVariation.mockResolvedValue(true); // Feature flag ON + + spaces.getActiveSpace$ = jest + .fn() + .mockReturnValue(of({ solution: 'es' } as Pick)); + + const { isSolutionNavEnabled$ } = plugin.start(coreStart, { + unifiedSearch, + cloud, + cloudExperiments, + spaces, + }); + await new Promise((resolve) => setTimeout(resolve)); + + const isEnabled = await firstValueFrom(isSolutionNavEnabled$); + expect(isEnabled).toBe(true); + }); + it('on serverless should flag must be disabled', async () => { const { plugin, coreStart, unifiedSearch, cloud, cloudExperiments } = setup( { featureOn }, diff --git a/src/plugins/navigation/public/plugin.tsx b/src/plugins/navigation/public/plugin.tsx index 8aa9eea2351d6..bef9b7c3a933c 100644 --- a/src/plugins/navigation/public/plugin.tsx +++ b/src/plugins/navigation/public/plugin.tsx @@ -6,7 +6,16 @@ * Side Public License, v 1. */ import React from 'react'; -import { firstValueFrom, from, of, ReplaySubject, shareReplay, take, combineLatest } from 'rxjs'; +import { + firstValueFrom, + from, + of, + ReplaySubject, + shareReplay, + take, + combineLatest, + map, +} from 'rxjs'; import { PluginInitializerContext, CoreSetup, CoreStart, Plugin } from '@kbn/core/public'; import type { UnifiedSearchPublicPluginStart } from '@kbn/unified-search-plugin/public'; import type { Space } from '@kbn/spaces-plugin/public'; @@ -119,7 +128,14 @@ export class NavigationPublicPlugin this.addSolutionNavigation(solutionNavigation); }); }, - isSolutionNavEnabled$: this.isSolutionNavExperiementEnabled$, + isSolutionNavEnabled$: combineLatest([ + this.isSolutionNavExperiementEnabled$, + activeSpace$, + ]).pipe( + map(([isFeatureEnabled, activeSpace]) => { + return getIsProjectNav(isFeatureEnabled, activeSpace?.solution) && !isServerless; + }) + ), }; } @@ -169,11 +185,7 @@ export class NavigationPublicPlugin }: { isFeatureEnabled: boolean; isServerless: boolean; activeSpace?: Space } ) { const solutionView = activeSpace?.solution; - const isProjectNav = - isFeatureEnabled && - Boolean(solutionView) && - isKnownSolutionView(solutionView) && - solutionView !== 'classic'; + const isProjectNav = getIsProjectNav(isFeatureEnabled, solutionView) && !isServerless; // On serverless the chrome style is already set by the serverless plugin if (!isServerless) { @@ -186,6 +198,10 @@ export class NavigationPublicPlugin } } +function getIsProjectNav(isFeatureEnabled: boolean, solutionView?: string) { + return isFeatureEnabled && Boolean(solutionView) && isKnownSolutionView(solutionView); +} + function isKnownSolutionView(solution?: string) { - return solution && ['oblt', 'es', 'security'].includes(solution); + return Boolean(solution) && ['oblt', 'es', 'security'].includes(solution!); } diff --git a/src/plugins/navigation/tsconfig.json b/src/plugins/navigation/tsconfig.json index 69c26355ea7eb..53faee865c065 100644 --- a/src/plugins/navigation/tsconfig.json +++ b/src/plugins/navigation/tsconfig.json @@ -22,7 +22,6 @@ "@kbn/shared-ux-chrome-navigation", "@kbn/cloud-plugin", "@kbn/config", - "@kbn/user-profile-components", "@kbn/cloud-experiments-plugin", "@kbn/spaces-plugin", ], From 350044a92780e518ca282682c42575a30fe8355a Mon Sep 17 00:00:00 2001 From: Alex Szabo Date: Fri, 21 Jun 2024 16:16:02 +0200 Subject: [PATCH 24/80] [BK] Migrate emergency-release-branch-testing pipeline to the new infra (#186537) ## Summary Migrates (without history preservation) the emergency release branch testing job to the new infra Verified through: - [x] locally tested the pipeline definition file - [x] ran the testing pipeline through the migration staging job (https://buildkite.com/elastic/kibana-migration-pipeline-staging/builds/125#_) --- .../kibana-serverless-release-testing.yml | 46 +++++++++++++++++++ .../locations.yml | 1 + .../emergency_release_branch_testing.yml | 5 +- 3 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 .buildkite/pipeline-resource-definitions/kibana-serverless-release-testing.yml diff --git a/.buildkite/pipeline-resource-definitions/kibana-serverless-release-testing.yml b/.buildkite/pipeline-resource-definitions/kibana-serverless-release-testing.yml new file mode 100644 index 0000000000000..fe3fdaf49c748 --- /dev/null +++ b/.buildkite/pipeline-resource-definitions/kibana-serverless-release-testing.yml @@ -0,0 +1,46 @@ +# yaml-language-server: $schema=https://gist.githubusercontent.com/elasticmachine/988b80dae436cafea07d9a4a460a011d/raw/rre.schema.json +apiVersion: backstage.io/v1alpha1 +kind: Resource +metadata: + name: bk-kibana-serverless-emergency-release-branch-testing + description: Runs testing for emergency release / hotfix branches + links: + - url: 'https://buildkite.com/elastic/kibana-serverless-emergency-release-branch-testing' + title: Pipeline link +spec: + type: buildkite-pipeline + owner: 'group:kibana-operations' + system: buildkite + implementation: + apiVersion: buildkite.elastic.dev/v1 + kind: Pipeline + metadata: + name: kibana / serverless / emergency release branch testing + description: Runs testing for emergency release / hotfix branches + spec: + env: + SLACK_NOTIFICATIONS_CHANNEL: '#kibana-mission-control' + ELASTIC_SLACK_NOTIFICATIONS_ENABLED: 'true' + allow_rebuilds: true + branch_configuration: deploy-fix@* + default_branch: main + repository: elastic/kibana + pipeline_file: .buildkite/pipelines/es_serverless/emergency_release_branch_testing.yml + skip_intermediate_builds: false + provider_settings: + build_branches: true + build_pull_requests: false + publish_commit_status: true + trigger_mode: code + build_tags: false + prefix_pull_request_fork_branch_names: false + skip_pull_request_builds_for_existing_commits: true + teams: + everyone: + access_level: BUILD_AND_READ + kibana-operations: + access_level: MANAGE_BUILD_AND_READ + appex-qa: + access_level: MANAGE_BUILD_AND_READ + kibana-tech-leads: + access_level: MANAGE_BUILD_AND_READ diff --git a/.buildkite/pipeline-resource-definitions/locations.yml b/.buildkite/pipeline-resource-definitions/locations.yml index f9dc312a26582..55af40868bd4a 100644 --- a/.buildkite/pipeline-resource-definitions/locations.yml +++ b/.buildkite/pipeline-resource-definitions/locations.yml @@ -27,6 +27,7 @@ spec: - https://github.com/elastic/kibana/blob/main/.buildkite/pipeline-resource-definitions/kibana-performance-data-set-extraction-daily.yml - https://github.com/elastic/kibana/blob/main/.buildkite/pipeline-resource-definitions/kibana-pr.yml - https://github.com/elastic/kibana/blob/main/.buildkite/pipeline-resource-definitions/kibana-purge-cloud-deployments.yml + - https://github.com/elastic/kibana/blob/main/.buildkite/pipeline-resource-definitions/kibana-serverless-release-testing.yml - https://github.com/elastic/kibana/blob/main/.buildkite/pipeline-resource-definitions/kibana-serverless-release.yml - https://github.com/elastic/kibana/blob/main/.buildkite/pipeline-resource-definitions/scalability_testing-daily.yml - https://github.com/elastic/kibana/blob/main/.buildkite/pipeline-resource-definitions/security-solution-ess/security-solution-ess.yml diff --git a/.buildkite/pipelines/es_serverless/emergency_release_branch_testing.yml b/.buildkite/pipelines/es_serverless/emergency_release_branch_testing.yml index 1952900c1aab1..b0a79427f197a 100644 --- a/.buildkite/pipelines/es_serverless/emergency_release_branch_testing.yml +++ b/.buildkite/pipelines/es_serverless/emergency_release_branch_testing.yml @@ -2,7 +2,10 @@ ## Triggers the artifacts container image build for emergency releases agents: - queue: kibana-default + image: family/kibana-ubuntu-2004 + imageProject: elastic-images-prod + provider: gcp + machineType: n2-standard-2 notify: - slack: "#kibana-mission-control" From 96497f90f4565be9a0d18ffbce553929aad094bd Mon Sep 17 00:00:00 2001 From: Robert Austin Date: Fri, 21 Jun 2024 10:27:23 -0400 Subject: [PATCH 25/80] Mark stable entity-analytics MKI tests for quality gate 2 (#182618) ## Summary Mark stable entity-analytics MKI tests for quality gate 2. These tests have not had recent failures on MKI and they represent critical paths for our feature. ## Follow-up We should aim to continue enabling more of our tests. ### Checklist Delete any items that are not applicable to this PR. - [ ] Any text added follows [EUI's writing guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses sentence case text and includes [i18n support](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md) - [ ] [Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html) was added for features that require explanation or tutorials - [ ] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios - [ ] [Flaky Test Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was used on any tests changed - [ ] Any UI touched in this PR is usable by keyboard only (learn more about [keyboard accessibility](https://webaim.org/techniques/keyboard/)) - [ ] Any UI touched in this PR does not create any new axe failures (run axe in browser: [FF](https://addons.mozilla.org/en-US/firefox/addon/axe-devtools/), [Chrome](https://chrome.google.com/webstore/detail/axe-web-accessibility-tes/lhdoppojpmngadmnindnejefpokejbdd?hl=en-US)) - [ ] If a plugin configuration key changed, check if it needs to be allowlisted in the cloud and added to the [docker list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker) - [ ] This renders correctly on smaller devices using a responsive layout. (You can test this [in your browser](https://www.browserstack.com/guide/responsive-testing-on-local-server)) - [ ] This was checked for [cross-browser compatibility](https://www.elastic.co/support/matrix#matrix_browsers) ### Risk Matrix Delete this section if it is not applicable to this PR. Before closing this PR, invite QA, stakeholders, and other developers to identify risks that should be tested prior to the change/feature release. When forming the risk matrix, consider some of the following examples and how they may potentially impact the change: | Risk | Probability | Severity | Mitigation/Notes | |---------------------------|-------------|----------|-------------------------| | Multiple Spaces—unexpected behavior in non-default Kibana Space. | Low | High | Integration tests will verify that all features are still supported in non-default Kibana Space and when user switches between spaces. | | Multiple nodes—Elasticsearch polling might have race conditions when multiple Kibana nodes are polling for the same tasks. | High | Low | Tasks are idempotent, so executing them multiple times will not result in logical error, but will degrade performance. To test for this case we add plenty of unit tests around this logic and document manual testing procedure. | | Code should gracefully handle cases when feature X or plugin Y are disabled. | Medium | High | Unit tests will verify that any feature flag or plugin combination still results in our service operational. | | [See more potential risk examples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx) | ### For maintainers - [ ] This was checked for breaking API changes and was [labeled appropriately](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process) --- .../trial_license_complete_tier/asset_criticality_csv_upload.ts | 2 +- .../trial_license_complete_tier/init_and_status_apis.ts | 2 +- .../risk_scoring_task/task_execution.ts | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/x-pack/test/security_solution_api_integration/test_suites/entity_analytics/risk_engine/trial_license_complete_tier/asset_criticality_csv_upload.ts b/x-pack/test/security_solution_api_integration/test_suites/entity_analytics/risk_engine/trial_license_complete_tier/asset_criticality_csv_upload.ts index 123fd4cecf0cb..3e443226542f1 100644 --- a/x-pack/test/security_solution_api_integration/test_suites/entity_analytics/risk_engine/trial_license_complete_tier/asset_criticality_csv_upload.ts +++ b/x-pack/test/security_solution_api_integration/test_suites/entity_analytics/risk_engine/trial_license_complete_tier/asset_criticality_csv_upload.ts @@ -15,7 +15,7 @@ import { } from '../../utils'; import { FtrProviderContext } from '../../../../ftr_provider_context'; export default ({ getService }: FtrProviderContext) => { - describe('@ess @serverless Entity Analytics - Asset Criticality CSV upload', () => { + describe('@ess @serverless @serverlessQA Entity Analytics - Asset Criticality CSV upload', () => { const esClient = getService('es'); const supertest = getService('supertest'); const assetCriticalityRoutes = assetCriticalityRouteHelpersFactory(supertest); diff --git a/x-pack/test/security_solution_api_integration/test_suites/entity_analytics/risk_engine/trial_license_complete_tier/init_and_status_apis.ts b/x-pack/test/security_solution_api_integration/test_suites/entity_analytics/risk_engine/trial_license_complete_tier/init_and_status_apis.ts index 62ef6eee01f4f..48c208e99fc96 100644 --- a/x-pack/test/security_solution_api_integration/test_suites/entity_analytics/risk_engine/trial_license_complete_tier/init_and_status_apis.ts +++ b/x-pack/test/security_solution_api_integration/test_suites/entity_analytics/risk_engine/trial_license_complete_tier/init_and_status_apis.ts @@ -27,7 +27,7 @@ export default ({ getService }: FtrProviderContext) => { const riskEngineRoutes = riskEngineRouteHelpersFactory(supertest); const log = getService('log'); - describe('@ess @serverless init_and_status_apis', () => { + describe('@ess @serverless @serverlessQA init_and_status_apis', () => { beforeEach(async () => { await cleanRiskEngine({ kibanaServer, es, log }); }); diff --git a/x-pack/test/security_solution_api_integration/test_suites/entity_analytics/risk_engine/trial_license_complete_tier/risk_scoring_task/task_execution.ts b/x-pack/test/security_solution_api_integration/test_suites/entity_analytics/risk_engine/trial_license_complete_tier/risk_scoring_task/task_execution.ts index d53ffc707b396..21de936b4ff3a 100644 --- a/x-pack/test/security_solution_api_integration/test_suites/entity_analytics/risk_engine/trial_license_complete_tier/risk_scoring_task/task_execution.ts +++ b/x-pack/test/security_solution_api_integration/test_suites/entity_analytics/risk_engine/trial_license_complete_tier/risk_scoring_task/task_execution.ts @@ -36,7 +36,7 @@ export default ({ getService }: FtrProviderContext): void => { const createAndSyncRuleAndAlerts = createAndSyncRuleAndAlertsFactory({ supertest, log }); const riskEngineRoutes = riskEngineRouteHelpersFactory(supertest); - describe('@ess @serverless Risk Scoring Task Execution', () => { + describe('@ess @serverless @serverlessQA Risk Scoring Task Execution', () => { context('with auditbeat data', () => { const { indexListOfDocuments } = dataGeneratorFactory({ es, From 4c3afc5f42036ace9964e3900b5f5a37418a95c7 Mon Sep 17 00:00:00 2001 From: Dima Arnautov Date: Fri, 21 Jun 2024 16:43:20 +0200 Subject: [PATCH 26/80] [ML] Update code editors for Transform, Data Frame and Anomaly Detection wizards (#184518) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Summary Closes https://github.com/elastic/kibana/issues/66716 Improves code editors in Anomaly detection, Data frame analytics and Transform wizards with autocomplete, data types validation and inline documentation from elasticsearch specification. ![Jun-19-2024 15-33-00](https://github.com/elastic/kibana/assets/5236598/c230deae-962e-4295-8146-0bf3579a66bd) Adds a package with JSON schemas extracted from the [openapi output of elasticsearch-specification](https://github.com/elastic/elasticsearch-specification/tree/main/output/openapi). Schema file is generated per editor/endpoint, keeping only relevant components. To test the script locally, execute ``` yarn run jsonSchema ``` from `/x-pack/packages/ml/json_schemas`. By default it assumes that your `elasticsearch-specification` folder is located next to the `kibana` repo, but you can also provide a path to `openapi` file as a parameter, e.g. `yarn run jsonSchema /Users/my_user/dev/elasticsearch-specification/output/openapi/elasticsearch-serverless-openapi.json` #### How JSON files are served JSON files are asynchronously imported at the React component level and passed to the `CodeEditor` instances on mount. Initially I tried different approaches to take advantage of CDN, but unfortunately it didn't work out: ##### Using static assets I made an attempt to retrieve a URL to the JSON schema file as a static asset using Kibana service ```typescript const schemaJsonAsset = http?.staticAssets.getPluginAssetHref('my_schema.json') ?? ''; ``` and passing it as part of the schema definition, but the browser was blocking a request 🤔 ![image](https://github.com/elastic/kibana/assets/5236598/accf47b1-2a89-4408-9c5a-36bb269e8889) ![image](https://github.com/elastic/kibana/assets/5236598/aa64ae66-8749-4d4d-b645-6cd11b221c68) ##### Using raw loader Approach with a raw loader also didn't succeed. ```typescript import mySchema from '!!raw-loader!./my_schema.json'; ```
See error ``` ERROR in ./public/app/sections/create_transform/components/advanced_pivot_editor/my_schema.json (/Users/dimaarnautov/Repos/kibana/node_modules/raw-loader/dist/cjs.js!./public/app/sections/create_transform/components/advanced_pivot_editor/my_schema.json) │ Module parse failed: Unexpected token 'e', "export def"... is not valid JSON while parsing 'export default "{\n \"type\": \"object\' │ File was processed with these loaders: │ * ../../../node_modules/raw-loader/dist/cjs.js │ You may need an additional loader to handle the result of these loaders. │ SyntaxError: Unexpected token 'e', "export def"... is not valid JSON while parsing 'export default "{\n \"type\": \"object\' │ at JSON.parse () │ at parseJson (/Users/dimaarnautov/Repos/kibana/node_modules/json-parse-better-errors/index.js:7:17) │ at JsonParser.parse (/Users/dimaarnautov/Repos/kibana/node_modules/webpack/lib/JsonParser.js:16:16) │ at /Users/dimaarnautov/Repos/kibana/node_modules/webpack/lib/NormalModule.js:482:32 │ at /Users/dimaarnautov/Repos/kibana/node_modules/webpack/lib/NormalModule.js:358:12 │ at /Users/dimaarnautov/Repos/kibana/node_modules/loader-runner/lib/LoaderRunner.js:373:3 │ at iterateNormalLoaders (/Users/dimaarnautov/Repos/kibana/node_modules/loader-runner/lib/LoaderRunner.js:214:10) │ at iterateNormalLoaders (/Users/dimaarnautov/Repos/kibana/node_modules/loader-runner/lib/LoaderRunner.js:221:10) │ at /Users/dimaarnautov/Repos/kibana/node_modules/loader-runner/lib/LoaderRunner.js:236:3 │ at runSyncOrAsync (/Users/dimaarnautov/Repos/kibana/node_modules/loader-runner/lib/LoaderRunner.js:130:11) │ at iterateNormalLoaders (/Users/dimaarnautov/Repos/kibana/node_modules/loader-runner/lib/LoaderRunner.js:232:2) │ at /Users/dimaarnautov/Repos/kibana/node_modules/loader-runner/lib/LoaderRunner.js:205:4 │ at /Users/dimaarnautov/Repos/kibana/node_modules/webpack/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:85:15 │ at processTicksAndRejections (node:internal/process/task_queues:77:11) ```
### Checklist - [ ] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios --- .github/CODEOWNERS | 1 + package.json | 1 + tsconfig.base.json | 2 + x-pack/packages/ml/json_schemas/README.md | 3 + .../ml/json_schemas}/index.ts | 2 +- .../packages/ml/json_schemas/jest.config.js | 12 + x-pack/packages/ml/json_schemas/kibana.jsonc | 5 + x-pack/packages/ml/json_schemas/package.json | 9 + .../packages/ml/json_schemas/scripts/index.ts | 21 + .../json_schemas/src/json_schema_service.ts | 171 + ..._ml_anomaly_detectors__job_id__schema.json | 10887 ++++++++++++++++ ...__ml_data_frame_analytics__id__schema.json | 5016 +++++++ ...t___ml_datafeeds__datafeed_id__schema.json | 8054 ++++++++++++ ...ransform__transform_id___pivot_schema.json | 7852 +++++++++++ .../ml/json_schemas/src}/schema_overrides.ts | 4 +- .../ml/json_schemas/src}/types.ts | 0 x-pack/packages/ml/json_schemas/tsconfig.json | 20 + .../advanced_step/advanced_step_details.tsx | 2 +- .../advanced_step/advanced_step_form.tsx | 4 +- .../outlier_hyper_parameters.tsx | 4 +- .../create_analytics_advanced_editor.tsx | 37 +- .../editor_component.tsx | 70 + .../hooks/use_create_analytics_form/state.ts | 8 +- .../json_editor_flyout/json_editor_flyout.tsx | 45 +- .../apidoc_scripts/apidoc_config/apidoc.json | 5 +- .../json_schema_service.test.ts | 612 - .../json_schema_service.ts | 153 - .../models/json_schema_service/openapi.json | 1235 -- x-pack/plugins/ml/server/plugin.ts | 2 - .../plugins/ml/server/routes/json_schema.ts | 56 - x-pack/plugins/ml/tsconfig.json | 1 + .../advanced_pivot_editor.tsx | 24 +- x-pack/plugins/transform/tsconfig.json | 4 +- .../outlier_detection_creation.ts | 4 +- ...outlier_detection_creation_saved_search.ts | 16 +- yarn.lock | 4 + 36 files changed, 32192 insertions(+), 2154 deletions(-) create mode 100644 x-pack/packages/ml/json_schemas/README.md rename x-pack/{plugins/ml/server/models/json_schema_service => packages/ml/json_schemas}/index.ts (80%) create mode 100644 x-pack/packages/ml/json_schemas/jest.config.js create mode 100644 x-pack/packages/ml/json_schemas/kibana.jsonc create mode 100644 x-pack/packages/ml/json_schemas/package.json create mode 100644 x-pack/packages/ml/json_schemas/scripts/index.ts create mode 100644 x-pack/packages/ml/json_schemas/src/json_schema_service.ts create mode 100644 x-pack/packages/ml/json_schemas/src/put___ml_anomaly_detectors__job_id__schema.json create mode 100644 x-pack/packages/ml/json_schemas/src/put___ml_data_frame_analytics__id__schema.json create mode 100644 x-pack/packages/ml/json_schemas/src/put___ml_datafeeds__datafeed_id__schema.json create mode 100644 x-pack/packages/ml/json_schemas/src/put___transform__transform_id___pivot_schema.json rename x-pack/{plugins/ml/server/models/json_schema_service => packages/ml/json_schemas/src}/schema_overrides.ts (82%) rename x-pack/{plugins/ml/server/models/json_schema_service => packages/ml/json_schemas/src}/types.ts (100%) create mode 100644 x-pack/packages/ml/json_schemas/tsconfig.json create mode 100644 x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/create_analytics_advanced_editor/editor_component.tsx delete mode 100644 x-pack/plugins/ml/server/models/json_schema_service/json_schema_service.test.ts delete mode 100644 x-pack/plugins/ml/server/models/json_schema_service/json_schema_service.ts delete mode 100644 x-pack/plugins/ml/server/models/json_schema_service/openapi.json delete mode 100644 x-pack/plugins/ml/server/routes/json_schema.ts diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index a6a45a24266a8..bdffb0e7e350f 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -510,6 +510,7 @@ packages/kbn-ipynb @elastic/search-kibana packages/kbn-jest-serializers @elastic/kibana-operations packages/kbn-journeys @elastic/kibana-operations @elastic/appex-qa packages/kbn-json-ast @elastic/kibana-operations +x-pack/packages/ml/json_schemas @elastic/ml-ui test/health_gateway/plugins/status @elastic/kibana-core test/plugin_functional/plugins/kbn_sample_panel_action @elastic/appex-sharedux test/plugin_functional/plugins/kbn_top_nav @elastic/kibana-core diff --git a/package.json b/package.json index a0777e361b67c..ca627a150f9b1 100644 --- a/package.json +++ b/package.json @@ -544,6 +544,7 @@ "@kbn/investigate-plugin": "link:x-pack/plugins/observability_solution/investigate", "@kbn/io-ts-utils": "link:packages/kbn-io-ts-utils", "@kbn/ipynb": "link:packages/kbn-ipynb", + "@kbn/json-schemas": "link:x-pack/packages/ml/json_schemas", "@kbn/kbn-health-gateway-status-plugin": "link:test/health_gateway/plugins/status", "@kbn/kbn-sample-panel-action-plugin": "link:test/plugin_functional/plugins/kbn_sample_panel_action", "@kbn/kbn-top-nav-plugin": "link:test/plugin_functional/plugins/kbn_top_nav", diff --git a/tsconfig.base.json b/tsconfig.base.json index 0f8d9a11563e0..6939208fcf5b2 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -1014,6 +1014,8 @@ "@kbn/journeys/*": ["packages/kbn-journeys/*"], "@kbn/json-ast": ["packages/kbn-json-ast"], "@kbn/json-ast/*": ["packages/kbn-json-ast/*"], + "@kbn/json-schemas": ["x-pack/packages/ml/json_schemas"], + "@kbn/json-schemas/*": ["x-pack/packages/ml/json_schemas/*"], "@kbn/kbn-health-gateway-status-plugin": ["test/health_gateway/plugins/status"], "@kbn/kbn-health-gateway-status-plugin/*": ["test/health_gateway/plugins/status/*"], "@kbn/kbn-sample-panel-action-plugin": ["test/plugin_functional/plugins/kbn_sample_panel_action"], diff --git a/x-pack/packages/ml/json_schemas/README.md b/x-pack/packages/ml/json_schemas/README.md new file mode 100644 index 0000000000000..1d8de910d38f7 --- /dev/null +++ b/x-pack/packages/ml/json_schemas/README.md @@ -0,0 +1,3 @@ +# @kbn/json-schemas + +JSON schema for code editors in Kibana diff --git a/x-pack/plugins/ml/server/models/json_schema_service/index.ts b/x-pack/packages/ml/json_schemas/index.ts similarity index 80% rename from x-pack/plugins/ml/server/models/json_schema_service/index.ts rename to x-pack/packages/ml/json_schemas/index.ts index 348fb5b0c46ea..a03ea607669e5 100644 --- a/x-pack/plugins/ml/server/models/json_schema_service/index.ts +++ b/x-pack/packages/ml/json_schemas/index.ts @@ -5,4 +5,4 @@ * 2.0. */ -export { JsonSchemaService } from './json_schema_service'; +export { JsonSchemaService } from './src/json_schema_service'; diff --git a/x-pack/packages/ml/json_schemas/jest.config.js b/x-pack/packages/ml/json_schemas/jest.config.js new file mode 100644 index 0000000000000..ee3bee9c626bf --- /dev/null +++ b/x-pack/packages/ml/json_schemas/jest.config.js @@ -0,0 +1,12 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +module.exports = { + preset: '@kbn/test/jest_node', + rootDir: '../../../..', + roots: ['/x-pack/packages/ml/json_schemas'], +}; diff --git a/x-pack/packages/ml/json_schemas/kibana.jsonc b/x-pack/packages/ml/json_schemas/kibana.jsonc new file mode 100644 index 0000000000000..4233a2938ecae --- /dev/null +++ b/x-pack/packages/ml/json_schemas/kibana.jsonc @@ -0,0 +1,5 @@ +{ + "type": "shared-common", + "id": "@kbn/json-schemas", + "owner": "@elastic/ml-ui" +} diff --git a/x-pack/packages/ml/json_schemas/package.json b/x-pack/packages/ml/json_schemas/package.json new file mode 100644 index 0000000000000..62e2574b153a5 --- /dev/null +++ b/x-pack/packages/ml/json_schemas/package.json @@ -0,0 +1,9 @@ +{ + "name": "@kbn/json-schemas", + "private": true, + "version": "1.0.0", + "license": "Elastic License 2.0", + "scripts": { + "jsonSchema": "../../../../node_modules/ts-node/dist/bin.js scripts/index.ts" + } +} diff --git a/x-pack/packages/ml/json_schemas/scripts/index.ts b/x-pack/packages/ml/json_schemas/scripts/index.ts new file mode 100644 index 0000000000000..6203a95f9df5b --- /dev/null +++ b/x-pack/packages/ml/json_schemas/scripts/index.ts @@ -0,0 +1,21 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { run } from '@kbn/dev-cli-runner'; +import { JsonSchemaService } from '../src/json_schema_service'; + +const pathToOpenAPI = process.argv[2]; + +run(async ({ log }) => { + try { + await new JsonSchemaService(pathToOpenAPI).createSchemaFiles(); + log.success('Schema files created successfully.'); + } catch (e) { + log.error(`Error creating schema files: ${e}`); + process.exit(1); + } +}); diff --git a/x-pack/packages/ml/json_schemas/src/json_schema_service.ts b/x-pack/packages/ml/json_schemas/src/json_schema_service.ts new file mode 100644 index 0000000000000..e6974a5486f72 --- /dev/null +++ b/x-pack/packages/ml/json_schemas/src/json_schema_service.ts @@ -0,0 +1,171 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import Fs from 'fs'; +import Path from 'path'; +import { jsonSchemaOverrides } from './schema_overrides'; +import { type PropertyDefinition } from './types'; + +export type EditorEndpoints = typeof supportedEndpoints[number]['path']; + +const supportedEndpoints = [ + { + path: '/_ml/anomaly_detectors/{job_id}' as const, + method: 'put', + }, + { + path: '/_ml/datafeeds/{datafeed_id}' as const, + method: 'put', + }, + { + path: '/_transform/{transform_id}' as const, + method: 'put', + props: ['pivot'], + }, + { + path: '/_ml/data_frame/analytics/{id}' as const, + method: 'put', + }, +]; + +/** + * + */ +export class JsonSchemaService { + constructor( + // By default assume that openapi file is in the next to Kibana folder + private readonly pathToOpenAPI: string = Path.resolve( + __dirname, + '..', + '..', + '..', + '..', + '..', + '..', + 'elasticsearch-specification', + 'output', + 'openapi', + 'elasticsearch-serverless-openapi.json' + ) + ) {} + + private applyOverrides(path: EditorEndpoints, schema: PropertyDefinition): PropertyDefinition { + const overrides = jsonSchemaOverrides[path]; + + if (!overrides) return schema; + + return { + ...schema, + ...overrides, + properties: { + ...schema.properties, + ...overrides.properties, + }, + }; + } + + private allComponents: Record = {}; + private componentsDict = new Set(); + + /** + * Extracts only used components + */ + private extractComponents(bodySchema: object) { + for (const prop of Object.values(bodySchema)) { + if (typeof prop !== 'object' || !prop) { + continue; + } + + // Check if prop contains a $ref + if (prop.$ref) { + if (!this.componentsDict.has(prop.$ref)) { + this.componentsDict.add(prop.$ref); + // Check all references of this ref + const schemaKey: string = prop.$ref.split('/').pop()!; + // @ts-ignore + this.extractComponents(this.allComponents.schemas[schemaKey]); + } + } + + this.extractComponents(prop); + } + } + + public async resolveSchema( + path: EditorEndpoints, + method: string, + props?: string[], + schema?: object + ) { + const fileContent = + schema ?? JSON.parse(Fs.readFileSync(Path.resolve(__dirname, 'openapi.json'), 'utf8')); + + const definition = fileContent.paths[path][method]; + + if (!definition) { + throw new Error('Schema definition is not defined'); + } + + let bodySchema = definition.requestBody.content['application/json'].schema; + + // Store components for a later use, to extract only used components + this.allComponents = fileContent.components; + + if (props) { + // Only extract requested properties from the schema + const propDef = bodySchema.properties[props[0]]; + if (propDef.$ref) { + bodySchema = fileContent.components.schemas[propDef.$ref.split('/').pop()!]; + } + } + + bodySchema = this.applyOverrides(path, bodySchema); + + // Extract only used components + this.extractComponents(bodySchema); + + const components = Array.from(this.componentsDict).reduce( + (acc, ref) => { + // Split component path + const componentName = ref.split('/').pop()!; + // @ts-ignore + acc.schemas[componentName] = fileContent.components.schemas[componentName]; + return acc; + }, + { schemas: {} } + ); + + return { + ...bodySchema, + components, + }; + } + + /** + * Generates schema files for each supported endpoint from the openapi file. + */ + public async createSchemaFiles() { + const schema = JSON.parse(Fs.readFileSync(this.pathToOpenAPI, 'utf8')); + + await Promise.all( + supportedEndpoints.map(async (e) => { + // need to extract schema in order to keep required components + this.componentsDict.clear(); + const result = await this.resolveSchema(e.path, e.method, e.props, schema); + Fs.writeFileSync( + Path.resolve( + __dirname, + `${e.method}_${e.path.replace(/[\{\}\/]/g, '_')}${ + e.props ? '__' + e.props.join('_') : '' + }_schema.json` + ), + JSON.stringify(result, null, 2) + ); + }) + ); + } +} diff --git a/x-pack/packages/ml/json_schemas/src/put___ml_anomaly_detectors__job_id__schema.json b/x-pack/packages/ml/json_schemas/src/put___ml_anomaly_detectors__job_id__schema.json new file mode 100644 index 0000000000000..79a871f1ef3fa --- /dev/null +++ b/x-pack/packages/ml/json_schemas/src/put___ml_anomaly_detectors__job_id__schema.json @@ -0,0 +1,10887 @@ +{ + "type": "object", + "properties": { + "allow_lazy_open": { + "description": "Advanced configuration option. Specifies whether this job can open when there is insufficient machine learning node capacity for it to be immediately assigned to a node. By default, if a machine learning node with capacity to run the job cannot immediately be found, the open anomaly detection jobs API returns an error. However, this is also subject to the cluster-wide `xpack.ml.max_lazy_ml_nodes` setting. If this option is set to true, the open anomaly detection jobs API does not return an error and the job waits in the opening state until sufficient machine learning node capacity is available.", + "type": "boolean" + }, + "analysis_config": { + "$ref": "#/components/schemas/ml._types:AnalysisConfig" + }, + "analysis_limits": { + "$ref": "#/components/schemas/ml._types:AnalysisLimits" + }, + "background_persist_interval": { + "$ref": "#/components/schemas/_types:Duration" + }, + "custom_settings": { + "$ref": "#/components/schemas/ml._types:CustomSettings" + }, + "daily_model_snapshot_retention_after_days": { + "description": "Advanced configuration option, which affects the automatic removal of old model snapshots for this job. It specifies a period of time (in days) after which only the first snapshot per day is retained. This period is relative to the timestamp of the most recent snapshot for this job. Valid values range from 0 to `model_snapshot_retention_days`.", + "type": "number" + }, + "data_description": { + "$ref": "#/components/schemas/ml._types:DataDescription" + }, + "datafeed_config": { + "$ref": "#/components/schemas/ml._types:DatafeedConfig" + }, + "description": { + "description": "A description of the job.", + "type": "string" + }, + "groups": { + "description": "A list of job groups. A job can belong to no groups or many.", + "type": "array", + "items": { + "type": "string" + } + }, + "model_plot_config": { + "$ref": "#/components/schemas/ml._types:ModelPlotConfig" + }, + "model_snapshot_retention_days": { + "description": "Advanced configuration option, which affects the automatic removal of old model snapshots for this job. It specifies the maximum period of time (in days) that snapshots are retained. This period is relative to the timestamp of the most recent snapshot for this job. By default, snapshots ten days older than the newest snapshot are deleted.", + "type": "number" + }, + "renormalization_window_days": { + "description": "Advanced configuration option. The period over which adjustments to the score are applied, as new data is seen. The default value is the longer of 30 days or 100 bucket spans.", + "type": "number" + }, + "results_index_name": { + "$ref": "#/components/schemas/_types:IndexName" + }, + "results_retention_days": { + "description": "Advanced configuration option. The period of time (in days) that results are retained. Age is calculated relative to the timestamp of the latest bucket result. If this property has a non-null value, once per day at 00:30 (server time), results that are the specified number of days older than the latest bucket result are deleted from Elasticsearch. The default value is null, which means all results are retained. Annotations generated by the system also count as results for retention purposes; they are deleted after the same number of days as results. Annotations added by users are retained forever.", + "type": "number" + }, + "job_id": { + "type": "string", + "description": "Identifier for the anomaly detection job." + } + }, + "required": [ + "analysis_config", + "data_description" + ], + "components": { + "schemas": { + "ml._types:AnalysisConfig": { + "type": "object", + "properties": { + "bucket_span": { + "$ref": "#/components/schemas/_types:Duration" + }, + "categorization_analyzer": { + "$ref": "#/components/schemas/ml._types:CategorizationAnalyzer" + }, + "categorization_field_name": { + "$ref": "#/components/schemas/_types:Field" + }, + "categorization_filters": { + "description": "If `categorization_field_name` is specified, you can also define optional filters. This property expects an array of regular expressions. The expressions are used to filter out matching sequences from the categorization field values. You can use this functionality to fine tune the categorization by excluding sequences from consideration when categories are defined. For example, you can exclude SQL statements that appear in your log files. This property cannot be used at the same time as `categorization_analyzer`. If you only want to define simple regular expression filters that are applied prior to tokenization, setting this property is the easiest method. If you also want to customize the tokenizer or post-tokenization filtering, use the `categorization_analyzer` property instead and include the filters as pattern_replace character filters. The effect is exactly the same.", + "type": "array", + "items": { + "type": "string" + } + }, + "detectors": { + "description": "Detector configuration objects specify which data fields a job analyzes. They also specify which analytical functions are used. You can specify multiple detectors for a job. If the detectors array does not contain at least one detector, no analysis can occur and an error is returned.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ml._types:Detector" + } + }, + "influencers": { + "description": "A comma separated list of influencer field names. Typically these can be the by, over, or partition fields that are used in the detector configuration. You might also want to use a field name that is not specifically named in a detector, but is available as part of the input data. When you use multiple detectors, the use of influencers is recommended as it aggregates results for each influencer entity.", + "type": "array", + "items": { + "$ref": "#/components/schemas/_types:Field" + } + }, + "latency": { + "$ref": "#/components/schemas/_types:Duration" + }, + "model_prune_window": { + "$ref": "#/components/schemas/_types:Duration" + }, + "multivariate_by_fields": { + "description": "This functionality is reserved for internal use. It is not supported for use in customer environments and is not subject to the support SLA of official GA features. If set to `true`, the analysis will automatically find correlations between metrics for a given by field value and report anomalies when those correlations cease to hold. For example, suppose CPU and memory usage on host A is usually highly correlated with the same metrics on host B. Perhaps this correlation occurs because they are running a load-balanced application. If you enable this property, anomalies will be reported when, for example, CPU usage on host A is high and the value of CPU usage on host B is low. That is to say, you’ll see an anomaly when the CPU of host A is unusual given the CPU of host B. To use the `multivariate_by_fields` property, you must also specify `by_field_name` in your detector.", + "type": "boolean" + }, + "per_partition_categorization": { + "$ref": "#/components/schemas/ml._types:PerPartitionCategorization" + }, + "summary_count_field_name": { + "$ref": "#/components/schemas/_types:Field" + } + }, + "required": [ + "detectors" + ] + }, + "_types:Duration": { + "externalDocs": { + "url": "https://github.com/elastic/elasticsearch/blob/current/libs/core/src/main/java/org/elasticsearch/core/TimeValue.java" + }, + "description": "A duration. Units can be `nanos`, `micros`, `ms` (milliseconds), `s` (seconds), `m` (minutes), `h` (hours) and\n`d` (days). Also accepts \"0\" without a unit and \"-1\" to indicate an unspecified value.", + "oneOf": [ + { + "type": "string" + }, + { + "type": "string", + "enum": [ + "-1" + ] + }, + { + "type": "string", + "enum": [ + "0" + ] + } + ] + }, + "ml._types:CategorizationAnalyzer": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/ml._types:CategorizationAnalyzerDefinition" + } + ] + }, + "ml._types:CategorizationAnalyzerDefinition": { + "type": "object", + "properties": { + "char_filter": { + "description": "One or more character filters. In addition to the built-in character filters, other plugins can provide more character filters. If this property is not specified, no character filters are applied prior to categorization. If you are customizing some other aspect of the analyzer and you need to achieve the equivalent of `categorization_filters` (which are not permitted when some other aspect of the analyzer is customized), add them here as pattern replace character filters.", + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.analysis:CharFilter" + } + }, + "filter": { + "description": "One or more token filters. In addition to the built-in token filters, other plugins can provide more token filters. If this property is not specified, no token filters are applied prior to categorization.", + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.analysis:TokenFilter" + } + }, + "tokenizer": { + "$ref": "#/components/schemas/_types.analysis:Tokenizer" + } + } + }, + "_types.analysis:CharFilter": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/_types.analysis:CharFilterDefinition" + } + ] + }, + "_types.analysis:CharFilterDefinition": { + "discriminator": { + "propertyName": "type" + }, + "oneOf": [ + { + "$ref": "#/components/schemas/_types.analysis:HtmlStripCharFilter" + }, + { + "$ref": "#/components/schemas/_types.analysis:MappingCharFilter" + }, + { + "$ref": "#/components/schemas/_types.analysis:PatternReplaceCharFilter" + }, + { + "$ref": "#/components/schemas/_types.analysis:IcuNormalizationCharFilter" + }, + { + "$ref": "#/components/schemas/_types.analysis:KuromojiIterationMarkCharFilter" + } + ] + }, + "_types.analysis:HtmlStripCharFilter": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.analysis:CharFilterBase" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "html_strip" + ] + }, + "escaped_tags": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "type" + ] + } + ] + }, + "_types.analysis:CharFilterBase": { + "type": "object", + "properties": { + "version": { + "$ref": "#/components/schemas/_types:VersionString" + } + } + }, + "_types:VersionString": { + "type": "string" + }, + "_types.analysis:MappingCharFilter": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.analysis:CharFilterBase" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "mapping" + ] + }, + "mappings": { + "type": "array", + "items": { + "type": "string" + } + }, + "mappings_path": { + "type": "string" + } + }, + "required": [ + "type" + ] + } + ] + }, + "_types.analysis:PatternReplaceCharFilter": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.analysis:CharFilterBase" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "pattern_replace" + ] + }, + "flags": { + "type": "string" + }, + "pattern": { + "type": "string" + }, + "replacement": { + "type": "string" + } + }, + "required": [ + "type", + "pattern" + ] + } + ] + }, + "_types.analysis:IcuNormalizationCharFilter": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.analysis:CharFilterBase" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "icu_normalizer" + ] + }, + "mode": { + "$ref": "#/components/schemas/_types.analysis:IcuNormalizationMode" + }, + "name": { + "$ref": "#/components/schemas/_types.analysis:IcuNormalizationType" + } + }, + "required": [ + "type" + ] + } + ] + }, + "_types.analysis:IcuNormalizationMode": { + "type": "string", + "enum": [ + "decompose", + "compose" + ] + }, + "_types.analysis:IcuNormalizationType": { + "type": "string", + "enum": [ + "nfc", + "nfkc", + "nfkc_cf" + ] + }, + "_types.analysis:KuromojiIterationMarkCharFilter": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.analysis:CharFilterBase" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "kuromoji_iteration_mark" + ] + }, + "normalize_kana": { + "type": "boolean" + }, + "normalize_kanji": { + "type": "boolean" + } + }, + "required": [ + "type", + "normalize_kana", + "normalize_kanji" + ] + } + ] + }, + "_types.analysis:TokenFilter": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/_types.analysis:TokenFilterDefinition" + } + ] + }, + "_types.analysis:TokenFilterDefinition": { + "discriminator": { + "propertyName": "type" + }, + "oneOf": [ + { + "$ref": "#/components/schemas/_types.analysis:AsciiFoldingTokenFilter" + }, + { + "$ref": "#/components/schemas/_types.analysis:CommonGramsTokenFilter" + }, + { + "$ref": "#/components/schemas/_types.analysis:ConditionTokenFilter" + }, + { + "$ref": "#/components/schemas/_types.analysis:DelimitedPayloadTokenFilter" + }, + { + "$ref": "#/components/schemas/_types.analysis:EdgeNGramTokenFilter" + }, + { + "$ref": "#/components/schemas/_types.analysis:ElisionTokenFilter" + }, + { + "$ref": "#/components/schemas/_types.analysis:FingerprintTokenFilter" + }, + { + "$ref": "#/components/schemas/_types.analysis:HunspellTokenFilter" + }, + { + "$ref": "#/components/schemas/_types.analysis:HyphenationDecompounderTokenFilter" + }, + { + "$ref": "#/components/schemas/_types.analysis:KeepTypesTokenFilter" + }, + { + "$ref": "#/components/schemas/_types.analysis:KeepWordsTokenFilter" + }, + { + "$ref": "#/components/schemas/_types.analysis:KeywordMarkerTokenFilter" + }, + { + "$ref": "#/components/schemas/_types.analysis:KStemTokenFilter" + }, + { + "$ref": "#/components/schemas/_types.analysis:LengthTokenFilter" + }, + { + "$ref": "#/components/schemas/_types.analysis:LimitTokenCountTokenFilter" + }, + { + "$ref": "#/components/schemas/_types.analysis:LowercaseTokenFilter" + }, + { + "$ref": "#/components/schemas/_types.analysis:MultiplexerTokenFilter" + }, + { + "$ref": "#/components/schemas/_types.analysis:NGramTokenFilter" + }, + { + "$ref": "#/components/schemas/_types.analysis:NoriPartOfSpeechTokenFilter" + }, + { + "$ref": "#/components/schemas/_types.analysis:PatternCaptureTokenFilter" + }, + { + "$ref": "#/components/schemas/_types.analysis:PatternReplaceTokenFilter" + }, + { + "$ref": "#/components/schemas/_types.analysis:PorterStemTokenFilter" + }, + { + "$ref": "#/components/schemas/_types.analysis:PredicateTokenFilter" + }, + { + "$ref": "#/components/schemas/_types.analysis:RemoveDuplicatesTokenFilter" + }, + { + "$ref": "#/components/schemas/_types.analysis:ReverseTokenFilter" + }, + { + "$ref": "#/components/schemas/_types.analysis:ShingleTokenFilter" + }, + { + "$ref": "#/components/schemas/_types.analysis:SnowballTokenFilter" + }, + { + "$ref": "#/components/schemas/_types.analysis:StemmerOverrideTokenFilter" + }, + { + "$ref": "#/components/schemas/_types.analysis:StemmerTokenFilter" + }, + { + "$ref": "#/components/schemas/_types.analysis:StopTokenFilter" + }, + { + "$ref": "#/components/schemas/_types.analysis:SynonymGraphTokenFilter" + }, + { + "$ref": "#/components/schemas/_types.analysis:SynonymTokenFilter" + }, + { + "$ref": "#/components/schemas/_types.analysis:TrimTokenFilter" + }, + { + "$ref": "#/components/schemas/_types.analysis:TruncateTokenFilter" + }, + { + "$ref": "#/components/schemas/_types.analysis:UniqueTokenFilter" + }, + { + "$ref": "#/components/schemas/_types.analysis:UppercaseTokenFilter" + }, + { + "$ref": "#/components/schemas/_types.analysis:WordDelimiterGraphTokenFilter" + }, + { + "$ref": "#/components/schemas/_types.analysis:WordDelimiterTokenFilter" + }, + { + "$ref": "#/components/schemas/_types.analysis:KuromojiStemmerTokenFilter" + }, + { + "$ref": "#/components/schemas/_types.analysis:KuromojiReadingFormTokenFilter" + }, + { + "$ref": "#/components/schemas/_types.analysis:KuromojiPartOfSpeechTokenFilter" + }, + { + "$ref": "#/components/schemas/_types.analysis:IcuCollationTokenFilter" + }, + { + "$ref": "#/components/schemas/_types.analysis:IcuFoldingTokenFilter" + }, + { + "$ref": "#/components/schemas/_types.analysis:IcuNormalizationTokenFilter" + }, + { + "$ref": "#/components/schemas/_types.analysis:IcuTransformTokenFilter" + }, + { + "$ref": "#/components/schemas/_types.analysis:PhoneticTokenFilter" + }, + { + "$ref": "#/components/schemas/_types.analysis:DictionaryDecompounderTokenFilter" + } + ] + }, + "_types.analysis:AsciiFoldingTokenFilter": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.analysis:TokenFilterBase" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "asciifolding" + ] + }, + "preserve_original": { + "$ref": "#/components/schemas/_spec_utils:Stringifiedboolean" + } + }, + "required": [ + "type" + ] + } + ] + }, + "_types.analysis:TokenFilterBase": { + "type": "object", + "properties": { + "version": { + "$ref": "#/components/schemas/_types:VersionString" + } + } + }, + "_spec_utils:Stringifiedboolean": { + "description": "Some APIs will return values such as numbers also as a string (notably epoch timestamps). This behavior\nis used to capture this behavior while keeping the semantics of the field type.\n\nDepending on the target language, code generators can keep the union or remove it and leniently parse\nstrings to the target type.", + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "string" + } + ] + }, + "_types.analysis:CommonGramsTokenFilter": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.analysis:TokenFilterBase" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "common_grams" + ] + }, + "common_words": { + "type": "array", + "items": { + "type": "string" + } + }, + "common_words_path": { + "type": "string" + }, + "ignore_case": { + "type": "boolean" + }, + "query_mode": { + "type": "boolean" + } + }, + "required": [ + "type" + ] + } + ] + }, + "_types.analysis:ConditionTokenFilter": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.analysis:TokenFilterBase" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "condition" + ] + }, + "filter": { + "type": "array", + "items": { + "type": "string" + } + }, + "script": { + "$ref": "#/components/schemas/_types:Script" + } + }, + "required": [ + "type", + "filter", + "script" + ] + } + ] + }, + "_types:Script": { + "oneOf": [ + { + "$ref": "#/components/schemas/_types:InlineScript" + }, + { + "$ref": "#/components/schemas/_types:StoredScriptId" + } + ] + }, + "_types:InlineScript": { + "allOf": [ + { + "$ref": "#/components/schemas/_types:ScriptBase" + }, + { + "type": "object", + "properties": { + "lang": { + "$ref": "#/components/schemas/_types:ScriptLanguage" + }, + "options": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "source": { + "description": "The script source.", + "type": "string" + } + }, + "required": [ + "source" + ] + } + ] + }, + "_types:ScriptBase": { + "type": "object", + "properties": { + "params": { + "description": "Specifies any named parameters that are passed into the script as variables.\nUse parameters instead of hard-coded values to decrease compile time.", + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + }, + "_types:ScriptLanguage": { + "anyOf": [ + { + "type": "string", + "enum": [ + "painless", + "expression", + "mustache", + "java" + ] + }, + { + "type": "string" + } + ] + }, + "_types:StoredScriptId": { + "allOf": [ + { + "$ref": "#/components/schemas/_types:ScriptBase" + }, + { + "type": "object", + "properties": { + "id": { + "$ref": "#/components/schemas/_types:Id" + } + }, + "required": [ + "id" + ] + } + ] + }, + "_types:Id": { + "type": "string" + }, + "_types.analysis:DelimitedPayloadTokenFilter": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.analysis:TokenFilterBase" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "delimited_payload" + ] + }, + "delimiter": { + "type": "string" + }, + "encoding": { + "$ref": "#/components/schemas/_types.analysis:DelimitedPayloadEncoding" + } + }, + "required": [ + "type" + ] + } + ] + }, + "_types.analysis:DelimitedPayloadEncoding": { + "type": "string", + "enum": [ + "int", + "float", + "identity" + ] + }, + "_types.analysis:EdgeNGramTokenFilter": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.analysis:TokenFilterBase" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "edge_ngram" + ] + }, + "max_gram": { + "type": "number" + }, + "min_gram": { + "type": "number" + }, + "side": { + "$ref": "#/components/schemas/_types.analysis:EdgeNGramSide" + }, + "preserve_original": { + "$ref": "#/components/schemas/_spec_utils:Stringifiedboolean" + } + }, + "required": [ + "type" + ] + } + ] + }, + "_types.analysis:EdgeNGramSide": { + "type": "string", + "enum": [ + "front", + "back" + ] + }, + "_types.analysis:ElisionTokenFilter": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.analysis:TokenFilterBase" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "elision" + ] + }, + "articles": { + "type": "array", + "items": { + "type": "string" + } + }, + "articles_path": { + "type": "string" + }, + "articles_case": { + "$ref": "#/components/schemas/_spec_utils:Stringifiedboolean" + } + }, + "required": [ + "type" + ] + } + ] + }, + "_types.analysis:FingerprintTokenFilter": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.analysis:TokenFilterBase" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "fingerprint" + ] + }, + "max_output_size": { + "type": "number" + }, + "separator": { + "type": "string" + } + }, + "required": [ + "type" + ] + } + ] + }, + "_types.analysis:HunspellTokenFilter": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.analysis:TokenFilterBase" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "hunspell" + ] + }, + "dedup": { + "type": "boolean" + }, + "dictionary": { + "type": "string" + }, + "locale": { + "type": "string" + }, + "longest_only": { + "type": "boolean" + } + }, + "required": [ + "type", + "locale" + ] + } + ] + }, + "_types.analysis:HyphenationDecompounderTokenFilter": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.analysis:CompoundWordTokenFilterBase" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "hyphenation_decompounder" + ] + } + }, + "required": [ + "type" + ] + } + ] + }, + "_types.analysis:CompoundWordTokenFilterBase": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.analysis:TokenFilterBase" + }, + { + "type": "object", + "properties": { + "hyphenation_patterns_path": { + "type": "string" + }, + "max_subword_size": { + "type": "number" + }, + "min_subword_size": { + "type": "number" + }, + "min_word_size": { + "type": "number" + }, + "only_longest_match": { + "type": "boolean" + }, + "word_list": { + "type": "array", + "items": { + "type": "string" + } + }, + "word_list_path": { + "type": "string" + } + } + } + ] + }, + "_types.analysis:KeepTypesTokenFilter": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.analysis:TokenFilterBase" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "keep_types" + ] + }, + "mode": { + "$ref": "#/components/schemas/_types.analysis:KeepTypesMode" + }, + "types": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "type" + ] + } + ] + }, + "_types.analysis:KeepTypesMode": { + "type": "string", + "enum": [ + "include", + "exclude" + ] + }, + "_types.analysis:KeepWordsTokenFilter": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.analysis:TokenFilterBase" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "keep" + ] + }, + "keep_words": { + "type": "array", + "items": { + "type": "string" + } + }, + "keep_words_case": { + "type": "boolean" + }, + "keep_words_path": { + "type": "string" + } + }, + "required": [ + "type" + ] + } + ] + }, + "_types.analysis:KeywordMarkerTokenFilter": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.analysis:TokenFilterBase" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "keyword_marker" + ] + }, + "ignore_case": { + "type": "boolean" + }, + "keywords": { + "type": "array", + "items": { + "type": "string" + } + }, + "keywords_path": { + "type": "string" + }, + "keywords_pattern": { + "type": "string" + } + }, + "required": [ + "type" + ] + } + ] + }, + "_types.analysis:KStemTokenFilter": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.analysis:TokenFilterBase" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "kstem" + ] + } + }, + "required": [ + "type" + ] + } + ] + }, + "_types.analysis:LengthTokenFilter": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.analysis:TokenFilterBase" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "length" + ] + }, + "max": { + "type": "number" + }, + "min": { + "type": "number" + } + }, + "required": [ + "type" + ] + } + ] + }, + "_types.analysis:LimitTokenCountTokenFilter": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.analysis:TokenFilterBase" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "limit" + ] + }, + "consume_all_tokens": { + "type": "boolean" + }, + "max_token_count": { + "$ref": "#/components/schemas/_spec_utils:Stringifiedinteger" + } + }, + "required": [ + "type" + ] + } + ] + }, + "_spec_utils:Stringifiedinteger": { + "description": "Some APIs will return values such as numbers also as a string (notably epoch timestamps). This behavior\nis used to capture this behavior while keeping the semantics of the field type.\n\nDepending on the target language, code generators can keep the union or remove it and leniently parse\nstrings to the target type.", + "oneOf": [ + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "_types.analysis:LowercaseTokenFilter": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.analysis:TokenFilterBase" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "lowercase" + ] + }, + "language": { + "type": "string" + } + }, + "required": [ + "type" + ] + } + ] + }, + "_types.analysis:MultiplexerTokenFilter": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.analysis:TokenFilterBase" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "multiplexer" + ] + }, + "filters": { + "type": "array", + "items": { + "type": "string" + } + }, + "preserve_original": { + "$ref": "#/components/schemas/_spec_utils:Stringifiedboolean" + } + }, + "required": [ + "type", + "filters" + ] + } + ] + }, + "_types.analysis:NGramTokenFilter": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.analysis:TokenFilterBase" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "ngram" + ] + }, + "max_gram": { + "type": "number" + }, + "min_gram": { + "type": "number" + }, + "preserve_original": { + "$ref": "#/components/schemas/_spec_utils:Stringifiedboolean" + } + }, + "required": [ + "type" + ] + } + ] + }, + "_types.analysis:NoriPartOfSpeechTokenFilter": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.analysis:TokenFilterBase" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "nori_part_of_speech" + ] + }, + "stoptags": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "type" + ] + } + ] + }, + "_types.analysis:PatternCaptureTokenFilter": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.analysis:TokenFilterBase" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "pattern_capture" + ] + }, + "patterns": { + "type": "array", + "items": { + "type": "string" + } + }, + "preserve_original": { + "$ref": "#/components/schemas/_spec_utils:Stringifiedboolean" + } + }, + "required": [ + "type", + "patterns" + ] + } + ] + }, + "_types.analysis:PatternReplaceTokenFilter": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.analysis:TokenFilterBase" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "pattern_replace" + ] + }, + "all": { + "type": "boolean" + }, + "flags": { + "type": "string" + }, + "pattern": { + "type": "string" + }, + "replacement": { + "type": "string" + } + }, + "required": [ + "type", + "pattern" + ] + } + ] + }, + "_types.analysis:PorterStemTokenFilter": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.analysis:TokenFilterBase" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "porter_stem" + ] + } + }, + "required": [ + "type" + ] + } + ] + }, + "_types.analysis:PredicateTokenFilter": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.analysis:TokenFilterBase" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "predicate_token_filter" + ] + }, + "script": { + "$ref": "#/components/schemas/_types:Script" + } + }, + "required": [ + "type", + "script" + ] + } + ] + }, + "_types.analysis:RemoveDuplicatesTokenFilter": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.analysis:TokenFilterBase" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "remove_duplicates" + ] + } + }, + "required": [ + "type" + ] + } + ] + }, + "_types.analysis:ReverseTokenFilter": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.analysis:TokenFilterBase" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "reverse" + ] + } + }, + "required": [ + "type" + ] + } + ] + }, + "_types.analysis:ShingleTokenFilter": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.analysis:TokenFilterBase" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "shingle" + ] + }, + "filler_token": { + "type": "string" + }, + "max_shingle_size": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "min_shingle_size": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "output_unigrams": { + "type": "boolean" + }, + "output_unigrams_if_no_shingles": { + "type": "boolean" + }, + "token_separator": { + "type": "string" + } + }, + "required": [ + "type" + ] + } + ] + }, + "_types.analysis:SnowballTokenFilter": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.analysis:TokenFilterBase" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "snowball" + ] + }, + "language": { + "$ref": "#/components/schemas/_types.analysis:SnowballLanguage" + } + }, + "required": [ + "type", + "language" + ] + } + ] + }, + "_types.analysis:SnowballLanguage": { + "type": "string", + "enum": [ + "Armenian", + "Basque", + "Catalan", + "Danish", + "Dutch", + "English", + "Finnish", + "French", + "German", + "German2", + "Hungarian", + "Italian", + "Kp", + "Lovins", + "Norwegian", + "Porter", + "Portuguese", + "Romanian", + "Russian", + "Spanish", + "Swedish", + "Turkish" + ] + }, + "_types.analysis:StemmerOverrideTokenFilter": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.analysis:TokenFilterBase" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "stemmer_override" + ] + }, + "rules": { + "type": "array", + "items": { + "type": "string" + } + }, + "rules_path": { + "type": "string" + } + }, + "required": [ + "type" + ] + } + ] + }, + "_types.analysis:StemmerTokenFilter": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.analysis:TokenFilterBase" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "stemmer" + ] + }, + "language": { + "type": "string" + } + }, + "required": [ + "type" + ] + } + ] + }, + "_types.analysis:StopTokenFilter": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.analysis:TokenFilterBase" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "stop" + ] + }, + "ignore_case": { + "type": "boolean" + }, + "remove_trailing": { + "type": "boolean" + }, + "stopwords": { + "$ref": "#/components/schemas/_types.analysis:StopWords" + }, + "stopwords_path": { + "type": "string" + } + }, + "required": [ + "type" + ] + } + ] + }, + "_types.analysis:StopWords": { + "description": "Language value, such as _arabic_ or _thai_. Defaults to _english_.\nEach language value corresponds to a predefined list of stop words in Lucene. See Stop words by language for supported language values and their stop words.\nAlso accepts an array of stop words.", + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "_types.analysis:SynonymGraphTokenFilter": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.analysis:TokenFilterBase" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "synonym_graph" + ] + }, + "expand": { + "type": "boolean" + }, + "format": { + "$ref": "#/components/schemas/_types.analysis:SynonymFormat" + }, + "lenient": { + "type": "boolean" + }, + "synonyms": { + "type": "array", + "items": { + "type": "string" + } + }, + "synonyms_path": { + "type": "string" + }, + "synonyms_set": { + "type": "string" + }, + "tokenizer": { + "type": "string" + }, + "updateable": { + "type": "boolean" + } + }, + "required": [ + "type" + ] + } + ] + }, + "_types.analysis:SynonymFormat": { + "type": "string", + "enum": [ + "solr", + "wordnet" + ] + }, + "_types.analysis:SynonymTokenFilter": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.analysis:TokenFilterBase" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "synonym" + ] + }, + "expand": { + "type": "boolean" + }, + "format": { + "$ref": "#/components/schemas/_types.analysis:SynonymFormat" + }, + "lenient": { + "type": "boolean" + }, + "synonyms": { + "type": "array", + "items": { + "type": "string" + } + }, + "synonyms_path": { + "type": "string" + }, + "synonyms_set": { + "type": "string" + }, + "tokenizer": { + "type": "string" + }, + "updateable": { + "type": "boolean" + } + }, + "required": [ + "type" + ] + } + ] + }, + "_types.analysis:TrimTokenFilter": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.analysis:TokenFilterBase" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "trim" + ] + } + }, + "required": [ + "type" + ] + } + ] + }, + "_types.analysis:TruncateTokenFilter": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.analysis:TokenFilterBase" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "truncate" + ] + }, + "length": { + "type": "number" + } + }, + "required": [ + "type" + ] + } + ] + }, + "_types.analysis:UniqueTokenFilter": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.analysis:TokenFilterBase" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "unique" + ] + }, + "only_on_same_position": { + "type": "boolean" + } + }, + "required": [ + "type" + ] + } + ] + }, + "_types.analysis:UppercaseTokenFilter": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.analysis:TokenFilterBase" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "uppercase" + ] + } + }, + "required": [ + "type" + ] + } + ] + }, + "_types.analysis:WordDelimiterGraphTokenFilter": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.analysis:TokenFilterBase" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "word_delimiter_graph" + ] + }, + "adjust_offsets": { + "type": "boolean" + }, + "catenate_all": { + "type": "boolean" + }, + "catenate_numbers": { + "type": "boolean" + }, + "catenate_words": { + "type": "boolean" + }, + "generate_number_parts": { + "type": "boolean" + }, + "generate_word_parts": { + "type": "boolean" + }, + "ignore_keywords": { + "type": "boolean" + }, + "preserve_original": { + "$ref": "#/components/schemas/_spec_utils:Stringifiedboolean" + }, + "protected_words": { + "type": "array", + "items": { + "type": "string" + } + }, + "protected_words_path": { + "type": "string" + }, + "split_on_case_change": { + "type": "boolean" + }, + "split_on_numerics": { + "type": "boolean" + }, + "stem_english_possessive": { + "type": "boolean" + }, + "type_table": { + "type": "array", + "items": { + "type": "string" + } + }, + "type_table_path": { + "type": "string" + } + }, + "required": [ + "type" + ] + } + ] + }, + "_types.analysis:WordDelimiterTokenFilter": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.analysis:TokenFilterBase" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "word_delimiter" + ] + }, + "catenate_all": { + "type": "boolean" + }, + "catenate_numbers": { + "type": "boolean" + }, + "catenate_words": { + "type": "boolean" + }, + "generate_number_parts": { + "type": "boolean" + }, + "generate_word_parts": { + "type": "boolean" + }, + "preserve_original": { + "$ref": "#/components/schemas/_spec_utils:Stringifiedboolean" + }, + "protected_words": { + "type": "array", + "items": { + "type": "string" + } + }, + "protected_words_path": { + "type": "string" + }, + "split_on_case_change": { + "type": "boolean" + }, + "split_on_numerics": { + "type": "boolean" + }, + "stem_english_possessive": { + "type": "boolean" + }, + "type_table": { + "type": "array", + "items": { + "type": "string" + } + }, + "type_table_path": { + "type": "string" + } + }, + "required": [ + "type" + ] + } + ] + }, + "_types.analysis:KuromojiStemmerTokenFilter": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.analysis:TokenFilterBase" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "kuromoji_stemmer" + ] + }, + "minimum_length": { + "type": "number" + } + }, + "required": [ + "type", + "minimum_length" + ] + } + ] + }, + "_types.analysis:KuromojiReadingFormTokenFilter": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.analysis:TokenFilterBase" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "kuromoji_readingform" + ] + }, + "use_romaji": { + "type": "boolean" + } + }, + "required": [ + "type", + "use_romaji" + ] + } + ] + }, + "_types.analysis:KuromojiPartOfSpeechTokenFilter": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.analysis:TokenFilterBase" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "kuromoji_part_of_speech" + ] + }, + "stoptags": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "type", + "stoptags" + ] + } + ] + }, + "_types.analysis:IcuCollationTokenFilter": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.analysis:TokenFilterBase" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "icu_collation" + ] + }, + "alternate": { + "$ref": "#/components/schemas/_types.analysis:IcuCollationAlternate" + }, + "caseFirst": { + "$ref": "#/components/schemas/_types.analysis:IcuCollationCaseFirst" + }, + "caseLevel": { + "type": "boolean" + }, + "country": { + "type": "string" + }, + "decomposition": { + "$ref": "#/components/schemas/_types.analysis:IcuCollationDecomposition" + }, + "hiraganaQuaternaryMode": { + "type": "boolean" + }, + "language": { + "type": "string" + }, + "numeric": { + "type": "boolean" + }, + "rules": { + "type": "string" + }, + "strength": { + "$ref": "#/components/schemas/_types.analysis:IcuCollationStrength" + }, + "variableTop": { + "type": "string" + }, + "variant": { + "type": "string" + } + }, + "required": [ + "type" + ] + } + ] + }, + "_types.analysis:IcuCollationAlternate": { + "type": "string", + "enum": [ + "shifted", + "non-ignorable" + ] + }, + "_types.analysis:IcuCollationCaseFirst": { + "type": "string", + "enum": [ + "lower", + "upper" + ] + }, + "_types.analysis:IcuCollationDecomposition": { + "type": "string", + "enum": [ + "no", + "identical" + ] + }, + "_types.analysis:IcuCollationStrength": { + "type": "string", + "enum": [ + "primary", + "secondary", + "tertiary", + "quaternary", + "identical" + ] + }, + "_types.analysis:IcuFoldingTokenFilter": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.analysis:TokenFilterBase" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "icu_folding" + ] + }, + "unicode_set_filter": { + "type": "string" + } + }, + "required": [ + "type", + "unicode_set_filter" + ] + } + ] + }, + "_types.analysis:IcuNormalizationTokenFilter": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.analysis:TokenFilterBase" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "icu_normalizer" + ] + }, + "name": { + "$ref": "#/components/schemas/_types.analysis:IcuNormalizationType" + } + }, + "required": [ + "type", + "name" + ] + } + ] + }, + "_types.analysis:IcuTransformTokenFilter": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.analysis:TokenFilterBase" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "icu_transform" + ] + }, + "dir": { + "$ref": "#/components/schemas/_types.analysis:IcuTransformDirection" + }, + "id": { + "type": "string" + } + }, + "required": [ + "type", + "id" + ] + } + ] + }, + "_types.analysis:IcuTransformDirection": { + "type": "string", + "enum": [ + "forward", + "reverse" + ] + }, + "_types.analysis:PhoneticTokenFilter": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.analysis:TokenFilterBase" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "phonetic" + ] + }, + "encoder": { + "$ref": "#/components/schemas/_types.analysis:PhoneticEncoder" + }, + "languageset": { + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.analysis:PhoneticLanguage" + } + }, + "max_code_len": { + "type": "number" + }, + "name_type": { + "$ref": "#/components/schemas/_types.analysis:PhoneticNameType" + }, + "replace": { + "type": "boolean" + }, + "rule_type": { + "$ref": "#/components/schemas/_types.analysis:PhoneticRuleType" + } + }, + "required": [ + "type", + "encoder", + "languageset", + "name_type", + "rule_type" + ] + } + ] + }, + "_types.analysis:PhoneticEncoder": { + "type": "string", + "enum": [ + "metaphone", + "double_metaphone", + "soundex", + "refined_soundex", + "caverphone1", + "caverphone2", + "cologne", + "nysiis", + "koelnerphonetik", + "haasephonetik", + "beider_morse", + "daitch_mokotoff" + ] + }, + "_types.analysis:PhoneticLanguage": { + "type": "string", + "enum": [ + "any", + "common", + "cyrillic", + "english", + "french", + "german", + "hebrew", + "hungarian", + "polish", + "romanian", + "russian", + "spanish" + ] + }, + "_types.analysis:PhoneticNameType": { + "type": "string", + "enum": [ + "generic", + "ashkenazi", + "sephardic" + ] + }, + "_types.analysis:PhoneticRuleType": { + "type": "string", + "enum": [ + "approx", + "exact" + ] + }, + "_types.analysis:DictionaryDecompounderTokenFilter": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.analysis:CompoundWordTokenFilterBase" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "dictionary_decompounder" + ] + } + }, + "required": [ + "type" + ] + } + ] + }, + "_types.analysis:Tokenizer": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/_types.analysis:TokenizerDefinition" + } + ] + }, + "_types.analysis:TokenizerDefinition": { + "discriminator": { + "propertyName": "type" + }, + "oneOf": [ + { + "$ref": "#/components/schemas/_types.analysis:CharGroupTokenizer" + }, + { + "$ref": "#/components/schemas/_types.analysis:EdgeNGramTokenizer" + }, + { + "$ref": "#/components/schemas/_types.analysis:KeywordTokenizer" + }, + { + "$ref": "#/components/schemas/_types.analysis:LetterTokenizer" + }, + { + "$ref": "#/components/schemas/_types.analysis:LowercaseTokenizer" + }, + { + "$ref": "#/components/schemas/_types.analysis:NGramTokenizer" + }, + { + "$ref": "#/components/schemas/_types.analysis:NoriTokenizer" + }, + { + "$ref": "#/components/schemas/_types.analysis:PathHierarchyTokenizer" + }, + { + "$ref": "#/components/schemas/_types.analysis:StandardTokenizer" + }, + { + "$ref": "#/components/schemas/_types.analysis:UaxEmailUrlTokenizer" + }, + { + "$ref": "#/components/schemas/_types.analysis:WhitespaceTokenizer" + }, + { + "$ref": "#/components/schemas/_types.analysis:KuromojiTokenizer" + }, + { + "$ref": "#/components/schemas/_types.analysis:PatternTokenizer" + }, + { + "$ref": "#/components/schemas/_types.analysis:IcuTokenizer" + } + ] + }, + "_types.analysis:CharGroupTokenizer": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.analysis:TokenizerBase" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "char_group" + ] + }, + "tokenize_on_chars": { + "type": "array", + "items": { + "type": "string" + } + }, + "max_token_length": { + "type": "number" + } + }, + "required": [ + "type", + "tokenize_on_chars" + ] + } + ] + }, + "_types.analysis:TokenizerBase": { + "type": "object", + "properties": { + "version": { + "$ref": "#/components/schemas/_types:VersionString" + } + } + }, + "_types.analysis:EdgeNGramTokenizer": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.analysis:TokenizerBase" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "edge_ngram" + ] + }, + "custom_token_chars": { + "type": "string" + }, + "max_gram": { + "type": "number" + }, + "min_gram": { + "type": "number" + }, + "token_chars": { + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.analysis:TokenChar" + } + } + }, + "required": [ + "type", + "max_gram", + "min_gram", + "token_chars" + ] + } + ] + }, + "_types.analysis:TokenChar": { + "type": "string", + "enum": [ + "letter", + "digit", + "whitespace", + "punctuation", + "symbol", + "custom" + ] + }, + "_types.analysis:KeywordTokenizer": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.analysis:TokenizerBase" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "keyword" + ] + }, + "buffer_size": { + "type": "number" + } + }, + "required": [ + "type", + "buffer_size" + ] + } + ] + }, + "_types.analysis:LetterTokenizer": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.analysis:TokenizerBase" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "letter" + ] + } + }, + "required": [ + "type" + ] + } + ] + }, + "_types.analysis:LowercaseTokenizer": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.analysis:TokenizerBase" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "lowercase" + ] + } + }, + "required": [ + "type" + ] + } + ] + }, + "_types.analysis:NGramTokenizer": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.analysis:TokenizerBase" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "ngram" + ] + }, + "custom_token_chars": { + "type": "string" + }, + "max_gram": { + "type": "number" + }, + "min_gram": { + "type": "number" + }, + "token_chars": { + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.analysis:TokenChar" + } + } + }, + "required": [ + "type", + "max_gram", + "min_gram", + "token_chars" + ] + } + ] + }, + "_types.analysis:NoriTokenizer": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.analysis:TokenizerBase" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "nori_tokenizer" + ] + }, + "decompound_mode": { + "$ref": "#/components/schemas/_types.analysis:NoriDecompoundMode" + }, + "discard_punctuation": { + "type": "boolean" + }, + "user_dictionary": { + "type": "string" + }, + "user_dictionary_rules": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "type" + ] + } + ] + }, + "_types.analysis:NoriDecompoundMode": { + "type": "string", + "enum": [ + "discard", + "none", + "mixed" + ] + }, + "_types.analysis:PathHierarchyTokenizer": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.analysis:TokenizerBase" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "path_hierarchy" + ] + }, + "buffer_size": { + "$ref": "#/components/schemas/_spec_utils:Stringifiedinteger" + }, + "delimiter": { + "type": "string" + }, + "replacement": { + "type": "string" + }, + "reverse": { + "$ref": "#/components/schemas/_spec_utils:Stringifiedboolean" + }, + "skip": { + "$ref": "#/components/schemas/_spec_utils:Stringifiedinteger" + } + }, + "required": [ + "type" + ] + } + ] + }, + "_types.analysis:StandardTokenizer": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.analysis:TokenizerBase" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "standard" + ] + }, + "max_token_length": { + "type": "number" + } + }, + "required": [ + "type" + ] + } + ] + }, + "_types.analysis:UaxEmailUrlTokenizer": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.analysis:TokenizerBase" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "uax_url_email" + ] + }, + "max_token_length": { + "type": "number" + } + }, + "required": [ + "type" + ] + } + ] + }, + "_types.analysis:WhitespaceTokenizer": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.analysis:TokenizerBase" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "whitespace" + ] + }, + "max_token_length": { + "type": "number" + } + }, + "required": [ + "type" + ] + } + ] + }, + "_types.analysis:KuromojiTokenizer": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.analysis:TokenizerBase" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "kuromoji_tokenizer" + ] + }, + "discard_punctuation": { + "type": "boolean" + }, + "mode": { + "$ref": "#/components/schemas/_types.analysis:KuromojiTokenizationMode" + }, + "nbest_cost": { + "type": "number" + }, + "nbest_examples": { + "type": "string" + }, + "user_dictionary": { + "type": "string" + }, + "user_dictionary_rules": { + "type": "array", + "items": { + "type": "string" + } + }, + "discard_compound_token": { + "type": "boolean" + } + }, + "required": [ + "type", + "mode" + ] + } + ] + }, + "_types.analysis:KuromojiTokenizationMode": { + "type": "string", + "enum": [ + "normal", + "search", + "extended" + ] + }, + "_types.analysis:PatternTokenizer": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.analysis:TokenizerBase" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "pattern" + ] + }, + "flags": { + "type": "string" + }, + "group": { + "type": "number" + }, + "pattern": { + "type": "string" + } + }, + "required": [ + "type" + ] + } + ] + }, + "_types.analysis:IcuTokenizer": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.analysis:TokenizerBase" + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "icu_tokenizer" + ] + }, + "rule_files": { + "type": "string" + } + }, + "required": [ + "type", + "rule_files" + ] + } + ] + }, + "_types:Field": { + "description": "Path to field or array of paths. Some API's support wildcards in the path to select multiple fields.", + "type": "string" + }, + "ml._types:Detector": { + "type": "object", + "properties": { + "by_field_name": { + "$ref": "#/components/schemas/_types:Field" + }, + "custom_rules": { + "description": "Custom rules enable you to customize the way detectors operate. For example, a rule may dictate conditions under which results should be skipped. Kibana refers to custom rules as job rules.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ml._types:DetectionRule" + } + }, + "detector_description": { + "description": "A description of the detector.", + "type": "string" + }, + "detector_index": { + "description": "A unique identifier for the detector. This identifier is based on the order of the detectors in the `analysis_config`, starting at zero. If you specify a value for this property, it is ignored.", + "type": "number" + }, + "exclude_frequent": { + "$ref": "#/components/schemas/ml._types:ExcludeFrequent" + }, + "field_name": { + "$ref": "#/components/schemas/_types:Field" + }, + "function": { + "description": "The analysis function that is used. For example, `count`, `rare`, `mean`, `min`, `max`, or `sum`.", + "type": "string" + }, + "over_field_name": { + "$ref": "#/components/schemas/_types:Field" + }, + "partition_field_name": { + "$ref": "#/components/schemas/_types:Field" + }, + "use_null": { + "description": "Defines whether a new series is used as the null series when there is no value for the by or partition fields.", + "type": "boolean" + } + } + }, + "ml._types:DetectionRule": { + "type": "object", + "properties": { + "actions": { + "description": "The set of actions to be triggered when the rule applies. If more than one action is specified the effects of all actions are combined.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ml._types:RuleAction" + } + }, + "conditions": { + "description": "An array of numeric conditions when the rule applies. A rule must either have a non-empty scope or at least one condition. Multiple conditions are combined together with a logical AND.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ml._types:RuleCondition" + } + }, + "scope": { + "description": "A scope of series where the rule applies. A rule must either have a non-empty scope or at least one condition. By default, the scope includes all series. Scoping is allowed for any of the fields that are also specified in `by_field_name`, `over_field_name`, or `partition_field_name`.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/ml._types:FilterRef" + } + } + } + }, + "ml._types:RuleAction": { + "type": "string", + "enum": [ + "skip_result", + "skip_model_update" + ] + }, + "ml._types:RuleCondition": { + "type": "object", + "properties": { + "applies_to": { + "$ref": "#/components/schemas/ml._types:AppliesTo" + }, + "operator": { + "$ref": "#/components/schemas/ml._types:ConditionOperator" + }, + "value": { + "description": "The value that is compared against the `applies_to` field using the operator.", + "type": "number" + } + }, + "required": [ + "applies_to", + "operator", + "value" + ] + }, + "ml._types:AppliesTo": { + "type": "string", + "enum": [ + "actual", + "typical", + "diff_from_typical", + "time" + ] + }, + "ml._types:ConditionOperator": { + "type": "string", + "enum": [ + "gt", + "gte", + "lt", + "lte" + ] + }, + "ml._types:FilterRef": { + "type": "object", + "properties": { + "filter_id": { + "$ref": "#/components/schemas/_types:Id" + }, + "filter_type": { + "$ref": "#/components/schemas/ml._types:FilterType" + } + }, + "required": [ + "filter_id" + ] + }, + "ml._types:FilterType": { + "type": "string", + "enum": [ + "include", + "exclude" + ] + }, + "ml._types:ExcludeFrequent": { + "type": "string", + "enum": [ + "all", + "none", + "by", + "over" + ] + }, + "ml._types:PerPartitionCategorization": { + "type": "object", + "properties": { + "enabled": { + "description": "To enable this setting, you must also set the `partition_field_name` property to the same value in every detector that uses the keyword `mlcategory`. Otherwise, job creation fails.", + "type": "boolean" + }, + "stop_on_warn": { + "description": "This setting can be set to true only if per-partition categorization is enabled. If true, both categorization and subsequent anomaly detection stops for partitions where the categorization status changes to warn. This setting makes it viable to have a job where it is expected that categorization works well for some partitions but not others; you do not pay the cost of bad categorization forever in the partitions where it works badly.", + "type": "boolean" + } + } + }, + "ml._types:AnalysisLimits": { + "type": "object", + "properties": { + "categorization_examples_limit": { + "description": "The maximum number of examples stored per category in memory and in the results data store. If you increase this value, more examples are available, however it requires that you have more storage available. If you set this value to 0, no examples are stored. NOTE: The `categorization_examples_limit` applies only to analysis that uses categorization.", + "type": "number" + }, + "model_memory_limit": { + "description": "The approximate maximum amount of memory resources that are required for analytical processing. Once this limit is approached, data pruning becomes more aggressive. Upon exceeding this limit, new entities are not modeled. If the `xpack.ml.max_model_memory_limit` setting has a value greater than 0 and less than 1024mb, that value is used instead of the default. The default value is relatively small to ensure that high resource usage is a conscious decision. If you have jobs that are expected to analyze high cardinality fields, you will likely need to use a higher value. If you specify a number instead of a string, the units are assumed to be MiB. Specifying a string is recommended for clarity. If you specify a byte size unit of `b` or `kb` and the number does not equate to a discrete number of megabytes, it is rounded down to the closest MiB. The minimum valid value is 1 MiB. If you specify a value less than 1 MiB, an error occurs. If you specify a value for the `xpack.ml.max_model_memory_limit` setting, an error occurs when you try to create jobs that have `model_memory_limit` values greater than that setting value.", + "type": "string" + } + } + }, + "ml._types:CustomSettings": { + "description": "Custom metadata about the job", + "type": "object" + }, + "ml._types:DataDescription": { + "type": "object", + "properties": { + "format": { + "description": "Only JSON format is supported at this time.", + "type": "string" + }, + "time_field": { + "$ref": "#/components/schemas/_types:Field" + }, + "time_format": { + "description": "The time format, which can be `epoch`, `epoch_ms`, or a custom pattern. The value `epoch` refers to UNIX or Epoch time (the number of seconds since 1 Jan 1970). The value `epoch_ms` indicates that time is measured in milliseconds since the epoch. The `epoch` and `epoch_ms` time formats accept either integer or real values. Custom patterns must conform to the Java DateTimeFormatter class. When you use date-time formatting patterns, it is recommended that you provide the full date, time and time zone. For example: `yyyy-MM-dd'T'HH:mm:ssX`. If the pattern that you specify is not sufficient to produce a complete timestamp, job creation fails.", + "type": "string" + }, + "field_delimiter": { + "type": "string" + } + } + }, + "ml._types:DatafeedConfig": { + "type": "object", + "properties": { + "aggregations": { + "description": "If set, the datafeed performs aggregation searches. Support for aggregations is limited and should be used only with low cardinality data.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.aggregations:AggregationContainer" + } + }, + "chunking_config": { + "$ref": "#/components/schemas/ml._types:ChunkingConfig" + }, + "datafeed_id": { + "$ref": "#/components/schemas/_types:Id" + }, + "delayed_data_check_config": { + "$ref": "#/components/schemas/ml._types:DelayedDataCheckConfig" + }, + "frequency": { + "$ref": "#/components/schemas/_types:Duration" + }, + "indices": { + "description": "An array of index names. Wildcards are supported. If any indices are in remote clusters, the machine learning nodes must have the `remote_cluster_client` role.", + "type": "array", + "items": { + "type": "string" + } + }, + "indices_options": { + "$ref": "#/components/schemas/_types:IndicesOptions" + }, + "job_id": { + "$ref": "#/components/schemas/_types:Id" + }, + "max_empty_searches": { + "description": "If a real-time datafeed has never seen any data (including during any initial training period) then it will automatically stop itself and close its associated job after this many real-time searches that return no documents. In other words, it will stop after `frequency` times `max_empty_searches` of real-time operation. If not set then a datafeed with no end time that sees no data will remain started until it is explicitly stopped.", + "type": "number" + }, + "query": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + }, + "query_delay": { + "$ref": "#/components/schemas/_types:Duration" + }, + "runtime_mappings": { + "$ref": "#/components/schemas/_types.mapping:RuntimeFields" + }, + "script_fields": { + "description": "Specifies scripts that evaluate custom expressions and returns script fields to the datafeed. The detector configuration objects in a job can contain functions that use these script fields.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types:ScriptField" + } + }, + "scroll_size": { + "description": "The size parameter that is used in Elasticsearch searches when the datafeed does not use aggregations. The maximum value is the value of `index.max_result_window`, which is 10,000 by default.", + "type": "number" + } + } + }, + "_types.aggregations:AggregationContainer": { + "allOf": [ + { + "type": "object", + "properties": { + "aggregations": { + "description": "Sub-aggregations for this aggregation.\nOnly applies to bucket aggregations.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.aggregations:AggregationContainer" + } + }, + "meta": { + "$ref": "#/components/schemas/_types:Metadata" + } + } + }, + { + "type": "object", + "properties": { + "adjacency_matrix": { + "$ref": "#/components/schemas/_types.aggregations:AdjacencyMatrixAggregation" + }, + "auto_date_histogram": { + "$ref": "#/components/schemas/_types.aggregations:AutoDateHistogramAggregation" + }, + "avg": { + "$ref": "#/components/schemas/_types.aggregations:AverageAggregation" + }, + "avg_bucket": { + "$ref": "#/components/schemas/_types.aggregations:AverageBucketAggregation" + }, + "boxplot": { + "$ref": "#/components/schemas/_types.aggregations:BoxplotAggregation" + }, + "bucket_script": { + "$ref": "#/components/schemas/_types.aggregations:BucketScriptAggregation" + }, + "bucket_selector": { + "$ref": "#/components/schemas/_types.aggregations:BucketSelectorAggregation" + }, + "bucket_sort": { + "$ref": "#/components/schemas/_types.aggregations:BucketSortAggregation" + }, + "bucket_count_ks_test": { + "$ref": "#/components/schemas/_types.aggregations:BucketKsAggregation" + }, + "bucket_correlation": { + "$ref": "#/components/schemas/_types.aggregations:BucketCorrelationAggregation" + }, + "cardinality": { + "$ref": "#/components/schemas/_types.aggregations:CardinalityAggregation" + }, + "categorize_text": { + "$ref": "#/components/schemas/_types.aggregations:CategorizeTextAggregation" + }, + "children": { + "$ref": "#/components/schemas/_types.aggregations:ChildrenAggregation" + }, + "composite": { + "$ref": "#/components/schemas/_types.aggregations:CompositeAggregation" + }, + "cumulative_cardinality": { + "$ref": "#/components/schemas/_types.aggregations:CumulativeCardinalityAggregation" + }, + "cumulative_sum": { + "$ref": "#/components/schemas/_types.aggregations:CumulativeSumAggregation" + }, + "date_histogram": { + "$ref": "#/components/schemas/_types.aggregations:DateHistogramAggregation" + }, + "date_range": { + "$ref": "#/components/schemas/_types.aggregations:DateRangeAggregation" + }, + "derivative": { + "$ref": "#/components/schemas/_types.aggregations:DerivativeAggregation" + }, + "diversified_sampler": { + "$ref": "#/components/schemas/_types.aggregations:DiversifiedSamplerAggregation" + }, + "extended_stats": { + "$ref": "#/components/schemas/_types.aggregations:ExtendedStatsAggregation" + }, + "extended_stats_bucket": { + "$ref": "#/components/schemas/_types.aggregations:ExtendedStatsBucketAggregation" + }, + "frequent_item_sets": { + "$ref": "#/components/schemas/_types.aggregations:FrequentItemSetsAggregation" + }, + "filter": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + }, + "filters": { + "$ref": "#/components/schemas/_types.aggregations:FiltersAggregation" + }, + "geo_bounds": { + "$ref": "#/components/schemas/_types.aggregations:GeoBoundsAggregation" + }, + "geo_centroid": { + "$ref": "#/components/schemas/_types.aggregations:GeoCentroidAggregation" + }, + "geo_distance": { + "$ref": "#/components/schemas/_types.aggregations:GeoDistanceAggregation" + }, + "geohash_grid": { + "$ref": "#/components/schemas/_types.aggregations:GeoHashGridAggregation" + }, + "geo_line": { + "$ref": "#/components/schemas/_types.aggregations:GeoLineAggregation" + }, + "geotile_grid": { + "$ref": "#/components/schemas/_types.aggregations:GeoTileGridAggregation" + }, + "geohex_grid": { + "$ref": "#/components/schemas/_types.aggregations:GeohexGridAggregation" + }, + "global": { + "$ref": "#/components/schemas/_types.aggregations:GlobalAggregation" + }, + "histogram": { + "$ref": "#/components/schemas/_types.aggregations:HistogramAggregation" + }, + "ip_range": { + "$ref": "#/components/schemas/_types.aggregations:IpRangeAggregation" + }, + "ip_prefix": { + "$ref": "#/components/schemas/_types.aggregations:IpPrefixAggregation" + }, + "inference": { + "$ref": "#/components/schemas/_types.aggregations:InferenceAggregation" + }, + "line": { + "$ref": "#/components/schemas/_types.aggregations:GeoLineAggregation" + }, + "matrix_stats": { + "$ref": "#/components/schemas/_types.aggregations:MatrixStatsAggregation" + }, + "max": { + "$ref": "#/components/schemas/_types.aggregations:MaxAggregation" + }, + "max_bucket": { + "$ref": "#/components/schemas/_types.aggregations:MaxBucketAggregation" + }, + "median_absolute_deviation": { + "$ref": "#/components/schemas/_types.aggregations:MedianAbsoluteDeviationAggregation" + }, + "min": { + "$ref": "#/components/schemas/_types.aggregations:MinAggregation" + }, + "min_bucket": { + "$ref": "#/components/schemas/_types.aggregations:MinBucketAggregation" + }, + "missing": { + "$ref": "#/components/schemas/_types.aggregations:MissingAggregation" + }, + "moving_avg": { + "$ref": "#/components/schemas/_types.aggregations:MovingAverageAggregation" + }, + "moving_percentiles": { + "$ref": "#/components/schemas/_types.aggregations:MovingPercentilesAggregation" + }, + "moving_fn": { + "$ref": "#/components/schemas/_types.aggregations:MovingFunctionAggregation" + }, + "multi_terms": { + "$ref": "#/components/schemas/_types.aggregations:MultiTermsAggregation" + }, + "nested": { + "$ref": "#/components/schemas/_types.aggregations:NestedAggregation" + }, + "normalize": { + "$ref": "#/components/schemas/_types.aggregations:NormalizeAggregation" + }, + "parent": { + "$ref": "#/components/schemas/_types.aggregations:ParentAggregation" + }, + "percentile_ranks": { + "$ref": "#/components/schemas/_types.aggregations:PercentileRanksAggregation" + }, + "percentiles": { + "$ref": "#/components/schemas/_types.aggregations:PercentilesAggregation" + }, + "percentiles_bucket": { + "$ref": "#/components/schemas/_types.aggregations:PercentilesBucketAggregation" + }, + "range": { + "$ref": "#/components/schemas/_types.aggregations:RangeAggregation" + }, + "rare_terms": { + "$ref": "#/components/schemas/_types.aggregations:RareTermsAggregation" + }, + "rate": { + "$ref": "#/components/schemas/_types.aggregations:RateAggregation" + }, + "reverse_nested": { + "$ref": "#/components/schemas/_types.aggregations:ReverseNestedAggregation" + }, + "sampler": { + "$ref": "#/components/schemas/_types.aggregations:SamplerAggregation" + }, + "scripted_metric": { + "$ref": "#/components/schemas/_types.aggregations:ScriptedMetricAggregation" + }, + "serial_diff": { + "$ref": "#/components/schemas/_types.aggregations:SerialDifferencingAggregation" + }, + "significant_terms": { + "$ref": "#/components/schemas/_types.aggregations:SignificantTermsAggregation" + }, + "significant_text": { + "$ref": "#/components/schemas/_types.aggregations:SignificantTextAggregation" + }, + "stats": { + "$ref": "#/components/schemas/_types.aggregations:StatsAggregation" + }, + "stats_bucket": { + "$ref": "#/components/schemas/_types.aggregations:StatsBucketAggregation" + }, + "string_stats": { + "$ref": "#/components/schemas/_types.aggregations:StringStatsAggregation" + }, + "sum": { + "$ref": "#/components/schemas/_types.aggregations:SumAggregation" + }, + "sum_bucket": { + "$ref": "#/components/schemas/_types.aggregations:SumBucketAggregation" + }, + "terms": { + "$ref": "#/components/schemas/_types.aggregations:TermsAggregation" + }, + "top_hits": { + "$ref": "#/components/schemas/_types.aggregations:TopHitsAggregation" + }, + "t_test": { + "$ref": "#/components/schemas/_types.aggregations:TTestAggregation" + }, + "top_metrics": { + "$ref": "#/components/schemas/_types.aggregations:TopMetricsAggregation" + }, + "value_count": { + "$ref": "#/components/schemas/_types.aggregations:ValueCountAggregation" + }, + "weighted_avg": { + "$ref": "#/components/schemas/_types.aggregations:WeightedAverageAggregation" + }, + "variable_width_histogram": { + "$ref": "#/components/schemas/_types.aggregations:VariableWidthHistogramAggregation" + } + }, + "minProperties": 1, + "maxProperties": 1 + } + ] + }, + "_types:Metadata": { + "type": "object", + "additionalProperties": { + "type": "object" + } + }, + "_types.aggregations:AdjacencyMatrixAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object", + "properties": { + "filters": { + "description": "Filters used to create buckets.\nAt least one filter is required.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + } + }, + "separator": { + "description": "Separator used to concatenate filter names. Defaults to &.", + "type": "string" + } + } + } + ] + }, + "_types.aggregations:BucketAggregationBase": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:Aggregation" + }, + { + "type": "object" + } + ] + }, + "_types.aggregations:Aggregation": { + "type": "object" + }, + "_types.query_dsl:QueryContainer": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl.html" + }, + "type": "object", + "properties": { + "bool": { + "$ref": "#/components/schemas/_types.query_dsl:BoolQuery" + }, + "boosting": { + "$ref": "#/components/schemas/_types.query_dsl:BoostingQuery" + }, + "common": { + "deprecated": true, + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.query_dsl:CommonTermsQuery" + }, + "minProperties": 1, + "maxProperties": 1 + }, + "combined_fields": { + "$ref": "#/components/schemas/_types.query_dsl:CombinedFieldsQuery" + }, + "constant_score": { + "$ref": "#/components/schemas/_types.query_dsl:ConstantScoreQuery" + }, + "dis_max": { + "$ref": "#/components/schemas/_types.query_dsl:DisMaxQuery" + }, + "distance_feature": { + "$ref": "#/components/schemas/_types.query_dsl:DistanceFeatureQuery" + }, + "exists": { + "$ref": "#/components/schemas/_types.query_dsl:ExistsQuery" + }, + "function_score": { + "$ref": "#/components/schemas/_types.query_dsl:FunctionScoreQuery" + }, + "fuzzy": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-fuzzy-query.html" + }, + "description": "Returns documents that contain terms similar to the search term, as measured by a Levenshtein edit distance.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.query_dsl:FuzzyQuery" + }, + "minProperties": 1, + "maxProperties": 1 + }, + "geo_bounding_box": { + "$ref": "#/components/schemas/_types.query_dsl:GeoBoundingBoxQuery" + }, + "geo_distance": { + "$ref": "#/components/schemas/_types.query_dsl:GeoDistanceQuery" + }, + "geo_polygon": { + "$ref": "#/components/schemas/_types.query_dsl:GeoPolygonQuery" + }, + "geo_shape": { + "$ref": "#/components/schemas/_types.query_dsl:GeoShapeQuery" + }, + "has_child": { + "$ref": "#/components/schemas/_types.query_dsl:HasChildQuery" + }, + "has_parent": { + "$ref": "#/components/schemas/_types.query_dsl:HasParentQuery" + }, + "ids": { + "$ref": "#/components/schemas/_types.query_dsl:IdsQuery" + }, + "intervals": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-intervals-query.html" + }, + "description": "Returns documents based on the order and proximity of matching terms.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsQuery" + }, + "minProperties": 1, + "maxProperties": 1 + }, + "knn": { + "$ref": "#/components/schemas/_types:KnnQuery" + }, + "match": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-match-query.html" + }, + "description": "Returns documents that match a provided text, number, date or boolean value.\nThe provided text is analyzed before matching.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.query_dsl:MatchQuery" + }, + "minProperties": 1, + "maxProperties": 1 + }, + "match_all": { + "$ref": "#/components/schemas/_types.query_dsl:MatchAllQuery" + }, + "match_bool_prefix": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-match-bool-prefix-query.html" + }, + "description": "Analyzes its input and constructs a `bool` query from the terms.\nEach term except the last is used in a `term` query.\nThe last term is used in a prefix query.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.query_dsl:MatchBoolPrefixQuery" + }, + "minProperties": 1, + "maxProperties": 1 + }, + "match_none": { + "$ref": "#/components/schemas/_types.query_dsl:MatchNoneQuery" + }, + "match_phrase": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-match-query-phrase.html" + }, + "description": "Analyzes the text and creates a phrase query out of the analyzed text.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.query_dsl:MatchPhraseQuery" + }, + "minProperties": 1, + "maxProperties": 1 + }, + "match_phrase_prefix": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-match-query-phrase-prefix.html" + }, + "description": "Returns documents that contain the words of a provided text, in the same order as provided.\nThe last term of the provided text is treated as a prefix, matching any words that begin with that term.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.query_dsl:MatchPhrasePrefixQuery" + }, + "minProperties": 1, + "maxProperties": 1 + }, + "more_like_this": { + "$ref": "#/components/schemas/_types.query_dsl:MoreLikeThisQuery" + }, + "multi_match": { + "$ref": "#/components/schemas/_types.query_dsl:MultiMatchQuery" + }, + "nested": { + "$ref": "#/components/schemas/_types.query_dsl:NestedQuery" + }, + "parent_id": { + "$ref": "#/components/schemas/_types.query_dsl:ParentIdQuery" + }, + "percolate": { + "$ref": "#/components/schemas/_types.query_dsl:PercolateQuery" + }, + "pinned": { + "$ref": "#/components/schemas/_types.query_dsl:PinnedQuery" + }, + "prefix": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-prefix-query.html" + }, + "description": "Returns documents that contain a specific prefix in a provided field.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.query_dsl:PrefixQuery" + }, + "minProperties": 1, + "maxProperties": 1 + }, + "query_string": { + "$ref": "#/components/schemas/_types.query_dsl:QueryStringQuery" + }, + "range": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-range-query.html" + }, + "description": "Returns documents that contain terms within a provided range.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.query_dsl:RangeQuery" + }, + "minProperties": 1, + "maxProperties": 1 + }, + "rank_feature": { + "$ref": "#/components/schemas/_types.query_dsl:RankFeatureQuery" + }, + "regexp": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-regexp-query.html" + }, + "description": "Returns documents that contain terms matching a regular expression.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.query_dsl:RegexpQuery" + }, + "minProperties": 1, + "maxProperties": 1 + }, + "rule_query": { + "$ref": "#/components/schemas/_types.query_dsl:RuleQuery" + }, + "script": { + "$ref": "#/components/schemas/_types.query_dsl:ScriptQuery" + }, + "script_score": { + "$ref": "#/components/schemas/_types.query_dsl:ScriptScoreQuery" + }, + "shape": { + "$ref": "#/components/schemas/_types.query_dsl:ShapeQuery" + }, + "simple_query_string": { + "$ref": "#/components/schemas/_types.query_dsl:SimpleQueryStringQuery" + }, + "span_containing": { + "$ref": "#/components/schemas/_types.query_dsl:SpanContainingQuery" + }, + "field_masking_span": { + "$ref": "#/components/schemas/_types.query_dsl:SpanFieldMaskingQuery" + }, + "span_first": { + "$ref": "#/components/schemas/_types.query_dsl:SpanFirstQuery" + }, + "span_multi": { + "$ref": "#/components/schemas/_types.query_dsl:SpanMultiTermQuery" + }, + "span_near": { + "$ref": "#/components/schemas/_types.query_dsl:SpanNearQuery" + }, + "span_not": { + "$ref": "#/components/schemas/_types.query_dsl:SpanNotQuery" + }, + "span_or": { + "$ref": "#/components/schemas/_types.query_dsl:SpanOrQuery" + }, + "span_term": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-span-term-query.html" + }, + "description": "Matches spans containing a term.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.query_dsl:SpanTermQuery" + }, + "minProperties": 1, + "maxProperties": 1 + }, + "span_within": { + "$ref": "#/components/schemas/_types.query_dsl:SpanWithinQuery" + }, + "term": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-term-query.html" + }, + "description": "Returns documents that contain an exact term in a provided field.\nTo return a document, the query term must exactly match the queried field's value, including whitespace and capitalization.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.query_dsl:TermQuery" + }, + "minProperties": 1, + "maxProperties": 1 + }, + "terms": { + "$ref": "#/components/schemas/_types.query_dsl:TermsQuery" + }, + "terms_set": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-terms-set-query.html" + }, + "description": "Returns documents that contain a minimum number of exact terms in a provided field.\nTo return a document, a required number of terms must exactly match the field values, including whitespace and capitalization.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.query_dsl:TermsSetQuery" + }, + "minProperties": 1, + "maxProperties": 1 + }, + "text_expansion": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-text-expansion-query.html" + }, + "description": "Uses a natural language processing model to convert the query text into a list of token-weight pairs which are then used in a query against a sparse vector or rank features field.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.query_dsl:TextExpansionQuery" + }, + "minProperties": 1, + "maxProperties": 1 + }, + "weighted_tokens": { + "description": "Supports returning text_expansion query results by sending in precomputed tokens with the query.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.query_dsl:WeightedTokensQuery" + }, + "minProperties": 1, + "maxProperties": 1 + }, + "wildcard": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-wildcard-query.html" + }, + "description": "Returns documents that contain terms matching a wildcard pattern.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.query_dsl:WildcardQuery" + }, + "minProperties": 1, + "maxProperties": 1 + }, + "wrapper": { + "$ref": "#/components/schemas/_types.query_dsl:WrapperQuery" + }, + "type": { + "$ref": "#/components/schemas/_types.query_dsl:TypeQuery" + } + }, + "minProperties": 1, + "maxProperties": 1 + }, + "_types.query_dsl:BoolQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "filter": { + "description": "The clause (query) must appear in matching documents.\nHowever, unlike `must`, the score of the query will be ignored.", + "oneOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + } + } + ] + }, + "minimum_should_match": { + "$ref": "#/components/schemas/_types:MinimumShouldMatch" + }, + "must": { + "description": "The clause (query) must appear in matching documents and will contribute to the score.", + "oneOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + } + } + ] + }, + "must_not": { + "description": "The clause (query) must not appear in the matching documents.\nBecause scoring is ignored, a score of `0` is returned for all documents.", + "oneOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + } + } + ] + }, + "should": { + "description": "The clause (query) should appear in the matching document.", + "oneOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + } + } + ] + } + } + } + ] + }, + "_types.query_dsl:QueryBase": { + "type": "object", + "properties": { + "boost": { + "description": "Floating point number used to decrease or increase the relevance scores of the query.\nBoost values are relative to the default value of 1.0.\nA boost value between 0 and 1.0 decreases the relevance score.\nA value greater than 1.0 increases the relevance score.", + "type": "number" + }, + "_name": { + "type": "string" + } + } + }, + "_types:MinimumShouldMatch": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-minimum-should-match.html" + }, + "description": "The minimum number of terms that should match as integer, percentage or range", + "oneOf": [ + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "_types.query_dsl:BoostingQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "negative_boost": { + "description": "Floating point number between 0 and 1.0 used to decrease the relevance scores of documents matching the `negative` query.", + "type": "number" + }, + "negative": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + }, + "positive": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + } + }, + "required": [ + "negative_boost", + "negative", + "positive" + ] + } + ] + }, + "_types.query_dsl:CommonTermsQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "analyzer": { + "type": "string" + }, + "cutoff_frequency": { + "type": "number" + }, + "high_freq_operator": { + "$ref": "#/components/schemas/_types.query_dsl:Operator" + }, + "low_freq_operator": { + "$ref": "#/components/schemas/_types.query_dsl:Operator" + }, + "minimum_should_match": { + "$ref": "#/components/schemas/_types:MinimumShouldMatch" + }, + "query": { + "type": "string" + } + }, + "required": [ + "query" + ] + } + ] + }, + "_types.query_dsl:Operator": { + "type": "string", + "enum": [ + "and", + "AND", + "or", + "OR" + ] + }, + "_types.query_dsl:CombinedFieldsQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "fields": { + "description": "List of fields to search. Field wildcard patterns are allowed. Only `text` fields are supported, and they must all have the same search `analyzer`.", + "type": "array", + "items": { + "$ref": "#/components/schemas/_types:Field" + } + }, + "query": { + "description": "Text to search for in the provided `fields`.\nThe `combined_fields` query analyzes the provided text before performing a search.", + "type": "string" + }, + "auto_generate_synonyms_phrase_query": { + "description": "If true, match phrase queries are automatically created for multi-term synonyms.", + "type": "boolean" + }, + "operator": { + "$ref": "#/components/schemas/_types.query_dsl:CombinedFieldsOperator" + }, + "minimum_should_match": { + "$ref": "#/components/schemas/_types:MinimumShouldMatch" + }, + "zero_terms_query": { + "$ref": "#/components/schemas/_types.query_dsl:CombinedFieldsZeroTerms" + } + }, + "required": [ + "fields", + "query" + ] + } + ] + }, + "_types.query_dsl:CombinedFieldsOperator": { + "type": "string", + "enum": [ + "or", + "and" + ] + }, + "_types.query_dsl:CombinedFieldsZeroTerms": { + "type": "string", + "enum": [ + "none", + "all" + ] + }, + "_types.query_dsl:ConstantScoreQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "filter": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + } + }, + "required": [ + "filter" + ] + } + ] + }, + "_types.query_dsl:DisMaxQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "queries": { + "description": "One or more query clauses.\nReturned documents must match one or more of these queries.\nIf a document matches multiple queries, Elasticsearch uses the highest relevance score.", + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + } + }, + "tie_breaker": { + "description": "Floating point number between 0 and 1.0 used to increase the relevance scores of documents matching multiple query clauses.", + "type": "number" + } + }, + "required": [ + "queries" + ] + } + ] + }, + "_types.query_dsl:DistanceFeatureQuery": { + "oneOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:GeoDistanceFeatureQuery" + }, + { + "$ref": "#/components/schemas/_types.query_dsl:DateDistanceFeatureQuery" + } + ] + }, + "_types.query_dsl:GeoDistanceFeatureQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:DistanceFeatureQueryBaseGeoLocationDistance" + }, + { + "type": "object" + } + ] + }, + "_types.query_dsl:DistanceFeatureQueryBaseGeoLocationDistance": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "origin": { + "$ref": "#/components/schemas/_types:GeoLocation" + }, + "pivot": { + "$ref": "#/components/schemas/_types:Distance" + }, + "field": { + "$ref": "#/components/schemas/_types:Field" + } + }, + "required": [ + "origin", + "pivot", + "field" + ] + } + ] + }, + "_types:GeoLocation": { + "description": "A latitude/longitude as a 2 dimensional point. It can be represented in various ways:\n- as a `{lat, long}` object\n- as a geo hash value\n- as a `[lon, lat]` array\n- as a string in `\", \"` or WKT point formats", + "oneOf": [ + { + "$ref": "#/components/schemas/_types:LatLonGeoLocation" + }, + { + "$ref": "#/components/schemas/_types:GeoHashLocation" + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "string" + } + ] + }, + "_types:LatLonGeoLocation": { + "type": "object", + "properties": { + "lat": { + "description": "Latitude", + "type": "number" + }, + "lon": { + "description": "Longitude", + "type": "number" + } + }, + "required": [ + "lat", + "lon" + ] + }, + "_types:GeoHashLocation": { + "type": "object", + "properties": { + "geohash": { + "$ref": "#/components/schemas/_types:GeoHash" + } + }, + "required": [ + "geohash" + ] + }, + "_types:GeoHash": { + "type": "string" + }, + "_types:Distance": { + "type": "string" + }, + "_types.query_dsl:DateDistanceFeatureQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:DistanceFeatureQueryBaseDateMathDuration" + }, + { + "type": "object" + } + ] + }, + "_types.query_dsl:DistanceFeatureQueryBaseDateMathDuration": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "origin": { + "$ref": "#/components/schemas/_types:DateMath" + }, + "pivot": { + "$ref": "#/components/schemas/_types:Duration" + }, + "field": { + "$ref": "#/components/schemas/_types:Field" + } + }, + "required": [ + "origin", + "pivot", + "field" + ] + } + ] + }, + "_types:DateMath": { + "type": "string" + }, + "_types.query_dsl:ExistsQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + } + }, + "required": [ + "field" + ] + } + ] + }, + "_types.query_dsl:FunctionScoreQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "boost_mode": { + "$ref": "#/components/schemas/_types.query_dsl:FunctionBoostMode" + }, + "functions": { + "description": "One or more functions that compute a new score for each document returned by the query.", + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.query_dsl:FunctionScoreContainer" + } + }, + "max_boost": { + "description": "Restricts the new score to not exceed the provided limit.", + "type": "number" + }, + "min_score": { + "description": "Excludes documents that do not meet the provided score threshold.", + "type": "number" + }, + "query": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + }, + "score_mode": { + "$ref": "#/components/schemas/_types.query_dsl:FunctionScoreMode" + } + } + } + ] + }, + "_types.query_dsl:FunctionBoostMode": { + "type": "string", + "enum": [ + "multiply", + "replace", + "sum", + "avg", + "max", + "min" + ] + }, + "_types.query_dsl:FunctionScoreContainer": { + "allOf": [ + { + "type": "object", + "properties": { + "filter": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + }, + "weight": { + "type": "number" + } + } + }, + { + "type": "object", + "properties": { + "exp": { + "$ref": "#/components/schemas/_types.query_dsl:DecayFunction" + }, + "gauss": { + "$ref": "#/components/schemas/_types.query_dsl:DecayFunction" + }, + "linear": { + "$ref": "#/components/schemas/_types.query_dsl:DecayFunction" + }, + "field_value_factor": { + "$ref": "#/components/schemas/_types.query_dsl:FieldValueFactorScoreFunction" + }, + "random_score": { + "$ref": "#/components/schemas/_types.query_dsl:RandomScoreFunction" + }, + "script_score": { + "$ref": "#/components/schemas/_types.query_dsl:ScriptScoreFunction" + } + }, + "minProperties": 1, + "maxProperties": 1 + } + ] + }, + "_types.query_dsl:DecayFunction": { + "oneOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:DateDecayFunction" + }, + { + "$ref": "#/components/schemas/_types.query_dsl:NumericDecayFunction" + }, + { + "$ref": "#/components/schemas/_types.query_dsl:GeoDecayFunction" + } + ] + }, + "_types.query_dsl:DateDecayFunction": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:DecayFunctionBase" + }, + { + "type": "object" + } + ] + }, + "_types.query_dsl:DecayFunctionBase": { + "type": "object", + "properties": { + "multi_value_mode": { + "$ref": "#/components/schemas/_types.query_dsl:MultiValueMode" + } + } + }, + "_types.query_dsl:MultiValueMode": { + "type": "string", + "enum": [ + "min", + "max", + "avg", + "sum" + ] + }, + "_types.query_dsl:NumericDecayFunction": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:DecayFunctionBase" + }, + { + "type": "object" + } + ] + }, + "_types.query_dsl:GeoDecayFunction": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:DecayFunctionBase" + }, + { + "type": "object" + } + ] + }, + "_types.query_dsl:FieldValueFactorScoreFunction": { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "factor": { + "description": "Optional factor to multiply the field value with.", + "type": "number" + }, + "missing": { + "description": "Value used if the document doesn’t have that field.\nThe modifier and factor are still applied to it as though it were read from the document.", + "type": "number" + }, + "modifier": { + "$ref": "#/components/schemas/_types.query_dsl:FieldValueFactorModifier" + } + }, + "required": [ + "field" + ] + }, + "_types.query_dsl:FieldValueFactorModifier": { + "type": "string", + "enum": [ + "none", + "log", + "log1p", + "log2p", + "ln", + "ln1p", + "ln2p", + "square", + "sqrt", + "reciprocal" + ] + }, + "_types.query_dsl:RandomScoreFunction": { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "seed": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string" + } + ] + } + } + }, + "_types.query_dsl:ScriptScoreFunction": { + "type": "object", + "properties": { + "script": { + "$ref": "#/components/schemas/_types:Script" + } + }, + "required": [ + "script" + ] + }, + "_types.query_dsl:FunctionScoreMode": { + "type": "string", + "enum": [ + "multiply", + "sum", + "avg", + "first", + "max", + "min" + ] + }, + "_types.query_dsl:FuzzyQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "max_expansions": { + "description": "Maximum number of variations created.", + "type": "number" + }, + "prefix_length": { + "description": "Number of beginning characters left unchanged when creating expansions.", + "type": "number" + }, + "rewrite": { + "$ref": "#/components/schemas/_types:MultiTermQueryRewrite" + }, + "transpositions": { + "description": "Indicates whether edits include transpositions of two adjacent characters (for example `ab` to `ba`).", + "type": "boolean" + }, + "fuzziness": { + "$ref": "#/components/schemas/_types:Fuzziness" + }, + "value": { + "description": "Term you wish to find in the provided field.", + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "value" + ] + } + ] + }, + "_types:MultiTermQueryRewrite": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-multi-term-rewrite.html" + }, + "type": "string" + }, + "_types:Fuzziness": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/common-options.html#fuzziness" + }, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "_types.query_dsl:GeoBoundingBoxQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "type": { + "$ref": "#/components/schemas/_types.query_dsl:GeoExecution" + }, + "validation_method": { + "$ref": "#/components/schemas/_types.query_dsl:GeoValidationMethod" + }, + "ignore_unmapped": { + "description": "Set to `true` to ignore an unmapped field and not match any documents for this query.\nSet to `false` to throw an exception if the field is not mapped.", + "type": "boolean" + } + } + } + ] + }, + "_types.query_dsl:GeoExecution": { + "type": "string", + "enum": [ + "memory", + "indexed" + ] + }, + "_types.query_dsl:GeoValidationMethod": { + "type": "string", + "enum": [ + "coerce", + "ignore_malformed", + "strict" + ] + }, + "_types.query_dsl:GeoDistanceQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "distance": { + "$ref": "#/components/schemas/_types:Distance" + }, + "distance_type": { + "$ref": "#/components/schemas/_types:GeoDistanceType" + }, + "validation_method": { + "$ref": "#/components/schemas/_types.query_dsl:GeoValidationMethod" + }, + "ignore_unmapped": { + "description": "Set to `true` to ignore an unmapped field and not match any documents for this query.\nSet to `false` to throw an exception if the field is not mapped.", + "type": "boolean" + } + }, + "required": [ + "distance" + ] + } + ] + }, + "_types:GeoDistanceType": { + "type": "string", + "enum": [ + "arc", + "plane" + ] + }, + "_types.query_dsl:GeoPolygonQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "validation_method": { + "$ref": "#/components/schemas/_types.query_dsl:GeoValidationMethod" + }, + "ignore_unmapped": { + "type": "boolean" + } + } + } + ] + }, + "_types.query_dsl:GeoShapeQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "ignore_unmapped": { + "description": "Set to `true` to ignore an unmapped field and not match any documents for this query.\nSet to `false` to throw an exception if the field is not mapped.", + "type": "boolean" + } + } + } + ] + }, + "_types.query_dsl:HasChildQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "ignore_unmapped": { + "description": "Indicates whether to ignore an unmapped `type` and not return any documents instead of an error.", + "type": "boolean" + }, + "inner_hits": { + "$ref": "#/components/schemas/_global.search._types:InnerHits" + }, + "max_children": { + "description": "Maximum number of child documents that match the query allowed for a returned parent document.\nIf the parent document exceeds this limit, it is excluded from the search results.", + "type": "number" + }, + "min_children": { + "description": "Minimum number of child documents that match the query required to match the query for a returned parent document.\nIf the parent document does not meet this limit, it is excluded from the search results.", + "type": "number" + }, + "query": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + }, + "score_mode": { + "$ref": "#/components/schemas/_types.query_dsl:ChildScoreMode" + }, + "type": { + "$ref": "#/components/schemas/_types:RelationName" + } + }, + "required": [ + "query", + "type" + ] + } + ] + }, + "_global.search._types:InnerHits": { + "type": "object", + "properties": { + "name": { + "$ref": "#/components/schemas/_types:Name" + }, + "size": { + "description": "The maximum number of hits to return per `inner_hits`.", + "type": "number" + }, + "from": { + "description": "Inner hit starting document offset.", + "type": "number" + }, + "collapse": { + "$ref": "#/components/schemas/_global.search._types:FieldCollapse" + }, + "docvalue_fields": { + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.query_dsl:FieldAndFormat" + } + }, + "explain": { + "type": "boolean" + }, + "highlight": { + "$ref": "#/components/schemas/_global.search._types:Highlight" + }, + "ignore_unmapped": { + "type": "boolean" + }, + "script_fields": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types:ScriptField" + } + }, + "seq_no_primary_term": { + "type": "boolean" + }, + "fields": { + "$ref": "#/components/schemas/_types:Fields" + }, + "sort": { + "$ref": "#/components/schemas/_types:Sort" + }, + "_source": { + "$ref": "#/components/schemas/_global.search._types:SourceConfig" + }, + "stored_fields": { + "$ref": "#/components/schemas/_types:Fields" + }, + "track_scores": { + "type": "boolean" + }, + "version": { + "type": "boolean" + } + } + }, + "_types:Name": { + "type": "string" + }, + "_global.search._types:FieldCollapse": { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "inner_hits": { + "description": "The number of inner hits and their sort order", + "oneOf": [ + { + "$ref": "#/components/schemas/_global.search._types:InnerHits" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/_global.search._types:InnerHits" + } + } + ] + }, + "max_concurrent_group_searches": { + "description": "The number of concurrent requests allowed to retrieve the inner_hits per group", + "type": "number" + }, + "collapse": { + "$ref": "#/components/schemas/_global.search._types:FieldCollapse" + } + }, + "required": [ + "field" + ] + }, + "_types.query_dsl:FieldAndFormat": { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "format": { + "description": "Format in which the values are returned.", + "type": "string" + }, + "include_unmapped": { + "type": "boolean" + } + }, + "required": [ + "field" + ] + }, + "_global.search._types:Highlight": { + "allOf": [ + { + "$ref": "#/components/schemas/_global.search._types:HighlightBase" + }, + { + "type": "object", + "properties": { + "encoder": { + "$ref": "#/components/schemas/_global.search._types:HighlighterEncoder" + }, + "fields": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_global.search._types:HighlightField" + } + } + }, + "required": [ + "fields" + ] + } + ] + }, + "_global.search._types:HighlightBase": { + "type": "object", + "properties": { + "type": { + "$ref": "#/components/schemas/_global.search._types:HighlighterType" + }, + "boundary_chars": { + "description": "A string that contains each boundary character.", + "type": "string" + }, + "boundary_max_scan": { + "description": "How far to scan for boundary characters.", + "type": "number" + }, + "boundary_scanner": { + "$ref": "#/components/schemas/_global.search._types:BoundaryScanner" + }, + "boundary_scanner_locale": { + "description": "Controls which locale is used to search for sentence and word boundaries.\nThis parameter takes a form of a language tag, for example: `\"en-US\"`, `\"fr-FR\"`, `\"ja-JP\"`.", + "type": "string" + }, + "force_source": { + "deprecated": true, + "type": "boolean" + }, + "fragmenter": { + "$ref": "#/components/schemas/_global.search._types:HighlighterFragmenter" + }, + "fragment_size": { + "description": "The size of the highlighted fragment in characters.", + "type": "number" + }, + "highlight_filter": { + "type": "boolean" + }, + "highlight_query": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + }, + "max_fragment_length": { + "type": "number" + }, + "max_analyzed_offset": { + "description": "If set to a non-negative value, highlighting stops at this defined maximum limit.\nThe rest of the text is not processed, thus not highlighted and no error is returned\nThe `max_analyzed_offset` query setting does not override the `index.highlight.max_analyzed_offset` setting, which prevails when it’s set to lower value than the query setting.", + "type": "number" + }, + "no_match_size": { + "description": "The amount of text you want to return from the beginning of the field if there are no matching fragments to highlight.", + "type": "number" + }, + "number_of_fragments": { + "description": "The maximum number of fragments to return.\nIf the number of fragments is set to `0`, no fragments are returned.\nInstead, the entire field contents are highlighted and returned.\nThis can be handy when you need to highlight short texts such as a title or address, but fragmentation is not required.\nIf `number_of_fragments` is `0`, `fragment_size` is ignored.", + "type": "number" + }, + "options": { + "type": "object", + "additionalProperties": { + "type": "object" + } + }, + "order": { + "$ref": "#/components/schemas/_global.search._types:HighlighterOrder" + }, + "phrase_limit": { + "description": "Controls the number of matching phrases in a document that are considered.\nPrevents the `fvh` highlighter from analyzing too many phrases and consuming too much memory.\nWhen using `matched_fields`, `phrase_limit` phrases per matched field are considered. Raising the limit increases query time and consumes more memory.\nOnly supported by the `fvh` highlighter.", + "type": "number" + }, + "post_tags": { + "description": "Use in conjunction with `pre_tags` to define the HTML tags to use for the highlighted text.\nBy default, highlighted text is wrapped in `` and `` tags.", + "type": "array", + "items": { + "type": "string" + } + }, + "pre_tags": { + "description": "Use in conjunction with `post_tags` to define the HTML tags to use for the highlighted text.\nBy default, highlighted text is wrapped in `` and `` tags.", + "type": "array", + "items": { + "type": "string" + } + }, + "require_field_match": { + "description": "By default, only fields that contains a query match are highlighted.\nSet to `false` to highlight all fields.", + "type": "boolean" + }, + "tags_schema": { + "$ref": "#/components/schemas/_global.search._types:HighlighterTagsSchema" + } + } + }, + "_global.search._types:HighlighterType": { + "anyOf": [ + { + "type": "string", + "enum": [ + "plain", + "fvh", + "unified" + ] + }, + { + "type": "string" + } + ] + }, + "_global.search._types:BoundaryScanner": { + "type": "string", + "enum": [ + "chars", + "sentence", + "word" + ] + }, + "_global.search._types:HighlighterFragmenter": { + "type": "string", + "enum": [ + "simple", + "span" + ] + }, + "_global.search._types:HighlighterOrder": { + "type": "string", + "enum": [ + "score" + ] + }, + "_global.search._types:HighlighterTagsSchema": { + "type": "string", + "enum": [ + "styled" + ] + }, + "_global.search._types:HighlighterEncoder": { + "type": "string", + "enum": [ + "default", + "html" + ] + }, + "_global.search._types:HighlightField": { + "allOf": [ + { + "$ref": "#/components/schemas/_global.search._types:HighlightBase" + }, + { + "type": "object", + "properties": { + "fragment_offset": { + "type": "number" + }, + "matched_fields": { + "$ref": "#/components/schemas/_types:Fields" + }, + "analyzer": { + "$ref": "#/components/schemas/_types.analysis:Analyzer" + } + } + } + ] + }, + "_types:Fields": { + "oneOf": [ + { + "$ref": "#/components/schemas/_types:Field" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/_types:Field" + } + } + ] + }, + "_types.analysis:Analyzer": { + "discriminator": { + "propertyName": "type" + }, + "oneOf": [ + { + "$ref": "#/components/schemas/_types.analysis:CustomAnalyzer" + }, + { + "$ref": "#/components/schemas/_types.analysis:FingerprintAnalyzer" + }, + { + "$ref": "#/components/schemas/_types.analysis:KeywordAnalyzer" + }, + { + "$ref": "#/components/schemas/_types.analysis:LanguageAnalyzer" + }, + { + "$ref": "#/components/schemas/_types.analysis:NoriAnalyzer" + }, + { + "$ref": "#/components/schemas/_types.analysis:PatternAnalyzer" + }, + { + "$ref": "#/components/schemas/_types.analysis:SimpleAnalyzer" + }, + { + "$ref": "#/components/schemas/_types.analysis:StandardAnalyzer" + }, + { + "$ref": "#/components/schemas/_types.analysis:StopAnalyzer" + }, + { + "$ref": "#/components/schemas/_types.analysis:WhitespaceAnalyzer" + }, + { + "$ref": "#/components/schemas/_types.analysis:IcuAnalyzer" + }, + { + "$ref": "#/components/schemas/_types.analysis:KuromojiAnalyzer" + }, + { + "$ref": "#/components/schemas/_types.analysis:SnowballAnalyzer" + }, + { + "$ref": "#/components/schemas/_types.analysis:DutchAnalyzer" + } + ] + }, + "_types.analysis:CustomAnalyzer": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "custom" + ] + }, + "char_filter": { + "type": "array", + "items": { + "type": "string" + } + }, + "filter": { + "type": "array", + "items": { + "type": "string" + } + }, + "position_increment_gap": { + "type": "number" + }, + "position_offset_gap": { + "type": "number" + }, + "tokenizer": { + "type": "string" + } + }, + "required": [ + "type", + "tokenizer" + ] + }, + "_types.analysis:FingerprintAnalyzer": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "fingerprint" + ] + }, + "version": { + "$ref": "#/components/schemas/_types:VersionString" + }, + "max_output_size": { + "type": "number" + }, + "preserve_original": { + "type": "boolean" + }, + "separator": { + "type": "string" + }, + "stopwords": { + "$ref": "#/components/schemas/_types.analysis:StopWords" + }, + "stopwords_path": { + "type": "string" + } + }, + "required": [ + "type", + "max_output_size", + "preserve_original", + "separator" + ] + }, + "_types.analysis:KeywordAnalyzer": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "keyword" + ] + }, + "version": { + "$ref": "#/components/schemas/_types:VersionString" + } + }, + "required": [ + "type" + ] + }, + "_types.analysis:LanguageAnalyzer": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "language" + ] + }, + "version": { + "$ref": "#/components/schemas/_types:VersionString" + }, + "language": { + "$ref": "#/components/schemas/_types.analysis:Language" + }, + "stem_exclusion": { + "type": "array", + "items": { + "type": "string" + } + }, + "stopwords": { + "$ref": "#/components/schemas/_types.analysis:StopWords" + }, + "stopwords_path": { + "type": "string" + } + }, + "required": [ + "type", + "language", + "stem_exclusion" + ] + }, + "_types.analysis:Language": { + "type": "string", + "enum": [ + "Arabic", + "Armenian", + "Basque", + "Brazilian", + "Bulgarian", + "Catalan", + "Chinese", + "Cjk", + "Czech", + "Danish", + "Dutch", + "English", + "Estonian", + "Finnish", + "French", + "Galician", + "German", + "Greek", + "Hindi", + "Hungarian", + "Indonesian", + "Irish", + "Italian", + "Latvian", + "Norwegian", + "Persian", + "Portuguese", + "Romanian", + "Russian", + "Sorani", + "Spanish", + "Swedish", + "Turkish", + "Thai" + ] + }, + "_types.analysis:NoriAnalyzer": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "nori" + ] + }, + "version": { + "$ref": "#/components/schemas/_types:VersionString" + }, + "decompound_mode": { + "$ref": "#/components/schemas/_types.analysis:NoriDecompoundMode" + }, + "stoptags": { + "type": "array", + "items": { + "type": "string" + } + }, + "user_dictionary": { + "type": "string" + } + }, + "required": [ + "type" + ] + }, + "_types.analysis:PatternAnalyzer": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "pattern" + ] + }, + "version": { + "$ref": "#/components/schemas/_types:VersionString" + }, + "flags": { + "type": "string" + }, + "lowercase": { + "type": "boolean" + }, + "pattern": { + "type": "string" + }, + "stopwords": { + "$ref": "#/components/schemas/_types.analysis:StopWords" + } + }, + "required": [ + "type", + "pattern" + ] + }, + "_types.analysis:SimpleAnalyzer": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "simple" + ] + }, + "version": { + "$ref": "#/components/schemas/_types:VersionString" + } + }, + "required": [ + "type" + ] + }, + "_types.analysis:StandardAnalyzer": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "standard" + ] + }, + "max_token_length": { + "type": "number" + }, + "stopwords": { + "$ref": "#/components/schemas/_types.analysis:StopWords" + } + }, + "required": [ + "type" + ] + }, + "_types.analysis:StopAnalyzer": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "stop" + ] + }, + "version": { + "$ref": "#/components/schemas/_types:VersionString" + }, + "stopwords": { + "$ref": "#/components/schemas/_types.analysis:StopWords" + }, + "stopwords_path": { + "type": "string" + } + }, + "required": [ + "type" + ] + }, + "_types.analysis:WhitespaceAnalyzer": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "whitespace" + ] + }, + "version": { + "$ref": "#/components/schemas/_types:VersionString" + } + }, + "required": [ + "type" + ] + }, + "_types.analysis:IcuAnalyzer": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "icu_analyzer" + ] + }, + "method": { + "$ref": "#/components/schemas/_types.analysis:IcuNormalizationType" + }, + "mode": { + "$ref": "#/components/schemas/_types.analysis:IcuNormalizationMode" + } + }, + "required": [ + "type", + "method", + "mode" + ] + }, + "_types.analysis:KuromojiAnalyzer": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "kuromoji" + ] + }, + "mode": { + "$ref": "#/components/schemas/_types.analysis:KuromojiTokenizationMode" + }, + "user_dictionary": { + "type": "string" + } + }, + "required": [ + "type", + "mode" + ] + }, + "_types.analysis:SnowballAnalyzer": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "snowball" + ] + }, + "version": { + "$ref": "#/components/schemas/_types:VersionString" + }, + "language": { + "$ref": "#/components/schemas/_types.analysis:SnowballLanguage" + }, + "stopwords": { + "$ref": "#/components/schemas/_types.analysis:StopWords" + } + }, + "required": [ + "type", + "language" + ] + }, + "_types.analysis:DutchAnalyzer": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "dutch" + ] + }, + "stopwords": { + "$ref": "#/components/schemas/_types.analysis:StopWords" + } + }, + "required": [ + "type" + ] + }, + "_types:ScriptField": { + "type": "object", + "properties": { + "script": { + "$ref": "#/components/schemas/_types:Script" + }, + "ignore_failure": { + "type": "boolean" + } + }, + "required": [ + "script" + ] + }, + "_types:Sort": { + "oneOf": [ + { + "$ref": "#/components/schemas/_types:SortCombinations" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/_types:SortCombinations" + } + } + ] + }, + "_types:SortCombinations": { + "oneOf": [ + { + "$ref": "#/components/schemas/_types:Field" + }, + { + "$ref": "#/components/schemas/_types:SortOptions" + } + ] + }, + "_types:SortOptions": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/sort-search-results.html" + }, + "type": "object", + "properties": { + "_score": { + "$ref": "#/components/schemas/_types:ScoreSort" + }, + "_doc": { + "$ref": "#/components/schemas/_types:ScoreSort" + }, + "_geo_distance": { + "$ref": "#/components/schemas/_types:GeoDistanceSort" + }, + "_script": { + "$ref": "#/components/schemas/_types:ScriptSort" + } + }, + "minProperties": 1, + "maxProperties": 1 + }, + "_types:ScoreSort": { + "type": "object", + "properties": { + "order": { + "$ref": "#/components/schemas/_types:SortOrder" + } + } + }, + "_types:SortOrder": { + "type": "string", + "enum": [ + "asc", + "desc" + ] + }, + "_types:GeoDistanceSort": { + "type": "object", + "properties": { + "mode": { + "$ref": "#/components/schemas/_types:SortMode" + }, + "distance_type": { + "$ref": "#/components/schemas/_types:GeoDistanceType" + }, + "ignore_unmapped": { + "type": "boolean" + }, + "order": { + "$ref": "#/components/schemas/_types:SortOrder" + }, + "unit": { + "$ref": "#/components/schemas/_types:DistanceUnit" + } + } + }, + "_types:SortMode": { + "type": "string", + "enum": [ + "min", + "max", + "sum", + "avg", + "median" + ] + }, + "_types:DistanceUnit": { + "type": "string", + "enum": [ + "in", + "ft", + "yd", + "mi", + "nmi", + "km", + "m", + "cm", + "mm" + ] + }, + "_types:ScriptSort": { + "type": "object", + "properties": { + "order": { + "$ref": "#/components/schemas/_types:SortOrder" + }, + "script": { + "$ref": "#/components/schemas/_types:Script" + }, + "type": { + "$ref": "#/components/schemas/_types:ScriptSortType" + }, + "mode": { + "$ref": "#/components/schemas/_types:SortMode" + }, + "nested": { + "$ref": "#/components/schemas/_types:NestedSortValue" + } + }, + "required": [ + "script" + ] + }, + "_types:ScriptSortType": { + "type": "string", + "enum": [ + "string", + "number", + "version" + ] + }, + "_types:NestedSortValue": { + "type": "object", + "properties": { + "filter": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + }, + "max_children": { + "type": "number" + }, + "nested": { + "$ref": "#/components/schemas/_types:NestedSortValue" + }, + "path": { + "$ref": "#/components/schemas/_types:Field" + } + }, + "required": [ + "path" + ] + }, + "_global.search._types:SourceConfig": { + "description": "Defines how to fetch a source. Fetching can be disabled entirely, or the source can be filtered.", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "#/components/schemas/_global.search._types:SourceFilter" + } + ] + }, + "_global.search._types:SourceFilter": { + "type": "object", + "properties": { + "excludes": { + "$ref": "#/components/schemas/_types:Fields" + }, + "includes": { + "$ref": "#/components/schemas/_types:Fields" + } + } + }, + "_types.query_dsl:ChildScoreMode": { + "type": "string", + "enum": [ + "none", + "avg", + "sum", + "max", + "min" + ] + }, + "_types:RelationName": { + "type": "string" + }, + "_types.query_dsl:HasParentQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "ignore_unmapped": { + "description": "Indicates whether to ignore an unmapped `parent_type` and not return any documents instead of an error.\nYou can use this parameter to query multiple indices that may not contain the `parent_type`.", + "type": "boolean" + }, + "inner_hits": { + "$ref": "#/components/schemas/_global.search._types:InnerHits" + }, + "parent_type": { + "$ref": "#/components/schemas/_types:RelationName" + }, + "query": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + }, + "score": { + "description": "Indicates whether the relevance score of a matching parent document is aggregated into its child documents.", + "type": "boolean" + } + }, + "required": [ + "parent_type", + "query" + ] + } + ] + }, + "_types.query_dsl:IdsQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "values": { + "$ref": "#/components/schemas/_types:Ids" + } + } + } + ] + }, + "_types:Ids": { + "oneOf": [ + { + "$ref": "#/components/schemas/_types:Id" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/_types:Id" + } + } + ] + }, + "_types.query_dsl:IntervalsQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "all_of": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsAllOf" + }, + "any_of": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsAnyOf" + }, + "fuzzy": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsFuzzy" + }, + "match": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsMatch" + }, + "prefix": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsPrefix" + }, + "wildcard": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsWildcard" + } + }, + "minProperties": 1, + "maxProperties": 1 + } + ] + }, + "_types.query_dsl:IntervalsAllOf": { + "type": "object", + "properties": { + "intervals": { + "description": "An array of rules to combine. All rules must produce a match in a document for the overall source to match.", + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsContainer" + } + }, + "max_gaps": { + "description": "Maximum number of positions between the matching terms.\nIntervals produced by the rules further apart than this are not considered matches.", + "type": "number" + }, + "ordered": { + "description": "If `true`, intervals produced by the rules should appear in the order in which they are specified.", + "type": "boolean" + }, + "filter": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsFilter" + } + }, + "required": [ + "intervals" + ] + }, + "_types.query_dsl:IntervalsContainer": { + "type": "object", + "properties": { + "all_of": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsAllOf" + }, + "any_of": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsAnyOf" + }, + "fuzzy": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsFuzzy" + }, + "match": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsMatch" + }, + "prefix": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsPrefix" + }, + "wildcard": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsWildcard" + } + }, + "minProperties": 1, + "maxProperties": 1 + }, + "_types.query_dsl:IntervalsAnyOf": { + "type": "object", + "properties": { + "intervals": { + "description": "An array of rules to match.", + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsContainer" + } + }, + "filter": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsFilter" + } + }, + "required": [ + "intervals" + ] + }, + "_types.query_dsl:IntervalsFilter": { + "type": "object", + "properties": { + "after": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsContainer" + }, + "before": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsContainer" + }, + "contained_by": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsContainer" + }, + "containing": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsContainer" + }, + "not_contained_by": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsContainer" + }, + "not_containing": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsContainer" + }, + "not_overlapping": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsContainer" + }, + "overlapping": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsContainer" + }, + "script": { + "$ref": "#/components/schemas/_types:Script" + } + }, + "minProperties": 1, + "maxProperties": 1 + }, + "_types.query_dsl:IntervalsFuzzy": { + "type": "object", + "properties": { + "analyzer": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis.html" + }, + "description": "Analyzer used to normalize the term.", + "type": "string" + }, + "fuzziness": { + "$ref": "#/components/schemas/_types:Fuzziness" + }, + "prefix_length": { + "description": "Number of beginning characters left unchanged when creating expansions.", + "type": "number" + }, + "term": { + "description": "The term to match.", + "type": "string" + }, + "transpositions": { + "description": "Indicates whether edits include transpositions of two adjacent characters (for example, `ab` to `ba`).", + "type": "boolean" + }, + "use_field": { + "$ref": "#/components/schemas/_types:Field" + } + }, + "required": [ + "term" + ] + }, + "_types.query_dsl:IntervalsMatch": { + "type": "object", + "properties": { + "analyzer": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis.html" + }, + "description": "Analyzer used to analyze terms in the query.", + "type": "string" + }, + "max_gaps": { + "description": "Maximum number of positions between the matching terms.\nTerms further apart than this are not considered matches.", + "type": "number" + }, + "ordered": { + "description": "If `true`, matching terms must appear in their specified order.", + "type": "boolean" + }, + "query": { + "description": "Text you wish to find in the provided field.", + "type": "string" + }, + "use_field": { + "$ref": "#/components/schemas/_types:Field" + }, + "filter": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsFilter" + } + }, + "required": [ + "query" + ] + }, + "_types.query_dsl:IntervalsPrefix": { + "type": "object", + "properties": { + "analyzer": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis.html" + }, + "description": "Analyzer used to analyze the `prefix`.", + "type": "string" + }, + "prefix": { + "description": "Beginning characters of terms you wish to find in the top-level field.", + "type": "string" + }, + "use_field": { + "$ref": "#/components/schemas/_types:Field" + } + }, + "required": [ + "prefix" + ] + }, + "_types.query_dsl:IntervalsWildcard": { + "type": "object", + "properties": { + "analyzer": { + "description": "Analyzer used to analyze the `pattern`.\nDefaults to the top-level field's analyzer.", + "type": "string" + }, + "pattern": { + "description": "Wildcard pattern used to find matching terms.", + "type": "string" + }, + "use_field": { + "$ref": "#/components/schemas/_types:Field" + } + }, + "required": [ + "pattern" + ] + }, + "_types:KnnQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "query_vector": { + "$ref": "#/components/schemas/_types:QueryVector" + }, + "query_vector_builder": { + "$ref": "#/components/schemas/_types:QueryVectorBuilder" + }, + "num_candidates": { + "description": "The number of nearest neighbor candidates to consider per shard", + "type": "number" + }, + "filter": { + "description": "Filters for the kNN search query", + "oneOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + } + } + ] + }, + "similarity": { + "description": "The minimum similarity for a vector to be considered a match", + "type": "number" + } + }, + "required": [ + "field" + ] + } + ] + }, + "_types:QueryVector": { + "type": "array", + "items": { + "type": "number" + } + }, + "_types:QueryVectorBuilder": { + "type": "object", + "properties": { + "text_embedding": { + "$ref": "#/components/schemas/_types:TextEmbedding" + } + }, + "minProperties": 1, + "maxProperties": 1 + }, + "_types:TextEmbedding": { + "type": "object", + "properties": { + "model_id": { + "type": "string" + }, + "model_text": { + "type": "string" + } + }, + "required": [ + "model_id", + "model_text" + ] + }, + "_types.query_dsl:MatchQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "analyzer": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis.html" + }, + "description": "Analyzer used to convert the text in the query value into tokens.", + "type": "string" + }, + "auto_generate_synonyms_phrase_query": { + "description": "If `true`, match phrase queries are automatically created for multi-term synonyms.", + "type": "boolean" + }, + "cutoff_frequency": { + "deprecated": true, + "type": "number" + }, + "fuzziness": { + "$ref": "#/components/schemas/_types:Fuzziness" + }, + "fuzzy_rewrite": { + "$ref": "#/components/schemas/_types:MultiTermQueryRewrite" + }, + "fuzzy_transpositions": { + "description": "If `true`, edits for fuzzy matching include transpositions of two adjacent characters (for example, `ab` to `ba`).", + "type": "boolean" + }, + "lenient": { + "description": "If `true`, format-based errors, such as providing a text query value for a numeric field, are ignored.", + "type": "boolean" + }, + "max_expansions": { + "description": "Maximum number of terms to which the query will expand.", + "type": "number" + }, + "minimum_should_match": { + "$ref": "#/components/schemas/_types:MinimumShouldMatch" + }, + "operator": { + "$ref": "#/components/schemas/_types.query_dsl:Operator" + }, + "prefix_length": { + "description": "Number of beginning characters left unchanged for fuzzy matching.", + "type": "number" + }, + "query": { + "description": "Text, number, boolean value or date you wish to find in the provided field.", + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "zero_terms_query": { + "$ref": "#/components/schemas/_types.query_dsl:ZeroTermsQuery" + } + }, + "required": [ + "query" + ] + } + ] + }, + "_types.query_dsl:ZeroTermsQuery": { + "type": "string", + "enum": [ + "all", + "none" + ] + }, + "_types.query_dsl:MatchAllQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object" + } + ] + }, + "_types.query_dsl:MatchBoolPrefixQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "analyzer": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis.html" + }, + "description": "Analyzer used to convert the text in the query value into tokens.", + "type": "string" + }, + "fuzziness": { + "$ref": "#/components/schemas/_types:Fuzziness" + }, + "fuzzy_rewrite": { + "$ref": "#/components/schemas/_types:MultiTermQueryRewrite" + }, + "fuzzy_transpositions": { + "description": "If `true`, edits for fuzzy matching include transpositions of two adjacent characters (for example, `ab` to `ba`).\nCan be applied to the term subqueries constructed for all terms but the final term.", + "type": "boolean" + }, + "max_expansions": { + "description": "Maximum number of terms to which the query will expand.\nCan be applied to the term subqueries constructed for all terms but the final term.", + "type": "number" + }, + "minimum_should_match": { + "$ref": "#/components/schemas/_types:MinimumShouldMatch" + }, + "operator": { + "$ref": "#/components/schemas/_types.query_dsl:Operator" + }, + "prefix_length": { + "description": "Number of beginning characters left unchanged for fuzzy matching.\nCan be applied to the term subqueries constructed for all terms but the final term.", + "type": "number" + }, + "query": { + "description": "Terms you wish to find in the provided field.\nThe last term is used in a prefix query.", + "type": "string" + } + }, + "required": [ + "query" + ] + } + ] + }, + "_types.query_dsl:MatchNoneQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object" + } + ] + }, + "_types.query_dsl:MatchPhraseQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "analyzer": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis.html" + }, + "description": "Analyzer used to convert the text in the query value into tokens.", + "type": "string" + }, + "query": { + "description": "Query terms that are analyzed and turned into a phrase query.", + "type": "string" + }, + "slop": { + "description": "Maximum number of positions allowed between matching tokens.", + "type": "number" + }, + "zero_terms_query": { + "$ref": "#/components/schemas/_types.query_dsl:ZeroTermsQuery" + } + }, + "required": [ + "query" + ] + } + ] + }, + "_types.query_dsl:MatchPhrasePrefixQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "analyzer": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis.html" + }, + "description": "Analyzer used to convert text in the query value into tokens.", + "type": "string" + }, + "max_expansions": { + "description": "Maximum number of terms to which the last provided term of the query value will expand.", + "type": "number" + }, + "query": { + "description": "Text you wish to find in the provided field.", + "type": "string" + }, + "slop": { + "description": "Maximum number of positions allowed between matching tokens.", + "type": "number" + }, + "zero_terms_query": { + "$ref": "#/components/schemas/_types.query_dsl:ZeroTermsQuery" + } + }, + "required": [ + "query" + ] + } + ] + }, + "_types.query_dsl:MoreLikeThisQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "analyzer": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis.html" + }, + "description": "The analyzer that is used to analyze the free form text.\nDefaults to the analyzer associated with the first field in fields.", + "type": "string" + }, + "boost_terms": { + "description": "Each term in the formed query could be further boosted by their tf-idf score.\nThis sets the boost factor to use when using this feature.\nDefaults to deactivated (0).", + "type": "number" + }, + "fail_on_unsupported_field": { + "description": "Controls whether the query should fail (throw an exception) if any of the specified fields are not of the supported types (`text` or `keyword`).", + "type": "boolean" + }, + "fields": { + "description": "A list of fields to fetch and analyze the text from.\nDefaults to the `index.query.default_field` index setting, which has a default value of `*`.", + "type": "array", + "items": { + "$ref": "#/components/schemas/_types:Field" + } + }, + "include": { + "description": "Specifies whether the input documents should also be included in the search results returned.", + "type": "boolean" + }, + "like": { + "description": "Specifies free form text and/or a single or multiple documents for which you want to find similar documents.", + "oneOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:Like" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.query_dsl:Like" + } + } + ] + }, + "max_doc_freq": { + "description": "The maximum document frequency above which the terms are ignored from the input document.", + "type": "number" + }, + "max_query_terms": { + "description": "The maximum number of query terms that can be selected.", + "type": "number" + }, + "max_word_length": { + "description": "The maximum word length above which the terms are ignored.\nDefaults to unbounded (`0`).", + "type": "number" + }, + "min_doc_freq": { + "description": "The minimum document frequency below which the terms are ignored from the input document.", + "type": "number" + }, + "minimum_should_match": { + "$ref": "#/components/schemas/_types:MinimumShouldMatch" + }, + "min_term_freq": { + "description": "The minimum term frequency below which the terms are ignored from the input document.", + "type": "number" + }, + "min_word_length": { + "description": "The minimum word length below which the terms are ignored.", + "type": "number" + }, + "routing": { + "$ref": "#/components/schemas/_types:Routing" + }, + "stop_words": { + "$ref": "#/components/schemas/_types.analysis:StopWords" + }, + "unlike": { + "description": "Used in combination with `like` to exclude documents that match a set of terms.", + "oneOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:Like" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.query_dsl:Like" + } + } + ] + }, + "version": { + "$ref": "#/components/schemas/_types:VersionNumber" + }, + "version_type": { + "$ref": "#/components/schemas/_types:VersionType" + } + }, + "required": [ + "like" + ] + } + ] + }, + "_types.query_dsl:Like": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-mlt-query.html#_document_input_parameters" + }, + "description": "Text that we want similar documents for or a lookup to a document's field for the text.", + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/_types.query_dsl:LikeDocument" + } + ] + }, + "_types.query_dsl:LikeDocument": { + "type": "object", + "properties": { + "doc": { + "description": "A document not present in the index.", + "type": "object" + }, + "fields": { + "type": "array", + "items": { + "$ref": "#/components/schemas/_types:Field" + } + }, + "_id": { + "$ref": "#/components/schemas/_types:Id" + }, + "_index": { + "$ref": "#/components/schemas/_types:IndexName" + }, + "per_field_analyzer": { + "description": "Overrides the default analyzer.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "routing": { + "$ref": "#/components/schemas/_types:Routing" + }, + "version": { + "$ref": "#/components/schemas/_types:VersionNumber" + }, + "version_type": { + "$ref": "#/components/schemas/_types:VersionType" + } + } + }, + "_types:IndexName": { + "type": "string" + }, + "_types:Routing": { + "type": "string" + }, + "_types:VersionNumber": { + "type": "number" + }, + "_types:VersionType": { + "type": "string", + "enum": [ + "internal", + "external", + "external_gte", + "force" + ] + }, + "_types.query_dsl:MultiMatchQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "analyzer": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis.html" + }, + "description": "Analyzer used to convert the text in the query value into tokens.", + "type": "string" + }, + "auto_generate_synonyms_phrase_query": { + "description": "If `true`, match phrase queries are automatically created for multi-term synonyms.", + "type": "boolean" + }, + "cutoff_frequency": { + "deprecated": true, + "type": "number" + }, + "fields": { + "$ref": "#/components/schemas/_types:Fields" + }, + "fuzziness": { + "$ref": "#/components/schemas/_types:Fuzziness" + }, + "fuzzy_rewrite": { + "$ref": "#/components/schemas/_types:MultiTermQueryRewrite" + }, + "fuzzy_transpositions": { + "description": "If `true`, edits for fuzzy matching include transpositions of two adjacent characters (for example, `ab` to `ba`).\nCan be applied to the term subqueries constructed for all terms but the final term.", + "type": "boolean" + }, + "lenient": { + "description": "If `true`, format-based errors, such as providing a text query value for a numeric field, are ignored.", + "type": "boolean" + }, + "max_expansions": { + "description": "Maximum number of terms to which the query will expand.", + "type": "number" + }, + "minimum_should_match": { + "$ref": "#/components/schemas/_types:MinimumShouldMatch" + }, + "operator": { + "$ref": "#/components/schemas/_types.query_dsl:Operator" + }, + "prefix_length": { + "description": "Number of beginning characters left unchanged for fuzzy matching.", + "type": "number" + }, + "query": { + "description": "Text, number, boolean value or date you wish to find in the provided field.", + "type": "string" + }, + "slop": { + "description": "Maximum number of positions allowed between matching tokens.", + "type": "number" + }, + "tie_breaker": { + "description": "Determines how scores for each per-term blended query and scores across groups are combined.", + "type": "number" + }, + "type": { + "$ref": "#/components/schemas/_types.query_dsl:TextQueryType" + }, + "zero_terms_query": { + "$ref": "#/components/schemas/_types.query_dsl:ZeroTermsQuery" + } + }, + "required": [ + "query" + ] + } + ] + }, + "_types.query_dsl:TextQueryType": { + "type": "string", + "enum": [ + "best_fields", + "most_fields", + "cross_fields", + "phrase", + "phrase_prefix", + "bool_prefix" + ] + }, + "_types.query_dsl:NestedQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "ignore_unmapped": { + "description": "Indicates whether to ignore an unmapped path and not return any documents instead of an error.", + "type": "boolean" + }, + "inner_hits": { + "$ref": "#/components/schemas/_global.search._types:InnerHits" + }, + "path": { + "$ref": "#/components/schemas/_types:Field" + }, + "query": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + }, + "score_mode": { + "$ref": "#/components/schemas/_types.query_dsl:ChildScoreMode" + } + }, + "required": [ + "path", + "query" + ] + } + ] + }, + "_types.query_dsl:ParentIdQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "id": { + "$ref": "#/components/schemas/_types:Id" + }, + "ignore_unmapped": { + "description": "Indicates whether to ignore an unmapped `type` and not return any documents instead of an error.", + "type": "boolean" + }, + "type": { + "$ref": "#/components/schemas/_types:RelationName" + } + } + } + ] + }, + "_types.query_dsl:PercolateQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "document": { + "description": "The source of the document being percolated.", + "type": "object" + }, + "documents": { + "description": "An array of sources of the documents being percolated.", + "type": "array", + "items": { + "type": "object" + } + }, + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "id": { + "$ref": "#/components/schemas/_types:Id" + }, + "index": { + "$ref": "#/components/schemas/_types:IndexName" + }, + "name": { + "description": "The suffix used for the `_percolator_document_slot` field when multiple `percolate` queries are specified.", + "type": "string" + }, + "preference": { + "description": "Preference used to fetch document to percolate.", + "type": "string" + }, + "routing": { + "$ref": "#/components/schemas/_types:Routing" + }, + "version": { + "$ref": "#/components/schemas/_types:VersionNumber" + } + }, + "required": [ + "field" + ] + } + ] + }, + "_types.query_dsl:PinnedQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "allOf": [ + { + "type": "object", + "properties": { + "organic": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + } + }, + "required": [ + "organic" + ] + }, + { + "type": "object", + "properties": { + "ids": { + "description": "Document IDs listed in the order they are to appear in results.\nRequired if `docs` is not specified.", + "type": "array", + "items": { + "$ref": "#/components/schemas/_types:Id" + } + }, + "docs": { + "description": "Documents listed in the order they are to appear in results.\nRequired if `ids` is not specified.", + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.query_dsl:PinnedDoc" + } + } + }, + "minProperties": 1, + "maxProperties": 1 + } + ] + } + ] + }, + "_types.query_dsl:PinnedDoc": { + "type": "object", + "properties": { + "_id": { + "$ref": "#/components/schemas/_types:Id" + }, + "_index": { + "$ref": "#/components/schemas/_types:IndexName" + } + }, + "required": [ + "_id", + "_index" + ] + }, + "_types.query_dsl:PrefixQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "rewrite": { + "$ref": "#/components/schemas/_types:MultiTermQueryRewrite" + }, + "value": { + "description": "Beginning characters of terms you wish to find in the provided field.", + "type": "string" + }, + "case_insensitive": { + "description": "Allows ASCII case insensitive matching of the value with the indexed field values when set to `true`.\nDefault is `false` which means the case sensitivity of matching depends on the underlying field’s mapping.", + "type": "boolean" + } + }, + "required": [ + "value" + ] + } + ] + }, + "_types.query_dsl:QueryStringQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "allow_leading_wildcard": { + "description": "If `true`, the wildcard characters `*` and `?` are allowed as the first character of the query string.", + "type": "boolean" + }, + "analyzer": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis.html" + }, + "description": "Analyzer used to convert text in the query string into tokens.", + "type": "string" + }, + "analyze_wildcard": { + "description": "If `true`, the query attempts to analyze wildcard terms in the query string.", + "type": "boolean" + }, + "auto_generate_synonyms_phrase_query": { + "description": "If `true`, match phrase queries are automatically created for multi-term synonyms.", + "type": "boolean" + }, + "default_field": { + "$ref": "#/components/schemas/_types:Field" + }, + "default_operator": { + "$ref": "#/components/schemas/_types.query_dsl:Operator" + }, + "enable_position_increments": { + "description": "If `true`, enable position increments in queries constructed from a `query_string` search.", + "type": "boolean" + }, + "escape": { + "type": "boolean" + }, + "fields": { + "description": "Array of fields to search. Supports wildcards (`*`).", + "type": "array", + "items": { + "$ref": "#/components/schemas/_types:Field" + } + }, + "fuzziness": { + "$ref": "#/components/schemas/_types:Fuzziness" + }, + "fuzzy_max_expansions": { + "description": "Maximum number of terms to which the query expands for fuzzy matching.", + "type": "number" + }, + "fuzzy_prefix_length": { + "description": "Number of beginning characters left unchanged for fuzzy matching.", + "type": "number" + }, + "fuzzy_rewrite": { + "$ref": "#/components/schemas/_types:MultiTermQueryRewrite" + }, + "fuzzy_transpositions": { + "description": "If `true`, edits for fuzzy matching include transpositions of two adjacent characters (for example, `ab` to `ba`).", + "type": "boolean" + }, + "lenient": { + "description": "If `true`, format-based errors, such as providing a text value for a numeric field, are ignored.", + "type": "boolean" + }, + "max_determinized_states": { + "description": "Maximum number of automaton states required for the query.", + "type": "number" + }, + "minimum_should_match": { + "$ref": "#/components/schemas/_types:MinimumShouldMatch" + }, + "phrase_slop": { + "description": "Maximum number of positions allowed between matching tokens for phrases.", + "type": "number" + }, + "query": { + "description": "Query string you wish to parse and use for search.", + "type": "string" + }, + "quote_analyzer": { + "description": "Analyzer used to convert quoted text in the query string into tokens.\nFor quoted text, this parameter overrides the analyzer specified in the `analyzer` parameter.", + "type": "string" + }, + "quote_field_suffix": { + "description": "Suffix appended to quoted text in the query string.\nYou can use this suffix to use a different analysis method for exact matches.", + "type": "string" + }, + "rewrite": { + "$ref": "#/components/schemas/_types:MultiTermQueryRewrite" + }, + "tie_breaker": { + "description": "How to combine the queries generated from the individual search terms in the resulting `dis_max` query.", + "type": "number" + }, + "time_zone": { + "$ref": "#/components/schemas/_types:TimeZone" + }, + "type": { + "$ref": "#/components/schemas/_types.query_dsl:TextQueryType" + } + }, + "required": [ + "query" + ] + } + ] + }, + "_types:TimeZone": { + "type": "string" + }, + "_types.query_dsl:RangeQuery": { + "oneOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:DateRangeQuery" + }, + { + "$ref": "#/components/schemas/_types.query_dsl:NumberRangeQuery" + }, + { + "$ref": "#/components/schemas/_types.query_dsl:TermsRangeQuery" + } + ] + }, + "_types.query_dsl:DateRangeQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:RangeQueryBase" + }, + { + "type": "object", + "properties": { + "gt": { + "$ref": "#/components/schemas/_types:DateMath" + }, + "gte": { + "$ref": "#/components/schemas/_types:DateMath" + }, + "lt": { + "$ref": "#/components/schemas/_types:DateMath" + }, + "lte": { + "$ref": "#/components/schemas/_types:DateMath" + }, + "from": { + "oneOf": [ + { + "$ref": "#/components/schemas/_types:DateMath" + }, + { + "nullable": true, + "type": "string" + } + ] + }, + "to": { + "oneOf": [ + { + "$ref": "#/components/schemas/_types:DateMath" + }, + { + "nullable": true, + "type": "string" + } + ] + }, + "format": { + "$ref": "#/components/schemas/_types:DateFormat" + }, + "time_zone": { + "$ref": "#/components/schemas/_types:TimeZone" + } + } + } + ] + }, + "_types.query_dsl:RangeQueryBase": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "relation": { + "$ref": "#/components/schemas/_types.query_dsl:RangeRelation" + } + } + } + ] + }, + "_types.query_dsl:RangeRelation": { + "type": "string", + "enum": [ + "within", + "contains", + "intersects" + ] + }, + "_types:DateFormat": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-date-format.html" + }, + "type": "string" + }, + "_types.query_dsl:NumberRangeQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:RangeQueryBase" + }, + { + "type": "object", + "properties": { + "gt": { + "description": "Greater than.", + "type": "number" + }, + "gte": { + "description": "Greater than or equal to.", + "type": "number" + }, + "lt": { + "description": "Less than.", + "type": "number" + }, + "lte": { + "description": "Less than or equal to.", + "type": "number" + }, + "from": { + "oneOf": [ + { + "type": "number" + }, + { + "nullable": true, + "type": "string" + } + ] + }, + "to": { + "oneOf": [ + { + "type": "number" + }, + { + "nullable": true, + "type": "string" + } + ] + } + } + } + ] + }, + "_types.query_dsl:TermsRangeQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:RangeQueryBase" + }, + { + "type": "object", + "properties": { + "gt": { + "description": "Greater than.", + "type": "string" + }, + "gte": { + "description": "Greater than or equal to.", + "type": "string" + }, + "lt": { + "description": "Less than.", + "type": "string" + }, + "lte": { + "description": "Less than or equal to.", + "type": "string" + }, + "from": { + "oneOf": [ + { + "type": "string" + }, + { + "nullable": true, + "type": "string" + } + ] + }, + "to": { + "oneOf": [ + { + "type": "string" + }, + { + "nullable": true, + "type": "string" + } + ] + } + } + } + ] + }, + "_types.query_dsl:RankFeatureQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "saturation": { + "$ref": "#/components/schemas/_types.query_dsl:RankFeatureFunctionSaturation" + }, + "log": { + "$ref": "#/components/schemas/_types.query_dsl:RankFeatureFunctionLogarithm" + }, + "linear": { + "$ref": "#/components/schemas/_types.query_dsl:RankFeatureFunctionLinear" + }, + "sigmoid": { + "$ref": "#/components/schemas/_types.query_dsl:RankFeatureFunctionSigmoid" + } + }, + "required": [ + "field" + ] + } + ] + }, + "_types.query_dsl:RankFeatureFunctionSaturation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:RankFeatureFunction" + }, + { + "type": "object", + "properties": { + "pivot": { + "description": "Configurable pivot value so that the result will be less than 0.5.", + "type": "number" + } + } + } + ] + }, + "_types.query_dsl:RankFeatureFunction": { + "type": "object" + }, + "_types.query_dsl:RankFeatureFunctionLogarithm": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:RankFeatureFunction" + }, + { + "type": "object", + "properties": { + "scaling_factor": { + "description": "Configurable scaling factor.", + "type": "number" + } + }, + "required": [ + "scaling_factor" + ] + } + ] + }, + "_types.query_dsl:RankFeatureFunctionLinear": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:RankFeatureFunction" + }, + { + "type": "object" + } + ] + }, + "_types.query_dsl:RankFeatureFunctionSigmoid": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:RankFeatureFunction" + }, + { + "type": "object", + "properties": { + "pivot": { + "description": "Configurable pivot value so that the result will be less than 0.5.", + "type": "number" + }, + "exponent": { + "description": "Configurable Exponent.", + "type": "number" + } + }, + "required": [ + "pivot", + "exponent" + ] + } + ] + }, + "_types.query_dsl:RegexpQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "case_insensitive": { + "description": "Allows case insensitive matching of the regular expression value with the indexed field values when set to `true`.\nWhen `false`, case sensitivity of matching depends on the underlying field’s mapping.", + "type": "boolean" + }, + "flags": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/regexp-syntax.html" + }, + "description": "Enables optional operators for the regular expression.", + "type": "string" + }, + "max_determinized_states": { + "description": "Maximum number of automaton states required for the query.", + "type": "number" + }, + "rewrite": { + "$ref": "#/components/schemas/_types:MultiTermQueryRewrite" + }, + "value": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/regexp-syntax.html" + }, + "description": "Regular expression for terms you wish to find in the provided field.", + "type": "string" + } + }, + "required": [ + "value" + ] + } + ] + }, + "_types.query_dsl:RuleQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "organic": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + }, + "ruleset_id": { + "$ref": "#/components/schemas/_types:Id" + }, + "match_criteria": { + "type": "object" + } + }, + "required": [ + "organic", + "ruleset_id", + "match_criteria" + ] + } + ] + }, + "_types.query_dsl:ScriptQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "script": { + "$ref": "#/components/schemas/_types:Script" + } + }, + "required": [ + "script" + ] + } + ] + }, + "_types.query_dsl:ScriptScoreQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "min_score": { + "description": "Documents with a score lower than this floating point number are excluded from the search results.", + "type": "number" + }, + "query": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + }, + "script": { + "$ref": "#/components/schemas/_types:Script" + } + }, + "required": [ + "query", + "script" + ] + } + ] + }, + "_types.query_dsl:ShapeQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "ignore_unmapped": { + "description": "When set to `true` the query ignores an unmapped field and will not match any documents.", + "type": "boolean" + } + } + } + ] + }, + "_types.query_dsl:SimpleQueryStringQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "analyzer": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis.html" + }, + "description": "Analyzer used to convert text in the query string into tokens.", + "type": "string" + }, + "analyze_wildcard": { + "description": "If `true`, the query attempts to analyze wildcard terms in the query string.", + "type": "boolean" + }, + "auto_generate_synonyms_phrase_query": { + "description": "If `true`, the parser creates a match_phrase query for each multi-position token.", + "type": "boolean" + }, + "default_operator": { + "$ref": "#/components/schemas/_types.query_dsl:Operator" + }, + "fields": { + "description": "Array of fields you wish to search.\nAccepts wildcard expressions.\nYou also can boost relevance scores for matches to particular fields using a caret (`^`) notation.\nDefaults to the `index.query.default_field index` setting, which has a default value of `*`.", + "type": "array", + "items": { + "$ref": "#/components/schemas/_types:Field" + } + }, + "flags": { + "$ref": "#/components/schemas/_types.query_dsl:SimpleQueryStringFlags" + }, + "fuzzy_max_expansions": { + "description": "Maximum number of terms to which the query expands for fuzzy matching.", + "type": "number" + }, + "fuzzy_prefix_length": { + "description": "Number of beginning characters left unchanged for fuzzy matching.", + "type": "number" + }, + "fuzzy_transpositions": { + "description": "If `true`, edits for fuzzy matching include transpositions of two adjacent characters (for example, `ab` to `ba`).", + "type": "boolean" + }, + "lenient": { + "description": "If `true`, format-based errors, such as providing a text value for a numeric field, are ignored.", + "type": "boolean" + }, + "minimum_should_match": { + "$ref": "#/components/schemas/_types:MinimumShouldMatch" + }, + "query": { + "description": "Query string in the simple query string syntax you wish to parse and use for search.", + "type": "string" + }, + "quote_field_suffix": { + "description": "Suffix appended to quoted text in the query string.", + "type": "string" + } + }, + "required": [ + "query" + ] + } + ] + }, + "_types.query_dsl:SimpleQueryStringFlags": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-simple-query-string-query.html#supported-flags" + }, + "description": "Query flags can be either a single flag or a combination of flags, e.g. `OR|AND|PREFIX`", + "allOf": [ + { + "$ref": "#/components/schemas/_spec_utils:PipeSeparatedFlagsSimpleQueryStringFlag" + } + ] + }, + "_spec_utils:PipeSeparatedFlagsSimpleQueryStringFlag": { + "description": "A set of flags that can be represented as a single enum value or a set of values that are encoded\nas a pipe-separated string\n\nDepending on the target language, code generators can use this hint to generate language specific\nflags enum constructs and the corresponding (de-)serialization code.", + "oneOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:SimpleQueryStringFlag" + }, + { + "type": "string" + } + ] + }, + "_types.query_dsl:SimpleQueryStringFlag": { + "type": "string", + "enum": [ + "NONE", + "AND", + "NOT", + "OR", + "PREFIX", + "PHRASE", + "PRECEDENCE", + "ESCAPE", + "WHITESPACE", + "FUZZY", + "NEAR", + "SLOP", + "ALL" + ] + }, + "_types.query_dsl:SpanContainingQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "big": { + "$ref": "#/components/schemas/_types.query_dsl:SpanQuery" + }, + "little": { + "$ref": "#/components/schemas/_types.query_dsl:SpanQuery" + } + }, + "required": [ + "big", + "little" + ] + } + ] + }, + "_types.query_dsl:SpanQuery": { + "type": "object", + "properties": { + "span_containing": { + "$ref": "#/components/schemas/_types.query_dsl:SpanContainingQuery" + }, + "field_masking_span": { + "$ref": "#/components/schemas/_types.query_dsl:SpanFieldMaskingQuery" + }, + "span_first": { + "$ref": "#/components/schemas/_types.query_dsl:SpanFirstQuery" + }, + "span_gap": { + "$ref": "#/components/schemas/_types.query_dsl:SpanGapQuery" + }, + "span_multi": { + "$ref": "#/components/schemas/_types.query_dsl:SpanMultiTermQuery" + }, + "span_near": { + "$ref": "#/components/schemas/_types.query_dsl:SpanNearQuery" + }, + "span_not": { + "$ref": "#/components/schemas/_types.query_dsl:SpanNotQuery" + }, + "span_or": { + "$ref": "#/components/schemas/_types.query_dsl:SpanOrQuery" + }, + "span_term": { + "description": "The equivalent of the `term` query but for use with other span queries.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.query_dsl:SpanTermQuery" + }, + "minProperties": 1, + "maxProperties": 1 + }, + "span_within": { + "$ref": "#/components/schemas/_types.query_dsl:SpanWithinQuery" + } + }, + "minProperties": 1, + "maxProperties": 1 + }, + "_types.query_dsl:SpanFieldMaskingQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "query": { + "$ref": "#/components/schemas/_types.query_dsl:SpanQuery" + } + }, + "required": [ + "field", + "query" + ] + } + ] + }, + "_types.query_dsl:SpanFirstQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "end": { + "description": "Controls the maximum end position permitted in a match.", + "type": "number" + }, + "match": { + "$ref": "#/components/schemas/_types.query_dsl:SpanQuery" + } + }, + "required": [ + "end", + "match" + ] + } + ] + }, + "_types.query_dsl:SpanGapQuery": { + "description": "Can only be used as a clause in a span_near query.", + "type": "object", + "additionalProperties": { + "type": "number" + }, + "minProperties": 1, + "maxProperties": 1 + }, + "_types.query_dsl:SpanMultiTermQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "match": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + } + }, + "required": [ + "match" + ] + } + ] + }, + "_types.query_dsl:SpanNearQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "clauses": { + "description": "Array of one or more other span type queries.", + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.query_dsl:SpanQuery" + } + }, + "in_order": { + "description": "Controls whether matches are required to be in-order.", + "type": "boolean" + }, + "slop": { + "description": "Controls the maximum number of intervening unmatched positions permitted.", + "type": "number" + } + }, + "required": [ + "clauses" + ] + } + ] + }, + "_types.query_dsl:SpanNotQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "dist": { + "description": "The number of tokens from within the include span that can’t have overlap with the exclude span.\nEquivalent to setting both `pre` and `post`.", + "type": "number" + }, + "exclude": { + "$ref": "#/components/schemas/_types.query_dsl:SpanQuery" + }, + "include": { + "$ref": "#/components/schemas/_types.query_dsl:SpanQuery" + }, + "post": { + "description": "The number of tokens after the include span that can’t have overlap with the exclude span.", + "type": "number" + }, + "pre": { + "description": "The number of tokens before the include span that can’t have overlap with the exclude span.", + "type": "number" + } + }, + "required": [ + "exclude", + "include" + ] + } + ] + }, + "_types.query_dsl:SpanOrQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "clauses": { + "description": "Array of one or more other span type queries.", + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.query_dsl:SpanQuery" + } + } + }, + "required": [ + "clauses" + ] + } + ] + }, + "_types.query_dsl:SpanTermQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ] + } + ] + }, + "_types.query_dsl:SpanWithinQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "big": { + "$ref": "#/components/schemas/_types.query_dsl:SpanQuery" + }, + "little": { + "$ref": "#/components/schemas/_types.query_dsl:SpanQuery" + } + }, + "required": [ + "big", + "little" + ] + } + ] + }, + "_types.query_dsl:TermQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/_types:FieldValue" + }, + "case_insensitive": { + "description": "Allows ASCII case insensitive matching of the value with the indexed field values when set to `true`.\nWhen `false`, the case sensitivity of matching depends on the underlying field’s mapping.", + "type": "boolean" + } + }, + "required": [ + "value" + ] + } + ] + }, + "_types:FieldValue": { + "description": "A field value.", + "oneOf": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "boolean" + }, + { + "nullable": true, + "type": "string" + }, + { + "type": "object" + } + ] + }, + "_types.query_dsl:TermsQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object" + } + ] + }, + "_types.query_dsl:TermsSetQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "minimum_should_match_field": { + "$ref": "#/components/schemas/_types:Field" + }, + "minimum_should_match_script": { + "$ref": "#/components/schemas/_types:Script" + }, + "terms": { + "description": "Array of terms you wish to find in the provided field.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "terms" + ] + } + ] + }, + "_types.query_dsl:TextExpansionQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "model_id": { + "description": "The text expansion NLP model to use", + "type": "string" + }, + "model_text": { + "description": "The query text", + "type": "string" + }, + "pruning_config": { + "$ref": "#/components/schemas/_types.query_dsl:TokenPruningConfig" + } + }, + "required": [ + "model_id", + "model_text" + ] + } + ] + }, + "_types.query_dsl:TokenPruningConfig": { + "type": "object", + "properties": { + "tokens_freq_ratio_threshold": { + "description": "Tokens whose frequency is more than this threshold times the average frequency of all tokens in the specified field are considered outliers and pruned.", + "type": "number" + }, + "tokens_weight_threshold": { + "description": "Tokens whose weight is less than this threshold are considered nonsignificant and pruned.", + "type": "number" + }, + "only_score_pruned_tokens": { + "description": "Whether to only score pruned tokens, vs only scoring kept tokens.", + "type": "boolean" + } + } + }, + "_types.query_dsl:WeightedTokensQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "tokens": { + "description": "The tokens representing this query", + "type": "object", + "additionalProperties": { + "type": "number" + } + }, + "pruning_config": { + "$ref": "#/components/schemas/_types.query_dsl:TokenPruningConfig" + } + }, + "required": [ + "tokens" + ] + } + ] + }, + "_types.query_dsl:WildcardQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "case_insensitive": { + "description": "Allows case insensitive matching of the pattern with the indexed field values when set to true. Default is false which means the case sensitivity of matching depends on the underlying field’s mapping.", + "type": "boolean" + }, + "rewrite": { + "$ref": "#/components/schemas/_types:MultiTermQueryRewrite" + }, + "value": { + "description": "Wildcard pattern for terms you wish to find in the provided field. Required, when wildcard is not set.", + "type": "string" + }, + "wildcard": { + "description": "Wildcard pattern for terms you wish to find in the provided field. Required, when value is not set.", + "type": "string" + } + } + } + ] + }, + "_types.query_dsl:WrapperQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "query": { + "description": "A base64 encoded query.\nThe binary data format can be any of JSON, YAML, CBOR or SMILE encodings", + "type": "string" + } + }, + "required": [ + "query" + ] + } + ] + }, + "_types.query_dsl:TypeQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ] + } + ] + }, + "_types.aggregations:AutoDateHistogramAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object", + "properties": { + "buckets": { + "description": "The target number of buckets.", + "type": "number" + }, + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "format": { + "description": "The date format used to format `key_as_string` in the response.\nIf no `format` is specified, the first date format specified in the field mapping is used.", + "type": "string" + }, + "minimum_interval": { + "$ref": "#/components/schemas/_types.aggregations:MinimumInterval" + }, + "missing": { + "$ref": "#/components/schemas/_types:DateTime" + }, + "offset": { + "description": "Time zone specified as a ISO 8601 UTC offset.", + "type": "string" + }, + "params": { + "type": "object", + "additionalProperties": { + "type": "object" + } + }, + "script": { + "$ref": "#/components/schemas/_types:Script" + }, + "time_zone": { + "$ref": "#/components/schemas/_types:TimeZone" + } + } + } + ] + }, + "_types.aggregations:MinimumInterval": { + "type": "string", + "enum": [ + "second", + "minute", + "hour", + "day", + "month", + "year" + ] + }, + "_types:DateTime": { + "description": "A date and time, either as a string whose format can depend on the context (defaulting to ISO 8601), or a\nnumber of milliseconds since the Epoch. Elasticsearch accepts both as input, but will generally output a string\nrepresentation.", + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/_types:EpochTimeUnitMillis" + } + ] + }, + "_types:EpochTimeUnitMillis": { + "allOf": [ + { + "$ref": "#/components/schemas/_types:UnitMillis" + } + ] + }, + "_types:UnitMillis": { + "description": "Time unit for milliseconds", + "type": "number" + }, + "_types.aggregations:AverageAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:FormatMetricAggregationBase" + }, + { + "type": "object" + } + ] + }, + "_types.aggregations:FormatMetricAggregationBase": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:MetricAggregationBase" + }, + { + "type": "object", + "properties": { + "format": { + "type": "string" + } + } + } + ] + }, + "_types.aggregations:MetricAggregationBase": { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "missing": { + "$ref": "#/components/schemas/_types.aggregations:Missing" + }, + "script": { + "$ref": "#/components/schemas/_types:Script" + } + } + }, + "_types.aggregations:Missing": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "_types.aggregations:AverageBucketAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:PipelineAggregationBase" + }, + { + "type": "object" + } + ] + }, + "_types.aggregations:PipelineAggregationBase": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketPathAggregation" + }, + { + "type": "object", + "properties": { + "format": { + "description": "`DecimalFormat` pattern for the output value.\nIf specified, the formatted value is returned in the aggregation’s `value_as_string` property.", + "type": "string" + }, + "gap_policy": { + "$ref": "#/components/schemas/_types.aggregations:GapPolicy" + } + } + } + ] + }, + "_types.aggregations:BucketPathAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:Aggregation" + }, + { + "type": "object", + "properties": { + "buckets_path": { + "$ref": "#/components/schemas/_types.aggregations:BucketsPath" + } + } + } + ] + }, + "_types.aggregations:BucketsPath": { + "description": "Buckets path can be expressed in different ways, and an aggregation may accept some or all of these\nforms depending on its type. Please refer to each aggregation's documentation to know what buckets\npath forms they accept.", + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "object", + "additionalProperties": { + "type": "string" + } + } + ] + }, + "_types.aggregations:GapPolicy": { + "type": "string", + "enum": [ + "skip", + "insert_zeros", + "keep_values" + ] + }, + "_types.aggregations:BoxplotAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:MetricAggregationBase" + }, + { + "type": "object", + "properties": { + "compression": { + "description": "Limits the maximum number of nodes used by the underlying TDigest algorithm to `20 * compression`, enabling control of memory usage and approximation error.", + "type": "number" + } + } + } + ] + }, + "_types.aggregations:BucketScriptAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:PipelineAggregationBase" + }, + { + "type": "object", + "properties": { + "script": { + "$ref": "#/components/schemas/_types:Script" + } + } + } + ] + }, + "_types.aggregations:BucketSelectorAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:PipelineAggregationBase" + }, + { + "type": "object", + "properties": { + "script": { + "$ref": "#/components/schemas/_types:Script" + } + } + } + ] + }, + "_types.aggregations:BucketSortAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:Aggregation" + }, + { + "type": "object", + "properties": { + "from": { + "description": "Buckets in positions prior to `from` will be truncated.", + "type": "number" + }, + "gap_policy": { + "$ref": "#/components/schemas/_types.aggregations:GapPolicy" + }, + "size": { + "description": "The number of buckets to return.\nDefaults to all buckets of the parent aggregation.", + "type": "number" + }, + "sort": { + "$ref": "#/components/schemas/_types:Sort" + } + } + } + ] + }, + "_types.aggregations:BucketKsAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketPathAggregation" + }, + { + "type": "object", + "properties": { + "alternative": { + "description": "A list of string values indicating which K-S test alternative to calculate. The valid values\nare: \"greater\", \"less\", \"two_sided\". This parameter is key for determining the K-S statistic used\nwhen calculating the K-S test. Default value is all possible alternative hypotheses.", + "type": "array", + "items": { + "type": "string" + } + }, + "fractions": { + "description": "A list of doubles indicating the distribution of the samples with which to compare to the `buckets_path` results.\nIn typical usage this is the overall proportion of documents in each bucket, which is compared with the actual\ndocument proportions in each bucket from the sibling aggregation counts. The default is to assume that overall\ndocuments are uniformly distributed on these buckets, which they would be if one used equal percentiles of a\nmetric to define the bucket end points.", + "type": "array", + "items": { + "type": "number" + } + }, + "sampling_method": { + "description": "Indicates the sampling methodology when calculating the K-S test. Note, this is sampling of the returned values.\nThis determines the cumulative distribution function (CDF) points used comparing the two samples. Default is\n`upper_tail`, which emphasizes the upper end of the CDF points. Valid options are: `upper_tail`, `uniform`,\nand `lower_tail`.", + "type": "string" + } + } + } + ] + }, + "_types.aggregations:BucketCorrelationAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketPathAggregation" + }, + { + "type": "object", + "properties": { + "function": { + "$ref": "#/components/schemas/_types.aggregations:BucketCorrelationFunction" + } + }, + "required": [ + "function" + ] + } + ] + }, + "_types.aggregations:BucketCorrelationFunction": { + "type": "object", + "properties": { + "count_correlation": { + "$ref": "#/components/schemas/_types.aggregations:BucketCorrelationFunctionCountCorrelation" + } + }, + "required": [ + "count_correlation" + ] + }, + "_types.aggregations:BucketCorrelationFunctionCountCorrelation": { + "type": "object", + "properties": { + "indicator": { + "$ref": "#/components/schemas/_types.aggregations:BucketCorrelationFunctionCountCorrelationIndicator" + } + }, + "required": [ + "indicator" + ] + }, + "_types.aggregations:BucketCorrelationFunctionCountCorrelationIndicator": { + "type": "object", + "properties": { + "doc_count": { + "description": "The total number of documents that initially created the expectations. It’s required to be greater\nthan or equal to the sum of all values in the buckets_path as this is the originating superset of data\nto which the term values are correlated.", + "type": "number" + }, + "expectations": { + "description": "An array of numbers with which to correlate the configured `bucket_path` values.\nThe length of this value must always equal the number of buckets returned by the `bucket_path`.", + "type": "array", + "items": { + "type": "number" + } + }, + "fractions": { + "description": "An array of fractions to use when averaging and calculating variance. This should be used if\nthe pre-calculated data and the buckets_path have known gaps. The length of fractions, if provided,\nmust equal expectations.", + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "doc_count", + "expectations" + ] + }, + "_types.aggregations:CardinalityAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:MetricAggregationBase" + }, + { + "type": "object", + "properties": { + "precision_threshold": { + "description": "A unique count below which counts are expected to be close to accurate.\nThis allows to trade memory for accuracy.", + "type": "number" + }, + "rehash": { + "type": "boolean" + }, + "execution_hint": { + "$ref": "#/components/schemas/_types.aggregations:CardinalityExecutionMode" + } + } + } + ] + }, + "_types.aggregations:CardinalityExecutionMode": { + "type": "string", + "enum": [ + "global_ordinals", + "segment_ordinals", + "direct", + "save_memory_heuristic", + "save_time_heuristic" + ] + }, + "_types.aggregations:CategorizeTextAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:Aggregation" + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "max_unique_tokens": { + "description": "The maximum number of unique tokens at any position up to max_matched_tokens. Must be larger than 1.\nSmaller values use less memory and create fewer categories. Larger values will use more memory and\ncreate narrower categories. Max allowed value is 100.", + "type": "number" + }, + "max_matched_tokens": { + "description": "The maximum number of token positions to match on before attempting to merge categories. Larger\nvalues will use more memory and create narrower categories. Max allowed value is 100.", + "type": "number" + }, + "similarity_threshold": { + "description": "The minimum percentage of tokens that must match for text to be added to the category bucket. Must\nbe between 1 and 100. The larger the value the narrower the categories. Larger values will increase memory\nusage and create narrower categories.", + "type": "number" + }, + "categorization_filters": { + "description": "This property expects an array of regular expressions. The expressions are used to filter out matching\nsequences from the categorization field values. You can use this functionality to fine tune the categorization\nby excluding sequences from consideration when categories are defined. For example, you can exclude SQL\nstatements that appear in your log files. This property cannot be used at the same time as categorization_analyzer.\nIf you only want to define simple regular expression filters that are applied prior to tokenization, setting\nthis property is the easiest method. If you also want to customize the tokenizer or post-tokenization filtering,\nuse the categorization_analyzer property instead and include the filters as pattern_replace character filters.", + "type": "array", + "items": { + "type": "string" + } + }, + "categorization_analyzer": { + "$ref": "#/components/schemas/_types.aggregations:CategorizeTextAnalyzer" + }, + "shard_size": { + "description": "The number of categorization buckets to return from each shard before merging all the results.", + "type": "number" + }, + "size": { + "description": "The number of buckets to return.", + "type": "number" + }, + "min_doc_count": { + "description": "The minimum number of documents in a bucket to be returned to the results.", + "type": "number" + }, + "shard_min_doc_count": { + "description": "The minimum number of documents in a bucket to be returned from the shard before merging.", + "type": "number" + } + }, + "required": [ + "field" + ] + } + ] + }, + "_types.aggregations:CategorizeTextAnalyzer": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/_types.aggregations:CustomCategorizeTextAnalyzer" + } + ] + }, + "_types.aggregations:CustomCategorizeTextAnalyzer": { + "type": "object", + "properties": { + "char_filter": { + "type": "array", + "items": { + "type": "string" + } + }, + "tokenizer": { + "type": "string" + }, + "filter": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "_types.aggregations:ChildrenAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object", + "properties": { + "type": { + "$ref": "#/components/schemas/_types:RelationName" + } + } + } + ] + }, + "_types.aggregations:CompositeAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object", + "properties": { + "after": { + "$ref": "#/components/schemas/_types.aggregations:CompositeAggregateKey" + }, + "size": { + "description": "The number of composite buckets that should be returned.", + "type": "number" + }, + "sources": { + "description": "The value sources used to build composite buckets.\nKeys are returned in the order of the `sources` definition.", + "type": "array", + "items": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.aggregations:CompositeAggregationSource" + } + } + } + } + } + ] + }, + "_types.aggregations:CompositeAggregateKey": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types:FieldValue" + } + }, + "_types.aggregations:CompositeAggregationSource": { + "type": "object", + "properties": { + "terms": { + "$ref": "#/components/schemas/_types.aggregations:CompositeTermsAggregation" + }, + "histogram": { + "$ref": "#/components/schemas/_types.aggregations:CompositeHistogramAggregation" + }, + "date_histogram": { + "$ref": "#/components/schemas/_types.aggregations:CompositeDateHistogramAggregation" + }, + "geotile_grid": { + "$ref": "#/components/schemas/_types.aggregations:CompositeGeoTileGridAggregation" + } + } + }, + "_types.aggregations:CompositeTermsAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:CompositeAggregationBase" + }, + { + "type": "object" + } + ] + }, + "_types.aggregations:CompositeAggregationBase": { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "missing_bucket": { + "type": "boolean" + }, + "missing_order": { + "$ref": "#/components/schemas/_types.aggregations:MissingOrder" + }, + "script": { + "$ref": "#/components/schemas/_types:Script" + }, + "value_type": { + "$ref": "#/components/schemas/_types.aggregations:ValueType" + }, + "order": { + "$ref": "#/components/schemas/_types:SortOrder" + } + } + }, + "_types.aggregations:MissingOrder": { + "type": "string", + "enum": [ + "first", + "last", + "default" + ] + }, + "_types.aggregations:ValueType": { + "type": "string", + "enum": [ + "string", + "long", + "double", + "number", + "date", + "date_nanos", + "ip", + "numeric", + "geo_point", + "boolean" + ] + }, + "_types.aggregations:CompositeHistogramAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:CompositeAggregationBase" + }, + { + "type": "object", + "properties": { + "interval": { + "type": "number" + } + }, + "required": [ + "interval" + ] + } + ] + }, + "_types.aggregations:CompositeDateHistogramAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:CompositeAggregationBase" + }, + { + "type": "object", + "properties": { + "format": { + "type": "string" + }, + "calendar_interval": { + "$ref": "#/components/schemas/_types:DurationLarge" + }, + "fixed_interval": { + "$ref": "#/components/schemas/_types:DurationLarge" + }, + "offset": { + "$ref": "#/components/schemas/_types:Duration" + }, + "time_zone": { + "$ref": "#/components/schemas/_types:TimeZone" + } + } + } + ] + }, + "_types:DurationLarge": { + "description": "A date histogram interval. Similar to `Duration` with additional units: `w` (week), `M` (month), `q` (quarter) and\n`y` (year)", + "type": "string" + }, + "_types.aggregations:CompositeGeoTileGridAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:CompositeAggregationBase" + }, + { + "type": "object", + "properties": { + "precision": { + "type": "number" + }, + "bounds": { + "$ref": "#/components/schemas/_types:GeoBounds" + } + } + } + ] + }, + "_types:GeoBounds": { + "description": "A geo bounding box. It can be represented in various ways:\n- as 4 top/bottom/left/right coordinates\n- as 2 top_left / bottom_right points\n- as 2 top_right / bottom_left points\n- as a WKT bounding box", + "oneOf": [ + { + "$ref": "#/components/schemas/_types:CoordsGeoBounds" + }, + { + "$ref": "#/components/schemas/_types:TopLeftBottomRightGeoBounds" + }, + { + "$ref": "#/components/schemas/_types:TopRightBottomLeftGeoBounds" + }, + { + "$ref": "#/components/schemas/_types:WktGeoBounds" + } + ] + }, + "_types:CoordsGeoBounds": { + "type": "object", + "properties": { + "top": { + "type": "number" + }, + "bottom": { + "type": "number" + }, + "left": { + "type": "number" + }, + "right": { + "type": "number" + } + }, + "required": [ + "top", + "bottom", + "left", + "right" + ] + }, + "_types:TopLeftBottomRightGeoBounds": { + "type": "object", + "properties": { + "top_left": { + "$ref": "#/components/schemas/_types:GeoLocation" + }, + "bottom_right": { + "$ref": "#/components/schemas/_types:GeoLocation" + } + }, + "required": [ + "top_left", + "bottom_right" + ] + }, + "_types:TopRightBottomLeftGeoBounds": { + "type": "object", + "properties": { + "top_right": { + "$ref": "#/components/schemas/_types:GeoLocation" + }, + "bottom_left": { + "$ref": "#/components/schemas/_types:GeoLocation" + } + }, + "required": [ + "top_right", + "bottom_left" + ] + }, + "_types:WktGeoBounds": { + "type": "object", + "properties": { + "wkt": { + "type": "string" + } + }, + "required": [ + "wkt" + ] + }, + "_types.aggregations:CumulativeCardinalityAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:PipelineAggregationBase" + }, + { + "type": "object" + } + ] + }, + "_types.aggregations:CumulativeSumAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:PipelineAggregationBase" + }, + { + "type": "object" + } + ] + }, + "_types.aggregations:DateHistogramAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object", + "properties": { + "calendar_interval": { + "$ref": "#/components/schemas/_types.aggregations:CalendarInterval" + }, + "extended_bounds": { + "$ref": "#/components/schemas/_types.aggregations:ExtendedBoundsFieldDateMath" + }, + "hard_bounds": { + "$ref": "#/components/schemas/_types.aggregations:ExtendedBoundsFieldDateMath" + }, + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "fixed_interval": { + "$ref": "#/components/schemas/_types:Duration" + }, + "format": { + "description": "The date format used to format `key_as_string` in the response.\nIf no `format` is specified, the first date format specified in the field mapping is used.", + "type": "string" + }, + "interval": { + "$ref": "#/components/schemas/_types:Duration" + }, + "min_doc_count": { + "description": "Only returns buckets that have `min_doc_count` number of documents.\nBy default, all buckets between the first bucket that matches documents and the last one are returned.", + "type": "number" + }, + "missing": { + "$ref": "#/components/schemas/_types:DateTime" + }, + "offset": { + "$ref": "#/components/schemas/_types:Duration" + }, + "order": { + "$ref": "#/components/schemas/_types.aggregations:AggregateOrder" + }, + "params": { + "type": "object", + "additionalProperties": { + "type": "object" + } + }, + "script": { + "$ref": "#/components/schemas/_types:Script" + }, + "time_zone": { + "$ref": "#/components/schemas/_types:TimeZone" + }, + "keyed": { + "description": "Set to `true` to associate a unique string key with each bucket and return the ranges as a hash rather than an array.", + "type": "boolean" + } + } + } + ] + }, + "_types.aggregations:CalendarInterval": { + "type": "string", + "enum": [ + "second", + "1s", + "minute", + "1m", + "hour", + "1h", + "day", + "1d", + "week", + "1w", + "month", + "1M", + "quarter", + "1q", + "year", + "1Y" + ] + }, + "_types.aggregations:ExtendedBoundsFieldDateMath": { + "type": "object", + "properties": { + "max": { + "$ref": "#/components/schemas/_types.aggregations:FieldDateMath" + }, + "min": { + "$ref": "#/components/schemas/_types.aggregations:FieldDateMath" + } + } + }, + "_types.aggregations:FieldDateMath": { + "description": "A date range limit, represented either as a DateMath expression or a number expressed\naccording to the target field's precision.", + "oneOf": [ + { + "$ref": "#/components/schemas/_types:DateMath" + }, + { + "type": "number" + } + ] + }, + "_types.aggregations:AggregateOrder": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types:SortOrder" + }, + "minProperties": 1, + "maxProperties": 1 + }, + { + "type": "array", + "items": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types:SortOrder" + }, + "minProperties": 1, + "maxProperties": 1 + } + } + ] + }, + "_types.aggregations:DateRangeAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "format": { + "description": "The date format used to format `from` and `to` in the response.", + "type": "string" + }, + "missing": { + "$ref": "#/components/schemas/_types.aggregations:Missing" + }, + "ranges": { + "description": "Array of date ranges.", + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.aggregations:DateRangeExpression" + } + }, + "time_zone": { + "$ref": "#/components/schemas/_types:TimeZone" + }, + "keyed": { + "description": "Set to `true` to associate a unique string key with each bucket and returns the ranges as a hash rather than an array.", + "type": "boolean" + } + } + } + ] + }, + "_types.aggregations:DateRangeExpression": { + "type": "object", + "properties": { + "from": { + "$ref": "#/components/schemas/_types.aggregations:FieldDateMath" + }, + "key": { + "description": "Custom key to return the range with.", + "type": "string" + }, + "to": { + "$ref": "#/components/schemas/_types.aggregations:FieldDateMath" + } + } + }, + "_types.aggregations:DerivativeAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:PipelineAggregationBase" + }, + { + "type": "object" + } + ] + }, + "_types.aggregations:DiversifiedSamplerAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object", + "properties": { + "execution_hint": { + "$ref": "#/components/schemas/_types.aggregations:SamplerAggregationExecutionHint" + }, + "max_docs_per_value": { + "description": "Limits how many documents are permitted per choice of de-duplicating value.", + "type": "number" + }, + "script": { + "$ref": "#/components/schemas/_types:Script" + }, + "shard_size": { + "description": "Limits how many top-scoring documents are collected in the sample processed on each shard.", + "type": "number" + }, + "field": { + "$ref": "#/components/schemas/_types:Field" + } + } + } + ] + }, + "_types.aggregations:SamplerAggregationExecutionHint": { + "type": "string", + "enum": [ + "map", + "global_ordinals", + "bytes_hash" + ] + }, + "_types.aggregations:ExtendedStatsAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:FormatMetricAggregationBase" + }, + { + "type": "object", + "properties": { + "sigma": { + "description": "The number of standard deviations above/below the mean to display.", + "type": "number" + } + } + } + ] + }, + "_types.aggregations:ExtendedStatsBucketAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:PipelineAggregationBase" + }, + { + "type": "object", + "properties": { + "sigma": { + "description": "The number of standard deviations above/below the mean to display.", + "type": "number" + } + } + } + ] + }, + "_types.aggregations:FrequentItemSetsAggregation": { + "type": "object", + "properties": { + "fields": { + "description": "Fields to analyze.", + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.aggregations:FrequentItemSetsField" + } + }, + "minimum_set_size": { + "description": "The minimum size of one item set.", + "type": "number" + }, + "minimum_support": { + "description": "The minimum support of one item set.", + "type": "number" + }, + "size": { + "description": "The number of top item sets to return.", + "type": "number" + }, + "filter": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + } + }, + "required": [ + "fields" + ] + }, + "_types.aggregations:FrequentItemSetsField": { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "exclude": { + "$ref": "#/components/schemas/_types.aggregations:TermsExclude" + }, + "include": { + "$ref": "#/components/schemas/_types.aggregations:TermsInclude" + } + }, + "required": [ + "field" + ] + }, + "_types.aggregations:TermsExclude": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "_types.aggregations:TermsInclude": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/_types.aggregations:TermsPartition" + } + ] + }, + "_types.aggregations:TermsPartition": { + "type": "object", + "properties": { + "num_partitions": { + "description": "The number of partitions.", + "type": "number" + }, + "partition": { + "description": "The partition number for this request.", + "type": "number" + } + }, + "required": [ + "num_partitions", + "partition" + ] + }, + "_types.aggregations:FiltersAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object", + "properties": { + "filters": { + "$ref": "#/components/schemas/_types.aggregations:BucketsQueryContainer" + }, + "other_bucket": { + "description": "Set to `true` to add a bucket to the response which will contain all documents that do not match any of the given filters.", + "type": "boolean" + }, + "other_bucket_key": { + "description": "The key with which the other bucket is returned.", + "type": "string" + }, + "keyed": { + "description": "By default, the named filters aggregation returns the buckets as an object.\nSet to `false` to return the buckets as an array of objects.", + "type": "boolean" + } + } + } + ] + }, + "_types.aggregations:BucketsQueryContainer": { + "description": "Aggregation buckets. By default they are returned as an array, but if the aggregation has keys configured for\nthe different buckets, the result is a dictionary.", + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + } + } + ] + }, + "_types.aggregations:GeoBoundsAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:MetricAggregationBase" + }, + { + "type": "object", + "properties": { + "wrap_longitude": { + "description": "Specifies whether the bounding box should be allowed to overlap the international date line.", + "type": "boolean" + } + } + } + ] + }, + "_types.aggregations:GeoCentroidAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:MetricAggregationBase" + }, + { + "type": "object", + "properties": { + "count": { + "type": "number" + }, + "location": { + "$ref": "#/components/schemas/_types:GeoLocation" + } + } + } + ] + }, + "_types.aggregations:GeoDistanceAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object", + "properties": { + "distance_type": { + "$ref": "#/components/schemas/_types:GeoDistanceType" + }, + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "origin": { + "$ref": "#/components/schemas/_types:GeoLocation" + }, + "ranges": { + "description": "An array of ranges used to bucket documents.", + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.aggregations:AggregationRange" + } + }, + "unit": { + "$ref": "#/components/schemas/_types:DistanceUnit" + } + } + } + ] + }, + "_types.aggregations:AggregationRange": { + "type": "object", + "properties": { + "from": { + "description": "Start of the range (inclusive).", + "oneOf": [ + { + "type": "number" + }, + { + "type": "string" + }, + { + "nullable": true, + "type": "string" + } + ] + }, + "key": { + "description": "Custom key to return the range with.", + "type": "string" + }, + "to": { + "description": "End of the range (exclusive).", + "oneOf": [ + { + "type": "number" + }, + { + "type": "string" + }, + { + "nullable": true, + "type": "string" + } + ] + } + } + }, + "_types.aggregations:GeoHashGridAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object", + "properties": { + "bounds": { + "$ref": "#/components/schemas/_types:GeoBounds" + }, + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "precision": { + "$ref": "#/components/schemas/_types:GeoHashPrecision" + }, + "shard_size": { + "description": "Allows for more accurate counting of the top cells returned in the final result the aggregation.\nDefaults to returning `max(10,(size x number-of-shards))` buckets from each shard.", + "type": "number" + }, + "size": { + "description": "The maximum number of geohash buckets to return.", + "type": "number" + } + } + } + ] + }, + "_types:GeoHashPrecision": { + "description": "A precision that can be expressed as a geohash length between 1 and 12, or a distance measure like \"1km\", \"10m\".", + "oneOf": [ + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "_types.aggregations:GeoLineAggregation": { + "type": "object", + "properties": { + "point": { + "$ref": "#/components/schemas/_types.aggregations:GeoLinePoint" + }, + "sort": { + "$ref": "#/components/schemas/_types.aggregations:GeoLineSort" + }, + "include_sort": { + "description": "When `true`, returns an additional array of the sort values in the feature properties.", + "type": "boolean" + }, + "sort_order": { + "$ref": "#/components/schemas/_types:SortOrder" + }, + "size": { + "description": "The maximum length of the line represented in the aggregation.\nValid sizes are between 1 and 10000.", + "type": "number" + } + }, + "required": [ + "point", + "sort" + ] + }, + "_types.aggregations:GeoLinePoint": { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + } + }, + "required": [ + "field" + ] + }, + "_types.aggregations:GeoLineSort": { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + } + }, + "required": [ + "field" + ] + }, + "_types.aggregations:GeoTileGridAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "precision": { + "$ref": "#/components/schemas/_types:GeoTilePrecision" + }, + "shard_size": { + "description": "Allows for more accurate counting of the top cells returned in the final result the aggregation.\nDefaults to returning `max(10,(size x number-of-shards))` buckets from each shard.", + "type": "number" + }, + "size": { + "description": "The maximum number of buckets to return.", + "type": "number" + }, + "bounds": { + "$ref": "#/components/schemas/_types:GeoBounds" + } + } + } + ] + }, + "_types:GeoTilePrecision": { + "type": "number" + }, + "_types.aggregations:GeohexGridAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "precision": { + "description": "Integer zoom of the key used to defined cells or buckets\nin the results. Value should be between 0-15.", + "type": "number" + }, + "bounds": { + "$ref": "#/components/schemas/_types:GeoBounds" + }, + "size": { + "description": "Maximum number of buckets to return.", + "type": "number" + }, + "shard_size": { + "description": "Number of buckets returned from each shard.", + "type": "number" + } + }, + "required": [ + "field" + ] + } + ] + }, + "_types.aggregations:GlobalAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object" + } + ] + }, + "_types.aggregations:HistogramAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object", + "properties": { + "extended_bounds": { + "$ref": "#/components/schemas/_types.aggregations:ExtendedBoundsdouble" + }, + "hard_bounds": { + "$ref": "#/components/schemas/_types.aggregations:ExtendedBoundsdouble" + }, + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "interval": { + "description": "The interval for the buckets.\nMust be a positive decimal.", + "type": "number" + }, + "min_doc_count": { + "description": "Only returns buckets that have `min_doc_count` number of documents.\nBy default, the response will fill gaps in the histogram with empty buckets.", + "type": "number" + }, + "missing": { + "description": "The value to apply to documents that do not have a value.\nBy default, documents without a value are ignored.", + "type": "number" + }, + "offset": { + "description": "By default, the bucket keys start with 0 and then continue in even spaced steps of `interval`.\nThe bucket boundaries can be shifted by using the `offset` option.", + "type": "number" + }, + "order": { + "$ref": "#/components/schemas/_types.aggregations:AggregateOrder" + }, + "script": { + "$ref": "#/components/schemas/_types:Script" + }, + "format": { + "type": "string" + }, + "keyed": { + "description": "If `true`, returns buckets as a hash instead of an array, keyed by the bucket keys.", + "type": "boolean" + } + } + } + ] + }, + "_types.aggregations:ExtendedBoundsdouble": { + "type": "object", + "properties": { + "max": { + "description": "Maximum value for the bound.", + "type": "number" + }, + "min": { + "description": "Minimum value for the bound.", + "type": "number" + } + } + }, + "_types.aggregations:IpRangeAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "ranges": { + "description": "Array of IP ranges.", + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.aggregations:IpRangeAggregationRange" + } + } + } + } + ] + }, + "_types.aggregations:IpRangeAggregationRange": { + "type": "object", + "properties": { + "from": { + "description": "Start of the range.", + "oneOf": [ + { + "type": "string" + }, + { + "nullable": true, + "type": "string" + } + ] + }, + "mask": { + "description": "IP range defined as a CIDR mask.", + "type": "string" + }, + "to": { + "description": "End of the range.", + "oneOf": [ + { + "type": "string" + }, + { + "nullable": true, + "type": "string" + } + ] + } + } + }, + "_types.aggregations:IpPrefixAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "prefix_length": { + "description": "Length of the network prefix. For IPv4 addresses the accepted range is [0, 32].\nFor IPv6 addresses the accepted range is [0, 128].", + "type": "number" + }, + "is_ipv6": { + "description": "Defines whether the prefix applies to IPv6 addresses.", + "type": "boolean" + }, + "append_prefix_length": { + "description": "Defines whether the prefix length is appended to IP address keys in the response.", + "type": "boolean" + }, + "keyed": { + "description": "Defines whether buckets are returned as a hash rather than an array in the response.", + "type": "boolean" + }, + "min_doc_count": { + "description": "Minimum number of documents in a bucket for it to be included in the response.", + "type": "number" + } + }, + "required": [ + "field", + "prefix_length" + ] + } + ] + }, + "_types.aggregations:InferenceAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:PipelineAggregationBase" + }, + { + "type": "object", + "properties": { + "model_id": { + "$ref": "#/components/schemas/_types:Name" + }, + "inference_config": { + "$ref": "#/components/schemas/_types.aggregations:InferenceConfigContainer" + } + }, + "required": [ + "model_id" + ] + } + ] + }, + "_types.aggregations:InferenceConfigContainer": { + "type": "object", + "properties": { + "regression": { + "$ref": "#/components/schemas/ml._types:RegressionInferenceOptions" + }, + "classification": { + "$ref": "#/components/schemas/ml._types:ClassificationInferenceOptions" + } + }, + "minProperties": 1, + "maxProperties": 1 + }, + "ml._types:RegressionInferenceOptions": { + "type": "object", + "properties": { + "results_field": { + "$ref": "#/components/schemas/_types:Field" + }, + "num_top_feature_importance_values": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/machine-learning/current/ml-feature-importance.html" + }, + "description": "Specifies the maximum number of feature importance values per document.", + "type": "number" + } + } + }, + "ml._types:ClassificationInferenceOptions": { + "type": "object", + "properties": { + "num_top_classes": { + "description": "Specifies the number of top class predictions to return. Defaults to 0.", + "type": "number" + }, + "num_top_feature_importance_values": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/machine-learning/current/ml-feature-importance.html" + }, + "description": "Specifies the maximum number of feature importance values per document.", + "type": "number" + }, + "prediction_field_type": { + "description": "Specifies the type of the predicted field to write. Acceptable values are: string, number, boolean. When boolean is provided 1.0 is transformed to true and 0.0 to false.", + "type": "string" + }, + "results_field": { + "description": "The field that is added to incoming documents to contain the inference prediction. Defaults to predicted_value.", + "type": "string" + }, + "top_classes_results_field": { + "description": "Specifies the field to which the top classes are written. Defaults to top_classes.", + "type": "string" + } + } + }, + "_types.aggregations:MatrixStatsAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:MatrixAggregation" + }, + { + "type": "object", + "properties": { + "mode": { + "$ref": "#/components/schemas/_types:SortMode" + } + } + } + ] + }, + "_types.aggregations:MatrixAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:Aggregation" + }, + { + "type": "object", + "properties": { + "fields": { + "$ref": "#/components/schemas/_types:Fields" + }, + "missing": { + "description": "The value to apply to documents that do not have a value.\nBy default, documents without a value are ignored.", + "type": "object", + "additionalProperties": { + "type": "number" + } + } + } + } + ] + }, + "_types.aggregations:MaxAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:FormatMetricAggregationBase" + }, + { + "type": "object" + } + ] + }, + "_types.aggregations:MaxBucketAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:PipelineAggregationBase" + }, + { + "type": "object" + } + ] + }, + "_types.aggregations:MedianAbsoluteDeviationAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:FormatMetricAggregationBase" + }, + { + "type": "object", + "properties": { + "compression": { + "description": "Limits the maximum number of nodes used by the underlying TDigest algorithm to `20 * compression`, enabling control of memory usage and approximation error.", + "type": "number" + } + } + } + ] + }, + "_types.aggregations:MinAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:FormatMetricAggregationBase" + }, + { + "type": "object" + } + ] + }, + "_types.aggregations:MinBucketAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:PipelineAggregationBase" + }, + { + "type": "object" + } + ] + }, + "_types.aggregations:MissingAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "missing": { + "$ref": "#/components/schemas/_types.aggregations:Missing" + } + } + } + ] + }, + "_types.aggregations:MovingAverageAggregation": { + "discriminator": { + "propertyName": "model" + }, + "oneOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:LinearMovingAverageAggregation" + }, + { + "$ref": "#/components/schemas/_types.aggregations:SimpleMovingAverageAggregation" + }, + { + "$ref": "#/components/schemas/_types.aggregations:EwmaMovingAverageAggregation" + }, + { + "$ref": "#/components/schemas/_types.aggregations:HoltMovingAverageAggregation" + }, + { + "$ref": "#/components/schemas/_types.aggregations:HoltWintersMovingAverageAggregation" + } + ] + }, + "_types.aggregations:LinearMovingAverageAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:MovingAverageAggregationBase" + }, + { + "type": "object", + "properties": { + "model": { + "type": "string", + "enum": [ + "linear" + ] + }, + "settings": { + "$ref": "#/components/schemas/_types:EmptyObject" + } + }, + "required": [ + "model", + "settings" + ] + } + ] + }, + "_types.aggregations:MovingAverageAggregationBase": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:PipelineAggregationBase" + }, + { + "type": "object", + "properties": { + "minimize": { + "type": "boolean" + }, + "predict": { + "type": "number" + }, + "window": { + "type": "number" + } + } + } + ] + }, + "_types:EmptyObject": { + "type": "object" + }, + "_types.aggregations:SimpleMovingAverageAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:MovingAverageAggregationBase" + }, + { + "type": "object", + "properties": { + "model": { + "type": "string", + "enum": [ + "simple" + ] + }, + "settings": { + "$ref": "#/components/schemas/_types:EmptyObject" + } + }, + "required": [ + "model", + "settings" + ] + } + ] + }, + "_types.aggregations:EwmaMovingAverageAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:MovingAverageAggregationBase" + }, + { + "type": "object", + "properties": { + "model": { + "type": "string", + "enum": [ + "ewma" + ] + }, + "settings": { + "$ref": "#/components/schemas/_types.aggregations:EwmaModelSettings" + } + }, + "required": [ + "model", + "settings" + ] + } + ] + }, + "_types.aggregations:EwmaModelSettings": { + "type": "object", + "properties": { + "alpha": { + "type": "number" + } + } + }, + "_types.aggregations:HoltMovingAverageAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:MovingAverageAggregationBase" + }, + { + "type": "object", + "properties": { + "model": { + "type": "string", + "enum": [ + "holt" + ] + }, + "settings": { + "$ref": "#/components/schemas/_types.aggregations:HoltLinearModelSettings" + } + }, + "required": [ + "model", + "settings" + ] + } + ] + }, + "_types.aggregations:HoltLinearModelSettings": { + "type": "object", + "properties": { + "alpha": { + "type": "number" + }, + "beta": { + "type": "number" + } + } + }, + "_types.aggregations:HoltWintersMovingAverageAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:MovingAverageAggregationBase" + }, + { + "type": "object", + "properties": { + "model": { + "type": "string", + "enum": [ + "holt_winters" + ] + }, + "settings": { + "$ref": "#/components/schemas/_types.aggregations:HoltWintersModelSettings" + } + }, + "required": [ + "model", + "settings" + ] + } + ] + }, + "_types.aggregations:HoltWintersModelSettings": { + "type": "object", + "properties": { + "alpha": { + "type": "number" + }, + "beta": { + "type": "number" + }, + "gamma": { + "type": "number" + }, + "pad": { + "type": "boolean" + }, + "period": { + "type": "number" + }, + "type": { + "$ref": "#/components/schemas/_types.aggregations:HoltWintersType" + } + } + }, + "_types.aggregations:HoltWintersType": { + "type": "string", + "enum": [ + "add", + "mult" + ] + }, + "_types.aggregations:MovingPercentilesAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:PipelineAggregationBase" + }, + { + "type": "object", + "properties": { + "window": { + "description": "The size of window to \"slide\" across the histogram.", + "type": "number" + }, + "shift": { + "description": "By default, the window consists of the last n values excluding the current bucket.\nIncreasing `shift` by 1, moves the starting window position by 1 to the right.", + "type": "number" + }, + "keyed": { + "type": "boolean" + } + } + } + ] + }, + "_types.aggregations:MovingFunctionAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:PipelineAggregationBase" + }, + { + "type": "object", + "properties": { + "script": { + "description": "The script that should be executed on each window of data.", + "type": "string" + }, + "shift": { + "description": "By default, the window consists of the last n values excluding the current bucket.\nIncreasing `shift` by 1, moves the starting window position by 1 to the right.", + "type": "number" + }, + "window": { + "description": "The size of window to \"slide\" across the histogram.", + "type": "number" + } + } + } + ] + }, + "_types.aggregations:MultiTermsAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object", + "properties": { + "collect_mode": { + "$ref": "#/components/schemas/_types.aggregations:TermsAggregationCollectMode" + }, + "order": { + "$ref": "#/components/schemas/_types.aggregations:AggregateOrder" + }, + "min_doc_count": { + "description": "The minimum number of documents in a bucket for it to be returned.", + "type": "number" + }, + "shard_min_doc_count": { + "description": "The minimum number of documents in a bucket on each shard for it to be returned.", + "type": "number" + }, + "shard_size": { + "description": "The number of candidate terms produced by each shard.\nBy default, `shard_size` will be automatically estimated based on the number of shards and the `size` parameter.", + "type": "number" + }, + "show_term_doc_count_error": { + "description": "Calculates the doc count error on per term basis.", + "type": "boolean" + }, + "size": { + "description": "The number of term buckets should be returned out of the overall terms list.", + "type": "number" + }, + "terms": { + "description": "The field from which to generate sets of terms.", + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.aggregations:MultiTermLookup" + } + } + }, + "required": [ + "terms" + ] + } + ] + }, + "_types.aggregations:TermsAggregationCollectMode": { + "type": "string", + "enum": [ + "depth_first", + "breadth_first" + ] + }, + "_types.aggregations:MultiTermLookup": { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "missing": { + "$ref": "#/components/schemas/_types.aggregations:Missing" + } + }, + "required": [ + "field" + ] + }, + "_types.aggregations:NestedAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object", + "properties": { + "path": { + "$ref": "#/components/schemas/_types:Field" + } + } + } + ] + }, + "_types.aggregations:NormalizeAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:PipelineAggregationBase" + }, + { + "type": "object", + "properties": { + "method": { + "$ref": "#/components/schemas/_types.aggregations:NormalizeMethod" + } + } + } + ] + }, + "_types.aggregations:NormalizeMethod": { + "type": "string", + "enum": [ + "rescale_0_1", + "rescale_0_100", + "percent_of_sum", + "mean", + "z-score", + "softmax" + ] + }, + "_types.aggregations:ParentAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object", + "properties": { + "type": { + "$ref": "#/components/schemas/_types:RelationName" + } + } + } + ] + }, + "_types.aggregations:PercentileRanksAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:FormatMetricAggregationBase" + }, + { + "type": "object", + "properties": { + "keyed": { + "description": "By default, the aggregation associates a unique string key with each bucket and returns the ranges as a hash rather than an array.\nSet to `false` to disable this behavior.", + "type": "boolean" + }, + "values": { + "description": "An array of values for which to calculate the percentile ranks.", + "oneOf": [ + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "nullable": true, + "type": "string" + } + ] + }, + "hdr": { + "$ref": "#/components/schemas/_types.aggregations:HdrMethod" + }, + "tdigest": { + "$ref": "#/components/schemas/_types.aggregations:TDigest" + } + } + } + ] + }, + "_types.aggregations:HdrMethod": { + "type": "object", + "properties": { + "number_of_significant_value_digits": { + "description": "Specifies the resolution of values for the histogram in number of significant digits.", + "type": "number" + } + } + }, + "_types.aggregations:TDigest": { + "type": "object", + "properties": { + "compression": { + "description": "Limits the maximum number of nodes used by the underlying TDigest algorithm to `20 * compression`, enabling control of memory usage and approximation error.", + "type": "number" + } + } + }, + "_types.aggregations:PercentilesAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:FormatMetricAggregationBase" + }, + { + "type": "object", + "properties": { + "keyed": { + "description": "By default, the aggregation associates a unique string key with each bucket and returns the ranges as a hash rather than an array.\nSet to `false` to disable this behavior.", + "type": "boolean" + }, + "percents": { + "description": "The percentiles to calculate.", + "type": "array", + "items": { + "type": "number" + } + }, + "hdr": { + "$ref": "#/components/schemas/_types.aggregations:HdrMethod" + }, + "tdigest": { + "$ref": "#/components/schemas/_types.aggregations:TDigest" + } + } + } + ] + }, + "_types.aggregations:PercentilesBucketAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:PipelineAggregationBase" + }, + { + "type": "object", + "properties": { + "percents": { + "description": "The list of percentiles to calculate.", + "type": "array", + "items": { + "type": "number" + } + } + } + } + ] + }, + "_types.aggregations:RangeAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "missing": { + "description": "The value to apply to documents that do not have a value.\nBy default, documents without a value are ignored.", + "type": "number" + }, + "ranges": { + "description": "An array of ranges used to bucket documents.", + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.aggregations:AggregationRange" + } + }, + "script": { + "$ref": "#/components/schemas/_types:Script" + }, + "keyed": { + "description": "Set to `true` to associate a unique string key with each bucket and return the ranges as a hash rather than an array.", + "type": "boolean" + }, + "format": { + "type": "string" + } + } + } + ] + }, + "_types.aggregations:RareTermsAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object", + "properties": { + "exclude": { + "$ref": "#/components/schemas/_types.aggregations:TermsExclude" + }, + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "include": { + "$ref": "#/components/schemas/_types.aggregations:TermsInclude" + }, + "max_doc_count": { + "description": "The maximum number of documents a term should appear in.", + "type": "number" + }, + "missing": { + "$ref": "#/components/schemas/_types.aggregations:Missing" + }, + "precision": { + "description": "The precision of the internal CuckooFilters.\nSmaller precision leads to better approximation, but higher memory usage.", + "type": "number" + }, + "value_type": { + "type": "string" + } + } + } + ] + }, + "_types.aggregations:RateAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:FormatMetricAggregationBase" + }, + { + "type": "object", + "properties": { + "unit": { + "$ref": "#/components/schemas/_types.aggregations:CalendarInterval" + }, + "mode": { + "$ref": "#/components/schemas/_types.aggregations:RateMode" + } + } + } + ] + }, + "_types.aggregations:RateMode": { + "type": "string", + "enum": [ + "sum", + "value_count" + ] + }, + "_types.aggregations:ReverseNestedAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object", + "properties": { + "path": { + "$ref": "#/components/schemas/_types:Field" + } + } + } + ] + }, + "_types.aggregations:SamplerAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object", + "properties": { + "shard_size": { + "description": "Limits how many top-scoring documents are collected in the sample processed on each shard.", + "type": "number" + } + } + } + ] + }, + "_types.aggregations:ScriptedMetricAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:MetricAggregationBase" + }, + { + "type": "object", + "properties": { + "combine_script": { + "$ref": "#/components/schemas/_types:Script" + }, + "init_script": { + "$ref": "#/components/schemas/_types:Script" + }, + "map_script": { + "$ref": "#/components/schemas/_types:Script" + }, + "params": { + "description": "A global object with script parameters for `init`, `map` and `combine` scripts.\nIt is shared between the scripts.", + "type": "object", + "additionalProperties": { + "type": "object" + } + }, + "reduce_script": { + "$ref": "#/components/schemas/_types:Script" + } + } + } + ] + }, + "_types.aggregations:SerialDifferencingAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:PipelineAggregationBase" + }, + { + "type": "object", + "properties": { + "lag": { + "description": "The historical bucket to subtract from the current value.\nMust be a positive, non-zero integer.", + "type": "number" + } + } + } + ] + }, + "_types.aggregations:SignificantTermsAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object", + "properties": { + "background_filter": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + }, + "chi_square": { + "$ref": "#/components/schemas/_types.aggregations:ChiSquareHeuristic" + }, + "exclude": { + "$ref": "#/components/schemas/_types.aggregations:TermsExclude" + }, + "execution_hint": { + "$ref": "#/components/schemas/_types.aggregations:TermsAggregationExecutionHint" + }, + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "gnd": { + "$ref": "#/components/schemas/_types.aggregations:GoogleNormalizedDistanceHeuristic" + }, + "include": { + "$ref": "#/components/schemas/_types.aggregations:TermsInclude" + }, + "jlh": { + "$ref": "#/components/schemas/_types:EmptyObject" + }, + "min_doc_count": { + "description": "Only return terms that are found in more than `min_doc_count` hits.", + "type": "number" + }, + "mutual_information": { + "$ref": "#/components/schemas/_types.aggregations:MutualInformationHeuristic" + }, + "percentage": { + "$ref": "#/components/schemas/_types.aggregations:PercentageScoreHeuristic" + }, + "script_heuristic": { + "$ref": "#/components/schemas/_types.aggregations:ScriptedHeuristic" + }, + "shard_min_doc_count": { + "description": "Regulates the certainty a shard has if the term should actually be added to the candidate list or not with respect to the `min_doc_count`.\nTerms will only be considered if their local shard frequency within the set is higher than the `shard_min_doc_count`.", + "type": "number" + }, + "shard_size": { + "description": "Can be used to control the volumes of candidate terms produced by each shard.\nBy default, `shard_size` will be automatically estimated based on the number of shards and the `size` parameter.", + "type": "number" + }, + "size": { + "description": "The number of buckets returned out of the overall terms list.", + "type": "number" + } + } + } + ] + }, + "_types.aggregations:ChiSquareHeuristic": { + "type": "object", + "properties": { + "background_is_superset": { + "description": "Set to `false` if you defined a custom background filter that represents a different set of documents that you want to compare to.", + "type": "boolean" + }, + "include_negatives": { + "description": "Set to `false` to filter out the terms that appear less often in the subset than in documents outside the subset.", + "type": "boolean" + } + }, + "required": [ + "background_is_superset", + "include_negatives" + ] + }, + "_types.aggregations:TermsAggregationExecutionHint": { + "type": "string", + "enum": [ + "map", + "global_ordinals", + "global_ordinals_hash", + "global_ordinals_low_cardinality" + ] + }, + "_types.aggregations:GoogleNormalizedDistanceHeuristic": { + "type": "object", + "properties": { + "background_is_superset": { + "description": "Set to `false` if you defined a custom background filter that represents a different set of documents that you want to compare to.", + "type": "boolean" + } + } + }, + "_types.aggregations:MutualInformationHeuristic": { + "type": "object", + "properties": { + "background_is_superset": { + "description": "Set to `false` if you defined a custom background filter that represents a different set of documents that you want to compare to.", + "type": "boolean" + }, + "include_negatives": { + "description": "Set to `false` to filter out the terms that appear less often in the subset than in documents outside the subset.", + "type": "boolean" + } + } + }, + "_types.aggregations:PercentageScoreHeuristic": { + "type": "object" + }, + "_types.aggregations:ScriptedHeuristic": { + "type": "object", + "properties": { + "script": { + "$ref": "#/components/schemas/_types:Script" + } + }, + "required": [ + "script" + ] + }, + "_types.aggregations:SignificantTextAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object", + "properties": { + "background_filter": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + }, + "chi_square": { + "$ref": "#/components/schemas/_types.aggregations:ChiSquareHeuristic" + }, + "exclude": { + "$ref": "#/components/schemas/_types.aggregations:TermsExclude" + }, + "execution_hint": { + "$ref": "#/components/schemas/_types.aggregations:TermsAggregationExecutionHint" + }, + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "filter_duplicate_text": { + "description": "Whether to out duplicate text to deal with noisy data.", + "type": "boolean" + }, + "gnd": { + "$ref": "#/components/schemas/_types.aggregations:GoogleNormalizedDistanceHeuristic" + }, + "include": { + "$ref": "#/components/schemas/_types.aggregations:TermsInclude" + }, + "jlh": { + "$ref": "#/components/schemas/_types:EmptyObject" + }, + "min_doc_count": { + "description": "Only return values that are found in more than `min_doc_count` hits.", + "type": "number" + }, + "mutual_information": { + "$ref": "#/components/schemas/_types.aggregations:MutualInformationHeuristic" + }, + "percentage": { + "$ref": "#/components/schemas/_types.aggregations:PercentageScoreHeuristic" + }, + "script_heuristic": { + "$ref": "#/components/schemas/_types.aggregations:ScriptedHeuristic" + }, + "shard_min_doc_count": { + "description": "Regulates the certainty a shard has if the values should actually be added to the candidate list or not with respect to the min_doc_count.\nValues will only be considered if their local shard frequency within the set is higher than the `shard_min_doc_count`.", + "type": "number" + }, + "shard_size": { + "description": "The number of candidate terms produced by each shard.\nBy default, `shard_size` will be automatically estimated based on the number of shards and the `size` parameter.", + "type": "number" + }, + "size": { + "description": "The number of buckets returned out of the overall terms list.", + "type": "number" + }, + "source_fields": { + "$ref": "#/components/schemas/_types:Fields" + } + } + } + ] + }, + "_types.aggregations:StatsAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:FormatMetricAggregationBase" + }, + { + "type": "object" + } + ] + }, + "_types.aggregations:StatsBucketAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:PipelineAggregationBase" + }, + { + "type": "object" + } + ] + }, + "_types.aggregations:StringStatsAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:MetricAggregationBase" + }, + { + "type": "object", + "properties": { + "show_distribution": { + "description": "Shows the probability distribution for all characters.", + "type": "boolean" + } + } + } + ] + }, + "_types.aggregations:SumAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:FormatMetricAggregationBase" + }, + { + "type": "object" + } + ] + }, + "_types.aggregations:SumBucketAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:PipelineAggregationBase" + }, + { + "type": "object" + } + ] + }, + "_types.aggregations:TermsAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object", + "properties": { + "collect_mode": { + "$ref": "#/components/schemas/_types.aggregations:TermsAggregationCollectMode" + }, + "exclude": { + "$ref": "#/components/schemas/_types.aggregations:TermsExclude" + }, + "execution_hint": { + "$ref": "#/components/schemas/_types.aggregations:TermsAggregationExecutionHint" + }, + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "include": { + "$ref": "#/components/schemas/_types.aggregations:TermsInclude" + }, + "min_doc_count": { + "description": "Only return values that are found in more than `min_doc_count` hits.", + "type": "number" + }, + "missing": { + "$ref": "#/components/schemas/_types.aggregations:Missing" + }, + "missing_order": { + "$ref": "#/components/schemas/_types.aggregations:MissingOrder" + }, + "missing_bucket": { + "type": "boolean" + }, + "value_type": { + "description": "Coerced unmapped fields into the specified type.", + "type": "string" + }, + "order": { + "$ref": "#/components/schemas/_types.aggregations:AggregateOrder" + }, + "script": { + "$ref": "#/components/schemas/_types:Script" + }, + "shard_size": { + "description": "The number of candidate terms produced by each shard.\nBy default, `shard_size` will be automatically estimated based on the number of shards and the `size` parameter.", + "type": "number" + }, + "show_term_doc_count_error": { + "description": "Set to `true` to return the `doc_count_error_upper_bound`, which is an upper bound to the error on the `doc_count` returned by each shard.", + "type": "boolean" + }, + "size": { + "description": "The number of buckets returned out of the overall terms list.", + "type": "number" + }, + "format": { + "type": "string" + } + } + } + ] + }, + "_types.aggregations:TopHitsAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:MetricAggregationBase" + }, + { + "type": "object", + "properties": { + "docvalue_fields": { + "description": "Fields for which to return doc values.", + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.query_dsl:FieldAndFormat" + } + }, + "explain": { + "description": "If `true`, returns detailed information about score computation as part of a hit.", + "type": "boolean" + }, + "fields": { + "description": "Array of wildcard (*) patterns. The request returns values for field names\nmatching these patterns in the hits.fields property of the response.", + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.query_dsl:FieldAndFormat" + } + }, + "from": { + "description": "Starting document offset.", + "type": "number" + }, + "highlight": { + "$ref": "#/components/schemas/_global.search._types:Highlight" + }, + "script_fields": { + "description": "Returns the result of one or more script evaluations for each hit.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types:ScriptField" + } + }, + "size": { + "description": "The maximum number of top matching hits to return per bucket.", + "type": "number" + }, + "sort": { + "$ref": "#/components/schemas/_types:Sort" + }, + "_source": { + "$ref": "#/components/schemas/_global.search._types:SourceConfig" + }, + "stored_fields": { + "$ref": "#/components/schemas/_types:Fields" + }, + "track_scores": { + "description": "If `true`, calculates and returns document scores, even if the scores are not used for sorting.", + "type": "boolean" + }, + "version": { + "description": "If `true`, returns document version as part of a hit.", + "type": "boolean" + }, + "seq_no_primary_term": { + "description": "If `true`, returns sequence number and primary term of the last modification of each hit.", + "type": "boolean" + } + } + } + ] + }, + "_types.aggregations:TTestAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:Aggregation" + }, + { + "type": "object", + "properties": { + "a": { + "$ref": "#/components/schemas/_types.aggregations:TestPopulation" + }, + "b": { + "$ref": "#/components/schemas/_types.aggregations:TestPopulation" + }, + "type": { + "$ref": "#/components/schemas/_types.aggregations:TTestType" + } + } + } + ] + }, + "_types.aggregations:TestPopulation": { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "script": { + "$ref": "#/components/schemas/_types:Script" + }, + "filter": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + } + }, + "required": [ + "field" + ] + }, + "_types.aggregations:TTestType": { + "type": "string", + "enum": [ + "paired", + "homoscedastic", + "heteroscedastic" + ] + }, + "_types.aggregations:TopMetricsAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:MetricAggregationBase" + }, + { + "type": "object", + "properties": { + "metrics": { + "description": "The fields of the top document to return.", + "oneOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:TopMetricsValue" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.aggregations:TopMetricsValue" + } + } + ] + }, + "size": { + "description": "The number of top documents from which to return metrics.", + "type": "number" + }, + "sort": { + "$ref": "#/components/schemas/_types:Sort" + } + } + } + ] + }, + "_types.aggregations:TopMetricsValue": { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + } + }, + "required": [ + "field" + ] + }, + "_types.aggregations:ValueCountAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:FormattableMetricAggregation" + }, + { + "type": "object" + } + ] + }, + "_types.aggregations:FormattableMetricAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:MetricAggregationBase" + }, + { + "type": "object", + "properties": { + "format": { + "type": "string" + } + } + } + ] + }, + "_types.aggregations:WeightedAverageAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:Aggregation" + }, + { + "type": "object", + "properties": { + "format": { + "description": "A numeric response formatter.", + "type": "string" + }, + "value": { + "$ref": "#/components/schemas/_types.aggregations:WeightedAverageValue" + }, + "value_type": { + "$ref": "#/components/schemas/_types.aggregations:ValueType" + }, + "weight": { + "$ref": "#/components/schemas/_types.aggregations:WeightedAverageValue" + } + } + } + ] + }, + "_types.aggregations:WeightedAverageValue": { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "missing": { + "description": "A value or weight to use if the field is missing.", + "type": "number" + }, + "script": { + "$ref": "#/components/schemas/_types:Script" + } + } + }, + "_types.aggregations:VariableWidthHistogramAggregation": { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "buckets": { + "description": "The target number of buckets.", + "type": "number" + }, + "shard_size": { + "description": "The number of buckets that the coordinating node will request from each shard.\nDefaults to `buckets * 50`.", + "type": "number" + }, + "initial_buffer": { + "description": "Specifies the number of individual documents that will be stored in memory on a shard before the initial bucketing algorithm is run.\nDefaults to `min(10 * shard_size, 50000)`.", + "type": "number" + }, + "script": { + "$ref": "#/components/schemas/_types:Script" + } + } + }, + "ml._types:ChunkingConfig": { + "type": "object", + "properties": { + "mode": { + "$ref": "#/components/schemas/ml._types:ChunkingMode" + }, + "time_span": { + "$ref": "#/components/schemas/_types:Duration" + } + }, + "required": [ + "mode" + ] + }, + "ml._types:ChunkingMode": { + "type": "string", + "enum": [ + "auto", + "manual", + "off" + ] + }, + "ml._types:DelayedDataCheckConfig": { + "type": "object", + "properties": { + "check_window": { + "$ref": "#/components/schemas/_types:Duration" + }, + "enabled": { + "description": "Specifies whether the datafeed periodically checks for delayed data.", + "type": "boolean" + } + }, + "required": [ + "enabled" + ] + }, + "_types:IndicesOptions": { + "type": "object", + "properties": { + "allow_no_indices": { + "description": "If false, the request returns an error if any wildcard expression, index alias, or `_all` value targets only\nmissing or closed indices. This behavior applies even if the request targets other open indices. For example,\na request targeting `foo*,bar*` returns an error if an index starts with `foo` but no index starts with `bar`.", + "type": "boolean" + }, + "expand_wildcards": { + "$ref": "#/components/schemas/_types:ExpandWildcards" + }, + "ignore_unavailable": { + "description": "If true, missing or closed indices are not included in the response.", + "type": "boolean" + }, + "ignore_throttled": { + "description": "If true, concrete, expanded or aliased indices are ignored when frozen.", + "type": "boolean" + } + } + }, + "_types:ExpandWildcards": { + "oneOf": [ + { + "$ref": "#/components/schemas/_types:ExpandWildcard" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/_types:ExpandWildcard" + } + } + ] + }, + "_types:ExpandWildcard": { + "type": "string", + "enum": [ + "all", + "open", + "closed", + "hidden", + "none" + ] + }, + "_types.mapping:RuntimeFields": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.mapping:RuntimeField" + } + }, + "_types.mapping:RuntimeField": { + "type": "object", + "properties": { + "fetch_fields": { + "description": "For type `lookup`", + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.mapping:RuntimeFieldFetchFields" + } + }, + "format": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-date-format.html" + }, + "description": "A custom format for `date` type runtime fields.", + "type": "string" + }, + "input_field": { + "$ref": "#/components/schemas/_types:Field" + }, + "target_field": { + "$ref": "#/components/schemas/_types:Field" + }, + "target_index": { + "$ref": "#/components/schemas/_types:IndexName" + }, + "script": { + "$ref": "#/components/schemas/_types:Script" + }, + "type": { + "$ref": "#/components/schemas/_types.mapping:RuntimeFieldType" + } + }, + "required": [ + "type" + ] + }, + "_types.mapping:RuntimeFieldFetchFields": { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "format": { + "type": "string" + } + }, + "required": [ + "field" + ] + }, + "_types.mapping:RuntimeFieldType": { + "type": "string", + "enum": [ + "boolean", + "composite", + "date", + "double", + "geo_point", + "ip", + "keyword", + "long", + "lookup" + ] + }, + "ml._types:ModelPlotConfig": { + "type": "object", + "properties": { + "annotations_enabled": { + "description": "If true, enables calculation and storage of the model change annotations for each entity that is being analyzed.", + "type": "boolean" + }, + "enabled": { + "description": "If true, enables calculation and storage of the model bounds for each entity that is being analyzed.", + "type": "boolean" + }, + "terms": { + "$ref": "#/components/schemas/_types:Field" + } + } + } + } + } +} \ No newline at end of file diff --git a/x-pack/packages/ml/json_schemas/src/put___ml_data_frame_analytics__id__schema.json b/x-pack/packages/ml/json_schemas/src/put___ml_data_frame_analytics__id__schema.json new file mode 100644 index 0000000000000..7c87a07ce0bae --- /dev/null +++ b/x-pack/packages/ml/json_schemas/src/put___ml_data_frame_analytics__id__schema.json @@ -0,0 +1,5016 @@ +{ + "type": "object", + "properties": { + "allow_lazy_start": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-settings.html" + }, + "description": "Specifies whether this job can start when there is insufficient machine\nlearning node capacity for it to be immediately assigned to a node. If\nset to `false` and a machine learning node with capacity to run the job\ncannot be immediately found, the API returns an error. If set to `true`,\nthe API does not return an error; the job waits in the `starting` state\nuntil sufficient machine learning node capacity is available. This\nbehavior is also affected by the cluster-wide\n`xpack.ml.max_lazy_ml_nodes` setting.", + "type": "boolean" + }, + "analysis": { + "$ref": "#/components/schemas/ml._types:DataframeAnalysisContainer" + }, + "analyzed_fields": { + "$ref": "#/components/schemas/ml._types:DataframeAnalysisAnalyzedFields" + }, + "description": { + "description": "A description of the job.", + "type": "string" + }, + "dest": { + "$ref": "#/components/schemas/ml._types:DataframeAnalyticsDestination" + }, + "max_num_threads": { + "description": "The maximum number of threads to be used by the analysis. Using more\nthreads may decrease the time necessary to complete the analysis at the\ncost of using more CPU. Note that the process may use additional threads\nfor operational functionality other than the analysis itself.", + "type": "number" + }, + "model_memory_limit": { + "description": "The approximate maximum amount of memory resources that are permitted for\nanalytical processing. If your `elasticsearch.yml` file contains an\n`xpack.ml.max_model_memory_limit` setting, an error occurs when you try\nto create data frame analytics jobs that have `model_memory_limit` values\ngreater than that setting.", + "type": "string" + }, + "source": { + "$ref": "#/components/schemas/ml._types:DataframeAnalyticsSource" + }, + "headers": { + "$ref": "#/components/schemas/_types:HttpHeaders" + }, + "version": { + "$ref": "#/components/schemas/_types:VersionString" + } + }, + "required": [ + "analysis", + "dest", + "source" + ], + "components": { + "schemas": { + "ml._types:DataframeAnalysisContainer": { + "type": "object", + "properties": { + "classification": { + "$ref": "#/components/schemas/ml._types:DataframeAnalysisClassification" + }, + "outlier_detection": { + "$ref": "#/components/schemas/ml._types:DataframeAnalysisOutlierDetection" + }, + "regression": { + "$ref": "#/components/schemas/ml._types:DataframeAnalysisRegression" + } + }, + "minProperties": 1, + "maxProperties": 1 + }, + "ml._types:DataframeAnalysisClassification": { + "allOf": [ + { + "$ref": "#/components/schemas/ml._types:DataframeAnalysis" + }, + { + "type": "object", + "properties": { + "class_assignment_objective": { + "type": "string" + }, + "num_top_classes": { + "description": "Defines the number of categories for which the predicted probabilities are reported. It must be non-negative or -1. If it is -1 or greater than the total number of categories, probabilities are reported for all categories; if you have a large number of categories, there could be a significant effect on the size of your destination index. NOTE: To use the AUC ROC evaluation method, `num_top_classes` must be set to -1 or a value greater than or equal to the total number of categories.", + "type": "number" + } + } + } + ] + }, + "ml._types:DataframeAnalysis": { + "type": "object", + "properties": { + "alpha": { + "description": "Advanced configuration option. Machine learning uses loss guided tree growing, which means that the decision trees grow where the regularized loss decreases most quickly. This parameter affects loss calculations by acting as a multiplier of the tree depth. Higher alpha values result in shallower trees and faster training times. By default, this value is calculated during hyperparameter optimization. It must be greater than or equal to zero.", + "type": "number" + }, + "dependent_variable": { + "description": "Defines which field of the document is to be predicted. It must match one of the fields in the index being used to train. If this field is missing from a document, then that document will not be used for training, but a prediction with the trained model will be generated for it. It is also known as continuous target variable.\nFor classification analysis, the data type of the field must be numeric (`integer`, `short`, `long`, `byte`), categorical (`ip` or `keyword`), or `boolean`. There must be no more than 30 different values in this field.\nFor regression analysis, the data type of the field must be numeric.", + "type": "string" + }, + "downsample_factor": { + "description": "Advanced configuration option. Controls the fraction of data that is used to compute the derivatives of the loss function for tree training. A small value results in the use of a small fraction of the data. If this value is set to be less than 1, accuracy typically improves. However, too small a value may result in poor convergence for the ensemble and so require more trees. By default, this value is calculated during hyperparameter optimization. It must be greater than zero and less than or equal to 1.", + "type": "number" + }, + "early_stopping_enabled": { + "description": "Advanced configuration option. Specifies whether the training process should finish if it is not finding any better performing models. If disabled, the training process can take significantly longer and the chance of finding a better performing model is unremarkable.", + "type": "boolean" + }, + "eta": { + "description": "Advanced configuration option. The shrinkage applied to the weights. Smaller values result in larger forests which have a better generalization error. However, larger forests cause slower training. By default, this value is calculated during hyperparameter optimization. It must be a value between 0.001 and 1.", + "type": "number" + }, + "eta_growth_rate_per_tree": { + "description": "Advanced configuration option. Specifies the rate at which `eta` increases for each new tree that is added to the forest. For example, a rate of 1.05 increases `eta` by 5% for each extra tree. By default, this value is calculated during hyperparameter optimization. It must be between 0.5 and 2.", + "type": "number" + }, + "feature_bag_fraction": { + "description": "Advanced configuration option. Defines the fraction of features that will be used when selecting a random bag for each candidate split. By default, this value is calculated during hyperparameter optimization.", + "type": "number" + }, + "feature_processors": { + "description": "Advanced configuration option. A collection of feature preprocessors that modify one or more included fields. The analysis uses the resulting one or more features instead of the original document field. However, these features are ephemeral; they are not stored in the destination index. Multiple `feature_processors` entries can refer to the same document fields. Automatic categorical feature encoding still occurs for the fields that are unprocessed by a custom processor or that have categorical values. Use this property only if you want to override the automatic feature encoding of the specified fields.", + "type": "array", + "items": { + "$ref": "#/components/schemas/ml._types:DataframeAnalysisFeatureProcessor" + } + }, + "gamma": { + "description": "Advanced configuration option. Regularization parameter to prevent overfitting on the training data set. Multiplies a linear penalty associated with the size of individual trees in the forest. A high gamma value causes training to prefer small trees. A small gamma value results in larger individual trees and slower training. By default, this value is calculated during hyperparameter optimization. It must be a nonnegative value.", + "type": "number" + }, + "lambda": { + "description": "Advanced configuration option. Regularization parameter to prevent overfitting on the training data set. Multiplies an L2 regularization term which applies to leaf weights of the individual trees in the forest. A high lambda value causes training to favor small leaf weights. This behavior makes the prediction function smoother at the expense of potentially not being able to capture relevant relationships between the features and the dependent variable. A small lambda value results in large individual trees and slower training. By default, this value is calculated during hyperparameter optimization. It must be a nonnegative value.", + "type": "number" + }, + "max_optimization_rounds_per_hyperparameter": { + "description": "Advanced configuration option. A multiplier responsible for determining the maximum number of hyperparameter optimization steps in the Bayesian optimization procedure. The maximum number of steps is determined based on the number of undefined hyperparameters times the maximum optimization rounds per hyperparameter. By default, this value is calculated during hyperparameter optimization.", + "type": "number" + }, + "max_trees": { + "description": "Advanced configuration option. Defines the maximum number of decision trees in the forest. The maximum value is 2000. By default, this value is calculated during hyperparameter optimization.", + "type": "number" + }, + "num_top_feature_importance_values": { + "description": "Advanced configuration option. Specifies the maximum number of feature importance values per document to return. By default, no feature importance calculation occurs.", + "type": "number" + }, + "prediction_field_name": { + "$ref": "#/components/schemas/_types:Field" + }, + "randomize_seed": { + "description": "Defines the seed for the random generator that is used to pick training data. By default, it is randomly generated. Set it to a specific value to use the same training data each time you start a job (assuming other related parameters such as `source` and `analyzed_fields` are the same).", + "type": "number" + }, + "soft_tree_depth_limit": { + "description": "Advanced configuration option. Machine learning uses loss guided tree growing, which means that the decision trees grow where the regularized loss decreases most quickly. This soft limit combines with the `soft_tree_depth_tolerance` to penalize trees that exceed the specified depth; the regularized loss increases quickly beyond this depth. By default, this value is calculated during hyperparameter optimization. It must be greater than or equal to 0.", + "type": "number" + }, + "soft_tree_depth_tolerance": { + "description": "Advanced configuration option. This option controls how quickly the regularized loss increases when the tree depth exceeds `soft_tree_depth_limit`. By default, this value is calculated during hyperparameter optimization. It must be greater than or equal to 0.01.", + "type": "number" + }, + "training_percent": { + "$ref": "#/components/schemas/_types:Percentage" + } + }, + "required": [ + "dependent_variable" + ] + }, + "ml._types:DataframeAnalysisFeatureProcessor": { + "type": "object", + "properties": { + "frequency_encoding": { + "$ref": "#/components/schemas/ml._types:DataframeAnalysisFeatureProcessorFrequencyEncoding" + }, + "multi_encoding": { + "$ref": "#/components/schemas/ml._types:DataframeAnalysisFeatureProcessorMultiEncoding" + }, + "n_gram_encoding": { + "$ref": "#/components/schemas/ml._types:DataframeAnalysisFeatureProcessorNGramEncoding" + }, + "one_hot_encoding": { + "$ref": "#/components/schemas/ml._types:DataframeAnalysisFeatureProcessorOneHotEncoding" + }, + "target_mean_encoding": { + "$ref": "#/components/schemas/ml._types:DataframeAnalysisFeatureProcessorTargetMeanEncoding" + } + }, + "minProperties": 1, + "maxProperties": 1 + }, + "ml._types:DataframeAnalysisFeatureProcessorFrequencyEncoding": { + "type": "object", + "properties": { + "feature_name": { + "$ref": "#/components/schemas/_types:Name" + }, + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "frequency_map": { + "description": "The resulting frequency map for the field value. If the field value is missing from the frequency_map, the resulting value is 0.", + "type": "object", + "additionalProperties": { + "type": "number" + } + } + }, + "required": [ + "feature_name", + "field", + "frequency_map" + ] + }, + "_types:Name": { + "type": "string" + }, + "_types:Field": { + "description": "Path to field or array of paths. Some API's support wildcards in the path to select multiple fields.", + "type": "string" + }, + "ml._types:DataframeAnalysisFeatureProcessorMultiEncoding": { + "type": "object", + "properties": { + "processors": { + "description": "The ordered array of custom processors to execute. Must be more than 1.", + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "processors" + ] + }, + "ml._types:DataframeAnalysisFeatureProcessorNGramEncoding": { + "type": "object", + "properties": { + "feature_prefix": { + "description": "The feature name prefix. Defaults to ngram__.", + "type": "string" + }, + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "length": { + "description": "Specifies the length of the n-gram substring. Defaults to 50. Must be greater than 0.", + "type": "number" + }, + "n_grams": { + "description": "Specifies which n-grams to gather. It’s an array of integer values where the minimum value is 1, and a maximum value is 5.", + "type": "array", + "items": { + "type": "number" + } + }, + "start": { + "description": "Specifies the zero-indexed start of the n-gram substring. Negative values are allowed for encoding n-grams of string suffixes. Defaults to 0.", + "type": "number" + }, + "custom": { + "type": "boolean" + } + }, + "required": [ + "field", + "n_grams" + ] + }, + "ml._types:DataframeAnalysisFeatureProcessorOneHotEncoding": { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "hot_map": { + "description": "The one hot map mapping the field value with the column name.", + "type": "string" + } + }, + "required": [ + "field", + "hot_map" + ] + }, + "ml._types:DataframeAnalysisFeatureProcessorTargetMeanEncoding": { + "type": "object", + "properties": { + "default_value": { + "description": "The default value if field value is not found in the target_map.", + "type": "number" + }, + "feature_name": { + "$ref": "#/components/schemas/_types:Name" + }, + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "target_map": { + "description": "The field value to target mean transition map.", + "type": "object", + "additionalProperties": { + "type": "object" + } + } + }, + "required": [ + "default_value", + "feature_name", + "field", + "target_map" + ] + }, + "_types:Percentage": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "ml._types:DataframeAnalysisOutlierDetection": { + "type": "object", + "properties": { + "compute_feature_influence": { + "description": "Specifies whether the feature influence calculation is enabled.", + "type": "boolean" + }, + "feature_influence_threshold": { + "description": "The minimum outlier score that a document needs to have in order to calculate its feature influence score. Value range: 0-1.", + "type": "number" + }, + "method": { + "description": "The method that outlier detection uses. Available methods are `lof`, `ldof`, `distance_kth_nn`, `distance_knn`, and `ensemble`. The default value is ensemble, which means that outlier detection uses an ensemble of different methods and normalises and combines their individual outlier scores to obtain the overall outlier score.", + "type": "string" + }, + "n_neighbors": { + "description": "Defines the value for how many nearest neighbors each method of outlier detection uses to calculate its outlier score. When the value is not set, different values are used for different ensemble members. This default behavior helps improve the diversity in the ensemble; only override it if you are confident that the value you choose is appropriate for the data set.", + "type": "number" + }, + "outlier_fraction": { + "description": "The proportion of the data set that is assumed to be outlying prior to outlier detection. For example, 0.05 means it is assumed that 5% of values are real outliers and 95% are inliers.", + "type": "number" + }, + "standardization_enabled": { + "description": "If true, the following operation is performed on the columns before computing outlier scores: `(x_i - mean(x_i)) / sd(x_i)`.", + "type": "boolean" + } + } + }, + "ml._types:DataframeAnalysisRegression": { + "allOf": [ + { + "$ref": "#/components/schemas/ml._types:DataframeAnalysis" + }, + { + "type": "object", + "properties": { + "loss_function": { + "description": "The loss function used during regression. Available options are `mse` (mean squared error), `msle` (mean squared logarithmic error), `huber` (Pseudo-Huber loss).", + "type": "string" + }, + "loss_function_parameter": { + "description": "A positive number that is used as a parameter to the `loss_function`.", + "type": "number" + } + } + } + ] + }, + "ml._types:DataframeAnalysisAnalyzedFields": { + "type": "object", + "properties": { + "includes": { + "description": "An array of strings that defines the fields that will be excluded from the analysis. You do not need to add fields with unsupported data types to excludes, these fields are excluded from the analysis automatically.", + "type": "array", + "items": { + "type": "string" + } + }, + "excludes": { + "description": "An array of strings that defines the fields that will be included in the analysis.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "includes", + "excludes" + ] + }, + "ml._types:DataframeAnalyticsDestination": { + "type": "object", + "properties": { + "index": { + "$ref": "#/components/schemas/_types:IndexName" + }, + "results_field": { + "$ref": "#/components/schemas/_types:Field" + } + }, + "required": [ + "index" + ] + }, + "_types:IndexName": { + "type": "string" + }, + "ml._types:DataframeAnalyticsSource": { + "type": "object", + "properties": { + "index": { + "$ref": "#/components/schemas/_types:Indices" + }, + "query": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + }, + "runtime_mappings": { + "$ref": "#/components/schemas/_types.mapping:RuntimeFields" + }, + "_source": { + "$ref": "#/components/schemas/ml._types:DataframeAnalysisAnalyzedFields" + } + }, + "required": [ + "index" + ] + }, + "_types:Indices": { + "oneOf": [ + { + "$ref": "#/components/schemas/_types:IndexName" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/_types:IndexName" + } + } + ] + }, + "_types.query_dsl:QueryContainer": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl.html" + }, + "type": "object", + "properties": { + "bool": { + "$ref": "#/components/schemas/_types.query_dsl:BoolQuery" + }, + "boosting": { + "$ref": "#/components/schemas/_types.query_dsl:BoostingQuery" + }, + "common": { + "deprecated": true, + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.query_dsl:CommonTermsQuery" + }, + "minProperties": 1, + "maxProperties": 1 + }, + "combined_fields": { + "$ref": "#/components/schemas/_types.query_dsl:CombinedFieldsQuery" + }, + "constant_score": { + "$ref": "#/components/schemas/_types.query_dsl:ConstantScoreQuery" + }, + "dis_max": { + "$ref": "#/components/schemas/_types.query_dsl:DisMaxQuery" + }, + "distance_feature": { + "$ref": "#/components/schemas/_types.query_dsl:DistanceFeatureQuery" + }, + "exists": { + "$ref": "#/components/schemas/_types.query_dsl:ExistsQuery" + }, + "function_score": { + "$ref": "#/components/schemas/_types.query_dsl:FunctionScoreQuery" + }, + "fuzzy": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-fuzzy-query.html" + }, + "description": "Returns documents that contain terms similar to the search term, as measured by a Levenshtein edit distance.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.query_dsl:FuzzyQuery" + }, + "minProperties": 1, + "maxProperties": 1 + }, + "geo_bounding_box": { + "$ref": "#/components/schemas/_types.query_dsl:GeoBoundingBoxQuery" + }, + "geo_distance": { + "$ref": "#/components/schemas/_types.query_dsl:GeoDistanceQuery" + }, + "geo_polygon": { + "$ref": "#/components/schemas/_types.query_dsl:GeoPolygonQuery" + }, + "geo_shape": { + "$ref": "#/components/schemas/_types.query_dsl:GeoShapeQuery" + }, + "has_child": { + "$ref": "#/components/schemas/_types.query_dsl:HasChildQuery" + }, + "has_parent": { + "$ref": "#/components/schemas/_types.query_dsl:HasParentQuery" + }, + "ids": { + "$ref": "#/components/schemas/_types.query_dsl:IdsQuery" + }, + "intervals": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-intervals-query.html" + }, + "description": "Returns documents based on the order and proximity of matching terms.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsQuery" + }, + "minProperties": 1, + "maxProperties": 1 + }, + "knn": { + "$ref": "#/components/schemas/_types:KnnQuery" + }, + "match": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-match-query.html" + }, + "description": "Returns documents that match a provided text, number, date or boolean value.\nThe provided text is analyzed before matching.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.query_dsl:MatchQuery" + }, + "minProperties": 1, + "maxProperties": 1 + }, + "match_all": { + "$ref": "#/components/schemas/_types.query_dsl:MatchAllQuery" + }, + "match_bool_prefix": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-match-bool-prefix-query.html" + }, + "description": "Analyzes its input and constructs a `bool` query from the terms.\nEach term except the last is used in a `term` query.\nThe last term is used in a prefix query.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.query_dsl:MatchBoolPrefixQuery" + }, + "minProperties": 1, + "maxProperties": 1 + }, + "match_none": { + "$ref": "#/components/schemas/_types.query_dsl:MatchNoneQuery" + }, + "match_phrase": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-match-query-phrase.html" + }, + "description": "Analyzes the text and creates a phrase query out of the analyzed text.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.query_dsl:MatchPhraseQuery" + }, + "minProperties": 1, + "maxProperties": 1 + }, + "match_phrase_prefix": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-match-query-phrase-prefix.html" + }, + "description": "Returns documents that contain the words of a provided text, in the same order as provided.\nThe last term of the provided text is treated as a prefix, matching any words that begin with that term.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.query_dsl:MatchPhrasePrefixQuery" + }, + "minProperties": 1, + "maxProperties": 1 + }, + "more_like_this": { + "$ref": "#/components/schemas/_types.query_dsl:MoreLikeThisQuery" + }, + "multi_match": { + "$ref": "#/components/schemas/_types.query_dsl:MultiMatchQuery" + }, + "nested": { + "$ref": "#/components/schemas/_types.query_dsl:NestedQuery" + }, + "parent_id": { + "$ref": "#/components/schemas/_types.query_dsl:ParentIdQuery" + }, + "percolate": { + "$ref": "#/components/schemas/_types.query_dsl:PercolateQuery" + }, + "pinned": { + "$ref": "#/components/schemas/_types.query_dsl:PinnedQuery" + }, + "prefix": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-prefix-query.html" + }, + "description": "Returns documents that contain a specific prefix in a provided field.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.query_dsl:PrefixQuery" + }, + "minProperties": 1, + "maxProperties": 1 + }, + "query_string": { + "$ref": "#/components/schemas/_types.query_dsl:QueryStringQuery" + }, + "range": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-range-query.html" + }, + "description": "Returns documents that contain terms within a provided range.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.query_dsl:RangeQuery" + }, + "minProperties": 1, + "maxProperties": 1 + }, + "rank_feature": { + "$ref": "#/components/schemas/_types.query_dsl:RankFeatureQuery" + }, + "regexp": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-regexp-query.html" + }, + "description": "Returns documents that contain terms matching a regular expression.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.query_dsl:RegexpQuery" + }, + "minProperties": 1, + "maxProperties": 1 + }, + "rule_query": { + "$ref": "#/components/schemas/_types.query_dsl:RuleQuery" + }, + "script": { + "$ref": "#/components/schemas/_types.query_dsl:ScriptQuery" + }, + "script_score": { + "$ref": "#/components/schemas/_types.query_dsl:ScriptScoreQuery" + }, + "shape": { + "$ref": "#/components/schemas/_types.query_dsl:ShapeQuery" + }, + "simple_query_string": { + "$ref": "#/components/schemas/_types.query_dsl:SimpleQueryStringQuery" + }, + "span_containing": { + "$ref": "#/components/schemas/_types.query_dsl:SpanContainingQuery" + }, + "field_masking_span": { + "$ref": "#/components/schemas/_types.query_dsl:SpanFieldMaskingQuery" + }, + "span_first": { + "$ref": "#/components/schemas/_types.query_dsl:SpanFirstQuery" + }, + "span_multi": { + "$ref": "#/components/schemas/_types.query_dsl:SpanMultiTermQuery" + }, + "span_near": { + "$ref": "#/components/schemas/_types.query_dsl:SpanNearQuery" + }, + "span_not": { + "$ref": "#/components/schemas/_types.query_dsl:SpanNotQuery" + }, + "span_or": { + "$ref": "#/components/schemas/_types.query_dsl:SpanOrQuery" + }, + "span_term": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-span-term-query.html" + }, + "description": "Matches spans containing a term.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.query_dsl:SpanTermQuery" + }, + "minProperties": 1, + "maxProperties": 1 + }, + "span_within": { + "$ref": "#/components/schemas/_types.query_dsl:SpanWithinQuery" + }, + "term": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-term-query.html" + }, + "description": "Returns documents that contain an exact term in a provided field.\nTo return a document, the query term must exactly match the queried field's value, including whitespace and capitalization.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.query_dsl:TermQuery" + }, + "minProperties": 1, + "maxProperties": 1 + }, + "terms": { + "$ref": "#/components/schemas/_types.query_dsl:TermsQuery" + }, + "terms_set": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-terms-set-query.html" + }, + "description": "Returns documents that contain a minimum number of exact terms in a provided field.\nTo return a document, a required number of terms must exactly match the field values, including whitespace and capitalization.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.query_dsl:TermsSetQuery" + }, + "minProperties": 1, + "maxProperties": 1 + }, + "text_expansion": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-text-expansion-query.html" + }, + "description": "Uses a natural language processing model to convert the query text into a list of token-weight pairs which are then used in a query against a sparse vector or rank features field.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.query_dsl:TextExpansionQuery" + }, + "minProperties": 1, + "maxProperties": 1 + }, + "weighted_tokens": { + "description": "Supports returning text_expansion query results by sending in precomputed tokens with the query.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.query_dsl:WeightedTokensQuery" + }, + "minProperties": 1, + "maxProperties": 1 + }, + "wildcard": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-wildcard-query.html" + }, + "description": "Returns documents that contain terms matching a wildcard pattern.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.query_dsl:WildcardQuery" + }, + "minProperties": 1, + "maxProperties": 1 + }, + "wrapper": { + "$ref": "#/components/schemas/_types.query_dsl:WrapperQuery" + }, + "type": { + "$ref": "#/components/schemas/_types.query_dsl:TypeQuery" + } + }, + "minProperties": 1, + "maxProperties": 1 + }, + "_types.query_dsl:BoolQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "filter": { + "description": "The clause (query) must appear in matching documents.\nHowever, unlike `must`, the score of the query will be ignored.", + "oneOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + } + } + ] + }, + "minimum_should_match": { + "$ref": "#/components/schemas/_types:MinimumShouldMatch" + }, + "must": { + "description": "The clause (query) must appear in matching documents and will contribute to the score.", + "oneOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + } + } + ] + }, + "must_not": { + "description": "The clause (query) must not appear in the matching documents.\nBecause scoring is ignored, a score of `0` is returned for all documents.", + "oneOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + } + } + ] + }, + "should": { + "description": "The clause (query) should appear in the matching document.", + "oneOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + } + } + ] + } + } + } + ] + }, + "_types.query_dsl:QueryBase": { + "type": "object", + "properties": { + "boost": { + "description": "Floating point number used to decrease or increase the relevance scores of the query.\nBoost values are relative to the default value of 1.0.\nA boost value between 0 and 1.0 decreases the relevance score.\nA value greater than 1.0 increases the relevance score.", + "type": "number" + }, + "_name": { + "type": "string" + } + } + }, + "_types:MinimumShouldMatch": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-minimum-should-match.html" + }, + "description": "The minimum number of terms that should match as integer, percentage or range", + "oneOf": [ + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "_types.query_dsl:BoostingQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "negative_boost": { + "description": "Floating point number between 0 and 1.0 used to decrease the relevance scores of documents matching the `negative` query.", + "type": "number" + }, + "negative": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + }, + "positive": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + } + }, + "required": [ + "negative_boost", + "negative", + "positive" + ] + } + ] + }, + "_types.query_dsl:CommonTermsQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "analyzer": { + "type": "string" + }, + "cutoff_frequency": { + "type": "number" + }, + "high_freq_operator": { + "$ref": "#/components/schemas/_types.query_dsl:Operator" + }, + "low_freq_operator": { + "$ref": "#/components/schemas/_types.query_dsl:Operator" + }, + "minimum_should_match": { + "$ref": "#/components/schemas/_types:MinimumShouldMatch" + }, + "query": { + "type": "string" + } + }, + "required": [ + "query" + ] + } + ] + }, + "_types.query_dsl:Operator": { + "type": "string", + "enum": [ + "and", + "AND", + "or", + "OR" + ] + }, + "_types.query_dsl:CombinedFieldsQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "fields": { + "description": "List of fields to search. Field wildcard patterns are allowed. Only `text` fields are supported, and they must all have the same search `analyzer`.", + "type": "array", + "items": { + "$ref": "#/components/schemas/_types:Field" + } + }, + "query": { + "description": "Text to search for in the provided `fields`.\nThe `combined_fields` query analyzes the provided text before performing a search.", + "type": "string" + }, + "auto_generate_synonyms_phrase_query": { + "description": "If true, match phrase queries are automatically created for multi-term synonyms.", + "type": "boolean" + }, + "operator": { + "$ref": "#/components/schemas/_types.query_dsl:CombinedFieldsOperator" + }, + "minimum_should_match": { + "$ref": "#/components/schemas/_types:MinimumShouldMatch" + }, + "zero_terms_query": { + "$ref": "#/components/schemas/_types.query_dsl:CombinedFieldsZeroTerms" + } + }, + "required": [ + "fields", + "query" + ] + } + ] + }, + "_types.query_dsl:CombinedFieldsOperator": { + "type": "string", + "enum": [ + "or", + "and" + ] + }, + "_types.query_dsl:CombinedFieldsZeroTerms": { + "type": "string", + "enum": [ + "none", + "all" + ] + }, + "_types.query_dsl:ConstantScoreQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "filter": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + } + }, + "required": [ + "filter" + ] + } + ] + }, + "_types.query_dsl:DisMaxQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "queries": { + "description": "One or more query clauses.\nReturned documents must match one or more of these queries.\nIf a document matches multiple queries, Elasticsearch uses the highest relevance score.", + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + } + }, + "tie_breaker": { + "description": "Floating point number between 0 and 1.0 used to increase the relevance scores of documents matching multiple query clauses.", + "type": "number" + } + }, + "required": [ + "queries" + ] + } + ] + }, + "_types.query_dsl:DistanceFeatureQuery": { + "oneOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:GeoDistanceFeatureQuery" + }, + { + "$ref": "#/components/schemas/_types.query_dsl:DateDistanceFeatureQuery" + } + ] + }, + "_types.query_dsl:GeoDistanceFeatureQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:DistanceFeatureQueryBaseGeoLocationDistance" + }, + { + "type": "object" + } + ] + }, + "_types.query_dsl:DistanceFeatureQueryBaseGeoLocationDistance": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "origin": { + "$ref": "#/components/schemas/_types:GeoLocation" + }, + "pivot": { + "$ref": "#/components/schemas/_types:Distance" + }, + "field": { + "$ref": "#/components/schemas/_types:Field" + } + }, + "required": [ + "origin", + "pivot", + "field" + ] + } + ] + }, + "_types:GeoLocation": { + "description": "A latitude/longitude as a 2 dimensional point. It can be represented in various ways:\n- as a `{lat, long}` object\n- as a geo hash value\n- as a `[lon, lat]` array\n- as a string in `\", \"` or WKT point formats", + "oneOf": [ + { + "$ref": "#/components/schemas/_types:LatLonGeoLocation" + }, + { + "$ref": "#/components/schemas/_types:GeoHashLocation" + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "string" + } + ] + }, + "_types:LatLonGeoLocation": { + "type": "object", + "properties": { + "lat": { + "description": "Latitude", + "type": "number" + }, + "lon": { + "description": "Longitude", + "type": "number" + } + }, + "required": [ + "lat", + "lon" + ] + }, + "_types:GeoHashLocation": { + "type": "object", + "properties": { + "geohash": { + "$ref": "#/components/schemas/_types:GeoHash" + } + }, + "required": [ + "geohash" + ] + }, + "_types:GeoHash": { + "type": "string" + }, + "_types:Distance": { + "type": "string" + }, + "_types.query_dsl:DateDistanceFeatureQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:DistanceFeatureQueryBaseDateMathDuration" + }, + { + "type": "object" + } + ] + }, + "_types.query_dsl:DistanceFeatureQueryBaseDateMathDuration": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "origin": { + "$ref": "#/components/schemas/_types:DateMath" + }, + "pivot": { + "$ref": "#/components/schemas/_types:Duration" + }, + "field": { + "$ref": "#/components/schemas/_types:Field" + } + }, + "required": [ + "origin", + "pivot", + "field" + ] + } + ] + }, + "_types:DateMath": { + "type": "string" + }, + "_types:Duration": { + "externalDocs": { + "url": "https://github.com/elastic/elasticsearch/blob/current/libs/core/src/main/java/org/elasticsearch/core/TimeValue.java" + }, + "description": "A duration. Units can be `nanos`, `micros`, `ms` (milliseconds), `s` (seconds), `m` (minutes), `h` (hours) and\n`d` (days). Also accepts \"0\" without a unit and \"-1\" to indicate an unspecified value.", + "oneOf": [ + { + "type": "string" + }, + { + "type": "string", + "enum": [ + "-1" + ] + }, + { + "type": "string", + "enum": [ + "0" + ] + } + ] + }, + "_types.query_dsl:ExistsQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + } + }, + "required": [ + "field" + ] + } + ] + }, + "_types.query_dsl:FunctionScoreQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "boost_mode": { + "$ref": "#/components/schemas/_types.query_dsl:FunctionBoostMode" + }, + "functions": { + "description": "One or more functions that compute a new score for each document returned by the query.", + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.query_dsl:FunctionScoreContainer" + } + }, + "max_boost": { + "description": "Restricts the new score to not exceed the provided limit.", + "type": "number" + }, + "min_score": { + "description": "Excludes documents that do not meet the provided score threshold.", + "type": "number" + }, + "query": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + }, + "score_mode": { + "$ref": "#/components/schemas/_types.query_dsl:FunctionScoreMode" + } + } + } + ] + }, + "_types.query_dsl:FunctionBoostMode": { + "type": "string", + "enum": [ + "multiply", + "replace", + "sum", + "avg", + "max", + "min" + ] + }, + "_types.query_dsl:FunctionScoreContainer": { + "allOf": [ + { + "type": "object", + "properties": { + "filter": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + }, + "weight": { + "type": "number" + } + } + }, + { + "type": "object", + "properties": { + "exp": { + "$ref": "#/components/schemas/_types.query_dsl:DecayFunction" + }, + "gauss": { + "$ref": "#/components/schemas/_types.query_dsl:DecayFunction" + }, + "linear": { + "$ref": "#/components/schemas/_types.query_dsl:DecayFunction" + }, + "field_value_factor": { + "$ref": "#/components/schemas/_types.query_dsl:FieldValueFactorScoreFunction" + }, + "random_score": { + "$ref": "#/components/schemas/_types.query_dsl:RandomScoreFunction" + }, + "script_score": { + "$ref": "#/components/schemas/_types.query_dsl:ScriptScoreFunction" + } + }, + "minProperties": 1, + "maxProperties": 1 + } + ] + }, + "_types.query_dsl:DecayFunction": { + "oneOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:DateDecayFunction" + }, + { + "$ref": "#/components/schemas/_types.query_dsl:NumericDecayFunction" + }, + { + "$ref": "#/components/schemas/_types.query_dsl:GeoDecayFunction" + } + ] + }, + "_types.query_dsl:DateDecayFunction": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:DecayFunctionBase" + }, + { + "type": "object" + } + ] + }, + "_types.query_dsl:DecayFunctionBase": { + "type": "object", + "properties": { + "multi_value_mode": { + "$ref": "#/components/schemas/_types.query_dsl:MultiValueMode" + } + } + }, + "_types.query_dsl:MultiValueMode": { + "type": "string", + "enum": [ + "min", + "max", + "avg", + "sum" + ] + }, + "_types.query_dsl:NumericDecayFunction": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:DecayFunctionBase" + }, + { + "type": "object" + } + ] + }, + "_types.query_dsl:GeoDecayFunction": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:DecayFunctionBase" + }, + { + "type": "object" + } + ] + }, + "_types.query_dsl:FieldValueFactorScoreFunction": { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "factor": { + "description": "Optional factor to multiply the field value with.", + "type": "number" + }, + "missing": { + "description": "Value used if the document doesn’t have that field.\nThe modifier and factor are still applied to it as though it were read from the document.", + "type": "number" + }, + "modifier": { + "$ref": "#/components/schemas/_types.query_dsl:FieldValueFactorModifier" + } + }, + "required": [ + "field" + ] + }, + "_types.query_dsl:FieldValueFactorModifier": { + "type": "string", + "enum": [ + "none", + "log", + "log1p", + "log2p", + "ln", + "ln1p", + "ln2p", + "square", + "sqrt", + "reciprocal" + ] + }, + "_types.query_dsl:RandomScoreFunction": { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "seed": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string" + } + ] + } + } + }, + "_types.query_dsl:ScriptScoreFunction": { + "type": "object", + "properties": { + "script": { + "$ref": "#/components/schemas/_types:Script" + } + }, + "required": [ + "script" + ] + }, + "_types:Script": { + "oneOf": [ + { + "$ref": "#/components/schemas/_types:InlineScript" + }, + { + "$ref": "#/components/schemas/_types:StoredScriptId" + } + ] + }, + "_types:InlineScript": { + "allOf": [ + { + "$ref": "#/components/schemas/_types:ScriptBase" + }, + { + "type": "object", + "properties": { + "lang": { + "$ref": "#/components/schemas/_types:ScriptLanguage" + }, + "options": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "source": { + "description": "The script source.", + "type": "string" + } + }, + "required": [ + "source" + ] + } + ] + }, + "_types:ScriptBase": { + "type": "object", + "properties": { + "params": { + "description": "Specifies any named parameters that are passed into the script as variables.\nUse parameters instead of hard-coded values to decrease compile time.", + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + }, + "_types:ScriptLanguage": { + "anyOf": [ + { + "type": "string", + "enum": [ + "painless", + "expression", + "mustache", + "java" + ] + }, + { + "type": "string" + } + ] + }, + "_types:StoredScriptId": { + "allOf": [ + { + "$ref": "#/components/schemas/_types:ScriptBase" + }, + { + "type": "object", + "properties": { + "id": { + "$ref": "#/components/schemas/_types:Id" + } + }, + "required": [ + "id" + ] + } + ] + }, + "_types:Id": { + "type": "string" + }, + "_types.query_dsl:FunctionScoreMode": { + "type": "string", + "enum": [ + "multiply", + "sum", + "avg", + "first", + "max", + "min" + ] + }, + "_types.query_dsl:FuzzyQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "max_expansions": { + "description": "Maximum number of variations created.", + "type": "number" + }, + "prefix_length": { + "description": "Number of beginning characters left unchanged when creating expansions.", + "type": "number" + }, + "rewrite": { + "$ref": "#/components/schemas/_types:MultiTermQueryRewrite" + }, + "transpositions": { + "description": "Indicates whether edits include transpositions of two adjacent characters (for example `ab` to `ba`).", + "type": "boolean" + }, + "fuzziness": { + "$ref": "#/components/schemas/_types:Fuzziness" + }, + "value": { + "description": "Term you wish to find in the provided field.", + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "value" + ] + } + ] + }, + "_types:MultiTermQueryRewrite": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-multi-term-rewrite.html" + }, + "type": "string" + }, + "_types:Fuzziness": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/common-options.html#fuzziness" + }, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "_types.query_dsl:GeoBoundingBoxQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "type": { + "$ref": "#/components/schemas/_types.query_dsl:GeoExecution" + }, + "validation_method": { + "$ref": "#/components/schemas/_types.query_dsl:GeoValidationMethod" + }, + "ignore_unmapped": { + "description": "Set to `true` to ignore an unmapped field and not match any documents for this query.\nSet to `false` to throw an exception if the field is not mapped.", + "type": "boolean" + } + } + } + ] + }, + "_types.query_dsl:GeoExecution": { + "type": "string", + "enum": [ + "memory", + "indexed" + ] + }, + "_types.query_dsl:GeoValidationMethod": { + "type": "string", + "enum": [ + "coerce", + "ignore_malformed", + "strict" + ] + }, + "_types.query_dsl:GeoDistanceQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "distance": { + "$ref": "#/components/schemas/_types:Distance" + }, + "distance_type": { + "$ref": "#/components/schemas/_types:GeoDistanceType" + }, + "validation_method": { + "$ref": "#/components/schemas/_types.query_dsl:GeoValidationMethod" + }, + "ignore_unmapped": { + "description": "Set to `true` to ignore an unmapped field and not match any documents for this query.\nSet to `false` to throw an exception if the field is not mapped.", + "type": "boolean" + } + }, + "required": [ + "distance" + ] + } + ] + }, + "_types:GeoDistanceType": { + "type": "string", + "enum": [ + "arc", + "plane" + ] + }, + "_types.query_dsl:GeoPolygonQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "validation_method": { + "$ref": "#/components/schemas/_types.query_dsl:GeoValidationMethod" + }, + "ignore_unmapped": { + "type": "boolean" + } + } + } + ] + }, + "_types.query_dsl:GeoShapeQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "ignore_unmapped": { + "description": "Set to `true` to ignore an unmapped field and not match any documents for this query.\nSet to `false` to throw an exception if the field is not mapped.", + "type": "boolean" + } + } + } + ] + }, + "_types.query_dsl:HasChildQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "ignore_unmapped": { + "description": "Indicates whether to ignore an unmapped `type` and not return any documents instead of an error.", + "type": "boolean" + }, + "inner_hits": { + "$ref": "#/components/schemas/_global.search._types:InnerHits" + }, + "max_children": { + "description": "Maximum number of child documents that match the query allowed for a returned parent document.\nIf the parent document exceeds this limit, it is excluded from the search results.", + "type": "number" + }, + "min_children": { + "description": "Minimum number of child documents that match the query required to match the query for a returned parent document.\nIf the parent document does not meet this limit, it is excluded from the search results.", + "type": "number" + }, + "query": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + }, + "score_mode": { + "$ref": "#/components/schemas/_types.query_dsl:ChildScoreMode" + }, + "type": { + "$ref": "#/components/schemas/_types:RelationName" + } + }, + "required": [ + "query", + "type" + ] + } + ] + }, + "_global.search._types:InnerHits": { + "type": "object", + "properties": { + "name": { + "$ref": "#/components/schemas/_types:Name" + }, + "size": { + "description": "The maximum number of hits to return per `inner_hits`.", + "type": "number" + }, + "from": { + "description": "Inner hit starting document offset.", + "type": "number" + }, + "collapse": { + "$ref": "#/components/schemas/_global.search._types:FieldCollapse" + }, + "docvalue_fields": { + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.query_dsl:FieldAndFormat" + } + }, + "explain": { + "type": "boolean" + }, + "highlight": { + "$ref": "#/components/schemas/_global.search._types:Highlight" + }, + "ignore_unmapped": { + "type": "boolean" + }, + "script_fields": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types:ScriptField" + } + }, + "seq_no_primary_term": { + "type": "boolean" + }, + "fields": { + "$ref": "#/components/schemas/_types:Fields" + }, + "sort": { + "$ref": "#/components/schemas/_types:Sort" + }, + "_source": { + "$ref": "#/components/schemas/_global.search._types:SourceConfig" + }, + "stored_fields": { + "$ref": "#/components/schemas/_types:Fields" + }, + "track_scores": { + "type": "boolean" + }, + "version": { + "type": "boolean" + } + } + }, + "_global.search._types:FieldCollapse": { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "inner_hits": { + "description": "The number of inner hits and their sort order", + "oneOf": [ + { + "$ref": "#/components/schemas/_global.search._types:InnerHits" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/_global.search._types:InnerHits" + } + } + ] + }, + "max_concurrent_group_searches": { + "description": "The number of concurrent requests allowed to retrieve the inner_hits per group", + "type": "number" + }, + "collapse": { + "$ref": "#/components/schemas/_global.search._types:FieldCollapse" + } + }, + "required": [ + "field" + ] + }, + "_types.query_dsl:FieldAndFormat": { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "format": { + "description": "Format in which the values are returned.", + "type": "string" + }, + "include_unmapped": { + "type": "boolean" + } + }, + "required": [ + "field" + ] + }, + "_global.search._types:Highlight": { + "allOf": [ + { + "$ref": "#/components/schemas/_global.search._types:HighlightBase" + }, + { + "type": "object", + "properties": { + "encoder": { + "$ref": "#/components/schemas/_global.search._types:HighlighterEncoder" + }, + "fields": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_global.search._types:HighlightField" + } + } + }, + "required": [ + "fields" + ] + } + ] + }, + "_global.search._types:HighlightBase": { + "type": "object", + "properties": { + "type": { + "$ref": "#/components/schemas/_global.search._types:HighlighterType" + }, + "boundary_chars": { + "description": "A string that contains each boundary character.", + "type": "string" + }, + "boundary_max_scan": { + "description": "How far to scan for boundary characters.", + "type": "number" + }, + "boundary_scanner": { + "$ref": "#/components/schemas/_global.search._types:BoundaryScanner" + }, + "boundary_scanner_locale": { + "description": "Controls which locale is used to search for sentence and word boundaries.\nThis parameter takes a form of a language tag, for example: `\"en-US\"`, `\"fr-FR\"`, `\"ja-JP\"`.", + "type": "string" + }, + "force_source": { + "deprecated": true, + "type": "boolean" + }, + "fragmenter": { + "$ref": "#/components/schemas/_global.search._types:HighlighterFragmenter" + }, + "fragment_size": { + "description": "The size of the highlighted fragment in characters.", + "type": "number" + }, + "highlight_filter": { + "type": "boolean" + }, + "highlight_query": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + }, + "max_fragment_length": { + "type": "number" + }, + "max_analyzed_offset": { + "description": "If set to a non-negative value, highlighting stops at this defined maximum limit.\nThe rest of the text is not processed, thus not highlighted and no error is returned\nThe `max_analyzed_offset` query setting does not override the `index.highlight.max_analyzed_offset` setting, which prevails when it’s set to lower value than the query setting.", + "type": "number" + }, + "no_match_size": { + "description": "The amount of text you want to return from the beginning of the field if there are no matching fragments to highlight.", + "type": "number" + }, + "number_of_fragments": { + "description": "The maximum number of fragments to return.\nIf the number of fragments is set to `0`, no fragments are returned.\nInstead, the entire field contents are highlighted and returned.\nThis can be handy when you need to highlight short texts such as a title or address, but fragmentation is not required.\nIf `number_of_fragments` is `0`, `fragment_size` is ignored.", + "type": "number" + }, + "options": { + "type": "object", + "additionalProperties": { + "type": "object" + } + }, + "order": { + "$ref": "#/components/schemas/_global.search._types:HighlighterOrder" + }, + "phrase_limit": { + "description": "Controls the number of matching phrases in a document that are considered.\nPrevents the `fvh` highlighter from analyzing too many phrases and consuming too much memory.\nWhen using `matched_fields`, `phrase_limit` phrases per matched field are considered. Raising the limit increases query time and consumes more memory.\nOnly supported by the `fvh` highlighter.", + "type": "number" + }, + "post_tags": { + "description": "Use in conjunction with `pre_tags` to define the HTML tags to use for the highlighted text.\nBy default, highlighted text is wrapped in `` and `` tags.", + "type": "array", + "items": { + "type": "string" + } + }, + "pre_tags": { + "description": "Use in conjunction with `post_tags` to define the HTML tags to use for the highlighted text.\nBy default, highlighted text is wrapped in `` and `` tags.", + "type": "array", + "items": { + "type": "string" + } + }, + "require_field_match": { + "description": "By default, only fields that contains a query match are highlighted.\nSet to `false` to highlight all fields.", + "type": "boolean" + }, + "tags_schema": { + "$ref": "#/components/schemas/_global.search._types:HighlighterTagsSchema" + } + } + }, + "_global.search._types:HighlighterType": { + "anyOf": [ + { + "type": "string", + "enum": [ + "plain", + "fvh", + "unified" + ] + }, + { + "type": "string" + } + ] + }, + "_global.search._types:BoundaryScanner": { + "type": "string", + "enum": [ + "chars", + "sentence", + "word" + ] + }, + "_global.search._types:HighlighterFragmenter": { + "type": "string", + "enum": [ + "simple", + "span" + ] + }, + "_global.search._types:HighlighterOrder": { + "type": "string", + "enum": [ + "score" + ] + }, + "_global.search._types:HighlighterTagsSchema": { + "type": "string", + "enum": [ + "styled" + ] + }, + "_global.search._types:HighlighterEncoder": { + "type": "string", + "enum": [ + "default", + "html" + ] + }, + "_global.search._types:HighlightField": { + "allOf": [ + { + "$ref": "#/components/schemas/_global.search._types:HighlightBase" + }, + { + "type": "object", + "properties": { + "fragment_offset": { + "type": "number" + }, + "matched_fields": { + "$ref": "#/components/schemas/_types:Fields" + }, + "analyzer": { + "$ref": "#/components/schemas/_types.analysis:Analyzer" + } + } + } + ] + }, + "_types:Fields": { + "oneOf": [ + { + "$ref": "#/components/schemas/_types:Field" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/_types:Field" + } + } + ] + }, + "_types.analysis:Analyzer": { + "discriminator": { + "propertyName": "type" + }, + "oneOf": [ + { + "$ref": "#/components/schemas/_types.analysis:CustomAnalyzer" + }, + { + "$ref": "#/components/schemas/_types.analysis:FingerprintAnalyzer" + }, + { + "$ref": "#/components/schemas/_types.analysis:KeywordAnalyzer" + }, + { + "$ref": "#/components/schemas/_types.analysis:LanguageAnalyzer" + }, + { + "$ref": "#/components/schemas/_types.analysis:NoriAnalyzer" + }, + { + "$ref": "#/components/schemas/_types.analysis:PatternAnalyzer" + }, + { + "$ref": "#/components/schemas/_types.analysis:SimpleAnalyzer" + }, + { + "$ref": "#/components/schemas/_types.analysis:StandardAnalyzer" + }, + { + "$ref": "#/components/schemas/_types.analysis:StopAnalyzer" + }, + { + "$ref": "#/components/schemas/_types.analysis:WhitespaceAnalyzer" + }, + { + "$ref": "#/components/schemas/_types.analysis:IcuAnalyzer" + }, + { + "$ref": "#/components/schemas/_types.analysis:KuromojiAnalyzer" + }, + { + "$ref": "#/components/schemas/_types.analysis:SnowballAnalyzer" + }, + { + "$ref": "#/components/schemas/_types.analysis:DutchAnalyzer" + } + ] + }, + "_types.analysis:CustomAnalyzer": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "custom" + ] + }, + "char_filter": { + "type": "array", + "items": { + "type": "string" + } + }, + "filter": { + "type": "array", + "items": { + "type": "string" + } + }, + "position_increment_gap": { + "type": "number" + }, + "position_offset_gap": { + "type": "number" + }, + "tokenizer": { + "type": "string" + } + }, + "required": [ + "type", + "tokenizer" + ] + }, + "_types.analysis:FingerprintAnalyzer": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "fingerprint" + ] + }, + "version": { + "$ref": "#/components/schemas/_types:VersionString" + }, + "max_output_size": { + "type": "number" + }, + "preserve_original": { + "type": "boolean" + }, + "separator": { + "type": "string" + }, + "stopwords": { + "$ref": "#/components/schemas/_types.analysis:StopWords" + }, + "stopwords_path": { + "type": "string" + } + }, + "required": [ + "type", + "max_output_size", + "preserve_original", + "separator" + ] + }, + "_types:VersionString": { + "type": "string" + }, + "_types.analysis:StopWords": { + "description": "Language value, such as _arabic_ or _thai_. Defaults to _english_.\nEach language value corresponds to a predefined list of stop words in Lucene. See Stop words by language for supported language values and their stop words.\nAlso accepts an array of stop words.", + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "_types.analysis:KeywordAnalyzer": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "keyword" + ] + }, + "version": { + "$ref": "#/components/schemas/_types:VersionString" + } + }, + "required": [ + "type" + ] + }, + "_types.analysis:LanguageAnalyzer": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "language" + ] + }, + "version": { + "$ref": "#/components/schemas/_types:VersionString" + }, + "language": { + "$ref": "#/components/schemas/_types.analysis:Language" + }, + "stem_exclusion": { + "type": "array", + "items": { + "type": "string" + } + }, + "stopwords": { + "$ref": "#/components/schemas/_types.analysis:StopWords" + }, + "stopwords_path": { + "type": "string" + } + }, + "required": [ + "type", + "language", + "stem_exclusion" + ] + }, + "_types.analysis:Language": { + "type": "string", + "enum": [ + "Arabic", + "Armenian", + "Basque", + "Brazilian", + "Bulgarian", + "Catalan", + "Chinese", + "Cjk", + "Czech", + "Danish", + "Dutch", + "English", + "Estonian", + "Finnish", + "French", + "Galician", + "German", + "Greek", + "Hindi", + "Hungarian", + "Indonesian", + "Irish", + "Italian", + "Latvian", + "Norwegian", + "Persian", + "Portuguese", + "Romanian", + "Russian", + "Sorani", + "Spanish", + "Swedish", + "Turkish", + "Thai" + ] + }, + "_types.analysis:NoriAnalyzer": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "nori" + ] + }, + "version": { + "$ref": "#/components/schemas/_types:VersionString" + }, + "decompound_mode": { + "$ref": "#/components/schemas/_types.analysis:NoriDecompoundMode" + }, + "stoptags": { + "type": "array", + "items": { + "type": "string" + } + }, + "user_dictionary": { + "type": "string" + } + }, + "required": [ + "type" + ] + }, + "_types.analysis:NoriDecompoundMode": { + "type": "string", + "enum": [ + "discard", + "none", + "mixed" + ] + }, + "_types.analysis:PatternAnalyzer": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "pattern" + ] + }, + "version": { + "$ref": "#/components/schemas/_types:VersionString" + }, + "flags": { + "type": "string" + }, + "lowercase": { + "type": "boolean" + }, + "pattern": { + "type": "string" + }, + "stopwords": { + "$ref": "#/components/schemas/_types.analysis:StopWords" + } + }, + "required": [ + "type", + "pattern" + ] + }, + "_types.analysis:SimpleAnalyzer": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "simple" + ] + }, + "version": { + "$ref": "#/components/schemas/_types:VersionString" + } + }, + "required": [ + "type" + ] + }, + "_types.analysis:StandardAnalyzer": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "standard" + ] + }, + "max_token_length": { + "type": "number" + }, + "stopwords": { + "$ref": "#/components/schemas/_types.analysis:StopWords" + } + }, + "required": [ + "type" + ] + }, + "_types.analysis:StopAnalyzer": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "stop" + ] + }, + "version": { + "$ref": "#/components/schemas/_types:VersionString" + }, + "stopwords": { + "$ref": "#/components/schemas/_types.analysis:StopWords" + }, + "stopwords_path": { + "type": "string" + } + }, + "required": [ + "type" + ] + }, + "_types.analysis:WhitespaceAnalyzer": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "whitespace" + ] + }, + "version": { + "$ref": "#/components/schemas/_types:VersionString" + } + }, + "required": [ + "type" + ] + }, + "_types.analysis:IcuAnalyzer": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "icu_analyzer" + ] + }, + "method": { + "$ref": "#/components/schemas/_types.analysis:IcuNormalizationType" + }, + "mode": { + "$ref": "#/components/schemas/_types.analysis:IcuNormalizationMode" + } + }, + "required": [ + "type", + "method", + "mode" + ] + }, + "_types.analysis:IcuNormalizationType": { + "type": "string", + "enum": [ + "nfc", + "nfkc", + "nfkc_cf" + ] + }, + "_types.analysis:IcuNormalizationMode": { + "type": "string", + "enum": [ + "decompose", + "compose" + ] + }, + "_types.analysis:KuromojiAnalyzer": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "kuromoji" + ] + }, + "mode": { + "$ref": "#/components/schemas/_types.analysis:KuromojiTokenizationMode" + }, + "user_dictionary": { + "type": "string" + } + }, + "required": [ + "type", + "mode" + ] + }, + "_types.analysis:KuromojiTokenizationMode": { + "type": "string", + "enum": [ + "normal", + "search", + "extended" + ] + }, + "_types.analysis:SnowballAnalyzer": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "snowball" + ] + }, + "version": { + "$ref": "#/components/schemas/_types:VersionString" + }, + "language": { + "$ref": "#/components/schemas/_types.analysis:SnowballLanguage" + }, + "stopwords": { + "$ref": "#/components/schemas/_types.analysis:StopWords" + } + }, + "required": [ + "type", + "language" + ] + }, + "_types.analysis:SnowballLanguage": { + "type": "string", + "enum": [ + "Armenian", + "Basque", + "Catalan", + "Danish", + "Dutch", + "English", + "Finnish", + "French", + "German", + "German2", + "Hungarian", + "Italian", + "Kp", + "Lovins", + "Norwegian", + "Porter", + "Portuguese", + "Romanian", + "Russian", + "Spanish", + "Swedish", + "Turkish" + ] + }, + "_types.analysis:DutchAnalyzer": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "dutch" + ] + }, + "stopwords": { + "$ref": "#/components/schemas/_types.analysis:StopWords" + } + }, + "required": [ + "type" + ] + }, + "_types:ScriptField": { + "type": "object", + "properties": { + "script": { + "$ref": "#/components/schemas/_types:Script" + }, + "ignore_failure": { + "type": "boolean" + } + }, + "required": [ + "script" + ] + }, + "_types:Sort": { + "oneOf": [ + { + "$ref": "#/components/schemas/_types:SortCombinations" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/_types:SortCombinations" + } + } + ] + }, + "_types:SortCombinations": { + "oneOf": [ + { + "$ref": "#/components/schemas/_types:Field" + }, + { + "$ref": "#/components/schemas/_types:SortOptions" + } + ] + }, + "_types:SortOptions": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/sort-search-results.html" + }, + "type": "object", + "properties": { + "_score": { + "$ref": "#/components/schemas/_types:ScoreSort" + }, + "_doc": { + "$ref": "#/components/schemas/_types:ScoreSort" + }, + "_geo_distance": { + "$ref": "#/components/schemas/_types:GeoDistanceSort" + }, + "_script": { + "$ref": "#/components/schemas/_types:ScriptSort" + } + }, + "minProperties": 1, + "maxProperties": 1 + }, + "_types:ScoreSort": { + "type": "object", + "properties": { + "order": { + "$ref": "#/components/schemas/_types:SortOrder" + } + } + }, + "_types:SortOrder": { + "type": "string", + "enum": [ + "asc", + "desc" + ] + }, + "_types:GeoDistanceSort": { + "type": "object", + "properties": { + "mode": { + "$ref": "#/components/schemas/_types:SortMode" + }, + "distance_type": { + "$ref": "#/components/schemas/_types:GeoDistanceType" + }, + "ignore_unmapped": { + "type": "boolean" + }, + "order": { + "$ref": "#/components/schemas/_types:SortOrder" + }, + "unit": { + "$ref": "#/components/schemas/_types:DistanceUnit" + } + } + }, + "_types:SortMode": { + "type": "string", + "enum": [ + "min", + "max", + "sum", + "avg", + "median" + ] + }, + "_types:DistanceUnit": { + "type": "string", + "enum": [ + "in", + "ft", + "yd", + "mi", + "nmi", + "km", + "m", + "cm", + "mm" + ] + }, + "_types:ScriptSort": { + "type": "object", + "properties": { + "order": { + "$ref": "#/components/schemas/_types:SortOrder" + }, + "script": { + "$ref": "#/components/schemas/_types:Script" + }, + "type": { + "$ref": "#/components/schemas/_types:ScriptSortType" + }, + "mode": { + "$ref": "#/components/schemas/_types:SortMode" + }, + "nested": { + "$ref": "#/components/schemas/_types:NestedSortValue" + } + }, + "required": [ + "script" + ] + }, + "_types:ScriptSortType": { + "type": "string", + "enum": [ + "string", + "number", + "version" + ] + }, + "_types:NestedSortValue": { + "type": "object", + "properties": { + "filter": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + }, + "max_children": { + "type": "number" + }, + "nested": { + "$ref": "#/components/schemas/_types:NestedSortValue" + }, + "path": { + "$ref": "#/components/schemas/_types:Field" + } + }, + "required": [ + "path" + ] + }, + "_global.search._types:SourceConfig": { + "description": "Defines how to fetch a source. Fetching can be disabled entirely, or the source can be filtered.", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "#/components/schemas/_global.search._types:SourceFilter" + } + ] + }, + "_global.search._types:SourceFilter": { + "type": "object", + "properties": { + "excludes": { + "$ref": "#/components/schemas/_types:Fields" + }, + "includes": { + "$ref": "#/components/schemas/_types:Fields" + } + } + }, + "_types.query_dsl:ChildScoreMode": { + "type": "string", + "enum": [ + "none", + "avg", + "sum", + "max", + "min" + ] + }, + "_types:RelationName": { + "type": "string" + }, + "_types.query_dsl:HasParentQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "ignore_unmapped": { + "description": "Indicates whether to ignore an unmapped `parent_type` and not return any documents instead of an error.\nYou can use this parameter to query multiple indices that may not contain the `parent_type`.", + "type": "boolean" + }, + "inner_hits": { + "$ref": "#/components/schemas/_global.search._types:InnerHits" + }, + "parent_type": { + "$ref": "#/components/schemas/_types:RelationName" + }, + "query": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + }, + "score": { + "description": "Indicates whether the relevance score of a matching parent document is aggregated into its child documents.", + "type": "boolean" + } + }, + "required": [ + "parent_type", + "query" + ] + } + ] + }, + "_types.query_dsl:IdsQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "values": { + "$ref": "#/components/schemas/_types:Ids" + } + } + } + ] + }, + "_types:Ids": { + "oneOf": [ + { + "$ref": "#/components/schemas/_types:Id" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/_types:Id" + } + } + ] + }, + "_types.query_dsl:IntervalsQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "all_of": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsAllOf" + }, + "any_of": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsAnyOf" + }, + "fuzzy": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsFuzzy" + }, + "match": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsMatch" + }, + "prefix": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsPrefix" + }, + "wildcard": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsWildcard" + } + }, + "minProperties": 1, + "maxProperties": 1 + } + ] + }, + "_types.query_dsl:IntervalsAllOf": { + "type": "object", + "properties": { + "intervals": { + "description": "An array of rules to combine. All rules must produce a match in a document for the overall source to match.", + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsContainer" + } + }, + "max_gaps": { + "description": "Maximum number of positions between the matching terms.\nIntervals produced by the rules further apart than this are not considered matches.", + "type": "number" + }, + "ordered": { + "description": "If `true`, intervals produced by the rules should appear in the order in which they are specified.", + "type": "boolean" + }, + "filter": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsFilter" + } + }, + "required": [ + "intervals" + ] + }, + "_types.query_dsl:IntervalsContainer": { + "type": "object", + "properties": { + "all_of": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsAllOf" + }, + "any_of": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsAnyOf" + }, + "fuzzy": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsFuzzy" + }, + "match": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsMatch" + }, + "prefix": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsPrefix" + }, + "wildcard": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsWildcard" + } + }, + "minProperties": 1, + "maxProperties": 1 + }, + "_types.query_dsl:IntervalsAnyOf": { + "type": "object", + "properties": { + "intervals": { + "description": "An array of rules to match.", + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsContainer" + } + }, + "filter": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsFilter" + } + }, + "required": [ + "intervals" + ] + }, + "_types.query_dsl:IntervalsFilter": { + "type": "object", + "properties": { + "after": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsContainer" + }, + "before": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsContainer" + }, + "contained_by": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsContainer" + }, + "containing": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsContainer" + }, + "not_contained_by": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsContainer" + }, + "not_containing": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsContainer" + }, + "not_overlapping": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsContainer" + }, + "overlapping": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsContainer" + }, + "script": { + "$ref": "#/components/schemas/_types:Script" + } + }, + "minProperties": 1, + "maxProperties": 1 + }, + "_types.query_dsl:IntervalsFuzzy": { + "type": "object", + "properties": { + "analyzer": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis.html" + }, + "description": "Analyzer used to normalize the term.", + "type": "string" + }, + "fuzziness": { + "$ref": "#/components/schemas/_types:Fuzziness" + }, + "prefix_length": { + "description": "Number of beginning characters left unchanged when creating expansions.", + "type": "number" + }, + "term": { + "description": "The term to match.", + "type": "string" + }, + "transpositions": { + "description": "Indicates whether edits include transpositions of two adjacent characters (for example, `ab` to `ba`).", + "type": "boolean" + }, + "use_field": { + "$ref": "#/components/schemas/_types:Field" + } + }, + "required": [ + "term" + ] + }, + "_types.query_dsl:IntervalsMatch": { + "type": "object", + "properties": { + "analyzer": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis.html" + }, + "description": "Analyzer used to analyze terms in the query.", + "type": "string" + }, + "max_gaps": { + "description": "Maximum number of positions between the matching terms.\nTerms further apart than this are not considered matches.", + "type": "number" + }, + "ordered": { + "description": "If `true`, matching terms must appear in their specified order.", + "type": "boolean" + }, + "query": { + "description": "Text you wish to find in the provided field.", + "type": "string" + }, + "use_field": { + "$ref": "#/components/schemas/_types:Field" + }, + "filter": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsFilter" + } + }, + "required": [ + "query" + ] + }, + "_types.query_dsl:IntervalsPrefix": { + "type": "object", + "properties": { + "analyzer": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis.html" + }, + "description": "Analyzer used to analyze the `prefix`.", + "type": "string" + }, + "prefix": { + "description": "Beginning characters of terms you wish to find in the top-level field.", + "type": "string" + }, + "use_field": { + "$ref": "#/components/schemas/_types:Field" + } + }, + "required": [ + "prefix" + ] + }, + "_types.query_dsl:IntervalsWildcard": { + "type": "object", + "properties": { + "analyzer": { + "description": "Analyzer used to analyze the `pattern`.\nDefaults to the top-level field's analyzer.", + "type": "string" + }, + "pattern": { + "description": "Wildcard pattern used to find matching terms.", + "type": "string" + }, + "use_field": { + "$ref": "#/components/schemas/_types:Field" + } + }, + "required": [ + "pattern" + ] + }, + "_types:KnnQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "query_vector": { + "$ref": "#/components/schemas/_types:QueryVector" + }, + "query_vector_builder": { + "$ref": "#/components/schemas/_types:QueryVectorBuilder" + }, + "num_candidates": { + "description": "The number of nearest neighbor candidates to consider per shard", + "type": "number" + }, + "filter": { + "description": "Filters for the kNN search query", + "oneOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + } + } + ] + }, + "similarity": { + "description": "The minimum similarity for a vector to be considered a match", + "type": "number" + } + }, + "required": [ + "field" + ] + } + ] + }, + "_types:QueryVector": { + "type": "array", + "items": { + "type": "number" + } + }, + "_types:QueryVectorBuilder": { + "type": "object", + "properties": { + "text_embedding": { + "$ref": "#/components/schemas/_types:TextEmbedding" + } + }, + "minProperties": 1, + "maxProperties": 1 + }, + "_types:TextEmbedding": { + "type": "object", + "properties": { + "model_id": { + "type": "string" + }, + "model_text": { + "type": "string" + } + }, + "required": [ + "model_id", + "model_text" + ] + }, + "_types.query_dsl:MatchQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "analyzer": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis.html" + }, + "description": "Analyzer used to convert the text in the query value into tokens.", + "type": "string" + }, + "auto_generate_synonyms_phrase_query": { + "description": "If `true`, match phrase queries are automatically created for multi-term synonyms.", + "type": "boolean" + }, + "cutoff_frequency": { + "deprecated": true, + "type": "number" + }, + "fuzziness": { + "$ref": "#/components/schemas/_types:Fuzziness" + }, + "fuzzy_rewrite": { + "$ref": "#/components/schemas/_types:MultiTermQueryRewrite" + }, + "fuzzy_transpositions": { + "description": "If `true`, edits for fuzzy matching include transpositions of two adjacent characters (for example, `ab` to `ba`).", + "type": "boolean" + }, + "lenient": { + "description": "If `true`, format-based errors, such as providing a text query value for a numeric field, are ignored.", + "type": "boolean" + }, + "max_expansions": { + "description": "Maximum number of terms to which the query will expand.", + "type": "number" + }, + "minimum_should_match": { + "$ref": "#/components/schemas/_types:MinimumShouldMatch" + }, + "operator": { + "$ref": "#/components/schemas/_types.query_dsl:Operator" + }, + "prefix_length": { + "description": "Number of beginning characters left unchanged for fuzzy matching.", + "type": "number" + }, + "query": { + "description": "Text, number, boolean value or date you wish to find in the provided field.", + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "zero_terms_query": { + "$ref": "#/components/schemas/_types.query_dsl:ZeroTermsQuery" + } + }, + "required": [ + "query" + ] + } + ] + }, + "_types.query_dsl:ZeroTermsQuery": { + "type": "string", + "enum": [ + "all", + "none" + ] + }, + "_types.query_dsl:MatchAllQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object" + } + ] + }, + "_types.query_dsl:MatchBoolPrefixQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "analyzer": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis.html" + }, + "description": "Analyzer used to convert the text in the query value into tokens.", + "type": "string" + }, + "fuzziness": { + "$ref": "#/components/schemas/_types:Fuzziness" + }, + "fuzzy_rewrite": { + "$ref": "#/components/schemas/_types:MultiTermQueryRewrite" + }, + "fuzzy_transpositions": { + "description": "If `true`, edits for fuzzy matching include transpositions of two adjacent characters (for example, `ab` to `ba`).\nCan be applied to the term subqueries constructed for all terms but the final term.", + "type": "boolean" + }, + "max_expansions": { + "description": "Maximum number of terms to which the query will expand.\nCan be applied to the term subqueries constructed for all terms but the final term.", + "type": "number" + }, + "minimum_should_match": { + "$ref": "#/components/schemas/_types:MinimumShouldMatch" + }, + "operator": { + "$ref": "#/components/schemas/_types.query_dsl:Operator" + }, + "prefix_length": { + "description": "Number of beginning characters left unchanged for fuzzy matching.\nCan be applied to the term subqueries constructed for all terms but the final term.", + "type": "number" + }, + "query": { + "description": "Terms you wish to find in the provided field.\nThe last term is used in a prefix query.", + "type": "string" + } + }, + "required": [ + "query" + ] + } + ] + }, + "_types.query_dsl:MatchNoneQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object" + } + ] + }, + "_types.query_dsl:MatchPhraseQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "analyzer": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis.html" + }, + "description": "Analyzer used to convert the text in the query value into tokens.", + "type": "string" + }, + "query": { + "description": "Query terms that are analyzed and turned into a phrase query.", + "type": "string" + }, + "slop": { + "description": "Maximum number of positions allowed between matching tokens.", + "type": "number" + }, + "zero_terms_query": { + "$ref": "#/components/schemas/_types.query_dsl:ZeroTermsQuery" + } + }, + "required": [ + "query" + ] + } + ] + }, + "_types.query_dsl:MatchPhrasePrefixQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "analyzer": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis.html" + }, + "description": "Analyzer used to convert text in the query value into tokens.", + "type": "string" + }, + "max_expansions": { + "description": "Maximum number of terms to which the last provided term of the query value will expand.", + "type": "number" + }, + "query": { + "description": "Text you wish to find in the provided field.", + "type": "string" + }, + "slop": { + "description": "Maximum number of positions allowed between matching tokens.", + "type": "number" + }, + "zero_terms_query": { + "$ref": "#/components/schemas/_types.query_dsl:ZeroTermsQuery" + } + }, + "required": [ + "query" + ] + } + ] + }, + "_types.query_dsl:MoreLikeThisQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "analyzer": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis.html" + }, + "description": "The analyzer that is used to analyze the free form text.\nDefaults to the analyzer associated with the first field in fields.", + "type": "string" + }, + "boost_terms": { + "description": "Each term in the formed query could be further boosted by their tf-idf score.\nThis sets the boost factor to use when using this feature.\nDefaults to deactivated (0).", + "type": "number" + }, + "fail_on_unsupported_field": { + "description": "Controls whether the query should fail (throw an exception) if any of the specified fields are not of the supported types (`text` or `keyword`).", + "type": "boolean" + }, + "fields": { + "description": "A list of fields to fetch and analyze the text from.\nDefaults to the `index.query.default_field` index setting, which has a default value of `*`.", + "type": "array", + "items": { + "$ref": "#/components/schemas/_types:Field" + } + }, + "include": { + "description": "Specifies whether the input documents should also be included in the search results returned.", + "type": "boolean" + }, + "like": { + "description": "Specifies free form text and/or a single or multiple documents for which you want to find similar documents.", + "oneOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:Like" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.query_dsl:Like" + } + } + ] + }, + "max_doc_freq": { + "description": "The maximum document frequency above which the terms are ignored from the input document.", + "type": "number" + }, + "max_query_terms": { + "description": "The maximum number of query terms that can be selected.", + "type": "number" + }, + "max_word_length": { + "description": "The maximum word length above which the terms are ignored.\nDefaults to unbounded (`0`).", + "type": "number" + }, + "min_doc_freq": { + "description": "The minimum document frequency below which the terms are ignored from the input document.", + "type": "number" + }, + "minimum_should_match": { + "$ref": "#/components/schemas/_types:MinimumShouldMatch" + }, + "min_term_freq": { + "description": "The minimum term frequency below which the terms are ignored from the input document.", + "type": "number" + }, + "min_word_length": { + "description": "The minimum word length below which the terms are ignored.", + "type": "number" + }, + "routing": { + "$ref": "#/components/schemas/_types:Routing" + }, + "stop_words": { + "$ref": "#/components/schemas/_types.analysis:StopWords" + }, + "unlike": { + "description": "Used in combination with `like` to exclude documents that match a set of terms.", + "oneOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:Like" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.query_dsl:Like" + } + } + ] + }, + "version": { + "$ref": "#/components/schemas/_types:VersionNumber" + }, + "version_type": { + "$ref": "#/components/schemas/_types:VersionType" + } + }, + "required": [ + "like" + ] + } + ] + }, + "_types.query_dsl:Like": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-mlt-query.html#_document_input_parameters" + }, + "description": "Text that we want similar documents for or a lookup to a document's field for the text.", + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/_types.query_dsl:LikeDocument" + } + ] + }, + "_types.query_dsl:LikeDocument": { + "type": "object", + "properties": { + "doc": { + "description": "A document not present in the index.", + "type": "object" + }, + "fields": { + "type": "array", + "items": { + "$ref": "#/components/schemas/_types:Field" + } + }, + "_id": { + "$ref": "#/components/schemas/_types:Id" + }, + "_index": { + "$ref": "#/components/schemas/_types:IndexName" + }, + "per_field_analyzer": { + "description": "Overrides the default analyzer.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "routing": { + "$ref": "#/components/schemas/_types:Routing" + }, + "version": { + "$ref": "#/components/schemas/_types:VersionNumber" + }, + "version_type": { + "$ref": "#/components/schemas/_types:VersionType" + } + } + }, + "_types:Routing": { + "type": "string" + }, + "_types:VersionNumber": { + "type": "number" + }, + "_types:VersionType": { + "type": "string", + "enum": [ + "internal", + "external", + "external_gte", + "force" + ] + }, + "_types.query_dsl:MultiMatchQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "analyzer": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis.html" + }, + "description": "Analyzer used to convert the text in the query value into tokens.", + "type": "string" + }, + "auto_generate_synonyms_phrase_query": { + "description": "If `true`, match phrase queries are automatically created for multi-term synonyms.", + "type": "boolean" + }, + "cutoff_frequency": { + "deprecated": true, + "type": "number" + }, + "fields": { + "$ref": "#/components/schemas/_types:Fields" + }, + "fuzziness": { + "$ref": "#/components/schemas/_types:Fuzziness" + }, + "fuzzy_rewrite": { + "$ref": "#/components/schemas/_types:MultiTermQueryRewrite" + }, + "fuzzy_transpositions": { + "description": "If `true`, edits for fuzzy matching include transpositions of two adjacent characters (for example, `ab` to `ba`).\nCan be applied to the term subqueries constructed for all terms but the final term.", + "type": "boolean" + }, + "lenient": { + "description": "If `true`, format-based errors, such as providing a text query value for a numeric field, are ignored.", + "type": "boolean" + }, + "max_expansions": { + "description": "Maximum number of terms to which the query will expand.", + "type": "number" + }, + "minimum_should_match": { + "$ref": "#/components/schemas/_types:MinimumShouldMatch" + }, + "operator": { + "$ref": "#/components/schemas/_types.query_dsl:Operator" + }, + "prefix_length": { + "description": "Number of beginning characters left unchanged for fuzzy matching.", + "type": "number" + }, + "query": { + "description": "Text, number, boolean value or date you wish to find in the provided field.", + "type": "string" + }, + "slop": { + "description": "Maximum number of positions allowed between matching tokens.", + "type": "number" + }, + "tie_breaker": { + "description": "Determines how scores for each per-term blended query and scores across groups are combined.", + "type": "number" + }, + "type": { + "$ref": "#/components/schemas/_types.query_dsl:TextQueryType" + }, + "zero_terms_query": { + "$ref": "#/components/schemas/_types.query_dsl:ZeroTermsQuery" + } + }, + "required": [ + "query" + ] + } + ] + }, + "_types.query_dsl:TextQueryType": { + "type": "string", + "enum": [ + "best_fields", + "most_fields", + "cross_fields", + "phrase", + "phrase_prefix", + "bool_prefix" + ] + }, + "_types.query_dsl:NestedQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "ignore_unmapped": { + "description": "Indicates whether to ignore an unmapped path and not return any documents instead of an error.", + "type": "boolean" + }, + "inner_hits": { + "$ref": "#/components/schemas/_global.search._types:InnerHits" + }, + "path": { + "$ref": "#/components/schemas/_types:Field" + }, + "query": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + }, + "score_mode": { + "$ref": "#/components/schemas/_types.query_dsl:ChildScoreMode" + } + }, + "required": [ + "path", + "query" + ] + } + ] + }, + "_types.query_dsl:ParentIdQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "id": { + "$ref": "#/components/schemas/_types:Id" + }, + "ignore_unmapped": { + "description": "Indicates whether to ignore an unmapped `type` and not return any documents instead of an error.", + "type": "boolean" + }, + "type": { + "$ref": "#/components/schemas/_types:RelationName" + } + } + } + ] + }, + "_types.query_dsl:PercolateQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "document": { + "description": "The source of the document being percolated.", + "type": "object" + }, + "documents": { + "description": "An array of sources of the documents being percolated.", + "type": "array", + "items": { + "type": "object" + } + }, + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "id": { + "$ref": "#/components/schemas/_types:Id" + }, + "index": { + "$ref": "#/components/schemas/_types:IndexName" + }, + "name": { + "description": "The suffix used for the `_percolator_document_slot` field when multiple `percolate` queries are specified.", + "type": "string" + }, + "preference": { + "description": "Preference used to fetch document to percolate.", + "type": "string" + }, + "routing": { + "$ref": "#/components/schemas/_types:Routing" + }, + "version": { + "$ref": "#/components/schemas/_types:VersionNumber" + } + }, + "required": [ + "field" + ] + } + ] + }, + "_types.query_dsl:PinnedQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "allOf": [ + { + "type": "object", + "properties": { + "organic": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + } + }, + "required": [ + "organic" + ] + }, + { + "type": "object", + "properties": { + "ids": { + "description": "Document IDs listed in the order they are to appear in results.\nRequired if `docs` is not specified.", + "type": "array", + "items": { + "$ref": "#/components/schemas/_types:Id" + } + }, + "docs": { + "description": "Documents listed in the order they are to appear in results.\nRequired if `ids` is not specified.", + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.query_dsl:PinnedDoc" + } + } + }, + "minProperties": 1, + "maxProperties": 1 + } + ] + } + ] + }, + "_types.query_dsl:PinnedDoc": { + "type": "object", + "properties": { + "_id": { + "$ref": "#/components/schemas/_types:Id" + }, + "_index": { + "$ref": "#/components/schemas/_types:IndexName" + } + }, + "required": [ + "_id", + "_index" + ] + }, + "_types.query_dsl:PrefixQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "rewrite": { + "$ref": "#/components/schemas/_types:MultiTermQueryRewrite" + }, + "value": { + "description": "Beginning characters of terms you wish to find in the provided field.", + "type": "string" + }, + "case_insensitive": { + "description": "Allows ASCII case insensitive matching of the value with the indexed field values when set to `true`.\nDefault is `false` which means the case sensitivity of matching depends on the underlying field’s mapping.", + "type": "boolean" + } + }, + "required": [ + "value" + ] + } + ] + }, + "_types.query_dsl:QueryStringQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "allow_leading_wildcard": { + "description": "If `true`, the wildcard characters `*` and `?` are allowed as the first character of the query string.", + "type": "boolean" + }, + "analyzer": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis.html" + }, + "description": "Analyzer used to convert text in the query string into tokens.", + "type": "string" + }, + "analyze_wildcard": { + "description": "If `true`, the query attempts to analyze wildcard terms in the query string.", + "type": "boolean" + }, + "auto_generate_synonyms_phrase_query": { + "description": "If `true`, match phrase queries are automatically created for multi-term synonyms.", + "type": "boolean" + }, + "default_field": { + "$ref": "#/components/schemas/_types:Field" + }, + "default_operator": { + "$ref": "#/components/schemas/_types.query_dsl:Operator" + }, + "enable_position_increments": { + "description": "If `true`, enable position increments in queries constructed from a `query_string` search.", + "type": "boolean" + }, + "escape": { + "type": "boolean" + }, + "fields": { + "description": "Array of fields to search. Supports wildcards (`*`).", + "type": "array", + "items": { + "$ref": "#/components/schemas/_types:Field" + } + }, + "fuzziness": { + "$ref": "#/components/schemas/_types:Fuzziness" + }, + "fuzzy_max_expansions": { + "description": "Maximum number of terms to which the query expands for fuzzy matching.", + "type": "number" + }, + "fuzzy_prefix_length": { + "description": "Number of beginning characters left unchanged for fuzzy matching.", + "type": "number" + }, + "fuzzy_rewrite": { + "$ref": "#/components/schemas/_types:MultiTermQueryRewrite" + }, + "fuzzy_transpositions": { + "description": "If `true`, edits for fuzzy matching include transpositions of two adjacent characters (for example, `ab` to `ba`).", + "type": "boolean" + }, + "lenient": { + "description": "If `true`, format-based errors, such as providing a text value for a numeric field, are ignored.", + "type": "boolean" + }, + "max_determinized_states": { + "description": "Maximum number of automaton states required for the query.", + "type": "number" + }, + "minimum_should_match": { + "$ref": "#/components/schemas/_types:MinimumShouldMatch" + }, + "phrase_slop": { + "description": "Maximum number of positions allowed between matching tokens for phrases.", + "type": "number" + }, + "query": { + "description": "Query string you wish to parse and use for search.", + "type": "string" + }, + "quote_analyzer": { + "description": "Analyzer used to convert quoted text in the query string into tokens.\nFor quoted text, this parameter overrides the analyzer specified in the `analyzer` parameter.", + "type": "string" + }, + "quote_field_suffix": { + "description": "Suffix appended to quoted text in the query string.\nYou can use this suffix to use a different analysis method for exact matches.", + "type": "string" + }, + "rewrite": { + "$ref": "#/components/schemas/_types:MultiTermQueryRewrite" + }, + "tie_breaker": { + "description": "How to combine the queries generated from the individual search terms in the resulting `dis_max` query.", + "type": "number" + }, + "time_zone": { + "$ref": "#/components/schemas/_types:TimeZone" + }, + "type": { + "$ref": "#/components/schemas/_types.query_dsl:TextQueryType" + } + }, + "required": [ + "query" + ] + } + ] + }, + "_types:TimeZone": { + "type": "string" + }, + "_types.query_dsl:RangeQuery": { + "oneOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:DateRangeQuery" + }, + { + "$ref": "#/components/schemas/_types.query_dsl:NumberRangeQuery" + }, + { + "$ref": "#/components/schemas/_types.query_dsl:TermsRangeQuery" + } + ] + }, + "_types.query_dsl:DateRangeQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:RangeQueryBase" + }, + { + "type": "object", + "properties": { + "gt": { + "$ref": "#/components/schemas/_types:DateMath" + }, + "gte": { + "$ref": "#/components/schemas/_types:DateMath" + }, + "lt": { + "$ref": "#/components/schemas/_types:DateMath" + }, + "lte": { + "$ref": "#/components/schemas/_types:DateMath" + }, + "from": { + "oneOf": [ + { + "$ref": "#/components/schemas/_types:DateMath" + }, + { + "nullable": true, + "type": "string" + } + ] + }, + "to": { + "oneOf": [ + { + "$ref": "#/components/schemas/_types:DateMath" + }, + { + "nullable": true, + "type": "string" + } + ] + }, + "format": { + "$ref": "#/components/schemas/_types:DateFormat" + }, + "time_zone": { + "$ref": "#/components/schemas/_types:TimeZone" + } + } + } + ] + }, + "_types.query_dsl:RangeQueryBase": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "relation": { + "$ref": "#/components/schemas/_types.query_dsl:RangeRelation" + } + } + } + ] + }, + "_types.query_dsl:RangeRelation": { + "type": "string", + "enum": [ + "within", + "contains", + "intersects" + ] + }, + "_types:DateFormat": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-date-format.html" + }, + "type": "string" + }, + "_types.query_dsl:NumberRangeQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:RangeQueryBase" + }, + { + "type": "object", + "properties": { + "gt": { + "description": "Greater than.", + "type": "number" + }, + "gte": { + "description": "Greater than or equal to.", + "type": "number" + }, + "lt": { + "description": "Less than.", + "type": "number" + }, + "lte": { + "description": "Less than or equal to.", + "type": "number" + }, + "from": { + "oneOf": [ + { + "type": "number" + }, + { + "nullable": true, + "type": "string" + } + ] + }, + "to": { + "oneOf": [ + { + "type": "number" + }, + { + "nullable": true, + "type": "string" + } + ] + } + } + } + ] + }, + "_types.query_dsl:TermsRangeQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:RangeQueryBase" + }, + { + "type": "object", + "properties": { + "gt": { + "description": "Greater than.", + "type": "string" + }, + "gte": { + "description": "Greater than or equal to.", + "type": "string" + }, + "lt": { + "description": "Less than.", + "type": "string" + }, + "lte": { + "description": "Less than or equal to.", + "type": "string" + }, + "from": { + "oneOf": [ + { + "type": "string" + }, + { + "nullable": true, + "type": "string" + } + ] + }, + "to": { + "oneOf": [ + { + "type": "string" + }, + { + "nullable": true, + "type": "string" + } + ] + } + } + } + ] + }, + "_types.query_dsl:RankFeatureQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "saturation": { + "$ref": "#/components/schemas/_types.query_dsl:RankFeatureFunctionSaturation" + }, + "log": { + "$ref": "#/components/schemas/_types.query_dsl:RankFeatureFunctionLogarithm" + }, + "linear": { + "$ref": "#/components/schemas/_types.query_dsl:RankFeatureFunctionLinear" + }, + "sigmoid": { + "$ref": "#/components/schemas/_types.query_dsl:RankFeatureFunctionSigmoid" + } + }, + "required": [ + "field" + ] + } + ] + }, + "_types.query_dsl:RankFeatureFunctionSaturation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:RankFeatureFunction" + }, + { + "type": "object", + "properties": { + "pivot": { + "description": "Configurable pivot value so that the result will be less than 0.5.", + "type": "number" + } + } + } + ] + }, + "_types.query_dsl:RankFeatureFunction": { + "type": "object" + }, + "_types.query_dsl:RankFeatureFunctionLogarithm": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:RankFeatureFunction" + }, + { + "type": "object", + "properties": { + "scaling_factor": { + "description": "Configurable scaling factor.", + "type": "number" + } + }, + "required": [ + "scaling_factor" + ] + } + ] + }, + "_types.query_dsl:RankFeatureFunctionLinear": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:RankFeatureFunction" + }, + { + "type": "object" + } + ] + }, + "_types.query_dsl:RankFeatureFunctionSigmoid": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:RankFeatureFunction" + }, + { + "type": "object", + "properties": { + "pivot": { + "description": "Configurable pivot value so that the result will be less than 0.5.", + "type": "number" + }, + "exponent": { + "description": "Configurable Exponent.", + "type": "number" + } + }, + "required": [ + "pivot", + "exponent" + ] + } + ] + }, + "_types.query_dsl:RegexpQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "case_insensitive": { + "description": "Allows case insensitive matching of the regular expression value with the indexed field values when set to `true`.\nWhen `false`, case sensitivity of matching depends on the underlying field’s mapping.", + "type": "boolean" + }, + "flags": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/regexp-syntax.html" + }, + "description": "Enables optional operators for the regular expression.", + "type": "string" + }, + "max_determinized_states": { + "description": "Maximum number of automaton states required for the query.", + "type": "number" + }, + "rewrite": { + "$ref": "#/components/schemas/_types:MultiTermQueryRewrite" + }, + "value": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/regexp-syntax.html" + }, + "description": "Regular expression for terms you wish to find in the provided field.", + "type": "string" + } + }, + "required": [ + "value" + ] + } + ] + }, + "_types.query_dsl:RuleQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "organic": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + }, + "ruleset_id": { + "$ref": "#/components/schemas/_types:Id" + }, + "match_criteria": { + "type": "object" + } + }, + "required": [ + "organic", + "ruleset_id", + "match_criteria" + ] + } + ] + }, + "_types.query_dsl:ScriptQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "script": { + "$ref": "#/components/schemas/_types:Script" + } + }, + "required": [ + "script" + ] + } + ] + }, + "_types.query_dsl:ScriptScoreQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "min_score": { + "description": "Documents with a score lower than this floating point number are excluded from the search results.", + "type": "number" + }, + "query": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + }, + "script": { + "$ref": "#/components/schemas/_types:Script" + } + }, + "required": [ + "query", + "script" + ] + } + ] + }, + "_types.query_dsl:ShapeQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "ignore_unmapped": { + "description": "When set to `true` the query ignores an unmapped field and will not match any documents.", + "type": "boolean" + } + } + } + ] + }, + "_types.query_dsl:SimpleQueryStringQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "analyzer": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis.html" + }, + "description": "Analyzer used to convert text in the query string into tokens.", + "type": "string" + }, + "analyze_wildcard": { + "description": "If `true`, the query attempts to analyze wildcard terms in the query string.", + "type": "boolean" + }, + "auto_generate_synonyms_phrase_query": { + "description": "If `true`, the parser creates a match_phrase query for each multi-position token.", + "type": "boolean" + }, + "default_operator": { + "$ref": "#/components/schemas/_types.query_dsl:Operator" + }, + "fields": { + "description": "Array of fields you wish to search.\nAccepts wildcard expressions.\nYou also can boost relevance scores for matches to particular fields using a caret (`^`) notation.\nDefaults to the `index.query.default_field index` setting, which has a default value of `*`.", + "type": "array", + "items": { + "$ref": "#/components/schemas/_types:Field" + } + }, + "flags": { + "$ref": "#/components/schemas/_types.query_dsl:SimpleQueryStringFlags" + }, + "fuzzy_max_expansions": { + "description": "Maximum number of terms to which the query expands for fuzzy matching.", + "type": "number" + }, + "fuzzy_prefix_length": { + "description": "Number of beginning characters left unchanged for fuzzy matching.", + "type": "number" + }, + "fuzzy_transpositions": { + "description": "If `true`, edits for fuzzy matching include transpositions of two adjacent characters (for example, `ab` to `ba`).", + "type": "boolean" + }, + "lenient": { + "description": "If `true`, format-based errors, such as providing a text value for a numeric field, are ignored.", + "type": "boolean" + }, + "minimum_should_match": { + "$ref": "#/components/schemas/_types:MinimumShouldMatch" + }, + "query": { + "description": "Query string in the simple query string syntax you wish to parse and use for search.", + "type": "string" + }, + "quote_field_suffix": { + "description": "Suffix appended to quoted text in the query string.", + "type": "string" + } + }, + "required": [ + "query" + ] + } + ] + }, + "_types.query_dsl:SimpleQueryStringFlags": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-simple-query-string-query.html#supported-flags" + }, + "description": "Query flags can be either a single flag or a combination of flags, e.g. `OR|AND|PREFIX`", + "allOf": [ + { + "$ref": "#/components/schemas/_spec_utils:PipeSeparatedFlagsSimpleQueryStringFlag" + } + ] + }, + "_spec_utils:PipeSeparatedFlagsSimpleQueryStringFlag": { + "description": "A set of flags that can be represented as a single enum value or a set of values that are encoded\nas a pipe-separated string\n\nDepending on the target language, code generators can use this hint to generate language specific\nflags enum constructs and the corresponding (de-)serialization code.", + "oneOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:SimpleQueryStringFlag" + }, + { + "type": "string" + } + ] + }, + "_types.query_dsl:SimpleQueryStringFlag": { + "type": "string", + "enum": [ + "NONE", + "AND", + "NOT", + "OR", + "PREFIX", + "PHRASE", + "PRECEDENCE", + "ESCAPE", + "WHITESPACE", + "FUZZY", + "NEAR", + "SLOP", + "ALL" + ] + }, + "_types.query_dsl:SpanContainingQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "big": { + "$ref": "#/components/schemas/_types.query_dsl:SpanQuery" + }, + "little": { + "$ref": "#/components/schemas/_types.query_dsl:SpanQuery" + } + }, + "required": [ + "big", + "little" + ] + } + ] + }, + "_types.query_dsl:SpanQuery": { + "type": "object", + "properties": { + "span_containing": { + "$ref": "#/components/schemas/_types.query_dsl:SpanContainingQuery" + }, + "field_masking_span": { + "$ref": "#/components/schemas/_types.query_dsl:SpanFieldMaskingQuery" + }, + "span_first": { + "$ref": "#/components/schemas/_types.query_dsl:SpanFirstQuery" + }, + "span_gap": { + "$ref": "#/components/schemas/_types.query_dsl:SpanGapQuery" + }, + "span_multi": { + "$ref": "#/components/schemas/_types.query_dsl:SpanMultiTermQuery" + }, + "span_near": { + "$ref": "#/components/schemas/_types.query_dsl:SpanNearQuery" + }, + "span_not": { + "$ref": "#/components/schemas/_types.query_dsl:SpanNotQuery" + }, + "span_or": { + "$ref": "#/components/schemas/_types.query_dsl:SpanOrQuery" + }, + "span_term": { + "description": "The equivalent of the `term` query but for use with other span queries.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.query_dsl:SpanTermQuery" + }, + "minProperties": 1, + "maxProperties": 1 + }, + "span_within": { + "$ref": "#/components/schemas/_types.query_dsl:SpanWithinQuery" + } + }, + "minProperties": 1, + "maxProperties": 1 + }, + "_types.query_dsl:SpanFieldMaskingQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "query": { + "$ref": "#/components/schemas/_types.query_dsl:SpanQuery" + } + }, + "required": [ + "field", + "query" + ] + } + ] + }, + "_types.query_dsl:SpanFirstQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "end": { + "description": "Controls the maximum end position permitted in a match.", + "type": "number" + }, + "match": { + "$ref": "#/components/schemas/_types.query_dsl:SpanQuery" + } + }, + "required": [ + "end", + "match" + ] + } + ] + }, + "_types.query_dsl:SpanGapQuery": { + "description": "Can only be used as a clause in a span_near query.", + "type": "object", + "additionalProperties": { + "type": "number" + }, + "minProperties": 1, + "maxProperties": 1 + }, + "_types.query_dsl:SpanMultiTermQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "match": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + } + }, + "required": [ + "match" + ] + } + ] + }, + "_types.query_dsl:SpanNearQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "clauses": { + "description": "Array of one or more other span type queries.", + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.query_dsl:SpanQuery" + } + }, + "in_order": { + "description": "Controls whether matches are required to be in-order.", + "type": "boolean" + }, + "slop": { + "description": "Controls the maximum number of intervening unmatched positions permitted.", + "type": "number" + } + }, + "required": [ + "clauses" + ] + } + ] + }, + "_types.query_dsl:SpanNotQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "dist": { + "description": "The number of tokens from within the include span that can’t have overlap with the exclude span.\nEquivalent to setting both `pre` and `post`.", + "type": "number" + }, + "exclude": { + "$ref": "#/components/schemas/_types.query_dsl:SpanQuery" + }, + "include": { + "$ref": "#/components/schemas/_types.query_dsl:SpanQuery" + }, + "post": { + "description": "The number of tokens after the include span that can’t have overlap with the exclude span.", + "type": "number" + }, + "pre": { + "description": "The number of tokens before the include span that can’t have overlap with the exclude span.", + "type": "number" + } + }, + "required": [ + "exclude", + "include" + ] + } + ] + }, + "_types.query_dsl:SpanOrQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "clauses": { + "description": "Array of one or more other span type queries.", + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.query_dsl:SpanQuery" + } + } + }, + "required": [ + "clauses" + ] + } + ] + }, + "_types.query_dsl:SpanTermQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ] + } + ] + }, + "_types.query_dsl:SpanWithinQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "big": { + "$ref": "#/components/schemas/_types.query_dsl:SpanQuery" + }, + "little": { + "$ref": "#/components/schemas/_types.query_dsl:SpanQuery" + } + }, + "required": [ + "big", + "little" + ] + } + ] + }, + "_types.query_dsl:TermQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/_types:FieldValue" + }, + "case_insensitive": { + "description": "Allows ASCII case insensitive matching of the value with the indexed field values when set to `true`.\nWhen `false`, the case sensitivity of matching depends on the underlying field’s mapping.", + "type": "boolean" + } + }, + "required": [ + "value" + ] + } + ] + }, + "_types:FieldValue": { + "description": "A field value.", + "oneOf": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "boolean" + }, + { + "nullable": true, + "type": "string" + }, + { + "type": "object" + } + ] + }, + "_types.query_dsl:TermsQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object" + } + ] + }, + "_types.query_dsl:TermsSetQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "minimum_should_match_field": { + "$ref": "#/components/schemas/_types:Field" + }, + "minimum_should_match_script": { + "$ref": "#/components/schemas/_types:Script" + }, + "terms": { + "description": "Array of terms you wish to find in the provided field.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "terms" + ] + } + ] + }, + "_types.query_dsl:TextExpansionQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "model_id": { + "description": "The text expansion NLP model to use", + "type": "string" + }, + "model_text": { + "description": "The query text", + "type": "string" + }, + "pruning_config": { + "$ref": "#/components/schemas/_types.query_dsl:TokenPruningConfig" + } + }, + "required": [ + "model_id", + "model_text" + ] + } + ] + }, + "_types.query_dsl:TokenPruningConfig": { + "type": "object", + "properties": { + "tokens_freq_ratio_threshold": { + "description": "Tokens whose frequency is more than this threshold times the average frequency of all tokens in the specified field are considered outliers and pruned.", + "type": "number" + }, + "tokens_weight_threshold": { + "description": "Tokens whose weight is less than this threshold are considered nonsignificant and pruned.", + "type": "number" + }, + "only_score_pruned_tokens": { + "description": "Whether to only score pruned tokens, vs only scoring kept tokens.", + "type": "boolean" + } + } + }, + "_types.query_dsl:WeightedTokensQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "tokens": { + "description": "The tokens representing this query", + "type": "object", + "additionalProperties": { + "type": "number" + } + }, + "pruning_config": { + "$ref": "#/components/schemas/_types.query_dsl:TokenPruningConfig" + } + }, + "required": [ + "tokens" + ] + } + ] + }, + "_types.query_dsl:WildcardQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "case_insensitive": { + "description": "Allows case insensitive matching of the pattern with the indexed field values when set to true. Default is false which means the case sensitivity of matching depends on the underlying field’s mapping.", + "type": "boolean" + }, + "rewrite": { + "$ref": "#/components/schemas/_types:MultiTermQueryRewrite" + }, + "value": { + "description": "Wildcard pattern for terms you wish to find in the provided field. Required, when wildcard is not set.", + "type": "string" + }, + "wildcard": { + "description": "Wildcard pattern for terms you wish to find in the provided field. Required, when value is not set.", + "type": "string" + } + } + } + ] + }, + "_types.query_dsl:WrapperQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "query": { + "description": "A base64 encoded query.\nThe binary data format can be any of JSON, YAML, CBOR or SMILE encodings", + "type": "string" + } + }, + "required": [ + "query" + ] + } + ] + }, + "_types.query_dsl:TypeQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ] + } + ] + }, + "_types.mapping:RuntimeFields": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.mapping:RuntimeField" + } + }, + "_types.mapping:RuntimeField": { + "type": "object", + "properties": { + "fetch_fields": { + "description": "For type `lookup`", + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.mapping:RuntimeFieldFetchFields" + } + }, + "format": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-date-format.html" + }, + "description": "A custom format for `date` type runtime fields.", + "type": "string" + }, + "input_field": { + "$ref": "#/components/schemas/_types:Field" + }, + "target_field": { + "$ref": "#/components/schemas/_types:Field" + }, + "target_index": { + "$ref": "#/components/schemas/_types:IndexName" + }, + "script": { + "$ref": "#/components/schemas/_types:Script" + }, + "type": { + "$ref": "#/components/schemas/_types.mapping:RuntimeFieldType" + } + }, + "required": [ + "type" + ] + }, + "_types.mapping:RuntimeFieldFetchFields": { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "format": { + "type": "string" + } + }, + "required": [ + "field" + ] + }, + "_types.mapping:RuntimeFieldType": { + "type": "string", + "enum": [ + "boolean", + "composite", + "date", + "double", + "geo_point", + "ip", + "keyword", + "long", + "lookup" + ] + }, + "_types:HttpHeaders": { + "type": "object", + "additionalProperties": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + } + } + } + } +} \ No newline at end of file diff --git a/x-pack/packages/ml/json_schemas/src/put___ml_datafeeds__datafeed_id__schema.json b/x-pack/packages/ml/json_schemas/src/put___ml_datafeeds__datafeed_id__schema.json new file mode 100644 index 0000000000000..575411eb3a8c2 --- /dev/null +++ b/x-pack/packages/ml/json_schemas/src/put___ml_datafeeds__datafeed_id__schema.json @@ -0,0 +1,8054 @@ +{ + "type": "object", + "properties": { + "aggregations": { + "description": "If set, the datafeed performs aggregation searches.\nSupport for aggregations is limited and should be used only with low cardinality data.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.aggregations:AggregationContainer" + } + }, + "chunking_config": { + "$ref": "#/components/schemas/ml._types:ChunkingConfig" + }, + "delayed_data_check_config": { + "$ref": "#/components/schemas/ml._types:DelayedDataCheckConfig" + }, + "frequency": { + "$ref": "#/components/schemas/_types:Duration" + }, + "indices": { + "$ref": "#/components/schemas/_types:Indices" + }, + "indices_options": { + "$ref": "#/components/schemas/_types:IndicesOptions" + }, + "job_id": { + "$ref": "#/components/schemas/_types:Id" + }, + "max_empty_searches": { + "description": "If a real-time datafeed has never seen any data (including during any initial training period), it automatically\nstops and closes the associated job after this many real-time searches return no documents. In other words,\nit stops after `frequency` times `max_empty_searches` of real-time operation. If not set, a datafeed with no\nend time that sees no data remains started until it is explicitly stopped. By default, it is not set.", + "type": "number" + }, + "query": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + }, + "query_delay": { + "$ref": "#/components/schemas/_types:Duration" + }, + "runtime_mappings": { + "$ref": "#/components/schemas/_types.mapping:RuntimeFields" + }, + "script_fields": { + "description": "Specifies scripts that evaluate custom expressions and returns script fields to the datafeed.\nThe detector configuration objects in a job can contain functions that use these script fields.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types:ScriptField" + } + }, + "scroll_size": { + "description": "The size parameter that is used in Elasticsearch searches when the datafeed does not use aggregations.\nThe maximum value is the value of `index.max_result_window`, which is 10,000 by default.", + "type": "number" + }, + "headers": { + "$ref": "#/components/schemas/_types:HttpHeaders" + }, + "datafeed_id": { + "type": "string" + } + }, + "components": { + "schemas": { + "_types.aggregations:AggregationContainer": { + "allOf": [ + { + "type": "object", + "properties": { + "aggregations": { + "description": "Sub-aggregations for this aggregation.\nOnly applies to bucket aggregations.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.aggregations:AggregationContainer" + } + }, + "meta": { + "$ref": "#/components/schemas/_types:Metadata" + } + } + }, + { + "type": "object", + "properties": { + "adjacency_matrix": { + "$ref": "#/components/schemas/_types.aggregations:AdjacencyMatrixAggregation" + }, + "auto_date_histogram": { + "$ref": "#/components/schemas/_types.aggregations:AutoDateHistogramAggregation" + }, + "avg": { + "$ref": "#/components/schemas/_types.aggregations:AverageAggregation" + }, + "avg_bucket": { + "$ref": "#/components/schemas/_types.aggregations:AverageBucketAggregation" + }, + "boxplot": { + "$ref": "#/components/schemas/_types.aggregations:BoxplotAggregation" + }, + "bucket_script": { + "$ref": "#/components/schemas/_types.aggregations:BucketScriptAggregation" + }, + "bucket_selector": { + "$ref": "#/components/schemas/_types.aggregations:BucketSelectorAggregation" + }, + "bucket_sort": { + "$ref": "#/components/schemas/_types.aggregations:BucketSortAggregation" + }, + "bucket_count_ks_test": { + "$ref": "#/components/schemas/_types.aggregations:BucketKsAggregation" + }, + "bucket_correlation": { + "$ref": "#/components/schemas/_types.aggregations:BucketCorrelationAggregation" + }, + "cardinality": { + "$ref": "#/components/schemas/_types.aggregations:CardinalityAggregation" + }, + "categorize_text": { + "$ref": "#/components/schemas/_types.aggregations:CategorizeTextAggregation" + }, + "children": { + "$ref": "#/components/schemas/_types.aggregations:ChildrenAggregation" + }, + "composite": { + "$ref": "#/components/schemas/_types.aggregations:CompositeAggregation" + }, + "cumulative_cardinality": { + "$ref": "#/components/schemas/_types.aggregations:CumulativeCardinalityAggregation" + }, + "cumulative_sum": { + "$ref": "#/components/schemas/_types.aggregations:CumulativeSumAggregation" + }, + "date_histogram": { + "$ref": "#/components/schemas/_types.aggregations:DateHistogramAggregation" + }, + "date_range": { + "$ref": "#/components/schemas/_types.aggregations:DateRangeAggregation" + }, + "derivative": { + "$ref": "#/components/schemas/_types.aggregations:DerivativeAggregation" + }, + "diversified_sampler": { + "$ref": "#/components/schemas/_types.aggregations:DiversifiedSamplerAggregation" + }, + "extended_stats": { + "$ref": "#/components/schemas/_types.aggregations:ExtendedStatsAggregation" + }, + "extended_stats_bucket": { + "$ref": "#/components/schemas/_types.aggregations:ExtendedStatsBucketAggregation" + }, + "frequent_item_sets": { + "$ref": "#/components/schemas/_types.aggregations:FrequentItemSetsAggregation" + }, + "filter": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + }, + "filters": { + "$ref": "#/components/schemas/_types.aggregations:FiltersAggregation" + }, + "geo_bounds": { + "$ref": "#/components/schemas/_types.aggregations:GeoBoundsAggregation" + }, + "geo_centroid": { + "$ref": "#/components/schemas/_types.aggregations:GeoCentroidAggregation" + }, + "geo_distance": { + "$ref": "#/components/schemas/_types.aggregations:GeoDistanceAggregation" + }, + "geohash_grid": { + "$ref": "#/components/schemas/_types.aggregations:GeoHashGridAggregation" + }, + "geo_line": { + "$ref": "#/components/schemas/_types.aggregations:GeoLineAggregation" + }, + "geotile_grid": { + "$ref": "#/components/schemas/_types.aggregations:GeoTileGridAggregation" + }, + "geohex_grid": { + "$ref": "#/components/schemas/_types.aggregations:GeohexGridAggregation" + }, + "global": { + "$ref": "#/components/schemas/_types.aggregations:GlobalAggregation" + }, + "histogram": { + "$ref": "#/components/schemas/_types.aggregations:HistogramAggregation" + }, + "ip_range": { + "$ref": "#/components/schemas/_types.aggregations:IpRangeAggregation" + }, + "ip_prefix": { + "$ref": "#/components/schemas/_types.aggregations:IpPrefixAggregation" + }, + "inference": { + "$ref": "#/components/schemas/_types.aggregations:InferenceAggregation" + }, + "line": { + "$ref": "#/components/schemas/_types.aggregations:GeoLineAggregation" + }, + "matrix_stats": { + "$ref": "#/components/schemas/_types.aggregations:MatrixStatsAggregation" + }, + "max": { + "$ref": "#/components/schemas/_types.aggregations:MaxAggregation" + }, + "max_bucket": { + "$ref": "#/components/schemas/_types.aggregations:MaxBucketAggregation" + }, + "median_absolute_deviation": { + "$ref": "#/components/schemas/_types.aggregations:MedianAbsoluteDeviationAggregation" + }, + "min": { + "$ref": "#/components/schemas/_types.aggregations:MinAggregation" + }, + "min_bucket": { + "$ref": "#/components/schemas/_types.aggregations:MinBucketAggregation" + }, + "missing": { + "$ref": "#/components/schemas/_types.aggregations:MissingAggregation" + }, + "moving_avg": { + "$ref": "#/components/schemas/_types.aggregations:MovingAverageAggregation" + }, + "moving_percentiles": { + "$ref": "#/components/schemas/_types.aggregations:MovingPercentilesAggregation" + }, + "moving_fn": { + "$ref": "#/components/schemas/_types.aggregations:MovingFunctionAggregation" + }, + "multi_terms": { + "$ref": "#/components/schemas/_types.aggregations:MultiTermsAggregation" + }, + "nested": { + "$ref": "#/components/schemas/_types.aggregations:NestedAggregation" + }, + "normalize": { + "$ref": "#/components/schemas/_types.aggregations:NormalizeAggregation" + }, + "parent": { + "$ref": "#/components/schemas/_types.aggregations:ParentAggregation" + }, + "percentile_ranks": { + "$ref": "#/components/schemas/_types.aggregations:PercentileRanksAggregation" + }, + "percentiles": { + "$ref": "#/components/schemas/_types.aggregations:PercentilesAggregation" + }, + "percentiles_bucket": { + "$ref": "#/components/schemas/_types.aggregations:PercentilesBucketAggregation" + }, + "range": { + "$ref": "#/components/schemas/_types.aggregations:RangeAggregation" + }, + "rare_terms": { + "$ref": "#/components/schemas/_types.aggregations:RareTermsAggregation" + }, + "rate": { + "$ref": "#/components/schemas/_types.aggregations:RateAggregation" + }, + "reverse_nested": { + "$ref": "#/components/schemas/_types.aggregations:ReverseNestedAggregation" + }, + "sampler": { + "$ref": "#/components/schemas/_types.aggregations:SamplerAggregation" + }, + "scripted_metric": { + "$ref": "#/components/schemas/_types.aggregations:ScriptedMetricAggregation" + }, + "serial_diff": { + "$ref": "#/components/schemas/_types.aggregations:SerialDifferencingAggregation" + }, + "significant_terms": { + "$ref": "#/components/schemas/_types.aggregations:SignificantTermsAggregation" + }, + "significant_text": { + "$ref": "#/components/schemas/_types.aggregations:SignificantTextAggregation" + }, + "stats": { + "$ref": "#/components/schemas/_types.aggregations:StatsAggregation" + }, + "stats_bucket": { + "$ref": "#/components/schemas/_types.aggregations:StatsBucketAggregation" + }, + "string_stats": { + "$ref": "#/components/schemas/_types.aggregations:StringStatsAggregation" + }, + "sum": { + "$ref": "#/components/schemas/_types.aggregations:SumAggregation" + }, + "sum_bucket": { + "$ref": "#/components/schemas/_types.aggregations:SumBucketAggregation" + }, + "terms": { + "$ref": "#/components/schemas/_types.aggregations:TermsAggregation" + }, + "top_hits": { + "$ref": "#/components/schemas/_types.aggregations:TopHitsAggregation" + }, + "t_test": { + "$ref": "#/components/schemas/_types.aggregations:TTestAggregation" + }, + "top_metrics": { + "$ref": "#/components/schemas/_types.aggregations:TopMetricsAggregation" + }, + "value_count": { + "$ref": "#/components/schemas/_types.aggregations:ValueCountAggregation" + }, + "weighted_avg": { + "$ref": "#/components/schemas/_types.aggregations:WeightedAverageAggregation" + }, + "variable_width_histogram": { + "$ref": "#/components/schemas/_types.aggregations:VariableWidthHistogramAggregation" + } + }, + "minProperties": 1, + "maxProperties": 1 + } + ] + }, + "_types:Metadata": { + "type": "object", + "additionalProperties": { + "type": "object" + } + }, + "_types.aggregations:AdjacencyMatrixAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object", + "properties": { + "filters": { + "description": "Filters used to create buckets.\nAt least one filter is required.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + } + }, + "separator": { + "description": "Separator used to concatenate filter names. Defaults to &.", + "type": "string" + } + } + } + ] + }, + "_types.aggregations:BucketAggregationBase": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:Aggregation" + }, + { + "type": "object" + } + ] + }, + "_types.aggregations:Aggregation": { + "type": "object" + }, + "_types.query_dsl:QueryContainer": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl.html" + }, + "type": "object", + "properties": { + "bool": { + "$ref": "#/components/schemas/_types.query_dsl:BoolQuery" + }, + "boosting": { + "$ref": "#/components/schemas/_types.query_dsl:BoostingQuery" + }, + "common": { + "deprecated": true, + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.query_dsl:CommonTermsQuery" + }, + "minProperties": 1, + "maxProperties": 1 + }, + "combined_fields": { + "$ref": "#/components/schemas/_types.query_dsl:CombinedFieldsQuery" + }, + "constant_score": { + "$ref": "#/components/schemas/_types.query_dsl:ConstantScoreQuery" + }, + "dis_max": { + "$ref": "#/components/schemas/_types.query_dsl:DisMaxQuery" + }, + "distance_feature": { + "$ref": "#/components/schemas/_types.query_dsl:DistanceFeatureQuery" + }, + "exists": { + "$ref": "#/components/schemas/_types.query_dsl:ExistsQuery" + }, + "function_score": { + "$ref": "#/components/schemas/_types.query_dsl:FunctionScoreQuery" + }, + "fuzzy": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-fuzzy-query.html" + }, + "description": "Returns documents that contain terms similar to the search term, as measured by a Levenshtein edit distance.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.query_dsl:FuzzyQuery" + }, + "minProperties": 1, + "maxProperties": 1 + }, + "geo_bounding_box": { + "$ref": "#/components/schemas/_types.query_dsl:GeoBoundingBoxQuery" + }, + "geo_distance": { + "$ref": "#/components/schemas/_types.query_dsl:GeoDistanceQuery" + }, + "geo_polygon": { + "$ref": "#/components/schemas/_types.query_dsl:GeoPolygonQuery" + }, + "geo_shape": { + "$ref": "#/components/schemas/_types.query_dsl:GeoShapeQuery" + }, + "has_child": { + "$ref": "#/components/schemas/_types.query_dsl:HasChildQuery" + }, + "has_parent": { + "$ref": "#/components/schemas/_types.query_dsl:HasParentQuery" + }, + "ids": { + "$ref": "#/components/schemas/_types.query_dsl:IdsQuery" + }, + "intervals": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-intervals-query.html" + }, + "description": "Returns documents based on the order and proximity of matching terms.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsQuery" + }, + "minProperties": 1, + "maxProperties": 1 + }, + "knn": { + "$ref": "#/components/schemas/_types:KnnQuery" + }, + "match": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-match-query.html" + }, + "description": "Returns documents that match a provided text, number, date or boolean value.\nThe provided text is analyzed before matching.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.query_dsl:MatchQuery" + }, + "minProperties": 1, + "maxProperties": 1 + }, + "match_all": { + "$ref": "#/components/schemas/_types.query_dsl:MatchAllQuery" + }, + "match_bool_prefix": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-match-bool-prefix-query.html" + }, + "description": "Analyzes its input and constructs a `bool` query from the terms.\nEach term except the last is used in a `term` query.\nThe last term is used in a prefix query.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.query_dsl:MatchBoolPrefixQuery" + }, + "minProperties": 1, + "maxProperties": 1 + }, + "match_none": { + "$ref": "#/components/schemas/_types.query_dsl:MatchNoneQuery" + }, + "match_phrase": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-match-query-phrase.html" + }, + "description": "Analyzes the text and creates a phrase query out of the analyzed text.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.query_dsl:MatchPhraseQuery" + }, + "minProperties": 1, + "maxProperties": 1 + }, + "match_phrase_prefix": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-match-query-phrase-prefix.html" + }, + "description": "Returns documents that contain the words of a provided text, in the same order as provided.\nThe last term of the provided text is treated as a prefix, matching any words that begin with that term.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.query_dsl:MatchPhrasePrefixQuery" + }, + "minProperties": 1, + "maxProperties": 1 + }, + "more_like_this": { + "$ref": "#/components/schemas/_types.query_dsl:MoreLikeThisQuery" + }, + "multi_match": { + "$ref": "#/components/schemas/_types.query_dsl:MultiMatchQuery" + }, + "nested": { + "$ref": "#/components/schemas/_types.query_dsl:NestedQuery" + }, + "parent_id": { + "$ref": "#/components/schemas/_types.query_dsl:ParentIdQuery" + }, + "percolate": { + "$ref": "#/components/schemas/_types.query_dsl:PercolateQuery" + }, + "pinned": { + "$ref": "#/components/schemas/_types.query_dsl:PinnedQuery" + }, + "prefix": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-prefix-query.html" + }, + "description": "Returns documents that contain a specific prefix in a provided field.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.query_dsl:PrefixQuery" + }, + "minProperties": 1, + "maxProperties": 1 + }, + "query_string": { + "$ref": "#/components/schemas/_types.query_dsl:QueryStringQuery" + }, + "range": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-range-query.html" + }, + "description": "Returns documents that contain terms within a provided range.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.query_dsl:RangeQuery" + }, + "minProperties": 1, + "maxProperties": 1 + }, + "rank_feature": { + "$ref": "#/components/schemas/_types.query_dsl:RankFeatureQuery" + }, + "regexp": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-regexp-query.html" + }, + "description": "Returns documents that contain terms matching a regular expression.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.query_dsl:RegexpQuery" + }, + "minProperties": 1, + "maxProperties": 1 + }, + "rule_query": { + "$ref": "#/components/schemas/_types.query_dsl:RuleQuery" + }, + "script": { + "$ref": "#/components/schemas/_types.query_dsl:ScriptQuery" + }, + "script_score": { + "$ref": "#/components/schemas/_types.query_dsl:ScriptScoreQuery" + }, + "shape": { + "$ref": "#/components/schemas/_types.query_dsl:ShapeQuery" + }, + "simple_query_string": { + "$ref": "#/components/schemas/_types.query_dsl:SimpleQueryStringQuery" + }, + "span_containing": { + "$ref": "#/components/schemas/_types.query_dsl:SpanContainingQuery" + }, + "field_masking_span": { + "$ref": "#/components/schemas/_types.query_dsl:SpanFieldMaskingQuery" + }, + "span_first": { + "$ref": "#/components/schemas/_types.query_dsl:SpanFirstQuery" + }, + "span_multi": { + "$ref": "#/components/schemas/_types.query_dsl:SpanMultiTermQuery" + }, + "span_near": { + "$ref": "#/components/schemas/_types.query_dsl:SpanNearQuery" + }, + "span_not": { + "$ref": "#/components/schemas/_types.query_dsl:SpanNotQuery" + }, + "span_or": { + "$ref": "#/components/schemas/_types.query_dsl:SpanOrQuery" + }, + "span_term": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-span-term-query.html" + }, + "description": "Matches spans containing a term.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.query_dsl:SpanTermQuery" + }, + "minProperties": 1, + "maxProperties": 1 + }, + "span_within": { + "$ref": "#/components/schemas/_types.query_dsl:SpanWithinQuery" + }, + "term": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-term-query.html" + }, + "description": "Returns documents that contain an exact term in a provided field.\nTo return a document, the query term must exactly match the queried field's value, including whitespace and capitalization.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.query_dsl:TermQuery" + }, + "minProperties": 1, + "maxProperties": 1 + }, + "terms": { + "$ref": "#/components/schemas/_types.query_dsl:TermsQuery" + }, + "terms_set": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-terms-set-query.html" + }, + "description": "Returns documents that contain a minimum number of exact terms in a provided field.\nTo return a document, a required number of terms must exactly match the field values, including whitespace and capitalization.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.query_dsl:TermsSetQuery" + }, + "minProperties": 1, + "maxProperties": 1 + }, + "text_expansion": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-text-expansion-query.html" + }, + "description": "Uses a natural language processing model to convert the query text into a list of token-weight pairs which are then used in a query against a sparse vector or rank features field.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.query_dsl:TextExpansionQuery" + }, + "minProperties": 1, + "maxProperties": 1 + }, + "weighted_tokens": { + "description": "Supports returning text_expansion query results by sending in precomputed tokens with the query.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.query_dsl:WeightedTokensQuery" + }, + "minProperties": 1, + "maxProperties": 1 + }, + "wildcard": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-wildcard-query.html" + }, + "description": "Returns documents that contain terms matching a wildcard pattern.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.query_dsl:WildcardQuery" + }, + "minProperties": 1, + "maxProperties": 1 + }, + "wrapper": { + "$ref": "#/components/schemas/_types.query_dsl:WrapperQuery" + }, + "type": { + "$ref": "#/components/schemas/_types.query_dsl:TypeQuery" + } + }, + "minProperties": 1, + "maxProperties": 1 + }, + "_types.query_dsl:BoolQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "filter": { + "description": "The clause (query) must appear in matching documents.\nHowever, unlike `must`, the score of the query will be ignored.", + "oneOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + } + } + ] + }, + "minimum_should_match": { + "$ref": "#/components/schemas/_types:MinimumShouldMatch" + }, + "must": { + "description": "The clause (query) must appear in matching documents and will contribute to the score.", + "oneOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + } + } + ] + }, + "must_not": { + "description": "The clause (query) must not appear in the matching documents.\nBecause scoring is ignored, a score of `0` is returned for all documents.", + "oneOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + } + } + ] + }, + "should": { + "description": "The clause (query) should appear in the matching document.", + "oneOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + } + } + ] + } + } + } + ] + }, + "_types.query_dsl:QueryBase": { + "type": "object", + "properties": { + "boost": { + "description": "Floating point number used to decrease or increase the relevance scores of the query.\nBoost values are relative to the default value of 1.0.\nA boost value between 0 and 1.0 decreases the relevance score.\nA value greater than 1.0 increases the relevance score.", + "type": "number" + }, + "_name": { + "type": "string" + } + } + }, + "_types:MinimumShouldMatch": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-minimum-should-match.html" + }, + "description": "The minimum number of terms that should match as integer, percentage or range", + "oneOf": [ + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "_types.query_dsl:BoostingQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "negative_boost": { + "description": "Floating point number between 0 and 1.0 used to decrease the relevance scores of documents matching the `negative` query.", + "type": "number" + }, + "negative": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + }, + "positive": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + } + }, + "required": [ + "negative_boost", + "negative", + "positive" + ] + } + ] + }, + "_types.query_dsl:CommonTermsQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "analyzer": { + "type": "string" + }, + "cutoff_frequency": { + "type": "number" + }, + "high_freq_operator": { + "$ref": "#/components/schemas/_types.query_dsl:Operator" + }, + "low_freq_operator": { + "$ref": "#/components/schemas/_types.query_dsl:Operator" + }, + "minimum_should_match": { + "$ref": "#/components/schemas/_types:MinimumShouldMatch" + }, + "query": { + "type": "string" + } + }, + "required": [ + "query" + ] + } + ] + }, + "_types.query_dsl:Operator": { + "type": "string", + "enum": [ + "and", + "AND", + "or", + "OR" + ] + }, + "_types.query_dsl:CombinedFieldsQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "fields": { + "description": "List of fields to search. Field wildcard patterns are allowed. Only `text` fields are supported, and they must all have the same search `analyzer`.", + "type": "array", + "items": { + "$ref": "#/components/schemas/_types:Field" + } + }, + "query": { + "description": "Text to search for in the provided `fields`.\nThe `combined_fields` query analyzes the provided text before performing a search.", + "type": "string" + }, + "auto_generate_synonyms_phrase_query": { + "description": "If true, match phrase queries are automatically created for multi-term synonyms.", + "type": "boolean" + }, + "operator": { + "$ref": "#/components/schemas/_types.query_dsl:CombinedFieldsOperator" + }, + "minimum_should_match": { + "$ref": "#/components/schemas/_types:MinimumShouldMatch" + }, + "zero_terms_query": { + "$ref": "#/components/schemas/_types.query_dsl:CombinedFieldsZeroTerms" + } + }, + "required": [ + "fields", + "query" + ] + } + ] + }, + "_types:Field": { + "description": "Path to field or array of paths. Some API's support wildcards in the path to select multiple fields.", + "type": "string" + }, + "_types.query_dsl:CombinedFieldsOperator": { + "type": "string", + "enum": [ + "or", + "and" + ] + }, + "_types.query_dsl:CombinedFieldsZeroTerms": { + "type": "string", + "enum": [ + "none", + "all" + ] + }, + "_types.query_dsl:ConstantScoreQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "filter": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + } + }, + "required": [ + "filter" + ] + } + ] + }, + "_types.query_dsl:DisMaxQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "queries": { + "description": "One or more query clauses.\nReturned documents must match one or more of these queries.\nIf a document matches multiple queries, Elasticsearch uses the highest relevance score.", + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + } + }, + "tie_breaker": { + "description": "Floating point number between 0 and 1.0 used to increase the relevance scores of documents matching multiple query clauses.", + "type": "number" + } + }, + "required": [ + "queries" + ] + } + ] + }, + "_types.query_dsl:DistanceFeatureQuery": { + "oneOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:GeoDistanceFeatureQuery" + }, + { + "$ref": "#/components/schemas/_types.query_dsl:DateDistanceFeatureQuery" + } + ] + }, + "_types.query_dsl:GeoDistanceFeatureQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:DistanceFeatureQueryBaseGeoLocationDistance" + }, + { + "type": "object" + } + ] + }, + "_types.query_dsl:DistanceFeatureQueryBaseGeoLocationDistance": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "origin": { + "$ref": "#/components/schemas/_types:GeoLocation" + }, + "pivot": { + "$ref": "#/components/schemas/_types:Distance" + }, + "field": { + "$ref": "#/components/schemas/_types:Field" + } + }, + "required": [ + "origin", + "pivot", + "field" + ] + } + ] + }, + "_types:GeoLocation": { + "description": "A latitude/longitude as a 2 dimensional point. It can be represented in various ways:\n- as a `{lat, long}` object\n- as a geo hash value\n- as a `[lon, lat]` array\n- as a string in `\", \"` or WKT point formats", + "oneOf": [ + { + "$ref": "#/components/schemas/_types:LatLonGeoLocation" + }, + { + "$ref": "#/components/schemas/_types:GeoHashLocation" + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "string" + } + ] + }, + "_types:LatLonGeoLocation": { + "type": "object", + "properties": { + "lat": { + "description": "Latitude", + "type": "number" + }, + "lon": { + "description": "Longitude", + "type": "number" + } + }, + "required": [ + "lat", + "lon" + ] + }, + "_types:GeoHashLocation": { + "type": "object", + "properties": { + "geohash": { + "$ref": "#/components/schemas/_types:GeoHash" + } + }, + "required": [ + "geohash" + ] + }, + "_types:GeoHash": { + "type": "string" + }, + "_types:Distance": { + "type": "string" + }, + "_types.query_dsl:DateDistanceFeatureQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:DistanceFeatureQueryBaseDateMathDuration" + }, + { + "type": "object" + } + ] + }, + "_types.query_dsl:DistanceFeatureQueryBaseDateMathDuration": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "origin": { + "$ref": "#/components/schemas/_types:DateMath" + }, + "pivot": { + "$ref": "#/components/schemas/_types:Duration" + }, + "field": { + "$ref": "#/components/schemas/_types:Field" + } + }, + "required": [ + "origin", + "pivot", + "field" + ] + } + ] + }, + "_types:DateMath": { + "type": "string" + }, + "_types:Duration": { + "externalDocs": { + "url": "https://github.com/elastic/elasticsearch/blob/current/libs/core/src/main/java/org/elasticsearch/core/TimeValue.java" + }, + "description": "A duration. Units can be `nanos`, `micros`, `ms` (milliseconds), `s` (seconds), `m` (minutes), `h` (hours) and\n`d` (days). Also accepts \"0\" without a unit and \"-1\" to indicate an unspecified value.", + "oneOf": [ + { + "type": "string" + }, + { + "type": "string", + "enum": [ + "-1" + ] + }, + { + "type": "string", + "enum": [ + "0" + ] + } + ] + }, + "_types.query_dsl:ExistsQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + } + }, + "required": [ + "field" + ] + } + ] + }, + "_types.query_dsl:FunctionScoreQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "boost_mode": { + "$ref": "#/components/schemas/_types.query_dsl:FunctionBoostMode" + }, + "functions": { + "description": "One or more functions that compute a new score for each document returned by the query.", + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.query_dsl:FunctionScoreContainer" + } + }, + "max_boost": { + "description": "Restricts the new score to not exceed the provided limit.", + "type": "number" + }, + "min_score": { + "description": "Excludes documents that do not meet the provided score threshold.", + "type": "number" + }, + "query": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + }, + "score_mode": { + "$ref": "#/components/schemas/_types.query_dsl:FunctionScoreMode" + } + } + } + ] + }, + "_types.query_dsl:FunctionBoostMode": { + "type": "string", + "enum": [ + "multiply", + "replace", + "sum", + "avg", + "max", + "min" + ] + }, + "_types.query_dsl:FunctionScoreContainer": { + "allOf": [ + { + "type": "object", + "properties": { + "filter": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + }, + "weight": { + "type": "number" + } + } + }, + { + "type": "object", + "properties": { + "exp": { + "$ref": "#/components/schemas/_types.query_dsl:DecayFunction" + }, + "gauss": { + "$ref": "#/components/schemas/_types.query_dsl:DecayFunction" + }, + "linear": { + "$ref": "#/components/schemas/_types.query_dsl:DecayFunction" + }, + "field_value_factor": { + "$ref": "#/components/schemas/_types.query_dsl:FieldValueFactorScoreFunction" + }, + "random_score": { + "$ref": "#/components/schemas/_types.query_dsl:RandomScoreFunction" + }, + "script_score": { + "$ref": "#/components/schemas/_types.query_dsl:ScriptScoreFunction" + } + }, + "minProperties": 1, + "maxProperties": 1 + } + ] + }, + "_types.query_dsl:DecayFunction": { + "oneOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:DateDecayFunction" + }, + { + "$ref": "#/components/schemas/_types.query_dsl:NumericDecayFunction" + }, + { + "$ref": "#/components/schemas/_types.query_dsl:GeoDecayFunction" + } + ] + }, + "_types.query_dsl:DateDecayFunction": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:DecayFunctionBase" + }, + { + "type": "object" + } + ] + }, + "_types.query_dsl:DecayFunctionBase": { + "type": "object", + "properties": { + "multi_value_mode": { + "$ref": "#/components/schemas/_types.query_dsl:MultiValueMode" + } + } + }, + "_types.query_dsl:MultiValueMode": { + "type": "string", + "enum": [ + "min", + "max", + "avg", + "sum" + ] + }, + "_types.query_dsl:NumericDecayFunction": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:DecayFunctionBase" + }, + { + "type": "object" + } + ] + }, + "_types.query_dsl:GeoDecayFunction": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:DecayFunctionBase" + }, + { + "type": "object" + } + ] + }, + "_types.query_dsl:FieldValueFactorScoreFunction": { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "factor": { + "description": "Optional factor to multiply the field value with.", + "type": "number" + }, + "missing": { + "description": "Value used if the document doesn’t have that field.\nThe modifier and factor are still applied to it as though it were read from the document.", + "type": "number" + }, + "modifier": { + "$ref": "#/components/schemas/_types.query_dsl:FieldValueFactorModifier" + } + }, + "required": [ + "field" + ] + }, + "_types.query_dsl:FieldValueFactorModifier": { + "type": "string", + "enum": [ + "none", + "log", + "log1p", + "log2p", + "ln", + "ln1p", + "ln2p", + "square", + "sqrt", + "reciprocal" + ] + }, + "_types.query_dsl:RandomScoreFunction": { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "seed": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string" + } + ] + } + } + }, + "_types.query_dsl:ScriptScoreFunction": { + "type": "object", + "properties": { + "script": { + "$ref": "#/components/schemas/_types:Script" + } + }, + "required": [ + "script" + ] + }, + "_types:Script": { + "oneOf": [ + { + "$ref": "#/components/schemas/_types:InlineScript" + }, + { + "$ref": "#/components/schemas/_types:StoredScriptId" + } + ] + }, + "_types:InlineScript": { + "allOf": [ + { + "$ref": "#/components/schemas/_types:ScriptBase" + }, + { + "type": "object", + "properties": { + "lang": { + "$ref": "#/components/schemas/_types:ScriptLanguage" + }, + "options": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "source": { + "description": "The script source.", + "type": "string" + } + }, + "required": [ + "source" + ] + } + ] + }, + "_types:ScriptBase": { + "type": "object", + "properties": { + "params": { + "description": "Specifies any named parameters that are passed into the script as variables.\nUse parameters instead of hard-coded values to decrease compile time.", + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + }, + "_types:ScriptLanguage": { + "anyOf": [ + { + "type": "string", + "enum": [ + "painless", + "expression", + "mustache", + "java" + ] + }, + { + "type": "string" + } + ] + }, + "_types:StoredScriptId": { + "allOf": [ + { + "$ref": "#/components/schemas/_types:ScriptBase" + }, + { + "type": "object", + "properties": { + "id": { + "$ref": "#/components/schemas/_types:Id" + } + }, + "required": [ + "id" + ] + } + ] + }, + "_types:Id": { + "type": "string" + }, + "_types.query_dsl:FunctionScoreMode": { + "type": "string", + "enum": [ + "multiply", + "sum", + "avg", + "first", + "max", + "min" + ] + }, + "_types.query_dsl:FuzzyQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "max_expansions": { + "description": "Maximum number of variations created.", + "type": "number" + }, + "prefix_length": { + "description": "Number of beginning characters left unchanged when creating expansions.", + "type": "number" + }, + "rewrite": { + "$ref": "#/components/schemas/_types:MultiTermQueryRewrite" + }, + "transpositions": { + "description": "Indicates whether edits include transpositions of two adjacent characters (for example `ab` to `ba`).", + "type": "boolean" + }, + "fuzziness": { + "$ref": "#/components/schemas/_types:Fuzziness" + }, + "value": { + "description": "Term you wish to find in the provided field.", + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "value" + ] + } + ] + }, + "_types:MultiTermQueryRewrite": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-multi-term-rewrite.html" + }, + "type": "string" + }, + "_types:Fuzziness": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/common-options.html#fuzziness" + }, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "_types.query_dsl:GeoBoundingBoxQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "type": { + "$ref": "#/components/schemas/_types.query_dsl:GeoExecution" + }, + "validation_method": { + "$ref": "#/components/schemas/_types.query_dsl:GeoValidationMethod" + }, + "ignore_unmapped": { + "description": "Set to `true` to ignore an unmapped field and not match any documents for this query.\nSet to `false` to throw an exception if the field is not mapped.", + "type": "boolean" + } + } + } + ] + }, + "_types.query_dsl:GeoExecution": { + "type": "string", + "enum": [ + "memory", + "indexed" + ] + }, + "_types.query_dsl:GeoValidationMethod": { + "type": "string", + "enum": [ + "coerce", + "ignore_malformed", + "strict" + ] + }, + "_types.query_dsl:GeoDistanceQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "distance": { + "$ref": "#/components/schemas/_types:Distance" + }, + "distance_type": { + "$ref": "#/components/schemas/_types:GeoDistanceType" + }, + "validation_method": { + "$ref": "#/components/schemas/_types.query_dsl:GeoValidationMethod" + }, + "ignore_unmapped": { + "description": "Set to `true` to ignore an unmapped field and not match any documents for this query.\nSet to `false` to throw an exception if the field is not mapped.", + "type": "boolean" + } + }, + "required": [ + "distance" + ] + } + ] + }, + "_types:GeoDistanceType": { + "type": "string", + "enum": [ + "arc", + "plane" + ] + }, + "_types.query_dsl:GeoPolygonQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "validation_method": { + "$ref": "#/components/schemas/_types.query_dsl:GeoValidationMethod" + }, + "ignore_unmapped": { + "type": "boolean" + } + } + } + ] + }, + "_types.query_dsl:GeoShapeQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "ignore_unmapped": { + "description": "Set to `true` to ignore an unmapped field and not match any documents for this query.\nSet to `false` to throw an exception if the field is not mapped.", + "type": "boolean" + } + } + } + ] + }, + "_types.query_dsl:HasChildQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "ignore_unmapped": { + "description": "Indicates whether to ignore an unmapped `type` and not return any documents instead of an error.", + "type": "boolean" + }, + "inner_hits": { + "$ref": "#/components/schemas/_global.search._types:InnerHits" + }, + "max_children": { + "description": "Maximum number of child documents that match the query allowed for a returned parent document.\nIf the parent document exceeds this limit, it is excluded from the search results.", + "type": "number" + }, + "min_children": { + "description": "Minimum number of child documents that match the query required to match the query for a returned parent document.\nIf the parent document does not meet this limit, it is excluded from the search results.", + "type": "number" + }, + "query": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + }, + "score_mode": { + "$ref": "#/components/schemas/_types.query_dsl:ChildScoreMode" + }, + "type": { + "$ref": "#/components/schemas/_types:RelationName" + } + }, + "required": [ + "query", + "type" + ] + } + ] + }, + "_global.search._types:InnerHits": { + "type": "object", + "properties": { + "name": { + "$ref": "#/components/schemas/_types:Name" + }, + "size": { + "description": "The maximum number of hits to return per `inner_hits`.", + "type": "number" + }, + "from": { + "description": "Inner hit starting document offset.", + "type": "number" + }, + "collapse": { + "$ref": "#/components/schemas/_global.search._types:FieldCollapse" + }, + "docvalue_fields": { + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.query_dsl:FieldAndFormat" + } + }, + "explain": { + "type": "boolean" + }, + "highlight": { + "$ref": "#/components/schemas/_global.search._types:Highlight" + }, + "ignore_unmapped": { + "type": "boolean" + }, + "script_fields": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types:ScriptField" + } + }, + "seq_no_primary_term": { + "type": "boolean" + }, + "fields": { + "$ref": "#/components/schemas/_types:Fields" + }, + "sort": { + "$ref": "#/components/schemas/_types:Sort" + }, + "_source": { + "$ref": "#/components/schemas/_global.search._types:SourceConfig" + }, + "stored_fields": { + "$ref": "#/components/schemas/_types:Fields" + }, + "track_scores": { + "type": "boolean" + }, + "version": { + "type": "boolean" + } + } + }, + "_types:Name": { + "type": "string" + }, + "_global.search._types:FieldCollapse": { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "inner_hits": { + "description": "The number of inner hits and their sort order", + "oneOf": [ + { + "$ref": "#/components/schemas/_global.search._types:InnerHits" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/_global.search._types:InnerHits" + } + } + ] + }, + "max_concurrent_group_searches": { + "description": "The number of concurrent requests allowed to retrieve the inner_hits per group", + "type": "number" + }, + "collapse": { + "$ref": "#/components/schemas/_global.search._types:FieldCollapse" + } + }, + "required": [ + "field" + ] + }, + "_types.query_dsl:FieldAndFormat": { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "format": { + "description": "Format in which the values are returned.", + "type": "string" + }, + "include_unmapped": { + "type": "boolean" + } + }, + "required": [ + "field" + ] + }, + "_global.search._types:Highlight": { + "allOf": [ + { + "$ref": "#/components/schemas/_global.search._types:HighlightBase" + }, + { + "type": "object", + "properties": { + "encoder": { + "$ref": "#/components/schemas/_global.search._types:HighlighterEncoder" + }, + "fields": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_global.search._types:HighlightField" + } + } + }, + "required": [ + "fields" + ] + } + ] + }, + "_global.search._types:HighlightBase": { + "type": "object", + "properties": { + "type": { + "$ref": "#/components/schemas/_global.search._types:HighlighterType" + }, + "boundary_chars": { + "description": "A string that contains each boundary character.", + "type": "string" + }, + "boundary_max_scan": { + "description": "How far to scan for boundary characters.", + "type": "number" + }, + "boundary_scanner": { + "$ref": "#/components/schemas/_global.search._types:BoundaryScanner" + }, + "boundary_scanner_locale": { + "description": "Controls which locale is used to search for sentence and word boundaries.\nThis parameter takes a form of a language tag, for example: `\"en-US\"`, `\"fr-FR\"`, `\"ja-JP\"`.", + "type": "string" + }, + "force_source": { + "deprecated": true, + "type": "boolean" + }, + "fragmenter": { + "$ref": "#/components/schemas/_global.search._types:HighlighterFragmenter" + }, + "fragment_size": { + "description": "The size of the highlighted fragment in characters.", + "type": "number" + }, + "highlight_filter": { + "type": "boolean" + }, + "highlight_query": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + }, + "max_fragment_length": { + "type": "number" + }, + "max_analyzed_offset": { + "description": "If set to a non-negative value, highlighting stops at this defined maximum limit.\nThe rest of the text is not processed, thus not highlighted and no error is returned\nThe `max_analyzed_offset` query setting does not override the `index.highlight.max_analyzed_offset` setting, which prevails when it’s set to lower value than the query setting.", + "type": "number" + }, + "no_match_size": { + "description": "The amount of text you want to return from the beginning of the field if there are no matching fragments to highlight.", + "type": "number" + }, + "number_of_fragments": { + "description": "The maximum number of fragments to return.\nIf the number of fragments is set to `0`, no fragments are returned.\nInstead, the entire field contents are highlighted and returned.\nThis can be handy when you need to highlight short texts such as a title or address, but fragmentation is not required.\nIf `number_of_fragments` is `0`, `fragment_size` is ignored.", + "type": "number" + }, + "options": { + "type": "object", + "additionalProperties": { + "type": "object" + } + }, + "order": { + "$ref": "#/components/schemas/_global.search._types:HighlighterOrder" + }, + "phrase_limit": { + "description": "Controls the number of matching phrases in a document that are considered.\nPrevents the `fvh` highlighter from analyzing too many phrases and consuming too much memory.\nWhen using `matched_fields`, `phrase_limit` phrases per matched field are considered. Raising the limit increases query time and consumes more memory.\nOnly supported by the `fvh` highlighter.", + "type": "number" + }, + "post_tags": { + "description": "Use in conjunction with `pre_tags` to define the HTML tags to use for the highlighted text.\nBy default, highlighted text is wrapped in `` and `` tags.", + "type": "array", + "items": { + "type": "string" + } + }, + "pre_tags": { + "description": "Use in conjunction with `post_tags` to define the HTML tags to use for the highlighted text.\nBy default, highlighted text is wrapped in `` and `` tags.", + "type": "array", + "items": { + "type": "string" + } + }, + "require_field_match": { + "description": "By default, only fields that contains a query match are highlighted.\nSet to `false` to highlight all fields.", + "type": "boolean" + }, + "tags_schema": { + "$ref": "#/components/schemas/_global.search._types:HighlighterTagsSchema" + } + } + }, + "_global.search._types:HighlighterType": { + "anyOf": [ + { + "type": "string", + "enum": [ + "plain", + "fvh", + "unified" + ] + }, + { + "type": "string" + } + ] + }, + "_global.search._types:BoundaryScanner": { + "type": "string", + "enum": [ + "chars", + "sentence", + "word" + ] + }, + "_global.search._types:HighlighterFragmenter": { + "type": "string", + "enum": [ + "simple", + "span" + ] + }, + "_global.search._types:HighlighterOrder": { + "type": "string", + "enum": [ + "score" + ] + }, + "_global.search._types:HighlighterTagsSchema": { + "type": "string", + "enum": [ + "styled" + ] + }, + "_global.search._types:HighlighterEncoder": { + "type": "string", + "enum": [ + "default", + "html" + ] + }, + "_global.search._types:HighlightField": { + "allOf": [ + { + "$ref": "#/components/schemas/_global.search._types:HighlightBase" + }, + { + "type": "object", + "properties": { + "fragment_offset": { + "type": "number" + }, + "matched_fields": { + "$ref": "#/components/schemas/_types:Fields" + }, + "analyzer": { + "$ref": "#/components/schemas/_types.analysis:Analyzer" + } + } + } + ] + }, + "_types:Fields": { + "oneOf": [ + { + "$ref": "#/components/schemas/_types:Field" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/_types:Field" + } + } + ] + }, + "_types.analysis:Analyzer": { + "discriminator": { + "propertyName": "type" + }, + "oneOf": [ + { + "$ref": "#/components/schemas/_types.analysis:CustomAnalyzer" + }, + { + "$ref": "#/components/schemas/_types.analysis:FingerprintAnalyzer" + }, + { + "$ref": "#/components/schemas/_types.analysis:KeywordAnalyzer" + }, + { + "$ref": "#/components/schemas/_types.analysis:LanguageAnalyzer" + }, + { + "$ref": "#/components/schemas/_types.analysis:NoriAnalyzer" + }, + { + "$ref": "#/components/schemas/_types.analysis:PatternAnalyzer" + }, + { + "$ref": "#/components/schemas/_types.analysis:SimpleAnalyzer" + }, + { + "$ref": "#/components/schemas/_types.analysis:StandardAnalyzer" + }, + { + "$ref": "#/components/schemas/_types.analysis:StopAnalyzer" + }, + { + "$ref": "#/components/schemas/_types.analysis:WhitespaceAnalyzer" + }, + { + "$ref": "#/components/schemas/_types.analysis:IcuAnalyzer" + }, + { + "$ref": "#/components/schemas/_types.analysis:KuromojiAnalyzer" + }, + { + "$ref": "#/components/schemas/_types.analysis:SnowballAnalyzer" + }, + { + "$ref": "#/components/schemas/_types.analysis:DutchAnalyzer" + } + ] + }, + "_types.analysis:CustomAnalyzer": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "custom" + ] + }, + "char_filter": { + "type": "array", + "items": { + "type": "string" + } + }, + "filter": { + "type": "array", + "items": { + "type": "string" + } + }, + "position_increment_gap": { + "type": "number" + }, + "position_offset_gap": { + "type": "number" + }, + "tokenizer": { + "type": "string" + } + }, + "required": [ + "type", + "tokenizer" + ] + }, + "_types.analysis:FingerprintAnalyzer": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "fingerprint" + ] + }, + "version": { + "$ref": "#/components/schemas/_types:VersionString" + }, + "max_output_size": { + "type": "number" + }, + "preserve_original": { + "type": "boolean" + }, + "separator": { + "type": "string" + }, + "stopwords": { + "$ref": "#/components/schemas/_types.analysis:StopWords" + }, + "stopwords_path": { + "type": "string" + } + }, + "required": [ + "type", + "max_output_size", + "preserve_original", + "separator" + ] + }, + "_types:VersionString": { + "type": "string" + }, + "_types.analysis:StopWords": { + "description": "Language value, such as _arabic_ or _thai_. Defaults to _english_.\nEach language value corresponds to a predefined list of stop words in Lucene. See Stop words by language for supported language values and their stop words.\nAlso accepts an array of stop words.", + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "_types.analysis:KeywordAnalyzer": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "keyword" + ] + }, + "version": { + "$ref": "#/components/schemas/_types:VersionString" + } + }, + "required": [ + "type" + ] + }, + "_types.analysis:LanguageAnalyzer": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "language" + ] + }, + "version": { + "$ref": "#/components/schemas/_types:VersionString" + }, + "language": { + "$ref": "#/components/schemas/_types.analysis:Language" + }, + "stem_exclusion": { + "type": "array", + "items": { + "type": "string" + } + }, + "stopwords": { + "$ref": "#/components/schemas/_types.analysis:StopWords" + }, + "stopwords_path": { + "type": "string" + } + }, + "required": [ + "type", + "language", + "stem_exclusion" + ] + }, + "_types.analysis:Language": { + "type": "string", + "enum": [ + "Arabic", + "Armenian", + "Basque", + "Brazilian", + "Bulgarian", + "Catalan", + "Chinese", + "Cjk", + "Czech", + "Danish", + "Dutch", + "English", + "Estonian", + "Finnish", + "French", + "Galician", + "German", + "Greek", + "Hindi", + "Hungarian", + "Indonesian", + "Irish", + "Italian", + "Latvian", + "Norwegian", + "Persian", + "Portuguese", + "Romanian", + "Russian", + "Sorani", + "Spanish", + "Swedish", + "Turkish", + "Thai" + ] + }, + "_types.analysis:NoriAnalyzer": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "nori" + ] + }, + "version": { + "$ref": "#/components/schemas/_types:VersionString" + }, + "decompound_mode": { + "$ref": "#/components/schemas/_types.analysis:NoriDecompoundMode" + }, + "stoptags": { + "type": "array", + "items": { + "type": "string" + } + }, + "user_dictionary": { + "type": "string" + } + }, + "required": [ + "type" + ] + }, + "_types.analysis:NoriDecompoundMode": { + "type": "string", + "enum": [ + "discard", + "none", + "mixed" + ] + }, + "_types.analysis:PatternAnalyzer": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "pattern" + ] + }, + "version": { + "$ref": "#/components/schemas/_types:VersionString" + }, + "flags": { + "type": "string" + }, + "lowercase": { + "type": "boolean" + }, + "pattern": { + "type": "string" + }, + "stopwords": { + "$ref": "#/components/schemas/_types.analysis:StopWords" + } + }, + "required": [ + "type", + "pattern" + ] + }, + "_types.analysis:SimpleAnalyzer": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "simple" + ] + }, + "version": { + "$ref": "#/components/schemas/_types:VersionString" + } + }, + "required": [ + "type" + ] + }, + "_types.analysis:StandardAnalyzer": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "standard" + ] + }, + "max_token_length": { + "type": "number" + }, + "stopwords": { + "$ref": "#/components/schemas/_types.analysis:StopWords" + } + }, + "required": [ + "type" + ] + }, + "_types.analysis:StopAnalyzer": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "stop" + ] + }, + "version": { + "$ref": "#/components/schemas/_types:VersionString" + }, + "stopwords": { + "$ref": "#/components/schemas/_types.analysis:StopWords" + }, + "stopwords_path": { + "type": "string" + } + }, + "required": [ + "type" + ] + }, + "_types.analysis:WhitespaceAnalyzer": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "whitespace" + ] + }, + "version": { + "$ref": "#/components/schemas/_types:VersionString" + } + }, + "required": [ + "type" + ] + }, + "_types.analysis:IcuAnalyzer": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "icu_analyzer" + ] + }, + "method": { + "$ref": "#/components/schemas/_types.analysis:IcuNormalizationType" + }, + "mode": { + "$ref": "#/components/schemas/_types.analysis:IcuNormalizationMode" + } + }, + "required": [ + "type", + "method", + "mode" + ] + }, + "_types.analysis:IcuNormalizationType": { + "type": "string", + "enum": [ + "nfc", + "nfkc", + "nfkc_cf" + ] + }, + "_types.analysis:IcuNormalizationMode": { + "type": "string", + "enum": [ + "decompose", + "compose" + ] + }, + "_types.analysis:KuromojiAnalyzer": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "kuromoji" + ] + }, + "mode": { + "$ref": "#/components/schemas/_types.analysis:KuromojiTokenizationMode" + }, + "user_dictionary": { + "type": "string" + } + }, + "required": [ + "type", + "mode" + ] + }, + "_types.analysis:KuromojiTokenizationMode": { + "type": "string", + "enum": [ + "normal", + "search", + "extended" + ] + }, + "_types.analysis:SnowballAnalyzer": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "snowball" + ] + }, + "version": { + "$ref": "#/components/schemas/_types:VersionString" + }, + "language": { + "$ref": "#/components/schemas/_types.analysis:SnowballLanguage" + }, + "stopwords": { + "$ref": "#/components/schemas/_types.analysis:StopWords" + } + }, + "required": [ + "type", + "language" + ] + }, + "_types.analysis:SnowballLanguage": { + "type": "string", + "enum": [ + "Armenian", + "Basque", + "Catalan", + "Danish", + "Dutch", + "English", + "Finnish", + "French", + "German", + "German2", + "Hungarian", + "Italian", + "Kp", + "Lovins", + "Norwegian", + "Porter", + "Portuguese", + "Romanian", + "Russian", + "Spanish", + "Swedish", + "Turkish" + ] + }, + "_types.analysis:DutchAnalyzer": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "dutch" + ] + }, + "stopwords": { + "$ref": "#/components/schemas/_types.analysis:StopWords" + } + }, + "required": [ + "type" + ] + }, + "_types:ScriptField": { + "type": "object", + "properties": { + "script": { + "$ref": "#/components/schemas/_types:Script" + }, + "ignore_failure": { + "type": "boolean" + } + }, + "required": [ + "script" + ] + }, + "_types:Sort": { + "oneOf": [ + { + "$ref": "#/components/schemas/_types:SortCombinations" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/_types:SortCombinations" + } + } + ] + }, + "_types:SortCombinations": { + "oneOf": [ + { + "$ref": "#/components/schemas/_types:Field" + }, + { + "$ref": "#/components/schemas/_types:SortOptions" + } + ] + }, + "_types:SortOptions": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/sort-search-results.html" + }, + "type": "object", + "properties": { + "_score": { + "$ref": "#/components/schemas/_types:ScoreSort" + }, + "_doc": { + "$ref": "#/components/schemas/_types:ScoreSort" + }, + "_geo_distance": { + "$ref": "#/components/schemas/_types:GeoDistanceSort" + }, + "_script": { + "$ref": "#/components/schemas/_types:ScriptSort" + } + }, + "minProperties": 1, + "maxProperties": 1 + }, + "_types:ScoreSort": { + "type": "object", + "properties": { + "order": { + "$ref": "#/components/schemas/_types:SortOrder" + } + } + }, + "_types:SortOrder": { + "type": "string", + "enum": [ + "asc", + "desc" + ] + }, + "_types:GeoDistanceSort": { + "type": "object", + "properties": { + "mode": { + "$ref": "#/components/schemas/_types:SortMode" + }, + "distance_type": { + "$ref": "#/components/schemas/_types:GeoDistanceType" + }, + "ignore_unmapped": { + "type": "boolean" + }, + "order": { + "$ref": "#/components/schemas/_types:SortOrder" + }, + "unit": { + "$ref": "#/components/schemas/_types:DistanceUnit" + } + } + }, + "_types:SortMode": { + "type": "string", + "enum": [ + "min", + "max", + "sum", + "avg", + "median" + ] + }, + "_types:DistanceUnit": { + "type": "string", + "enum": [ + "in", + "ft", + "yd", + "mi", + "nmi", + "km", + "m", + "cm", + "mm" + ] + }, + "_types:ScriptSort": { + "type": "object", + "properties": { + "order": { + "$ref": "#/components/schemas/_types:SortOrder" + }, + "script": { + "$ref": "#/components/schemas/_types:Script" + }, + "type": { + "$ref": "#/components/schemas/_types:ScriptSortType" + }, + "mode": { + "$ref": "#/components/schemas/_types:SortMode" + }, + "nested": { + "$ref": "#/components/schemas/_types:NestedSortValue" + } + }, + "required": [ + "script" + ] + }, + "_types:ScriptSortType": { + "type": "string", + "enum": [ + "string", + "number", + "version" + ] + }, + "_types:NestedSortValue": { + "type": "object", + "properties": { + "filter": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + }, + "max_children": { + "type": "number" + }, + "nested": { + "$ref": "#/components/schemas/_types:NestedSortValue" + }, + "path": { + "$ref": "#/components/schemas/_types:Field" + } + }, + "required": [ + "path" + ] + }, + "_global.search._types:SourceConfig": { + "description": "Defines how to fetch a source. Fetching can be disabled entirely, or the source can be filtered.", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "#/components/schemas/_global.search._types:SourceFilter" + } + ] + }, + "_global.search._types:SourceFilter": { + "type": "object", + "properties": { + "excludes": { + "$ref": "#/components/schemas/_types:Fields" + }, + "includes": { + "$ref": "#/components/schemas/_types:Fields" + } + } + }, + "_types.query_dsl:ChildScoreMode": { + "type": "string", + "enum": [ + "none", + "avg", + "sum", + "max", + "min" + ] + }, + "_types:RelationName": { + "type": "string" + }, + "_types.query_dsl:HasParentQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "ignore_unmapped": { + "description": "Indicates whether to ignore an unmapped `parent_type` and not return any documents instead of an error.\nYou can use this parameter to query multiple indices that may not contain the `parent_type`.", + "type": "boolean" + }, + "inner_hits": { + "$ref": "#/components/schemas/_global.search._types:InnerHits" + }, + "parent_type": { + "$ref": "#/components/schemas/_types:RelationName" + }, + "query": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + }, + "score": { + "description": "Indicates whether the relevance score of a matching parent document is aggregated into its child documents.", + "type": "boolean" + } + }, + "required": [ + "parent_type", + "query" + ] + } + ] + }, + "_types.query_dsl:IdsQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "values": { + "$ref": "#/components/schemas/_types:Ids" + } + } + } + ] + }, + "_types:Ids": { + "oneOf": [ + { + "$ref": "#/components/schemas/_types:Id" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/_types:Id" + } + } + ] + }, + "_types.query_dsl:IntervalsQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "all_of": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsAllOf" + }, + "any_of": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsAnyOf" + }, + "fuzzy": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsFuzzy" + }, + "match": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsMatch" + }, + "prefix": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsPrefix" + }, + "wildcard": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsWildcard" + } + }, + "minProperties": 1, + "maxProperties": 1 + } + ] + }, + "_types.query_dsl:IntervalsAllOf": { + "type": "object", + "properties": { + "intervals": { + "description": "An array of rules to combine. All rules must produce a match in a document for the overall source to match.", + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsContainer" + } + }, + "max_gaps": { + "description": "Maximum number of positions between the matching terms.\nIntervals produced by the rules further apart than this are not considered matches.", + "type": "number" + }, + "ordered": { + "description": "If `true`, intervals produced by the rules should appear in the order in which they are specified.", + "type": "boolean" + }, + "filter": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsFilter" + } + }, + "required": [ + "intervals" + ] + }, + "_types.query_dsl:IntervalsContainer": { + "type": "object", + "properties": { + "all_of": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsAllOf" + }, + "any_of": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsAnyOf" + }, + "fuzzy": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsFuzzy" + }, + "match": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsMatch" + }, + "prefix": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsPrefix" + }, + "wildcard": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsWildcard" + } + }, + "minProperties": 1, + "maxProperties": 1 + }, + "_types.query_dsl:IntervalsAnyOf": { + "type": "object", + "properties": { + "intervals": { + "description": "An array of rules to match.", + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsContainer" + } + }, + "filter": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsFilter" + } + }, + "required": [ + "intervals" + ] + }, + "_types.query_dsl:IntervalsFilter": { + "type": "object", + "properties": { + "after": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsContainer" + }, + "before": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsContainer" + }, + "contained_by": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsContainer" + }, + "containing": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsContainer" + }, + "not_contained_by": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsContainer" + }, + "not_containing": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsContainer" + }, + "not_overlapping": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsContainer" + }, + "overlapping": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsContainer" + }, + "script": { + "$ref": "#/components/schemas/_types:Script" + } + }, + "minProperties": 1, + "maxProperties": 1 + }, + "_types.query_dsl:IntervalsFuzzy": { + "type": "object", + "properties": { + "analyzer": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis.html" + }, + "description": "Analyzer used to normalize the term.", + "type": "string" + }, + "fuzziness": { + "$ref": "#/components/schemas/_types:Fuzziness" + }, + "prefix_length": { + "description": "Number of beginning characters left unchanged when creating expansions.", + "type": "number" + }, + "term": { + "description": "The term to match.", + "type": "string" + }, + "transpositions": { + "description": "Indicates whether edits include transpositions of two adjacent characters (for example, `ab` to `ba`).", + "type": "boolean" + }, + "use_field": { + "$ref": "#/components/schemas/_types:Field" + } + }, + "required": [ + "term" + ] + }, + "_types.query_dsl:IntervalsMatch": { + "type": "object", + "properties": { + "analyzer": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis.html" + }, + "description": "Analyzer used to analyze terms in the query.", + "type": "string" + }, + "max_gaps": { + "description": "Maximum number of positions between the matching terms.\nTerms further apart than this are not considered matches.", + "type": "number" + }, + "ordered": { + "description": "If `true`, matching terms must appear in their specified order.", + "type": "boolean" + }, + "query": { + "description": "Text you wish to find in the provided field.", + "type": "string" + }, + "use_field": { + "$ref": "#/components/schemas/_types:Field" + }, + "filter": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsFilter" + } + }, + "required": [ + "query" + ] + }, + "_types.query_dsl:IntervalsPrefix": { + "type": "object", + "properties": { + "analyzer": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis.html" + }, + "description": "Analyzer used to analyze the `prefix`.", + "type": "string" + }, + "prefix": { + "description": "Beginning characters of terms you wish to find in the top-level field.", + "type": "string" + }, + "use_field": { + "$ref": "#/components/schemas/_types:Field" + } + }, + "required": [ + "prefix" + ] + }, + "_types.query_dsl:IntervalsWildcard": { + "type": "object", + "properties": { + "analyzer": { + "description": "Analyzer used to analyze the `pattern`.\nDefaults to the top-level field's analyzer.", + "type": "string" + }, + "pattern": { + "description": "Wildcard pattern used to find matching terms.", + "type": "string" + }, + "use_field": { + "$ref": "#/components/schemas/_types:Field" + } + }, + "required": [ + "pattern" + ] + }, + "_types:KnnQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "query_vector": { + "$ref": "#/components/schemas/_types:QueryVector" + }, + "query_vector_builder": { + "$ref": "#/components/schemas/_types:QueryVectorBuilder" + }, + "num_candidates": { + "description": "The number of nearest neighbor candidates to consider per shard", + "type": "number" + }, + "filter": { + "description": "Filters for the kNN search query", + "oneOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + } + } + ] + }, + "similarity": { + "description": "The minimum similarity for a vector to be considered a match", + "type": "number" + } + }, + "required": [ + "field" + ] + } + ] + }, + "_types:QueryVector": { + "type": "array", + "items": { + "type": "number" + } + }, + "_types:QueryVectorBuilder": { + "type": "object", + "properties": { + "text_embedding": { + "$ref": "#/components/schemas/_types:TextEmbedding" + } + }, + "minProperties": 1, + "maxProperties": 1 + }, + "_types:TextEmbedding": { + "type": "object", + "properties": { + "model_id": { + "type": "string" + }, + "model_text": { + "type": "string" + } + }, + "required": [ + "model_id", + "model_text" + ] + }, + "_types.query_dsl:MatchQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "analyzer": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis.html" + }, + "description": "Analyzer used to convert the text in the query value into tokens.", + "type": "string" + }, + "auto_generate_synonyms_phrase_query": { + "description": "If `true`, match phrase queries are automatically created for multi-term synonyms.", + "type": "boolean" + }, + "cutoff_frequency": { + "deprecated": true, + "type": "number" + }, + "fuzziness": { + "$ref": "#/components/schemas/_types:Fuzziness" + }, + "fuzzy_rewrite": { + "$ref": "#/components/schemas/_types:MultiTermQueryRewrite" + }, + "fuzzy_transpositions": { + "description": "If `true`, edits for fuzzy matching include transpositions of two adjacent characters (for example, `ab` to `ba`).", + "type": "boolean" + }, + "lenient": { + "description": "If `true`, format-based errors, such as providing a text query value for a numeric field, are ignored.", + "type": "boolean" + }, + "max_expansions": { + "description": "Maximum number of terms to which the query will expand.", + "type": "number" + }, + "minimum_should_match": { + "$ref": "#/components/schemas/_types:MinimumShouldMatch" + }, + "operator": { + "$ref": "#/components/schemas/_types.query_dsl:Operator" + }, + "prefix_length": { + "description": "Number of beginning characters left unchanged for fuzzy matching.", + "type": "number" + }, + "query": { + "description": "Text, number, boolean value or date you wish to find in the provided field.", + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "zero_terms_query": { + "$ref": "#/components/schemas/_types.query_dsl:ZeroTermsQuery" + } + }, + "required": [ + "query" + ] + } + ] + }, + "_types.query_dsl:ZeroTermsQuery": { + "type": "string", + "enum": [ + "all", + "none" + ] + }, + "_types.query_dsl:MatchAllQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object" + } + ] + }, + "_types.query_dsl:MatchBoolPrefixQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "analyzer": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis.html" + }, + "description": "Analyzer used to convert the text in the query value into tokens.", + "type": "string" + }, + "fuzziness": { + "$ref": "#/components/schemas/_types:Fuzziness" + }, + "fuzzy_rewrite": { + "$ref": "#/components/schemas/_types:MultiTermQueryRewrite" + }, + "fuzzy_transpositions": { + "description": "If `true`, edits for fuzzy matching include transpositions of two adjacent characters (for example, `ab` to `ba`).\nCan be applied to the term subqueries constructed for all terms but the final term.", + "type": "boolean" + }, + "max_expansions": { + "description": "Maximum number of terms to which the query will expand.\nCan be applied to the term subqueries constructed for all terms but the final term.", + "type": "number" + }, + "minimum_should_match": { + "$ref": "#/components/schemas/_types:MinimumShouldMatch" + }, + "operator": { + "$ref": "#/components/schemas/_types.query_dsl:Operator" + }, + "prefix_length": { + "description": "Number of beginning characters left unchanged for fuzzy matching.\nCan be applied to the term subqueries constructed for all terms but the final term.", + "type": "number" + }, + "query": { + "description": "Terms you wish to find in the provided field.\nThe last term is used in a prefix query.", + "type": "string" + } + }, + "required": [ + "query" + ] + } + ] + }, + "_types.query_dsl:MatchNoneQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object" + } + ] + }, + "_types.query_dsl:MatchPhraseQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "analyzer": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis.html" + }, + "description": "Analyzer used to convert the text in the query value into tokens.", + "type": "string" + }, + "query": { + "description": "Query terms that are analyzed and turned into a phrase query.", + "type": "string" + }, + "slop": { + "description": "Maximum number of positions allowed between matching tokens.", + "type": "number" + }, + "zero_terms_query": { + "$ref": "#/components/schemas/_types.query_dsl:ZeroTermsQuery" + } + }, + "required": [ + "query" + ] + } + ] + }, + "_types.query_dsl:MatchPhrasePrefixQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "analyzer": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis.html" + }, + "description": "Analyzer used to convert text in the query value into tokens.", + "type": "string" + }, + "max_expansions": { + "description": "Maximum number of terms to which the last provided term of the query value will expand.", + "type": "number" + }, + "query": { + "description": "Text you wish to find in the provided field.", + "type": "string" + }, + "slop": { + "description": "Maximum number of positions allowed between matching tokens.", + "type": "number" + }, + "zero_terms_query": { + "$ref": "#/components/schemas/_types.query_dsl:ZeroTermsQuery" + } + }, + "required": [ + "query" + ] + } + ] + }, + "_types.query_dsl:MoreLikeThisQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "analyzer": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis.html" + }, + "description": "The analyzer that is used to analyze the free form text.\nDefaults to the analyzer associated with the first field in fields.", + "type": "string" + }, + "boost_terms": { + "description": "Each term in the formed query could be further boosted by their tf-idf score.\nThis sets the boost factor to use when using this feature.\nDefaults to deactivated (0).", + "type": "number" + }, + "fail_on_unsupported_field": { + "description": "Controls whether the query should fail (throw an exception) if any of the specified fields are not of the supported types (`text` or `keyword`).", + "type": "boolean" + }, + "fields": { + "description": "A list of fields to fetch and analyze the text from.\nDefaults to the `index.query.default_field` index setting, which has a default value of `*`.", + "type": "array", + "items": { + "$ref": "#/components/schemas/_types:Field" + } + }, + "include": { + "description": "Specifies whether the input documents should also be included in the search results returned.", + "type": "boolean" + }, + "like": { + "description": "Specifies free form text and/or a single or multiple documents for which you want to find similar documents.", + "oneOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:Like" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.query_dsl:Like" + } + } + ] + }, + "max_doc_freq": { + "description": "The maximum document frequency above which the terms are ignored from the input document.", + "type": "number" + }, + "max_query_terms": { + "description": "The maximum number of query terms that can be selected.", + "type": "number" + }, + "max_word_length": { + "description": "The maximum word length above which the terms are ignored.\nDefaults to unbounded (`0`).", + "type": "number" + }, + "min_doc_freq": { + "description": "The minimum document frequency below which the terms are ignored from the input document.", + "type": "number" + }, + "minimum_should_match": { + "$ref": "#/components/schemas/_types:MinimumShouldMatch" + }, + "min_term_freq": { + "description": "The minimum term frequency below which the terms are ignored from the input document.", + "type": "number" + }, + "min_word_length": { + "description": "The minimum word length below which the terms are ignored.", + "type": "number" + }, + "routing": { + "$ref": "#/components/schemas/_types:Routing" + }, + "stop_words": { + "$ref": "#/components/schemas/_types.analysis:StopWords" + }, + "unlike": { + "description": "Used in combination with `like` to exclude documents that match a set of terms.", + "oneOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:Like" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.query_dsl:Like" + } + } + ] + }, + "version": { + "$ref": "#/components/schemas/_types:VersionNumber" + }, + "version_type": { + "$ref": "#/components/schemas/_types:VersionType" + } + }, + "required": [ + "like" + ] + } + ] + }, + "_types.query_dsl:Like": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-mlt-query.html#_document_input_parameters" + }, + "description": "Text that we want similar documents for or a lookup to a document's field for the text.", + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/_types.query_dsl:LikeDocument" + } + ] + }, + "_types.query_dsl:LikeDocument": { + "type": "object", + "properties": { + "doc": { + "description": "A document not present in the index.", + "type": "object" + }, + "fields": { + "type": "array", + "items": { + "$ref": "#/components/schemas/_types:Field" + } + }, + "_id": { + "$ref": "#/components/schemas/_types:Id" + }, + "_index": { + "$ref": "#/components/schemas/_types:IndexName" + }, + "per_field_analyzer": { + "description": "Overrides the default analyzer.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "routing": { + "$ref": "#/components/schemas/_types:Routing" + }, + "version": { + "$ref": "#/components/schemas/_types:VersionNumber" + }, + "version_type": { + "$ref": "#/components/schemas/_types:VersionType" + } + } + }, + "_types:IndexName": { + "type": "string" + }, + "_types:Routing": { + "type": "string" + }, + "_types:VersionNumber": { + "type": "number" + }, + "_types:VersionType": { + "type": "string", + "enum": [ + "internal", + "external", + "external_gte", + "force" + ] + }, + "_types.query_dsl:MultiMatchQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "analyzer": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis.html" + }, + "description": "Analyzer used to convert the text in the query value into tokens.", + "type": "string" + }, + "auto_generate_synonyms_phrase_query": { + "description": "If `true`, match phrase queries are automatically created for multi-term synonyms.", + "type": "boolean" + }, + "cutoff_frequency": { + "deprecated": true, + "type": "number" + }, + "fields": { + "$ref": "#/components/schemas/_types:Fields" + }, + "fuzziness": { + "$ref": "#/components/schemas/_types:Fuzziness" + }, + "fuzzy_rewrite": { + "$ref": "#/components/schemas/_types:MultiTermQueryRewrite" + }, + "fuzzy_transpositions": { + "description": "If `true`, edits for fuzzy matching include transpositions of two adjacent characters (for example, `ab` to `ba`).\nCan be applied to the term subqueries constructed for all terms but the final term.", + "type": "boolean" + }, + "lenient": { + "description": "If `true`, format-based errors, such as providing a text query value for a numeric field, are ignored.", + "type": "boolean" + }, + "max_expansions": { + "description": "Maximum number of terms to which the query will expand.", + "type": "number" + }, + "minimum_should_match": { + "$ref": "#/components/schemas/_types:MinimumShouldMatch" + }, + "operator": { + "$ref": "#/components/schemas/_types.query_dsl:Operator" + }, + "prefix_length": { + "description": "Number of beginning characters left unchanged for fuzzy matching.", + "type": "number" + }, + "query": { + "description": "Text, number, boolean value or date you wish to find in the provided field.", + "type": "string" + }, + "slop": { + "description": "Maximum number of positions allowed between matching tokens.", + "type": "number" + }, + "tie_breaker": { + "description": "Determines how scores for each per-term blended query and scores across groups are combined.", + "type": "number" + }, + "type": { + "$ref": "#/components/schemas/_types.query_dsl:TextQueryType" + }, + "zero_terms_query": { + "$ref": "#/components/schemas/_types.query_dsl:ZeroTermsQuery" + } + }, + "required": [ + "query" + ] + } + ] + }, + "_types.query_dsl:TextQueryType": { + "type": "string", + "enum": [ + "best_fields", + "most_fields", + "cross_fields", + "phrase", + "phrase_prefix", + "bool_prefix" + ] + }, + "_types.query_dsl:NestedQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "ignore_unmapped": { + "description": "Indicates whether to ignore an unmapped path and not return any documents instead of an error.", + "type": "boolean" + }, + "inner_hits": { + "$ref": "#/components/schemas/_global.search._types:InnerHits" + }, + "path": { + "$ref": "#/components/schemas/_types:Field" + }, + "query": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + }, + "score_mode": { + "$ref": "#/components/schemas/_types.query_dsl:ChildScoreMode" + } + }, + "required": [ + "path", + "query" + ] + } + ] + }, + "_types.query_dsl:ParentIdQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "id": { + "$ref": "#/components/schemas/_types:Id" + }, + "ignore_unmapped": { + "description": "Indicates whether to ignore an unmapped `type` and not return any documents instead of an error.", + "type": "boolean" + }, + "type": { + "$ref": "#/components/schemas/_types:RelationName" + } + } + } + ] + }, + "_types.query_dsl:PercolateQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "document": { + "description": "The source of the document being percolated.", + "type": "object" + }, + "documents": { + "description": "An array of sources of the documents being percolated.", + "type": "array", + "items": { + "type": "object" + } + }, + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "id": { + "$ref": "#/components/schemas/_types:Id" + }, + "index": { + "$ref": "#/components/schemas/_types:IndexName" + }, + "name": { + "description": "The suffix used for the `_percolator_document_slot` field when multiple `percolate` queries are specified.", + "type": "string" + }, + "preference": { + "description": "Preference used to fetch document to percolate.", + "type": "string" + }, + "routing": { + "$ref": "#/components/schemas/_types:Routing" + }, + "version": { + "$ref": "#/components/schemas/_types:VersionNumber" + } + }, + "required": [ + "field" + ] + } + ] + }, + "_types.query_dsl:PinnedQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "allOf": [ + { + "type": "object", + "properties": { + "organic": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + } + }, + "required": [ + "organic" + ] + }, + { + "type": "object", + "properties": { + "ids": { + "description": "Document IDs listed in the order they are to appear in results.\nRequired if `docs` is not specified.", + "type": "array", + "items": { + "$ref": "#/components/schemas/_types:Id" + } + }, + "docs": { + "description": "Documents listed in the order they are to appear in results.\nRequired if `ids` is not specified.", + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.query_dsl:PinnedDoc" + } + } + }, + "minProperties": 1, + "maxProperties": 1 + } + ] + } + ] + }, + "_types.query_dsl:PinnedDoc": { + "type": "object", + "properties": { + "_id": { + "$ref": "#/components/schemas/_types:Id" + }, + "_index": { + "$ref": "#/components/schemas/_types:IndexName" + } + }, + "required": [ + "_id", + "_index" + ] + }, + "_types.query_dsl:PrefixQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "rewrite": { + "$ref": "#/components/schemas/_types:MultiTermQueryRewrite" + }, + "value": { + "description": "Beginning characters of terms you wish to find in the provided field.", + "type": "string" + }, + "case_insensitive": { + "description": "Allows ASCII case insensitive matching of the value with the indexed field values when set to `true`.\nDefault is `false` which means the case sensitivity of matching depends on the underlying field’s mapping.", + "type": "boolean" + } + }, + "required": [ + "value" + ] + } + ] + }, + "_types.query_dsl:QueryStringQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "allow_leading_wildcard": { + "description": "If `true`, the wildcard characters `*` and `?` are allowed as the first character of the query string.", + "type": "boolean" + }, + "analyzer": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis.html" + }, + "description": "Analyzer used to convert text in the query string into tokens.", + "type": "string" + }, + "analyze_wildcard": { + "description": "If `true`, the query attempts to analyze wildcard terms in the query string.", + "type": "boolean" + }, + "auto_generate_synonyms_phrase_query": { + "description": "If `true`, match phrase queries are automatically created for multi-term synonyms.", + "type": "boolean" + }, + "default_field": { + "$ref": "#/components/schemas/_types:Field" + }, + "default_operator": { + "$ref": "#/components/schemas/_types.query_dsl:Operator" + }, + "enable_position_increments": { + "description": "If `true`, enable position increments in queries constructed from a `query_string` search.", + "type": "boolean" + }, + "escape": { + "type": "boolean" + }, + "fields": { + "description": "Array of fields to search. Supports wildcards (`*`).", + "type": "array", + "items": { + "$ref": "#/components/schemas/_types:Field" + } + }, + "fuzziness": { + "$ref": "#/components/schemas/_types:Fuzziness" + }, + "fuzzy_max_expansions": { + "description": "Maximum number of terms to which the query expands for fuzzy matching.", + "type": "number" + }, + "fuzzy_prefix_length": { + "description": "Number of beginning characters left unchanged for fuzzy matching.", + "type": "number" + }, + "fuzzy_rewrite": { + "$ref": "#/components/schemas/_types:MultiTermQueryRewrite" + }, + "fuzzy_transpositions": { + "description": "If `true`, edits for fuzzy matching include transpositions of two adjacent characters (for example, `ab` to `ba`).", + "type": "boolean" + }, + "lenient": { + "description": "If `true`, format-based errors, such as providing a text value for a numeric field, are ignored.", + "type": "boolean" + }, + "max_determinized_states": { + "description": "Maximum number of automaton states required for the query.", + "type": "number" + }, + "minimum_should_match": { + "$ref": "#/components/schemas/_types:MinimumShouldMatch" + }, + "phrase_slop": { + "description": "Maximum number of positions allowed between matching tokens for phrases.", + "type": "number" + }, + "query": { + "description": "Query string you wish to parse and use for search.", + "type": "string" + }, + "quote_analyzer": { + "description": "Analyzer used to convert quoted text in the query string into tokens.\nFor quoted text, this parameter overrides the analyzer specified in the `analyzer` parameter.", + "type": "string" + }, + "quote_field_suffix": { + "description": "Suffix appended to quoted text in the query string.\nYou can use this suffix to use a different analysis method for exact matches.", + "type": "string" + }, + "rewrite": { + "$ref": "#/components/schemas/_types:MultiTermQueryRewrite" + }, + "tie_breaker": { + "description": "How to combine the queries generated from the individual search terms in the resulting `dis_max` query.", + "type": "number" + }, + "time_zone": { + "$ref": "#/components/schemas/_types:TimeZone" + }, + "type": { + "$ref": "#/components/schemas/_types.query_dsl:TextQueryType" + } + }, + "required": [ + "query" + ] + } + ] + }, + "_types:TimeZone": { + "type": "string" + }, + "_types.query_dsl:RangeQuery": { + "oneOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:DateRangeQuery" + }, + { + "$ref": "#/components/schemas/_types.query_dsl:NumberRangeQuery" + }, + { + "$ref": "#/components/schemas/_types.query_dsl:TermsRangeQuery" + } + ] + }, + "_types.query_dsl:DateRangeQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:RangeQueryBase" + }, + { + "type": "object", + "properties": { + "gt": { + "$ref": "#/components/schemas/_types:DateMath" + }, + "gte": { + "$ref": "#/components/schemas/_types:DateMath" + }, + "lt": { + "$ref": "#/components/schemas/_types:DateMath" + }, + "lte": { + "$ref": "#/components/schemas/_types:DateMath" + }, + "from": { + "oneOf": [ + { + "$ref": "#/components/schemas/_types:DateMath" + }, + { + "nullable": true, + "type": "string" + } + ] + }, + "to": { + "oneOf": [ + { + "$ref": "#/components/schemas/_types:DateMath" + }, + { + "nullable": true, + "type": "string" + } + ] + }, + "format": { + "$ref": "#/components/schemas/_types:DateFormat" + }, + "time_zone": { + "$ref": "#/components/schemas/_types:TimeZone" + } + } + } + ] + }, + "_types.query_dsl:RangeQueryBase": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "relation": { + "$ref": "#/components/schemas/_types.query_dsl:RangeRelation" + } + } + } + ] + }, + "_types.query_dsl:RangeRelation": { + "type": "string", + "enum": [ + "within", + "contains", + "intersects" + ] + }, + "_types:DateFormat": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-date-format.html" + }, + "type": "string" + }, + "_types.query_dsl:NumberRangeQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:RangeQueryBase" + }, + { + "type": "object", + "properties": { + "gt": { + "description": "Greater than.", + "type": "number" + }, + "gte": { + "description": "Greater than or equal to.", + "type": "number" + }, + "lt": { + "description": "Less than.", + "type": "number" + }, + "lte": { + "description": "Less than or equal to.", + "type": "number" + }, + "from": { + "oneOf": [ + { + "type": "number" + }, + { + "nullable": true, + "type": "string" + } + ] + }, + "to": { + "oneOf": [ + { + "type": "number" + }, + { + "nullable": true, + "type": "string" + } + ] + } + } + } + ] + }, + "_types.query_dsl:TermsRangeQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:RangeQueryBase" + }, + { + "type": "object", + "properties": { + "gt": { + "description": "Greater than.", + "type": "string" + }, + "gte": { + "description": "Greater than or equal to.", + "type": "string" + }, + "lt": { + "description": "Less than.", + "type": "string" + }, + "lte": { + "description": "Less than or equal to.", + "type": "string" + }, + "from": { + "oneOf": [ + { + "type": "string" + }, + { + "nullable": true, + "type": "string" + } + ] + }, + "to": { + "oneOf": [ + { + "type": "string" + }, + { + "nullable": true, + "type": "string" + } + ] + } + } + } + ] + }, + "_types.query_dsl:RankFeatureQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "saturation": { + "$ref": "#/components/schemas/_types.query_dsl:RankFeatureFunctionSaturation" + }, + "log": { + "$ref": "#/components/schemas/_types.query_dsl:RankFeatureFunctionLogarithm" + }, + "linear": { + "$ref": "#/components/schemas/_types.query_dsl:RankFeatureFunctionLinear" + }, + "sigmoid": { + "$ref": "#/components/schemas/_types.query_dsl:RankFeatureFunctionSigmoid" + } + }, + "required": [ + "field" + ] + } + ] + }, + "_types.query_dsl:RankFeatureFunctionSaturation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:RankFeatureFunction" + }, + { + "type": "object", + "properties": { + "pivot": { + "description": "Configurable pivot value so that the result will be less than 0.5.", + "type": "number" + } + } + } + ] + }, + "_types.query_dsl:RankFeatureFunction": { + "type": "object" + }, + "_types.query_dsl:RankFeatureFunctionLogarithm": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:RankFeatureFunction" + }, + { + "type": "object", + "properties": { + "scaling_factor": { + "description": "Configurable scaling factor.", + "type": "number" + } + }, + "required": [ + "scaling_factor" + ] + } + ] + }, + "_types.query_dsl:RankFeatureFunctionLinear": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:RankFeatureFunction" + }, + { + "type": "object" + } + ] + }, + "_types.query_dsl:RankFeatureFunctionSigmoid": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:RankFeatureFunction" + }, + { + "type": "object", + "properties": { + "pivot": { + "description": "Configurable pivot value so that the result will be less than 0.5.", + "type": "number" + }, + "exponent": { + "description": "Configurable Exponent.", + "type": "number" + } + }, + "required": [ + "pivot", + "exponent" + ] + } + ] + }, + "_types.query_dsl:RegexpQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "case_insensitive": { + "description": "Allows case insensitive matching of the regular expression value with the indexed field values when set to `true`.\nWhen `false`, case sensitivity of matching depends on the underlying field’s mapping.", + "type": "boolean" + }, + "flags": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/regexp-syntax.html" + }, + "description": "Enables optional operators for the regular expression.", + "type": "string" + }, + "max_determinized_states": { + "description": "Maximum number of automaton states required for the query.", + "type": "number" + }, + "rewrite": { + "$ref": "#/components/schemas/_types:MultiTermQueryRewrite" + }, + "value": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/regexp-syntax.html" + }, + "description": "Regular expression for terms you wish to find in the provided field.", + "type": "string" + } + }, + "required": [ + "value" + ] + } + ] + }, + "_types.query_dsl:RuleQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "organic": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + }, + "ruleset_id": { + "$ref": "#/components/schemas/_types:Id" + }, + "match_criteria": { + "type": "object" + } + }, + "required": [ + "organic", + "ruleset_id", + "match_criteria" + ] + } + ] + }, + "_types.query_dsl:ScriptQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "script": { + "$ref": "#/components/schemas/_types:Script" + } + }, + "required": [ + "script" + ] + } + ] + }, + "_types.query_dsl:ScriptScoreQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "min_score": { + "description": "Documents with a score lower than this floating point number are excluded from the search results.", + "type": "number" + }, + "query": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + }, + "script": { + "$ref": "#/components/schemas/_types:Script" + } + }, + "required": [ + "query", + "script" + ] + } + ] + }, + "_types.query_dsl:ShapeQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "ignore_unmapped": { + "description": "When set to `true` the query ignores an unmapped field and will not match any documents.", + "type": "boolean" + } + } + } + ] + }, + "_types.query_dsl:SimpleQueryStringQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "analyzer": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis.html" + }, + "description": "Analyzer used to convert text in the query string into tokens.", + "type": "string" + }, + "analyze_wildcard": { + "description": "If `true`, the query attempts to analyze wildcard terms in the query string.", + "type": "boolean" + }, + "auto_generate_synonyms_phrase_query": { + "description": "If `true`, the parser creates a match_phrase query for each multi-position token.", + "type": "boolean" + }, + "default_operator": { + "$ref": "#/components/schemas/_types.query_dsl:Operator" + }, + "fields": { + "description": "Array of fields you wish to search.\nAccepts wildcard expressions.\nYou also can boost relevance scores for matches to particular fields using a caret (`^`) notation.\nDefaults to the `index.query.default_field index` setting, which has a default value of `*`.", + "type": "array", + "items": { + "$ref": "#/components/schemas/_types:Field" + } + }, + "flags": { + "$ref": "#/components/schemas/_types.query_dsl:SimpleQueryStringFlags" + }, + "fuzzy_max_expansions": { + "description": "Maximum number of terms to which the query expands for fuzzy matching.", + "type": "number" + }, + "fuzzy_prefix_length": { + "description": "Number of beginning characters left unchanged for fuzzy matching.", + "type": "number" + }, + "fuzzy_transpositions": { + "description": "If `true`, edits for fuzzy matching include transpositions of two adjacent characters (for example, `ab` to `ba`).", + "type": "boolean" + }, + "lenient": { + "description": "If `true`, format-based errors, such as providing a text value for a numeric field, are ignored.", + "type": "boolean" + }, + "minimum_should_match": { + "$ref": "#/components/schemas/_types:MinimumShouldMatch" + }, + "query": { + "description": "Query string in the simple query string syntax you wish to parse and use for search.", + "type": "string" + }, + "quote_field_suffix": { + "description": "Suffix appended to quoted text in the query string.", + "type": "string" + } + }, + "required": [ + "query" + ] + } + ] + }, + "_types.query_dsl:SimpleQueryStringFlags": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-simple-query-string-query.html#supported-flags" + }, + "description": "Query flags can be either a single flag or a combination of flags, e.g. `OR|AND|PREFIX`", + "allOf": [ + { + "$ref": "#/components/schemas/_spec_utils:PipeSeparatedFlagsSimpleQueryStringFlag" + } + ] + }, + "_spec_utils:PipeSeparatedFlagsSimpleQueryStringFlag": { + "description": "A set of flags that can be represented as a single enum value or a set of values that are encoded\nas a pipe-separated string\n\nDepending on the target language, code generators can use this hint to generate language specific\nflags enum constructs and the corresponding (de-)serialization code.", + "oneOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:SimpleQueryStringFlag" + }, + { + "type": "string" + } + ] + }, + "_types.query_dsl:SimpleQueryStringFlag": { + "type": "string", + "enum": [ + "NONE", + "AND", + "NOT", + "OR", + "PREFIX", + "PHRASE", + "PRECEDENCE", + "ESCAPE", + "WHITESPACE", + "FUZZY", + "NEAR", + "SLOP", + "ALL" + ] + }, + "_types.query_dsl:SpanContainingQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "big": { + "$ref": "#/components/schemas/_types.query_dsl:SpanQuery" + }, + "little": { + "$ref": "#/components/schemas/_types.query_dsl:SpanQuery" + } + }, + "required": [ + "big", + "little" + ] + } + ] + }, + "_types.query_dsl:SpanQuery": { + "type": "object", + "properties": { + "span_containing": { + "$ref": "#/components/schemas/_types.query_dsl:SpanContainingQuery" + }, + "field_masking_span": { + "$ref": "#/components/schemas/_types.query_dsl:SpanFieldMaskingQuery" + }, + "span_first": { + "$ref": "#/components/schemas/_types.query_dsl:SpanFirstQuery" + }, + "span_gap": { + "$ref": "#/components/schemas/_types.query_dsl:SpanGapQuery" + }, + "span_multi": { + "$ref": "#/components/schemas/_types.query_dsl:SpanMultiTermQuery" + }, + "span_near": { + "$ref": "#/components/schemas/_types.query_dsl:SpanNearQuery" + }, + "span_not": { + "$ref": "#/components/schemas/_types.query_dsl:SpanNotQuery" + }, + "span_or": { + "$ref": "#/components/schemas/_types.query_dsl:SpanOrQuery" + }, + "span_term": { + "description": "The equivalent of the `term` query but for use with other span queries.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.query_dsl:SpanTermQuery" + }, + "minProperties": 1, + "maxProperties": 1 + }, + "span_within": { + "$ref": "#/components/schemas/_types.query_dsl:SpanWithinQuery" + } + }, + "minProperties": 1, + "maxProperties": 1 + }, + "_types.query_dsl:SpanFieldMaskingQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "query": { + "$ref": "#/components/schemas/_types.query_dsl:SpanQuery" + } + }, + "required": [ + "field", + "query" + ] + } + ] + }, + "_types.query_dsl:SpanFirstQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "end": { + "description": "Controls the maximum end position permitted in a match.", + "type": "number" + }, + "match": { + "$ref": "#/components/schemas/_types.query_dsl:SpanQuery" + } + }, + "required": [ + "end", + "match" + ] + } + ] + }, + "_types.query_dsl:SpanGapQuery": { + "description": "Can only be used as a clause in a span_near query.", + "type": "object", + "additionalProperties": { + "type": "number" + }, + "minProperties": 1, + "maxProperties": 1 + }, + "_types.query_dsl:SpanMultiTermQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "match": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + } + }, + "required": [ + "match" + ] + } + ] + }, + "_types.query_dsl:SpanNearQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "clauses": { + "description": "Array of one or more other span type queries.", + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.query_dsl:SpanQuery" + } + }, + "in_order": { + "description": "Controls whether matches are required to be in-order.", + "type": "boolean" + }, + "slop": { + "description": "Controls the maximum number of intervening unmatched positions permitted.", + "type": "number" + } + }, + "required": [ + "clauses" + ] + } + ] + }, + "_types.query_dsl:SpanNotQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "dist": { + "description": "The number of tokens from within the include span that can’t have overlap with the exclude span.\nEquivalent to setting both `pre` and `post`.", + "type": "number" + }, + "exclude": { + "$ref": "#/components/schemas/_types.query_dsl:SpanQuery" + }, + "include": { + "$ref": "#/components/schemas/_types.query_dsl:SpanQuery" + }, + "post": { + "description": "The number of tokens after the include span that can’t have overlap with the exclude span.", + "type": "number" + }, + "pre": { + "description": "The number of tokens before the include span that can’t have overlap with the exclude span.", + "type": "number" + } + }, + "required": [ + "exclude", + "include" + ] + } + ] + }, + "_types.query_dsl:SpanOrQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "clauses": { + "description": "Array of one or more other span type queries.", + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.query_dsl:SpanQuery" + } + } + }, + "required": [ + "clauses" + ] + } + ] + }, + "_types.query_dsl:SpanTermQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ] + } + ] + }, + "_types.query_dsl:SpanWithinQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "big": { + "$ref": "#/components/schemas/_types.query_dsl:SpanQuery" + }, + "little": { + "$ref": "#/components/schemas/_types.query_dsl:SpanQuery" + } + }, + "required": [ + "big", + "little" + ] + } + ] + }, + "_types.query_dsl:TermQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/_types:FieldValue" + }, + "case_insensitive": { + "description": "Allows ASCII case insensitive matching of the value with the indexed field values when set to `true`.\nWhen `false`, the case sensitivity of matching depends on the underlying field’s mapping.", + "type": "boolean" + } + }, + "required": [ + "value" + ] + } + ] + }, + "_types:FieldValue": { + "description": "A field value.", + "oneOf": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "boolean" + }, + { + "nullable": true, + "type": "string" + }, + { + "type": "object" + } + ] + }, + "_types.query_dsl:TermsQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object" + } + ] + }, + "_types.query_dsl:TermsSetQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "minimum_should_match_field": { + "$ref": "#/components/schemas/_types:Field" + }, + "minimum_should_match_script": { + "$ref": "#/components/schemas/_types:Script" + }, + "terms": { + "description": "Array of terms you wish to find in the provided field.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "terms" + ] + } + ] + }, + "_types.query_dsl:TextExpansionQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "model_id": { + "description": "The text expansion NLP model to use", + "type": "string" + }, + "model_text": { + "description": "The query text", + "type": "string" + }, + "pruning_config": { + "$ref": "#/components/schemas/_types.query_dsl:TokenPruningConfig" + } + }, + "required": [ + "model_id", + "model_text" + ] + } + ] + }, + "_types.query_dsl:TokenPruningConfig": { + "type": "object", + "properties": { + "tokens_freq_ratio_threshold": { + "description": "Tokens whose frequency is more than this threshold times the average frequency of all tokens in the specified field are considered outliers and pruned.", + "type": "number" + }, + "tokens_weight_threshold": { + "description": "Tokens whose weight is less than this threshold are considered nonsignificant and pruned.", + "type": "number" + }, + "only_score_pruned_tokens": { + "description": "Whether to only score pruned tokens, vs only scoring kept tokens.", + "type": "boolean" + } + } + }, + "_types.query_dsl:WeightedTokensQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "tokens": { + "description": "The tokens representing this query", + "type": "object", + "additionalProperties": { + "type": "number" + } + }, + "pruning_config": { + "$ref": "#/components/schemas/_types.query_dsl:TokenPruningConfig" + } + }, + "required": [ + "tokens" + ] + } + ] + }, + "_types.query_dsl:WildcardQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "case_insensitive": { + "description": "Allows case insensitive matching of the pattern with the indexed field values when set to true. Default is false which means the case sensitivity of matching depends on the underlying field’s mapping.", + "type": "boolean" + }, + "rewrite": { + "$ref": "#/components/schemas/_types:MultiTermQueryRewrite" + }, + "value": { + "description": "Wildcard pattern for terms you wish to find in the provided field. Required, when wildcard is not set.", + "type": "string" + }, + "wildcard": { + "description": "Wildcard pattern for terms you wish to find in the provided field. Required, when value is not set.", + "type": "string" + } + } + } + ] + }, + "_types.query_dsl:WrapperQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "query": { + "description": "A base64 encoded query.\nThe binary data format can be any of JSON, YAML, CBOR or SMILE encodings", + "type": "string" + } + }, + "required": [ + "query" + ] + } + ] + }, + "_types.query_dsl:TypeQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ] + } + ] + }, + "_types.aggregations:AutoDateHistogramAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object", + "properties": { + "buckets": { + "description": "The target number of buckets.", + "type": "number" + }, + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "format": { + "description": "The date format used to format `key_as_string` in the response.\nIf no `format` is specified, the first date format specified in the field mapping is used.", + "type": "string" + }, + "minimum_interval": { + "$ref": "#/components/schemas/_types.aggregations:MinimumInterval" + }, + "missing": { + "$ref": "#/components/schemas/_types:DateTime" + }, + "offset": { + "description": "Time zone specified as a ISO 8601 UTC offset.", + "type": "string" + }, + "params": { + "type": "object", + "additionalProperties": { + "type": "object" + } + }, + "script": { + "$ref": "#/components/schemas/_types:Script" + }, + "time_zone": { + "$ref": "#/components/schemas/_types:TimeZone" + } + } + } + ] + }, + "_types.aggregations:MinimumInterval": { + "type": "string", + "enum": [ + "second", + "minute", + "hour", + "day", + "month", + "year" + ] + }, + "_types:DateTime": { + "description": "A date and time, either as a string whose format can depend on the context (defaulting to ISO 8601), or a\nnumber of milliseconds since the Epoch. Elasticsearch accepts both as input, but will generally output a string\nrepresentation.", + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/_types:EpochTimeUnitMillis" + } + ] + }, + "_types:EpochTimeUnitMillis": { + "allOf": [ + { + "$ref": "#/components/schemas/_types:UnitMillis" + } + ] + }, + "_types:UnitMillis": { + "description": "Time unit for milliseconds", + "type": "number" + }, + "_types.aggregations:AverageAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:FormatMetricAggregationBase" + }, + { + "type": "object" + } + ] + }, + "_types.aggregations:FormatMetricAggregationBase": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:MetricAggregationBase" + }, + { + "type": "object", + "properties": { + "format": { + "type": "string" + } + } + } + ] + }, + "_types.aggregations:MetricAggregationBase": { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "missing": { + "$ref": "#/components/schemas/_types.aggregations:Missing" + }, + "script": { + "$ref": "#/components/schemas/_types:Script" + } + } + }, + "_types.aggregations:Missing": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "_types.aggregations:AverageBucketAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:PipelineAggregationBase" + }, + { + "type": "object" + } + ] + }, + "_types.aggregations:PipelineAggregationBase": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketPathAggregation" + }, + { + "type": "object", + "properties": { + "format": { + "description": "`DecimalFormat` pattern for the output value.\nIf specified, the formatted value is returned in the aggregation’s `value_as_string` property.", + "type": "string" + }, + "gap_policy": { + "$ref": "#/components/schemas/_types.aggregations:GapPolicy" + } + } + } + ] + }, + "_types.aggregations:BucketPathAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:Aggregation" + }, + { + "type": "object", + "properties": { + "buckets_path": { + "$ref": "#/components/schemas/_types.aggregations:BucketsPath" + } + } + } + ] + }, + "_types.aggregations:BucketsPath": { + "description": "Buckets path can be expressed in different ways, and an aggregation may accept some or all of these\nforms depending on its type. Please refer to each aggregation's documentation to know what buckets\npath forms they accept.", + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "object", + "additionalProperties": { + "type": "string" + } + } + ] + }, + "_types.aggregations:GapPolicy": { + "type": "string", + "enum": [ + "skip", + "insert_zeros", + "keep_values" + ] + }, + "_types.aggregations:BoxplotAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:MetricAggregationBase" + }, + { + "type": "object", + "properties": { + "compression": { + "description": "Limits the maximum number of nodes used by the underlying TDigest algorithm to `20 * compression`, enabling control of memory usage and approximation error.", + "type": "number" + } + } + } + ] + }, + "_types.aggregations:BucketScriptAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:PipelineAggregationBase" + }, + { + "type": "object", + "properties": { + "script": { + "$ref": "#/components/schemas/_types:Script" + } + } + } + ] + }, + "_types.aggregations:BucketSelectorAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:PipelineAggregationBase" + }, + { + "type": "object", + "properties": { + "script": { + "$ref": "#/components/schemas/_types:Script" + } + } + } + ] + }, + "_types.aggregations:BucketSortAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:Aggregation" + }, + { + "type": "object", + "properties": { + "from": { + "description": "Buckets in positions prior to `from` will be truncated.", + "type": "number" + }, + "gap_policy": { + "$ref": "#/components/schemas/_types.aggregations:GapPolicy" + }, + "size": { + "description": "The number of buckets to return.\nDefaults to all buckets of the parent aggregation.", + "type": "number" + }, + "sort": { + "$ref": "#/components/schemas/_types:Sort" + } + } + } + ] + }, + "_types.aggregations:BucketKsAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketPathAggregation" + }, + { + "type": "object", + "properties": { + "alternative": { + "description": "A list of string values indicating which K-S test alternative to calculate. The valid values\nare: \"greater\", \"less\", \"two_sided\". This parameter is key for determining the K-S statistic used\nwhen calculating the K-S test. Default value is all possible alternative hypotheses.", + "type": "array", + "items": { + "type": "string" + } + }, + "fractions": { + "description": "A list of doubles indicating the distribution of the samples with which to compare to the `buckets_path` results.\nIn typical usage this is the overall proportion of documents in each bucket, which is compared with the actual\ndocument proportions in each bucket from the sibling aggregation counts. The default is to assume that overall\ndocuments are uniformly distributed on these buckets, which they would be if one used equal percentiles of a\nmetric to define the bucket end points.", + "type": "array", + "items": { + "type": "number" + } + }, + "sampling_method": { + "description": "Indicates the sampling methodology when calculating the K-S test. Note, this is sampling of the returned values.\nThis determines the cumulative distribution function (CDF) points used comparing the two samples. Default is\n`upper_tail`, which emphasizes the upper end of the CDF points. Valid options are: `upper_tail`, `uniform`,\nand `lower_tail`.", + "type": "string" + } + } + } + ] + }, + "_types.aggregations:BucketCorrelationAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketPathAggregation" + }, + { + "type": "object", + "properties": { + "function": { + "$ref": "#/components/schemas/_types.aggregations:BucketCorrelationFunction" + } + }, + "required": [ + "function" + ] + } + ] + }, + "_types.aggregations:BucketCorrelationFunction": { + "type": "object", + "properties": { + "count_correlation": { + "$ref": "#/components/schemas/_types.aggregations:BucketCorrelationFunctionCountCorrelation" + } + }, + "required": [ + "count_correlation" + ] + }, + "_types.aggregations:BucketCorrelationFunctionCountCorrelation": { + "type": "object", + "properties": { + "indicator": { + "$ref": "#/components/schemas/_types.aggregations:BucketCorrelationFunctionCountCorrelationIndicator" + } + }, + "required": [ + "indicator" + ] + }, + "_types.aggregations:BucketCorrelationFunctionCountCorrelationIndicator": { + "type": "object", + "properties": { + "doc_count": { + "description": "The total number of documents that initially created the expectations. It’s required to be greater\nthan or equal to the sum of all values in the buckets_path as this is the originating superset of data\nto which the term values are correlated.", + "type": "number" + }, + "expectations": { + "description": "An array of numbers with which to correlate the configured `bucket_path` values.\nThe length of this value must always equal the number of buckets returned by the `bucket_path`.", + "type": "array", + "items": { + "type": "number" + } + }, + "fractions": { + "description": "An array of fractions to use when averaging and calculating variance. This should be used if\nthe pre-calculated data and the buckets_path have known gaps. The length of fractions, if provided,\nmust equal expectations.", + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "doc_count", + "expectations" + ] + }, + "_types.aggregations:CardinalityAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:MetricAggregationBase" + }, + { + "type": "object", + "properties": { + "precision_threshold": { + "description": "A unique count below which counts are expected to be close to accurate.\nThis allows to trade memory for accuracy.", + "type": "number" + }, + "rehash": { + "type": "boolean" + }, + "execution_hint": { + "$ref": "#/components/schemas/_types.aggregations:CardinalityExecutionMode" + } + } + } + ] + }, + "_types.aggregations:CardinalityExecutionMode": { + "type": "string", + "enum": [ + "global_ordinals", + "segment_ordinals", + "direct", + "save_memory_heuristic", + "save_time_heuristic" + ] + }, + "_types.aggregations:CategorizeTextAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:Aggregation" + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "max_unique_tokens": { + "description": "The maximum number of unique tokens at any position up to max_matched_tokens. Must be larger than 1.\nSmaller values use less memory and create fewer categories. Larger values will use more memory and\ncreate narrower categories. Max allowed value is 100.", + "type": "number" + }, + "max_matched_tokens": { + "description": "The maximum number of token positions to match on before attempting to merge categories. Larger\nvalues will use more memory and create narrower categories. Max allowed value is 100.", + "type": "number" + }, + "similarity_threshold": { + "description": "The minimum percentage of tokens that must match for text to be added to the category bucket. Must\nbe between 1 and 100. The larger the value the narrower the categories. Larger values will increase memory\nusage and create narrower categories.", + "type": "number" + }, + "categorization_filters": { + "description": "This property expects an array of regular expressions. The expressions are used to filter out matching\nsequences from the categorization field values. You can use this functionality to fine tune the categorization\nby excluding sequences from consideration when categories are defined. For example, you can exclude SQL\nstatements that appear in your log files. This property cannot be used at the same time as categorization_analyzer.\nIf you only want to define simple regular expression filters that are applied prior to tokenization, setting\nthis property is the easiest method. If you also want to customize the tokenizer or post-tokenization filtering,\nuse the categorization_analyzer property instead and include the filters as pattern_replace character filters.", + "type": "array", + "items": { + "type": "string" + } + }, + "categorization_analyzer": { + "$ref": "#/components/schemas/_types.aggregations:CategorizeTextAnalyzer" + }, + "shard_size": { + "description": "The number of categorization buckets to return from each shard before merging all the results.", + "type": "number" + }, + "size": { + "description": "The number of buckets to return.", + "type": "number" + }, + "min_doc_count": { + "description": "The minimum number of documents in a bucket to be returned to the results.", + "type": "number" + }, + "shard_min_doc_count": { + "description": "The minimum number of documents in a bucket to be returned from the shard before merging.", + "type": "number" + } + }, + "required": [ + "field" + ] + } + ] + }, + "_types.aggregations:CategorizeTextAnalyzer": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/_types.aggregations:CustomCategorizeTextAnalyzer" + } + ] + }, + "_types.aggregations:CustomCategorizeTextAnalyzer": { + "type": "object", + "properties": { + "char_filter": { + "type": "array", + "items": { + "type": "string" + } + }, + "tokenizer": { + "type": "string" + }, + "filter": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "_types.aggregations:ChildrenAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object", + "properties": { + "type": { + "$ref": "#/components/schemas/_types:RelationName" + } + } + } + ] + }, + "_types.aggregations:CompositeAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object", + "properties": { + "after": { + "$ref": "#/components/schemas/_types.aggregations:CompositeAggregateKey" + }, + "size": { + "description": "The number of composite buckets that should be returned.", + "type": "number" + }, + "sources": { + "description": "The value sources used to build composite buckets.\nKeys are returned in the order of the `sources` definition.", + "type": "array", + "items": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.aggregations:CompositeAggregationSource" + } + } + } + } + } + ] + }, + "_types.aggregations:CompositeAggregateKey": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types:FieldValue" + } + }, + "_types.aggregations:CompositeAggregationSource": { + "type": "object", + "properties": { + "terms": { + "$ref": "#/components/schemas/_types.aggregations:CompositeTermsAggregation" + }, + "histogram": { + "$ref": "#/components/schemas/_types.aggregations:CompositeHistogramAggregation" + }, + "date_histogram": { + "$ref": "#/components/schemas/_types.aggregations:CompositeDateHistogramAggregation" + }, + "geotile_grid": { + "$ref": "#/components/schemas/_types.aggregations:CompositeGeoTileGridAggregation" + } + } + }, + "_types.aggregations:CompositeTermsAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:CompositeAggregationBase" + }, + { + "type": "object" + } + ] + }, + "_types.aggregations:CompositeAggregationBase": { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "missing_bucket": { + "type": "boolean" + }, + "missing_order": { + "$ref": "#/components/schemas/_types.aggregations:MissingOrder" + }, + "script": { + "$ref": "#/components/schemas/_types:Script" + }, + "value_type": { + "$ref": "#/components/schemas/_types.aggregations:ValueType" + }, + "order": { + "$ref": "#/components/schemas/_types:SortOrder" + } + } + }, + "_types.aggregations:MissingOrder": { + "type": "string", + "enum": [ + "first", + "last", + "default" + ] + }, + "_types.aggregations:ValueType": { + "type": "string", + "enum": [ + "string", + "long", + "double", + "number", + "date", + "date_nanos", + "ip", + "numeric", + "geo_point", + "boolean" + ] + }, + "_types.aggregations:CompositeHistogramAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:CompositeAggregationBase" + }, + { + "type": "object", + "properties": { + "interval": { + "type": "number" + } + }, + "required": [ + "interval" + ] + } + ] + }, + "_types.aggregations:CompositeDateHistogramAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:CompositeAggregationBase" + }, + { + "type": "object", + "properties": { + "format": { + "type": "string" + }, + "calendar_interval": { + "$ref": "#/components/schemas/_types:DurationLarge" + }, + "fixed_interval": { + "$ref": "#/components/schemas/_types:DurationLarge" + }, + "offset": { + "$ref": "#/components/schemas/_types:Duration" + }, + "time_zone": { + "$ref": "#/components/schemas/_types:TimeZone" + } + } + } + ] + }, + "_types:DurationLarge": { + "description": "A date histogram interval. Similar to `Duration` with additional units: `w` (week), `M` (month), `q` (quarter) and\n`y` (year)", + "type": "string" + }, + "_types.aggregations:CompositeGeoTileGridAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:CompositeAggregationBase" + }, + { + "type": "object", + "properties": { + "precision": { + "type": "number" + }, + "bounds": { + "$ref": "#/components/schemas/_types:GeoBounds" + } + } + } + ] + }, + "_types:GeoBounds": { + "description": "A geo bounding box. It can be represented in various ways:\n- as 4 top/bottom/left/right coordinates\n- as 2 top_left / bottom_right points\n- as 2 top_right / bottom_left points\n- as a WKT bounding box", + "oneOf": [ + { + "$ref": "#/components/schemas/_types:CoordsGeoBounds" + }, + { + "$ref": "#/components/schemas/_types:TopLeftBottomRightGeoBounds" + }, + { + "$ref": "#/components/schemas/_types:TopRightBottomLeftGeoBounds" + }, + { + "$ref": "#/components/schemas/_types:WktGeoBounds" + } + ] + }, + "_types:CoordsGeoBounds": { + "type": "object", + "properties": { + "top": { + "type": "number" + }, + "bottom": { + "type": "number" + }, + "left": { + "type": "number" + }, + "right": { + "type": "number" + } + }, + "required": [ + "top", + "bottom", + "left", + "right" + ] + }, + "_types:TopLeftBottomRightGeoBounds": { + "type": "object", + "properties": { + "top_left": { + "$ref": "#/components/schemas/_types:GeoLocation" + }, + "bottom_right": { + "$ref": "#/components/schemas/_types:GeoLocation" + } + }, + "required": [ + "top_left", + "bottom_right" + ] + }, + "_types:TopRightBottomLeftGeoBounds": { + "type": "object", + "properties": { + "top_right": { + "$ref": "#/components/schemas/_types:GeoLocation" + }, + "bottom_left": { + "$ref": "#/components/schemas/_types:GeoLocation" + } + }, + "required": [ + "top_right", + "bottom_left" + ] + }, + "_types:WktGeoBounds": { + "type": "object", + "properties": { + "wkt": { + "type": "string" + } + }, + "required": [ + "wkt" + ] + }, + "_types.aggregations:CumulativeCardinalityAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:PipelineAggregationBase" + }, + { + "type": "object" + } + ] + }, + "_types.aggregations:CumulativeSumAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:PipelineAggregationBase" + }, + { + "type": "object" + } + ] + }, + "_types.aggregations:DateHistogramAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object", + "properties": { + "calendar_interval": { + "$ref": "#/components/schemas/_types.aggregations:CalendarInterval" + }, + "extended_bounds": { + "$ref": "#/components/schemas/_types.aggregations:ExtendedBoundsFieldDateMath" + }, + "hard_bounds": { + "$ref": "#/components/schemas/_types.aggregations:ExtendedBoundsFieldDateMath" + }, + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "fixed_interval": { + "$ref": "#/components/schemas/_types:Duration" + }, + "format": { + "description": "The date format used to format `key_as_string` in the response.\nIf no `format` is specified, the first date format specified in the field mapping is used.", + "type": "string" + }, + "interval": { + "$ref": "#/components/schemas/_types:Duration" + }, + "min_doc_count": { + "description": "Only returns buckets that have `min_doc_count` number of documents.\nBy default, all buckets between the first bucket that matches documents and the last one are returned.", + "type": "number" + }, + "missing": { + "$ref": "#/components/schemas/_types:DateTime" + }, + "offset": { + "$ref": "#/components/schemas/_types:Duration" + }, + "order": { + "$ref": "#/components/schemas/_types.aggregations:AggregateOrder" + }, + "params": { + "type": "object", + "additionalProperties": { + "type": "object" + } + }, + "script": { + "$ref": "#/components/schemas/_types:Script" + }, + "time_zone": { + "$ref": "#/components/schemas/_types:TimeZone" + }, + "keyed": { + "description": "Set to `true` to associate a unique string key with each bucket and return the ranges as a hash rather than an array.", + "type": "boolean" + } + } + } + ] + }, + "_types.aggregations:CalendarInterval": { + "type": "string", + "enum": [ + "second", + "1s", + "minute", + "1m", + "hour", + "1h", + "day", + "1d", + "week", + "1w", + "month", + "1M", + "quarter", + "1q", + "year", + "1Y" + ] + }, + "_types.aggregations:ExtendedBoundsFieldDateMath": { + "type": "object", + "properties": { + "max": { + "$ref": "#/components/schemas/_types.aggregations:FieldDateMath" + }, + "min": { + "$ref": "#/components/schemas/_types.aggregations:FieldDateMath" + } + } + }, + "_types.aggregations:FieldDateMath": { + "description": "A date range limit, represented either as a DateMath expression or a number expressed\naccording to the target field's precision.", + "oneOf": [ + { + "$ref": "#/components/schemas/_types:DateMath" + }, + { + "type": "number" + } + ] + }, + "_types.aggregations:AggregateOrder": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types:SortOrder" + }, + "minProperties": 1, + "maxProperties": 1 + }, + { + "type": "array", + "items": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types:SortOrder" + }, + "minProperties": 1, + "maxProperties": 1 + } + } + ] + }, + "_types.aggregations:DateRangeAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "format": { + "description": "The date format used to format `from` and `to` in the response.", + "type": "string" + }, + "missing": { + "$ref": "#/components/schemas/_types.aggregations:Missing" + }, + "ranges": { + "description": "Array of date ranges.", + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.aggregations:DateRangeExpression" + } + }, + "time_zone": { + "$ref": "#/components/schemas/_types:TimeZone" + }, + "keyed": { + "description": "Set to `true` to associate a unique string key with each bucket and returns the ranges as a hash rather than an array.", + "type": "boolean" + } + } + } + ] + }, + "_types.aggregations:DateRangeExpression": { + "type": "object", + "properties": { + "from": { + "$ref": "#/components/schemas/_types.aggregations:FieldDateMath" + }, + "key": { + "description": "Custom key to return the range with.", + "type": "string" + }, + "to": { + "$ref": "#/components/schemas/_types.aggregations:FieldDateMath" + } + } + }, + "_types.aggregations:DerivativeAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:PipelineAggregationBase" + }, + { + "type": "object" + } + ] + }, + "_types.aggregations:DiversifiedSamplerAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object", + "properties": { + "execution_hint": { + "$ref": "#/components/schemas/_types.aggregations:SamplerAggregationExecutionHint" + }, + "max_docs_per_value": { + "description": "Limits how many documents are permitted per choice of de-duplicating value.", + "type": "number" + }, + "script": { + "$ref": "#/components/schemas/_types:Script" + }, + "shard_size": { + "description": "Limits how many top-scoring documents are collected in the sample processed on each shard.", + "type": "number" + }, + "field": { + "$ref": "#/components/schemas/_types:Field" + } + } + } + ] + }, + "_types.aggregations:SamplerAggregationExecutionHint": { + "type": "string", + "enum": [ + "map", + "global_ordinals", + "bytes_hash" + ] + }, + "_types.aggregations:ExtendedStatsAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:FormatMetricAggregationBase" + }, + { + "type": "object", + "properties": { + "sigma": { + "description": "The number of standard deviations above/below the mean to display.", + "type": "number" + } + } + } + ] + }, + "_types.aggregations:ExtendedStatsBucketAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:PipelineAggregationBase" + }, + { + "type": "object", + "properties": { + "sigma": { + "description": "The number of standard deviations above/below the mean to display.", + "type": "number" + } + } + } + ] + }, + "_types.aggregations:FrequentItemSetsAggregation": { + "type": "object", + "properties": { + "fields": { + "description": "Fields to analyze.", + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.aggregations:FrequentItemSetsField" + } + }, + "minimum_set_size": { + "description": "The minimum size of one item set.", + "type": "number" + }, + "minimum_support": { + "description": "The minimum support of one item set.", + "type": "number" + }, + "size": { + "description": "The number of top item sets to return.", + "type": "number" + }, + "filter": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + } + }, + "required": [ + "fields" + ] + }, + "_types.aggregations:FrequentItemSetsField": { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "exclude": { + "$ref": "#/components/schemas/_types.aggregations:TermsExclude" + }, + "include": { + "$ref": "#/components/schemas/_types.aggregations:TermsInclude" + } + }, + "required": [ + "field" + ] + }, + "_types.aggregations:TermsExclude": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "_types.aggregations:TermsInclude": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/_types.aggregations:TermsPartition" + } + ] + }, + "_types.aggregations:TermsPartition": { + "type": "object", + "properties": { + "num_partitions": { + "description": "The number of partitions.", + "type": "number" + }, + "partition": { + "description": "The partition number for this request.", + "type": "number" + } + }, + "required": [ + "num_partitions", + "partition" + ] + }, + "_types.aggregations:FiltersAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object", + "properties": { + "filters": { + "$ref": "#/components/schemas/_types.aggregations:BucketsQueryContainer" + }, + "other_bucket": { + "description": "Set to `true` to add a bucket to the response which will contain all documents that do not match any of the given filters.", + "type": "boolean" + }, + "other_bucket_key": { + "description": "The key with which the other bucket is returned.", + "type": "string" + }, + "keyed": { + "description": "By default, the named filters aggregation returns the buckets as an object.\nSet to `false` to return the buckets as an array of objects.", + "type": "boolean" + } + } + } + ] + }, + "_types.aggregations:BucketsQueryContainer": { + "description": "Aggregation buckets. By default they are returned as an array, but if the aggregation has keys configured for\nthe different buckets, the result is a dictionary.", + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + } + } + ] + }, + "_types.aggregations:GeoBoundsAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:MetricAggregationBase" + }, + { + "type": "object", + "properties": { + "wrap_longitude": { + "description": "Specifies whether the bounding box should be allowed to overlap the international date line.", + "type": "boolean" + } + } + } + ] + }, + "_types.aggregations:GeoCentroidAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:MetricAggregationBase" + }, + { + "type": "object", + "properties": { + "count": { + "type": "number" + }, + "location": { + "$ref": "#/components/schemas/_types:GeoLocation" + } + } + } + ] + }, + "_types.aggregations:GeoDistanceAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object", + "properties": { + "distance_type": { + "$ref": "#/components/schemas/_types:GeoDistanceType" + }, + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "origin": { + "$ref": "#/components/schemas/_types:GeoLocation" + }, + "ranges": { + "description": "An array of ranges used to bucket documents.", + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.aggregations:AggregationRange" + } + }, + "unit": { + "$ref": "#/components/schemas/_types:DistanceUnit" + } + } + } + ] + }, + "_types.aggregations:AggregationRange": { + "type": "object", + "properties": { + "from": { + "description": "Start of the range (inclusive).", + "oneOf": [ + { + "type": "number" + }, + { + "type": "string" + }, + { + "nullable": true, + "type": "string" + } + ] + }, + "key": { + "description": "Custom key to return the range with.", + "type": "string" + }, + "to": { + "description": "End of the range (exclusive).", + "oneOf": [ + { + "type": "number" + }, + { + "type": "string" + }, + { + "nullable": true, + "type": "string" + } + ] + } + } + }, + "_types.aggregations:GeoHashGridAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object", + "properties": { + "bounds": { + "$ref": "#/components/schemas/_types:GeoBounds" + }, + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "precision": { + "$ref": "#/components/schemas/_types:GeoHashPrecision" + }, + "shard_size": { + "description": "Allows for more accurate counting of the top cells returned in the final result the aggregation.\nDefaults to returning `max(10,(size x number-of-shards))` buckets from each shard.", + "type": "number" + }, + "size": { + "description": "The maximum number of geohash buckets to return.", + "type": "number" + } + } + } + ] + }, + "_types:GeoHashPrecision": { + "description": "A precision that can be expressed as a geohash length between 1 and 12, or a distance measure like \"1km\", \"10m\".", + "oneOf": [ + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "_types.aggregations:GeoLineAggregation": { + "type": "object", + "properties": { + "point": { + "$ref": "#/components/schemas/_types.aggregations:GeoLinePoint" + }, + "sort": { + "$ref": "#/components/schemas/_types.aggregations:GeoLineSort" + }, + "include_sort": { + "description": "When `true`, returns an additional array of the sort values in the feature properties.", + "type": "boolean" + }, + "sort_order": { + "$ref": "#/components/schemas/_types:SortOrder" + }, + "size": { + "description": "The maximum length of the line represented in the aggregation.\nValid sizes are between 1 and 10000.", + "type": "number" + } + }, + "required": [ + "point", + "sort" + ] + }, + "_types.aggregations:GeoLinePoint": { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + } + }, + "required": [ + "field" + ] + }, + "_types.aggregations:GeoLineSort": { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + } + }, + "required": [ + "field" + ] + }, + "_types.aggregations:GeoTileGridAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "precision": { + "$ref": "#/components/schemas/_types:GeoTilePrecision" + }, + "shard_size": { + "description": "Allows for more accurate counting of the top cells returned in the final result the aggregation.\nDefaults to returning `max(10,(size x number-of-shards))` buckets from each shard.", + "type": "number" + }, + "size": { + "description": "The maximum number of buckets to return.", + "type": "number" + }, + "bounds": { + "$ref": "#/components/schemas/_types:GeoBounds" + } + } + } + ] + }, + "_types:GeoTilePrecision": { + "type": "number" + }, + "_types.aggregations:GeohexGridAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "precision": { + "description": "Integer zoom of the key used to defined cells or buckets\nin the results. Value should be between 0-15.", + "type": "number" + }, + "bounds": { + "$ref": "#/components/schemas/_types:GeoBounds" + }, + "size": { + "description": "Maximum number of buckets to return.", + "type": "number" + }, + "shard_size": { + "description": "Number of buckets returned from each shard.", + "type": "number" + } + }, + "required": [ + "field" + ] + } + ] + }, + "_types.aggregations:GlobalAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object" + } + ] + }, + "_types.aggregations:HistogramAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object", + "properties": { + "extended_bounds": { + "$ref": "#/components/schemas/_types.aggregations:ExtendedBoundsdouble" + }, + "hard_bounds": { + "$ref": "#/components/schemas/_types.aggregations:ExtendedBoundsdouble" + }, + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "interval": { + "description": "The interval for the buckets.\nMust be a positive decimal.", + "type": "number" + }, + "min_doc_count": { + "description": "Only returns buckets that have `min_doc_count` number of documents.\nBy default, the response will fill gaps in the histogram with empty buckets.", + "type": "number" + }, + "missing": { + "description": "The value to apply to documents that do not have a value.\nBy default, documents without a value are ignored.", + "type": "number" + }, + "offset": { + "description": "By default, the bucket keys start with 0 and then continue in even spaced steps of `interval`.\nThe bucket boundaries can be shifted by using the `offset` option.", + "type": "number" + }, + "order": { + "$ref": "#/components/schemas/_types.aggregations:AggregateOrder" + }, + "script": { + "$ref": "#/components/schemas/_types:Script" + }, + "format": { + "type": "string" + }, + "keyed": { + "description": "If `true`, returns buckets as a hash instead of an array, keyed by the bucket keys.", + "type": "boolean" + } + } + } + ] + }, + "_types.aggregations:ExtendedBoundsdouble": { + "type": "object", + "properties": { + "max": { + "description": "Maximum value for the bound.", + "type": "number" + }, + "min": { + "description": "Minimum value for the bound.", + "type": "number" + } + } + }, + "_types.aggregations:IpRangeAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "ranges": { + "description": "Array of IP ranges.", + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.aggregations:IpRangeAggregationRange" + } + } + } + } + ] + }, + "_types.aggregations:IpRangeAggregationRange": { + "type": "object", + "properties": { + "from": { + "description": "Start of the range.", + "oneOf": [ + { + "type": "string" + }, + { + "nullable": true, + "type": "string" + } + ] + }, + "mask": { + "description": "IP range defined as a CIDR mask.", + "type": "string" + }, + "to": { + "description": "End of the range.", + "oneOf": [ + { + "type": "string" + }, + { + "nullable": true, + "type": "string" + } + ] + } + } + }, + "_types.aggregations:IpPrefixAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "prefix_length": { + "description": "Length of the network prefix. For IPv4 addresses the accepted range is [0, 32].\nFor IPv6 addresses the accepted range is [0, 128].", + "type": "number" + }, + "is_ipv6": { + "description": "Defines whether the prefix applies to IPv6 addresses.", + "type": "boolean" + }, + "append_prefix_length": { + "description": "Defines whether the prefix length is appended to IP address keys in the response.", + "type": "boolean" + }, + "keyed": { + "description": "Defines whether buckets are returned as a hash rather than an array in the response.", + "type": "boolean" + }, + "min_doc_count": { + "description": "Minimum number of documents in a bucket for it to be included in the response.", + "type": "number" + } + }, + "required": [ + "field", + "prefix_length" + ] + } + ] + }, + "_types.aggregations:InferenceAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:PipelineAggregationBase" + }, + { + "type": "object", + "properties": { + "model_id": { + "$ref": "#/components/schemas/_types:Name" + }, + "inference_config": { + "$ref": "#/components/schemas/_types.aggregations:InferenceConfigContainer" + } + }, + "required": [ + "model_id" + ] + } + ] + }, + "_types.aggregations:InferenceConfigContainer": { + "type": "object", + "properties": { + "regression": { + "$ref": "#/components/schemas/ml._types:RegressionInferenceOptions" + }, + "classification": { + "$ref": "#/components/schemas/ml._types:ClassificationInferenceOptions" + } + }, + "minProperties": 1, + "maxProperties": 1 + }, + "ml._types:RegressionInferenceOptions": { + "type": "object", + "properties": { + "results_field": { + "$ref": "#/components/schemas/_types:Field" + }, + "num_top_feature_importance_values": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/machine-learning/current/ml-feature-importance.html" + }, + "description": "Specifies the maximum number of feature importance values per document.", + "type": "number" + } + } + }, + "ml._types:ClassificationInferenceOptions": { + "type": "object", + "properties": { + "num_top_classes": { + "description": "Specifies the number of top class predictions to return. Defaults to 0.", + "type": "number" + }, + "num_top_feature_importance_values": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/machine-learning/current/ml-feature-importance.html" + }, + "description": "Specifies the maximum number of feature importance values per document.", + "type": "number" + }, + "prediction_field_type": { + "description": "Specifies the type of the predicted field to write. Acceptable values are: string, number, boolean. When boolean is provided 1.0 is transformed to true and 0.0 to false.", + "type": "string" + }, + "results_field": { + "description": "The field that is added to incoming documents to contain the inference prediction. Defaults to predicted_value.", + "type": "string" + }, + "top_classes_results_field": { + "description": "Specifies the field to which the top classes are written. Defaults to top_classes.", + "type": "string" + } + } + }, + "_types.aggregations:MatrixStatsAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:MatrixAggregation" + }, + { + "type": "object", + "properties": { + "mode": { + "$ref": "#/components/schemas/_types:SortMode" + } + } + } + ] + }, + "_types.aggregations:MatrixAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:Aggregation" + }, + { + "type": "object", + "properties": { + "fields": { + "$ref": "#/components/schemas/_types:Fields" + }, + "missing": { + "description": "The value to apply to documents that do not have a value.\nBy default, documents without a value are ignored.", + "type": "object", + "additionalProperties": { + "type": "number" + } + } + } + } + ] + }, + "_types.aggregations:MaxAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:FormatMetricAggregationBase" + }, + { + "type": "object" + } + ] + }, + "_types.aggregations:MaxBucketAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:PipelineAggregationBase" + }, + { + "type": "object" + } + ] + }, + "_types.aggregations:MedianAbsoluteDeviationAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:FormatMetricAggregationBase" + }, + { + "type": "object", + "properties": { + "compression": { + "description": "Limits the maximum number of nodes used by the underlying TDigest algorithm to `20 * compression`, enabling control of memory usage and approximation error.", + "type": "number" + } + } + } + ] + }, + "_types.aggregations:MinAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:FormatMetricAggregationBase" + }, + { + "type": "object" + } + ] + }, + "_types.aggregations:MinBucketAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:PipelineAggregationBase" + }, + { + "type": "object" + } + ] + }, + "_types.aggregations:MissingAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "missing": { + "$ref": "#/components/schemas/_types.aggregations:Missing" + } + } + } + ] + }, + "_types.aggregations:MovingAverageAggregation": { + "discriminator": { + "propertyName": "model" + }, + "oneOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:LinearMovingAverageAggregation" + }, + { + "$ref": "#/components/schemas/_types.aggregations:SimpleMovingAverageAggregation" + }, + { + "$ref": "#/components/schemas/_types.aggregations:EwmaMovingAverageAggregation" + }, + { + "$ref": "#/components/schemas/_types.aggregations:HoltMovingAverageAggregation" + }, + { + "$ref": "#/components/schemas/_types.aggregations:HoltWintersMovingAverageAggregation" + } + ] + }, + "_types.aggregations:LinearMovingAverageAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:MovingAverageAggregationBase" + }, + { + "type": "object", + "properties": { + "model": { + "type": "string", + "enum": [ + "linear" + ] + }, + "settings": { + "$ref": "#/components/schemas/_types:EmptyObject" + } + }, + "required": [ + "model", + "settings" + ] + } + ] + }, + "_types.aggregations:MovingAverageAggregationBase": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:PipelineAggregationBase" + }, + { + "type": "object", + "properties": { + "minimize": { + "type": "boolean" + }, + "predict": { + "type": "number" + }, + "window": { + "type": "number" + } + } + } + ] + }, + "_types:EmptyObject": { + "type": "object" + }, + "_types.aggregations:SimpleMovingAverageAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:MovingAverageAggregationBase" + }, + { + "type": "object", + "properties": { + "model": { + "type": "string", + "enum": [ + "simple" + ] + }, + "settings": { + "$ref": "#/components/schemas/_types:EmptyObject" + } + }, + "required": [ + "model", + "settings" + ] + } + ] + }, + "_types.aggregations:EwmaMovingAverageAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:MovingAverageAggregationBase" + }, + { + "type": "object", + "properties": { + "model": { + "type": "string", + "enum": [ + "ewma" + ] + }, + "settings": { + "$ref": "#/components/schemas/_types.aggregations:EwmaModelSettings" + } + }, + "required": [ + "model", + "settings" + ] + } + ] + }, + "_types.aggregations:EwmaModelSettings": { + "type": "object", + "properties": { + "alpha": { + "type": "number" + } + } + }, + "_types.aggregations:HoltMovingAverageAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:MovingAverageAggregationBase" + }, + { + "type": "object", + "properties": { + "model": { + "type": "string", + "enum": [ + "holt" + ] + }, + "settings": { + "$ref": "#/components/schemas/_types.aggregations:HoltLinearModelSettings" + } + }, + "required": [ + "model", + "settings" + ] + } + ] + }, + "_types.aggregations:HoltLinearModelSettings": { + "type": "object", + "properties": { + "alpha": { + "type": "number" + }, + "beta": { + "type": "number" + } + } + }, + "_types.aggregations:HoltWintersMovingAverageAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:MovingAverageAggregationBase" + }, + { + "type": "object", + "properties": { + "model": { + "type": "string", + "enum": [ + "holt_winters" + ] + }, + "settings": { + "$ref": "#/components/schemas/_types.aggregations:HoltWintersModelSettings" + } + }, + "required": [ + "model", + "settings" + ] + } + ] + }, + "_types.aggregations:HoltWintersModelSettings": { + "type": "object", + "properties": { + "alpha": { + "type": "number" + }, + "beta": { + "type": "number" + }, + "gamma": { + "type": "number" + }, + "pad": { + "type": "boolean" + }, + "period": { + "type": "number" + }, + "type": { + "$ref": "#/components/schemas/_types.aggregations:HoltWintersType" + } + } + }, + "_types.aggregations:HoltWintersType": { + "type": "string", + "enum": [ + "add", + "mult" + ] + }, + "_types.aggregations:MovingPercentilesAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:PipelineAggregationBase" + }, + { + "type": "object", + "properties": { + "window": { + "description": "The size of window to \"slide\" across the histogram.", + "type": "number" + }, + "shift": { + "description": "By default, the window consists of the last n values excluding the current bucket.\nIncreasing `shift` by 1, moves the starting window position by 1 to the right.", + "type": "number" + }, + "keyed": { + "type": "boolean" + } + } + } + ] + }, + "_types.aggregations:MovingFunctionAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:PipelineAggregationBase" + }, + { + "type": "object", + "properties": { + "script": { + "description": "The script that should be executed on each window of data.", + "type": "string" + }, + "shift": { + "description": "By default, the window consists of the last n values excluding the current bucket.\nIncreasing `shift` by 1, moves the starting window position by 1 to the right.", + "type": "number" + }, + "window": { + "description": "The size of window to \"slide\" across the histogram.", + "type": "number" + } + } + } + ] + }, + "_types.aggregations:MultiTermsAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object", + "properties": { + "collect_mode": { + "$ref": "#/components/schemas/_types.aggregations:TermsAggregationCollectMode" + }, + "order": { + "$ref": "#/components/schemas/_types.aggregations:AggregateOrder" + }, + "min_doc_count": { + "description": "The minimum number of documents in a bucket for it to be returned.", + "type": "number" + }, + "shard_min_doc_count": { + "description": "The minimum number of documents in a bucket on each shard for it to be returned.", + "type": "number" + }, + "shard_size": { + "description": "The number of candidate terms produced by each shard.\nBy default, `shard_size` will be automatically estimated based on the number of shards and the `size` parameter.", + "type": "number" + }, + "show_term_doc_count_error": { + "description": "Calculates the doc count error on per term basis.", + "type": "boolean" + }, + "size": { + "description": "The number of term buckets should be returned out of the overall terms list.", + "type": "number" + }, + "terms": { + "description": "The field from which to generate sets of terms.", + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.aggregations:MultiTermLookup" + } + } + }, + "required": [ + "terms" + ] + } + ] + }, + "_types.aggregations:TermsAggregationCollectMode": { + "type": "string", + "enum": [ + "depth_first", + "breadth_first" + ] + }, + "_types.aggregations:MultiTermLookup": { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "missing": { + "$ref": "#/components/schemas/_types.aggregations:Missing" + } + }, + "required": [ + "field" + ] + }, + "_types.aggregations:NestedAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object", + "properties": { + "path": { + "$ref": "#/components/schemas/_types:Field" + } + } + } + ] + }, + "_types.aggregations:NormalizeAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:PipelineAggregationBase" + }, + { + "type": "object", + "properties": { + "method": { + "$ref": "#/components/schemas/_types.aggregations:NormalizeMethod" + } + } + } + ] + }, + "_types.aggregations:NormalizeMethod": { + "type": "string", + "enum": [ + "rescale_0_1", + "rescale_0_100", + "percent_of_sum", + "mean", + "z-score", + "softmax" + ] + }, + "_types.aggregations:ParentAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object", + "properties": { + "type": { + "$ref": "#/components/schemas/_types:RelationName" + } + } + } + ] + }, + "_types.aggregations:PercentileRanksAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:FormatMetricAggregationBase" + }, + { + "type": "object", + "properties": { + "keyed": { + "description": "By default, the aggregation associates a unique string key with each bucket and returns the ranges as a hash rather than an array.\nSet to `false` to disable this behavior.", + "type": "boolean" + }, + "values": { + "description": "An array of values for which to calculate the percentile ranks.", + "oneOf": [ + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "nullable": true, + "type": "string" + } + ] + }, + "hdr": { + "$ref": "#/components/schemas/_types.aggregations:HdrMethod" + }, + "tdigest": { + "$ref": "#/components/schemas/_types.aggregations:TDigest" + } + } + } + ] + }, + "_types.aggregations:HdrMethod": { + "type": "object", + "properties": { + "number_of_significant_value_digits": { + "description": "Specifies the resolution of values for the histogram in number of significant digits.", + "type": "number" + } + } + }, + "_types.aggregations:TDigest": { + "type": "object", + "properties": { + "compression": { + "description": "Limits the maximum number of nodes used by the underlying TDigest algorithm to `20 * compression`, enabling control of memory usage and approximation error.", + "type": "number" + } + } + }, + "_types.aggregations:PercentilesAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:FormatMetricAggregationBase" + }, + { + "type": "object", + "properties": { + "keyed": { + "description": "By default, the aggregation associates a unique string key with each bucket and returns the ranges as a hash rather than an array.\nSet to `false` to disable this behavior.", + "type": "boolean" + }, + "percents": { + "description": "The percentiles to calculate.", + "type": "array", + "items": { + "type": "number" + } + }, + "hdr": { + "$ref": "#/components/schemas/_types.aggregations:HdrMethod" + }, + "tdigest": { + "$ref": "#/components/schemas/_types.aggregations:TDigest" + } + } + } + ] + }, + "_types.aggregations:PercentilesBucketAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:PipelineAggregationBase" + }, + { + "type": "object", + "properties": { + "percents": { + "description": "The list of percentiles to calculate.", + "type": "array", + "items": { + "type": "number" + } + } + } + } + ] + }, + "_types.aggregations:RangeAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "missing": { + "description": "The value to apply to documents that do not have a value.\nBy default, documents without a value are ignored.", + "type": "number" + }, + "ranges": { + "description": "An array of ranges used to bucket documents.", + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.aggregations:AggregationRange" + } + }, + "script": { + "$ref": "#/components/schemas/_types:Script" + }, + "keyed": { + "description": "Set to `true` to associate a unique string key with each bucket and return the ranges as a hash rather than an array.", + "type": "boolean" + }, + "format": { + "type": "string" + } + } + } + ] + }, + "_types.aggregations:RareTermsAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object", + "properties": { + "exclude": { + "$ref": "#/components/schemas/_types.aggregations:TermsExclude" + }, + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "include": { + "$ref": "#/components/schemas/_types.aggregations:TermsInclude" + }, + "max_doc_count": { + "description": "The maximum number of documents a term should appear in.", + "type": "number" + }, + "missing": { + "$ref": "#/components/schemas/_types.aggregations:Missing" + }, + "precision": { + "description": "The precision of the internal CuckooFilters.\nSmaller precision leads to better approximation, but higher memory usage.", + "type": "number" + }, + "value_type": { + "type": "string" + } + } + } + ] + }, + "_types.aggregations:RateAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:FormatMetricAggregationBase" + }, + { + "type": "object", + "properties": { + "unit": { + "$ref": "#/components/schemas/_types.aggregations:CalendarInterval" + }, + "mode": { + "$ref": "#/components/schemas/_types.aggregations:RateMode" + } + } + } + ] + }, + "_types.aggregations:RateMode": { + "type": "string", + "enum": [ + "sum", + "value_count" + ] + }, + "_types.aggregations:ReverseNestedAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object", + "properties": { + "path": { + "$ref": "#/components/schemas/_types:Field" + } + } + } + ] + }, + "_types.aggregations:SamplerAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object", + "properties": { + "shard_size": { + "description": "Limits how many top-scoring documents are collected in the sample processed on each shard.", + "type": "number" + } + } + } + ] + }, + "_types.aggregations:ScriptedMetricAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:MetricAggregationBase" + }, + { + "type": "object", + "properties": { + "combine_script": { + "$ref": "#/components/schemas/_types:Script" + }, + "init_script": { + "$ref": "#/components/schemas/_types:Script" + }, + "map_script": { + "$ref": "#/components/schemas/_types:Script" + }, + "params": { + "description": "A global object with script parameters for `init`, `map` and `combine` scripts.\nIt is shared between the scripts.", + "type": "object", + "additionalProperties": { + "type": "object" + } + }, + "reduce_script": { + "$ref": "#/components/schemas/_types:Script" + } + } + } + ] + }, + "_types.aggregations:SerialDifferencingAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:PipelineAggregationBase" + }, + { + "type": "object", + "properties": { + "lag": { + "description": "The historical bucket to subtract from the current value.\nMust be a positive, non-zero integer.", + "type": "number" + } + } + } + ] + }, + "_types.aggregations:SignificantTermsAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object", + "properties": { + "background_filter": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + }, + "chi_square": { + "$ref": "#/components/schemas/_types.aggregations:ChiSquareHeuristic" + }, + "exclude": { + "$ref": "#/components/schemas/_types.aggregations:TermsExclude" + }, + "execution_hint": { + "$ref": "#/components/schemas/_types.aggregations:TermsAggregationExecutionHint" + }, + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "gnd": { + "$ref": "#/components/schemas/_types.aggregations:GoogleNormalizedDistanceHeuristic" + }, + "include": { + "$ref": "#/components/schemas/_types.aggregations:TermsInclude" + }, + "jlh": { + "$ref": "#/components/schemas/_types:EmptyObject" + }, + "min_doc_count": { + "description": "Only return terms that are found in more than `min_doc_count` hits.", + "type": "number" + }, + "mutual_information": { + "$ref": "#/components/schemas/_types.aggregations:MutualInformationHeuristic" + }, + "percentage": { + "$ref": "#/components/schemas/_types.aggregations:PercentageScoreHeuristic" + }, + "script_heuristic": { + "$ref": "#/components/schemas/_types.aggregations:ScriptedHeuristic" + }, + "shard_min_doc_count": { + "description": "Regulates the certainty a shard has if the term should actually be added to the candidate list or not with respect to the `min_doc_count`.\nTerms will only be considered if their local shard frequency within the set is higher than the `shard_min_doc_count`.", + "type": "number" + }, + "shard_size": { + "description": "Can be used to control the volumes of candidate terms produced by each shard.\nBy default, `shard_size` will be automatically estimated based on the number of shards and the `size` parameter.", + "type": "number" + }, + "size": { + "description": "The number of buckets returned out of the overall terms list.", + "type": "number" + } + } + } + ] + }, + "_types.aggregations:ChiSquareHeuristic": { + "type": "object", + "properties": { + "background_is_superset": { + "description": "Set to `false` if you defined a custom background filter that represents a different set of documents that you want to compare to.", + "type": "boolean" + }, + "include_negatives": { + "description": "Set to `false` to filter out the terms that appear less often in the subset than in documents outside the subset.", + "type": "boolean" + } + }, + "required": [ + "background_is_superset", + "include_negatives" + ] + }, + "_types.aggregations:TermsAggregationExecutionHint": { + "type": "string", + "enum": [ + "map", + "global_ordinals", + "global_ordinals_hash", + "global_ordinals_low_cardinality" + ] + }, + "_types.aggregations:GoogleNormalizedDistanceHeuristic": { + "type": "object", + "properties": { + "background_is_superset": { + "description": "Set to `false` if you defined a custom background filter that represents a different set of documents that you want to compare to.", + "type": "boolean" + } + } + }, + "_types.aggregations:MutualInformationHeuristic": { + "type": "object", + "properties": { + "background_is_superset": { + "description": "Set to `false` if you defined a custom background filter that represents a different set of documents that you want to compare to.", + "type": "boolean" + }, + "include_negatives": { + "description": "Set to `false` to filter out the terms that appear less often in the subset than in documents outside the subset.", + "type": "boolean" + } + } + }, + "_types.aggregations:PercentageScoreHeuristic": { + "type": "object" + }, + "_types.aggregations:ScriptedHeuristic": { + "type": "object", + "properties": { + "script": { + "$ref": "#/components/schemas/_types:Script" + } + }, + "required": [ + "script" + ] + }, + "_types.aggregations:SignificantTextAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object", + "properties": { + "background_filter": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + }, + "chi_square": { + "$ref": "#/components/schemas/_types.aggregations:ChiSquareHeuristic" + }, + "exclude": { + "$ref": "#/components/schemas/_types.aggregations:TermsExclude" + }, + "execution_hint": { + "$ref": "#/components/schemas/_types.aggregations:TermsAggregationExecutionHint" + }, + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "filter_duplicate_text": { + "description": "Whether to out duplicate text to deal with noisy data.", + "type": "boolean" + }, + "gnd": { + "$ref": "#/components/schemas/_types.aggregations:GoogleNormalizedDistanceHeuristic" + }, + "include": { + "$ref": "#/components/schemas/_types.aggregations:TermsInclude" + }, + "jlh": { + "$ref": "#/components/schemas/_types:EmptyObject" + }, + "min_doc_count": { + "description": "Only return values that are found in more than `min_doc_count` hits.", + "type": "number" + }, + "mutual_information": { + "$ref": "#/components/schemas/_types.aggregations:MutualInformationHeuristic" + }, + "percentage": { + "$ref": "#/components/schemas/_types.aggregations:PercentageScoreHeuristic" + }, + "script_heuristic": { + "$ref": "#/components/schemas/_types.aggregations:ScriptedHeuristic" + }, + "shard_min_doc_count": { + "description": "Regulates the certainty a shard has if the values should actually be added to the candidate list or not with respect to the min_doc_count.\nValues will only be considered if their local shard frequency within the set is higher than the `shard_min_doc_count`.", + "type": "number" + }, + "shard_size": { + "description": "The number of candidate terms produced by each shard.\nBy default, `shard_size` will be automatically estimated based on the number of shards and the `size` parameter.", + "type": "number" + }, + "size": { + "description": "The number of buckets returned out of the overall terms list.", + "type": "number" + }, + "source_fields": { + "$ref": "#/components/schemas/_types:Fields" + } + } + } + ] + }, + "_types.aggregations:StatsAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:FormatMetricAggregationBase" + }, + { + "type": "object" + } + ] + }, + "_types.aggregations:StatsBucketAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:PipelineAggregationBase" + }, + { + "type": "object" + } + ] + }, + "_types.aggregations:StringStatsAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:MetricAggregationBase" + }, + { + "type": "object", + "properties": { + "show_distribution": { + "description": "Shows the probability distribution for all characters.", + "type": "boolean" + } + } + } + ] + }, + "_types.aggregations:SumAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:FormatMetricAggregationBase" + }, + { + "type": "object" + } + ] + }, + "_types.aggregations:SumBucketAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:PipelineAggregationBase" + }, + { + "type": "object" + } + ] + }, + "_types.aggregations:TermsAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object", + "properties": { + "collect_mode": { + "$ref": "#/components/schemas/_types.aggregations:TermsAggregationCollectMode" + }, + "exclude": { + "$ref": "#/components/schemas/_types.aggregations:TermsExclude" + }, + "execution_hint": { + "$ref": "#/components/schemas/_types.aggregations:TermsAggregationExecutionHint" + }, + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "include": { + "$ref": "#/components/schemas/_types.aggregations:TermsInclude" + }, + "min_doc_count": { + "description": "Only return values that are found in more than `min_doc_count` hits.", + "type": "number" + }, + "missing": { + "$ref": "#/components/schemas/_types.aggregations:Missing" + }, + "missing_order": { + "$ref": "#/components/schemas/_types.aggregations:MissingOrder" + }, + "missing_bucket": { + "type": "boolean" + }, + "value_type": { + "description": "Coerced unmapped fields into the specified type.", + "type": "string" + }, + "order": { + "$ref": "#/components/schemas/_types.aggregations:AggregateOrder" + }, + "script": { + "$ref": "#/components/schemas/_types:Script" + }, + "shard_size": { + "description": "The number of candidate terms produced by each shard.\nBy default, `shard_size` will be automatically estimated based on the number of shards and the `size` parameter.", + "type": "number" + }, + "show_term_doc_count_error": { + "description": "Set to `true` to return the `doc_count_error_upper_bound`, which is an upper bound to the error on the `doc_count` returned by each shard.", + "type": "boolean" + }, + "size": { + "description": "The number of buckets returned out of the overall terms list.", + "type": "number" + }, + "format": { + "type": "string" + } + } + } + ] + }, + "_types.aggregations:TopHitsAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:MetricAggregationBase" + }, + { + "type": "object", + "properties": { + "docvalue_fields": { + "description": "Fields for which to return doc values.", + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.query_dsl:FieldAndFormat" + } + }, + "explain": { + "description": "If `true`, returns detailed information about score computation as part of a hit.", + "type": "boolean" + }, + "fields": { + "description": "Array of wildcard (*) patterns. The request returns values for field names\nmatching these patterns in the hits.fields property of the response.", + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.query_dsl:FieldAndFormat" + } + }, + "from": { + "description": "Starting document offset.", + "type": "number" + }, + "highlight": { + "$ref": "#/components/schemas/_global.search._types:Highlight" + }, + "script_fields": { + "description": "Returns the result of one or more script evaluations for each hit.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types:ScriptField" + } + }, + "size": { + "description": "The maximum number of top matching hits to return per bucket.", + "type": "number" + }, + "sort": { + "$ref": "#/components/schemas/_types:Sort" + }, + "_source": { + "$ref": "#/components/schemas/_global.search._types:SourceConfig" + }, + "stored_fields": { + "$ref": "#/components/schemas/_types:Fields" + }, + "track_scores": { + "description": "If `true`, calculates and returns document scores, even if the scores are not used for sorting.", + "type": "boolean" + }, + "version": { + "description": "If `true`, returns document version as part of a hit.", + "type": "boolean" + }, + "seq_no_primary_term": { + "description": "If `true`, returns sequence number and primary term of the last modification of each hit.", + "type": "boolean" + } + } + } + ] + }, + "_types.aggregations:TTestAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:Aggregation" + }, + { + "type": "object", + "properties": { + "a": { + "$ref": "#/components/schemas/_types.aggregations:TestPopulation" + }, + "b": { + "$ref": "#/components/schemas/_types.aggregations:TestPopulation" + }, + "type": { + "$ref": "#/components/schemas/_types.aggregations:TTestType" + } + } + } + ] + }, + "_types.aggregations:TestPopulation": { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "script": { + "$ref": "#/components/schemas/_types:Script" + }, + "filter": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + } + }, + "required": [ + "field" + ] + }, + "_types.aggregations:TTestType": { + "type": "string", + "enum": [ + "paired", + "homoscedastic", + "heteroscedastic" + ] + }, + "_types.aggregations:TopMetricsAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:MetricAggregationBase" + }, + { + "type": "object", + "properties": { + "metrics": { + "description": "The fields of the top document to return.", + "oneOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:TopMetricsValue" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.aggregations:TopMetricsValue" + } + } + ] + }, + "size": { + "description": "The number of top documents from which to return metrics.", + "type": "number" + }, + "sort": { + "$ref": "#/components/schemas/_types:Sort" + } + } + } + ] + }, + "_types.aggregations:TopMetricsValue": { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + } + }, + "required": [ + "field" + ] + }, + "_types.aggregations:ValueCountAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:FormattableMetricAggregation" + }, + { + "type": "object" + } + ] + }, + "_types.aggregations:FormattableMetricAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:MetricAggregationBase" + }, + { + "type": "object", + "properties": { + "format": { + "type": "string" + } + } + } + ] + }, + "_types.aggregations:WeightedAverageAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:Aggregation" + }, + { + "type": "object", + "properties": { + "format": { + "description": "A numeric response formatter.", + "type": "string" + }, + "value": { + "$ref": "#/components/schemas/_types.aggregations:WeightedAverageValue" + }, + "value_type": { + "$ref": "#/components/schemas/_types.aggregations:ValueType" + }, + "weight": { + "$ref": "#/components/schemas/_types.aggregations:WeightedAverageValue" + } + } + } + ] + }, + "_types.aggregations:WeightedAverageValue": { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "missing": { + "description": "A value or weight to use if the field is missing.", + "type": "number" + }, + "script": { + "$ref": "#/components/schemas/_types:Script" + } + } + }, + "_types.aggregations:VariableWidthHistogramAggregation": { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "buckets": { + "description": "The target number of buckets.", + "type": "number" + }, + "shard_size": { + "description": "The number of buckets that the coordinating node will request from each shard.\nDefaults to `buckets * 50`.", + "type": "number" + }, + "initial_buffer": { + "description": "Specifies the number of individual documents that will be stored in memory on a shard before the initial bucketing algorithm is run.\nDefaults to `min(10 * shard_size, 50000)`.", + "type": "number" + }, + "script": { + "$ref": "#/components/schemas/_types:Script" + } + } + }, + "ml._types:ChunkingConfig": { + "type": "object", + "properties": { + "mode": { + "$ref": "#/components/schemas/ml._types:ChunkingMode" + }, + "time_span": { + "$ref": "#/components/schemas/_types:Duration" + } + }, + "required": [ + "mode" + ] + }, + "ml._types:ChunkingMode": { + "type": "string", + "enum": [ + "auto", + "manual", + "off" + ] + }, + "ml._types:DelayedDataCheckConfig": { + "type": "object", + "properties": { + "check_window": { + "$ref": "#/components/schemas/_types:Duration" + }, + "enabled": { + "description": "Specifies whether the datafeed periodically checks for delayed data.", + "type": "boolean" + } + }, + "required": [ + "enabled" + ] + }, + "_types:Indices": { + "oneOf": [ + { + "$ref": "#/components/schemas/_types:IndexName" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/_types:IndexName" + } + } + ] + }, + "_types:IndicesOptions": { + "type": "object", + "properties": { + "allow_no_indices": { + "description": "If false, the request returns an error if any wildcard expression, index alias, or `_all` value targets only\nmissing or closed indices. This behavior applies even if the request targets other open indices. For example,\na request targeting `foo*,bar*` returns an error if an index starts with `foo` but no index starts with `bar`.", + "type": "boolean" + }, + "expand_wildcards": { + "$ref": "#/components/schemas/_types:ExpandWildcards" + }, + "ignore_unavailable": { + "description": "If true, missing or closed indices are not included in the response.", + "type": "boolean" + }, + "ignore_throttled": { + "description": "If true, concrete, expanded or aliased indices are ignored when frozen.", + "type": "boolean" + } + } + }, + "_types:ExpandWildcards": { + "oneOf": [ + { + "$ref": "#/components/schemas/_types:ExpandWildcard" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/_types:ExpandWildcard" + } + } + ] + }, + "_types:ExpandWildcard": { + "type": "string", + "enum": [ + "all", + "open", + "closed", + "hidden", + "none" + ] + }, + "_types.mapping:RuntimeFields": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.mapping:RuntimeField" + } + }, + "_types.mapping:RuntimeField": { + "type": "object", + "properties": { + "fetch_fields": { + "description": "For type `lookup`", + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.mapping:RuntimeFieldFetchFields" + } + }, + "format": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-date-format.html" + }, + "description": "A custom format for `date` type runtime fields.", + "type": "string" + }, + "input_field": { + "$ref": "#/components/schemas/_types:Field" + }, + "target_field": { + "$ref": "#/components/schemas/_types:Field" + }, + "target_index": { + "$ref": "#/components/schemas/_types:IndexName" + }, + "script": { + "$ref": "#/components/schemas/_types:Script" + }, + "type": { + "$ref": "#/components/schemas/_types.mapping:RuntimeFieldType" + } + }, + "required": [ + "type" + ] + }, + "_types.mapping:RuntimeFieldFetchFields": { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "format": { + "type": "string" + } + }, + "required": [ + "field" + ] + }, + "_types.mapping:RuntimeFieldType": { + "type": "string", + "enum": [ + "boolean", + "composite", + "date", + "double", + "geo_point", + "ip", + "keyword", + "long", + "lookup" + ] + }, + "_types:HttpHeaders": { + "type": "object", + "additionalProperties": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + } + } + } + } +} \ No newline at end of file diff --git a/x-pack/packages/ml/json_schemas/src/put___transform__transform_id___pivot_schema.json b/x-pack/packages/ml/json_schemas/src/put___transform__transform_id___pivot_schema.json new file mode 100644 index 0000000000000..4aedd396c40c1 --- /dev/null +++ b/x-pack/packages/ml/json_schemas/src/put___transform__transform_id___pivot_schema.json @@ -0,0 +1,7852 @@ +{ + "type": "object", + "properties": { + "aggregations": { + "description": "Defines how to aggregate the grouped data. The following aggregations are currently supported: average, bucket\nscript, bucket selector, cardinality, filter, geo bounds, geo centroid, geo line, max, median absolute deviation,\nmin, missing, percentiles, rare terms, scripted metric, stats, sum, terms, top metrics, value count, weighted\naverage.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.aggregations:AggregationContainer" + } + }, + "group_by": { + "description": "Defines how to group the data. More than one grouping can be defined per pivot. The following groupings are\ncurrently supported: date histogram, geotile grid, histogram, terms.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/transform._types:PivotGroupByContainer" + } + } + }, + "components": { + "schemas": { + "_types.aggregations:AggregationContainer": { + "allOf": [ + { + "type": "object", + "properties": { + "aggregations": { + "description": "Sub-aggregations for this aggregation.\nOnly applies to bucket aggregations.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.aggregations:AggregationContainer" + } + }, + "meta": { + "$ref": "#/components/schemas/_types:Metadata" + } + } + }, + { + "type": "object", + "properties": { + "adjacency_matrix": { + "$ref": "#/components/schemas/_types.aggregations:AdjacencyMatrixAggregation" + }, + "auto_date_histogram": { + "$ref": "#/components/schemas/_types.aggregations:AutoDateHistogramAggregation" + }, + "avg": { + "$ref": "#/components/schemas/_types.aggregations:AverageAggregation" + }, + "avg_bucket": { + "$ref": "#/components/schemas/_types.aggregations:AverageBucketAggregation" + }, + "boxplot": { + "$ref": "#/components/schemas/_types.aggregations:BoxplotAggregation" + }, + "bucket_script": { + "$ref": "#/components/schemas/_types.aggregations:BucketScriptAggregation" + }, + "bucket_selector": { + "$ref": "#/components/schemas/_types.aggregations:BucketSelectorAggregation" + }, + "bucket_sort": { + "$ref": "#/components/schemas/_types.aggregations:BucketSortAggregation" + }, + "bucket_count_ks_test": { + "$ref": "#/components/schemas/_types.aggregations:BucketKsAggregation" + }, + "bucket_correlation": { + "$ref": "#/components/schemas/_types.aggregations:BucketCorrelationAggregation" + }, + "cardinality": { + "$ref": "#/components/schemas/_types.aggregations:CardinalityAggregation" + }, + "categorize_text": { + "$ref": "#/components/schemas/_types.aggregations:CategorizeTextAggregation" + }, + "children": { + "$ref": "#/components/schemas/_types.aggregations:ChildrenAggregation" + }, + "composite": { + "$ref": "#/components/schemas/_types.aggregations:CompositeAggregation" + }, + "cumulative_cardinality": { + "$ref": "#/components/schemas/_types.aggregations:CumulativeCardinalityAggregation" + }, + "cumulative_sum": { + "$ref": "#/components/schemas/_types.aggregations:CumulativeSumAggregation" + }, + "date_histogram": { + "$ref": "#/components/schemas/_types.aggregations:DateHistogramAggregation" + }, + "date_range": { + "$ref": "#/components/schemas/_types.aggregations:DateRangeAggregation" + }, + "derivative": { + "$ref": "#/components/schemas/_types.aggregations:DerivativeAggregation" + }, + "diversified_sampler": { + "$ref": "#/components/schemas/_types.aggregations:DiversifiedSamplerAggregation" + }, + "extended_stats": { + "$ref": "#/components/schemas/_types.aggregations:ExtendedStatsAggregation" + }, + "extended_stats_bucket": { + "$ref": "#/components/schemas/_types.aggregations:ExtendedStatsBucketAggregation" + }, + "frequent_item_sets": { + "$ref": "#/components/schemas/_types.aggregations:FrequentItemSetsAggregation" + }, + "filter": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + }, + "filters": { + "$ref": "#/components/schemas/_types.aggregations:FiltersAggregation" + }, + "geo_bounds": { + "$ref": "#/components/schemas/_types.aggregations:GeoBoundsAggregation" + }, + "geo_centroid": { + "$ref": "#/components/schemas/_types.aggregations:GeoCentroidAggregation" + }, + "geo_distance": { + "$ref": "#/components/schemas/_types.aggregations:GeoDistanceAggregation" + }, + "geohash_grid": { + "$ref": "#/components/schemas/_types.aggregations:GeoHashGridAggregation" + }, + "geo_line": { + "$ref": "#/components/schemas/_types.aggregations:GeoLineAggregation" + }, + "geotile_grid": { + "$ref": "#/components/schemas/_types.aggregations:GeoTileGridAggregation" + }, + "geohex_grid": { + "$ref": "#/components/schemas/_types.aggregations:GeohexGridAggregation" + }, + "global": { + "$ref": "#/components/schemas/_types.aggregations:GlobalAggregation" + }, + "histogram": { + "$ref": "#/components/schemas/_types.aggregations:HistogramAggregation" + }, + "ip_range": { + "$ref": "#/components/schemas/_types.aggregations:IpRangeAggregation" + }, + "ip_prefix": { + "$ref": "#/components/schemas/_types.aggregations:IpPrefixAggregation" + }, + "inference": { + "$ref": "#/components/schemas/_types.aggregations:InferenceAggregation" + }, + "line": { + "$ref": "#/components/schemas/_types.aggregations:GeoLineAggregation" + }, + "matrix_stats": { + "$ref": "#/components/schemas/_types.aggregations:MatrixStatsAggregation" + }, + "max": { + "$ref": "#/components/schemas/_types.aggregations:MaxAggregation" + }, + "max_bucket": { + "$ref": "#/components/schemas/_types.aggregations:MaxBucketAggregation" + }, + "median_absolute_deviation": { + "$ref": "#/components/schemas/_types.aggregations:MedianAbsoluteDeviationAggregation" + }, + "min": { + "$ref": "#/components/schemas/_types.aggregations:MinAggregation" + }, + "min_bucket": { + "$ref": "#/components/schemas/_types.aggregations:MinBucketAggregation" + }, + "missing": { + "$ref": "#/components/schemas/_types.aggregations:MissingAggregation" + }, + "moving_avg": { + "$ref": "#/components/schemas/_types.aggregations:MovingAverageAggregation" + }, + "moving_percentiles": { + "$ref": "#/components/schemas/_types.aggregations:MovingPercentilesAggregation" + }, + "moving_fn": { + "$ref": "#/components/schemas/_types.aggregations:MovingFunctionAggregation" + }, + "multi_terms": { + "$ref": "#/components/schemas/_types.aggregations:MultiTermsAggregation" + }, + "nested": { + "$ref": "#/components/schemas/_types.aggregations:NestedAggregation" + }, + "normalize": { + "$ref": "#/components/schemas/_types.aggregations:NormalizeAggregation" + }, + "parent": { + "$ref": "#/components/schemas/_types.aggregations:ParentAggregation" + }, + "percentile_ranks": { + "$ref": "#/components/schemas/_types.aggregations:PercentileRanksAggregation" + }, + "percentiles": { + "$ref": "#/components/schemas/_types.aggregations:PercentilesAggregation" + }, + "percentiles_bucket": { + "$ref": "#/components/schemas/_types.aggregations:PercentilesBucketAggregation" + }, + "range": { + "$ref": "#/components/schemas/_types.aggregations:RangeAggregation" + }, + "rare_terms": { + "$ref": "#/components/schemas/_types.aggregations:RareTermsAggregation" + }, + "rate": { + "$ref": "#/components/schemas/_types.aggregations:RateAggregation" + }, + "reverse_nested": { + "$ref": "#/components/schemas/_types.aggregations:ReverseNestedAggregation" + }, + "sampler": { + "$ref": "#/components/schemas/_types.aggregations:SamplerAggregation" + }, + "scripted_metric": { + "$ref": "#/components/schemas/_types.aggregations:ScriptedMetricAggregation" + }, + "serial_diff": { + "$ref": "#/components/schemas/_types.aggregations:SerialDifferencingAggregation" + }, + "significant_terms": { + "$ref": "#/components/schemas/_types.aggregations:SignificantTermsAggregation" + }, + "significant_text": { + "$ref": "#/components/schemas/_types.aggregations:SignificantTextAggregation" + }, + "stats": { + "$ref": "#/components/schemas/_types.aggregations:StatsAggregation" + }, + "stats_bucket": { + "$ref": "#/components/schemas/_types.aggregations:StatsBucketAggregation" + }, + "string_stats": { + "$ref": "#/components/schemas/_types.aggregations:StringStatsAggregation" + }, + "sum": { + "$ref": "#/components/schemas/_types.aggregations:SumAggregation" + }, + "sum_bucket": { + "$ref": "#/components/schemas/_types.aggregations:SumBucketAggregation" + }, + "terms": { + "$ref": "#/components/schemas/_types.aggregations:TermsAggregation" + }, + "top_hits": { + "$ref": "#/components/schemas/_types.aggregations:TopHitsAggregation" + }, + "t_test": { + "$ref": "#/components/schemas/_types.aggregations:TTestAggregation" + }, + "top_metrics": { + "$ref": "#/components/schemas/_types.aggregations:TopMetricsAggregation" + }, + "value_count": { + "$ref": "#/components/schemas/_types.aggregations:ValueCountAggregation" + }, + "weighted_avg": { + "$ref": "#/components/schemas/_types.aggregations:WeightedAverageAggregation" + }, + "variable_width_histogram": { + "$ref": "#/components/schemas/_types.aggregations:VariableWidthHistogramAggregation" + } + }, + "minProperties": 1, + "maxProperties": 1 + } + ] + }, + "_types:Metadata": { + "type": "object", + "additionalProperties": { + "type": "object" + } + }, + "_types.aggregations:AdjacencyMatrixAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object", + "properties": { + "filters": { + "description": "Filters used to create buckets.\nAt least one filter is required.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + } + }, + "separator": { + "description": "Separator used to concatenate filter names. Defaults to &.", + "type": "string" + } + } + } + ] + }, + "_types.aggregations:BucketAggregationBase": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:Aggregation" + }, + { + "type": "object" + } + ] + }, + "_types.aggregations:Aggregation": { + "type": "object" + }, + "_types.query_dsl:QueryContainer": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl.html" + }, + "type": "object", + "properties": { + "bool": { + "$ref": "#/components/schemas/_types.query_dsl:BoolQuery" + }, + "boosting": { + "$ref": "#/components/schemas/_types.query_dsl:BoostingQuery" + }, + "common": { + "deprecated": true, + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.query_dsl:CommonTermsQuery" + }, + "minProperties": 1, + "maxProperties": 1 + }, + "combined_fields": { + "$ref": "#/components/schemas/_types.query_dsl:CombinedFieldsQuery" + }, + "constant_score": { + "$ref": "#/components/schemas/_types.query_dsl:ConstantScoreQuery" + }, + "dis_max": { + "$ref": "#/components/schemas/_types.query_dsl:DisMaxQuery" + }, + "distance_feature": { + "$ref": "#/components/schemas/_types.query_dsl:DistanceFeatureQuery" + }, + "exists": { + "$ref": "#/components/schemas/_types.query_dsl:ExistsQuery" + }, + "function_score": { + "$ref": "#/components/schemas/_types.query_dsl:FunctionScoreQuery" + }, + "fuzzy": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-fuzzy-query.html" + }, + "description": "Returns documents that contain terms similar to the search term, as measured by a Levenshtein edit distance.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.query_dsl:FuzzyQuery" + }, + "minProperties": 1, + "maxProperties": 1 + }, + "geo_bounding_box": { + "$ref": "#/components/schemas/_types.query_dsl:GeoBoundingBoxQuery" + }, + "geo_distance": { + "$ref": "#/components/schemas/_types.query_dsl:GeoDistanceQuery" + }, + "geo_polygon": { + "$ref": "#/components/schemas/_types.query_dsl:GeoPolygonQuery" + }, + "geo_shape": { + "$ref": "#/components/schemas/_types.query_dsl:GeoShapeQuery" + }, + "has_child": { + "$ref": "#/components/schemas/_types.query_dsl:HasChildQuery" + }, + "has_parent": { + "$ref": "#/components/schemas/_types.query_dsl:HasParentQuery" + }, + "ids": { + "$ref": "#/components/schemas/_types.query_dsl:IdsQuery" + }, + "intervals": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-intervals-query.html" + }, + "description": "Returns documents based on the order and proximity of matching terms.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsQuery" + }, + "minProperties": 1, + "maxProperties": 1 + }, + "knn": { + "$ref": "#/components/schemas/_types:KnnQuery" + }, + "match": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-match-query.html" + }, + "description": "Returns documents that match a provided text, number, date or boolean value.\nThe provided text is analyzed before matching.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.query_dsl:MatchQuery" + }, + "minProperties": 1, + "maxProperties": 1 + }, + "match_all": { + "$ref": "#/components/schemas/_types.query_dsl:MatchAllQuery" + }, + "match_bool_prefix": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-match-bool-prefix-query.html" + }, + "description": "Analyzes its input and constructs a `bool` query from the terms.\nEach term except the last is used in a `term` query.\nThe last term is used in a prefix query.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.query_dsl:MatchBoolPrefixQuery" + }, + "minProperties": 1, + "maxProperties": 1 + }, + "match_none": { + "$ref": "#/components/schemas/_types.query_dsl:MatchNoneQuery" + }, + "match_phrase": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-match-query-phrase.html" + }, + "description": "Analyzes the text and creates a phrase query out of the analyzed text.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.query_dsl:MatchPhraseQuery" + }, + "minProperties": 1, + "maxProperties": 1 + }, + "match_phrase_prefix": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-match-query-phrase-prefix.html" + }, + "description": "Returns documents that contain the words of a provided text, in the same order as provided.\nThe last term of the provided text is treated as a prefix, matching any words that begin with that term.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.query_dsl:MatchPhrasePrefixQuery" + }, + "minProperties": 1, + "maxProperties": 1 + }, + "more_like_this": { + "$ref": "#/components/schemas/_types.query_dsl:MoreLikeThisQuery" + }, + "multi_match": { + "$ref": "#/components/schemas/_types.query_dsl:MultiMatchQuery" + }, + "nested": { + "$ref": "#/components/schemas/_types.query_dsl:NestedQuery" + }, + "parent_id": { + "$ref": "#/components/schemas/_types.query_dsl:ParentIdQuery" + }, + "percolate": { + "$ref": "#/components/schemas/_types.query_dsl:PercolateQuery" + }, + "pinned": { + "$ref": "#/components/schemas/_types.query_dsl:PinnedQuery" + }, + "prefix": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-prefix-query.html" + }, + "description": "Returns documents that contain a specific prefix in a provided field.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.query_dsl:PrefixQuery" + }, + "minProperties": 1, + "maxProperties": 1 + }, + "query_string": { + "$ref": "#/components/schemas/_types.query_dsl:QueryStringQuery" + }, + "range": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-range-query.html" + }, + "description": "Returns documents that contain terms within a provided range.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.query_dsl:RangeQuery" + }, + "minProperties": 1, + "maxProperties": 1 + }, + "rank_feature": { + "$ref": "#/components/schemas/_types.query_dsl:RankFeatureQuery" + }, + "regexp": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-regexp-query.html" + }, + "description": "Returns documents that contain terms matching a regular expression.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.query_dsl:RegexpQuery" + }, + "minProperties": 1, + "maxProperties": 1 + }, + "rule_query": { + "$ref": "#/components/schemas/_types.query_dsl:RuleQuery" + }, + "script": { + "$ref": "#/components/schemas/_types.query_dsl:ScriptQuery" + }, + "script_score": { + "$ref": "#/components/schemas/_types.query_dsl:ScriptScoreQuery" + }, + "shape": { + "$ref": "#/components/schemas/_types.query_dsl:ShapeQuery" + }, + "simple_query_string": { + "$ref": "#/components/schemas/_types.query_dsl:SimpleQueryStringQuery" + }, + "span_containing": { + "$ref": "#/components/schemas/_types.query_dsl:SpanContainingQuery" + }, + "field_masking_span": { + "$ref": "#/components/schemas/_types.query_dsl:SpanFieldMaskingQuery" + }, + "span_first": { + "$ref": "#/components/schemas/_types.query_dsl:SpanFirstQuery" + }, + "span_multi": { + "$ref": "#/components/schemas/_types.query_dsl:SpanMultiTermQuery" + }, + "span_near": { + "$ref": "#/components/schemas/_types.query_dsl:SpanNearQuery" + }, + "span_not": { + "$ref": "#/components/schemas/_types.query_dsl:SpanNotQuery" + }, + "span_or": { + "$ref": "#/components/schemas/_types.query_dsl:SpanOrQuery" + }, + "span_term": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-span-term-query.html" + }, + "description": "Matches spans containing a term.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.query_dsl:SpanTermQuery" + }, + "minProperties": 1, + "maxProperties": 1 + }, + "span_within": { + "$ref": "#/components/schemas/_types.query_dsl:SpanWithinQuery" + }, + "term": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-term-query.html" + }, + "description": "Returns documents that contain an exact term in a provided field.\nTo return a document, the query term must exactly match the queried field's value, including whitespace and capitalization.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.query_dsl:TermQuery" + }, + "minProperties": 1, + "maxProperties": 1 + }, + "terms": { + "$ref": "#/components/schemas/_types.query_dsl:TermsQuery" + }, + "terms_set": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-terms-set-query.html" + }, + "description": "Returns documents that contain a minimum number of exact terms in a provided field.\nTo return a document, a required number of terms must exactly match the field values, including whitespace and capitalization.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.query_dsl:TermsSetQuery" + }, + "minProperties": 1, + "maxProperties": 1 + }, + "text_expansion": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-text-expansion-query.html" + }, + "description": "Uses a natural language processing model to convert the query text into a list of token-weight pairs which are then used in a query against a sparse vector or rank features field.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.query_dsl:TextExpansionQuery" + }, + "minProperties": 1, + "maxProperties": 1 + }, + "weighted_tokens": { + "description": "Supports returning text_expansion query results by sending in precomputed tokens with the query.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.query_dsl:WeightedTokensQuery" + }, + "minProperties": 1, + "maxProperties": 1 + }, + "wildcard": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-wildcard-query.html" + }, + "description": "Returns documents that contain terms matching a wildcard pattern.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.query_dsl:WildcardQuery" + }, + "minProperties": 1, + "maxProperties": 1 + }, + "wrapper": { + "$ref": "#/components/schemas/_types.query_dsl:WrapperQuery" + }, + "type": { + "$ref": "#/components/schemas/_types.query_dsl:TypeQuery" + } + }, + "minProperties": 1, + "maxProperties": 1 + }, + "_types.query_dsl:BoolQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "filter": { + "description": "The clause (query) must appear in matching documents.\nHowever, unlike `must`, the score of the query will be ignored.", + "oneOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + } + } + ] + }, + "minimum_should_match": { + "$ref": "#/components/schemas/_types:MinimumShouldMatch" + }, + "must": { + "description": "The clause (query) must appear in matching documents and will contribute to the score.", + "oneOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + } + } + ] + }, + "must_not": { + "description": "The clause (query) must not appear in the matching documents.\nBecause scoring is ignored, a score of `0` is returned for all documents.", + "oneOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + } + } + ] + }, + "should": { + "description": "The clause (query) should appear in the matching document.", + "oneOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + } + } + ] + } + } + } + ] + }, + "_types.query_dsl:QueryBase": { + "type": "object", + "properties": { + "boost": { + "description": "Floating point number used to decrease or increase the relevance scores of the query.\nBoost values are relative to the default value of 1.0.\nA boost value between 0 and 1.0 decreases the relevance score.\nA value greater than 1.0 increases the relevance score.", + "type": "number" + }, + "_name": { + "type": "string" + } + } + }, + "_types:MinimumShouldMatch": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-minimum-should-match.html" + }, + "description": "The minimum number of terms that should match as integer, percentage or range", + "oneOf": [ + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "_types.query_dsl:BoostingQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "negative_boost": { + "description": "Floating point number between 0 and 1.0 used to decrease the relevance scores of documents matching the `negative` query.", + "type": "number" + }, + "negative": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + }, + "positive": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + } + }, + "required": [ + "negative_boost", + "negative", + "positive" + ] + } + ] + }, + "_types.query_dsl:CommonTermsQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "analyzer": { + "type": "string" + }, + "cutoff_frequency": { + "type": "number" + }, + "high_freq_operator": { + "$ref": "#/components/schemas/_types.query_dsl:Operator" + }, + "low_freq_operator": { + "$ref": "#/components/schemas/_types.query_dsl:Operator" + }, + "minimum_should_match": { + "$ref": "#/components/schemas/_types:MinimumShouldMatch" + }, + "query": { + "type": "string" + } + }, + "required": [ + "query" + ] + } + ] + }, + "_types.query_dsl:Operator": { + "type": "string", + "enum": [ + "and", + "AND", + "or", + "OR" + ] + }, + "_types.query_dsl:CombinedFieldsQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "fields": { + "description": "List of fields to search. Field wildcard patterns are allowed. Only `text` fields are supported, and they must all have the same search `analyzer`.", + "type": "array", + "items": { + "$ref": "#/components/schemas/_types:Field" + } + }, + "query": { + "description": "Text to search for in the provided `fields`.\nThe `combined_fields` query analyzes the provided text before performing a search.", + "type": "string" + }, + "auto_generate_synonyms_phrase_query": { + "description": "If true, match phrase queries are automatically created for multi-term synonyms.", + "type": "boolean" + }, + "operator": { + "$ref": "#/components/schemas/_types.query_dsl:CombinedFieldsOperator" + }, + "minimum_should_match": { + "$ref": "#/components/schemas/_types:MinimumShouldMatch" + }, + "zero_terms_query": { + "$ref": "#/components/schemas/_types.query_dsl:CombinedFieldsZeroTerms" + } + }, + "required": [ + "fields", + "query" + ] + } + ] + }, + "_types:Field": { + "description": "Path to field or array of paths. Some API's support wildcards in the path to select multiple fields.", + "type": "string" + }, + "_types.query_dsl:CombinedFieldsOperator": { + "type": "string", + "enum": [ + "or", + "and" + ] + }, + "_types.query_dsl:CombinedFieldsZeroTerms": { + "type": "string", + "enum": [ + "none", + "all" + ] + }, + "_types.query_dsl:ConstantScoreQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "filter": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + } + }, + "required": [ + "filter" + ] + } + ] + }, + "_types.query_dsl:DisMaxQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "queries": { + "description": "One or more query clauses.\nReturned documents must match one or more of these queries.\nIf a document matches multiple queries, Elasticsearch uses the highest relevance score.", + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + } + }, + "tie_breaker": { + "description": "Floating point number between 0 and 1.0 used to increase the relevance scores of documents matching multiple query clauses.", + "type": "number" + } + }, + "required": [ + "queries" + ] + } + ] + }, + "_types.query_dsl:DistanceFeatureQuery": { + "oneOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:GeoDistanceFeatureQuery" + }, + { + "$ref": "#/components/schemas/_types.query_dsl:DateDistanceFeatureQuery" + } + ] + }, + "_types.query_dsl:GeoDistanceFeatureQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:DistanceFeatureQueryBaseGeoLocationDistance" + }, + { + "type": "object" + } + ] + }, + "_types.query_dsl:DistanceFeatureQueryBaseGeoLocationDistance": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "origin": { + "$ref": "#/components/schemas/_types:GeoLocation" + }, + "pivot": { + "$ref": "#/components/schemas/_types:Distance" + }, + "field": { + "$ref": "#/components/schemas/_types:Field" + } + }, + "required": [ + "origin", + "pivot", + "field" + ] + } + ] + }, + "_types:GeoLocation": { + "description": "A latitude/longitude as a 2 dimensional point. It can be represented in various ways:\n- as a `{lat, long}` object\n- as a geo hash value\n- as a `[lon, lat]` array\n- as a string in `\", \"` or WKT point formats", + "oneOf": [ + { + "$ref": "#/components/schemas/_types:LatLonGeoLocation" + }, + { + "$ref": "#/components/schemas/_types:GeoHashLocation" + }, + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "type": "string" + } + ] + }, + "_types:LatLonGeoLocation": { + "type": "object", + "properties": { + "lat": { + "description": "Latitude", + "type": "number" + }, + "lon": { + "description": "Longitude", + "type": "number" + } + }, + "required": [ + "lat", + "lon" + ] + }, + "_types:GeoHashLocation": { + "type": "object", + "properties": { + "geohash": { + "$ref": "#/components/schemas/_types:GeoHash" + } + }, + "required": [ + "geohash" + ] + }, + "_types:GeoHash": { + "type": "string" + }, + "_types:Distance": { + "type": "string" + }, + "_types.query_dsl:DateDistanceFeatureQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:DistanceFeatureQueryBaseDateMathDuration" + }, + { + "type": "object" + } + ] + }, + "_types.query_dsl:DistanceFeatureQueryBaseDateMathDuration": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "origin": { + "$ref": "#/components/schemas/_types:DateMath" + }, + "pivot": { + "$ref": "#/components/schemas/_types:Duration" + }, + "field": { + "$ref": "#/components/schemas/_types:Field" + } + }, + "required": [ + "origin", + "pivot", + "field" + ] + } + ] + }, + "_types:DateMath": { + "type": "string" + }, + "_types:Duration": { + "externalDocs": { + "url": "https://github.com/elastic/elasticsearch/blob/current/libs/core/src/main/java/org/elasticsearch/core/TimeValue.java" + }, + "description": "A duration. Units can be `nanos`, `micros`, `ms` (milliseconds), `s` (seconds), `m` (minutes), `h` (hours) and\n`d` (days). Also accepts \"0\" without a unit and \"-1\" to indicate an unspecified value.", + "oneOf": [ + { + "type": "string" + }, + { + "type": "string", + "enum": [ + "-1" + ] + }, + { + "type": "string", + "enum": [ + "0" + ] + } + ] + }, + "_types.query_dsl:ExistsQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + } + }, + "required": [ + "field" + ] + } + ] + }, + "_types.query_dsl:FunctionScoreQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "boost_mode": { + "$ref": "#/components/schemas/_types.query_dsl:FunctionBoostMode" + }, + "functions": { + "description": "One or more functions that compute a new score for each document returned by the query.", + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.query_dsl:FunctionScoreContainer" + } + }, + "max_boost": { + "description": "Restricts the new score to not exceed the provided limit.", + "type": "number" + }, + "min_score": { + "description": "Excludes documents that do not meet the provided score threshold.", + "type": "number" + }, + "query": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + }, + "score_mode": { + "$ref": "#/components/schemas/_types.query_dsl:FunctionScoreMode" + } + } + } + ] + }, + "_types.query_dsl:FunctionBoostMode": { + "type": "string", + "enum": [ + "multiply", + "replace", + "sum", + "avg", + "max", + "min" + ] + }, + "_types.query_dsl:FunctionScoreContainer": { + "allOf": [ + { + "type": "object", + "properties": { + "filter": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + }, + "weight": { + "type": "number" + } + } + }, + { + "type": "object", + "properties": { + "exp": { + "$ref": "#/components/schemas/_types.query_dsl:DecayFunction" + }, + "gauss": { + "$ref": "#/components/schemas/_types.query_dsl:DecayFunction" + }, + "linear": { + "$ref": "#/components/schemas/_types.query_dsl:DecayFunction" + }, + "field_value_factor": { + "$ref": "#/components/schemas/_types.query_dsl:FieldValueFactorScoreFunction" + }, + "random_score": { + "$ref": "#/components/schemas/_types.query_dsl:RandomScoreFunction" + }, + "script_score": { + "$ref": "#/components/schemas/_types.query_dsl:ScriptScoreFunction" + } + }, + "minProperties": 1, + "maxProperties": 1 + } + ] + }, + "_types.query_dsl:DecayFunction": { + "oneOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:DateDecayFunction" + }, + { + "$ref": "#/components/schemas/_types.query_dsl:NumericDecayFunction" + }, + { + "$ref": "#/components/schemas/_types.query_dsl:GeoDecayFunction" + } + ] + }, + "_types.query_dsl:DateDecayFunction": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:DecayFunctionBase" + }, + { + "type": "object" + } + ] + }, + "_types.query_dsl:DecayFunctionBase": { + "type": "object", + "properties": { + "multi_value_mode": { + "$ref": "#/components/schemas/_types.query_dsl:MultiValueMode" + } + } + }, + "_types.query_dsl:MultiValueMode": { + "type": "string", + "enum": [ + "min", + "max", + "avg", + "sum" + ] + }, + "_types.query_dsl:NumericDecayFunction": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:DecayFunctionBase" + }, + { + "type": "object" + } + ] + }, + "_types.query_dsl:GeoDecayFunction": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:DecayFunctionBase" + }, + { + "type": "object" + } + ] + }, + "_types.query_dsl:FieldValueFactorScoreFunction": { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "factor": { + "description": "Optional factor to multiply the field value with.", + "type": "number" + }, + "missing": { + "description": "Value used if the document doesn’t have that field.\nThe modifier and factor are still applied to it as though it were read from the document.", + "type": "number" + }, + "modifier": { + "$ref": "#/components/schemas/_types.query_dsl:FieldValueFactorModifier" + } + }, + "required": [ + "field" + ] + }, + "_types.query_dsl:FieldValueFactorModifier": { + "type": "string", + "enum": [ + "none", + "log", + "log1p", + "log2p", + "ln", + "ln1p", + "ln2p", + "square", + "sqrt", + "reciprocal" + ] + }, + "_types.query_dsl:RandomScoreFunction": { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "seed": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "string" + } + ] + } + } + }, + "_types.query_dsl:ScriptScoreFunction": { + "type": "object", + "properties": { + "script": { + "$ref": "#/components/schemas/_types:Script" + } + }, + "required": [ + "script" + ] + }, + "_types:Script": { + "oneOf": [ + { + "$ref": "#/components/schemas/_types:InlineScript" + }, + { + "$ref": "#/components/schemas/_types:StoredScriptId" + } + ] + }, + "_types:InlineScript": { + "allOf": [ + { + "$ref": "#/components/schemas/_types:ScriptBase" + }, + { + "type": "object", + "properties": { + "lang": { + "$ref": "#/components/schemas/_types:ScriptLanguage" + }, + "options": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "source": { + "description": "The script source.", + "type": "string" + } + }, + "required": [ + "source" + ] + } + ] + }, + "_types:ScriptBase": { + "type": "object", + "properties": { + "params": { + "description": "Specifies any named parameters that are passed into the script as variables.\nUse parameters instead of hard-coded values to decrease compile time.", + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + }, + "_types:ScriptLanguage": { + "anyOf": [ + { + "type": "string", + "enum": [ + "painless", + "expression", + "mustache", + "java" + ] + }, + { + "type": "string" + } + ] + }, + "_types:StoredScriptId": { + "allOf": [ + { + "$ref": "#/components/schemas/_types:ScriptBase" + }, + { + "type": "object", + "properties": { + "id": { + "$ref": "#/components/schemas/_types:Id" + } + }, + "required": [ + "id" + ] + } + ] + }, + "_types:Id": { + "type": "string" + }, + "_types.query_dsl:FunctionScoreMode": { + "type": "string", + "enum": [ + "multiply", + "sum", + "avg", + "first", + "max", + "min" + ] + }, + "_types.query_dsl:FuzzyQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "max_expansions": { + "description": "Maximum number of variations created.", + "type": "number" + }, + "prefix_length": { + "description": "Number of beginning characters left unchanged when creating expansions.", + "type": "number" + }, + "rewrite": { + "$ref": "#/components/schemas/_types:MultiTermQueryRewrite" + }, + "transpositions": { + "description": "Indicates whether edits include transpositions of two adjacent characters (for example `ab` to `ba`).", + "type": "boolean" + }, + "fuzziness": { + "$ref": "#/components/schemas/_types:Fuzziness" + }, + "value": { + "description": "Term you wish to find in the provided field.", + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "value" + ] + } + ] + }, + "_types:MultiTermQueryRewrite": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-multi-term-rewrite.html" + }, + "type": "string" + }, + "_types:Fuzziness": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/common-options.html#fuzziness" + }, + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "_types.query_dsl:GeoBoundingBoxQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "type": { + "$ref": "#/components/schemas/_types.query_dsl:GeoExecution" + }, + "validation_method": { + "$ref": "#/components/schemas/_types.query_dsl:GeoValidationMethod" + }, + "ignore_unmapped": { + "description": "Set to `true` to ignore an unmapped field and not match any documents for this query.\nSet to `false` to throw an exception if the field is not mapped.", + "type": "boolean" + } + } + } + ] + }, + "_types.query_dsl:GeoExecution": { + "type": "string", + "enum": [ + "memory", + "indexed" + ] + }, + "_types.query_dsl:GeoValidationMethod": { + "type": "string", + "enum": [ + "coerce", + "ignore_malformed", + "strict" + ] + }, + "_types.query_dsl:GeoDistanceQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "distance": { + "$ref": "#/components/schemas/_types:Distance" + }, + "distance_type": { + "$ref": "#/components/schemas/_types:GeoDistanceType" + }, + "validation_method": { + "$ref": "#/components/schemas/_types.query_dsl:GeoValidationMethod" + }, + "ignore_unmapped": { + "description": "Set to `true` to ignore an unmapped field and not match any documents for this query.\nSet to `false` to throw an exception if the field is not mapped.", + "type": "boolean" + } + }, + "required": [ + "distance" + ] + } + ] + }, + "_types:GeoDistanceType": { + "type": "string", + "enum": [ + "arc", + "plane" + ] + }, + "_types.query_dsl:GeoPolygonQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "validation_method": { + "$ref": "#/components/schemas/_types.query_dsl:GeoValidationMethod" + }, + "ignore_unmapped": { + "type": "boolean" + } + } + } + ] + }, + "_types.query_dsl:GeoShapeQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "ignore_unmapped": { + "description": "Set to `true` to ignore an unmapped field and not match any documents for this query.\nSet to `false` to throw an exception if the field is not mapped.", + "type": "boolean" + } + } + } + ] + }, + "_types.query_dsl:HasChildQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "ignore_unmapped": { + "description": "Indicates whether to ignore an unmapped `type` and not return any documents instead of an error.", + "type": "boolean" + }, + "inner_hits": { + "$ref": "#/components/schemas/_global.search._types:InnerHits" + }, + "max_children": { + "description": "Maximum number of child documents that match the query allowed for a returned parent document.\nIf the parent document exceeds this limit, it is excluded from the search results.", + "type": "number" + }, + "min_children": { + "description": "Minimum number of child documents that match the query required to match the query for a returned parent document.\nIf the parent document does not meet this limit, it is excluded from the search results.", + "type": "number" + }, + "query": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + }, + "score_mode": { + "$ref": "#/components/schemas/_types.query_dsl:ChildScoreMode" + }, + "type": { + "$ref": "#/components/schemas/_types:RelationName" + } + }, + "required": [ + "query", + "type" + ] + } + ] + }, + "_global.search._types:InnerHits": { + "type": "object", + "properties": { + "name": { + "$ref": "#/components/schemas/_types:Name" + }, + "size": { + "description": "The maximum number of hits to return per `inner_hits`.", + "type": "number" + }, + "from": { + "description": "Inner hit starting document offset.", + "type": "number" + }, + "collapse": { + "$ref": "#/components/schemas/_global.search._types:FieldCollapse" + }, + "docvalue_fields": { + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.query_dsl:FieldAndFormat" + } + }, + "explain": { + "type": "boolean" + }, + "highlight": { + "$ref": "#/components/schemas/_global.search._types:Highlight" + }, + "ignore_unmapped": { + "type": "boolean" + }, + "script_fields": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types:ScriptField" + } + }, + "seq_no_primary_term": { + "type": "boolean" + }, + "fields": { + "$ref": "#/components/schemas/_types:Fields" + }, + "sort": { + "$ref": "#/components/schemas/_types:Sort" + }, + "_source": { + "$ref": "#/components/schemas/_global.search._types:SourceConfig" + }, + "stored_fields": { + "$ref": "#/components/schemas/_types:Fields" + }, + "track_scores": { + "type": "boolean" + }, + "version": { + "type": "boolean" + } + } + }, + "_types:Name": { + "type": "string" + }, + "_global.search._types:FieldCollapse": { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "inner_hits": { + "description": "The number of inner hits and their sort order", + "oneOf": [ + { + "$ref": "#/components/schemas/_global.search._types:InnerHits" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/_global.search._types:InnerHits" + } + } + ] + }, + "max_concurrent_group_searches": { + "description": "The number of concurrent requests allowed to retrieve the inner_hits per group", + "type": "number" + }, + "collapse": { + "$ref": "#/components/schemas/_global.search._types:FieldCollapse" + } + }, + "required": [ + "field" + ] + }, + "_types.query_dsl:FieldAndFormat": { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "format": { + "description": "Format in which the values are returned.", + "type": "string" + }, + "include_unmapped": { + "type": "boolean" + } + }, + "required": [ + "field" + ] + }, + "_global.search._types:Highlight": { + "allOf": [ + { + "$ref": "#/components/schemas/_global.search._types:HighlightBase" + }, + { + "type": "object", + "properties": { + "encoder": { + "$ref": "#/components/schemas/_global.search._types:HighlighterEncoder" + }, + "fields": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_global.search._types:HighlightField" + } + } + }, + "required": [ + "fields" + ] + } + ] + }, + "_global.search._types:HighlightBase": { + "type": "object", + "properties": { + "type": { + "$ref": "#/components/schemas/_global.search._types:HighlighterType" + }, + "boundary_chars": { + "description": "A string that contains each boundary character.", + "type": "string" + }, + "boundary_max_scan": { + "description": "How far to scan for boundary characters.", + "type": "number" + }, + "boundary_scanner": { + "$ref": "#/components/schemas/_global.search._types:BoundaryScanner" + }, + "boundary_scanner_locale": { + "description": "Controls which locale is used to search for sentence and word boundaries.\nThis parameter takes a form of a language tag, for example: `\"en-US\"`, `\"fr-FR\"`, `\"ja-JP\"`.", + "type": "string" + }, + "force_source": { + "deprecated": true, + "type": "boolean" + }, + "fragmenter": { + "$ref": "#/components/schemas/_global.search._types:HighlighterFragmenter" + }, + "fragment_size": { + "description": "The size of the highlighted fragment in characters.", + "type": "number" + }, + "highlight_filter": { + "type": "boolean" + }, + "highlight_query": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + }, + "max_fragment_length": { + "type": "number" + }, + "max_analyzed_offset": { + "description": "If set to a non-negative value, highlighting stops at this defined maximum limit.\nThe rest of the text is not processed, thus not highlighted and no error is returned\nThe `max_analyzed_offset` query setting does not override the `index.highlight.max_analyzed_offset` setting, which prevails when it’s set to lower value than the query setting.", + "type": "number" + }, + "no_match_size": { + "description": "The amount of text you want to return from the beginning of the field if there are no matching fragments to highlight.", + "type": "number" + }, + "number_of_fragments": { + "description": "The maximum number of fragments to return.\nIf the number of fragments is set to `0`, no fragments are returned.\nInstead, the entire field contents are highlighted and returned.\nThis can be handy when you need to highlight short texts such as a title or address, but fragmentation is not required.\nIf `number_of_fragments` is `0`, `fragment_size` is ignored.", + "type": "number" + }, + "options": { + "type": "object", + "additionalProperties": { + "type": "object" + } + }, + "order": { + "$ref": "#/components/schemas/_global.search._types:HighlighterOrder" + }, + "phrase_limit": { + "description": "Controls the number of matching phrases in a document that are considered.\nPrevents the `fvh` highlighter from analyzing too many phrases and consuming too much memory.\nWhen using `matched_fields`, `phrase_limit` phrases per matched field are considered. Raising the limit increases query time and consumes more memory.\nOnly supported by the `fvh` highlighter.", + "type": "number" + }, + "post_tags": { + "description": "Use in conjunction with `pre_tags` to define the HTML tags to use for the highlighted text.\nBy default, highlighted text is wrapped in `` and `` tags.", + "type": "array", + "items": { + "type": "string" + } + }, + "pre_tags": { + "description": "Use in conjunction with `post_tags` to define the HTML tags to use for the highlighted text.\nBy default, highlighted text is wrapped in `` and `` tags.", + "type": "array", + "items": { + "type": "string" + } + }, + "require_field_match": { + "description": "By default, only fields that contains a query match are highlighted.\nSet to `false` to highlight all fields.", + "type": "boolean" + }, + "tags_schema": { + "$ref": "#/components/schemas/_global.search._types:HighlighterTagsSchema" + } + } + }, + "_global.search._types:HighlighterType": { + "anyOf": [ + { + "type": "string", + "enum": [ + "plain", + "fvh", + "unified" + ] + }, + { + "type": "string" + } + ] + }, + "_global.search._types:BoundaryScanner": { + "type": "string", + "enum": [ + "chars", + "sentence", + "word" + ] + }, + "_global.search._types:HighlighterFragmenter": { + "type": "string", + "enum": [ + "simple", + "span" + ] + }, + "_global.search._types:HighlighterOrder": { + "type": "string", + "enum": [ + "score" + ] + }, + "_global.search._types:HighlighterTagsSchema": { + "type": "string", + "enum": [ + "styled" + ] + }, + "_global.search._types:HighlighterEncoder": { + "type": "string", + "enum": [ + "default", + "html" + ] + }, + "_global.search._types:HighlightField": { + "allOf": [ + { + "$ref": "#/components/schemas/_global.search._types:HighlightBase" + }, + { + "type": "object", + "properties": { + "fragment_offset": { + "type": "number" + }, + "matched_fields": { + "$ref": "#/components/schemas/_types:Fields" + }, + "analyzer": { + "$ref": "#/components/schemas/_types.analysis:Analyzer" + } + } + } + ] + }, + "_types:Fields": { + "oneOf": [ + { + "$ref": "#/components/schemas/_types:Field" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/_types:Field" + } + } + ] + }, + "_types.analysis:Analyzer": { + "discriminator": { + "propertyName": "type" + }, + "oneOf": [ + { + "$ref": "#/components/schemas/_types.analysis:CustomAnalyzer" + }, + { + "$ref": "#/components/schemas/_types.analysis:FingerprintAnalyzer" + }, + { + "$ref": "#/components/schemas/_types.analysis:KeywordAnalyzer" + }, + { + "$ref": "#/components/schemas/_types.analysis:LanguageAnalyzer" + }, + { + "$ref": "#/components/schemas/_types.analysis:NoriAnalyzer" + }, + { + "$ref": "#/components/schemas/_types.analysis:PatternAnalyzer" + }, + { + "$ref": "#/components/schemas/_types.analysis:SimpleAnalyzer" + }, + { + "$ref": "#/components/schemas/_types.analysis:StandardAnalyzer" + }, + { + "$ref": "#/components/schemas/_types.analysis:StopAnalyzer" + }, + { + "$ref": "#/components/schemas/_types.analysis:WhitespaceAnalyzer" + }, + { + "$ref": "#/components/schemas/_types.analysis:IcuAnalyzer" + }, + { + "$ref": "#/components/schemas/_types.analysis:KuromojiAnalyzer" + }, + { + "$ref": "#/components/schemas/_types.analysis:SnowballAnalyzer" + }, + { + "$ref": "#/components/schemas/_types.analysis:DutchAnalyzer" + } + ] + }, + "_types.analysis:CustomAnalyzer": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "custom" + ] + }, + "char_filter": { + "type": "array", + "items": { + "type": "string" + } + }, + "filter": { + "type": "array", + "items": { + "type": "string" + } + }, + "position_increment_gap": { + "type": "number" + }, + "position_offset_gap": { + "type": "number" + }, + "tokenizer": { + "type": "string" + } + }, + "required": [ + "type", + "tokenizer" + ] + }, + "_types.analysis:FingerprintAnalyzer": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "fingerprint" + ] + }, + "version": { + "$ref": "#/components/schemas/_types:VersionString" + }, + "max_output_size": { + "type": "number" + }, + "preserve_original": { + "type": "boolean" + }, + "separator": { + "type": "string" + }, + "stopwords": { + "$ref": "#/components/schemas/_types.analysis:StopWords" + }, + "stopwords_path": { + "type": "string" + } + }, + "required": [ + "type", + "max_output_size", + "preserve_original", + "separator" + ] + }, + "_types:VersionString": { + "type": "string" + }, + "_types.analysis:StopWords": { + "description": "Language value, such as _arabic_ or _thai_. Defaults to _english_.\nEach language value corresponds to a predefined list of stop words in Lucene. See Stop words by language for supported language values and their stop words.\nAlso accepts an array of stop words.", + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "_types.analysis:KeywordAnalyzer": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "keyword" + ] + }, + "version": { + "$ref": "#/components/schemas/_types:VersionString" + } + }, + "required": [ + "type" + ] + }, + "_types.analysis:LanguageAnalyzer": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "language" + ] + }, + "version": { + "$ref": "#/components/schemas/_types:VersionString" + }, + "language": { + "$ref": "#/components/schemas/_types.analysis:Language" + }, + "stem_exclusion": { + "type": "array", + "items": { + "type": "string" + } + }, + "stopwords": { + "$ref": "#/components/schemas/_types.analysis:StopWords" + }, + "stopwords_path": { + "type": "string" + } + }, + "required": [ + "type", + "language", + "stem_exclusion" + ] + }, + "_types.analysis:Language": { + "type": "string", + "enum": [ + "Arabic", + "Armenian", + "Basque", + "Brazilian", + "Bulgarian", + "Catalan", + "Chinese", + "Cjk", + "Czech", + "Danish", + "Dutch", + "English", + "Estonian", + "Finnish", + "French", + "Galician", + "German", + "Greek", + "Hindi", + "Hungarian", + "Indonesian", + "Irish", + "Italian", + "Latvian", + "Norwegian", + "Persian", + "Portuguese", + "Romanian", + "Russian", + "Sorani", + "Spanish", + "Swedish", + "Turkish", + "Thai" + ] + }, + "_types.analysis:NoriAnalyzer": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "nori" + ] + }, + "version": { + "$ref": "#/components/schemas/_types:VersionString" + }, + "decompound_mode": { + "$ref": "#/components/schemas/_types.analysis:NoriDecompoundMode" + }, + "stoptags": { + "type": "array", + "items": { + "type": "string" + } + }, + "user_dictionary": { + "type": "string" + } + }, + "required": [ + "type" + ] + }, + "_types.analysis:NoriDecompoundMode": { + "type": "string", + "enum": [ + "discard", + "none", + "mixed" + ] + }, + "_types.analysis:PatternAnalyzer": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "pattern" + ] + }, + "version": { + "$ref": "#/components/schemas/_types:VersionString" + }, + "flags": { + "type": "string" + }, + "lowercase": { + "type": "boolean" + }, + "pattern": { + "type": "string" + }, + "stopwords": { + "$ref": "#/components/schemas/_types.analysis:StopWords" + } + }, + "required": [ + "type", + "pattern" + ] + }, + "_types.analysis:SimpleAnalyzer": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "simple" + ] + }, + "version": { + "$ref": "#/components/schemas/_types:VersionString" + } + }, + "required": [ + "type" + ] + }, + "_types.analysis:StandardAnalyzer": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "standard" + ] + }, + "max_token_length": { + "type": "number" + }, + "stopwords": { + "$ref": "#/components/schemas/_types.analysis:StopWords" + } + }, + "required": [ + "type" + ] + }, + "_types.analysis:StopAnalyzer": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "stop" + ] + }, + "version": { + "$ref": "#/components/schemas/_types:VersionString" + }, + "stopwords": { + "$ref": "#/components/schemas/_types.analysis:StopWords" + }, + "stopwords_path": { + "type": "string" + } + }, + "required": [ + "type" + ] + }, + "_types.analysis:WhitespaceAnalyzer": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "whitespace" + ] + }, + "version": { + "$ref": "#/components/schemas/_types:VersionString" + } + }, + "required": [ + "type" + ] + }, + "_types.analysis:IcuAnalyzer": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "icu_analyzer" + ] + }, + "method": { + "$ref": "#/components/schemas/_types.analysis:IcuNormalizationType" + }, + "mode": { + "$ref": "#/components/schemas/_types.analysis:IcuNormalizationMode" + } + }, + "required": [ + "type", + "method", + "mode" + ] + }, + "_types.analysis:IcuNormalizationType": { + "type": "string", + "enum": [ + "nfc", + "nfkc", + "nfkc_cf" + ] + }, + "_types.analysis:IcuNormalizationMode": { + "type": "string", + "enum": [ + "decompose", + "compose" + ] + }, + "_types.analysis:KuromojiAnalyzer": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "kuromoji" + ] + }, + "mode": { + "$ref": "#/components/schemas/_types.analysis:KuromojiTokenizationMode" + }, + "user_dictionary": { + "type": "string" + } + }, + "required": [ + "type", + "mode" + ] + }, + "_types.analysis:KuromojiTokenizationMode": { + "type": "string", + "enum": [ + "normal", + "search", + "extended" + ] + }, + "_types.analysis:SnowballAnalyzer": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "snowball" + ] + }, + "version": { + "$ref": "#/components/schemas/_types:VersionString" + }, + "language": { + "$ref": "#/components/schemas/_types.analysis:SnowballLanguage" + }, + "stopwords": { + "$ref": "#/components/schemas/_types.analysis:StopWords" + } + }, + "required": [ + "type", + "language" + ] + }, + "_types.analysis:SnowballLanguage": { + "type": "string", + "enum": [ + "Armenian", + "Basque", + "Catalan", + "Danish", + "Dutch", + "English", + "Finnish", + "French", + "German", + "German2", + "Hungarian", + "Italian", + "Kp", + "Lovins", + "Norwegian", + "Porter", + "Portuguese", + "Romanian", + "Russian", + "Spanish", + "Swedish", + "Turkish" + ] + }, + "_types.analysis:DutchAnalyzer": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "dutch" + ] + }, + "stopwords": { + "$ref": "#/components/schemas/_types.analysis:StopWords" + } + }, + "required": [ + "type" + ] + }, + "_types:ScriptField": { + "type": "object", + "properties": { + "script": { + "$ref": "#/components/schemas/_types:Script" + }, + "ignore_failure": { + "type": "boolean" + } + }, + "required": [ + "script" + ] + }, + "_types:Sort": { + "oneOf": [ + { + "$ref": "#/components/schemas/_types:SortCombinations" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/_types:SortCombinations" + } + } + ] + }, + "_types:SortCombinations": { + "oneOf": [ + { + "$ref": "#/components/schemas/_types:Field" + }, + { + "$ref": "#/components/schemas/_types:SortOptions" + } + ] + }, + "_types:SortOptions": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/sort-search-results.html" + }, + "type": "object", + "properties": { + "_score": { + "$ref": "#/components/schemas/_types:ScoreSort" + }, + "_doc": { + "$ref": "#/components/schemas/_types:ScoreSort" + }, + "_geo_distance": { + "$ref": "#/components/schemas/_types:GeoDistanceSort" + }, + "_script": { + "$ref": "#/components/schemas/_types:ScriptSort" + } + }, + "minProperties": 1, + "maxProperties": 1 + }, + "_types:ScoreSort": { + "type": "object", + "properties": { + "order": { + "$ref": "#/components/schemas/_types:SortOrder" + } + } + }, + "_types:SortOrder": { + "type": "string", + "enum": [ + "asc", + "desc" + ] + }, + "_types:GeoDistanceSort": { + "type": "object", + "properties": { + "mode": { + "$ref": "#/components/schemas/_types:SortMode" + }, + "distance_type": { + "$ref": "#/components/schemas/_types:GeoDistanceType" + }, + "ignore_unmapped": { + "type": "boolean" + }, + "order": { + "$ref": "#/components/schemas/_types:SortOrder" + }, + "unit": { + "$ref": "#/components/schemas/_types:DistanceUnit" + } + } + }, + "_types:SortMode": { + "type": "string", + "enum": [ + "min", + "max", + "sum", + "avg", + "median" + ] + }, + "_types:DistanceUnit": { + "type": "string", + "enum": [ + "in", + "ft", + "yd", + "mi", + "nmi", + "km", + "m", + "cm", + "mm" + ] + }, + "_types:ScriptSort": { + "type": "object", + "properties": { + "order": { + "$ref": "#/components/schemas/_types:SortOrder" + }, + "script": { + "$ref": "#/components/schemas/_types:Script" + }, + "type": { + "$ref": "#/components/schemas/_types:ScriptSortType" + }, + "mode": { + "$ref": "#/components/schemas/_types:SortMode" + }, + "nested": { + "$ref": "#/components/schemas/_types:NestedSortValue" + } + }, + "required": [ + "script" + ] + }, + "_types:ScriptSortType": { + "type": "string", + "enum": [ + "string", + "number", + "version" + ] + }, + "_types:NestedSortValue": { + "type": "object", + "properties": { + "filter": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + }, + "max_children": { + "type": "number" + }, + "nested": { + "$ref": "#/components/schemas/_types:NestedSortValue" + }, + "path": { + "$ref": "#/components/schemas/_types:Field" + } + }, + "required": [ + "path" + ] + }, + "_global.search._types:SourceConfig": { + "description": "Defines how to fetch a source. Fetching can be disabled entirely, or the source can be filtered.", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "#/components/schemas/_global.search._types:SourceFilter" + } + ] + }, + "_global.search._types:SourceFilter": { + "type": "object", + "properties": { + "excludes": { + "$ref": "#/components/schemas/_types:Fields" + }, + "includes": { + "$ref": "#/components/schemas/_types:Fields" + } + } + }, + "_types.query_dsl:ChildScoreMode": { + "type": "string", + "enum": [ + "none", + "avg", + "sum", + "max", + "min" + ] + }, + "_types:RelationName": { + "type": "string" + }, + "_types.query_dsl:HasParentQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "ignore_unmapped": { + "description": "Indicates whether to ignore an unmapped `parent_type` and not return any documents instead of an error.\nYou can use this parameter to query multiple indices that may not contain the `parent_type`.", + "type": "boolean" + }, + "inner_hits": { + "$ref": "#/components/schemas/_global.search._types:InnerHits" + }, + "parent_type": { + "$ref": "#/components/schemas/_types:RelationName" + }, + "query": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + }, + "score": { + "description": "Indicates whether the relevance score of a matching parent document is aggregated into its child documents.", + "type": "boolean" + } + }, + "required": [ + "parent_type", + "query" + ] + } + ] + }, + "_types.query_dsl:IdsQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "values": { + "$ref": "#/components/schemas/_types:Ids" + } + } + } + ] + }, + "_types:Ids": { + "oneOf": [ + { + "$ref": "#/components/schemas/_types:Id" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/_types:Id" + } + } + ] + }, + "_types.query_dsl:IntervalsQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "all_of": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsAllOf" + }, + "any_of": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsAnyOf" + }, + "fuzzy": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsFuzzy" + }, + "match": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsMatch" + }, + "prefix": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsPrefix" + }, + "wildcard": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsWildcard" + } + }, + "minProperties": 1, + "maxProperties": 1 + } + ] + }, + "_types.query_dsl:IntervalsAllOf": { + "type": "object", + "properties": { + "intervals": { + "description": "An array of rules to combine. All rules must produce a match in a document for the overall source to match.", + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsContainer" + } + }, + "max_gaps": { + "description": "Maximum number of positions between the matching terms.\nIntervals produced by the rules further apart than this are not considered matches.", + "type": "number" + }, + "ordered": { + "description": "If `true`, intervals produced by the rules should appear in the order in which they are specified.", + "type": "boolean" + }, + "filter": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsFilter" + } + }, + "required": [ + "intervals" + ] + }, + "_types.query_dsl:IntervalsContainer": { + "type": "object", + "properties": { + "all_of": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsAllOf" + }, + "any_of": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsAnyOf" + }, + "fuzzy": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsFuzzy" + }, + "match": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsMatch" + }, + "prefix": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsPrefix" + }, + "wildcard": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsWildcard" + } + }, + "minProperties": 1, + "maxProperties": 1 + }, + "_types.query_dsl:IntervalsAnyOf": { + "type": "object", + "properties": { + "intervals": { + "description": "An array of rules to match.", + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsContainer" + } + }, + "filter": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsFilter" + } + }, + "required": [ + "intervals" + ] + }, + "_types.query_dsl:IntervalsFilter": { + "type": "object", + "properties": { + "after": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsContainer" + }, + "before": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsContainer" + }, + "contained_by": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsContainer" + }, + "containing": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsContainer" + }, + "not_contained_by": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsContainer" + }, + "not_containing": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsContainer" + }, + "not_overlapping": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsContainer" + }, + "overlapping": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsContainer" + }, + "script": { + "$ref": "#/components/schemas/_types:Script" + } + }, + "minProperties": 1, + "maxProperties": 1 + }, + "_types.query_dsl:IntervalsFuzzy": { + "type": "object", + "properties": { + "analyzer": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis.html" + }, + "description": "Analyzer used to normalize the term.", + "type": "string" + }, + "fuzziness": { + "$ref": "#/components/schemas/_types:Fuzziness" + }, + "prefix_length": { + "description": "Number of beginning characters left unchanged when creating expansions.", + "type": "number" + }, + "term": { + "description": "The term to match.", + "type": "string" + }, + "transpositions": { + "description": "Indicates whether edits include transpositions of two adjacent characters (for example, `ab` to `ba`).", + "type": "boolean" + }, + "use_field": { + "$ref": "#/components/schemas/_types:Field" + } + }, + "required": [ + "term" + ] + }, + "_types.query_dsl:IntervalsMatch": { + "type": "object", + "properties": { + "analyzer": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis.html" + }, + "description": "Analyzer used to analyze terms in the query.", + "type": "string" + }, + "max_gaps": { + "description": "Maximum number of positions between the matching terms.\nTerms further apart than this are not considered matches.", + "type": "number" + }, + "ordered": { + "description": "If `true`, matching terms must appear in their specified order.", + "type": "boolean" + }, + "query": { + "description": "Text you wish to find in the provided field.", + "type": "string" + }, + "use_field": { + "$ref": "#/components/schemas/_types:Field" + }, + "filter": { + "$ref": "#/components/schemas/_types.query_dsl:IntervalsFilter" + } + }, + "required": [ + "query" + ] + }, + "_types.query_dsl:IntervalsPrefix": { + "type": "object", + "properties": { + "analyzer": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis.html" + }, + "description": "Analyzer used to analyze the `prefix`.", + "type": "string" + }, + "prefix": { + "description": "Beginning characters of terms you wish to find in the top-level field.", + "type": "string" + }, + "use_field": { + "$ref": "#/components/schemas/_types:Field" + } + }, + "required": [ + "prefix" + ] + }, + "_types.query_dsl:IntervalsWildcard": { + "type": "object", + "properties": { + "analyzer": { + "description": "Analyzer used to analyze the `pattern`.\nDefaults to the top-level field's analyzer.", + "type": "string" + }, + "pattern": { + "description": "Wildcard pattern used to find matching terms.", + "type": "string" + }, + "use_field": { + "$ref": "#/components/schemas/_types:Field" + } + }, + "required": [ + "pattern" + ] + }, + "_types:KnnQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "query_vector": { + "$ref": "#/components/schemas/_types:QueryVector" + }, + "query_vector_builder": { + "$ref": "#/components/schemas/_types:QueryVectorBuilder" + }, + "num_candidates": { + "description": "The number of nearest neighbor candidates to consider per shard", + "type": "number" + }, + "filter": { + "description": "Filters for the kNN search query", + "oneOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + } + } + ] + }, + "similarity": { + "description": "The minimum similarity for a vector to be considered a match", + "type": "number" + } + }, + "required": [ + "field" + ] + } + ] + }, + "_types:QueryVector": { + "type": "array", + "items": { + "type": "number" + } + }, + "_types:QueryVectorBuilder": { + "type": "object", + "properties": { + "text_embedding": { + "$ref": "#/components/schemas/_types:TextEmbedding" + } + }, + "minProperties": 1, + "maxProperties": 1 + }, + "_types:TextEmbedding": { + "type": "object", + "properties": { + "model_id": { + "type": "string" + }, + "model_text": { + "type": "string" + } + }, + "required": [ + "model_id", + "model_text" + ] + }, + "_types.query_dsl:MatchQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "analyzer": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis.html" + }, + "description": "Analyzer used to convert the text in the query value into tokens.", + "type": "string" + }, + "auto_generate_synonyms_phrase_query": { + "description": "If `true`, match phrase queries are automatically created for multi-term synonyms.", + "type": "boolean" + }, + "cutoff_frequency": { + "deprecated": true, + "type": "number" + }, + "fuzziness": { + "$ref": "#/components/schemas/_types:Fuzziness" + }, + "fuzzy_rewrite": { + "$ref": "#/components/schemas/_types:MultiTermQueryRewrite" + }, + "fuzzy_transpositions": { + "description": "If `true`, edits for fuzzy matching include transpositions of two adjacent characters (for example, `ab` to `ba`).", + "type": "boolean" + }, + "lenient": { + "description": "If `true`, format-based errors, such as providing a text query value for a numeric field, are ignored.", + "type": "boolean" + }, + "max_expansions": { + "description": "Maximum number of terms to which the query will expand.", + "type": "number" + }, + "minimum_should_match": { + "$ref": "#/components/schemas/_types:MinimumShouldMatch" + }, + "operator": { + "$ref": "#/components/schemas/_types.query_dsl:Operator" + }, + "prefix_length": { + "description": "Number of beginning characters left unchanged for fuzzy matching.", + "type": "number" + }, + "query": { + "description": "Text, number, boolean value or date you wish to find in the provided field.", + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "zero_terms_query": { + "$ref": "#/components/schemas/_types.query_dsl:ZeroTermsQuery" + } + }, + "required": [ + "query" + ] + } + ] + }, + "_types.query_dsl:ZeroTermsQuery": { + "type": "string", + "enum": [ + "all", + "none" + ] + }, + "_types.query_dsl:MatchAllQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object" + } + ] + }, + "_types.query_dsl:MatchBoolPrefixQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "analyzer": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis.html" + }, + "description": "Analyzer used to convert the text in the query value into tokens.", + "type": "string" + }, + "fuzziness": { + "$ref": "#/components/schemas/_types:Fuzziness" + }, + "fuzzy_rewrite": { + "$ref": "#/components/schemas/_types:MultiTermQueryRewrite" + }, + "fuzzy_transpositions": { + "description": "If `true`, edits for fuzzy matching include transpositions of two adjacent characters (for example, `ab` to `ba`).\nCan be applied to the term subqueries constructed for all terms but the final term.", + "type": "boolean" + }, + "max_expansions": { + "description": "Maximum number of terms to which the query will expand.\nCan be applied to the term subqueries constructed for all terms but the final term.", + "type": "number" + }, + "minimum_should_match": { + "$ref": "#/components/schemas/_types:MinimumShouldMatch" + }, + "operator": { + "$ref": "#/components/schemas/_types.query_dsl:Operator" + }, + "prefix_length": { + "description": "Number of beginning characters left unchanged for fuzzy matching.\nCan be applied to the term subqueries constructed for all terms but the final term.", + "type": "number" + }, + "query": { + "description": "Terms you wish to find in the provided field.\nThe last term is used in a prefix query.", + "type": "string" + } + }, + "required": [ + "query" + ] + } + ] + }, + "_types.query_dsl:MatchNoneQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object" + } + ] + }, + "_types.query_dsl:MatchPhraseQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "analyzer": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis.html" + }, + "description": "Analyzer used to convert the text in the query value into tokens.", + "type": "string" + }, + "query": { + "description": "Query terms that are analyzed and turned into a phrase query.", + "type": "string" + }, + "slop": { + "description": "Maximum number of positions allowed between matching tokens.", + "type": "number" + }, + "zero_terms_query": { + "$ref": "#/components/schemas/_types.query_dsl:ZeroTermsQuery" + } + }, + "required": [ + "query" + ] + } + ] + }, + "_types.query_dsl:MatchPhrasePrefixQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "analyzer": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis.html" + }, + "description": "Analyzer used to convert text in the query value into tokens.", + "type": "string" + }, + "max_expansions": { + "description": "Maximum number of terms to which the last provided term of the query value will expand.", + "type": "number" + }, + "query": { + "description": "Text you wish to find in the provided field.", + "type": "string" + }, + "slop": { + "description": "Maximum number of positions allowed between matching tokens.", + "type": "number" + }, + "zero_terms_query": { + "$ref": "#/components/schemas/_types.query_dsl:ZeroTermsQuery" + } + }, + "required": [ + "query" + ] + } + ] + }, + "_types.query_dsl:MoreLikeThisQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "analyzer": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis.html" + }, + "description": "The analyzer that is used to analyze the free form text.\nDefaults to the analyzer associated with the first field in fields.", + "type": "string" + }, + "boost_terms": { + "description": "Each term in the formed query could be further boosted by their tf-idf score.\nThis sets the boost factor to use when using this feature.\nDefaults to deactivated (0).", + "type": "number" + }, + "fail_on_unsupported_field": { + "description": "Controls whether the query should fail (throw an exception) if any of the specified fields are not of the supported types (`text` or `keyword`).", + "type": "boolean" + }, + "fields": { + "description": "A list of fields to fetch and analyze the text from.\nDefaults to the `index.query.default_field` index setting, which has a default value of `*`.", + "type": "array", + "items": { + "$ref": "#/components/schemas/_types:Field" + } + }, + "include": { + "description": "Specifies whether the input documents should also be included in the search results returned.", + "type": "boolean" + }, + "like": { + "description": "Specifies free form text and/or a single or multiple documents for which you want to find similar documents.", + "oneOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:Like" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.query_dsl:Like" + } + } + ] + }, + "max_doc_freq": { + "description": "The maximum document frequency above which the terms are ignored from the input document.", + "type": "number" + }, + "max_query_terms": { + "description": "The maximum number of query terms that can be selected.", + "type": "number" + }, + "max_word_length": { + "description": "The maximum word length above which the terms are ignored.\nDefaults to unbounded (`0`).", + "type": "number" + }, + "min_doc_freq": { + "description": "The minimum document frequency below which the terms are ignored from the input document.", + "type": "number" + }, + "minimum_should_match": { + "$ref": "#/components/schemas/_types:MinimumShouldMatch" + }, + "min_term_freq": { + "description": "The minimum term frequency below which the terms are ignored from the input document.", + "type": "number" + }, + "min_word_length": { + "description": "The minimum word length below which the terms are ignored.", + "type": "number" + }, + "routing": { + "$ref": "#/components/schemas/_types:Routing" + }, + "stop_words": { + "$ref": "#/components/schemas/_types.analysis:StopWords" + }, + "unlike": { + "description": "Used in combination with `like` to exclude documents that match a set of terms.", + "oneOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:Like" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.query_dsl:Like" + } + } + ] + }, + "version": { + "$ref": "#/components/schemas/_types:VersionNumber" + }, + "version_type": { + "$ref": "#/components/schemas/_types:VersionType" + } + }, + "required": [ + "like" + ] + } + ] + }, + "_types.query_dsl:Like": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-mlt-query.html#_document_input_parameters" + }, + "description": "Text that we want similar documents for or a lookup to a document's field for the text.", + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/_types.query_dsl:LikeDocument" + } + ] + }, + "_types.query_dsl:LikeDocument": { + "type": "object", + "properties": { + "doc": { + "description": "A document not present in the index.", + "type": "object" + }, + "fields": { + "type": "array", + "items": { + "$ref": "#/components/schemas/_types:Field" + } + }, + "_id": { + "$ref": "#/components/schemas/_types:Id" + }, + "_index": { + "$ref": "#/components/schemas/_types:IndexName" + }, + "per_field_analyzer": { + "description": "Overrides the default analyzer.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "routing": { + "$ref": "#/components/schemas/_types:Routing" + }, + "version": { + "$ref": "#/components/schemas/_types:VersionNumber" + }, + "version_type": { + "$ref": "#/components/schemas/_types:VersionType" + } + } + }, + "_types:IndexName": { + "type": "string" + }, + "_types:Routing": { + "type": "string" + }, + "_types:VersionNumber": { + "type": "number" + }, + "_types:VersionType": { + "type": "string", + "enum": [ + "internal", + "external", + "external_gte", + "force" + ] + }, + "_types.query_dsl:MultiMatchQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "analyzer": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis.html" + }, + "description": "Analyzer used to convert the text in the query value into tokens.", + "type": "string" + }, + "auto_generate_synonyms_phrase_query": { + "description": "If `true`, match phrase queries are automatically created for multi-term synonyms.", + "type": "boolean" + }, + "cutoff_frequency": { + "deprecated": true, + "type": "number" + }, + "fields": { + "$ref": "#/components/schemas/_types:Fields" + }, + "fuzziness": { + "$ref": "#/components/schemas/_types:Fuzziness" + }, + "fuzzy_rewrite": { + "$ref": "#/components/schemas/_types:MultiTermQueryRewrite" + }, + "fuzzy_transpositions": { + "description": "If `true`, edits for fuzzy matching include transpositions of two adjacent characters (for example, `ab` to `ba`).\nCan be applied to the term subqueries constructed for all terms but the final term.", + "type": "boolean" + }, + "lenient": { + "description": "If `true`, format-based errors, such as providing a text query value for a numeric field, are ignored.", + "type": "boolean" + }, + "max_expansions": { + "description": "Maximum number of terms to which the query will expand.", + "type": "number" + }, + "minimum_should_match": { + "$ref": "#/components/schemas/_types:MinimumShouldMatch" + }, + "operator": { + "$ref": "#/components/schemas/_types.query_dsl:Operator" + }, + "prefix_length": { + "description": "Number of beginning characters left unchanged for fuzzy matching.", + "type": "number" + }, + "query": { + "description": "Text, number, boolean value or date you wish to find in the provided field.", + "type": "string" + }, + "slop": { + "description": "Maximum number of positions allowed between matching tokens.", + "type": "number" + }, + "tie_breaker": { + "description": "Determines how scores for each per-term blended query and scores across groups are combined.", + "type": "number" + }, + "type": { + "$ref": "#/components/schemas/_types.query_dsl:TextQueryType" + }, + "zero_terms_query": { + "$ref": "#/components/schemas/_types.query_dsl:ZeroTermsQuery" + } + }, + "required": [ + "query" + ] + } + ] + }, + "_types.query_dsl:TextQueryType": { + "type": "string", + "enum": [ + "best_fields", + "most_fields", + "cross_fields", + "phrase", + "phrase_prefix", + "bool_prefix" + ] + }, + "_types.query_dsl:NestedQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "ignore_unmapped": { + "description": "Indicates whether to ignore an unmapped path and not return any documents instead of an error.", + "type": "boolean" + }, + "inner_hits": { + "$ref": "#/components/schemas/_global.search._types:InnerHits" + }, + "path": { + "$ref": "#/components/schemas/_types:Field" + }, + "query": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + }, + "score_mode": { + "$ref": "#/components/schemas/_types.query_dsl:ChildScoreMode" + } + }, + "required": [ + "path", + "query" + ] + } + ] + }, + "_types.query_dsl:ParentIdQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "id": { + "$ref": "#/components/schemas/_types:Id" + }, + "ignore_unmapped": { + "description": "Indicates whether to ignore an unmapped `type` and not return any documents instead of an error.", + "type": "boolean" + }, + "type": { + "$ref": "#/components/schemas/_types:RelationName" + } + } + } + ] + }, + "_types.query_dsl:PercolateQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "document": { + "description": "The source of the document being percolated.", + "type": "object" + }, + "documents": { + "description": "An array of sources of the documents being percolated.", + "type": "array", + "items": { + "type": "object" + } + }, + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "id": { + "$ref": "#/components/schemas/_types:Id" + }, + "index": { + "$ref": "#/components/schemas/_types:IndexName" + }, + "name": { + "description": "The suffix used for the `_percolator_document_slot` field when multiple `percolate` queries are specified.", + "type": "string" + }, + "preference": { + "description": "Preference used to fetch document to percolate.", + "type": "string" + }, + "routing": { + "$ref": "#/components/schemas/_types:Routing" + }, + "version": { + "$ref": "#/components/schemas/_types:VersionNumber" + } + }, + "required": [ + "field" + ] + } + ] + }, + "_types.query_dsl:PinnedQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "allOf": [ + { + "type": "object", + "properties": { + "organic": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + } + }, + "required": [ + "organic" + ] + }, + { + "type": "object", + "properties": { + "ids": { + "description": "Document IDs listed in the order they are to appear in results.\nRequired if `docs` is not specified.", + "type": "array", + "items": { + "$ref": "#/components/schemas/_types:Id" + } + }, + "docs": { + "description": "Documents listed in the order they are to appear in results.\nRequired if `ids` is not specified.", + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.query_dsl:PinnedDoc" + } + } + }, + "minProperties": 1, + "maxProperties": 1 + } + ] + } + ] + }, + "_types.query_dsl:PinnedDoc": { + "type": "object", + "properties": { + "_id": { + "$ref": "#/components/schemas/_types:Id" + }, + "_index": { + "$ref": "#/components/schemas/_types:IndexName" + } + }, + "required": [ + "_id", + "_index" + ] + }, + "_types.query_dsl:PrefixQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "rewrite": { + "$ref": "#/components/schemas/_types:MultiTermQueryRewrite" + }, + "value": { + "description": "Beginning characters of terms you wish to find in the provided field.", + "type": "string" + }, + "case_insensitive": { + "description": "Allows ASCII case insensitive matching of the value with the indexed field values when set to `true`.\nDefault is `false` which means the case sensitivity of matching depends on the underlying field’s mapping.", + "type": "boolean" + } + }, + "required": [ + "value" + ] + } + ] + }, + "_types.query_dsl:QueryStringQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "allow_leading_wildcard": { + "description": "If `true`, the wildcard characters `*` and `?` are allowed as the first character of the query string.", + "type": "boolean" + }, + "analyzer": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis.html" + }, + "description": "Analyzer used to convert text in the query string into tokens.", + "type": "string" + }, + "analyze_wildcard": { + "description": "If `true`, the query attempts to analyze wildcard terms in the query string.", + "type": "boolean" + }, + "auto_generate_synonyms_phrase_query": { + "description": "If `true`, match phrase queries are automatically created for multi-term synonyms.", + "type": "boolean" + }, + "default_field": { + "$ref": "#/components/schemas/_types:Field" + }, + "default_operator": { + "$ref": "#/components/schemas/_types.query_dsl:Operator" + }, + "enable_position_increments": { + "description": "If `true`, enable position increments in queries constructed from a `query_string` search.", + "type": "boolean" + }, + "escape": { + "type": "boolean" + }, + "fields": { + "description": "Array of fields to search. Supports wildcards (`*`).", + "type": "array", + "items": { + "$ref": "#/components/schemas/_types:Field" + } + }, + "fuzziness": { + "$ref": "#/components/schemas/_types:Fuzziness" + }, + "fuzzy_max_expansions": { + "description": "Maximum number of terms to which the query expands for fuzzy matching.", + "type": "number" + }, + "fuzzy_prefix_length": { + "description": "Number of beginning characters left unchanged for fuzzy matching.", + "type": "number" + }, + "fuzzy_rewrite": { + "$ref": "#/components/schemas/_types:MultiTermQueryRewrite" + }, + "fuzzy_transpositions": { + "description": "If `true`, edits for fuzzy matching include transpositions of two adjacent characters (for example, `ab` to `ba`).", + "type": "boolean" + }, + "lenient": { + "description": "If `true`, format-based errors, such as providing a text value for a numeric field, are ignored.", + "type": "boolean" + }, + "max_determinized_states": { + "description": "Maximum number of automaton states required for the query.", + "type": "number" + }, + "minimum_should_match": { + "$ref": "#/components/schemas/_types:MinimumShouldMatch" + }, + "phrase_slop": { + "description": "Maximum number of positions allowed between matching tokens for phrases.", + "type": "number" + }, + "query": { + "description": "Query string you wish to parse and use for search.", + "type": "string" + }, + "quote_analyzer": { + "description": "Analyzer used to convert quoted text in the query string into tokens.\nFor quoted text, this parameter overrides the analyzer specified in the `analyzer` parameter.", + "type": "string" + }, + "quote_field_suffix": { + "description": "Suffix appended to quoted text in the query string.\nYou can use this suffix to use a different analysis method for exact matches.", + "type": "string" + }, + "rewrite": { + "$ref": "#/components/schemas/_types:MultiTermQueryRewrite" + }, + "tie_breaker": { + "description": "How to combine the queries generated from the individual search terms in the resulting `dis_max` query.", + "type": "number" + }, + "time_zone": { + "$ref": "#/components/schemas/_types:TimeZone" + }, + "type": { + "$ref": "#/components/schemas/_types.query_dsl:TextQueryType" + } + }, + "required": [ + "query" + ] + } + ] + }, + "_types:TimeZone": { + "type": "string" + }, + "_types.query_dsl:RangeQuery": { + "oneOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:DateRangeQuery" + }, + { + "$ref": "#/components/schemas/_types.query_dsl:NumberRangeQuery" + }, + { + "$ref": "#/components/schemas/_types.query_dsl:TermsRangeQuery" + } + ] + }, + "_types.query_dsl:DateRangeQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:RangeQueryBase" + }, + { + "type": "object", + "properties": { + "gt": { + "$ref": "#/components/schemas/_types:DateMath" + }, + "gte": { + "$ref": "#/components/schemas/_types:DateMath" + }, + "lt": { + "$ref": "#/components/schemas/_types:DateMath" + }, + "lte": { + "$ref": "#/components/schemas/_types:DateMath" + }, + "from": { + "oneOf": [ + { + "$ref": "#/components/schemas/_types:DateMath" + }, + { + "nullable": true, + "type": "string" + } + ] + }, + "to": { + "oneOf": [ + { + "$ref": "#/components/schemas/_types:DateMath" + }, + { + "nullable": true, + "type": "string" + } + ] + }, + "format": { + "$ref": "#/components/schemas/_types:DateFormat" + }, + "time_zone": { + "$ref": "#/components/schemas/_types:TimeZone" + } + } + } + ] + }, + "_types.query_dsl:RangeQueryBase": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "relation": { + "$ref": "#/components/schemas/_types.query_dsl:RangeRelation" + } + } + } + ] + }, + "_types.query_dsl:RangeRelation": { + "type": "string", + "enum": [ + "within", + "contains", + "intersects" + ] + }, + "_types:DateFormat": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-date-format.html" + }, + "type": "string" + }, + "_types.query_dsl:NumberRangeQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:RangeQueryBase" + }, + { + "type": "object", + "properties": { + "gt": { + "description": "Greater than.", + "type": "number" + }, + "gte": { + "description": "Greater than or equal to.", + "type": "number" + }, + "lt": { + "description": "Less than.", + "type": "number" + }, + "lte": { + "description": "Less than or equal to.", + "type": "number" + }, + "from": { + "oneOf": [ + { + "type": "number" + }, + { + "nullable": true, + "type": "string" + } + ] + }, + "to": { + "oneOf": [ + { + "type": "number" + }, + { + "nullable": true, + "type": "string" + } + ] + } + } + } + ] + }, + "_types.query_dsl:TermsRangeQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:RangeQueryBase" + }, + { + "type": "object", + "properties": { + "gt": { + "description": "Greater than.", + "type": "string" + }, + "gte": { + "description": "Greater than or equal to.", + "type": "string" + }, + "lt": { + "description": "Less than.", + "type": "string" + }, + "lte": { + "description": "Less than or equal to.", + "type": "string" + }, + "from": { + "oneOf": [ + { + "type": "string" + }, + { + "nullable": true, + "type": "string" + } + ] + }, + "to": { + "oneOf": [ + { + "type": "string" + }, + { + "nullable": true, + "type": "string" + } + ] + } + } + } + ] + }, + "_types.query_dsl:RankFeatureQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "saturation": { + "$ref": "#/components/schemas/_types.query_dsl:RankFeatureFunctionSaturation" + }, + "log": { + "$ref": "#/components/schemas/_types.query_dsl:RankFeatureFunctionLogarithm" + }, + "linear": { + "$ref": "#/components/schemas/_types.query_dsl:RankFeatureFunctionLinear" + }, + "sigmoid": { + "$ref": "#/components/schemas/_types.query_dsl:RankFeatureFunctionSigmoid" + } + }, + "required": [ + "field" + ] + } + ] + }, + "_types.query_dsl:RankFeatureFunctionSaturation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:RankFeatureFunction" + }, + { + "type": "object", + "properties": { + "pivot": { + "description": "Configurable pivot value so that the result will be less than 0.5.", + "type": "number" + } + } + } + ] + }, + "_types.query_dsl:RankFeatureFunction": { + "type": "object" + }, + "_types.query_dsl:RankFeatureFunctionLogarithm": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:RankFeatureFunction" + }, + { + "type": "object", + "properties": { + "scaling_factor": { + "description": "Configurable scaling factor.", + "type": "number" + } + }, + "required": [ + "scaling_factor" + ] + } + ] + }, + "_types.query_dsl:RankFeatureFunctionLinear": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:RankFeatureFunction" + }, + { + "type": "object" + } + ] + }, + "_types.query_dsl:RankFeatureFunctionSigmoid": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:RankFeatureFunction" + }, + { + "type": "object", + "properties": { + "pivot": { + "description": "Configurable pivot value so that the result will be less than 0.5.", + "type": "number" + }, + "exponent": { + "description": "Configurable Exponent.", + "type": "number" + } + }, + "required": [ + "pivot", + "exponent" + ] + } + ] + }, + "_types.query_dsl:RegexpQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "case_insensitive": { + "description": "Allows case insensitive matching of the regular expression value with the indexed field values when set to `true`.\nWhen `false`, case sensitivity of matching depends on the underlying field’s mapping.", + "type": "boolean" + }, + "flags": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/regexp-syntax.html" + }, + "description": "Enables optional operators for the regular expression.", + "type": "string" + }, + "max_determinized_states": { + "description": "Maximum number of automaton states required for the query.", + "type": "number" + }, + "rewrite": { + "$ref": "#/components/schemas/_types:MultiTermQueryRewrite" + }, + "value": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/regexp-syntax.html" + }, + "description": "Regular expression for terms you wish to find in the provided field.", + "type": "string" + } + }, + "required": [ + "value" + ] + } + ] + }, + "_types.query_dsl:RuleQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "organic": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + }, + "ruleset_id": { + "$ref": "#/components/schemas/_types:Id" + }, + "match_criteria": { + "type": "object" + } + }, + "required": [ + "organic", + "ruleset_id", + "match_criteria" + ] + } + ] + }, + "_types.query_dsl:ScriptQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "script": { + "$ref": "#/components/schemas/_types:Script" + } + }, + "required": [ + "script" + ] + } + ] + }, + "_types.query_dsl:ScriptScoreQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "min_score": { + "description": "Documents with a score lower than this floating point number are excluded from the search results.", + "type": "number" + }, + "query": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + }, + "script": { + "$ref": "#/components/schemas/_types:Script" + } + }, + "required": [ + "query", + "script" + ] + } + ] + }, + "_types.query_dsl:ShapeQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "ignore_unmapped": { + "description": "When set to `true` the query ignores an unmapped field and will not match any documents.", + "type": "boolean" + } + } + } + ] + }, + "_types.query_dsl:SimpleQueryStringQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "analyzer": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis.html" + }, + "description": "Analyzer used to convert text in the query string into tokens.", + "type": "string" + }, + "analyze_wildcard": { + "description": "If `true`, the query attempts to analyze wildcard terms in the query string.", + "type": "boolean" + }, + "auto_generate_synonyms_phrase_query": { + "description": "If `true`, the parser creates a match_phrase query for each multi-position token.", + "type": "boolean" + }, + "default_operator": { + "$ref": "#/components/schemas/_types.query_dsl:Operator" + }, + "fields": { + "description": "Array of fields you wish to search.\nAccepts wildcard expressions.\nYou also can boost relevance scores for matches to particular fields using a caret (`^`) notation.\nDefaults to the `index.query.default_field index` setting, which has a default value of `*`.", + "type": "array", + "items": { + "$ref": "#/components/schemas/_types:Field" + } + }, + "flags": { + "$ref": "#/components/schemas/_types.query_dsl:SimpleQueryStringFlags" + }, + "fuzzy_max_expansions": { + "description": "Maximum number of terms to which the query expands for fuzzy matching.", + "type": "number" + }, + "fuzzy_prefix_length": { + "description": "Number of beginning characters left unchanged for fuzzy matching.", + "type": "number" + }, + "fuzzy_transpositions": { + "description": "If `true`, edits for fuzzy matching include transpositions of two adjacent characters (for example, `ab` to `ba`).", + "type": "boolean" + }, + "lenient": { + "description": "If `true`, format-based errors, such as providing a text value for a numeric field, are ignored.", + "type": "boolean" + }, + "minimum_should_match": { + "$ref": "#/components/schemas/_types:MinimumShouldMatch" + }, + "query": { + "description": "Query string in the simple query string syntax you wish to parse and use for search.", + "type": "string" + }, + "quote_field_suffix": { + "description": "Suffix appended to quoted text in the query string.", + "type": "string" + } + }, + "required": [ + "query" + ] + } + ] + }, + "_types.query_dsl:SimpleQueryStringFlags": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-simple-query-string-query.html#supported-flags" + }, + "description": "Query flags can be either a single flag or a combination of flags, e.g. `OR|AND|PREFIX`", + "allOf": [ + { + "$ref": "#/components/schemas/_spec_utils:PipeSeparatedFlagsSimpleQueryStringFlag" + } + ] + }, + "_spec_utils:PipeSeparatedFlagsSimpleQueryStringFlag": { + "description": "A set of flags that can be represented as a single enum value or a set of values that are encoded\nas a pipe-separated string\n\nDepending on the target language, code generators can use this hint to generate language specific\nflags enum constructs and the corresponding (de-)serialization code.", + "oneOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:SimpleQueryStringFlag" + }, + { + "type": "string" + } + ] + }, + "_types.query_dsl:SimpleQueryStringFlag": { + "type": "string", + "enum": [ + "NONE", + "AND", + "NOT", + "OR", + "PREFIX", + "PHRASE", + "PRECEDENCE", + "ESCAPE", + "WHITESPACE", + "FUZZY", + "NEAR", + "SLOP", + "ALL" + ] + }, + "_types.query_dsl:SpanContainingQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "big": { + "$ref": "#/components/schemas/_types.query_dsl:SpanQuery" + }, + "little": { + "$ref": "#/components/schemas/_types.query_dsl:SpanQuery" + } + }, + "required": [ + "big", + "little" + ] + } + ] + }, + "_types.query_dsl:SpanQuery": { + "type": "object", + "properties": { + "span_containing": { + "$ref": "#/components/schemas/_types.query_dsl:SpanContainingQuery" + }, + "field_masking_span": { + "$ref": "#/components/schemas/_types.query_dsl:SpanFieldMaskingQuery" + }, + "span_first": { + "$ref": "#/components/schemas/_types.query_dsl:SpanFirstQuery" + }, + "span_gap": { + "$ref": "#/components/schemas/_types.query_dsl:SpanGapQuery" + }, + "span_multi": { + "$ref": "#/components/schemas/_types.query_dsl:SpanMultiTermQuery" + }, + "span_near": { + "$ref": "#/components/schemas/_types.query_dsl:SpanNearQuery" + }, + "span_not": { + "$ref": "#/components/schemas/_types.query_dsl:SpanNotQuery" + }, + "span_or": { + "$ref": "#/components/schemas/_types.query_dsl:SpanOrQuery" + }, + "span_term": { + "description": "The equivalent of the `term` query but for use with other span queries.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.query_dsl:SpanTermQuery" + }, + "minProperties": 1, + "maxProperties": 1 + }, + "span_within": { + "$ref": "#/components/schemas/_types.query_dsl:SpanWithinQuery" + } + }, + "minProperties": 1, + "maxProperties": 1 + }, + "_types.query_dsl:SpanFieldMaskingQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "query": { + "$ref": "#/components/schemas/_types.query_dsl:SpanQuery" + } + }, + "required": [ + "field", + "query" + ] + } + ] + }, + "_types.query_dsl:SpanFirstQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "end": { + "description": "Controls the maximum end position permitted in a match.", + "type": "number" + }, + "match": { + "$ref": "#/components/schemas/_types.query_dsl:SpanQuery" + } + }, + "required": [ + "end", + "match" + ] + } + ] + }, + "_types.query_dsl:SpanGapQuery": { + "description": "Can only be used as a clause in a span_near query.", + "type": "object", + "additionalProperties": { + "type": "number" + }, + "minProperties": 1, + "maxProperties": 1 + }, + "_types.query_dsl:SpanMultiTermQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "match": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + } + }, + "required": [ + "match" + ] + } + ] + }, + "_types.query_dsl:SpanNearQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "clauses": { + "description": "Array of one or more other span type queries.", + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.query_dsl:SpanQuery" + } + }, + "in_order": { + "description": "Controls whether matches are required to be in-order.", + "type": "boolean" + }, + "slop": { + "description": "Controls the maximum number of intervening unmatched positions permitted.", + "type": "number" + } + }, + "required": [ + "clauses" + ] + } + ] + }, + "_types.query_dsl:SpanNotQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "dist": { + "description": "The number of tokens from within the include span that can’t have overlap with the exclude span.\nEquivalent to setting both `pre` and `post`.", + "type": "number" + }, + "exclude": { + "$ref": "#/components/schemas/_types.query_dsl:SpanQuery" + }, + "include": { + "$ref": "#/components/schemas/_types.query_dsl:SpanQuery" + }, + "post": { + "description": "The number of tokens after the include span that can’t have overlap with the exclude span.", + "type": "number" + }, + "pre": { + "description": "The number of tokens before the include span that can’t have overlap with the exclude span.", + "type": "number" + } + }, + "required": [ + "exclude", + "include" + ] + } + ] + }, + "_types.query_dsl:SpanOrQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "clauses": { + "description": "Array of one or more other span type queries.", + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.query_dsl:SpanQuery" + } + } + }, + "required": [ + "clauses" + ] + } + ] + }, + "_types.query_dsl:SpanTermQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ] + } + ] + }, + "_types.query_dsl:SpanWithinQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "big": { + "$ref": "#/components/schemas/_types.query_dsl:SpanQuery" + }, + "little": { + "$ref": "#/components/schemas/_types.query_dsl:SpanQuery" + } + }, + "required": [ + "big", + "little" + ] + } + ] + }, + "_types.query_dsl:TermQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/_types:FieldValue" + }, + "case_insensitive": { + "description": "Allows ASCII case insensitive matching of the value with the indexed field values when set to `true`.\nWhen `false`, the case sensitivity of matching depends on the underlying field’s mapping.", + "type": "boolean" + } + }, + "required": [ + "value" + ] + } + ] + }, + "_types:FieldValue": { + "description": "A field value.", + "oneOf": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "string" + }, + { + "type": "boolean" + }, + { + "nullable": true, + "type": "string" + }, + { + "type": "object" + } + ] + }, + "_types.query_dsl:TermsQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object" + } + ] + }, + "_types.query_dsl:TermsSetQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "minimum_should_match_field": { + "$ref": "#/components/schemas/_types:Field" + }, + "minimum_should_match_script": { + "$ref": "#/components/schemas/_types:Script" + }, + "terms": { + "description": "Array of terms you wish to find in the provided field.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "terms" + ] + } + ] + }, + "_types.query_dsl:TextExpansionQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "model_id": { + "description": "The text expansion NLP model to use", + "type": "string" + }, + "model_text": { + "description": "The query text", + "type": "string" + }, + "pruning_config": { + "$ref": "#/components/schemas/_types.query_dsl:TokenPruningConfig" + } + }, + "required": [ + "model_id", + "model_text" + ] + } + ] + }, + "_types.query_dsl:TokenPruningConfig": { + "type": "object", + "properties": { + "tokens_freq_ratio_threshold": { + "description": "Tokens whose frequency is more than this threshold times the average frequency of all tokens in the specified field are considered outliers and pruned.", + "type": "number" + }, + "tokens_weight_threshold": { + "description": "Tokens whose weight is less than this threshold are considered nonsignificant and pruned.", + "type": "number" + }, + "only_score_pruned_tokens": { + "description": "Whether to only score pruned tokens, vs only scoring kept tokens.", + "type": "boolean" + } + } + }, + "_types.query_dsl:WeightedTokensQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "tokens": { + "description": "The tokens representing this query", + "type": "object", + "additionalProperties": { + "type": "number" + } + }, + "pruning_config": { + "$ref": "#/components/schemas/_types.query_dsl:TokenPruningConfig" + } + }, + "required": [ + "tokens" + ] + } + ] + }, + "_types.query_dsl:WildcardQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "case_insensitive": { + "description": "Allows case insensitive matching of the pattern with the indexed field values when set to true. Default is false which means the case sensitivity of matching depends on the underlying field’s mapping.", + "type": "boolean" + }, + "rewrite": { + "$ref": "#/components/schemas/_types:MultiTermQueryRewrite" + }, + "value": { + "description": "Wildcard pattern for terms you wish to find in the provided field. Required, when wildcard is not set.", + "type": "string" + }, + "wildcard": { + "description": "Wildcard pattern for terms you wish to find in the provided field. Required, when value is not set.", + "type": "string" + } + } + } + ] + }, + "_types.query_dsl:WrapperQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "query": { + "description": "A base64 encoded query.\nThe binary data format can be any of JSON, YAML, CBOR or SMILE encodings", + "type": "string" + } + }, + "required": [ + "query" + ] + } + ] + }, + "_types.query_dsl:TypeQuery": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.query_dsl:QueryBase" + }, + { + "type": "object", + "properties": { + "value": { + "type": "string" + } + }, + "required": [ + "value" + ] + } + ] + }, + "_types.aggregations:AutoDateHistogramAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object", + "properties": { + "buckets": { + "description": "The target number of buckets.", + "type": "number" + }, + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "format": { + "description": "The date format used to format `key_as_string` in the response.\nIf no `format` is specified, the first date format specified in the field mapping is used.", + "type": "string" + }, + "minimum_interval": { + "$ref": "#/components/schemas/_types.aggregations:MinimumInterval" + }, + "missing": { + "$ref": "#/components/schemas/_types:DateTime" + }, + "offset": { + "description": "Time zone specified as a ISO 8601 UTC offset.", + "type": "string" + }, + "params": { + "type": "object", + "additionalProperties": { + "type": "object" + } + }, + "script": { + "$ref": "#/components/schemas/_types:Script" + }, + "time_zone": { + "$ref": "#/components/schemas/_types:TimeZone" + } + } + } + ] + }, + "_types.aggregations:MinimumInterval": { + "type": "string", + "enum": [ + "second", + "minute", + "hour", + "day", + "month", + "year" + ] + }, + "_types:DateTime": { + "description": "A date and time, either as a string whose format can depend on the context (defaulting to ISO 8601), or a\nnumber of milliseconds since the Epoch. Elasticsearch accepts both as input, but will generally output a string\nrepresentation.", + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/_types:EpochTimeUnitMillis" + } + ] + }, + "_types:EpochTimeUnitMillis": { + "allOf": [ + { + "$ref": "#/components/schemas/_types:UnitMillis" + } + ] + }, + "_types:UnitMillis": { + "description": "Time unit for milliseconds", + "type": "number" + }, + "_types.aggregations:AverageAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:FormatMetricAggregationBase" + }, + { + "type": "object" + } + ] + }, + "_types.aggregations:FormatMetricAggregationBase": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:MetricAggregationBase" + }, + { + "type": "object", + "properties": { + "format": { + "type": "string" + } + } + } + ] + }, + "_types.aggregations:MetricAggregationBase": { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "missing": { + "$ref": "#/components/schemas/_types.aggregations:Missing" + }, + "script": { + "$ref": "#/components/schemas/_types:Script" + } + } + }, + "_types.aggregations:Missing": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + }, + "_types.aggregations:AverageBucketAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:PipelineAggregationBase" + }, + { + "type": "object" + } + ] + }, + "_types.aggregations:PipelineAggregationBase": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketPathAggregation" + }, + { + "type": "object", + "properties": { + "format": { + "description": "`DecimalFormat` pattern for the output value.\nIf specified, the formatted value is returned in the aggregation’s `value_as_string` property.", + "type": "string" + }, + "gap_policy": { + "$ref": "#/components/schemas/_types.aggregations:GapPolicy" + } + } + } + ] + }, + "_types.aggregations:BucketPathAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:Aggregation" + }, + { + "type": "object", + "properties": { + "buckets_path": { + "$ref": "#/components/schemas/_types.aggregations:BucketsPath" + } + } + } + ] + }, + "_types.aggregations:BucketsPath": { + "description": "Buckets path can be expressed in different ways, and an aggregation may accept some or all of these\nforms depending on its type. Please refer to each aggregation's documentation to know what buckets\npath forms they accept.", + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "object", + "additionalProperties": { + "type": "string" + } + } + ] + }, + "_types.aggregations:GapPolicy": { + "type": "string", + "enum": [ + "skip", + "insert_zeros", + "keep_values" + ] + }, + "_types.aggregations:BoxplotAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:MetricAggregationBase" + }, + { + "type": "object", + "properties": { + "compression": { + "description": "Limits the maximum number of nodes used by the underlying TDigest algorithm to `20 * compression`, enabling control of memory usage and approximation error.", + "type": "number" + } + } + } + ] + }, + "_types.aggregations:BucketScriptAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:PipelineAggregationBase" + }, + { + "type": "object", + "properties": { + "script": { + "$ref": "#/components/schemas/_types:Script" + } + } + } + ] + }, + "_types.aggregations:BucketSelectorAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:PipelineAggregationBase" + }, + { + "type": "object", + "properties": { + "script": { + "$ref": "#/components/schemas/_types:Script" + } + } + } + ] + }, + "_types.aggregations:BucketSortAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:Aggregation" + }, + { + "type": "object", + "properties": { + "from": { + "description": "Buckets in positions prior to `from` will be truncated.", + "type": "number" + }, + "gap_policy": { + "$ref": "#/components/schemas/_types.aggregations:GapPolicy" + }, + "size": { + "description": "The number of buckets to return.\nDefaults to all buckets of the parent aggregation.", + "type": "number" + }, + "sort": { + "$ref": "#/components/schemas/_types:Sort" + } + } + } + ] + }, + "_types.aggregations:BucketKsAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketPathAggregation" + }, + { + "type": "object", + "properties": { + "alternative": { + "description": "A list of string values indicating which K-S test alternative to calculate. The valid values\nare: \"greater\", \"less\", \"two_sided\". This parameter is key for determining the K-S statistic used\nwhen calculating the K-S test. Default value is all possible alternative hypotheses.", + "type": "array", + "items": { + "type": "string" + } + }, + "fractions": { + "description": "A list of doubles indicating the distribution of the samples with which to compare to the `buckets_path` results.\nIn typical usage this is the overall proportion of documents in each bucket, which is compared with the actual\ndocument proportions in each bucket from the sibling aggregation counts. The default is to assume that overall\ndocuments are uniformly distributed on these buckets, which they would be if one used equal percentiles of a\nmetric to define the bucket end points.", + "type": "array", + "items": { + "type": "number" + } + }, + "sampling_method": { + "description": "Indicates the sampling methodology when calculating the K-S test. Note, this is sampling of the returned values.\nThis determines the cumulative distribution function (CDF) points used comparing the two samples. Default is\n`upper_tail`, which emphasizes the upper end of the CDF points. Valid options are: `upper_tail`, `uniform`,\nand `lower_tail`.", + "type": "string" + } + } + } + ] + }, + "_types.aggregations:BucketCorrelationAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketPathAggregation" + }, + { + "type": "object", + "properties": { + "function": { + "$ref": "#/components/schemas/_types.aggregations:BucketCorrelationFunction" + } + }, + "required": [ + "function" + ] + } + ] + }, + "_types.aggregations:BucketCorrelationFunction": { + "type": "object", + "properties": { + "count_correlation": { + "$ref": "#/components/schemas/_types.aggregations:BucketCorrelationFunctionCountCorrelation" + } + }, + "required": [ + "count_correlation" + ] + }, + "_types.aggregations:BucketCorrelationFunctionCountCorrelation": { + "type": "object", + "properties": { + "indicator": { + "$ref": "#/components/schemas/_types.aggregations:BucketCorrelationFunctionCountCorrelationIndicator" + } + }, + "required": [ + "indicator" + ] + }, + "_types.aggregations:BucketCorrelationFunctionCountCorrelationIndicator": { + "type": "object", + "properties": { + "doc_count": { + "description": "The total number of documents that initially created the expectations. It’s required to be greater\nthan or equal to the sum of all values in the buckets_path as this is the originating superset of data\nto which the term values are correlated.", + "type": "number" + }, + "expectations": { + "description": "An array of numbers with which to correlate the configured `bucket_path` values.\nThe length of this value must always equal the number of buckets returned by the `bucket_path`.", + "type": "array", + "items": { + "type": "number" + } + }, + "fractions": { + "description": "An array of fractions to use when averaging and calculating variance. This should be used if\nthe pre-calculated data and the buckets_path have known gaps. The length of fractions, if provided,\nmust equal expectations.", + "type": "array", + "items": { + "type": "number" + } + } + }, + "required": [ + "doc_count", + "expectations" + ] + }, + "_types.aggregations:CardinalityAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:MetricAggregationBase" + }, + { + "type": "object", + "properties": { + "precision_threshold": { + "description": "A unique count below which counts are expected to be close to accurate.\nThis allows to trade memory for accuracy.", + "type": "number" + }, + "rehash": { + "type": "boolean" + }, + "execution_hint": { + "$ref": "#/components/schemas/_types.aggregations:CardinalityExecutionMode" + } + } + } + ] + }, + "_types.aggregations:CardinalityExecutionMode": { + "type": "string", + "enum": [ + "global_ordinals", + "segment_ordinals", + "direct", + "save_memory_heuristic", + "save_time_heuristic" + ] + }, + "_types.aggregations:CategorizeTextAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:Aggregation" + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "max_unique_tokens": { + "description": "The maximum number of unique tokens at any position up to max_matched_tokens. Must be larger than 1.\nSmaller values use less memory and create fewer categories. Larger values will use more memory and\ncreate narrower categories. Max allowed value is 100.", + "type": "number" + }, + "max_matched_tokens": { + "description": "The maximum number of token positions to match on before attempting to merge categories. Larger\nvalues will use more memory and create narrower categories. Max allowed value is 100.", + "type": "number" + }, + "similarity_threshold": { + "description": "The minimum percentage of tokens that must match for text to be added to the category bucket. Must\nbe between 1 and 100. The larger the value the narrower the categories. Larger values will increase memory\nusage and create narrower categories.", + "type": "number" + }, + "categorization_filters": { + "description": "This property expects an array of regular expressions. The expressions are used to filter out matching\nsequences from the categorization field values. You can use this functionality to fine tune the categorization\nby excluding sequences from consideration when categories are defined. For example, you can exclude SQL\nstatements that appear in your log files. This property cannot be used at the same time as categorization_analyzer.\nIf you only want to define simple regular expression filters that are applied prior to tokenization, setting\nthis property is the easiest method. If you also want to customize the tokenizer or post-tokenization filtering,\nuse the categorization_analyzer property instead and include the filters as pattern_replace character filters.", + "type": "array", + "items": { + "type": "string" + } + }, + "categorization_analyzer": { + "$ref": "#/components/schemas/_types.aggregations:CategorizeTextAnalyzer" + }, + "shard_size": { + "description": "The number of categorization buckets to return from each shard before merging all the results.", + "type": "number" + }, + "size": { + "description": "The number of buckets to return.", + "type": "number" + }, + "min_doc_count": { + "description": "The minimum number of documents in a bucket to be returned to the results.", + "type": "number" + }, + "shard_min_doc_count": { + "description": "The minimum number of documents in a bucket to be returned from the shard before merging.", + "type": "number" + } + }, + "required": [ + "field" + ] + } + ] + }, + "_types.aggregations:CategorizeTextAnalyzer": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/components/schemas/_types.aggregations:CustomCategorizeTextAnalyzer" + } + ] + }, + "_types.aggregations:CustomCategorizeTextAnalyzer": { + "type": "object", + "properties": { + "char_filter": { + "type": "array", + "items": { + "type": "string" + } + }, + "tokenizer": { + "type": "string" + }, + "filter": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "_types.aggregations:ChildrenAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object", + "properties": { + "type": { + "$ref": "#/components/schemas/_types:RelationName" + } + } + } + ] + }, + "_types.aggregations:CompositeAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object", + "properties": { + "after": { + "$ref": "#/components/schemas/_types.aggregations:CompositeAggregateKey" + }, + "size": { + "description": "The number of composite buckets that should be returned.", + "type": "number" + }, + "sources": { + "description": "The value sources used to build composite buckets.\nKeys are returned in the order of the `sources` definition.", + "type": "array", + "items": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.aggregations:CompositeAggregationSource" + } + } + } + } + } + ] + }, + "_types.aggregations:CompositeAggregateKey": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types:FieldValue" + } + }, + "_types.aggregations:CompositeAggregationSource": { + "type": "object", + "properties": { + "terms": { + "$ref": "#/components/schemas/_types.aggregations:CompositeTermsAggregation" + }, + "histogram": { + "$ref": "#/components/schemas/_types.aggregations:CompositeHistogramAggregation" + }, + "date_histogram": { + "$ref": "#/components/schemas/_types.aggregations:CompositeDateHistogramAggregation" + }, + "geotile_grid": { + "$ref": "#/components/schemas/_types.aggregations:CompositeGeoTileGridAggregation" + } + } + }, + "_types.aggregations:CompositeTermsAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:CompositeAggregationBase" + }, + { + "type": "object" + } + ] + }, + "_types.aggregations:CompositeAggregationBase": { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "missing_bucket": { + "type": "boolean" + }, + "missing_order": { + "$ref": "#/components/schemas/_types.aggregations:MissingOrder" + }, + "script": { + "$ref": "#/components/schemas/_types:Script" + }, + "value_type": { + "$ref": "#/components/schemas/_types.aggregations:ValueType" + }, + "order": { + "$ref": "#/components/schemas/_types:SortOrder" + } + } + }, + "_types.aggregations:MissingOrder": { + "type": "string", + "enum": [ + "first", + "last", + "default" + ] + }, + "_types.aggregations:ValueType": { + "type": "string", + "enum": [ + "string", + "long", + "double", + "number", + "date", + "date_nanos", + "ip", + "numeric", + "geo_point", + "boolean" + ] + }, + "_types.aggregations:CompositeHistogramAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:CompositeAggregationBase" + }, + { + "type": "object", + "properties": { + "interval": { + "type": "number" + } + }, + "required": [ + "interval" + ] + } + ] + }, + "_types.aggregations:CompositeDateHistogramAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:CompositeAggregationBase" + }, + { + "type": "object", + "properties": { + "format": { + "type": "string" + }, + "calendar_interval": { + "$ref": "#/components/schemas/_types:DurationLarge" + }, + "fixed_interval": { + "$ref": "#/components/schemas/_types:DurationLarge" + }, + "offset": { + "$ref": "#/components/schemas/_types:Duration" + }, + "time_zone": { + "$ref": "#/components/schemas/_types:TimeZone" + } + } + } + ] + }, + "_types:DurationLarge": { + "description": "A date histogram interval. Similar to `Duration` with additional units: `w` (week), `M` (month), `q` (quarter) and\n`y` (year)", + "type": "string" + }, + "_types.aggregations:CompositeGeoTileGridAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:CompositeAggregationBase" + }, + { + "type": "object", + "properties": { + "precision": { + "type": "number" + }, + "bounds": { + "$ref": "#/components/schemas/_types:GeoBounds" + } + } + } + ] + }, + "_types:GeoBounds": { + "description": "A geo bounding box. It can be represented in various ways:\n- as 4 top/bottom/left/right coordinates\n- as 2 top_left / bottom_right points\n- as 2 top_right / bottom_left points\n- as a WKT bounding box", + "oneOf": [ + { + "$ref": "#/components/schemas/_types:CoordsGeoBounds" + }, + { + "$ref": "#/components/schemas/_types:TopLeftBottomRightGeoBounds" + }, + { + "$ref": "#/components/schemas/_types:TopRightBottomLeftGeoBounds" + }, + { + "$ref": "#/components/schemas/_types:WktGeoBounds" + } + ] + }, + "_types:CoordsGeoBounds": { + "type": "object", + "properties": { + "top": { + "type": "number" + }, + "bottom": { + "type": "number" + }, + "left": { + "type": "number" + }, + "right": { + "type": "number" + } + }, + "required": [ + "top", + "bottom", + "left", + "right" + ] + }, + "_types:TopLeftBottomRightGeoBounds": { + "type": "object", + "properties": { + "top_left": { + "$ref": "#/components/schemas/_types:GeoLocation" + }, + "bottom_right": { + "$ref": "#/components/schemas/_types:GeoLocation" + } + }, + "required": [ + "top_left", + "bottom_right" + ] + }, + "_types:TopRightBottomLeftGeoBounds": { + "type": "object", + "properties": { + "top_right": { + "$ref": "#/components/schemas/_types:GeoLocation" + }, + "bottom_left": { + "$ref": "#/components/schemas/_types:GeoLocation" + } + }, + "required": [ + "top_right", + "bottom_left" + ] + }, + "_types:WktGeoBounds": { + "type": "object", + "properties": { + "wkt": { + "type": "string" + } + }, + "required": [ + "wkt" + ] + }, + "_types.aggregations:CumulativeCardinalityAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:PipelineAggregationBase" + }, + { + "type": "object" + } + ] + }, + "_types.aggregations:CumulativeSumAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:PipelineAggregationBase" + }, + { + "type": "object" + } + ] + }, + "_types.aggregations:DateHistogramAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object", + "properties": { + "calendar_interval": { + "$ref": "#/components/schemas/_types.aggregations:CalendarInterval" + }, + "extended_bounds": { + "$ref": "#/components/schemas/_types.aggregations:ExtendedBoundsFieldDateMath" + }, + "hard_bounds": { + "$ref": "#/components/schemas/_types.aggregations:ExtendedBoundsFieldDateMath" + }, + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "fixed_interval": { + "$ref": "#/components/schemas/_types:Duration" + }, + "format": { + "description": "The date format used to format `key_as_string` in the response.\nIf no `format` is specified, the first date format specified in the field mapping is used.", + "type": "string" + }, + "interval": { + "$ref": "#/components/schemas/_types:Duration" + }, + "min_doc_count": { + "description": "Only returns buckets that have `min_doc_count` number of documents.\nBy default, all buckets between the first bucket that matches documents and the last one are returned.", + "type": "number" + }, + "missing": { + "$ref": "#/components/schemas/_types:DateTime" + }, + "offset": { + "$ref": "#/components/schemas/_types:Duration" + }, + "order": { + "$ref": "#/components/schemas/_types.aggregations:AggregateOrder" + }, + "params": { + "type": "object", + "additionalProperties": { + "type": "object" + } + }, + "script": { + "$ref": "#/components/schemas/_types:Script" + }, + "time_zone": { + "$ref": "#/components/schemas/_types:TimeZone" + }, + "keyed": { + "description": "Set to `true` to associate a unique string key with each bucket and return the ranges as a hash rather than an array.", + "type": "boolean" + } + } + } + ] + }, + "_types.aggregations:CalendarInterval": { + "type": "string", + "enum": [ + "second", + "1s", + "minute", + "1m", + "hour", + "1h", + "day", + "1d", + "week", + "1w", + "month", + "1M", + "quarter", + "1q", + "year", + "1Y" + ] + }, + "_types.aggregations:ExtendedBoundsFieldDateMath": { + "type": "object", + "properties": { + "max": { + "$ref": "#/components/schemas/_types.aggregations:FieldDateMath" + }, + "min": { + "$ref": "#/components/schemas/_types.aggregations:FieldDateMath" + } + } + }, + "_types.aggregations:FieldDateMath": { + "description": "A date range limit, represented either as a DateMath expression or a number expressed\naccording to the target field's precision.", + "oneOf": [ + { + "$ref": "#/components/schemas/_types:DateMath" + }, + { + "type": "number" + } + ] + }, + "_types.aggregations:AggregateOrder": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types:SortOrder" + }, + "minProperties": 1, + "maxProperties": 1 + }, + { + "type": "array", + "items": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types:SortOrder" + }, + "minProperties": 1, + "maxProperties": 1 + } + } + ] + }, + "_types.aggregations:DateRangeAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "format": { + "description": "The date format used to format `from` and `to` in the response.", + "type": "string" + }, + "missing": { + "$ref": "#/components/schemas/_types.aggregations:Missing" + }, + "ranges": { + "description": "Array of date ranges.", + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.aggregations:DateRangeExpression" + } + }, + "time_zone": { + "$ref": "#/components/schemas/_types:TimeZone" + }, + "keyed": { + "description": "Set to `true` to associate a unique string key with each bucket and returns the ranges as a hash rather than an array.", + "type": "boolean" + } + } + } + ] + }, + "_types.aggregations:DateRangeExpression": { + "type": "object", + "properties": { + "from": { + "$ref": "#/components/schemas/_types.aggregations:FieldDateMath" + }, + "key": { + "description": "Custom key to return the range with.", + "type": "string" + }, + "to": { + "$ref": "#/components/schemas/_types.aggregations:FieldDateMath" + } + } + }, + "_types.aggregations:DerivativeAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:PipelineAggregationBase" + }, + { + "type": "object" + } + ] + }, + "_types.aggregations:DiversifiedSamplerAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object", + "properties": { + "execution_hint": { + "$ref": "#/components/schemas/_types.aggregations:SamplerAggregationExecutionHint" + }, + "max_docs_per_value": { + "description": "Limits how many documents are permitted per choice of de-duplicating value.", + "type": "number" + }, + "script": { + "$ref": "#/components/schemas/_types:Script" + }, + "shard_size": { + "description": "Limits how many top-scoring documents are collected in the sample processed on each shard.", + "type": "number" + }, + "field": { + "$ref": "#/components/schemas/_types:Field" + } + } + } + ] + }, + "_types.aggregations:SamplerAggregationExecutionHint": { + "type": "string", + "enum": [ + "map", + "global_ordinals", + "bytes_hash" + ] + }, + "_types.aggregations:ExtendedStatsAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:FormatMetricAggregationBase" + }, + { + "type": "object", + "properties": { + "sigma": { + "description": "The number of standard deviations above/below the mean to display.", + "type": "number" + } + } + } + ] + }, + "_types.aggregations:ExtendedStatsBucketAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:PipelineAggregationBase" + }, + { + "type": "object", + "properties": { + "sigma": { + "description": "The number of standard deviations above/below the mean to display.", + "type": "number" + } + } + } + ] + }, + "_types.aggregations:FrequentItemSetsAggregation": { + "type": "object", + "properties": { + "fields": { + "description": "Fields to analyze.", + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.aggregations:FrequentItemSetsField" + } + }, + "minimum_set_size": { + "description": "The minimum size of one item set.", + "type": "number" + }, + "minimum_support": { + "description": "The minimum support of one item set.", + "type": "number" + }, + "size": { + "description": "The number of top item sets to return.", + "type": "number" + }, + "filter": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + } + }, + "required": [ + "fields" + ] + }, + "_types.aggregations:FrequentItemSetsField": { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "exclude": { + "$ref": "#/components/schemas/_types.aggregations:TermsExclude" + }, + "include": { + "$ref": "#/components/schemas/_types.aggregations:TermsInclude" + } + }, + "required": [ + "field" + ] + }, + "_types.aggregations:TermsExclude": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "_types.aggregations:TermsInclude": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "#/components/schemas/_types.aggregations:TermsPartition" + } + ] + }, + "_types.aggregations:TermsPartition": { + "type": "object", + "properties": { + "num_partitions": { + "description": "The number of partitions.", + "type": "number" + }, + "partition": { + "description": "The partition number for this request.", + "type": "number" + } + }, + "required": [ + "num_partitions", + "partition" + ] + }, + "_types.aggregations:FiltersAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object", + "properties": { + "filters": { + "$ref": "#/components/schemas/_types.aggregations:BucketsQueryContainer" + }, + "other_bucket": { + "description": "Set to `true` to add a bucket to the response which will contain all documents that do not match any of the given filters.", + "type": "boolean" + }, + "other_bucket_key": { + "description": "The key with which the other bucket is returned.", + "type": "string" + }, + "keyed": { + "description": "By default, the named filters aggregation returns the buckets as an object.\nSet to `false` to return the buckets as an array of objects.", + "type": "boolean" + } + } + } + ] + }, + "_types.aggregations:BucketsQueryContainer": { + "description": "Aggregation buckets. By default they are returned as an array, but if the aggregation has keys configured for\nthe different buckets, the result is a dictionary.", + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + } + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + } + } + ] + }, + "_types.aggregations:GeoBoundsAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:MetricAggregationBase" + }, + { + "type": "object", + "properties": { + "wrap_longitude": { + "description": "Specifies whether the bounding box should be allowed to overlap the international date line.", + "type": "boolean" + } + } + } + ] + }, + "_types.aggregations:GeoCentroidAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:MetricAggregationBase" + }, + { + "type": "object", + "properties": { + "count": { + "type": "number" + }, + "location": { + "$ref": "#/components/schemas/_types:GeoLocation" + } + } + } + ] + }, + "_types.aggregations:GeoDistanceAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object", + "properties": { + "distance_type": { + "$ref": "#/components/schemas/_types:GeoDistanceType" + }, + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "origin": { + "$ref": "#/components/schemas/_types:GeoLocation" + }, + "ranges": { + "description": "An array of ranges used to bucket documents.", + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.aggregations:AggregationRange" + } + }, + "unit": { + "$ref": "#/components/schemas/_types:DistanceUnit" + } + } + } + ] + }, + "_types.aggregations:AggregationRange": { + "type": "object", + "properties": { + "from": { + "description": "Start of the range (inclusive).", + "oneOf": [ + { + "type": "number" + }, + { + "type": "string" + }, + { + "nullable": true, + "type": "string" + } + ] + }, + "key": { + "description": "Custom key to return the range with.", + "type": "string" + }, + "to": { + "description": "End of the range (exclusive).", + "oneOf": [ + { + "type": "number" + }, + { + "type": "string" + }, + { + "nullable": true, + "type": "string" + } + ] + } + } + }, + "_types.aggregations:GeoHashGridAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object", + "properties": { + "bounds": { + "$ref": "#/components/schemas/_types:GeoBounds" + }, + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "precision": { + "$ref": "#/components/schemas/_types:GeoHashPrecision" + }, + "shard_size": { + "description": "Allows for more accurate counting of the top cells returned in the final result the aggregation.\nDefaults to returning `max(10,(size x number-of-shards))` buckets from each shard.", + "type": "number" + }, + "size": { + "description": "The maximum number of geohash buckets to return.", + "type": "number" + } + } + } + ] + }, + "_types:GeoHashPrecision": { + "description": "A precision that can be expressed as a geohash length between 1 and 12, or a distance measure like \"1km\", \"10m\".", + "oneOf": [ + { + "type": "number" + }, + { + "type": "string" + } + ] + }, + "_types.aggregations:GeoLineAggregation": { + "type": "object", + "properties": { + "point": { + "$ref": "#/components/schemas/_types.aggregations:GeoLinePoint" + }, + "sort": { + "$ref": "#/components/schemas/_types.aggregations:GeoLineSort" + }, + "include_sort": { + "description": "When `true`, returns an additional array of the sort values in the feature properties.", + "type": "boolean" + }, + "sort_order": { + "$ref": "#/components/schemas/_types:SortOrder" + }, + "size": { + "description": "The maximum length of the line represented in the aggregation.\nValid sizes are between 1 and 10000.", + "type": "number" + } + }, + "required": [ + "point", + "sort" + ] + }, + "_types.aggregations:GeoLinePoint": { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + } + }, + "required": [ + "field" + ] + }, + "_types.aggregations:GeoLineSort": { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + } + }, + "required": [ + "field" + ] + }, + "_types.aggregations:GeoTileGridAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "precision": { + "$ref": "#/components/schemas/_types:GeoTilePrecision" + }, + "shard_size": { + "description": "Allows for more accurate counting of the top cells returned in the final result the aggregation.\nDefaults to returning `max(10,(size x number-of-shards))` buckets from each shard.", + "type": "number" + }, + "size": { + "description": "The maximum number of buckets to return.", + "type": "number" + }, + "bounds": { + "$ref": "#/components/schemas/_types:GeoBounds" + } + } + } + ] + }, + "_types:GeoTilePrecision": { + "type": "number" + }, + "_types.aggregations:GeohexGridAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "precision": { + "description": "Integer zoom of the key used to defined cells or buckets\nin the results. Value should be between 0-15.", + "type": "number" + }, + "bounds": { + "$ref": "#/components/schemas/_types:GeoBounds" + }, + "size": { + "description": "Maximum number of buckets to return.", + "type": "number" + }, + "shard_size": { + "description": "Number of buckets returned from each shard.", + "type": "number" + } + }, + "required": [ + "field" + ] + } + ] + }, + "_types.aggregations:GlobalAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object" + } + ] + }, + "_types.aggregations:HistogramAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object", + "properties": { + "extended_bounds": { + "$ref": "#/components/schemas/_types.aggregations:ExtendedBoundsdouble" + }, + "hard_bounds": { + "$ref": "#/components/schemas/_types.aggregations:ExtendedBoundsdouble" + }, + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "interval": { + "description": "The interval for the buckets.\nMust be a positive decimal.", + "type": "number" + }, + "min_doc_count": { + "description": "Only returns buckets that have `min_doc_count` number of documents.\nBy default, the response will fill gaps in the histogram with empty buckets.", + "type": "number" + }, + "missing": { + "description": "The value to apply to documents that do not have a value.\nBy default, documents without a value are ignored.", + "type": "number" + }, + "offset": { + "description": "By default, the bucket keys start with 0 and then continue in even spaced steps of `interval`.\nThe bucket boundaries can be shifted by using the `offset` option.", + "type": "number" + }, + "order": { + "$ref": "#/components/schemas/_types.aggregations:AggregateOrder" + }, + "script": { + "$ref": "#/components/schemas/_types:Script" + }, + "format": { + "type": "string" + }, + "keyed": { + "description": "If `true`, returns buckets as a hash instead of an array, keyed by the bucket keys.", + "type": "boolean" + } + } + } + ] + }, + "_types.aggregations:ExtendedBoundsdouble": { + "type": "object", + "properties": { + "max": { + "description": "Maximum value for the bound.", + "type": "number" + }, + "min": { + "description": "Minimum value for the bound.", + "type": "number" + } + } + }, + "_types.aggregations:IpRangeAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "ranges": { + "description": "Array of IP ranges.", + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.aggregations:IpRangeAggregationRange" + } + } + } + } + ] + }, + "_types.aggregations:IpRangeAggregationRange": { + "type": "object", + "properties": { + "from": { + "description": "Start of the range.", + "oneOf": [ + { + "type": "string" + }, + { + "nullable": true, + "type": "string" + } + ] + }, + "mask": { + "description": "IP range defined as a CIDR mask.", + "type": "string" + }, + "to": { + "description": "End of the range.", + "oneOf": [ + { + "type": "string" + }, + { + "nullable": true, + "type": "string" + } + ] + } + } + }, + "_types.aggregations:IpPrefixAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "prefix_length": { + "description": "Length of the network prefix. For IPv4 addresses the accepted range is [0, 32].\nFor IPv6 addresses the accepted range is [0, 128].", + "type": "number" + }, + "is_ipv6": { + "description": "Defines whether the prefix applies to IPv6 addresses.", + "type": "boolean" + }, + "append_prefix_length": { + "description": "Defines whether the prefix length is appended to IP address keys in the response.", + "type": "boolean" + }, + "keyed": { + "description": "Defines whether buckets are returned as a hash rather than an array in the response.", + "type": "boolean" + }, + "min_doc_count": { + "description": "Minimum number of documents in a bucket for it to be included in the response.", + "type": "number" + } + }, + "required": [ + "field", + "prefix_length" + ] + } + ] + }, + "_types.aggregations:InferenceAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:PipelineAggregationBase" + }, + { + "type": "object", + "properties": { + "model_id": { + "$ref": "#/components/schemas/_types:Name" + }, + "inference_config": { + "$ref": "#/components/schemas/_types.aggregations:InferenceConfigContainer" + } + }, + "required": [ + "model_id" + ] + } + ] + }, + "_types.aggregations:InferenceConfigContainer": { + "type": "object", + "properties": { + "regression": { + "$ref": "#/components/schemas/ml._types:RegressionInferenceOptions" + }, + "classification": { + "$ref": "#/components/schemas/ml._types:ClassificationInferenceOptions" + } + }, + "minProperties": 1, + "maxProperties": 1 + }, + "ml._types:RegressionInferenceOptions": { + "type": "object", + "properties": { + "results_field": { + "$ref": "#/components/schemas/_types:Field" + }, + "num_top_feature_importance_values": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/machine-learning/current/ml-feature-importance.html" + }, + "description": "Specifies the maximum number of feature importance values per document.", + "type": "number" + } + } + }, + "ml._types:ClassificationInferenceOptions": { + "type": "object", + "properties": { + "num_top_classes": { + "description": "Specifies the number of top class predictions to return. Defaults to 0.", + "type": "number" + }, + "num_top_feature_importance_values": { + "externalDocs": { + "url": "https://www.elastic.co/guide/en/machine-learning/current/ml-feature-importance.html" + }, + "description": "Specifies the maximum number of feature importance values per document.", + "type": "number" + }, + "prediction_field_type": { + "description": "Specifies the type of the predicted field to write. Acceptable values are: string, number, boolean. When boolean is provided 1.0 is transformed to true and 0.0 to false.", + "type": "string" + }, + "results_field": { + "description": "The field that is added to incoming documents to contain the inference prediction. Defaults to predicted_value.", + "type": "string" + }, + "top_classes_results_field": { + "description": "Specifies the field to which the top classes are written. Defaults to top_classes.", + "type": "string" + } + } + }, + "_types.aggregations:MatrixStatsAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:MatrixAggregation" + }, + { + "type": "object", + "properties": { + "mode": { + "$ref": "#/components/schemas/_types:SortMode" + } + } + } + ] + }, + "_types.aggregations:MatrixAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:Aggregation" + }, + { + "type": "object", + "properties": { + "fields": { + "$ref": "#/components/schemas/_types:Fields" + }, + "missing": { + "description": "The value to apply to documents that do not have a value.\nBy default, documents without a value are ignored.", + "type": "object", + "additionalProperties": { + "type": "number" + } + } + } + } + ] + }, + "_types.aggregations:MaxAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:FormatMetricAggregationBase" + }, + { + "type": "object" + } + ] + }, + "_types.aggregations:MaxBucketAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:PipelineAggregationBase" + }, + { + "type": "object" + } + ] + }, + "_types.aggregations:MedianAbsoluteDeviationAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:FormatMetricAggregationBase" + }, + { + "type": "object", + "properties": { + "compression": { + "description": "Limits the maximum number of nodes used by the underlying TDigest algorithm to `20 * compression`, enabling control of memory usage and approximation error.", + "type": "number" + } + } + } + ] + }, + "_types.aggregations:MinAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:FormatMetricAggregationBase" + }, + { + "type": "object" + } + ] + }, + "_types.aggregations:MinBucketAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:PipelineAggregationBase" + }, + { + "type": "object" + } + ] + }, + "_types.aggregations:MissingAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "missing": { + "$ref": "#/components/schemas/_types.aggregations:Missing" + } + } + } + ] + }, + "_types.aggregations:MovingAverageAggregation": { + "discriminator": { + "propertyName": "model" + }, + "oneOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:LinearMovingAverageAggregation" + }, + { + "$ref": "#/components/schemas/_types.aggregations:SimpleMovingAverageAggregation" + }, + { + "$ref": "#/components/schemas/_types.aggregations:EwmaMovingAverageAggregation" + }, + { + "$ref": "#/components/schemas/_types.aggregations:HoltMovingAverageAggregation" + }, + { + "$ref": "#/components/schemas/_types.aggregations:HoltWintersMovingAverageAggregation" + } + ] + }, + "_types.aggregations:LinearMovingAverageAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:MovingAverageAggregationBase" + }, + { + "type": "object", + "properties": { + "model": { + "type": "string", + "enum": [ + "linear" + ] + }, + "settings": { + "$ref": "#/components/schemas/_types:EmptyObject" + } + }, + "required": [ + "model", + "settings" + ] + } + ] + }, + "_types.aggregations:MovingAverageAggregationBase": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:PipelineAggregationBase" + }, + { + "type": "object", + "properties": { + "minimize": { + "type": "boolean" + }, + "predict": { + "type": "number" + }, + "window": { + "type": "number" + } + } + } + ] + }, + "_types:EmptyObject": { + "type": "object" + }, + "_types.aggregations:SimpleMovingAverageAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:MovingAverageAggregationBase" + }, + { + "type": "object", + "properties": { + "model": { + "type": "string", + "enum": [ + "simple" + ] + }, + "settings": { + "$ref": "#/components/schemas/_types:EmptyObject" + } + }, + "required": [ + "model", + "settings" + ] + } + ] + }, + "_types.aggregations:EwmaMovingAverageAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:MovingAverageAggregationBase" + }, + { + "type": "object", + "properties": { + "model": { + "type": "string", + "enum": [ + "ewma" + ] + }, + "settings": { + "$ref": "#/components/schemas/_types.aggregations:EwmaModelSettings" + } + }, + "required": [ + "model", + "settings" + ] + } + ] + }, + "_types.aggregations:EwmaModelSettings": { + "type": "object", + "properties": { + "alpha": { + "type": "number" + } + } + }, + "_types.aggregations:HoltMovingAverageAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:MovingAverageAggregationBase" + }, + { + "type": "object", + "properties": { + "model": { + "type": "string", + "enum": [ + "holt" + ] + }, + "settings": { + "$ref": "#/components/schemas/_types.aggregations:HoltLinearModelSettings" + } + }, + "required": [ + "model", + "settings" + ] + } + ] + }, + "_types.aggregations:HoltLinearModelSettings": { + "type": "object", + "properties": { + "alpha": { + "type": "number" + }, + "beta": { + "type": "number" + } + } + }, + "_types.aggregations:HoltWintersMovingAverageAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:MovingAverageAggregationBase" + }, + { + "type": "object", + "properties": { + "model": { + "type": "string", + "enum": [ + "holt_winters" + ] + }, + "settings": { + "$ref": "#/components/schemas/_types.aggregations:HoltWintersModelSettings" + } + }, + "required": [ + "model", + "settings" + ] + } + ] + }, + "_types.aggregations:HoltWintersModelSettings": { + "type": "object", + "properties": { + "alpha": { + "type": "number" + }, + "beta": { + "type": "number" + }, + "gamma": { + "type": "number" + }, + "pad": { + "type": "boolean" + }, + "period": { + "type": "number" + }, + "type": { + "$ref": "#/components/schemas/_types.aggregations:HoltWintersType" + } + } + }, + "_types.aggregations:HoltWintersType": { + "type": "string", + "enum": [ + "add", + "mult" + ] + }, + "_types.aggregations:MovingPercentilesAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:PipelineAggregationBase" + }, + { + "type": "object", + "properties": { + "window": { + "description": "The size of window to \"slide\" across the histogram.", + "type": "number" + }, + "shift": { + "description": "By default, the window consists of the last n values excluding the current bucket.\nIncreasing `shift` by 1, moves the starting window position by 1 to the right.", + "type": "number" + }, + "keyed": { + "type": "boolean" + } + } + } + ] + }, + "_types.aggregations:MovingFunctionAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:PipelineAggregationBase" + }, + { + "type": "object", + "properties": { + "script": { + "description": "The script that should be executed on each window of data.", + "type": "string" + }, + "shift": { + "description": "By default, the window consists of the last n values excluding the current bucket.\nIncreasing `shift` by 1, moves the starting window position by 1 to the right.", + "type": "number" + }, + "window": { + "description": "The size of window to \"slide\" across the histogram.", + "type": "number" + } + } + } + ] + }, + "_types.aggregations:MultiTermsAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object", + "properties": { + "collect_mode": { + "$ref": "#/components/schemas/_types.aggregations:TermsAggregationCollectMode" + }, + "order": { + "$ref": "#/components/schemas/_types.aggregations:AggregateOrder" + }, + "min_doc_count": { + "description": "The minimum number of documents in a bucket for it to be returned.", + "type": "number" + }, + "shard_min_doc_count": { + "description": "The minimum number of documents in a bucket on each shard for it to be returned.", + "type": "number" + }, + "shard_size": { + "description": "The number of candidate terms produced by each shard.\nBy default, `shard_size` will be automatically estimated based on the number of shards and the `size` parameter.", + "type": "number" + }, + "show_term_doc_count_error": { + "description": "Calculates the doc count error on per term basis.", + "type": "boolean" + }, + "size": { + "description": "The number of term buckets should be returned out of the overall terms list.", + "type": "number" + }, + "terms": { + "description": "The field from which to generate sets of terms.", + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.aggregations:MultiTermLookup" + } + } + }, + "required": [ + "terms" + ] + } + ] + }, + "_types.aggregations:TermsAggregationCollectMode": { + "type": "string", + "enum": [ + "depth_first", + "breadth_first" + ] + }, + "_types.aggregations:MultiTermLookup": { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "missing": { + "$ref": "#/components/schemas/_types.aggregations:Missing" + } + }, + "required": [ + "field" + ] + }, + "_types.aggregations:NestedAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object", + "properties": { + "path": { + "$ref": "#/components/schemas/_types:Field" + } + } + } + ] + }, + "_types.aggregations:NormalizeAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:PipelineAggregationBase" + }, + { + "type": "object", + "properties": { + "method": { + "$ref": "#/components/schemas/_types.aggregations:NormalizeMethod" + } + } + } + ] + }, + "_types.aggregations:NormalizeMethod": { + "type": "string", + "enum": [ + "rescale_0_1", + "rescale_0_100", + "percent_of_sum", + "mean", + "z-score", + "softmax" + ] + }, + "_types.aggregations:ParentAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object", + "properties": { + "type": { + "$ref": "#/components/schemas/_types:RelationName" + } + } + } + ] + }, + "_types.aggregations:PercentileRanksAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:FormatMetricAggregationBase" + }, + { + "type": "object", + "properties": { + "keyed": { + "description": "By default, the aggregation associates a unique string key with each bucket and returns the ranges as a hash rather than an array.\nSet to `false` to disable this behavior.", + "type": "boolean" + }, + "values": { + "description": "An array of values for which to calculate the percentile ranks.", + "oneOf": [ + { + "type": "array", + "items": { + "type": "number" + } + }, + { + "nullable": true, + "type": "string" + } + ] + }, + "hdr": { + "$ref": "#/components/schemas/_types.aggregations:HdrMethod" + }, + "tdigest": { + "$ref": "#/components/schemas/_types.aggregations:TDigest" + } + } + } + ] + }, + "_types.aggregations:HdrMethod": { + "type": "object", + "properties": { + "number_of_significant_value_digits": { + "description": "Specifies the resolution of values for the histogram in number of significant digits.", + "type": "number" + } + } + }, + "_types.aggregations:TDigest": { + "type": "object", + "properties": { + "compression": { + "description": "Limits the maximum number of nodes used by the underlying TDigest algorithm to `20 * compression`, enabling control of memory usage and approximation error.", + "type": "number" + } + } + }, + "_types.aggregations:PercentilesAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:FormatMetricAggregationBase" + }, + { + "type": "object", + "properties": { + "keyed": { + "description": "By default, the aggregation associates a unique string key with each bucket and returns the ranges as a hash rather than an array.\nSet to `false` to disable this behavior.", + "type": "boolean" + }, + "percents": { + "description": "The percentiles to calculate.", + "type": "array", + "items": { + "type": "number" + } + }, + "hdr": { + "$ref": "#/components/schemas/_types.aggregations:HdrMethod" + }, + "tdigest": { + "$ref": "#/components/schemas/_types.aggregations:TDigest" + } + } + } + ] + }, + "_types.aggregations:PercentilesBucketAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:PipelineAggregationBase" + }, + { + "type": "object", + "properties": { + "percents": { + "description": "The list of percentiles to calculate.", + "type": "array", + "items": { + "type": "number" + } + } + } + } + ] + }, + "_types.aggregations:RangeAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "missing": { + "description": "The value to apply to documents that do not have a value.\nBy default, documents without a value are ignored.", + "type": "number" + }, + "ranges": { + "description": "An array of ranges used to bucket documents.", + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.aggregations:AggregationRange" + } + }, + "script": { + "$ref": "#/components/schemas/_types:Script" + }, + "keyed": { + "description": "Set to `true` to associate a unique string key with each bucket and return the ranges as a hash rather than an array.", + "type": "boolean" + }, + "format": { + "type": "string" + } + } + } + ] + }, + "_types.aggregations:RareTermsAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object", + "properties": { + "exclude": { + "$ref": "#/components/schemas/_types.aggregations:TermsExclude" + }, + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "include": { + "$ref": "#/components/schemas/_types.aggregations:TermsInclude" + }, + "max_doc_count": { + "description": "The maximum number of documents a term should appear in.", + "type": "number" + }, + "missing": { + "$ref": "#/components/schemas/_types.aggregations:Missing" + }, + "precision": { + "description": "The precision of the internal CuckooFilters.\nSmaller precision leads to better approximation, but higher memory usage.", + "type": "number" + }, + "value_type": { + "type": "string" + } + } + } + ] + }, + "_types.aggregations:RateAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:FormatMetricAggregationBase" + }, + { + "type": "object", + "properties": { + "unit": { + "$ref": "#/components/schemas/_types.aggregations:CalendarInterval" + }, + "mode": { + "$ref": "#/components/schemas/_types.aggregations:RateMode" + } + } + } + ] + }, + "_types.aggregations:RateMode": { + "type": "string", + "enum": [ + "sum", + "value_count" + ] + }, + "_types.aggregations:ReverseNestedAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object", + "properties": { + "path": { + "$ref": "#/components/schemas/_types:Field" + } + } + } + ] + }, + "_types.aggregations:SamplerAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object", + "properties": { + "shard_size": { + "description": "Limits how many top-scoring documents are collected in the sample processed on each shard.", + "type": "number" + } + } + } + ] + }, + "_types.aggregations:ScriptedMetricAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:MetricAggregationBase" + }, + { + "type": "object", + "properties": { + "combine_script": { + "$ref": "#/components/schemas/_types:Script" + }, + "init_script": { + "$ref": "#/components/schemas/_types:Script" + }, + "map_script": { + "$ref": "#/components/schemas/_types:Script" + }, + "params": { + "description": "A global object with script parameters for `init`, `map` and `combine` scripts.\nIt is shared between the scripts.", + "type": "object", + "additionalProperties": { + "type": "object" + } + }, + "reduce_script": { + "$ref": "#/components/schemas/_types:Script" + } + } + } + ] + }, + "_types.aggregations:SerialDifferencingAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:PipelineAggregationBase" + }, + { + "type": "object", + "properties": { + "lag": { + "description": "The historical bucket to subtract from the current value.\nMust be a positive, non-zero integer.", + "type": "number" + } + } + } + ] + }, + "_types.aggregations:SignificantTermsAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object", + "properties": { + "background_filter": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + }, + "chi_square": { + "$ref": "#/components/schemas/_types.aggregations:ChiSquareHeuristic" + }, + "exclude": { + "$ref": "#/components/schemas/_types.aggregations:TermsExclude" + }, + "execution_hint": { + "$ref": "#/components/schemas/_types.aggregations:TermsAggregationExecutionHint" + }, + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "gnd": { + "$ref": "#/components/schemas/_types.aggregations:GoogleNormalizedDistanceHeuristic" + }, + "include": { + "$ref": "#/components/schemas/_types.aggregations:TermsInclude" + }, + "jlh": { + "$ref": "#/components/schemas/_types:EmptyObject" + }, + "min_doc_count": { + "description": "Only return terms that are found in more than `min_doc_count` hits.", + "type": "number" + }, + "mutual_information": { + "$ref": "#/components/schemas/_types.aggregations:MutualInformationHeuristic" + }, + "percentage": { + "$ref": "#/components/schemas/_types.aggregations:PercentageScoreHeuristic" + }, + "script_heuristic": { + "$ref": "#/components/schemas/_types.aggregations:ScriptedHeuristic" + }, + "shard_min_doc_count": { + "description": "Regulates the certainty a shard has if the term should actually be added to the candidate list or not with respect to the `min_doc_count`.\nTerms will only be considered if their local shard frequency within the set is higher than the `shard_min_doc_count`.", + "type": "number" + }, + "shard_size": { + "description": "Can be used to control the volumes of candidate terms produced by each shard.\nBy default, `shard_size` will be automatically estimated based on the number of shards and the `size` parameter.", + "type": "number" + }, + "size": { + "description": "The number of buckets returned out of the overall terms list.", + "type": "number" + } + } + } + ] + }, + "_types.aggregations:ChiSquareHeuristic": { + "type": "object", + "properties": { + "background_is_superset": { + "description": "Set to `false` if you defined a custom background filter that represents a different set of documents that you want to compare to.", + "type": "boolean" + }, + "include_negatives": { + "description": "Set to `false` to filter out the terms that appear less often in the subset than in documents outside the subset.", + "type": "boolean" + } + }, + "required": [ + "background_is_superset", + "include_negatives" + ] + }, + "_types.aggregations:TermsAggregationExecutionHint": { + "type": "string", + "enum": [ + "map", + "global_ordinals", + "global_ordinals_hash", + "global_ordinals_low_cardinality" + ] + }, + "_types.aggregations:GoogleNormalizedDistanceHeuristic": { + "type": "object", + "properties": { + "background_is_superset": { + "description": "Set to `false` if you defined a custom background filter that represents a different set of documents that you want to compare to.", + "type": "boolean" + } + } + }, + "_types.aggregations:MutualInformationHeuristic": { + "type": "object", + "properties": { + "background_is_superset": { + "description": "Set to `false` if you defined a custom background filter that represents a different set of documents that you want to compare to.", + "type": "boolean" + }, + "include_negatives": { + "description": "Set to `false` to filter out the terms that appear less often in the subset than in documents outside the subset.", + "type": "boolean" + } + } + }, + "_types.aggregations:PercentageScoreHeuristic": { + "type": "object" + }, + "_types.aggregations:ScriptedHeuristic": { + "type": "object", + "properties": { + "script": { + "$ref": "#/components/schemas/_types:Script" + } + }, + "required": [ + "script" + ] + }, + "_types.aggregations:SignificantTextAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object", + "properties": { + "background_filter": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + }, + "chi_square": { + "$ref": "#/components/schemas/_types.aggregations:ChiSquareHeuristic" + }, + "exclude": { + "$ref": "#/components/schemas/_types.aggregations:TermsExclude" + }, + "execution_hint": { + "$ref": "#/components/schemas/_types.aggregations:TermsAggregationExecutionHint" + }, + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "filter_duplicate_text": { + "description": "Whether to out duplicate text to deal with noisy data.", + "type": "boolean" + }, + "gnd": { + "$ref": "#/components/schemas/_types.aggregations:GoogleNormalizedDistanceHeuristic" + }, + "include": { + "$ref": "#/components/schemas/_types.aggregations:TermsInclude" + }, + "jlh": { + "$ref": "#/components/schemas/_types:EmptyObject" + }, + "min_doc_count": { + "description": "Only return values that are found in more than `min_doc_count` hits.", + "type": "number" + }, + "mutual_information": { + "$ref": "#/components/schemas/_types.aggregations:MutualInformationHeuristic" + }, + "percentage": { + "$ref": "#/components/schemas/_types.aggregations:PercentageScoreHeuristic" + }, + "script_heuristic": { + "$ref": "#/components/schemas/_types.aggregations:ScriptedHeuristic" + }, + "shard_min_doc_count": { + "description": "Regulates the certainty a shard has if the values should actually be added to the candidate list or not with respect to the min_doc_count.\nValues will only be considered if their local shard frequency within the set is higher than the `shard_min_doc_count`.", + "type": "number" + }, + "shard_size": { + "description": "The number of candidate terms produced by each shard.\nBy default, `shard_size` will be automatically estimated based on the number of shards and the `size` parameter.", + "type": "number" + }, + "size": { + "description": "The number of buckets returned out of the overall terms list.", + "type": "number" + }, + "source_fields": { + "$ref": "#/components/schemas/_types:Fields" + } + } + } + ] + }, + "_types.aggregations:StatsAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:FormatMetricAggregationBase" + }, + { + "type": "object" + } + ] + }, + "_types.aggregations:StatsBucketAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:PipelineAggregationBase" + }, + { + "type": "object" + } + ] + }, + "_types.aggregations:StringStatsAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:MetricAggregationBase" + }, + { + "type": "object", + "properties": { + "show_distribution": { + "description": "Shows the probability distribution for all characters.", + "type": "boolean" + } + } + } + ] + }, + "_types.aggregations:SumAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:FormatMetricAggregationBase" + }, + { + "type": "object" + } + ] + }, + "_types.aggregations:SumBucketAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:PipelineAggregationBase" + }, + { + "type": "object" + } + ] + }, + "_types.aggregations:TermsAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:BucketAggregationBase" + }, + { + "type": "object", + "properties": { + "collect_mode": { + "$ref": "#/components/schemas/_types.aggregations:TermsAggregationCollectMode" + }, + "exclude": { + "$ref": "#/components/schemas/_types.aggregations:TermsExclude" + }, + "execution_hint": { + "$ref": "#/components/schemas/_types.aggregations:TermsAggregationExecutionHint" + }, + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "include": { + "$ref": "#/components/schemas/_types.aggregations:TermsInclude" + }, + "min_doc_count": { + "description": "Only return values that are found in more than `min_doc_count` hits.", + "type": "number" + }, + "missing": { + "$ref": "#/components/schemas/_types.aggregations:Missing" + }, + "missing_order": { + "$ref": "#/components/schemas/_types.aggregations:MissingOrder" + }, + "missing_bucket": { + "type": "boolean" + }, + "value_type": { + "description": "Coerced unmapped fields into the specified type.", + "type": "string" + }, + "order": { + "$ref": "#/components/schemas/_types.aggregations:AggregateOrder" + }, + "script": { + "$ref": "#/components/schemas/_types:Script" + }, + "shard_size": { + "description": "The number of candidate terms produced by each shard.\nBy default, `shard_size` will be automatically estimated based on the number of shards and the `size` parameter.", + "type": "number" + }, + "show_term_doc_count_error": { + "description": "Set to `true` to return the `doc_count_error_upper_bound`, which is an upper bound to the error on the `doc_count` returned by each shard.", + "type": "boolean" + }, + "size": { + "description": "The number of buckets returned out of the overall terms list.", + "type": "number" + }, + "format": { + "type": "string" + } + } + } + ] + }, + "_types.aggregations:TopHitsAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:MetricAggregationBase" + }, + { + "type": "object", + "properties": { + "docvalue_fields": { + "description": "Fields for which to return doc values.", + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.query_dsl:FieldAndFormat" + } + }, + "explain": { + "description": "If `true`, returns detailed information about score computation as part of a hit.", + "type": "boolean" + }, + "fields": { + "description": "Array of wildcard (*) patterns. The request returns values for field names\nmatching these patterns in the hits.fields property of the response.", + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.query_dsl:FieldAndFormat" + } + }, + "from": { + "description": "Starting document offset.", + "type": "number" + }, + "highlight": { + "$ref": "#/components/schemas/_global.search._types:Highlight" + }, + "script_fields": { + "description": "Returns the result of one or more script evaluations for each hit.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/_types:ScriptField" + } + }, + "size": { + "description": "The maximum number of top matching hits to return per bucket.", + "type": "number" + }, + "sort": { + "$ref": "#/components/schemas/_types:Sort" + }, + "_source": { + "$ref": "#/components/schemas/_global.search._types:SourceConfig" + }, + "stored_fields": { + "$ref": "#/components/schemas/_types:Fields" + }, + "track_scores": { + "description": "If `true`, calculates and returns document scores, even if the scores are not used for sorting.", + "type": "boolean" + }, + "version": { + "description": "If `true`, returns document version as part of a hit.", + "type": "boolean" + }, + "seq_no_primary_term": { + "description": "If `true`, returns sequence number and primary term of the last modification of each hit.", + "type": "boolean" + } + } + } + ] + }, + "_types.aggregations:TTestAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:Aggregation" + }, + { + "type": "object", + "properties": { + "a": { + "$ref": "#/components/schemas/_types.aggregations:TestPopulation" + }, + "b": { + "$ref": "#/components/schemas/_types.aggregations:TestPopulation" + }, + "type": { + "$ref": "#/components/schemas/_types.aggregations:TTestType" + } + } + } + ] + }, + "_types.aggregations:TestPopulation": { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "script": { + "$ref": "#/components/schemas/_types:Script" + }, + "filter": { + "$ref": "#/components/schemas/_types.query_dsl:QueryContainer" + } + }, + "required": [ + "field" + ] + }, + "_types.aggregations:TTestType": { + "type": "string", + "enum": [ + "paired", + "homoscedastic", + "heteroscedastic" + ] + }, + "_types.aggregations:TopMetricsAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:MetricAggregationBase" + }, + { + "type": "object", + "properties": { + "metrics": { + "description": "The fields of the top document to return.", + "oneOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:TopMetricsValue" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/_types.aggregations:TopMetricsValue" + } + } + ] + }, + "size": { + "description": "The number of top documents from which to return metrics.", + "type": "number" + }, + "sort": { + "$ref": "#/components/schemas/_types:Sort" + } + } + } + ] + }, + "_types.aggregations:TopMetricsValue": { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + } + }, + "required": [ + "field" + ] + }, + "_types.aggregations:ValueCountAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:FormattableMetricAggregation" + }, + { + "type": "object" + } + ] + }, + "_types.aggregations:FormattableMetricAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:MetricAggregationBase" + }, + { + "type": "object", + "properties": { + "format": { + "type": "string" + } + } + } + ] + }, + "_types.aggregations:WeightedAverageAggregation": { + "allOf": [ + { + "$ref": "#/components/schemas/_types.aggregations:Aggregation" + }, + { + "type": "object", + "properties": { + "format": { + "description": "A numeric response formatter.", + "type": "string" + }, + "value": { + "$ref": "#/components/schemas/_types.aggregations:WeightedAverageValue" + }, + "value_type": { + "$ref": "#/components/schemas/_types.aggregations:ValueType" + }, + "weight": { + "$ref": "#/components/schemas/_types.aggregations:WeightedAverageValue" + } + } + } + ] + }, + "_types.aggregations:WeightedAverageValue": { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "missing": { + "description": "A value or weight to use if the field is missing.", + "type": "number" + }, + "script": { + "$ref": "#/components/schemas/_types:Script" + } + } + }, + "_types.aggregations:VariableWidthHistogramAggregation": { + "type": "object", + "properties": { + "field": { + "$ref": "#/components/schemas/_types:Field" + }, + "buckets": { + "description": "The target number of buckets.", + "type": "number" + }, + "shard_size": { + "description": "The number of buckets that the coordinating node will request from each shard.\nDefaults to `buckets * 50`.", + "type": "number" + }, + "initial_buffer": { + "description": "Specifies the number of individual documents that will be stored in memory on a shard before the initial bucketing algorithm is run.\nDefaults to `min(10 * shard_size, 50000)`.", + "type": "number" + }, + "script": { + "$ref": "#/components/schemas/_types:Script" + } + } + }, + "transform._types:PivotGroupByContainer": { + "type": "object", + "properties": { + "date_histogram": { + "$ref": "#/components/schemas/_types.aggregations:DateHistogramAggregation" + }, + "geotile_grid": { + "$ref": "#/components/schemas/_types.aggregations:GeoTileGridAggregation" + }, + "histogram": { + "$ref": "#/components/schemas/_types.aggregations:HistogramAggregation" + }, + "terms": { + "$ref": "#/components/schemas/_types.aggregations:TermsAggregation" + } + }, + "minProperties": 1, + "maxProperties": 1 + } + } + } +} \ No newline at end of file diff --git a/x-pack/plugins/ml/server/models/json_schema_service/schema_overrides.ts b/x-pack/packages/ml/json_schemas/src/schema_overrides.ts similarity index 82% rename from x-pack/plugins/ml/server/models/json_schema_service/schema_overrides.ts rename to x-pack/packages/ml/json_schemas/src/schema_overrides.ts index bacc90389592a..a3b8fabafec1e 100644 --- a/x-pack/plugins/ml/server/models/json_schema_service/schema_overrides.ts +++ b/x-pack/packages/ml/json_schemas/src/schema_overrides.ts @@ -5,13 +5,13 @@ * 2.0. */ -import type { SupportedPath } from '../../../common/api_schemas/json_schema_schema'; +import type { EditorEndpoints } from './json_schema_service'; import type { PropertyDefinition } from './types'; /** * Extension of the schema definition extracted from the Elasticsearch specification. */ -export const jsonSchemaOverrides: Record> = { +export const jsonSchemaOverrides: Partial>> = { '/_ml/anomaly_detectors/{job_id}': { // background_persist_interval is required according to the ES spec required: ['analysis_config', 'data_description'], diff --git a/x-pack/plugins/ml/server/models/json_schema_service/types.ts b/x-pack/packages/ml/json_schemas/src/types.ts similarity index 100% rename from x-pack/plugins/ml/server/models/json_schema_service/types.ts rename to x-pack/packages/ml/json_schemas/src/types.ts diff --git a/x-pack/packages/ml/json_schemas/tsconfig.json b/x-pack/packages/ml/json_schemas/tsconfig.json new file mode 100644 index 0000000000000..e036ed4845c6b --- /dev/null +++ b/x-pack/packages/ml/json_schemas/tsconfig.json @@ -0,0 +1,20 @@ +{ + "extends": "../../../../tsconfig.base.json", + "compilerOptions": { + "outDir": "target/types", + "types": [ + "jest", + "node" + ] + }, + "include": [ + "**/*.ts", + "**/*.json" + ], + "exclude": [ + "target/**/*" + ], + "kbn_references": [ + "@kbn/dev-cli-runner", + ] +} diff --git a/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/advanced_step/advanced_step_details.tsx b/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/advanced_step/advanced_step_details.tsx index 685c03e726c23..720b89a1b011b 100644 --- a/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/advanced_step/advanced_step_details.tsx +++ b/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/advanced_step/advanced_step_details.tsx @@ -76,7 +76,7 @@ export const AdvancedStepDetails: FC<{ defaultMessage: 'Compute feature influence', } ), - description: computeFeatureInfluence, + description: computeFeatureInfluence.toString(), }); advancedSecondCol.push({ diff --git a/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/advanced_step/advanced_step_form.tsx b/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/advanced_step/advanced_step_form.tsx index 6e93775486ed7..24577dd0dcc04 100644 --- a/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/advanced_step/advanced_step_form.tsx +++ b/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/advanced_step/advanced_step_form.tsx @@ -292,11 +292,11 @@ export const AdvancedStepForm: FC = ({ ), }, ]} - value={computeFeatureInfluence} + value={computeFeatureInfluence ? 'true' : 'false'} hasNoInitialSelection={false} onChange={(e) => { setFormState({ - computeFeatureInfluence: e.target.value, + computeFeatureInfluence: e.target.value === 'true' ? true : false, }); }} /> diff --git a/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/advanced_step/outlier_hyper_parameters.tsx b/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/advanced_step/outlier_hyper_parameters.tsx index 83a8f4ef518d9..e590f4cb7fd88 100644 --- a/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/advanced_step/outlier_hyper_parameters.tsx +++ b/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/advanced_step/outlier_hyper_parameters.tsx @@ -156,10 +156,10 @@ export const OutlierHyperParameters: FC = ({ actions, state, advancedPara ), }, ]} - value={standardizationEnabled} + value={standardizationEnabled ? 'true' : 'false'} hasNoInitialSelection={true} onChange={(e) => { - setFormState({ standardizationEnabled: e.target.value }); + setFormState({ standardizationEnabled: e.target.value === 'true' ? true : false }); }} /> diff --git a/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/create_analytics_advanced_editor/create_analytics_advanced_editor.tsx b/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/create_analytics_advanced_editor/create_analytics_advanced_editor.tsx index 1a0c0f5dab368..cdc93fbeb4feb 100644 --- a/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/create_analytics_advanced_editor/create_analytics_advanced_editor.tsx +++ b/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/create_analytics_advanced_editor/create_analytics_advanced_editor.tsx @@ -11,15 +11,19 @@ import { debounce } from 'lodash'; import { EuiCallOut, EuiFieldText, EuiForm, EuiFormRow, EuiSpacer } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; -import { CodeEditor } from '@kbn/code-editor'; import { extractErrorMessage } from '@kbn/ml-error-utils'; +import { dynamic } from '@kbn/shared-ux-utility'; import { useNotifications } from '../../../../../contexts/kibana'; import { ml } from '../../../../../services/ml_api_service'; import type { CreateAnalyticsFormProps } from '../../../analytics_management/hooks/use_create_analytics_form'; import { CreateStep } from '../create_step'; import { ANALYTICS_STEPS } from '../../page'; +const EditorComponent = dynamic(async () => ({ + default: (await import('./editor_component')).EditorComponent, +})); + export const CreateAnalyticsAdvancedEditor: FC = (props) => { const { actions, state } = props; const { setAdvancedEditorRawString, setFormState } = actions; @@ -141,37 +145,10 @@ export const CreateAnalyticsAdvancedEditor: FC = (prop style={{ maxWidth: '100%' }} >
-
diff --git a/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/create_analytics_advanced_editor/editor_component.tsx b/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/create_analytics_advanced_editor/editor_component.tsx new file mode 100644 index 0000000000000..8e81ed2373e33 --- /dev/null +++ b/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_creation/components/create_analytics_advanced_editor/editor_component.tsx @@ -0,0 +1,70 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { CodeEditor } from '@kbn/code-editor'; +import { i18n } from '@kbn/i18n'; +import dfaJsonSchema from '@kbn/json-schemas/src/put___ml_data_frame_analytics__id__schema.json'; +import { monaco } from '@kbn/monaco'; +import type { FC } from 'react'; +import React from 'react'; + +export const EditorComponent: FC<{ + value: string; + onChange: (update: string) => void; + readOnly: boolean; +}> = ({ value, onChange, readOnly }) => { + return ( + { + const editorModelUri: string = editor.getModel()?.uri.toString()!; + monaco.languages.json.jsonDefaults.setDiagnosticsOptions({ + validate: true, + enableSchemaRequest: false, + schemaValidation: 'error', + schemas: [ + ...(monaco.languages.json.jsonDefaults.diagnosticsOptions.schemas ?? []), + { + uri: editorModelUri, + fileMatch: [editorModelUri], + schema: dfaJsonSchema, + }, + ], + }); + }} + /> + ); +}; diff --git a/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_management/hooks/use_create_analytics_form/state.ts b/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_management/hooks/use_create_analytics_form/state.ts index c8ccf01cdae27..0157509867009 100644 --- a/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_management/hooks/use_create_analytics_form/state.ts +++ b/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_management/hooks/use_create_analytics_form/state.ts @@ -51,7 +51,7 @@ export interface State { disableSwitchToForm: boolean; form: { alpha: undefined | number; - computeFeatureInfluence: string; + computeFeatureInfluence: boolean; createDataView: boolean; classAssignmentObjective: undefined | string; dependentVariable: DependentVariable; @@ -111,7 +111,7 @@ export interface State { sourceIndexNameValid: boolean; sourceIndexContainsNumericalFields: boolean; sourceIndexFieldsCheckFailed: boolean; - standardizationEnabled: undefined | string; + standardizationEnabled: undefined | boolean; timeFieldName: undefined | string; trainingPercent: number; useEstimatedMml: boolean; @@ -137,7 +137,7 @@ export const getInitialState = (): State => ({ disableSwitchToForm: false, form: { alpha: undefined, - computeFeatureInfluence: 'true', + computeFeatureInfluence: true, createDataView: true, classAssignmentObjective: undefined, dependentVariable: '', @@ -197,7 +197,7 @@ export const getInitialState = (): State => ({ sourceIndexNameValid: false, sourceIndexContainsNumericalFields: true, sourceIndexFieldsCheckFailed: false, - standardizationEnabled: 'true', + standardizationEnabled: true, timeFieldName: undefined, trainingPercent: 80, useEstimatedMml: true, diff --git a/x-pack/plugins/ml/public/application/jobs/new_job/pages/components/common/json_editor_flyout/json_editor_flyout.tsx b/x-pack/plugins/ml/public/application/jobs/new_job/pages/components/common/json_editor_flyout/json_editor_flyout.tsx index c9b50746da865..028cbc0e54f2a 100644 --- a/x-pack/plugins/ml/public/application/jobs/new_job/pages/components/common/json_editor_flyout/json_editor_flyout.tsx +++ b/x-pack/plugins/ml/public/application/jobs/new_job/pages/components/common/json_editor_flyout/json_editor_flyout.tsx @@ -9,7 +9,6 @@ import type { FC } from 'react'; import React, { Fragment, useState, useContext, useEffect, useMemo } from 'react'; import { i18n } from '@kbn/i18n'; import { FormattedMessage } from '@kbn/i18n-react'; -import { memoize } from 'lodash'; import { EuiFlyout, EuiFlyoutFooter, @@ -23,7 +22,6 @@ import { EuiCallOut, } from '@elastic/eui'; import { XJson } from '@kbn/es-ui-shared-plugin/public'; -import { useMlApiContext } from '../../../../../../contexts/kibana'; import type { CombinedJob, Datafeed, @@ -49,23 +47,12 @@ interface Props { datafeedEditorMode: EDITOR_MODE; } -const fetchSchemas = memoize( - async (jsonSchemaApi, path: string, method: string) => - jsonSchemaApi.getSchemaDefinition({ - path, - method, - }), - (jsonSchemaApi, path, method) => path + method -); - export const JsonEditorFlyout: FC = ({ isDisabled, jobEditorMode, datafeedEditorMode }) => { const { jobCreator, jobCreatorUpdate, jobCreatorUpdated } = useContext(JobCreatorContext); const { displayErrorToast } = useToastNotificationService(); const [showJsonFlyout, setShowJsonFlyout] = useState(false); const [showChangedIndicesWarning, setShowChangedIndicesWarning] = useState(false); - const { jsonSchema: jsonSchemaApi } = useMlApiContext(); - const [jobConfigString, setJobConfigString] = useState(jobCreator.formattedJobJson); const [datafeedConfigString, setDatafeedConfigString] = useState( jobCreator.formattedDatafeedJson @@ -98,28 +85,18 @@ export const JsonEditorFlyout: FC = ({ isDisabled, jobEditorMode, datafee // eslint-disable-next-line react-hooks/exhaustive-deps }, [showJsonFlyout]); - useEffect( - function fetchSchemasOnMount() { - fetchSchemas(jsonSchemaApi, '/_ml/anomaly_detectors/{job_id}', 'put') - .then((result) => { - setJobSchema(result); - }) - .catch((e) => { - // eslint-disable-next-line no-console - console.error(e); - }); + useEffect(function fetchSchemasOnMount() { + // async import json schema + import('@kbn/json-schemas/src/put___ml_anomaly_detectors__job_id__schema.json').then( + (result) => { + setJobSchema(result); + } + ); - fetchSchemas(jsonSchemaApi, '/_ml/datafeeds/{datafeed_id}', 'put') - .then((result) => { - setDatafeedSchema(result); - }) - .catch((e) => { - // eslint-disable-next-line no-console - console.error(e); - }); - }, - [jsonSchemaApi] - ); + import('@kbn/json-schemas/src/put___ml_datafeeds__datafeed_id__schema.json').then((result) => { + setDatafeedSchema(result); + }); + }, []); const editJsonMode = jobEditorMode === EDITOR_MODE.EDITABLE || datafeedEditorMode === EDITOR_MODE.EDITABLE; diff --git a/x-pack/plugins/ml/scripts/apidoc_scripts/apidoc_config/apidoc.json b/x-pack/plugins/ml/scripts/apidoc_scripts/apidoc_config/apidoc.json index c1dde5fda0507..f262a3c6029a7 100644 --- a/x-pack/plugins/ml/scripts/apidoc_scripts/apidoc_config/apidoc.json +++ b/x-pack/plugins/ml/scripts/apidoc_scripts/apidoc_config/apidoc.json @@ -193,9 +193,6 @@ "ModelManagement", "GetModelManagementNodesOverview", - "GetModelManagementMemoryUsage", - - "JsonSchema", - "GetJsonSchema" + "GetModelManagementMemoryUsage" ] } diff --git a/x-pack/plugins/ml/server/models/json_schema_service/json_schema_service.test.ts b/x-pack/plugins/ml/server/models/json_schema_service/json_schema_service.test.ts deleted file mode 100644 index c9c66ee5a554b..0000000000000 --- a/x-pack/plugins/ml/server/models/json_schema_service/json_schema_service.test.ts +++ /dev/null @@ -1,612 +0,0 @@ -/* - * 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; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { JsonSchemaService } from './json_schema_service'; - -describe.skip('JsonSchemaService', function () { - test('extract schema definition and applies overrides', async () => { - const service = new JsonSchemaService(); - - const result = await service.extractSchema('/_ml/anomaly_detectors/{job_id}', 'put'); - - expect(result).toEqual({ - additionalProperties: false, - properties: { - allow_lazy_open: { - description: - 'Advanced configuration option. Specifies whether this job can open when there is insufficient machine learning node capacity for it to be immediately assigned to a node. By default, if a machine learning node with capacity to run the job cannot immediately be found, the open anomaly detection jobs API returns an error. However, this is also subject to the cluster-wide `xpack.ml.max_lazy_ml_nodes` setting. If this option is set to true, the open anomaly detection jobs API does not return an error and the job waits in the opening state until sufficient machine learning node capacity is available.', - type: 'boolean', - }, - analysis_config: { - additionalProperties: false, - description: - 'Specifies how to analyze the data. After you create a job, you cannot change the analysis configuration; all the properties are informational.', - properties: { - bucket_span: { - description: - 'The size of the interval that the analysis is aggregated into, typically between `5m` and `1h`. This value should be either a whole number of days or equate to a\nwhole number of buckets in one day. If the anomaly detection job uses a datafeed with aggregations, this value must also be divisible by the interval of the date histogram aggregation.\n* @server_default 5m', - type: 'string', - }, - categorization_analyzer: { - anyOf: [ - { - type: 'string', - }, - { - additionalProperties: false, - properties: { - char_filter: { - description: - 'One or more character filters. In addition to the built-in character filters, other plugins can provide more character filters. If this property is not specified, no character filters are applied prior to categorization. If you are customizing some other aspect of the analyzer and you need to achieve the equivalent of `categorization_filters` (which are not permitted when some other aspect of the analyzer is customized), add them here as pattern replace character filters.', - items: { - anyOf: [ - { - type: 'string', - }, - { - anyOf: [{}, {}, {}, {}, {}], - }, - ], - }, - type: 'array', - }, - filter: { - description: - 'One or more token filters. In addition to the built-in token filters, other plugins can provide more token filters. If this property is not specified, no token filters are applied prior to categorization.', - items: { - anyOf: [ - { - type: 'string', - }, - { - anyOf: [ - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - {}, - ], - }, - ], - }, - type: 'array', - }, - tokenizer: { - anyOf: [ - { - type: 'string', - }, - { - anyOf: [{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}], - }, - ], - description: - 'The name or definition of the tokenizer to use after character filters are applied. This property is compulsory if `categorization_analyzer` is specified as an object. Machine learning provides a tokenizer called `ml_standard` that tokenizes in a way that has been determined to produce good categorization results on a variety of log file formats for logs in English. If you want to use that tokenizer but change the character or token filters, specify "tokenizer": "ml_standard" in your `categorization_analyzer`. Additionally, the `ml_classic` tokenizer is available, which tokenizes in the same way as the non-customizable tokenizer in old versions of the product (before 6.2). `ml_classic` was the default categorization tokenizer in versions 6.2 to 7.13, so if you need categorization identical to the default for jobs created in these versions, specify "tokenizer": "ml_classic" in your `categorization_analyzer`.', - }, - }, - type: 'object', - }, - ], - description: - 'If `categorization_field_name` is specified, you can also define the analyzer that is used to interpret the categorization field. This property cannot be used at the same time as `categorization_filters`. The categorization analyzer specifies how the `categorization_field` is interpreted by the categorization process. The `categorization_analyzer` field can be specified either as a string or as an object. If it is a string, it must refer to a built-in analyzer or one added by another plugin.', - }, - categorization_field_name: { - description: - 'If this property is specified, the values of the specified field will be categorized. The resulting categories must be used in a detector by setting `by_field_name`, `over_field_name`, or `partition_field_name` to the keyword `mlcategory`.', - type: 'string', - }, - categorization_filters: { - description: - 'If `categorization_field_name` is specified, you can also define optional filters. This property expects an array of regular expressions. The expressions are used to filter out matching sequences from the categorization field values. You can use this functionality to fine tune the categorization by excluding sequences from consideration when categories are defined. For example, you can exclude SQL statements that appear in your log files. This property cannot be used at the same time as `categorization_analyzer`. If you only want to define simple regular expression filters that are applied prior to tokenization, setting this property is the easiest method. If you also want to customize the tokenizer or post-tokenization filtering, use the `categorization_analyzer` property instead and include the filters as pattern_replace character filters. The effect is exactly the same.', - items: { - type: 'string', - }, - type: 'array', - }, - detectors: { - description: - 'Detector configuration objects specify which data fields a job analyzes. They also specify which analytical functions are used. You can specify multiple detectors for a job. If the detectors array does not contain at least one detector, no analysis can occur and an error is returned.', - items: { - additionalProperties: false, - properties: { - by_field_name: { - description: - 'The field used to split the data. In particular, this property is used for analyzing the splits with respect to their own history. It is used for finding unusual values in the context of the split.', - type: 'string', - }, - custom_rules: { - description: - 'Custom rules enable you to customize the way detectors operate. For example, a rule may dictate conditions under which results should be skipped. Kibana refers to custom rules as job rules.', - items: { - additionalProperties: false, - properties: { - actions: { - description: - 'The set of actions to be triggered when the rule applies. If more than one action is specified the effects of all actions are combined.', - items: { - enum: ['skip_result', 'skip_model_update'], - type: 'string', - }, - type: 'array', - }, - conditions: { - description: - 'An array of numeric conditions when the rule applies. A rule must either have a non-empty scope or at least one condition. Multiple conditions are combined together with a logical AND.', - items: { - additionalProperties: false, - properties: { - applies_to: { - description: - 'Specifies the result property to which the condition applies. If your detector uses `lat_long`, `metric`, `rare`, or `freq_rare` functions, you can only specify conditions that apply to time.', - enum: ['actual', 'typical', 'diff_from_typical', 'time'], - type: 'string', - }, - operator: { - description: - 'Specifies the condition operator. The available options are greater than, greater than or equals, less than, and less than or equals.', - enum: ['gt', 'gte', 'lt', 'lte'], - type: 'string', - }, - value: { - description: - 'The value that is compared against the `applies_to` field using the operator.', - type: 'number', - }, - }, - required: ['applies_to', 'operator', 'value'], - type: 'object', - }, - type: 'array', - }, - scope: { - additionalProperties: { - additionalProperties: false, - properties: { - filter_id: { - description: 'The identifier for the filter.', - type: 'string', - }, - filter_type: { - description: - 'If set to `include`, the rule applies for values in the filter. If set to `exclude`, the rule applies for values not in the filter.', - enum: ['include', 'exclude'], - type: 'string', - }, - }, - required: ['filter_id'], - type: 'object', - }, - description: - 'A scope of series where the rule applies. A rule must either have a non-empty scope or at least one condition. By default, the scope includes all series. Scoping is allowed for any of the fields that are also specified in `by_field_name`, `over_field_name`, or `partition_field_name`.', - type: 'object', - }, - }, - type: 'object', - }, - type: 'array', - }, - detector_description: { - description: 'A description of the detector.', - type: 'string', - }, - detector_index: { - description: - 'A unique identifier for the detector. This identifier is based on the order of the detectors in the `analysis_config`, starting at zero. If you specify a value for this property, it is ignored.', - type: 'number', - }, - exclude_frequent: { - description: - 'If set, frequent entities are excluded from influencing the anomaly results. Entities can be considered frequent over time or frequent in a population. If you are working with both over and by fields, you can set `exclude_frequent` to `all` for both fields, or to `by` or `over` for those specific fields.', - enum: ['all', 'none', 'by', 'over'], - type: 'string', - }, - field_name: { - description: - 'The field that the detector uses in the function. If you use an event rate function such as count or rare, do not specify this field. The `field_name` cannot contain double quotes or backslashes.', - type: 'string', - }, - function: { - description: - 'The analysis function that is used. For example, `count`, `rare`, `mean`, `min`, `max`, or `sum`.', - type: 'string', - }, - over_field_name: { - description: - 'The field used to split the data. In particular, this property is used for analyzing the splits with respect to the history of all splits. It is used for finding unusual values in the population of all splits.', - type: 'string', - }, - partition_field_name: { - description: - 'The field used to segment the analysis. When you use this property, you have completely independent baselines for each value of this field.', - type: 'string', - }, - use_null: { - description: - 'Defines whether a new series is used as the null series when there is no value for the by or partition fields.', - type: 'boolean', - }, - }, - required: ['function'], - type: 'object', - }, - type: 'array', - }, - influencers: { - description: - 'A comma separated list of influencer field names. Typically these can be the by, over, or partition fields that are used in the detector configuration. You might also want to use a field name that is not specifically named in a detector, but is available as part of the input data. When you use multiple detectors, the use of influencers is recommended as it aggregates results for each influencer entity.', - items: { - type: 'string', - }, - type: 'array', - }, - latency: { - anyOf: [ - { - type: 'string', - }, - { - type: 'number', - }, - ], - description: - 'The size of the window in which to expect data that is out of time order. If you specify a non-zero value, it must be greater than or equal to one second. NOTE: Latency is applicable only when you send data by using the post data API.', - }, - model_prune_window: { - anyOf: [ - { - type: 'string', - }, - { - type: 'number', - }, - ], - description: - 'Advanced configuration option. Affects the pruning of models that have not been updated for the given time duration. The value must be set to a multiple of the `bucket_span`. If set too low, important information may be removed from the model. For jobs created in 8.1 and later, the default value is the greater of `30d` or 20 times `bucket_span`.', - }, - multivariate_by_fields: { - description: - 'This functionality is reserved for internal use. It is not supported for use in customer environments and is not subject to the support SLA of official GA features. If set to `true`, the analysis will automatically find correlations between metrics for a given by field value and report anomalies when those correlations cease to hold. For example, suppose CPU and memory usage on host A is usually highly correlated with the same metrics on host B. Perhaps this correlation occurs because they are running a load-balanced application. If you enable this property, anomalies will be reported when, for example, CPU usage on host A is high and the value of CPU usage on host B is low. That is to say, you’ll see an anomaly when the CPU of host A is unusual given the CPU of host B. To use the `multivariate_by_fields` property, you must also specify `by_field_name` in your detector.', - type: 'boolean', - }, - per_partition_categorization: { - additionalProperties: false, - description: - 'Settings related to how categorization interacts with partition fields.', - properties: { - enabled: { - description: - 'To enable this setting, you must also set the `partition_field_name` property to the same value in every detector that uses the keyword `mlcategory`. Otherwise, job creation fails.', - type: 'boolean', - }, - stop_on_warn: { - description: - 'This setting can be set to true only if per-partition categorization is enabled. If true, both categorization and subsequent anomaly detection stops for partitions where the categorization status changes to warn. This setting makes it viable to have a job where it is expected that categorization works well for some partitions but not others; you do not pay the cost of bad categorization forever in the partitions where it works badly.', - type: 'boolean', - }, - }, - type: 'object', - }, - summary_count_field_name: { - description: - 'If this property is specified, the data that is fed to the job is expected to be pre-summarized. This property value is the name of the field that contains the count of raw data points that have been summarized. The same `summary_count_field_name` applies to all detectors in the job. NOTE: The `summary_count_field_name` property cannot be used with the `metric` function.', - type: 'string', - }, - }, - required: ['bucket_span', 'detectors'], - type: 'object', - }, - analysis_limits: { - additionalProperties: false, - description: - 'Limits can be applied for the resources required to hold the mathematical models in memory. These limits are approximate and can be set per job. They do not control the memory used by other processes, for example the Elasticsearch Java processes.', - properties: { - categorization_examples_limit: { - description: - 'The maximum number of examples stored per category in memory and in the results data store. If you increase this value, more examples are available, however it requires that you have more storage available. If you set this value to 0, no examples are stored. NOTE: The `categorization_examples_limit` applies only to analysis that uses categorization.', - type: 'number', - }, - model_memory_limit: { - description: - 'The approximate maximum amount of memory resources that are required for analytical processing. Once this limit is approached, data pruning becomes more aggressive. Upon exceeding this limit, new entities are not modeled. If the `xpack.ml.max_model_memory_limit` setting has a value greater than 0 and less than 1024mb, that value is used instead of the default. The default value is relatively small to ensure that high resource usage is a conscious decision. If you have jobs that are expected to analyze high cardinality fields, you will likely need to use a higher value. If you specify a number instead of a string, the units are assumed to be MiB. Specifying a string is recommended for clarity. If you specify a byte size unit of `b` or `kb` and the number does not equate to a discrete number of megabytes, it is rounded down to the closest MiB. The minimum valid value is 1 MiB. If you specify a value less than 1 MiB, an error occurs. If you specify a value for the `xpack.ml.max_model_memory_limit` setting, an error occurs when you try to create jobs that have `model_memory_limit` values greater than that setting value.', - type: 'string', - }, - }, - type: 'object', - }, - background_persist_interval: { - anyOf: [ - { - type: 'string', - }, - { - type: 'number', - }, - ], - description: - 'Advanced configuration option. The time between each periodic persistence of the model. The default value is a randomized value between 3 to 4 hours, which avoids all jobs persisting at exactly the same time. The smallest allowed value is 1 hour. For very large models (several GB), persistence could take 10-20 minutes, so do not set the `background_persist_interval` value too low.', - }, - custom_settings: { - description: 'Advanced configuration option. Contains custom meta data about the job.', - }, - daily_model_snapshot_retention_after_days: { - description: - 'Advanced configuration option, which affects the automatic removal of old model snapshots for this job. It specifies a period of time (in days) after which only the first snapshot per day is retained. This period is relative to the timestamp of the most recent snapshot for this job. Valid values range from 0 to `model_snapshot_retention_days`.', - type: 'number', - }, - data_description: { - additionalProperties: false, - description: - 'Defines the format of the input data when you send data to the job by using the post data API. Note that when configure a datafeed, these properties are automatically set. When data is received via the post data API, it is not stored in Elasticsearch. Only the results for anomaly detection are retained.', - properties: { - field_delimiter: { - type: 'string', - }, - format: { - description: 'Only JSON format is supported at this time.', - type: 'string', - }, - time_field: { - description: 'The name of the field that contains the timestamp.', - type: 'string', - }, - time_format: { - description: - "The time format, which can be `epoch`, `epoch_ms`, or a custom pattern. The value `epoch` refers to UNIX or Epoch time (the number of seconds since 1 Jan 1970). The value `epoch_ms` indicates that time is measured in milliseconds since the epoch. The `epoch` and `epoch_ms` time formats accept either integer or real values. Custom patterns must conform to the Java DateTimeFormatter class. When you use date-time formatting patterns, it is recommended that you provide the full date, time and time zone. For example: `yyyy-MM-dd'T'HH:mm:ssX`. If the pattern that you specify is not sufficient to produce a complete timestamp, job creation fails.", - type: 'string', - }, - }, - type: 'object', - }, - datafeed_config: { - additionalProperties: false, - description: - 'Defines a datafeed for the anomaly detection job. If Elasticsearch security features are enabled, your datafeed remembers which roles the user who created it had at the time of creation and runs the query using those same roles. If you provide secondary authorization headers, those credentials are used instead.', - properties: { - aggregations: { - additionalProperties: {}, - description: - 'If set, the datafeed performs aggregation searches. Support for aggregations is limited and should be used only with low cardinality data.', - type: 'object', - }, - aggs: { - additionalProperties: {}, - description: - 'If set, the datafeed performs aggregation searches. Support for aggregations is limited and should be used only with low cardinality data.', - type: 'object', - }, - chunking_config: { - additionalProperties: false, - description: - 'Datafeeds might be required to search over long time periods, for several months or years. This search is split into time chunks in order to ensure the load on Elasticsearch is managed. Chunking configuration controls how the size of these time chunks are calculated and is an advanced configuration option.', - properties: { - mode: { - description: - 'If the mode is `auto`, the chunk size is dynamically calculated;\nthis is the recommended value when the datafeed does not use aggregations.\nIf the mode is `manual`, chunking is applied according to the specified `time_span`;\nuse this mode when the datafeed uses aggregations. If the mode is `off`, no chunking is applied.', - enum: ['auto', 'manual', 'off'], - type: 'string', - }, - time_span: { - anyOf: [ - { - type: 'string', - }, - { - type: 'number', - }, - ], - description: - 'The time span that each search will be querying. This setting is applicable only when the `mode` is set to `manual`.', - }, - }, - required: ['mode'], - type: 'object', - }, - datafeed_id: { - description: - 'A numerical character string that uniquely identifies the datafeed. This identifier can contain lowercase alphanumeric characters (a-z and 0-9), hyphens, and underscores. It must start and end with alphanumeric characters. The default value is the job identifier.', - type: 'string', - }, - delayed_data_check_config: { - additionalProperties: false, - description: - 'Specifies whether the datafeed checks for missing data and the size of the window. The datafeed can optionally search over indices that have already been read in an effort to determine whether any data has subsequently been added to the index. If missing data is found, it is a good indication that the `query_delay` option is set too low and the data is being indexed after the datafeed has passed that moment in time. This check runs only on real-time datafeeds.', - properties: { - check_window: { - anyOf: [ - { - type: 'string', - }, - { - type: 'number', - }, - ], - description: - 'The window of time that is searched for late data. This window of time ends with the latest finalized bucket.\nIt defaults to null, which causes an appropriate `check_window` to be calculated when the real-time datafeed runs.\nIn particular, the default `check_window` span calculation is based on the maximum of `2h` or `8 * bucket_span`.', - }, - enabled: { - description: - 'Specifies whether the datafeed periodically checks for delayed data.', - type: 'boolean', - }, - }, - required: ['enabled'], - type: 'object', - }, - frequency: { - description: - 'The interval at which scheduled queries are made while the datafeed runs in real time. The default value is either the bucket span for short bucket spans, or, for longer bucket spans, a sensible fraction of the bucket span. For example: `150s`. When `frequency` is shorter than the bucket span, interim results for the last (partial) bucket are written then eventually overwritten by the full bucket results. If the datafeed uses aggregations, this value must be divisible by the interval of the date histogram aggregation.', - type: 'string', - }, - indexes: { - items: { - type: 'string', - }, - type: 'array', - }, - indices: { - description: - 'An array of index names. Wildcards are supported. If any indices are in remote clusters, the machine learning nodes must have the `remote_cluster_client` role.', - items: { - type: 'string', - }, - type: 'array', - }, - indices_options: { - description: 'Specifies index expansion options that are used during search.', - }, - job_id: { - type: 'string', - }, - max_empty_searches: { - description: - 'If a real-time datafeed has never seen any data (including during any initial training period) then it will automatically stop itself and close its associated job after this many real-time searches that return no documents. In other words, it will stop after `frequency` times `max_empty_searches` of real-time operation. If not set then a datafeed with no end time that sees no data will remain started until it is explicitly stopped.', - type: 'number', - }, - query: { - description: - 'The Elasticsearch query domain-specific language (DSL). This value corresponds to the query object in an Elasticsearch search POST body. All the options that are supported by Elasticsearch can be used, as this object is passed verbatim to Elasticsearch.', - }, - query_delay: { - description: - 'The number of seconds behind real time that data is queried. For example, if data from 10:04 a.m. might not be searchable in Elasticsearch until 10:06 a.m., set this property to 120 seconds. The default value is randomly selected between `60s` and `120s`. This randomness improves the query performance when there are multiple jobs running on the same node.', - type: 'string', - }, - runtime_mappings: { - additionalProperties: { - anyOf: [ - {}, - { - items: {}, - type: 'array', - }, - ], - }, - description: 'Specifies runtime fields for the datafeed search.', - type: 'object', - }, - script_fields: { - additionalProperties: {}, - description: - 'Specifies scripts that evaluate custom expressions and returns script fields to the datafeed. The detector configuration objects in a job can contain functions that use these script fields.', - type: 'object', - }, - scroll_size: { - description: - 'The size parameter that is used in Elasticsearch searches when the datafeed does not use aggregations. The maximum value is the value of `index.max_result_window`, which is 10,000 by default.', - type: 'number', - }, - }, - required: ['indices', 'query'], - type: 'object', - }, - description: { - description: 'A description of the job.', - type: 'string', - }, - groups: { - description: 'A list of job groups. A job can belong to no groups or many.', - items: { - type: 'string', - }, - type: 'array', - }, - job_id: { - description: 'Identifier for the anomaly detection job.', - type: 'string', - }, - model_plot_config: { - additionalProperties: false, - description: - 'This advanced configuration option stores model information along with the results. It provides a more detailed view into anomaly detection. If you enable model plot it can add considerable overhead to the performance of the system; it is not feasible for jobs with many entities. Model plot provides a simplified and indicative view of the model and its bounds. It does not display complex features such as multivariate correlations or multimodal data. As such, anomalies may occasionally be reported which cannot be seen in the model plot. Model plot config can be configured when the job is created or updated later. It must be disabled if performance issues are experienced.', - properties: { - annotations_enabled: { - description: - 'If true, enables calculation and storage of the model change annotations for each entity that is being analyzed.', - type: 'boolean', - }, - enabled: { - description: - 'If true, enables calculation and storage of the model bounds for each entity that is being analyzed.', - type: 'boolean', - }, - terms: { - description: - 'Limits data collection to this comma separated list of partition or by field values. If terms are not specified or it is an empty string, no filtering is applied. Wildcards are not supported. Only the specified terms can be viewed when using the Single Metric Viewer.', - type: 'string', - }, - }, - type: 'object', - }, - model_snapshot_retention_days: { - description: - 'Advanced configuration option, which affects the automatic removal of old model snapshots for this job. It specifies the maximum period of time (in days) that snapshots are retained. This period is relative to the timestamp of the most recent snapshot for this job. By default, snapshots ten days older than the newest snapshot are deleted.', - type: 'number', - }, - renormalization_window_days: { - description: - 'Advanced configuration option. The period over which adjustments to the score are applied, as new data is seen. The default value is the longer of 30 days or 100 bucket spans.', - type: 'number', - }, - results_index_name: { - description: - 'A text string that affects the name of the machine learning results index. By default, the job generates an index named `.ml-anomalies-shared`.', - type: 'string', - }, - results_retention_days: { - description: - 'Advanced configuration option. The period of time (in days) that results are retained. Age is calculated relative to the timestamp of the latest bucket result. If this property has a non-null value, once per day at 00:30 (server time), results that are the specified number of days older than the latest bucket result are deleted from Elasticsearch. The default value is null, which means all results are retained. Annotations generated by the system also count as results for retention purposes; they are deleted after the same number of days as results. Annotations added by users are retained forever.', - type: 'number', - }, - }, - required: ['analysis_config', 'data_description'], - type: 'object', - }); - }); -}); diff --git a/x-pack/plugins/ml/server/models/json_schema_service/json_schema_service.ts b/x-pack/plugins/ml/server/models/json_schema_service/json_schema_service.ts deleted file mode 100644 index 86cfd6a0ff7d2..0000000000000 --- a/x-pack/plugins/ml/server/models/json_schema_service/json_schema_service.ts +++ /dev/null @@ -1,153 +0,0 @@ -/* - * 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; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import Fs from 'fs'; -import Path from 'path'; -import { type SupportedPath } from '../../../common/api_schemas/json_schema_schema'; -import { jsonSchemaOverrides } from './schema_overrides'; -import { type PropertyDefinition } from './types'; - -const supportedEndpoints = [ - { - path: '/_ml/anomaly_detectors/{job_id}' as const, - method: 'put', - }, - { - path: '/_ml/datafeeds/{datafeed_id}' as const, - method: 'put', - }, -]; - -/** - * - */ -export class JsonSchemaService { - /** - * Dictionary with the schema components - * @private - */ - private _schemaComponents: Record = {}; - - private _requiredComponents: Set = new Set(); - - /** - * Extracts properties definition - * @private - */ - private extractProperties(propertyDef: PropertyDefinition): void { - for (const key in propertyDef) { - if (propertyDef.hasOwnProperty(key)) { - const propValue = propertyDef[key as keyof PropertyDefinition]!; - - if (key === '$ref') { - const comp = (propValue as string).split('/'); - const refKey = comp[comp.length - 1]; - - delete propertyDef.$ref; - - // FIXME there is an issue with the maximum call stack size exceeded - if (!refKey.startsWith('Ml_Types_')) return; - - const schemaComponent = this._schemaComponents[refKey]; - - this._requiredComponents.add(refKey); - - Object.assign(propertyDef, schemaComponent); - - this.extractProperties(propertyDef); - } - - if (Array.isArray(propValue)) { - propValue.forEach((v) => { - if (typeof v === 'object') { - this.extractProperties(v); - } - }); - } else if (typeof propValue === 'object') { - this.extractProperties(propValue as PropertyDefinition); - } - } - } - } - - private applyOverrides(path: SupportedPath, schema: PropertyDefinition): PropertyDefinition { - const overrides = jsonSchemaOverrides[path]; - return { - ...schema, - ...overrides, - properties: { - ...schema.properties, - ...overrides.properties, - }, - }; - } - - /** - * Extracts resolved schema definition for requested path and method - * @param path - * @param method - */ - public async extractSchema(path: SupportedPath, method: string, schema?: object) { - const fileContent = - schema ?? JSON.parse(Fs.readFileSync(Path.resolve(__dirname, 'openapi.json'), 'utf8')); - - const definition = fileContent.paths[path][method]; - - if (!definition) { - throw new Error('Schema definition is not defined'); - } - - const bodySchema = definition.requestBody.content['application/json'].schema; - - this._schemaComponents = fileContent.components.schemas; - - this.extractProperties(bodySchema); - - return this.applyOverrides(path, bodySchema); - } - - /** - * Generates openapi file, removing redundant content. - * Only used internally via a node command to generate the file. - */ - public async generateSchemaFile() { - const schema = JSON.parse( - Fs.readFileSync(Path.resolve(__dirname, 'openapi_source.json'), 'utf8') - ); - - await Promise.all( - supportedEndpoints.map(async (e) => { - // need to extract schema in order to keep required components - await this.extractSchema(e.path, e.method, schema); - }) - ); - - for (const pathName in schema.paths) { - if (!schema.paths.hasOwnProperty(pathName)) continue; - - const supportedEndpoint = supportedEndpoints.find((v) => v.path === pathName); - if (supportedEndpoint) { - for (const methodName in schema.paths[pathName]) { - if (methodName !== supportedEndpoint.method) { - delete schema.paths[pathName][methodName]; - } - } - } else { - delete schema.paths[pathName]; - } - } - - const components = schema.components.schemas; - for (const componentName in components) { - if (!this._requiredComponents.has(componentName)) { - delete components[componentName]; - } - } - - Fs.writeFileSync(Path.resolve(__dirname, 'openapi.json'), JSON.stringify(schema, null, 2)); - } -} diff --git a/x-pack/plugins/ml/server/models/json_schema_service/openapi.json b/x-pack/plugins/ml/server/models/json_schema_service/openapi.json deleted file mode 100644 index 202e641e9494f..0000000000000 --- a/x-pack/plugins/ml/server/models/json_schema_service/openapi.json +++ /dev/null @@ -1,1235 +0,0 @@ -{ - "openapi": "3.0.3", - "info": { - "title": "Elasticsearch specification", - "version": "8.3.0" - }, - "paths": { - "/_ml/datafeeds/{datafeed_id}": { - "put": { - "operationId": "ml.put_datafeed", - "description": "Instantiates a datafeed.\nDatafeeds retrieve data from Elasticsearch for analysis by an anomaly detection job.\nYou can associate only one datafeed with each anomaly detection job.\nThe datafeed contains a query that runs at a defined interval (`frequency`).\nIf you are concerned about delayed data, you can add a delay (`query_delay') at each interval.\nWhen Elasticsearch security features are enabled, your datafeed remembers which roles the user who created it had\nat the time of creation and runs the query using those same roles. If you provide secondary authorization headers,\nthose credentials are used instead.\nYou must use Kibana, this API, or the create anomaly detection jobs API to create a datafeed. Do not add a datafeed\ndirectly to the `.ml-config` index. Do not give users `write` privileges on the `.ml-config` index.", - "parameters": [ - { - "name": "datafeed_id", - "in": "path", - "required": true, - "schema": { - "type": "string" - }, - "description": "A numerical character string that uniquely identifies the datafeed.\nThis identifier can contain lowercase alphanumeric characters (a-z and 0-9), hyphens, and underscores.\nIt must start and end with alphanumeric characters." - }, - { - "name": "allow_no_indices", - "in": "query", - "schema": { - "type": "boolean" - }, - "description": "If true, wildcard indices expressions that resolve into no concrete indices are ignored. This includes the `_all`\nstring or when no indices are specified." - }, - { - "name": "expand_wildcards", - "in": "query", - "schema": { - "anyOf": [ - { - "type": "string", - "enum": [ - "all", - "open", - "closed", - "hidden", - "none" - ] - }, - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "all", - "open", - "closed", - "hidden", - "none" - ] - } - } - ] - }, - "description": "Type of index that wildcard patterns can match. If the request can target data streams, this argument determines\nwhether wildcard expressions match hidden data streams. Supports comma-separated values." - }, - { - "name": "ignore_throttled", - "in": "query", - "schema": { - "type": "boolean" - }, - "description": "If true, concrete, expanded, or aliased indices are ignored when frozen." - }, - { - "name": "ignore_unavailable", - "in": "query", - "schema": { - "type": "boolean" - }, - "description": "If true, unavailable indices (missing or closed) are ignored." - } - ], - "tags": [ - "ml" - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "aggregations": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/Types_Aggregations_AggregationContainer" - }, - "description": "If set, the datafeed performs aggregation searches.\nSupport for aggregations is limited and should be used only with low cardinality data." - }, - "chunking_config": { - "$ref": "#/components/schemas/Ml_Types_ChunkingConfig", - "description": "Datafeeds might be required to search over long time periods, for several months or years.\nThis search is split into time chunks in order to ensure the load on Elasticsearch is managed.\nChunking configuration controls how the size of these time chunks are calculated;\nit is an advanced configuration option." - }, - "delayed_data_check_config": { - "$ref": "#/components/schemas/Ml_Types_DelayedDataCheckConfig", - "description": "Specifies whether the datafeed checks for missing data and the size of the window.\nThe datafeed can optionally search over indices that have already been read in an effort to determine whether\nany data has subsequently been added to the index. If missing data is found, it is a good indication that the\n`query_delay` is set too low and the data is being indexed after the datafeed has passed that moment in time.\nThis check runs only on real-time datafeeds." - }, - "frequency": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "The interval at which scheduled queries are made while the datafeed runs in real time.\nThe default value is either the bucket span for short bucket spans, or, for longer bucket spans, a sensible\nfraction of the bucket span. When `frequency` is shorter than the bucket span, interim results for the last\n(partial) bucket are written then eventually overwritten by the full bucket results. If the datafeed uses\naggregations, this value must be divisible by the interval of the date histogram aggregation." - }, - "indices": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "array", - "items": { - "type": "string" - } - } - ], - "description": "An array of index names. Wildcards are supported. If any of the indices are in remote clusters, the machine\nlearning nodes must have the `remote_cluster_client` role." - }, - "indexes": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "array", - "items": { - "type": "string" - } - } - ], - "description": "An array of index names. Wildcards are supported. If any of the indices are in remote clusters, the machine\nlearning nodes must have the `remote_cluster_client` role." - }, - "indices_options": { - "$ref": "#/components/schemas/Types_IndicesOptions", - "description": "Specifies index expansion options that are used during search" - }, - "job_id": { - "type": "string", - "description": "Identifier for the anomaly detection job." - }, - "max_empty_searches": { - "type": "number", - "description": "If a real-time datafeed has never seen any data (including during any initial training period), it automatically\nstops and closes the associated job after this many real-time searches return no documents. In other words,\nit stops after `frequency` times `max_empty_searches` of real-time operation. If not set, a datafeed with no\nend time that sees no data remains started until it is explicitly stopped. By default, it is not set." - }, - "query": { - "$ref": "#/components/schemas/Types_QueryDsl_QueryContainer", - "description": "The Elasticsearch query domain-specific language (DSL). This value corresponds to the query object in an\nElasticsearch search POST body. All the options that are supported by Elasticsearch can be used, as this\nobject is passed verbatim to Elasticsearch." - }, - "query_delay": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "The number of seconds behind real time that data is queried. For example, if data from 10:04 a.m. might\nnot be searchable in Elasticsearch until 10:06 a.m., set this property to 120 seconds. The default\nvalue is randomly selected between `60s` and `120s`. This randomness improves the query performance\nwhen there are multiple jobs running on the same node." - }, - "runtime_mappings": { - "type": "object", - "additionalProperties": { - "anyOf": [ - { - "$ref": "#/components/schemas/Types_Mapping_RuntimeField" - }, - { - "type": "array", - "items": { - "$ref": "#/components/schemas/Types_Mapping_RuntimeField" - } - } - ] - }, - "description": "Specifies runtime fields for the datafeed search." - }, - "script_fields": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/Types_ScriptField" - }, - "description": "Specifies scripts that evaluate custom expressions and returns script fields to the datafeed.\nThe detector configuration objects in a job can contain functions that use these script fields." - }, - "scroll_size": { - "type": "number", - "description": "The size parameter that is used in Elasticsearch searches when the datafeed does not use aggregations.\nThe maximum value is the value of `index.max_result_window`, which is 10,000 by default." - }, - "headers": { - "type": "object", - "additionalProperties": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "array", - "items": { - "type": "string" - } - } - ] - } - } - }, - "additionalProperties": false - } - } - } - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "aggregations": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/Types_Aggregations_AggregationContainer" - } - }, - "chunking_config": { - "$ref": "#/components/schemas/Ml_Types_ChunkingConfig" - }, - "delayed_data_check_config": { - "$ref": "#/components/schemas/Ml_Types_DelayedDataCheckConfig" - }, - "datafeed_id": { - "type": "string" - }, - "frequency": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ] - }, - "indices": { - "type": "array", - "items": { - "type": "string" - } - }, - "job_id": { - "type": "string" - }, - "indices_options": { - "$ref": "#/components/schemas/Types_IndicesOptions" - }, - "max_empty_searches": { - "type": "number" - }, - "query": { - "$ref": "#/components/schemas/Types_QueryDsl_QueryContainer" - }, - "query_delay": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ] - }, - "runtime_mappings": { - "type": "object", - "additionalProperties": { - "anyOf": [ - { - "$ref": "#/components/schemas/Types_Mapping_RuntimeField" - }, - { - "type": "array", - "items": { - "$ref": "#/components/schemas/Types_Mapping_RuntimeField" - } - } - ] - } - }, - "script_fields": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/Types_ScriptField" - } - }, - "scroll_size": { - "type": "number" - } - }, - "additionalProperties": false, - "required": [ - "aggregations", - "chunking_config", - "datafeed_id", - "frequency", - "indices", - "job_id", - "max_empty_searches", - "query", - "query_delay", - "scroll_size" - ] - } - } - } - } - } - } - }, - "/_ml/anomaly_detectors/{job_id}": { - "put": { - "operationId": "ml.put_job", - "description": "Instantiates an anomaly detection job. If you include a `datafeed_config`, you must have read index privileges on the source index.", - "parameters": [ - { - "name": "job_id", - "in": "path", - "required": true, - "schema": { - "type": "string" - }, - "description": "The identifier for the anomaly detection job. This identifier can contain lowercase alphanumeric characters (a-z and 0-9), hyphens, and underscores. It must start and end with alphanumeric characters." - } - ], - "tags": [ - "ml" - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "allow_lazy_open": { - "type": "boolean", - "description": "Advanced configuration option. Specifies whether this job can open when there is insufficient machine learning node capacity for it to be immediately assigned to a node. By default, if a machine learning node with capacity to run the job cannot immediately be found, the open anomaly detection jobs API returns an error. However, this is also subject to the cluster-wide `xpack.ml.max_lazy_ml_nodes` setting. If this option is set to true, the open anomaly detection jobs API does not return an error and the job waits in the opening state until sufficient machine learning node capacity is available." - }, - "analysis_config": { - "$ref": "#/components/schemas/Ml_Types_AnalysisConfig", - "description": "Specifies how to analyze the data. After you create a job, you cannot change the analysis configuration; all the properties are informational." - }, - "analysis_limits": { - "$ref": "#/components/schemas/Ml_Types_AnalysisLimits", - "description": "Limits can be applied for the resources required to hold the mathematical models in memory. These limits are approximate and can be set per job. They do not control the memory used by other processes, for example the Elasticsearch Java processes." - }, - "background_persist_interval": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Advanced configuration option. The time between each periodic persistence of the model. The default value is a randomized value between 3 to 4 hours, which avoids all jobs persisting at exactly the same time. The smallest allowed value is 1 hour. For very large models (several GB), persistence could take 10-20 minutes, so do not set the `background_persist_interval` value too low." - }, - "custom_settings": { - "description": "Advanced configuration option. Contains custom meta data about the job." - }, - "daily_model_snapshot_retention_after_days": { - "type": "number", - "description": "Advanced configuration option, which affects the automatic removal of old model snapshots for this job. It specifies a period of time (in days) after which only the first snapshot per day is retained. This period is relative to the timestamp of the most recent snapshot for this job. Valid values range from 0 to `model_snapshot_retention_days`." - }, - "data_description": { - "$ref": "#/components/schemas/Ml_Types_DataDescription", - "description": "Defines the format of the input data when you send data to the job by using the post data API. Note that when configure a datafeed, these properties are automatically set. When data is received via the post data API, it is not stored in Elasticsearch. Only the results for anomaly detection are retained." - }, - "datafeed_config": { - "$ref": "#/components/schemas/Ml_Types_DatafeedConfig", - "description": "Defines a datafeed for the anomaly detection job. If Elasticsearch security features are enabled, your datafeed remembers which roles the user who created it had at the time of creation and runs the query using those same roles. If you provide secondary authorization headers, those credentials are used instead." - }, - "description": { - "type": "string", - "description": "A description of the job." - }, - "groups": { - "type": "array", - "items": { - "type": "string" - }, - "description": "A list of job groups. A job can belong to no groups or many." - }, - "model_plot_config": { - "$ref": "#/components/schemas/Ml_Types_ModelPlotConfig", - "description": "This advanced configuration option stores model information along with the results. It provides a more detailed view into anomaly detection. If you enable model plot it can add considerable overhead to the performance of the system; it is not feasible for jobs with many entities. Model plot provides a simplified and indicative view of the model and its bounds. It does not display complex features such as multivariate correlations or multimodal data. As such, anomalies may occasionally be reported which cannot be seen in the model plot. Model plot config can be configured when the job is created or updated later. It must be disabled if performance issues are experienced." - }, - "model_snapshot_retention_days": { - "type": "number", - "description": "Advanced configuration option, which affects the automatic removal of old model snapshots for this job. It specifies the maximum period of time (in days) that snapshots are retained. This period is relative to the timestamp of the most recent snapshot for this job. By default, snapshots ten days older than the newest snapshot are deleted." - }, - "renormalization_window_days": { - "type": "number", - "description": "Advanced configuration option. The period over which adjustments to the score are applied, as new data is seen. The default value is the longer of 30 days or 100 bucket spans." - }, - "results_index_name": { - "type": "string", - "description": "A text string that affects the name of the machine learning results index. By default, the job generates an index named `.ml-anomalies-shared`." - }, - "results_retention_days": { - "type": "number", - "description": "Advanced configuration option. The period of time (in days) that results are retained. Age is calculated relative to the timestamp of the latest bucket result. If this property has a non-null value, once per day at 00:30 (server time), results that are the specified number of days older than the latest bucket result are deleted from Elasticsearch. The default value is null, which means all results are retained. Annotations generated by the system also count as results for retention purposes; they are deleted after the same number of days as results. Annotations added by users are retained forever." - } - }, - "additionalProperties": false, - "required": [ - "analysis_config", - "background_persist_interval", - "data_description" - ] - } - } - } - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "allow_lazy_open": { - "type": "boolean" - }, - "analysis_config": { - "$ref": "#/components/schemas/Ml_Types_AnalysisConfigRead" - }, - "analysis_limits": { - "$ref": "#/components/schemas/Ml_Types_AnalysisLimits" - }, - "background_persist_interval": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ] - }, - "create_time": { - "type": "string" - }, - "custom_settings": { - "description": "User provided value" - }, - "daily_model_snapshot_retention_after_days": { - "type": "number" - }, - "data_description": { - "$ref": "#/components/schemas/Ml_Types_DataDescription" - }, - "datafeed_config": { - "$ref": "#/components/schemas/Ml_Types_Datafeed" - }, - "description": { - "type": "string" - }, - "groups": { - "type": "array", - "items": { - "type": "string" - } - }, - "job_id": { - "type": "string" - }, - "job_type": { - "type": "string" - }, - "job_version": { - "type": "string" - }, - "model_plot_config": { - "$ref": "#/components/schemas/Ml_Types_ModelPlotConfig" - }, - "model_snapshot_id": { - "type": "string" - }, - "model_snapshot_retention_days": { - "type": "number" - }, - "renormalization_window_days": { - "type": "number" - }, - "results_index_name": { - "type": "string" - }, - "results_retention_days": { - "type": "number" - } - }, - "additionalProperties": false, - "required": [ - "allow_lazy_open", - "analysis_config", - "analysis_limits", - "create_time", - "daily_model_snapshot_retention_after_days", - "data_description", - "job_id", - "job_type", - "job_version", - "model_snapshot_retention_days", - "results_index_name" - ] - } - } - } - } - } - } - } - }, - "components": { - "schemas": { - "Ml_Types_AnalysisConfig": { - "type": "object", - "properties": { - "bucket_span": { - "type": "string", - "description": "The size of the interval that the analysis is aggregated into, typically between `5m` and `1h`. This value should be either a whole number of days or equate to a\nwhole number of buckets in one day. If the anomaly detection job uses a datafeed with aggregations, this value must also be divisible by the interval of the date histogram aggregation.\n* @server_default 5m" - }, - "categorization_analyzer": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/Ml_Types_CategorizationAnalyzerDefinition" - } - ], - "description": "If `categorization_field_name` is specified, you can also define the analyzer that is used to interpret the categorization field. This property cannot be used at the same time as `categorization_filters`. The categorization analyzer specifies how the `categorization_field` is interpreted by the categorization process. The `categorization_analyzer` field can be specified either as a string or as an object. If it is a string, it must refer to a built-in analyzer or one added by another plugin." - }, - "categorization_field_name": { - "type": "string", - "description": "If this property is specified, the values of the specified field will be categorized. The resulting categories must be used in a detector by setting `by_field_name`, `over_field_name`, or `partition_field_name` to the keyword `mlcategory`." - }, - "categorization_filters": { - "type": "array", - "items": { - "type": "string" - }, - "description": "If `categorization_field_name` is specified, you can also define optional filters. This property expects an array of regular expressions. The expressions are used to filter out matching sequences from the categorization field values. You can use this functionality to fine tune the categorization by excluding sequences from consideration when categories are defined. For example, you can exclude SQL statements that appear in your log files. This property cannot be used at the same time as `categorization_analyzer`. If you only want to define simple regular expression filters that are applied prior to tokenization, setting this property is the easiest method. If you also want to customize the tokenizer or post-tokenization filtering, use the `categorization_analyzer` property instead and include the filters as pattern_replace character filters. The effect is exactly the same." - }, - "detectors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Ml_Types_Detector" - }, - "description": "Detector configuration objects specify which data fields a job analyzes. They also specify which analytical functions are used. You can specify multiple detectors for a job. If the detectors array does not contain at least one detector, no analysis can occur and an error is returned." - }, - "influencers": { - "type": "array", - "items": { - "type": "string" - }, - "description": "A comma separated list of influencer field names. Typically these can be the by, over, or partition fields that are used in the detector configuration. You might also want to use a field name that is not specifically named in a detector, but is available as part of the input data. When you use multiple detectors, the use of influencers is recommended as it aggregates results for each influencer entity." - }, - "latency": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "The size of the window in which to expect data that is out of time order. If you specify a non-zero value, it must be greater than or equal to one second. NOTE: Latency is applicable only when you send data by using the post data API." - }, - "model_prune_window": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Advanced configuration option. Affects the pruning of models that have not been updated for the given time duration. The value must be set to a multiple of the `bucket_span`. If set too low, important information may be removed from the model. For jobs created in 8.1 and later, the default value is the greater of `30d` or 20 times `bucket_span`." - }, - "multivariate_by_fields": { - "type": "boolean", - "description": "This functionality is reserved for internal use. It is not supported for use in customer environments and is not subject to the support SLA of official GA features. If set to `true`, the analysis will automatically find correlations between metrics for a given by field value and report anomalies when those correlations cease to hold. For example, suppose CPU and memory usage on host A is usually highly correlated with the same metrics on host B. Perhaps this correlation occurs because they are running a load-balanced application. If you enable this property, anomalies will be reported when, for example, CPU usage on host A is high and the value of CPU usage on host B is low. That is to say, you’ll see an anomaly when the CPU of host A is unusual given the CPU of host B. To use the `multivariate_by_fields` property, you must also specify `by_field_name` in your detector." - }, - "per_partition_categorization": { - "$ref": "#/components/schemas/Ml_Types_PerPartitionCategorization", - "description": "Settings related to how categorization interacts with partition fields." - }, - "summary_count_field_name": { - "type": "string", - "description": "If this property is specified, the data that is fed to the job is expected to be pre-summarized. This property value is the name of the field that contains the count of raw data points that have been summarized. The same `summary_count_field_name` applies to all detectors in the job. NOTE: The `summary_count_field_name` property cannot be used with the `metric` function." - } - }, - "additionalProperties": false, - "required": [ - "bucket_span", - "detectors" - ] - }, - "Ml_Types_AnalysisLimits": { - "type": "object", - "properties": { - "categorization_examples_limit": { - "type": "number", - "description": "The maximum number of examples stored per category in memory and in the results data store. If you increase this value, more examples are available, however it requires that you have more storage available. If you set this value to 0, no examples are stored. NOTE: The `categorization_examples_limit` applies only to analysis that uses categorization." - }, - "model_memory_limit": { - "type": "string", - "description": "The approximate maximum amount of memory resources that are required for analytical processing. Once this limit is approached, data pruning becomes more aggressive. Upon exceeding this limit, new entities are not modeled. If the `xpack.ml.max_model_memory_limit` setting has a value greater than 0 and less than 1024mb, that value is used instead of the default. The default value is relatively small to ensure that high resource usage is a conscious decision. If you have jobs that are expected to analyze high cardinality fields, you will likely need to use a higher value. If you specify a number instead of a string, the units are assumed to be MiB. Specifying a string is recommended for clarity. If you specify a byte size unit of `b` or `kb` and the number does not equate to a discrete number of megabytes, it is rounded down to the closest MiB. The minimum valid value is 1 MiB. If you specify a value less than 1 MiB, an error occurs. If you specify a value for the `xpack.ml.max_model_memory_limit` setting, an error occurs when you try to create jobs that have `model_memory_limit` values greater than that setting value." - } - }, - "additionalProperties": false - }, - "Ml_Types_CategorizationAnalyzerDefinition": { - "type": "object", - "properties": { - "char_filter": { - "type": "array", - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "anyOf": [ - { - "$ref": "#/components/schemas/Types_Analysis_HtmlStripCharFilter" - }, - { - "$ref": "#/components/schemas/Types_Analysis_MappingCharFilter" - }, - { - "$ref": "#/components/schemas/Types_Analysis_PatternReplaceCharFilter" - }, - { - "$ref": "#/components/schemas/Types_Analysis_IcuNormalizationCharFilter" - }, - { - "$ref": "#/components/schemas/Types_Analysis_KuromojiIterationMarkCharFilter" - } - ] - } - ] - }, - "description": "One or more character filters. In addition to the built-in character filters, other plugins can provide more character filters. If this property is not specified, no character filters are applied prior to categorization. If you are customizing some other aspect of the analyzer and you need to achieve the equivalent of `categorization_filters` (which are not permitted when some other aspect of the analyzer is customized), add them here as pattern replace character filters." - }, - "filter": { - "type": "array", - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "anyOf": [ - { - "$ref": "#/components/schemas/Types_Analysis_AsciiFoldingTokenFilter" - }, - { - "$ref": "#/components/schemas/Types_Analysis_CommonGramsTokenFilter" - }, - { - "$ref": "#/components/schemas/Types_Analysis_ConditionTokenFilter" - }, - { - "$ref": "#/components/schemas/Types_Analysis_DelimitedPayloadTokenFilter" - }, - { - "$ref": "#/components/schemas/Types_Analysis_EdgeNGramTokenFilter" - }, - { - "$ref": "#/components/schemas/Types_Analysis_ElisionTokenFilter" - }, - { - "$ref": "#/components/schemas/Types_Analysis_FingerprintTokenFilter" - }, - { - "$ref": "#/components/schemas/Types_Analysis_HunspellTokenFilter" - }, - { - "$ref": "#/components/schemas/Types_Analysis_HyphenationDecompounderTokenFilter" - }, - { - "$ref": "#/components/schemas/Types_Analysis_KeepTypesTokenFilter" - }, - { - "$ref": "#/components/schemas/Types_Analysis_KeepWordsTokenFilter" - }, - { - "$ref": "#/components/schemas/Types_Analysis_KeywordMarkerTokenFilter" - }, - { - "$ref": "#/components/schemas/Types_Analysis_KStemTokenFilter" - }, - { - "$ref": "#/components/schemas/Types_Analysis_LengthTokenFilter" - }, - { - "$ref": "#/components/schemas/Types_Analysis_LimitTokenCountTokenFilter" - }, - { - "$ref": "#/components/schemas/Types_Analysis_LowercaseTokenFilter" - }, - { - "$ref": "#/components/schemas/Types_Analysis_MultiplexerTokenFilter" - }, - { - "$ref": "#/components/schemas/Types_Analysis_NGramTokenFilter" - }, - { - "$ref": "#/components/schemas/Types_Analysis_NoriPartOfSpeechTokenFilter" - }, - { - "$ref": "#/components/schemas/Types_Analysis_PatternCaptureTokenFilter" - }, - { - "$ref": "#/components/schemas/Types_Analysis_PatternReplaceTokenFilter" - }, - { - "$ref": "#/components/schemas/Types_Analysis_PorterStemTokenFilter" - }, - { - "$ref": "#/components/schemas/Types_Analysis_PredicateTokenFilter" - }, - { - "$ref": "#/components/schemas/Types_Analysis_RemoveDuplicatesTokenFilter" - }, - { - "$ref": "#/components/schemas/Types_Analysis_ReverseTokenFilter" - }, - { - "$ref": "#/components/schemas/Types_Analysis_ShingleTokenFilter" - }, - { - "$ref": "#/components/schemas/Types_Analysis_SnowballTokenFilter" - }, - { - "$ref": "#/components/schemas/Types_Analysis_StemmerOverrideTokenFilter" - }, - { - "$ref": "#/components/schemas/Types_Analysis_StemmerTokenFilter" - }, - { - "$ref": "#/components/schemas/Types_Analysis_StopTokenFilter" - }, - { - "$ref": "#/components/schemas/Types_Analysis_SynonymGraphTokenFilter" - }, - { - "$ref": "#/components/schemas/Types_Analysis_SynonymTokenFilter" - }, - { - "$ref": "#/components/schemas/Types_Analysis_TrimTokenFilter" - }, - { - "$ref": "#/components/schemas/Types_Analysis_TruncateTokenFilter" - }, - { - "$ref": "#/components/schemas/Types_Analysis_UniqueTokenFilter" - }, - { - "$ref": "#/components/schemas/Types_Analysis_UppercaseTokenFilter" - }, - { - "$ref": "#/components/schemas/Types_Analysis_WordDelimiterGraphTokenFilter" - }, - { - "$ref": "#/components/schemas/Types_Analysis_WordDelimiterTokenFilter" - }, - { - "$ref": "#/components/schemas/Types_Analysis_KuromojiStemmerTokenFilter" - }, - { - "$ref": "#/components/schemas/Types_Analysis_KuromojiReadingFormTokenFilter" - }, - { - "$ref": "#/components/schemas/Types_Analysis_KuromojiPartOfSpeechTokenFilter" - }, - { - "$ref": "#/components/schemas/Types_Analysis_IcuTokenizer" - }, - { - "$ref": "#/components/schemas/Types_Analysis_IcuCollationTokenFilter" - }, - { - "$ref": "#/components/schemas/Types_Analysis_IcuFoldingTokenFilter" - }, - { - "$ref": "#/components/schemas/Types_Analysis_IcuNormalizationTokenFilter" - }, - { - "$ref": "#/components/schemas/Types_Analysis_IcuTransformTokenFilter" - }, - { - "$ref": "#/components/schemas/Types_Analysis_PhoneticTokenFilter" - }, - { - "$ref": "#/components/schemas/Types_Analysis_DictionaryDecompounderTokenFilter" - } - ] - } - ] - }, - "description": "One or more token filters. In addition to the built-in token filters, other plugins can provide more token filters. If this property is not specified, no token filters are applied prior to categorization." - }, - "tokenizer": { - "anyOf": [ - { - "type": "string" - }, - { - "anyOf": [ - { - "$ref": "#/components/schemas/Types_Analysis_CharGroupTokenizer" - }, - { - "$ref": "#/components/schemas/Types_Analysis_EdgeNGramTokenizer" - }, - { - "$ref": "#/components/schemas/Types_Analysis_KeywordTokenizer" - }, - { - "$ref": "#/components/schemas/Types_Analysis_LetterTokenizer" - }, - { - "$ref": "#/components/schemas/Types_Analysis_LowercaseTokenizer" - }, - { - "$ref": "#/components/schemas/Types_Analysis_NGramTokenizer" - }, - { - "$ref": "#/components/schemas/Types_Analysis_NoriTokenizer" - }, - { - "$ref": "#/components/schemas/Types_Analysis_PathHierarchyTokenizer" - }, - { - "$ref": "#/components/schemas/Types_Analysis_StandardTokenizer" - }, - { - "$ref": "#/components/schemas/Types_Analysis_UaxEmailUrlTokenizer" - }, - { - "$ref": "#/components/schemas/Types_Analysis_WhitespaceTokenizer" - }, - { - "$ref": "#/components/schemas/Types_Analysis_KuromojiTokenizer" - }, - { - "$ref": "#/components/schemas/Types_Analysis_PatternTokenizer" - }, - { - "$ref": "#/components/schemas/Types_Analysis_IcuTokenizer" - } - ] - } - ], - "description": "The name or definition of the tokenizer to use after character filters are applied. This property is compulsory if `categorization_analyzer` is specified as an object. Machine learning provides a tokenizer called `ml_standard` that tokenizes in a way that has been determined to produce good categorization results on a variety of log file formats for logs in English. If you want to use that tokenizer but change the character or token filters, specify \"tokenizer\": \"ml_standard\" in your `categorization_analyzer`. Additionally, the `ml_classic` tokenizer is available, which tokenizes in the same way as the non-customizable tokenizer in old versions of the product (before 6.2). `ml_classic` was the default categorization tokenizer in versions 6.2 to 7.13, so if you need categorization identical to the default for jobs created in these versions, specify \"tokenizer\": \"ml_classic\" in your `categorization_analyzer`." - } - }, - "additionalProperties": false - }, - "Ml_Types_ChunkingConfig": { - "type": "object", - "properties": { - "mode": { - "type": "string", - "enum": [ - "auto", - "manual", - "off" - ], - "description": "If the mode is `auto`, the chunk size is dynamically calculated;\nthis is the recommended value when the datafeed does not use aggregations.\nIf the mode is `manual`, chunking is applied according to the specified `time_span`;\nuse this mode when the datafeed uses aggregations. If the mode is `off`, no chunking is applied." - }, - "time_span": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "The time span that each search will be querying. This setting is applicable only when the `mode` is set to `manual`." - } - }, - "additionalProperties": false, - "required": [ - "mode" - ] - }, - "Ml_Types_DataDescription": { - "type": "object", - "properties": { - "format": { - "type": "string", - "description": "Only JSON format is supported at this time." - }, - "time_field": { - "type": "string", - "description": "The name of the field that contains the timestamp." - }, - "time_format": { - "type": "string", - "description": "The time format, which can be `epoch`, `epoch_ms`, or a custom pattern. The value `epoch` refers to UNIX or Epoch time (the number of seconds since 1 Jan 1970). The value `epoch_ms` indicates that time is measured in milliseconds since the epoch. The `epoch` and `epoch_ms` time formats accept either integer or real values. Custom patterns must conform to the Java DateTimeFormatter class. When you use date-time formatting patterns, it is recommended that you provide the full date, time and time zone. For example: `yyyy-MM-dd'T'HH:mm:ssX`. If the pattern that you specify is not sufficient to produce a complete timestamp, job creation fails." - }, - "field_delimiter": { - "type": "string" - } - }, - "additionalProperties": false - }, - "Ml_Types_DatafeedConfig": { - "type": "object", - "properties": { - "aggregations": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/Types_Aggregations_AggregationContainer" - }, - "description": "If set, the datafeed performs aggregation searches. Support for aggregations is limited and should be used only with low cardinality data." - }, - "aggs": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/Types_Aggregations_AggregationContainer" - }, - "description": "If set, the datafeed performs aggregation searches. Support for aggregations is limited and should be used only with low cardinality data." - }, - "chunking_config": { - "$ref": "#/components/schemas/Ml_Types_ChunkingConfig", - "description": "Datafeeds might be required to search over long time periods, for several months or years. This search is split into time chunks in order to ensure the load on Elasticsearch is managed. Chunking configuration controls how the size of these time chunks are calculated and is an advanced configuration option." - }, - "datafeed_id": { - "type": "string", - "description": "A numerical character string that uniquely identifies the datafeed. This identifier can contain lowercase alphanumeric characters (a-z and 0-9), hyphens, and underscores. It must start and end with alphanumeric characters. The default value is the job identifier." - }, - "delayed_data_check_config": { - "$ref": "#/components/schemas/Ml_Types_DelayedDataCheckConfig", - "description": "Specifies whether the datafeed checks for missing data and the size of the window. The datafeed can optionally search over indices that have already been read in an effort to determine whether any data has subsequently been added to the index. If missing data is found, it is a good indication that the `query_delay` option is set too low and the data is being indexed after the datafeed has passed that moment in time. This check runs only on real-time datafeeds." - }, - "frequency": { - "type": "string", - "description": "The interval at which scheduled queries are made while the datafeed runs in real time. The default value is either the bucket span for short bucket spans, or, for longer bucket spans, a sensible fraction of the bucket span. For example: `150s`. When `frequency` is shorter than the bucket span, interim results for the last (partial) bucket are written then eventually overwritten by the full bucket results. If the datafeed uses aggregations, this value must be divisible by the interval of the date histogram aggregation." - }, - "indexes": { - "type": "array", - "items": { - "type": "string" - } - }, - "indices": { - "type": "array", - "items": { - "type": "string" - }, - "description": "An array of index names. Wildcards are supported. If any indices are in remote clusters, the machine learning nodes must have the `remote_cluster_client` role." - }, - "indices_options": { - "$ref": "#/components/schemas/Types_IndicesOptions", - "description": "Specifies index expansion options that are used during search." - }, - "job_id": { - "type": "string" - }, - "max_empty_searches": { - "type": "number", - "description": "If a real-time datafeed has never seen any data (including during any initial training period) then it will automatically stop itself and close its associated job after this many real-time searches that return no documents. In other words, it will stop after `frequency` times `max_empty_searches` of real-time operation. If not set then a datafeed with no end time that sees no data will remain started until it is explicitly stopped." - }, - "query": { - "$ref": "#/components/schemas/Types_QueryDsl_QueryContainer", - "description": "The Elasticsearch query domain-specific language (DSL). This value corresponds to the query object in an Elasticsearch search POST body. All the options that are supported by Elasticsearch can be used, as this object is passed verbatim to Elasticsearch." - }, - "query_delay": { - "type": "string", - "description": "The number of seconds behind real time that data is queried. For example, if data from 10:04 a.m. might not be searchable in Elasticsearch until 10:06 a.m., set this property to 120 seconds. The default value is randomly selected between `60s` and `120s`. This randomness improves the query performance when there are multiple jobs running on the same node." - }, - "runtime_mappings": { - "type": "object", - "additionalProperties": { - "anyOf": [ - { - "$ref": "#/components/schemas/Types_Mapping_RuntimeField" - }, - { - "type": "array", - "items": { - "$ref": "#/components/schemas/Types_Mapping_RuntimeField" - } - } - ] - }, - "description": "Specifies runtime fields for the datafeed search." - }, - "script_fields": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/Types_ScriptField" - }, - "description": "Specifies scripts that evaluate custom expressions and returns script fields to the datafeed. The detector configuration objects in a job can contain functions that use these script fields." - }, - "scroll_size": { - "type": "number", - "description": "The size parameter that is used in Elasticsearch searches when the datafeed does not use aggregations. The maximum value is the value of `index.max_result_window`, which is 10,000 by default." - } - }, - "additionalProperties": false, - "required": [ - "indices", - "query" - ] - }, - "Ml_Types_DelayedDataCheckConfig": { - "type": "object", - "properties": { - "check_window": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "The window of time that is searched for late data. This window of time ends with the latest finalized bucket.\nIt defaults to null, which causes an appropriate `check_window` to be calculated when the real-time datafeed runs.\nIn particular, the default `check_window` span calculation is based on the maximum of `2h` or `8 * bucket_span`." - }, - "enabled": { - "type": "boolean", - "description": "Specifies whether the datafeed periodically checks for delayed data." - } - }, - "additionalProperties": false, - "required": [ - "enabled" - ] - }, - "Ml_Types_DetectionRule": { - "type": "object", - "properties": { - "actions": { - "type": "array", - "items": { - "type": "string", - "enum": [ - "skip_result", - "skip_model_update" - ] - }, - "description": "The set of actions to be triggered when the rule applies. If more than one action is specified the effects of all actions are combined." - }, - "conditions": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Ml_Types_RuleCondition" - }, - "description": "An array of numeric conditions when the rule applies. A rule must either have a non-empty scope or at least one condition. Multiple conditions are combined together with a logical AND." - }, - "scope": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/Ml_Types_FilterRef" - }, - "description": "A scope of series where the rule applies. A rule must either have a non-empty scope or at least one condition. By default, the scope includes all series. Scoping is allowed for any of the fields that are also specified in `by_field_name`, `over_field_name`, or `partition_field_name`." - } - }, - "additionalProperties": false - }, - "Ml_Types_Detector": { - "type": "object", - "properties": { - "by_field_name": { - "type": "string", - "description": "The field used to split the data. In particular, this property is used for analyzing the splits with respect to their own history. It is used for finding unusual values in the context of the split." - }, - "custom_rules": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Ml_Types_DetectionRule" - }, - "description": "Custom rules enable you to customize the way detectors operate. For example, a rule may dictate conditions under which results should be skipped. Kibana refers to custom rules as job rules." - }, - "detector_description": { - "type": "string", - "description": "A description of the detector." - }, - "detector_index": { - "type": "number", - "description": "A unique identifier for the detector. This identifier is based on the order of the detectors in the `analysis_config`, starting at zero. If you specify a value for this property, it is ignored." - }, - "exclude_frequent": { - "type": "string", - "enum": [ - "all", - "none", - "by", - "over" - ], - "description": "If set, frequent entities are excluded from influencing the anomaly results. Entities can be considered frequent over time or frequent in a population. If you are working with both over and by fields, you can set `exclude_frequent` to `all` for both fields, or to `by` or `over` for those specific fields." - }, - "field_name": { - "type": "string", - "description": "The field that the detector uses in the function. If you use an event rate function such as count or rare, do not specify this field. The `field_name` cannot contain double quotes or backslashes." - }, - "function": { - "type": "string", - "description": "The analysis function that is used. For example, `count`, `rare`, `mean`, `min`, `max`, or `sum`." - }, - "over_field_name": { - "type": "string", - "description": "The field used to split the data. In particular, this property is used for analyzing the splits with respect to the history of all splits. It is used for finding unusual values in the population of all splits." - }, - "partition_field_name": { - "type": "string", - "description": "The field used to segment the analysis. When you use this property, you have completely independent baselines for each value of this field." - }, - "use_null": { - "type": "boolean", - "description": "Defines whether a new series is used as the null series when there is no value for the by or partition fields." - } - }, - "additionalProperties": false, - "required": [ - "function" - ] - }, - "Ml_Types_FilterRef": { - "type": "object", - "properties": { - "filter_id": { - "type": "string", - "description": "The identifier for the filter." - }, - "filter_type": { - "type": "string", - "enum": [ - "include", - "exclude" - ], - "description": "If set to `include`, the rule applies for values in the filter. If set to `exclude`, the rule applies for values not in the filter." - } - }, - "additionalProperties": false, - "required": [ - "filter_id" - ] - }, - "Ml_Types_ModelPlotConfig": { - "type": "object", - "properties": { - "annotations_enabled": { - "type": "boolean", - "description": "If true, enables calculation and storage of the model change annotations for each entity that is being analyzed." - }, - "enabled": { - "type": "boolean", - "description": "If true, enables calculation and storage of the model bounds for each entity that is being analyzed." - }, - "terms": { - "type": "string", - "description": "Limits data collection to this comma separated list of partition or by field values. If terms are not specified or it is an empty string, no filtering is applied. Wildcards are not supported. Only the specified terms can be viewed when using the Single Metric Viewer." - } - }, - "additionalProperties": false - }, - "Ml_Types_PerPartitionCategorization": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean", - "description": "To enable this setting, you must also set the `partition_field_name` property to the same value in every detector that uses the keyword `mlcategory`. Otherwise, job creation fails." - }, - "stop_on_warn": { - "type": "boolean", - "description": "This setting can be set to true only if per-partition categorization is enabled. If true, both categorization and subsequent anomaly detection stops for partitions where the categorization status changes to warn. This setting makes it viable to have a job where it is expected that categorization works well for some partitions but not others; you do not pay the cost of bad categorization forever in the partitions where it works badly." - } - }, - "additionalProperties": false - }, - "Ml_Types_RuleCondition": { - "type": "object", - "properties": { - "applies_to": { - "type": "string", - "enum": [ - "actual", - "typical", - "diff_from_typical", - "time" - ], - "description": "Specifies the result property to which the condition applies. If your detector uses `lat_long`, `metric`, `rare`, or `freq_rare` functions, you can only specify conditions that apply to time." - }, - "operator": { - "type": "string", - "enum": [ - "gt", - "gte", - "lt", - "lte" - ], - "description": "Specifies the condition operator. The available options are greater than, greater than or equals, less than, and less than or equals." - }, - "value": { - "type": "number", - "description": "The value that is compared against the `applies_to` field using the operator." - } - }, - "additionalProperties": false, - "required": [ - "applies_to", - "operator", - "value" - ] - } - } - } -} \ No newline at end of file diff --git a/x-pack/plugins/ml/server/plugin.ts b/x-pack/plugins/ml/server/plugin.ts index f8260e2211888..ac3fc8caea569 100644 --- a/x-pack/plugins/ml/server/plugin.ts +++ b/x-pack/plugins/ml/server/plugin.ts @@ -27,7 +27,6 @@ import type { HomeServerPluginSetup } from '@kbn/home-plugin/server'; import type { CasesServerSetup } from '@kbn/cases-plugin/server'; import type { PluginsSetup, PluginsStart, RouteInitialization } from './types'; import type { MlCapabilities } from '../common/types/capabilities'; -import { jsonSchemaRoutes } from './routes/json_schema'; import { notificationsRoutes } from './routes/notifications'; import { type MlFeatures, @@ -277,7 +276,6 @@ export class MlServerPlugin resolveMlCapabilities, }); notificationsRoutes(routeInit); - jsonSchemaRoutes(routeInit); alertingRoutes(routeInit, sharedServicesProviders); initMlServerLog({ log: this.log }); diff --git a/x-pack/plugins/ml/server/routes/json_schema.ts b/x-pack/plugins/ml/server/routes/json_schema.ts deleted file mode 100644 index 0c0ed7e3ea044..0000000000000 --- a/x-pack/plugins/ml/server/routes/json_schema.ts +++ /dev/null @@ -1,56 +0,0 @@ -/* - * 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; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { ML_INTERNAL_BASE_PATH } from '../../common/constants/app'; -import { getJsonSchemaQuerySchema } from '../../common/api_schemas/json_schema_schema'; -import { wrapError } from '../client/error_wrapper'; -import type { RouteInitialization } from '../types'; -import { JsonSchemaService } from '../models/json_schema_service'; - -export function jsonSchemaRoutes({ router, routeGuard }: RouteInitialization) { - /** - * @apiGroup JsonSchema - * - * @api {get} /internal/ml/json_schema Get requested JSON schema - * @apiName GetJsonSchema - * @apiDescription Retrieves the JSON schema - */ - router.versioned - .get({ - path: `${ML_INTERNAL_BASE_PATH}/json_schema`, - access: 'internal', - options: { - tags: ['access:ml:canAccessML'], - }, - }) - .addVersion( - { - version: '1', - validate: { - request: { - query: getJsonSchemaQuerySchema, - }, - }, - }, - routeGuard.fullLicenseAPIGuard(async ({ request, response }) => { - try { - const jsonSchemaService = new JsonSchemaService(); - - const result = await jsonSchemaService.extractSchema( - request.query.path, - request.query.method - ); - - return response.ok({ - body: result, - }); - } catch (e) { - return response.customError(wrapError(e)); - } - }) - ); -} diff --git a/x-pack/plugins/ml/tsconfig.json b/x-pack/plugins/ml/tsconfig.json index 8e7ddc53038ff..d20516c7d99ec 100644 --- a/x-pack/plugins/ml/tsconfig.json +++ b/x-pack/plugins/ml/tsconfig.json @@ -127,5 +127,6 @@ "@kbn/react-kibana-context-render", "@kbn/esql-utils", "@kbn/core-lifecycle-browser", + "@kbn/json-schemas", ], } diff --git a/x-pack/plugins/transform/public/app/sections/create_transform/components/advanced_pivot_editor/advanced_pivot_editor.tsx b/x-pack/plugins/transform/public/app/sections/create_transform/components/advanced_pivot_editor/advanced_pivot_editor.tsx index 4e2f6796a72c6..e0379ea26366a 100644 --- a/x-pack/plugins/transform/public/app/sections/create_transform/components/advanced_pivot_editor/advanced_pivot_editor.tsx +++ b/x-pack/plugins/transform/public/app/sections/create_transform/components/advanced_pivot_editor/advanced_pivot_editor.tsx @@ -5,16 +5,14 @@ * 2.0. */ +import { EuiFormRow } from '@elastic/eui'; +import { monaco } from '@kbn/monaco'; import { isEqual } from 'lodash'; import type { FC } from 'react'; import React, { memo } from 'react'; - -import { EuiFormRow } from '@elastic/eui'; - import { i18n } from '@kbn/i18n'; - import { CodeEditor } from '@kbn/code-editor'; - +import pivotJsonSchema from '@kbn/json-schemas/src/put___transform__transform_id___pivot_schema.json'; import type { StepDefineFormHook } from '../step_define'; export const AdvancedPivotEditor: FC = memo( @@ -66,6 +64,22 @@ export const AdvancedPivotEditor: FC wrappingIndent: 'indent', }} value={advancedEditorConfig} + editorDidMount={(editor: monaco.editor.IStandaloneCodeEditor) => { + const editorModelUri: string = editor.getModel()?.uri.toString()!; + monaco.languages.json.jsonDefaults.setDiagnosticsOptions({ + validate: true, + enableSchemaRequest: false, + schemaValidation: 'error', + schemas: [ + ...(monaco.languages.json.jsonDefaults.diagnosticsOptions.schemas ?? []), + { + uri: editorModelUri, + fileMatch: [editorModelUri], + schema: pivotJsonSchema, + }, + ], + }); + }} /> ); diff --git a/x-pack/plugins/transform/tsconfig.json b/x-pack/plugins/transform/tsconfig.json index 05d3320efadb0..2faedae945810 100644 --- a/x-pack/plugins/transform/tsconfig.json +++ b/x-pack/plugins/transform/tsconfig.json @@ -78,7 +78,9 @@ "@kbn/react-kibana-context-render", "@kbn/search-types", "@kbn/core-elasticsearch-server-mocks", - "@kbn/test-jest-helpers" + "@kbn/test-jest-helpers", + "@kbn/monaco", + "@kbn/json-schemas" ], "exclude": [ "target/**/*", diff --git a/x-pack/test/functional/apps/ml/data_frame_analytics/outlier_detection_creation.ts b/x-pack/test/functional/apps/ml/data_frame_analytics/outlier_detection_creation.ts index c639b16dbb894..b06cb628d21f4 100644 --- a/x-pack/test/functional/apps/ml/data_frame_analytics/outlier_detection_creation.ts +++ b/x-pack/test/functional/apps/ml/data_frame_analytics/outlier_detection_creation.ts @@ -176,10 +176,10 @@ export default function ({ getService }: FtrProviderContext) { timing_stats: '{"elapsed_time":49}', n_neighbors: '0', method: 'ensemble', - compute_feature_influence: 'true', + compute_feature_influence: true, feature_influence_threshold: '0.1', outlier_fraction: '0.05', - standardization_enabled: 'true', + standardization_enabled: true, }, }, ], diff --git a/x-pack/test/functional/apps/ml/data_frame_analytics/outlier_detection_creation_saved_search.ts b/x-pack/test/functional/apps/ml/data_frame_analytics/outlier_detection_creation_saved_search.ts index 93478ebbb766e..ddfc9e540bee1 100644 --- a/x-pack/test/functional/apps/ml/data_frame_analytics/outlier_detection_creation_saved_search.ts +++ b/x-pack/test/functional/apps/ml/data_frame_analytics/outlier_detection_creation_saved_search.ts @@ -114,10 +114,10 @@ export default function ({ getService }: FtrProviderContext) { timing_stats: '{"elapsed_time":15}', n_neighbors: '0', method: 'ensemble', - compute_feature_influence: 'true', + compute_feature_influence: true, feature_influence_threshold: '0.1', outlier_fraction: '0.05', - standardization_enabled: 'true', + standardization_enabled: true, }, }, ], @@ -191,10 +191,10 @@ export default function ({ getService }: FtrProviderContext) { timing_stats: '{"elapsed_time":12}', n_neighbors: '0', method: 'ensemble', - compute_feature_influence: 'true', + compute_feature_influence: true, feature_influence_threshold: '0.1', outlier_fraction: '0.05', - standardization_enabled: 'true', + standardization_enabled: true, }, }, ], @@ -268,10 +268,10 @@ export default function ({ getService }: FtrProviderContext) { timing_stats: '{"elapsed_time":12}', n_neighbors: '0', method: 'ensemble', - compute_feature_influence: 'true', + compute_feature_influence: true, feature_influence_threshold: '0.1', outlier_fraction: '0.05', - standardization_enabled: 'true', + standardization_enabled: true, }, }, ], @@ -346,10 +346,10 @@ export default function ({ getService }: FtrProviderContext) { timing_stats: '{"elapsed_time":12}', n_neighbors: '0', method: 'ensemble', - compute_feature_influence: 'true', + compute_feature_influence: true, feature_influence_threshold: '0.1', outlier_fraction: '0.05', - standardization_enabled: 'true', + standardization_enabled: true, }, }, ], diff --git a/yarn.lock b/yarn.lock index e0070b5f0b15a..53ab787e9861e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5241,6 +5241,10 @@ version "0.0.0" uid "" +"@kbn/json-schemas@link:x-pack/packages/ml/json_schemas": + version "0.0.0" + uid "" + "@kbn/kbn-health-gateway-status-plugin@link:test/health_gateway/plugins/status": version "0.0.0" uid "" From 7129eea6d59a6bd18214082aaf5a9e0a2dcf1052 Mon Sep 17 00:00:00 2001 From: Luke G <11671118+lgestc@users.noreply.github.com> Date: Fri, 21 Jun 2024 16:46:59 +0200 Subject: [PATCH 27/80] [Security Solution] Add Discover Data View picker to Timeline (#184928) ## Summary Add new `Dataview picker` component and some initial redux setup to feed it with data. Dont expect this to work just like the original timeline sourcerer does just yet. ### Checklist Delete any items that are not applicable to this PR. - [x] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios ### Testing Do `localStorage.setItem('EXPERIMENTAL_SOURCERER_ENABLED', true)` in the browser console, reload the page, then open new timeline. You should see the new dataview picker (colored in red temporarily), that should allow data view switching. Known issues: dataview editor is showing behind the picker (to be fixed in subsequent PR). --- .../data_view_editor/public/open_editor.tsx | 4 + .../app/home/template_wrapper/index.tsx | 11 +- .../public/common/mock/global_state.ts | 2 + .../public/common/store/reducer.test.tsx | 4 +- .../public/common/store/reducer.ts | 7 ++ .../public/common/store/store.ts | 8 ++ .../public/common/store/types.ts | 2 + .../components/dataview_picker/index.test.tsx | 94 ++++++++++++++++ .../components/dataview_picker/index.tsx | 99 +++++++++++++++++ .../components/dataview_picker/readme.md | 3 + .../sourcerer/experimental/constants.ts | 8 ++ .../dataview_picker_provider.test.tsx | 81 ++++++++++++++ .../containers/dataview_picker_provider.tsx | 46 ++++++++ .../sourcerer/experimental/is_enabled.ts | 5 +- .../public/sourcerer/experimental/readme.md | 5 +- .../sourcerer/experimental/redux/actions.ts | 16 +++ .../experimental/redux/listeners.test.ts | 101 +++++++++++++++++ .../sourcerer/experimental/redux/listeners.ts | 102 ++++++++++++++++++ .../sourcerer/experimental/redux/reducer.ts | 55 ++++++++++ .../sourcerer/experimental/redux/selectors.ts | 32 ++++++ ...se_unstable_security_solution_data_view.ts | 22 +++- .../timeline/query_bar/eql/index.tsx | 21 ++-- .../search_or_filter/search_or_filter.tsx | 10 +- 23 files changed, 715 insertions(+), 23 deletions(-) create mode 100644 x-pack/plugins/security_solution/public/sourcerer/experimental/components/dataview_picker/index.test.tsx create mode 100644 x-pack/plugins/security_solution/public/sourcerer/experimental/components/dataview_picker/index.tsx create mode 100644 x-pack/plugins/security_solution/public/sourcerer/experimental/components/dataview_picker/readme.md create mode 100644 x-pack/plugins/security_solution/public/sourcerer/experimental/constants.ts create mode 100644 x-pack/plugins/security_solution/public/sourcerer/experimental/containers/dataview_picker_provider.test.tsx create mode 100644 x-pack/plugins/security_solution/public/sourcerer/experimental/containers/dataview_picker_provider.tsx create mode 100644 x-pack/plugins/security_solution/public/sourcerer/experimental/redux/actions.ts create mode 100644 x-pack/plugins/security_solution/public/sourcerer/experimental/redux/listeners.test.ts create mode 100644 x-pack/plugins/security_solution/public/sourcerer/experimental/redux/listeners.ts create mode 100644 x-pack/plugins/security_solution/public/sourcerer/experimental/redux/reducer.ts create mode 100644 x-pack/plugins/security_solution/public/sourcerer/experimental/redux/selectors.ts diff --git a/src/plugins/data_view_editor/public/open_editor.tsx b/src/plugins/data_view_editor/public/open_editor.tsx index 779f141ab0fdc..a2c38c82d290e 100644 --- a/src/plugins/data_view_editor/public/open_editor.tsx +++ b/src/plugins/data_view_editor/public/open_editor.tsx @@ -85,6 +85,10 @@ export const getEditorOpener = { hideCloseButton: true, size: 'l', + maskProps: { + // EUI TODO: This z-index override of EuiOverlayMask is a workaround, and ideally should be resolved with a cleaner UI/UX flow long-term + style: 'z-index: 1003', // we need this flyout to be above the timeline flyout (which has a z-index of 1002) + }, } ); diff --git a/x-pack/plugins/security_solution/public/app/home/template_wrapper/index.tsx b/x-pack/plugins/security_solution/public/app/home/template_wrapper/index.tsx index b6492ef97cae7..5a1b8423572fc 100644 --- a/x-pack/plugins/security_solution/public/app/home/template_wrapper/index.tsx +++ b/x-pack/plugins/security_solution/public/app/home/template_wrapper/index.tsx @@ -12,6 +12,7 @@ import { IS_DRAGGING_CLASS_NAME } from '@kbn/securitysolution-t-grid'; import { KibanaPageTemplate } from '@kbn/shared-ux-page-kibana-template'; import type { KibanaPageTemplateProps } from '@kbn/shared-ux-page-kibana-template'; import { ExpandableFlyoutProvider } from '@kbn/expandable-flyout'; +import { DataViewPickerProvider } from '../../../sourcerer/experimental/containers/dataview_picker_provider'; import { AttackDiscoveryTour } from '../../../attack_discovery/tour'; import { URL_PARAM_KEY } from '../../../common/hooks/use_url_state'; import { SecuritySolutionFlyout, TimelineFlyout } from '../../../flyout'; @@ -103,10 +104,12 @@ export const SecuritySolutionTemplateWrapper: React.FC - - {children} - - + + + {children} + + + {didMount && } diff --git a/x-pack/plugins/security_solution/public/common/mock/global_state.ts b/x-pack/plugins/security_solution/public/common/mock/global_state.ts index 7a77de9d23555..2a61b964774ee 100644 --- a/x-pack/plugins/security_solution/public/common/mock/global_state.ts +++ b/x-pack/plugins/security_solution/public/common/mock/global_state.ts @@ -47,6 +47,7 @@ import { initialGroupingState } from '../store/grouping/reducer'; import type { SourcererState } from '../../sourcerer/store'; import { EMPTY_RESOLVER } from '../../resolver/store/helpers'; import { getMockDiscoverInTimelineState } from './mock_discover_state'; +import { initialState as dataViewPickerInitialState } from '../../sourcerer/experimental/redux/reducer'; const mockFieldMap: DataViewSpec['fields'] = Object.fromEntries( mockIndexFields.map((field) => [field.name, field]) @@ -501,6 +502,7 @@ export const mockGlobalState: State = { */ management: mockManagementState as ManagementState, discover: getMockDiscoverInTimelineState(), + dataViewPicker: dataViewPickerInitialState, notes: { ids: ['1'], entities: { diff --git a/x-pack/plugins/security_solution/public/common/store/reducer.test.tsx b/x-pack/plugins/security_solution/public/common/store/reducer.test.tsx index b5b6cd687205a..c04474ce5db4a 100644 --- a/x-pack/plugins/security_solution/public/common/store/reducer.test.tsx +++ b/x-pack/plugins/security_solution/public/common/store/reducer.test.tsx @@ -13,6 +13,7 @@ import { useSourcererDataView } from '../../sourcerer/containers'; import { renderHook } from '@testing-library/react-hooks'; import { initialGroupingState } from './grouping/reducer'; import { initialAnalyzerState } from '../../resolver/store/helpers'; +import { initialState as dataViewPickerInitialState } from '../../sourcerer/experimental/redux/reducer'; import { initialNotesState } from '../../notes/store/notes.slice'; jest.mock('../hooks/use_selector'); @@ -71,6 +72,7 @@ describe('createInitialState', () => { { analyzer: initialAnalyzerState, }, + dataViewPickerInitialState, initialNotesState ); @@ -110,7 +112,7 @@ describe('createInitialState', () => { { analyzer: initialAnalyzerState, }, - + dataViewPickerInitialState, initialNotesState ); const { result } = renderHook(() => useSourcererDataView(), { diff --git a/x-pack/plugins/security_solution/public/common/store/reducer.ts b/x-pack/plugins/security_solution/public/common/store/reducer.ts index ea684909a8776..3226c508b7078 100644 --- a/x-pack/plugins/security_solution/public/common/store/reducer.ts +++ b/x-pack/plugins/security_solution/public/common/store/reducer.ts @@ -35,6 +35,10 @@ import type { GroupState } from './grouping/types'; import { analyzerReducer } from '../../resolver/store/reducer'; import { securitySolutionDiscoverReducer } from './discover/reducer'; import type { AnalyzerState } from '../../resolver/types'; +import { + type DataviewPickerState, + reducer as dataviewPickerReducer, +} from '../../sourcerer/experimental/redux/reducer'; import type { NotesState } from '../../notes/store/notes.slice'; import { notesReducer } from '../../notes/store/notes.slice'; @@ -69,6 +73,7 @@ export const createInitialState = ( dataTableState: DataTableState, groupsState: GroupState, analyzerState: AnalyzerState, + dataviewPickerState: DataviewPickerState, notesState: NotesState ): State => { const initialPatterns = { @@ -131,6 +136,7 @@ export const createInitialState = ( internal: undefined, savedSearch: undefined, }, + dataViewPicker: dataviewPickerState, notes: notesState, }; @@ -150,6 +156,7 @@ export const createReducer: ( sourcerer: sourcererReducer, globalUrlParam: globalUrlParamReducer, dataTable: dataTableReducer, + dataViewPicker: dataviewPickerReducer, groups: groupsReducer, analyzer: analyzerReducer, discover: securitySolutionDiscoverReducer, diff --git a/x-pack/plugins/security_solution/public/common/store/store.ts b/x-pack/plugins/security_solution/public/common/store/store.ts index 34209fae78bcf..ed20e253db538 100644 --- a/x-pack/plugins/security_solution/public/common/store/store.ts +++ b/x-pack/plugins/security_solution/public/common/store/store.ts @@ -55,6 +55,11 @@ import { dataAccessLayerFactory } from '../../resolver/data_access_layer/factory import { sourcererActions } from '../../sourcerer/store'; import { createMiddlewares } from './middlewares'; import { addNewTimeline } from '../../timelines/store/helpers'; +import { + reducer as dataViewPickerReducer, + initialState as dataViewPickerState, +} from '../../sourcerer/experimental/redux/reducer'; +import { listenerMiddleware } from '../../sourcerer/experimental/redux/listeners'; import { initialNotesState } from '../../notes/store/notes.slice'; let store: Store | null = null; @@ -171,6 +176,7 @@ export const createStoreFactory = async ( dataTableInitialState, groupsInitialState, analyzerInitialState, + dataViewPickerState, initialNotesState ); @@ -178,12 +184,14 @@ export const createStoreFactory = async ( ...subPlugins.explore.store.reducer, timeline: timelineReducer, ...subPlugins.management.store.reducer, + dataViewPicker: dataViewPickerReducer, }; return createStore(initialState, rootReducer, coreStart, storage, [ ...(subPlugins.management.store.middleware ?? []), ...(subPlugins.explore.store.middleware ?? []), ...[resolverMiddlewareFactory(dataAccessLayerFactory(coreStart)) ?? []], + listenerMiddleware.middleware, ]); }; diff --git a/x-pack/plugins/security_solution/public/common/store/types.ts b/x-pack/plugins/security_solution/public/common/store/types.ts index bf83f9146bdb2..8809ccc6ec0fa 100644 --- a/x-pack/plugins/security_solution/public/common/store/types.ts +++ b/x-pack/plugins/security_solution/public/common/store/types.ts @@ -25,6 +25,7 @@ import type { GlobalUrlParam } from './global_url_param'; import type { GroupState } from './grouping/types'; import type { SecuritySolutionDiscoverState } from './discover/model'; import type { AnalyzerState } from '../../resolver/types'; +import { type DataviewPickerState } from '../../sourcerer/experimental/redux/reducer'; import type { NotesState } from '../../notes/store/notes.slice'; export type State = HostsPluginState & @@ -38,6 +39,7 @@ export type State = HostsPluginState & sourcerer: SourcererState; globalUrlParam: GlobalUrlParam; discover: SecuritySolutionDiscoverState; + dataViewPicker: DataviewPickerState; } & DataTableState & GroupState & AnalyzerState & { notes: NotesState }; diff --git a/x-pack/plugins/security_solution/public/sourcerer/experimental/components/dataview_picker/index.test.tsx b/x-pack/plugins/security_solution/public/sourcerer/experimental/components/dataview_picker/index.test.tsx new file mode 100644 index 0000000000000..3aee25657fb0e --- /dev/null +++ b/x-pack/plugins/security_solution/public/sourcerer/experimental/components/dataview_picker/index.test.tsx @@ -0,0 +1,94 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import React from 'react'; +import { render, screen, fireEvent } from '@testing-library/react'; +import '@testing-library/jest-dom'; +import { useKibana } from '../../../../common/lib/kibana/kibana_react'; +import { useDispatch, useSelector } from 'react-redux'; +import { selectDataView } from '../../redux/actions'; +import { DataViewPicker } from '.'; + +// Mock the required hooks and dependencies +jest.mock('../../../../common/lib/kibana/kibana_react', () => ({ + useKibana: jest.fn(), +})); + +jest.mock('react-redux', () => ({ + useDispatch: jest.fn(), + useSelector: jest.fn(), +})); + +jest.mock('../../redux/actions', () => ({ + selectDataView: jest.fn(), +})); + +jest.mock('@kbn/unified-search-plugin/public', () => ({ + DataViewPicker: jest.fn((props) => ( +
+
{props.trigger.label}
+ + + +
+ )), +})); + +describe('DataViewPicker', () => { + const mockDispatch = jest.fn(); + const mockDataViewEditor = { + openEditor: jest.fn(), + }; + const mockDataViewFieldEditor = { + openEditor: jest.fn(), + }; + const mockData = { + dataViews: { + get: jest.fn().mockResolvedValue({}), + }, + }; + + beforeEach(() => { + (useDispatch as jest.Mock).mockReturnValue(mockDispatch); + (useKibana as jest.Mock).mockReturnValue({ + services: { + dataViewEditor: mockDataViewEditor, + data: mockData, + dataViewFieldEditor: mockDataViewFieldEditor, + }, + }); + (useSelector as jest.Mock).mockReturnValue({ dataViewId: 'test-id' }); + }); + + afterEach(() => { + jest.clearAllMocks(); + }); + + test('renders the DataviewPicker component', () => { + render(); + expect(screen.getByText('Dataview')).toBeInTheDocument(); + }); + + test('calls dispatch on data view change', () => { + render(); + fireEvent.click(screen.getByText('Change DataView')); + expect(mockDispatch).toHaveBeenCalledWith(selectDataView('new-id')); + }); + + test('opens data view editor when creating a new data view', () => { + render(); + fireEvent.click(screen.getByText('Create New DataView')); + expect(mockDataViewEditor.openEditor).toHaveBeenCalled(); + }); +}); diff --git a/x-pack/plugins/security_solution/public/sourcerer/experimental/components/dataview_picker/index.tsx b/x-pack/plugins/security_solution/public/sourcerer/experimental/components/dataview_picker/index.tsx new file mode 100644 index 0000000000000..47223daee7c99 --- /dev/null +++ b/x-pack/plugins/security_solution/public/sourcerer/experimental/components/dataview_picker/index.tsx @@ -0,0 +1,99 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { DataViewPicker as USDataViewPicker } from '@kbn/unified-search-plugin/public'; +import React, { useCallback, useRef, useMemo, memo } from 'react'; +import { useDispatch, useSelector } from 'react-redux'; + +import { useKibana } from '../../../../common/lib/kibana/kibana_react'; +import { DEFAULT_SECURITY_SOLUTION_DATA_VIEW_ID } from '../../constants'; +import { selectDataView } from '../../redux/actions'; +import { sourcererAdapterSelector } from '../../redux/selectors'; + +const TRIGGER_CONFIG = { + label: 'Dataview', + color: 'danger', + title: 'Experimental data view picker', + iconType: 'beaker', +} as const; + +export const DataViewPicker = memo(() => { + const dispatch = useDispatch(); + + const { + services: { dataViewEditor, data, dataViewFieldEditor }, + } = useKibana(); + + const closeDataViewEditor = useRef<() => void | undefined>(); + const closeFieldEditor = useRef<() => void | undefined>(); + + // TODO: should this be implemented like that? If yes, we need to source dataView somehow or implement the same thing based on the existing state value. + // const canEditDataView = + // Boolean(dataViewEditor?.userPermissions.editDataView()) || !dataView.isPersisted(); + const canEditDataView = true; + + const { dataViewId } = useSelector(sourcererAdapterSelector); + + const createNewDataView = useCallback(() => { + closeDataViewEditor.current = dataViewEditor.openEditor({ + // eslint-disable-next-line no-console + onSave: () => console.log('new data view saved'), + allowAdHocDataView: true, + }); + }, [dataViewEditor]); + + const onFieldEdited = useCallback(() => {}, []); + + const editField = useMemo(() => { + if (!canEditDataView) { + return; + } + return async (fieldName?: string, _uiAction: 'edit' | 'add' = 'edit') => { + if (!dataViewId) { + return; + } + + const dataViewInstance = await data.dataViews.get(dataViewId); + closeFieldEditor.current = dataViewFieldEditor.openEditor({ + ctx: { + dataView: dataViewInstance, + }, + fieldName, + onSave: async () => { + onFieldEdited(); + }, + }); + }; + }, [canEditDataView, dataViewId, data.dataViews, dataViewFieldEditor, onFieldEdited]); + + const addField = useMemo( + () => (canEditDataView && editField ? () => editField(undefined, 'add') : undefined), + [editField, canEditDataView] + ); + + const handleChangeDataView = useCallback( + (id: string) => { + dispatch(selectDataView(id)); + }, + [dispatch] + ); + + const handleEditDataView = useCallback(() => {}, []); + + return ( + + ); +}); + +DataViewPicker.displayName = 'DataviewPicker'; diff --git a/x-pack/plugins/security_solution/public/sourcerer/experimental/components/dataview_picker/readme.md b/x-pack/plugins/security_solution/public/sourcerer/experimental/components/dataview_picker/readme.md new file mode 100644 index 0000000000000..1ce2de83ccc05 --- /dev/null +++ b/x-pack/plugins/security_solution/public/sourcerer/experimental/components/dataview_picker/readme.md @@ -0,0 +1,3 @@ +# Dataview Picker + +A replacement for the Sourcerer component, based on the Discover implementation. diff --git a/x-pack/plugins/security_solution/public/sourcerer/experimental/constants.ts b/x-pack/plugins/security_solution/public/sourcerer/experimental/constants.ts new file mode 100644 index 0000000000000..357e38c11c906 --- /dev/null +++ b/x-pack/plugins/security_solution/public/sourcerer/experimental/constants.ts @@ -0,0 +1,8 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export const DEFAULT_SECURITY_SOLUTION_DATA_VIEW_ID = 'security-solution-default'; diff --git a/x-pack/plugins/security_solution/public/sourcerer/experimental/containers/dataview_picker_provider.test.tsx b/x-pack/plugins/security_solution/public/sourcerer/experimental/containers/dataview_picker_provider.test.tsx new file mode 100644 index 0000000000000..183d03bc02007 --- /dev/null +++ b/x-pack/plugins/security_solution/public/sourcerer/experimental/containers/dataview_picker_provider.test.tsx @@ -0,0 +1,81 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import React from 'react'; +import { render } from '@testing-library/react'; +import '@testing-library/jest-dom'; +import { useDispatch } from 'react-redux'; +import { useKibana } from '../../../common/lib/kibana'; +import { DataViewPickerProvider } from './dataview_picker_provider'; +import { + startAppListening, + listenerMiddleware, + createChangeDataviewListener, + createInitDataviewListener, +} from '../redux/listeners'; +import { init } from '../redux/actions'; +import { DEFAULT_SECURITY_SOLUTION_DATA_VIEW_ID } from '../constants'; +import type { DataViewsServicePublic } from '@kbn/data-views-plugin/public'; + +jest.mock('../../../common/lib/kibana', () => ({ + useKibana: jest.fn(), +})); + +jest.mock('react-redux', () => ({ + useDispatch: jest.fn(), +})); + +jest.mock('../redux/listeners', () => ({ + listenerMiddleware: { + clearListeners: jest.fn(), + }, + startAppListening: jest.fn(), + createChangeDataviewListener: jest.fn(), + createInitDataviewListener: jest.fn(), +})); + +describe('DataviewPickerProvider', () => { + const mockDispatch = jest.fn(); + const mockServices = { + dataViews: {} as unknown as DataViewsServicePublic, + }; + + beforeEach(() => { + (useDispatch as jest.Mock).mockReturnValue(mockDispatch); + (useKibana as jest.Mock).mockReturnValue({ services: mockServices }); + }); + + afterEach(() => { + jest.clearAllMocks(); + }); + + test('starts listeners and dispatches init action on mount', () => { + render( + +
{`Test Child`}
+
+ ); + + expect(startAppListening).toHaveBeenCalledWith(createInitDataviewListener({})); + expect(startAppListening).toHaveBeenCalledWith( + createChangeDataviewListener({ dataViewsService: mockServices.dataViews }) + ); + expect(mockDispatch).toHaveBeenCalledWith(init(DEFAULT_SECURITY_SOLUTION_DATA_VIEW_ID)); + }); + + test('clears listeners on unmount', () => { + const { unmount } = render( + +
{`Test Child`}
+
+ ); + + unmount(); + + expect(listenerMiddleware.clearListeners).toHaveBeenCalled(); + }); +}); diff --git a/x-pack/plugins/security_solution/public/sourcerer/experimental/containers/dataview_picker_provider.tsx b/x-pack/plugins/security_solution/public/sourcerer/experimental/containers/dataview_picker_provider.tsx new file mode 100644 index 0000000000000..dd6d01f21e73a --- /dev/null +++ b/x-pack/plugins/security_solution/public/sourcerer/experimental/containers/dataview_picker_provider.tsx @@ -0,0 +1,46 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import React, { memo, useEffect, type FC, type PropsWithChildren } from 'react'; +import { useDispatch } from 'react-redux'; + +import { useKibana } from '../../../common/lib/kibana'; +import { + createChangeDataviewListener, + createInitDataviewListener, + listenerMiddleware, + startAppListening, +} from '../redux/listeners'; +import { init } from '../redux/actions'; +import { DEFAULT_SECURITY_SOLUTION_DATA_VIEW_ID } from '../constants'; + +// NOTE: this can be spawned multiple times, eq. when you need something like a separate data view picker for a subsection of the app - +// for example, in the timeline. +export const DataViewPickerProvider: FC> = memo(({ children }) => { + const { services } = useKibana(); + + const dispatch = useDispatch(); + + useEffect(() => { + // NOTE: the goal here is to move all side effects and business logic to Redux, + // so that we only do presentation layer things on React side - for performance reasons and + // to make the state easier to predict. + // see: https://redux-toolkit.js.org/api/createListenerMiddleware#overview + startAppListening(createInitDataviewListener({})); + startAppListening(createChangeDataviewListener({ dataViewsService: services.dataViews })); + + // NOTE: this can be dispatched at any point, with any data view id + dispatch(init(DEFAULT_SECURITY_SOLUTION_DATA_VIEW_ID)); + + // NOTE: Clear existing listeners when services change for some reason (they should not) + return () => listenerMiddleware.clearListeners(); + }, [services, dispatch]); + + return <>{children}; +}); + +DataViewPickerProvider.displayName = 'DataviewPickerProvider'; diff --git a/x-pack/plugins/security_solution/public/sourcerer/experimental/is_enabled.ts b/x-pack/plugins/security_solution/public/sourcerer/experimental/is_enabled.ts index efdc2c7468847..caf4b92c1d5d2 100644 --- a/x-pack/plugins/security_solution/public/sourcerer/experimental/is_enabled.ts +++ b/x-pack/plugins/security_solution/public/sourcerer/experimental/is_enabled.ts @@ -11,6 +11,5 @@ * - display the experimental component instead of the stable one * - use experimental data views hook instead of the stable one */ -export const IS_EXPERIMENTAL_SOURCERER_ENABLED = !!window.localStorage.getItem( - 'EXPERIMENTAL_SOURCERER_ENABLED' -); +export const isExperimentalSourcererEnabled = () => + !!window.localStorage.getItem('EXPERIMENTAL_SOURCERER_ENABLED'); diff --git a/x-pack/plugins/security_solution/public/sourcerer/experimental/readme.md b/x-pack/plugins/security_solution/public/sourcerer/experimental/readme.md index 077bef147cbed..26894153f2e90 100644 --- a/x-pack/plugins/security_solution/public/sourcerer/experimental/readme.md +++ b/x-pack/plugins/security_solution/public/sourcerer/experimental/readme.md @@ -15,4 +15,7 @@ using the same Kibana instance deployed locally (for now). ## Architecture -TODO +- Redux based +- Limited use of useEffect or stateful hooks - in favor of thunks and redux middleware (supporting request cancellation and caching) +- Allows multiple instances of the picker - just wrap the subsection of the app with its own DataviewPickerProvider +- Data exposed back to Security Solution is memoized with `reselect` for performance diff --git a/x-pack/plugins/security_solution/public/sourcerer/experimental/redux/actions.ts b/x-pack/plugins/security_solution/public/sourcerer/experimental/redux/actions.ts new file mode 100644 index 0000000000000..f1b490f1cf734 --- /dev/null +++ b/x-pack/plugins/security_solution/public/sourcerer/experimental/redux/actions.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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { type DataViewSpec } from '@kbn/data-views-plugin/common'; +import { createAction } from '@reduxjs/toolkit'; + +type DataViewId = string; + +export const init = createAction('init'); +export const selectDataView = createAction('changeDataView'); +export const setDataViewData = createAction('setDataView'); +export const setPatternList = createAction('setPatternList'); diff --git a/x-pack/plugins/security_solution/public/sourcerer/experimental/redux/listeners.test.ts b/x-pack/plugins/security_solution/public/sourcerer/experimental/redux/listeners.test.ts new file mode 100644 index 0000000000000..099fbb9dbcf3c --- /dev/null +++ b/x-pack/plugins/security_solution/public/sourcerer/experimental/redux/listeners.test.ts @@ -0,0 +1,101 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { + init, + selectDataView, + setDataViewData as setDataViewSpec, + setPatternList, +} from './actions'; +import { createInitDataviewListener, createChangeDataviewListener } from './listeners'; +import { isExperimentalSourcererEnabled } from '../is_enabled'; +import type { DataViewsServicePublic } from '@kbn/data-views-plugin/public'; +import { type ListenerEffectAPI } from '@reduxjs/toolkit'; +import type { AppDispatch } from './listeners'; +import { type State } from '../../../common/store/types'; + +jest.mock('../is_enabled', () => ({ + isExperimentalSourcererEnabled: jest.fn().mockReturnValue(true), +})); + +type ListenerApi = ListenerEffectAPI; + +describe('Listeners', () => { + describe('createInitDataviewListener', () => { + let listenerOptions: ReturnType; + let listenerApi: ListenerApi; + + beforeEach(() => { + listenerOptions = createInitDataviewListener({}); + listenerApi = { + dispatch: jest.fn(), + getState: jest.fn(() => ({ dataViewPicker: { state: 'pristine' } })), + } as unknown as ListenerApi; + }); + + afterEach(() => { + jest.clearAllMocks(); + }); + + test('does not dispatch if experimental feature is disabled', async () => { + jest.mocked(isExperimentalSourcererEnabled).mockReturnValue(false); + + await listenerOptions.effect(init('test-view'), listenerApi); + expect(listenerApi.dispatch).not.toHaveBeenCalled(); + }); + + test('does not dispatch if state is not pristine', async () => { + jest.mocked(isExperimentalSourcererEnabled).mockReturnValue(true); + listenerApi.getState = jest.fn(() => ({ + dataViewPicker: { state: 'not_pristine' }, + })) as unknown as ListenerApi['getState']; + + await listenerOptions.effect(init('test-view'), listenerApi); + expect(listenerApi.dispatch).not.toHaveBeenCalled(); + }); + + test('dispatches selectDataView action if state is pristine and experimental feature is enabled', async () => { + jest.mocked(isExperimentalSourcererEnabled).mockReturnValue(true); + await listenerOptions.effect(init('test-id'), listenerApi); + expect(listenerApi.dispatch).toHaveBeenCalledWith(selectDataView('test-id')); + }); + }); + + describe('createChangeDataviewListener', () => { + let listenerOptions: ReturnType; + let listenerApi: ListenerApi; + let dataViewsServiceMock: DataViewsServicePublic; + + beforeEach(() => { + dataViewsServiceMock = { + get: jest.fn(async () => ({ + toSpec: jest.fn(() => ({ id: 'test_spec' })), + getIndexPattern: jest.fn(() => 'index_pattern'), + })), + getExistingIndices: jest.fn(async () => ['pattern1', 'pattern2']), + } as unknown as DataViewsServicePublic; + + listenerOptions = createChangeDataviewListener({ dataViewsService: dataViewsServiceMock }); + listenerApi = { + dispatch: jest.fn(), + } as unknown as ListenerApi; + }); + + afterEach(() => { + jest.clearAllMocks(); + }); + + test('fetches data view and dispatches setDataViewSpec and setPatternList actions', async () => { + await listenerOptions.effect(selectDataView('test_id'), listenerApi); + + expect(dataViewsServiceMock.get).toHaveBeenCalledWith('test_id', true, false); + expect(listenerApi.dispatch).toHaveBeenCalledWith(setDataViewSpec({ id: 'test_spec' })); + expect(dataViewsServiceMock.getExistingIndices).toHaveBeenCalledWith(['index_pattern']); + expect(listenerApi.dispatch).toHaveBeenCalledWith(setPatternList(['pattern1', 'pattern2'])); + }); + }); +}); diff --git a/x-pack/plugins/security_solution/public/sourcerer/experimental/redux/listeners.ts b/x-pack/plugins/security_solution/public/sourcerer/experimental/redux/listeners.ts new file mode 100644 index 0000000000000..359794eca331a --- /dev/null +++ b/x-pack/plugins/security_solution/public/sourcerer/experimental/redux/listeners.ts @@ -0,0 +1,102 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import type { DataViewsServicePublic } from '@kbn/data-views-plugin/public'; +import { + createListenerMiddleware, + type ActionCreator, + type ListenerEffectAPI, +} from '@reduxjs/toolkit'; +import type { ListenerPredicate } from '@reduxjs/toolkit/dist/listenerMiddleware/types'; +import type { Action, Store } from 'redux'; + +import { ensurePatternFormat } from '../../../../common/utils/sourcerer'; +import { isExperimentalSourcererEnabled } from '../is_enabled'; +import { + init, + selectDataView, + setDataViewData as setDataViewSpec, + setPatternList, +} from './actions'; +import { type State } from '../../../common/store/types'; + +export type AppDispatch = Store['dispatch']; + +export type DatapickerActions = ReturnType; + +// NOTE: types below exist because we are using redux-toolkit version lower than 2.x +// in v2, there are TS helpers that make it easy to setup overrides that are necessary here. +export interface ListenerOptions { + // Match with a function accepting action and state. This is broken in v1.x, + // the predicate is always required + predicate?: ListenerPredicate; + // Match action by type + type?: string; + // Exact action type match based on the RTK action creator + actionCreator?: ActionCreator; + // An effect to call + effect: (action: DatapickerActions, api: ListenerEffectAPI) => Promise; +} + +/** + * This is the proposed way of handling side effects within sourcerer code. We will no longer rely on useEffect for doing things like + * enriching the store with data fetched asynchronously in response to user doing something. + * Thunks are also considered for simpler flows but this has the advantage of cancellation support through `listnerApi` below. + */ + +export type ListenerCreator = ( + // Only specify a subset of required services here, so that it is easier to mock and therefore test the listener + dependencies: TDependencies +) => ListenerOptions; + +// NOTE: this should only be executed once in the application lifecycle, to LAZILY setup the component data +export const createInitDataviewListener: ListenerCreator<{}> = (): ListenerOptions => { + return { + actionCreator: init, + effect: async (action, listenerApi) => { + // WARN: Skip the init call if the experimental implementation is disabled + if (!isExperimentalSourcererEnabled()) { + return; + } + // NOTE: We should only run this once, when particular sourcerer instance is in pristine state (not touched by the user) + if (listenerApi.getState().dataViewPicker.state !== 'pristine') { + return; + } + + // NOTE: dispatch the regular change listener + listenerApi.dispatch(selectDataView(action.payload)); + }, + }; +}; + +// NOTE: this listener is executed whenever user decides to select dataview from the picker +export const createChangeDataviewListener: ListenerCreator<{ + dataViewsService: DataViewsServicePublic; +}> = ({ dataViewsService }): ListenerOptions => { + return { + actionCreator: selectDataView, + effect: async (action, listenerApi) => { + const dataViewId = action.payload; + const refreshFields = false; + + const dataView = await dataViewsService.get(dataViewId, true, refreshFields); + const dataViewData = dataView.toSpec(); + listenerApi.dispatch(setDataViewSpec(dataViewData)); + + const defaultPatternsList = ensurePatternFormat(dataView.getIndexPattern().split(',')); + const patternList = await dataViewsService.getExistingIndices(defaultPatternsList); + listenerApi.dispatch(setPatternList(patternList)); + }, + }; +}; + +export const listenerMiddleware = createListenerMiddleware(); + +// NOTE: register side effect listeners +export const startAppListening = listenerMiddleware.startListening as unknown as ( + options: ListenerOptions +) => void; diff --git a/x-pack/plugins/security_solution/public/sourcerer/experimental/redux/reducer.ts b/x-pack/plugins/security_solution/public/sourcerer/experimental/redux/reducer.ts new file mode 100644 index 0000000000000..d8d626a1141ce --- /dev/null +++ b/x-pack/plugins/security_solution/public/sourcerer/experimental/redux/reducer.ts @@ -0,0 +1,55 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import type { DataViewSpec } from '@kbn/data-views-plugin/common'; +import { createReducer } from '@reduxjs/toolkit'; + +import { DEFAULT_SECURITY_SOLUTION_DATA_VIEW_ID } from '../constants'; + +import { selectDataView, setDataViewData, setPatternList } from './actions'; + +export interface SelectedDataViewState { + dataView: DataViewSpec; + patternList: string[]; + /** + * There are several states the picker can be in internally: + * - pristine - not initialized yet + * - loading + * - error - some kind of a problem during data init + * - ready - ready to provide index information to the client + */ + state: 'pristine' | 'loading' | 'error' | 'ready'; +} + +export const initialDataView: DataViewSpec = { + id: DEFAULT_SECURITY_SOLUTION_DATA_VIEW_ID, + title: '', + fields: {}, +}; + +export const initialState: SelectedDataViewState = { + dataView: initialDataView, + state: 'pristine', + patternList: [], +}; + +export const reducer = createReducer(initialState, (builder) => { + builder.addCase(selectDataView, (state) => { + state.state = 'loading'; + }); + + builder.addCase(setDataViewData, (state, action) => { + state.dataView = action.payload; + }); + + builder.addCase(setPatternList, (state, action) => { + state.patternList = action.payload; + state.state = 'ready'; + }); +}); + +export type DataviewPickerState = ReturnType; diff --git a/x-pack/plugins/security_solution/public/sourcerer/experimental/redux/selectors.ts b/x-pack/plugins/security_solution/public/sourcerer/experimental/redux/selectors.ts new file mode 100644 index 0000000000000..cdfc3a9882b0d --- /dev/null +++ b/x-pack/plugins/security_solution/public/sourcerer/experimental/redux/selectors.ts @@ -0,0 +1,32 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { createSelector } from '@reduxjs/toolkit'; +import type { SelectedDataView } from '../../store/model'; +import { type State } from '../../../common/store/types'; + +/** + * Compatibility layer / adapter for legacy selector consumers. + * It is used in useSecuritySolutionDataView hook as alternative data source (behind a flag) + */ +export const sourcererAdapterSelector = createSelector( + [(state: State) => state.dataViewPicker], + (dataViewPicker): SelectedDataView => { + return { + loading: dataViewPicker.state === 'loading', + dataViewId: dataViewPicker.dataView.id || '', + patternList: dataViewPicker.patternList, + indicesExist: true, + browserFields: {}, + activePatterns: dataViewPicker.patternList, + runtimeMappings: {}, + selectedPatterns: dataViewPicker.patternList, + indexPattern: { fields: [], title: dataViewPicker.dataView.title || '' }, + sourcererDataView: {}, + }; + } +); diff --git a/x-pack/plugins/security_solution/public/sourcerer/experimental/use_unstable_security_solution_data_view.ts b/x-pack/plugins/security_solution/public/sourcerer/experimental/use_unstable_security_solution_data_view.ts index a841834a8b1fe..4bca209b8e50a 100644 --- a/x-pack/plugins/security_solution/public/sourcerer/experimental/use_unstable_security_solution_data_view.ts +++ b/x-pack/plugins/security_solution/public/sourcerer/experimental/use_unstable_security_solution_data_view.ts @@ -5,12 +5,16 @@ * 2.0. */ +import { useMemo } from 'react'; +import { useSelector } from 'react-redux'; + import { type SourcererScopeName, type SelectedDataView } from '../store/model'; -import { IS_EXPERIMENTAL_SOURCERER_ENABLED } from './is_enabled'; +import { isExperimentalSourcererEnabled } from './is_enabled'; +import { sourcererAdapterSelector } from './redux/selectors'; /** - * FOR INTERNAL USE ONLY + * WARN: FOR INTERNAL USE ONLY * This hook provides data for experimental Sourcerer replacement in Security Solution. * Do not use in client code as the API will change frequently. * It will be extended in the future, covering more and more functionality from the current sourcerer. @@ -19,6 +23,16 @@ export const useUnstableSecuritySolutionDataView = ( _scopeId: SourcererScopeName, fallbackDataView: SelectedDataView ): SelectedDataView => { - // TODO: extend the fallback state with values computed using new logic - return IS_EXPERIMENTAL_SOURCERER_ENABLED ? fallbackDataView : fallbackDataView; + const dataView: SelectedDataView = useSelector(sourcererAdapterSelector); + + const dataViewWithFallbacks: SelectedDataView = useMemo(() => { + return { + ...dataView, + // NOTE: temporary values sourced from the fallback. Will be replaced in the near future. + browserFields: fallbackDataView.browserFields, + sourcererDataView: fallbackDataView.sourcererDataView, + }; + }, [dataView, fallbackDataView.browserFields, fallbackDataView.sourcererDataView]); + + return isExperimentalSourcererEnabled() ? dataViewWithFallbacks : fallbackDataView; }; diff --git a/x-pack/plugins/security_solution/public/timelines/components/timeline/query_bar/eql/index.tsx b/x-pack/plugins/security_solution/public/timelines/components/timeline/query_bar/eql/index.tsx index 469c5ae1be458..59373b5d790f5 100644 --- a/x-pack/plugins/security_solution/public/timelines/components/timeline/query_bar/eql/index.tsx +++ b/x-pack/plugins/security_solution/public/timelines/components/timeline/query_bar/eql/index.tsx @@ -83,14 +83,17 @@ export const EqlQueryBarTimeline = memo(({ timelineId }: { timelineId: string }) selectedPatterns, } = useSourcererDataView(SourcererScopeName.timeline); - const initialState = { - ...defaultValues, - index: selectedPatterns.sort(), - eqlQueryBar: { - ...defaultValues.eqlQueryBar, - query: { query: optionsSelected.query ?? '', language: 'eql' }, - }, - }; + const initialState = useMemo( + () => ({ + ...defaultValues, + index: [...selectedPatterns].sort(), + eqlQueryBar: { + ...defaultValues.eqlQueryBar, + query: { query: optionsSelected.query ?? '', language: 'eql' }, + }, + }), + [optionsSelected.query, selectedPatterns] + ); const { form } = useForm({ defaultValue: initialState, @@ -144,7 +147,7 @@ export const EqlQueryBarTimeline = memo(({ timelineId }: { timelineId: string }) useEffect(() => { const { index: indexField } = getFields(); - const newIndexValue = selectedPatterns.sort(); + const newIndexValue = [...selectedPatterns].sort(); const indexFieldValue = (indexField.value as string[]).sort(); if (!isEqual(indexFieldValue, newIndexValue)) { indexField.setValue(newIndexValue); diff --git a/x-pack/plugins/security_solution/public/timelines/components/timeline/search_or_filter/search_or_filter.tsx b/x-pack/plugins/security_solution/public/timelines/components/timeline/search_or_filter/search_or_filter.tsx index ed948b450c4e1..7fccbd9103ae9 100644 --- a/x-pack/plugins/security_solution/public/timelines/components/timeline/search_or_filter/search_or_filter.tsx +++ b/x-pack/plugins/security_solution/public/timelines/components/timeline/search_or_filter/search_or_filter.tsx @@ -11,6 +11,8 @@ import styled from 'styled-components'; import type { Filter } from '@kbn/es-query'; import type { FilterManager } from '@kbn/data-plugin/public'; +import { DataViewPicker } from '../../../../sourcerer/experimental/components/dataview_picker'; +import { isExperimentalSourcererEnabled } from '../../../../sourcerer/experimental/is_enabled'; import { TimelineType } from '../../../../../common/api/timeline'; import { InputsModelId } from '../../../../common/store/inputs/constants'; import type { KqlMode } from '../../../store/model'; @@ -103,6 +105,12 @@ export const SearchOrFilter = React.memo( [isDataProviderEmpty, isDataProviderVisible] ); + const dataviewPicker = isExperimentalSourcererEnabled() ? ( + + ) : ( + + ); + return ( <> @@ -113,7 +121,7 @@ export const SearchOrFilter = React.memo( responsive={false} > - + {dataviewPicker} Date: Fri, 21 Jun 2024 16:05:44 +0100 Subject: [PATCH 28/80] [Rollups] Add attributes for tracking doc links clicks (#186612) Closes https://github.com/elastic/kibana/issues/186610 ## Summary This PR adds `data-test-subj` attributes to the doc links in the Rollup deprecation warning callout and the deprecation empty callout so that clicks on these links can be tracked on Fullstory. The links on the deprecation callout have test subjects with a prefix depending on whether they are on the list view page or the create form page so that we can differentiate the clicks from the different pages. --- .../deprecation_callout/deprecation_callout.tsx | 15 +++++++++++++-- .../crud_app/sections/job_create/job_create.js | 2 +- .../sections/job_list/deprecated_prompt.tsx | 1 + .../public/crud_app/sections/job_list/job_list.js | 2 +- 4 files changed, 16 insertions(+), 4 deletions(-) diff --git a/x-pack/plugins/rollup/public/crud_app/sections/components/deprecation_callout/deprecation_callout.tsx b/x-pack/plugins/rollup/public/crud_app/sections/components/deprecation_callout/deprecation_callout.tsx index 4b36b9a086b69..877fd87cdf10c 100644 --- a/x-pack/plugins/rollup/public/crud_app/sections/components/deprecation_callout/deprecation_callout.tsx +++ b/x-pack/plugins/rollup/public/crud_app/sections/components/deprecation_callout/deprecation_callout.tsx @@ -11,10 +11,16 @@ import { i18n } from '@kbn/i18n'; import React from 'react'; import { documentationLinks } from '../../../services/documentation_links'; +interface DeprecationCalloutProps { + /** The prefix to be applied at the test subjects for the doc links. + * Used for clicks tracking in Fullstory. */ + linksTestSubjPrefix: string; +} + /* A component for displaying a deprecation warning. */ -export const DeprecationCallout = () => { +export const DeprecationCallout = ({ linksTestSubjPrefix }: DeprecationCalloutProps) => { return ( { {i18n.translate('xpack.rollupJobs.deprecationCallout.migrationGuideLink', { defaultMessage: 'migration guide', @@ -37,7 +44,11 @@ export const DeprecationCallout = () => { ), downsamplingLink: ( - + {i18n.translate('xpack.rollupJobs.deprecationCallout.downsamplingLink', { defaultMessage: 'downsampling', })} diff --git a/x-pack/plugins/rollup/public/crud_app/sections/job_create/job_create.js b/x-pack/plugins/rollup/public/crud_app/sections/job_create/job_create.js index 4983fbb10ae8f..28ebe01d7de0c 100644 --- a/x-pack/plugins/rollup/public/crud_app/sections/job_create/job_create.js +++ b/x-pack/plugins/rollup/public/crud_app/sections/job_create/job_create.js @@ -557,7 +557,7 @@ export class JobCreateUi extends Component { - + diff --git a/x-pack/plugins/rollup/public/crud_app/sections/job_list/deprecated_prompt.tsx b/x-pack/plugins/rollup/public/crud_app/sections/job_list/deprecated_prompt.tsx index ecdae95e90813..138495d834a89 100644 --- a/x-pack/plugins/rollup/public/crud_app/sections/job_list/deprecated_prompt.tsx +++ b/x-pack/plugins/rollup/public/crud_app/sections/job_list/deprecated_prompt.tsx @@ -41,6 +41,7 @@ export const DeprecatedPrompt = () => { target="_blank" fill iconType="help" + data-test-subj="rollupDeprecatedPromptDocsLink" > - + From 44bdb82353d1be3f42454d3f72328483ba55cb6a Mon Sep 17 00:00:00 2001 From: Elena Stoeva <59341489+ElenaStoeva@users.noreply.github.com> Date: Fri, 21 Jun 2024 16:07:05 +0100 Subject: [PATCH 29/80] [Advanced Settings] Change role in security functional tests (#186602) Closes https://github.com/elastic/kibana/issues/184813 ## Summary This PR adds a role-based login in the advanced settings functional tests for security serverless project instead of using normal login where we use operator privileges. It also moves the test file to a more appropriate folder. --- .../test_suites/security/{ => ftr}/advanced_settings.ts | 6 +++--- .../functional/test_suites/security/index.ts | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) rename x-pack/test_serverless/functional/test_suites/security/{ => ftr}/advanced_settings.ts (88%) diff --git a/x-pack/test_serverless/functional/test_suites/security/advanced_settings.ts b/x-pack/test_serverless/functional/test_suites/security/ftr/advanced_settings.ts similarity index 88% rename from x-pack/test_serverless/functional/test_suites/security/advanced_settings.ts rename to x-pack/test_serverless/functional/test_suites/security/ftr/advanced_settings.ts index 63e3a8a9a6672..c6448aac27ec8 100644 --- a/x-pack/test_serverless/functional/test_suites/security/advanced_settings.ts +++ b/x-pack/test_serverless/functional/test_suites/security/ftr/advanced_settings.ts @@ -7,8 +7,8 @@ import expect from '@kbn/expect'; import { SECURITY_PROJECT_SETTINGS } from '@kbn/serverless-security-settings'; -import { FtrProviderContext } from '../../ftr_provider_context'; -import { isEditorFieldSetting } from '../common/management/advanced_settings'; +import { FtrProviderContext } from '../../../ftr_provider_context'; +import { isEditorFieldSetting } from '../../common/management/advanced_settings'; export default ({ getPageObjects, getService }: FtrProviderContext) => { const testSubjects = getService('testSubjects'); @@ -18,7 +18,7 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => { describe('Security advanced settings', function () { before(async () => { - await pageObjects.svlCommonPage.login(); + await pageObjects.svlCommonPage.loginWithRole('admin'); await pageObjects.common.navigateToApp('settings'); }); diff --git a/x-pack/test_serverless/functional/test_suites/security/index.ts b/x-pack/test_serverless/functional/test_suites/security/index.ts index fabe48960b111..1639957c901d6 100644 --- a/x-pack/test_serverless/functional/test_suites/security/index.ts +++ b/x-pack/test_serverless/functional/test_suites/security/index.ts @@ -12,7 +12,7 @@ export default function ({ loadTestFile }: FtrProviderContext) { loadTestFile(require.resolve('./ftr/landing_page')); loadTestFile(require.resolve('./ftr/navigation')); loadTestFile(require.resolve('./ftr/cases')); - loadTestFile(require.resolve('./advanced_settings')); + loadTestFile(require.resolve('./ftr/advanced_settings')); loadTestFile(require.resolve('./ml')); }); } From b632f0011da442ac5abe9ed909136a0190266e37 Mon Sep 17 00:00:00 2001 From: Maxim Palenov Date: Fri, 21 Jun 2024 17:39:35 +0200 Subject: [PATCH 30/80] [Security Solution] Add missing Alert index API OpenAPI specs (#186401) **Addresses:** https://github.com/elastic/kibana/issues/183661 ## Summary This PR adds missing OpenAPI specs for the Alert Index API endpoints available in ESS - `POST /api/detection_engine/index` - `GET /api/detection_engine/index` - `DELETE /api/detection_engine/index` --- .../templates/zod_schema_item.handlebars | 1 - .../create_index/create_index.gen.ts | 22 ++++++++ .../create_index/create_index.schema.yaml | 47 +++++++++++++++++ .../create_index/create_index_route.ts | 10 ---- .../delete_index/delete_index.gen.ts | 22 ++++++++ .../delete_index/delete_index.schema.yaml | 48 ++++++++++++++++++ .../delete_index/delete_index_route.ts | 10 ---- .../index_management/index.ts | 6 +-- .../read_index/read_index.gen.ts | 23 +++++++++ .../read_index/read_index.schema.yaml | 50 +++++++++++++++++++ .../read_index/read_index_route.ts | 11 ---- .../routes/index/create_index_route.ts | 4 +- .../routes/index/delete_index_route.ts | 4 +- .../routes/index/read_index_route.ts | 4 +- .../services/security_solution_api.gen.ts | 21 ++++++++ 15 files changed, 242 insertions(+), 41 deletions(-) create mode 100644 x-pack/plugins/security_solution/common/api/detection_engine/index_management/create_index/create_index.gen.ts create mode 100644 x-pack/plugins/security_solution/common/api/detection_engine/index_management/create_index/create_index.schema.yaml delete mode 100644 x-pack/plugins/security_solution/common/api/detection_engine/index_management/create_index/create_index_route.ts create mode 100644 x-pack/plugins/security_solution/common/api/detection_engine/index_management/delete_index/delete_index.gen.ts create mode 100644 x-pack/plugins/security_solution/common/api/detection_engine/index_management/delete_index/delete_index.schema.yaml delete mode 100644 x-pack/plugins/security_solution/common/api/detection_engine/index_management/delete_index/delete_index_route.ts create mode 100644 x-pack/plugins/security_solution/common/api/detection_engine/index_management/read_index/read_index.gen.ts create mode 100644 x-pack/plugins/security_solution/common/api/detection_engine/index_management/read_index/read_index.schema.yaml delete mode 100644 x-pack/plugins/security_solution/common/api/detection_engine/index_management/read_index/read_index_route.ts diff --git a/packages/kbn-openapi-generator/src/template_service/templates/zod_schema_item.handlebars b/packages/kbn-openapi-generator/src/template_service/templates/zod_schema_item.handlebars index 7ad0abaf1cad8..8e4c5aef616fb 100644 --- a/packages/kbn-openapi-generator/src/template_service/templates/zod_schema_item.handlebars +++ b/packages/kbn-openapi-generator/src/template_service/templates/zod_schema_item.handlebars @@ -68,7 +68,6 @@ z.unknown() {{~#*inline "type_boolean"~}} z.boolean() - {{~#if nullable}}.nullable(){{/if~}} {{~/inline~}} {{~#*inline "type_integer"~}} diff --git a/x-pack/plugins/security_solution/common/api/detection_engine/index_management/create_index/create_index.gen.ts b/x-pack/plugins/security_solution/common/api/detection_engine/index_management/create_index/create_index.gen.ts new file mode 100644 index 0000000000000..9de8855a091a6 --- /dev/null +++ b/x-pack/plugins/security_solution/common/api/detection_engine/index_management/create_index/create_index.gen.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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +/* + * NOTICE: Do not edit this file manually. + * This file is automatically generated by the OpenAPI Generator, @kbn/openapi-generator. + * + * info: + * title: Create an alerts index API endpoint + * version: 2023-10-31 + */ + +import { z } from 'zod'; + +export type CreateAlertsIndexResponse = z.infer; +export const CreateAlertsIndexResponse = z.object({ + acknowledged: z.boolean(), +}); diff --git a/x-pack/plugins/security_solution/common/api/detection_engine/index_management/create_index/create_index.schema.yaml b/x-pack/plugins/security_solution/common/api/detection_engine/index_management/create_index/create_index.schema.yaml new file mode 100644 index 0000000000000..63213117bd9fb --- /dev/null +++ b/x-pack/plugins/security_solution/common/api/detection_engine/index_management/create_index/create_index.schema.yaml @@ -0,0 +1,47 @@ +openapi: 3.0.0 +info: + title: Create an alerts index API endpoint + version: '2023-10-31' +paths: + /api/detection_engine/index: + post: + x-labels: [ess] + operationId: CreateAlertsIndex + x-codegen-enabled: true + summary: Create an alerts index + tags: + - Alert index API + responses: + 200: + description: Successful response + content: + application/json: + schema: + type: object + properties: + acknowledged: + type: boolean + required: [acknowledged] + 401: + description: Unsuccessful authentication response + content: + application/json: + schema: + $ref: '../../../model/error_responses.schema.yaml#/components/schemas/PlatformErrorResponse' + 403: + description: Not enough permissions response + content: + application/json: + schema: + $ref: '../../../model/error_responses.schema.yaml#/components/schemas/SiemErrorResponse' + 404: + content: + application/json: + schema: + $ref: '../../../model/error_responses.schema.yaml#/components/schemas/SiemErrorResponse' + 500: + description: Internal server error response + content: + application/json: + schema: + $ref: '../../../model/error_responses.schema.yaml#/components/schemas/SiemErrorResponse' diff --git a/x-pack/plugins/security_solution/common/api/detection_engine/index_management/create_index/create_index_route.ts b/x-pack/plugins/security_solution/common/api/detection_engine/index_management/create_index/create_index_route.ts deleted file mode 100644 index 7ed58c18f4e96..0000000000000 --- a/x-pack/plugins/security_solution/common/api/detection_engine/index_management/create_index/create_index_route.ts +++ /dev/null @@ -1,10 +0,0 @@ -/* - * 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; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -export interface CreateIndexResponse { - acknowledged: boolean; -} diff --git a/x-pack/plugins/security_solution/common/api/detection_engine/index_management/delete_index/delete_index.gen.ts b/x-pack/plugins/security_solution/common/api/detection_engine/index_management/delete_index/delete_index.gen.ts new file mode 100644 index 0000000000000..e2bfef33d6167 --- /dev/null +++ b/x-pack/plugins/security_solution/common/api/detection_engine/index_management/delete_index/delete_index.gen.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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +/* + * NOTICE: Do not edit this file manually. + * This file is automatically generated by the OpenAPI Generator, @kbn/openapi-generator. + * + * info: + * title: Delete an alerts index API endpoint + * version: 2023-10-31 + */ + +import { z } from 'zod'; + +export type DeleteAlertsIndexResponse = z.infer; +export const DeleteAlertsIndexResponse = z.object({ + acknowledged: z.boolean(), +}); diff --git a/x-pack/plugins/security_solution/common/api/detection_engine/index_management/delete_index/delete_index.schema.yaml b/x-pack/plugins/security_solution/common/api/detection_engine/index_management/delete_index/delete_index.schema.yaml new file mode 100644 index 0000000000000..7cdb02632535e --- /dev/null +++ b/x-pack/plugins/security_solution/common/api/detection_engine/index_management/delete_index/delete_index.schema.yaml @@ -0,0 +1,48 @@ +openapi: 3.0.0 +info: + title: Delete an alerts index API endpoint + version: '2023-10-31' +paths: + /api/detection_engine/index: + delete: + x-labels: [ess] + operationId: DeleteAlertsIndex + x-codegen-enabled: true + summary: Delete an alerts index + tags: + - Alert index API + responses: + 200: + description: Successful response + content: + application/json: + schema: + type: object + properties: + acknowledged: + type: boolean + required: [acknowledged] + 401: + description: Unsuccessful authentication response + content: + application/json: + schema: + $ref: '../../../model/error_responses.schema.yaml#/components/schemas/PlatformErrorResponse' + 403: + description: Not enough permissions response + content: + application/json: + schema: + $ref: '../../../model/error_responses.schema.yaml#/components/schemas/SiemErrorResponse' + 404: + description: Index does not exist response + content: + application/json: + schema: + type: string + 500: + description: Internal server error response + content: + application/json: + schema: + $ref: '../../../model/error_responses.schema.yaml#/components/schemas/SiemErrorResponse' diff --git a/x-pack/plugins/security_solution/common/api/detection_engine/index_management/delete_index/delete_index_route.ts b/x-pack/plugins/security_solution/common/api/detection_engine/index_management/delete_index/delete_index_route.ts deleted file mode 100644 index ce01b06537ee1..0000000000000 --- a/x-pack/plugins/security_solution/common/api/detection_engine/index_management/delete_index/delete_index_route.ts +++ /dev/null @@ -1,10 +0,0 @@ -/* - * 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; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -export interface DeleteIndexResponse { - acknowledged: boolean; -} diff --git a/x-pack/plugins/security_solution/common/api/detection_engine/index_management/index.ts b/x-pack/plugins/security_solution/common/api/detection_engine/index_management/index.ts index f0accac2fc01e..b64bea9e974b3 100644 --- a/x-pack/plugins/security_solution/common/api/detection_engine/index_management/index.ts +++ b/x-pack/plugins/security_solution/common/api/detection_engine/index_management/index.ts @@ -5,8 +5,8 @@ * 2.0. */ -export * from './create_index/create_index_route'; -export * from './delete_index/delete_index_route'; +export * from './create_index/create_index.gen'; +export * from './delete_index/delete_index.gen'; export * from './read_alerts_index_exists/read_alerts_index_exists_route'; -export * from './read_index/read_index_route'; +export * from './read_index/read_index.gen'; export * from './read_privileges/read_privileges_route'; diff --git a/x-pack/plugins/security_solution/common/api/detection_engine/index_management/read_index/read_index.gen.ts b/x-pack/plugins/security_solution/common/api/detection_engine/index_management/read_index/read_index.gen.ts new file mode 100644 index 0000000000000..071d96b89fe9c --- /dev/null +++ b/x-pack/plugins/security_solution/common/api/detection_engine/index_management/read_index/read_index.gen.ts @@ -0,0 +1,23 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +/* + * NOTICE: Do not edit this file manually. + * This file is automatically generated by the OpenAPI Generator, @kbn/openapi-generator. + * + * info: + * title: Get alerts index name API endpoint + * version: 2023-10-31 + */ + +import { z } from 'zod'; + +export type GetAlertsIndexResponse = z.infer; +export const GetAlertsIndexResponse = z.object({ + name: z.string(), + index_mapping_outdated: z.boolean().nullable(), +}); diff --git a/x-pack/plugins/security_solution/common/api/detection_engine/index_management/read_index/read_index.schema.yaml b/x-pack/plugins/security_solution/common/api/detection_engine/index_management/read_index/read_index.schema.yaml new file mode 100644 index 0000000000000..4c38c57da7592 --- /dev/null +++ b/x-pack/plugins/security_solution/common/api/detection_engine/index_management/read_index/read_index.schema.yaml @@ -0,0 +1,50 @@ +openapi: 3.0.0 +info: + title: Get alerts index name API endpoint + version: '2023-10-31' +paths: + /api/detection_engine/index: + get: + x-labels: [ess] + operationId: GetAlertsIndex + x-codegen-enabled: true + summary: Gets the alert index name if it exists + tags: + - Alert index API + responses: + 200: + description: Successful response + content: + application/json: + schema: + type: object + properties: + name: + type: string + index_mapping_outdated: + type: boolean + nullable: true + required: [name, index_mapping_outdated] + 401: + description: Unsuccessful authentication response + content: + application/json: + schema: + $ref: '../../../model/error_responses.schema.yaml#/components/schemas/PlatformErrorResponse' + 403: + description: Not enough permissions response + content: + application/json: + schema: + $ref: '../../../model/error_responses.schema.yaml#/components/schemas/SiemErrorResponse' + 404: + content: + application/json: + schema: + $ref: '../../../model/error_responses.schema.yaml#/components/schemas/SiemErrorResponse' + 500: + description: Internal server error response + content: + application/json: + schema: + $ref: '../../../model/error_responses.schema.yaml#/components/schemas/SiemErrorResponse' diff --git a/x-pack/plugins/security_solution/common/api/detection_engine/index_management/read_index/read_index_route.ts b/x-pack/plugins/security_solution/common/api/detection_engine/index_management/read_index/read_index_route.ts deleted file mode 100644 index 43daea9be9fe1..0000000000000 --- a/x-pack/plugins/security_solution/common/api/detection_engine/index_management/read_index/read_index_route.ts +++ /dev/null @@ -1,11 +0,0 @@ -/* - * 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; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -export interface ReadIndexResponse { - name: string; - index_mapping_outdated: boolean | null; -} diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/index/create_index_route.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/index/create_index_route.ts index 7053c913e4a3e..b5c61bb82c29e 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/index/create_index_route.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/index/create_index_route.ts @@ -15,12 +15,12 @@ import { setPolicy, createBootstrapIndex, } from '@kbn/securitysolution-es-utils'; +import type { CreateAlertsIndexResponse } from '../../../../../common/api/detection_engine/index_management'; import type { SecuritySolutionApiRequestHandlerContext, SecuritySolutionPluginRouter, } from '../../../../types'; import { DETECTION_ENGINE_INDEX_URL } from '../../../../../common/constants'; -import type { CreateIndexResponse } from '../../../../../common/api/detection_engine'; import { buildSiemResponse } from '../utils'; import { getSignalsTemplate, @@ -49,7 +49,7 @@ export const createIndexRoute = (router: SecuritySolutionPluginRouter) => { version: '2023-10-31', validate: false, }, - async (context, _, response): Promise> => { + async (context, _, response): Promise> => { const siemResponse = buildSiemResponse(response); try { diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/index/delete_index_route.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/index/delete_index_route.ts index 4bad93c04edc0..49b14944633cc 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/index/delete_index_route.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/index/delete_index_route.ts @@ -14,10 +14,10 @@ import { } from '@kbn/securitysolution-es-utils'; import type { IKibanaResponse } from '@kbn/core/server'; +import type { DeleteAlertsIndexResponse } from '../../../../../common/api/detection_engine/index_management'; import type { SecuritySolutionPluginRouter } from '../../../../types'; import { DETECTION_ENGINE_INDEX_URL } from '../../../../../common/constants'; import { buildSiemResponse } from '../utils'; -import type { DeleteIndexResponse } from '../../../../../common/api/detection_engine'; /** * Deletes all of the indexes, template, ilm policies, and aliases. You can check @@ -44,7 +44,7 @@ export const deleteIndexRoute = (router: SecuritySolutionPluginRouter) => { version: '2023-10-31', validate: false, }, - async (context, _, response): Promise> => { + async (context, _, response): Promise> => { const siemResponse = buildSiemResponse(response); try { diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/index/read_index_route.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/index/read_index_route.ts index 27adbd71be823..1f7b62ee5209f 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/index/read_index_route.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/index/read_index_route.ts @@ -8,6 +8,7 @@ import { transformError, getBootstrapIndexExists } from '@kbn/securitysolution-es-utils'; import type { RuleDataPluginService } from '@kbn/rule-registry-plugin/server'; import type { IKibanaResponse } from '@kbn/core/server'; +import type { GetAlertsIndexResponse } from '../../../../../common/api/detection_engine/index_management'; import type { SecuritySolutionPluginRouter } from '../../../../types'; import { DETECTION_ENGINE_INDEX_URL } from '../../../../../common/constants'; @@ -16,7 +17,6 @@ import { fieldAliasesOutdated } from './check_template_version'; import { getIndexVersion } from './get_index_version'; import { isOutdated } from '../../migrations/helpers'; import { SIGNALS_TEMPLATE_VERSION } from './get_signals_template'; -import type { ReadIndexResponse } from '../../../../../common/api/detection_engine'; export const readIndexRoute = ( router: SecuritySolutionPluginRouter, @@ -35,7 +35,7 @@ export const readIndexRoute = ( version: '2023-10-31', validate: false, }, - async (context, _, response): Promise> => { + async (context, _, response): Promise> => { const siemResponse = buildSiemResponse(response); try { diff --git a/x-pack/test/api_integration/services/security_solution_api.gen.ts b/x-pack/test/api_integration/services/security_solution_api.gen.ts index 4bc611e50bba2..9f6d717ea9dff 100644 --- a/x-pack/test/api_integration/services/security_solution_api.gen.ts +++ b/x-pack/test/api_integration/services/security_solution_api.gen.ts @@ -127,6 +127,13 @@ after 30 days. It also deletes other artifacts specific to the migration impleme .set(X_ELASTIC_INTERNAL_ORIGIN_REQUEST, 'kibana') .send(props.body as object); }, + createAlertsIndex() { + return supertest + .post('/api/detection_engine/index') + .set('kbn-xsrf', 'true') + .set(ELASTIC_HTTP_VERSION_HEADER, '2023-10-31') + .set(X_ELASTIC_INTERNAL_ORIGIN_REQUEST, 'kibana'); + }, createAlertsMigration(props: CreateAlertsMigrationProps) { return supertest .post('/api/detection_engine/signals/migration') @@ -146,6 +153,13 @@ after 30 days. It also deletes other artifacts specific to the migration impleme .set(X_ELASTIC_INTERNAL_ORIGIN_REQUEST, 'kibana') .send(props.body as object); }, + deleteAlertsIndex() { + return supertest + .delete('/api/detection_engine/index') + .set('kbn-xsrf', 'true') + .set(ELASTIC_HTTP_VERSION_HEADER, '2023-10-31') + .set(X_ELASTIC_INTERNAL_ORIGIN_REQUEST, 'kibana'); + }, /** * Deletes a single rule using the `rule_id` or `id` field. */ @@ -202,6 +216,13 @@ finalize it. .set(X_ELASTIC_INTERNAL_ORIGIN_REQUEST, 'kibana') .query(props.query); }, + getAlertsIndex() { + return supertest + .get('/api/detection_engine/index') + .set('kbn-xsrf', 'true') + .set(ELASTIC_HTTP_VERSION_HEADER, '2023-10-31') + .set(X_ELASTIC_INTERNAL_ORIGIN_REQUEST, 'kibana'); + }, getAlertsMigrationStatus(props: GetAlertsMigrationStatusProps) { return supertest .post('/api/detection_engine/signals/migration_status') From 108e1fadea1b1097025df3f0ce41f2d145c20bbc Mon Sep 17 00:00:00 2001 From: Paul Tavares <56442535+paul-tavares@users.noreply.github.com> Date: Fri, 21 Jun 2024 11:42:57 -0400 Subject: [PATCH 31/80] [Security Solution][Endpoint] Bug fixes to the Endpoint List (#186223) ## Summary Fixes a display bug on the Endpoint List where the Policy name column value was wrapping and causing the row to be miss-aligned. Changes include: - Moved components pieces that display the Policy Revision and the "Out-of-date" message to the `` component - this component now handles on displaying all of this information in one place via input Props - The component also dues Authz checks and ensures that if the user does not have Authz to read the Endpoint Policy Management section, the component will display the policy name as plain text (no link) - It will truncate the Policy name if not enough width is available to display its full value - Replaced the Policy List column component for Policy Name with the use of `` - Replaced the Policy Details flyout component to also use `` to display the policy name > [!NOTE] > Its still possible for the Policy Name column on the Endpoint list to display across two lines - when the Policy that the Endpoint host last reported is not longer available in Kibana. In this case/flow, the second line will display a message indicating that. See screen captures below. --- .../mock/endpoint/app_context_render.tsx | 63 +++++ .../endpoint_applied_policy_status.test.tsx | 49 ---- .../endpoint_applied_policy_status.tsx | 86 ------- .../endpoint_applied_policy_status/index.ts | 9 - .../components/endpoint_policy_link.test.tsx | 109 +++++++++ .../components/endpoint_policy_link.tsx | 224 ++++++++++++++---- .../cypress/e2e/endpoint_list/endpoints.cy.ts | 2 +- .../view/components/out_of_date.tsx | 27 --- .../view/details/endpoint_details_content.tsx | 56 ++--- .../pages/endpoint_hosts/view/index.test.tsx | 17 +- .../pages/endpoint_hosts/view/index.tsx | 63 ++--- .../translations/translations/fr-FR.json | 6 - .../translations/translations/ja-JP.json | 6 - .../translations/translations/zh-CN.json | 6 - 14 files changed, 397 insertions(+), 326 deletions(-) delete mode 100644 x-pack/plugins/security_solution/public/management/components/endpoint_applied_policy_status/endpoint_applied_policy_status.test.tsx delete mode 100644 x-pack/plugins/security_solution/public/management/components/endpoint_applied_policy_status/endpoint_applied_policy_status.tsx delete mode 100644 x-pack/plugins/security_solution/public/management/components/endpoint_applied_policy_status/index.ts create mode 100644 x-pack/plugins/security_solution/public/management/components/endpoint_policy_link.test.tsx delete mode 100644 x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/view/components/out_of_date.tsx diff --git a/x-pack/plugins/security_solution/public/common/mock/endpoint/app_context_render.tsx b/x-pack/plugins/security_solution/public/common/mock/endpoint/app_context_render.tsx index 11b4607ee4aae..147f52c7d4b42 100644 --- a/x-pack/plugins/security_solution/public/common/mock/endpoint/app_context_render.tsx +++ b/x-pack/plugins/security_solution/public/common/mock/endpoint/app_context_render.tsx @@ -23,6 +23,9 @@ import type { } from '@testing-library/react-hooks/src/types/react'; import type { UseBaseQueryResult } from '@tanstack/react-query'; import ReactDOM from 'react-dom'; +import type { DeepReadonly } from 'utility-types'; +import type { UserPrivilegesState } from '../../components/user_privileges/user_privileges_context'; +import { getUserPrivilegesMockDefaultValue } from '../../components/user_privileges/__mocks__'; import type { AppLinkItems } from '../../links/types'; import { ExperimentalFeaturesService } from '../../experimental_features_service'; import { applyIntersectionObserverMock } from '../intersection_observer_mock'; @@ -41,6 +44,7 @@ import { KibanaServices } from '../../lib/kibana'; import { appLinks } from '../../../app_links'; import { fleetGetPackageHttpMock } from '../../../management/mocks'; import { allowedExperimentalValues } from '../../../../common/experimental_features'; +import type { EndpointPrivileges } from '../../../../common/endpoint/types'; const REAL_REACT_DOM_CREATE_PORTAL = ReactDOM.createPortal; @@ -116,6 +120,11 @@ export type ReactQueryHookRenderer< options?: RenderHookOptions ) => Promise; +export interface UserPrivilegesMockSetter { + set: (privileges: Partial) => void; + reset: () => void; +} + /** * Mocked app root context renderer */ @@ -155,6 +164,42 @@ export interface AppContextTestRender { */ setExperimentalFlag: (flags: Partial) => void; + /** + * A helper method that will return an interface to more easily manipulate Endpoint related user authz. + * Works in conjunction with `jest.mock()` at the test level. + * @param useUserPrivilegesHookMock + * + * @example + * + * // in your test + * import { useUserPrivileges as _useUserPrivileges } from 'path/to/user_privileges' + * + * jest.mock('path/to/user_privileges'); + * + * const useUserPrivilegesMock = _useUserPrivileges as jest.Mock; + * + * // If you test - or more likely, in the `beforeEach` and `afterEach` + * let authMockSetter: UserPrivilegesMockSetter; + * + * beforeEach(() => { + * const appTestSetup = createAppRootMockRenderer(); + * + * authMockSetter = appTestSetup.getUserPrivilegesMockSetter(useUserPrivilegesMock); + * }) + * + * afterEach(() => { + * authMockSetter.reset(); + * } + * + * // Manipulate the authz in your test + * it('does something', () => { + * authMockSetter({ canReadPolicyManagement: false }); + * }); + */ + getUserPrivilegesMockSetter: ( + useUserPrivilegesHookMock: jest.MockedFn<() => DeepReadonly> + ) => UserPrivilegesMockSetter; + /** * The React Query client (setup to support jest testing) */ @@ -305,6 +350,23 @@ export const createAppRootMockRenderer = (): AppContextTestRender => { }); }; + const getUserPrivilegesMockSetter: AppContextTestRender['getUserPrivilegesMockSetter'] = ( + useUserPrivilegesHookMock + ) => { + return { + set: (authOverrides) => { + const newAuthz = getUserPrivilegesMockDefaultValue(); + + Object.assign(newAuthz.endpointPrivileges, authOverrides); + useUserPrivilegesHookMock.mockReturnValue(newAuthz); + }, + reset: () => { + useUserPrivilegesHookMock.mockReset(); + useUserPrivilegesHookMock.mockReturnValue(getUserPrivilegesMockDefaultValue()); + }, + }; + }; + // Initialize the singleton `KibanaServices` with global services created for this test instance. // The module (`../../lib/kibana`) could have been mocked at the test level via `jest.mock()`, // and if so, then we set the return value of `KibanaServices.get` instead of calling `KibanaServices.init()` @@ -336,6 +398,7 @@ export const createAppRootMockRenderer = (): AppContextTestRender => { renderHook, renderReactQueryHook, setExperimentalFlag, + getUserPrivilegesMockSetter, queryClient, }; }; diff --git a/x-pack/plugins/security_solution/public/management/components/endpoint_applied_policy_status/endpoint_applied_policy_status.test.tsx b/x-pack/plugins/security_solution/public/management/components/endpoint_applied_policy_status/endpoint_applied_policy_status.test.tsx deleted file mode 100644 index 3b98fb46ecd28..0000000000000 --- a/x-pack/plugins/security_solution/public/management/components/endpoint_applied_policy_status/endpoint_applied_policy_status.test.tsx +++ /dev/null @@ -1,49 +0,0 @@ -/* - * 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; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import type { AppContextTestRender } from '../../../common/mock/endpoint'; -import { createAppRootMockRenderer } from '../../../common/mock/endpoint'; -import type { EndpointAppliedPolicyStatusProps } from './endpoint_applied_policy_status'; -import { EndpointAppliedPolicyStatus } from './endpoint_applied_policy_status'; -import React from 'react'; -import { EndpointDocGenerator } from '../../../../common/endpoint/generate_data'; -import { POLICY_STATUS_TO_TEXT } from '../../pages/endpoint_hosts/view/host_constants'; - -describe('when using EndpointPolicyStatus component', () => { - let render: () => ReturnType; - let renderResult: ReturnType; - let renderProps: EndpointAppliedPolicyStatusProps; - - beforeEach(() => { - const appTestContext = createAppRootMockRenderer(); - - renderProps = { - policyApplied: new EndpointDocGenerator('seed').generateHostMetadata().Endpoint.policy - .applied, - }; - - render = () => { - renderResult = appTestContext.render(); - return renderResult; - }; - }); - - it('should display status from metadata `policy.applied` value', () => { - render(); - - expect(renderResult.getByTestId('policyStatus').textContent).toEqual( - POLICY_STATUS_TO_TEXT[renderProps.policyApplied.status] - ); - }); - - it('should display status passed as `children`', () => { - renderProps.children = 'status goes here'; - render(); - - expect(renderResult.getByTestId('policyStatus').textContent).toEqual('status goes here'); - }); -}); diff --git a/x-pack/plugins/security_solution/public/management/components/endpoint_applied_policy_status/endpoint_applied_policy_status.tsx b/x-pack/plugins/security_solution/public/management/components/endpoint_applied_policy_status/endpoint_applied_policy_status.tsx deleted file mode 100644 index 22574fd2d8d10..0000000000000 --- a/x-pack/plugins/security_solution/public/management/components/endpoint_applied_policy_status/endpoint_applied_policy_status.tsx +++ /dev/null @@ -1,86 +0,0 @@ -/* - * 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; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import type { PropsWithChildren } from 'react'; -import React, { memo } from 'react'; -import { EuiHealth, EuiToolTip, EuiText, EuiFlexGroup, EuiFlexItem } from '@elastic/eui'; -import { FormattedMessage } from '@kbn/i18n-react'; -import { - POLICY_STATUS_TO_HEALTH_COLOR, - POLICY_STATUS_TO_TEXT, -} from '../../pages/endpoint_hosts/view/host_constants'; -import type { HostMetadata } from '../../../../common/endpoint/types'; - -/** - * Displays the status of an applied policy on the Endpoint (using the information provided - * by the endpoint in the Metadata document `Endpoint.policy.applied`. - * By default, the policy status is displayed as plain text, however, that can be overridden - * by defining the `children` prop or passing a child component to this one. - */ -export type EndpointAppliedPolicyStatusProps = PropsWithChildren<{ - policyApplied: HostMetadata['Endpoint']['policy']['applied']; -}>; - -/** - * Display the status of the Policy applied on an endpoint - */ -export const EndpointAppliedPolicyStatus = memo( - ({ policyApplied, children }) => { - return ( - - } - anchorClassName="eui-textTruncate" - content={ - - - - {policyApplied.name} - - - - {policyApplied.endpoint_policy_version && ( - - - - - - )} - - } - > - - {children !== undefined ? children : POLICY_STATUS_TO_TEXT[policyApplied.status]} - - - ); - } -); -EndpointAppliedPolicyStatus.displayName = 'EndpointAppliedPolicyStatus'; diff --git a/x-pack/plugins/security_solution/public/management/components/endpoint_applied_policy_status/index.ts b/x-pack/plugins/security_solution/public/management/components/endpoint_applied_policy_status/index.ts deleted file mode 100644 index c1a930828314f..0000000000000 --- a/x-pack/plugins/security_solution/public/management/components/endpoint_applied_policy_status/index.ts +++ /dev/null @@ -1,9 +0,0 @@ -/* - * 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; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -export { EndpointAppliedPolicyStatus } from './endpoint_applied_policy_status'; -export type { EndpointAppliedPolicyStatusProps } from './endpoint_applied_policy_status'; diff --git a/x-pack/plugins/security_solution/public/management/components/endpoint_policy_link.test.tsx b/x-pack/plugins/security_solution/public/management/components/endpoint_policy_link.test.tsx new file mode 100644 index 0000000000000..37a9791c58837 --- /dev/null +++ b/x-pack/plugins/security_solution/public/management/components/endpoint_policy_link.test.tsx @@ -0,0 +1,109 @@ +/* + * 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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import type { AppContextTestRender, UserPrivilegesMockSetter } from '../../common/mock/endpoint'; +import { createAppRootMockRenderer } from '../../common/mock/endpoint'; +import React from 'react'; +import type { EndpointPolicyLinkProps } from './endpoint_policy_link'; +import { EndpointPolicyLink, POLICY_NOT_FOUND_MESSAGE } from './endpoint_policy_link'; +import { useUserPrivileges as _useUserPrivileges } from '../../common/components/user_privileges'; + +jest.mock('../../common/components/user_privileges'); + +const useUserPrivilegesMock = _useUserPrivileges as jest.Mock; + +describe('EndpointPolicyLink component', () => { + let render: () => ReturnType; + let renderResult: ReturnType; + let props: EndpointPolicyLinkProps; + let authzSettter: UserPrivilegesMockSetter; + + beforeEach(() => { + const appTestContext = createAppRootMockRenderer(); + + props = { + policyId: 'abc-123', + 'data-test-subj': 'test', + children: 'policy name here', + }; + + authzSettter = appTestContext.getUserPrivilegesMockSetter(useUserPrivilegesMock); + + render = () => { + renderResult = appTestContext.render(); + return renderResult; + }; + }); + + afterEach(() => { + authzSettter.reset(); + }); + + it('should display policy as a link to policy details page', () => { + const { getByTestId, queryByTestId } = render(); + + expect(getByTestId('test-displayContent')).toHaveTextContent(props.children as string); + expect(getByTestId('test-link')).toBeTruthy(); + expect(queryByTestId('test-revision')).toBeNull(); + expect(queryByTestId('test-outdatedMsg')).toBeNull(); + expect(queryByTestId('test-policyNotFoundMsg')).toBeNull(); + }); + + it('should display regular text (no link) if user has no authz to read policy details', () => { + authzSettter.set({ canReadPolicyManagement: false }); + const { getByTestId, queryByTestId } = render(); + + expect(getByTestId('test-displayContent')).toHaveTextContent(props.children as string); + expect(queryByTestId('test-link')).toBeNull(); + }); + + it('should display regular text (no link) if policy does not exist', () => { + props.policyExists = false; + const { getByTestId, queryByTestId } = render(); + + expect(getByTestId('test-displayContent')).toHaveTextContent(props.children as string); + expect(queryByTestId('test-link')).toBeNull(); + }); + + it('should display regular text (no link) if policy id is empty string', () => { + props.policyId = ''; + const { getByTestId, queryByTestId } = render(); + + expect(getByTestId('test-displayContent')).toHaveTextContent(props.children as string); + expect(queryByTestId('test-link')).toBeNull(); + }); + + it('should display revision', () => { + props.revision = 10; + const { getByTestId } = render(); + + expect(getByTestId('test-revision')).toHaveTextContent('rev. 10'); + }); + + it('should display out-of-date message', () => { + props.isOutdated = true; + const { getByTestId } = render(); + + expect(getByTestId('test-outdatedMsg')).toHaveTextContent('Out-of-date'); + }); + + it('should display policy no longer available', () => { + props.policyExists = false; + const { getByTestId } = render(); + + expect(getByTestId('test-policyNotFoundMsg')).toHaveTextContent(POLICY_NOT_FOUND_MESSAGE); + }); + + it('should display all info. when policy is missing and out of date', () => { + props.revision = 10; + props.isOutdated = true; + props.policyExists = false; + const { getByTestId } = render(); + + expect(getByTestId('test').textContent).toEqual('policy name hererev. 10Out-of-date'); + }); +}); diff --git a/x-pack/plugins/security_solution/public/management/components/endpoint_policy_link.tsx b/x-pack/plugins/security_solution/public/management/components/endpoint_policy_link.tsx index dab1d5e98c722..f98e16a3ef137 100644 --- a/x-pack/plugins/security_solution/public/management/components/endpoint_policy_link.tsx +++ b/x-pack/plugins/security_solution/public/management/components/endpoint_policy_link.tsx @@ -6,60 +6,200 @@ */ import React, { memo, useMemo } from 'react'; -import type { EuiLinkAnchorProps } from '@elastic/eui'; -import { EuiLink, EuiText, EuiIcon } from '@elastic/eui'; +import type { EuiLinkAnchorProps, EuiTextProps } from '@elastic/eui'; +import { EuiLink, EuiText, EuiIcon, EuiFlexGroup, EuiFlexItem, EuiToolTip } from '@elastic/eui'; import { FormattedMessage } from '@kbn/i18n-react'; +import { i18n } from '@kbn/i18n'; +import { useTestIdGenerator } from '../hooks/use_test_id_generator'; import { getPolicyDetailPath } from '../common/routing'; import { useNavigateByRouterEventHandler } from '../../common/hooks/endpoint/use_navigate_by_router_event_handler'; import { useAppUrl } from '../../common/lib/kibana/hooks'; import type { PolicyDetailsRouteState } from '../../../common/endpoint/types'; +import { useUserPrivileges } from '../../common/components/user_privileges'; + +export const POLICY_NOT_FOUND_MESSAGE = i18n.translate( + 'xpack.securitySolution.endpointPolicyLink.policyNotFound', + { defaultMessage: 'Policy no longer available!' } +); + +export type EndpointPolicyLinkProps = Omit & { + policyId: string; + /** + * If defined, then a tooltip will also be shown when a user hovers over the dispplayed value (`children`). + * When set to `true`, the tooltip content will be the same as the value that is + * displayed (`children`). The tooltip can also be customized by passing in the content to be shown. + */ + tooltip?: boolean | React.ReactNode; + /** + * The revision of the policy that the Endpoint is running with (normally obtained from the host's metadata. + */ + revision?: number; + /** + * Will display an "out of date" message. + */ + isOutdated?: boolean; + /** Text size to be applied to the display content (`children`) */ + textSize?: EuiTextProps['size']; + /** + * If policy still exists. In some cases, we could be displaying the policy name for a policy + * that no longer exists (ex. it was deleted, but we still have data in ES that references that deleted policy) + * When set to `true`, a link to the policy wil not be shown and the display value (`children`) + * will have a message appended to it indicating policy no longer available. + */ + policyExists?: boolean; + backLink?: PolicyDetailsRouteState['backLink']; +}; /** - * A policy link (to details) that first checks to see if the policy id exists against - * the `nonExistingPolicies` value in the store. If it does not exist, then regular - * text is returned. + * Will display the provided content (`children`) as a link that takes the user to the Endpoint + * Policy Details page. A link is only displayed if the user has Authz to that page, otherwise the + * provided display content will just be shown as is. */ -export const EndpointPolicyLink = memo< - Omit & { - policyId: string; - missingPolicies?: Record; - backLink?: PolicyDetailsRouteState['backLink']; - } ->(({ policyId, backLink, children, missingPolicies = {}, ...otherProps }) => { - const { getAppUrl } = useAppUrl(); - const { toRoutePath, toRouteUrl } = useMemo(() => { - const path = policyId ? getPolicyDetailPath(policyId) : ''; - return { - toRoutePath: backLink ? { pathname: path, state: { backLink } } : path, - toRouteUrl: getAppUrl({ path }), - }; - }, [policyId, getAppUrl, backLink]); - const clickHandler = useNavigateByRouterEventHandler(toRoutePath); +export const EndpointPolicyLink = memo( + ({ + policyId, + backLink, + children, + policyExists = true, + isOutdated = false, + tooltip = true, + revision, + textSize = 's', + ...euiLinkProps + }) => { + const { getAppUrl } = useAppUrl(); + const { canReadPolicyManagement } = useUserPrivileges().endpointPrivileges; + const testId = useTestIdGenerator(euiLinkProps['data-test-subj']); - if (!policyId || missingPolicies[policyId]) { - return ( - - {children} - { - + const { toRoutePath, toRouteUrl } = useMemo(() => { + const path = policyId ? getPolicyDetailPath(policyId) : ''; + return { + toRoutePath: backLink ? { pathname: path, state: { backLink } } : path, + toRouteUrl: getAppUrl({ path }), + }; + }, [policyId, getAppUrl, backLink]); + + const clickHandler = useNavigateByRouterEventHandler(toRoutePath); + + const displayAsLink = useMemo(() => { + return Boolean(canReadPolicyManagement && policyId && policyExists); + }, [canReadPolicyManagement, policyExists, policyId]); + + const displayValue = useMemo(() => { + const content = ( + + {children} + + ); + + return displayAsLink ? ( + // eslint-disable-next-line @elastic/eui/href-or-on-click + + {content} + + ) : ( + content + ); + }, [children, clickHandler, displayAsLink, euiLinkProps, testId, textSize, toRouteUrl]); + + const policyNoLongerAvailableMessage = useMemo(() => { + return ( + ((!policyId || !policyExists) && ( +   - + {POLICY_NOT_FOUND_MESSAGE} - } - - ); - } + )) || + null + ); + }, [policyExists, policyId, testId]); + + const tooltipContent: React.ReactNode | undefined = useMemo(() => { + const content = tooltip === true ? children : tooltip || undefined; + return content ? ( +
+ {content} + {policyNoLongerAvailableMessage && <> {`(${POLICY_NOT_FOUND_MESSAGE})`}} +
+ ) : ( + content + ); + }, [children, policyNoLongerAvailableMessage, tooltip]); + + return ( +
+ + + {tooltipContent ? ( + + {displayValue} + + ) : ( + displayValue + )} + + + {revision && ( + + + + + + )} - return ( - // eslint-disable-next-line @elastic/eui/href-or-on-click - - {children} - - ); -}); + {isOutdated && ( + + + + + + + + + )} + + {policyNoLongerAvailableMessage} +
+ ); + } +); EndpointPolicyLink.displayName = 'EndpointPolicyLink'; diff --git a/x-pack/plugins/security_solution/public/management/cypress/e2e/endpoint_list/endpoints.cy.ts b/x-pack/plugins/security_solution/public/management/cypress/e2e/endpoint_list/endpoints.cy.ts index 217b13f96f934..12cdfcfa6e09c 100644 --- a/x-pack/plugins/security_solution/public/management/cypress/e2e/endpoint_list/endpoints.cy.ts +++ b/x-pack/plugins/security_solution/public/management/cypress/e2e/endpoint_list/endpoints.cy.ts @@ -125,7 +125,7 @@ describe('Endpoints page', { tags: ['@ess', '@serverless'] }, () => { cy.get('@originalPolicyRevision').then((originalRevision: number) => { const revisionRegex = new RegExp(`^rev\\. ${originalRevision + 1}$`); - cy.get('@endpointRow').findByTestSubj('policyListRevNo').contains(revisionRegex); + cy.get('@endpointRow').findByTestSubj('policyNameCellLink-revision').contains(revisionRegex); }); }); diff --git a/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/view/components/out_of_date.tsx b/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/view/components/out_of_date.tsx deleted file mode 100644 index 87abd4bbb9225..0000000000000 --- a/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/view/components/out_of_date.tsx +++ /dev/null @@ -1,27 +0,0 @@ -/* - * 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; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import React from 'react'; -import { EuiText, EuiIcon } from '@elastic/eui'; -import { FormattedMessage } from '@kbn/i18n-react'; - -export const OutOfDate = React.memo<{ style?: React.CSSProperties }>(({ style, ...otherProps }) => { - return ( - - - - - ); -}); - -OutOfDate.displayName = 'OutOfDate'; diff --git a/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/view/details/endpoint_details_content.tsx b/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/view/details/endpoint_details_content.tsx index 0140cba0780ed..3832eae088ef6 100644 --- a/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/view/details/endpoint_details_content.tsx +++ b/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/view/details/endpoint_details_content.tsx @@ -5,7 +5,6 @@ * 2.0. */ -import styled from 'styled-components'; import { EuiDescriptionList, EuiFlexGroup, @@ -17,12 +16,12 @@ import { } from '@elastic/eui'; import React, { memo, useMemo } from 'react'; import { FormattedMessage } from '@kbn/i18n-react'; +import { isPolicyOutOfDate } from '../../utils'; import { useIsExperimentalFeatureEnabled } from '../../../../../common/hooks/use_experimental_features'; import { AgentStatus, EndpointAgentStatus, } from '../../../../../common/components/endpoint/agents/agent_status'; -import { isPolicyOutOfDate } from '../../utils'; import type { HostInfo } from '../../../../../../common/endpoint/types'; import { useEndpointSelector } from '../hooks'; import { @@ -35,13 +34,6 @@ import { FormattedDate } from '../../../../../common/components/formatted_date'; import { useNavigateByRouterEventHandler } from '../../../../../common/hooks/endpoint/use_navigate_by_router_event_handler'; import { getEndpointDetailsPath } from '../../../../common/routing'; import { EndpointPolicyLink } from '../../../../components/endpoint_policy_link'; -import { OutOfDate } from '../components/out_of_date'; - -const EndpointDetailsContentStyled = styled.div` - .policyLineText { - padding-right: 5px; - } -`; const ColumnTitle = ({ children }: { children: React.ReactNode }) => { return ( @@ -138,35 +130,15 @@ export const EndpointDetailsContent = memo( ), description: ( - - - {hostInfo.metadata.Endpoint.policy.applied.name} - - {hostInfo.metadata.Endpoint.policy.applied.endpoint_policy_version && ( - - - - )} - {isPolicyOutOfDate(hostInfo.metadata.Endpoint.policy.applied, policyInfo) && ( - - )} - + + {hostInfo.metadata.Endpoint.policy.applied.name} + ), }, { @@ -227,17 +199,17 @@ export const EndpointDetailsContent = memo( }, ]; }, [ - agentStatusClientEnabled, hostInfo, + agentStatusClientEnabled, getHostPendingActions, - missingPolicies, policyInfo, + missingPolicies, policyStatus, policyStatusClickHandler, ]); return ( - +
( listItems={detailsResults} data-test-subj="endpointDetailsList" /> - +
); } ); diff --git a/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/view/index.test.tsx b/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/view/index.test.tsx index ceb9f1ce10e86..f69970ab7d538 100644 --- a/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/view/index.test.tsx +++ b/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/view/index.test.tsx @@ -385,12 +385,11 @@ describe('when on the endpoint list page', () => { await reactTestingLibrary.act(async () => { await middlewareSpy.waitForAction('serverReturnedEndpointList'); }); - const outOfDates = await renderResult.findAllByTestId('rowPolicyOutOfDate'); + const outOfDates = await renderResult.findAllByTestId('policyNameCellLink-outdatedMsg'); expect(outOfDates).toHaveLength(4); outOfDates.forEach((item) => { expect(item.textContent).toEqual('Out-of-date'); - expect(item.querySelector(`[data-euiicon-type][color=warning]`)).not.toBeNull(); }); }); @@ -399,7 +398,7 @@ describe('when on the endpoint list page', () => { await reactTestingLibrary.act(async () => { await middlewareSpy.waitForAction('serverReturnedEndpointList'); }); - const firstPolicyName = (await renderResult.findAllByTestId('policyNameCellLink'))[0]; + const firstPolicyName = (await renderResult.findAllByTestId('policyNameCellLink-link'))[0]; expect(firstPolicyName).not.toBeNull(); expect(firstPolicyName.getAttribute('href')).toEqual( `${APP_PATH}${MANAGEMENT_PATH}/policy/${firstPolicyID}/settings` @@ -452,7 +451,9 @@ describe('when on the endpoint list page', () => { await reactTestingLibrary.act(async () => { await middlewareSpy.waitForAction('serverReturnedEndpointList'); }); - const firstPolicyRevElement = (await renderResult.findAllByTestId('policyListRevNo'))[0]; + const firstPolicyRevElement = ( + await renderResult.findAllByTestId('policyNameCellLink-revision') + )[0]; expect(firstPolicyRevElement).not.toBeNull(); expect(firstPolicyRevElement.textContent).toEqual(`rev. ${firstPolicyRev}`); }); @@ -589,7 +590,7 @@ describe('when on the endpoint list page', () => { it('should display policy name value as a link', async () => { const renderResult = render(); - const policyDetailsLink = await renderResult.findByTestId('policyDetailsValue'); + const policyDetailsLink = await renderResult.findByTestId('policyNameCellLink-link'); expect(policyDetailsLink).not.toBeNull(); expect(policyDetailsLink.getAttribute('href')).toEqual( `${APP_PATH}${MANAGEMENT_PATH}/policy/${hostInfo.metadata.Endpoint.policy.applied.id}/settings` @@ -598,7 +599,9 @@ describe('when on the endpoint list page', () => { it('should display policy revision number', async () => { const renderResult = render(); - const policyDetailsRevElement = await renderResult.findByTestId('policyDetailsRevNo'); + const policyDetailsRevElement = await renderResult.findByTestId( + 'policyNameCellLink-revision' + ); expect(policyDetailsRevElement).not.toBeNull(); expect(policyDetailsRevElement.textContent).toEqual( `rev. ${hostInfo.metadata.Endpoint.policy.applied.endpoint_policy_version}` @@ -607,7 +610,7 @@ describe('when on the endpoint list page', () => { it('should update the URL when policy name link is clicked', async () => { const renderResult = render(); - const policyDetailsLink = await renderResult.findByTestId('policyDetailsValue'); + const policyDetailsLink = await renderResult.findByTestId('policyNameCellLink-link'); const userChangedUrlChecker = middlewareSpy.waitForAction('userChangedUrl'); reactTestingLibrary.act(() => { reactTestingLibrary.fireEvent.click(policyDetailsLink); diff --git a/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/view/index.tsx b/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/view/index.tsx index 89473ece661a3..4eebc9a6c3983 100644 --- a/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/view/index.tsx +++ b/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/view/index.tsx @@ -5,7 +5,7 @@ * 2.0. */ -import React, { type CSSProperties, useCallback, useMemo } from 'react'; +import React, { useCallback, useMemo } from 'react'; import styled from 'styled-components'; import type { CriteriaWithPagination } from '@elastic/eui'; import { @@ -32,6 +32,7 @@ import type { AgentPolicyDetailsDeployAgentAction, CreatePackagePolicyRouteState, } from '@kbn/fleet-plugin/public'; +import { isPolicyOutOfDate } from '../utils'; import { useIsExperimentalFeatureEnabled } from '../../../../common/hooks/use_experimental_features'; import { TransformFailedCallout } from './components/transform_failed_callout'; import type { EndpointIndexUIQueryParams } from '../types'; @@ -42,9 +43,8 @@ import { } from '../../../../common/components/endpoint/agents/agent_status'; import { EndpointDetailsFlyout } from './details'; import * as selectors from '../store/selectors'; -import { getEndpointPendingActionsCallback } from '../store/selectors'; +import { getEndpointPendingActionsCallback, nonExistingPolicies } from '../store/selectors'; import { useEndpointSelector } from './hooks'; -import { isPolicyOutOfDate } from '../utils'; import { POLICY_STATUS_TO_HEALTH_COLOR, POLICY_STATUS_TO_TEXT } from './host_constants'; import type { CreateStructuredSelector } from '../../../../common/store'; import type { @@ -64,7 +64,6 @@ import { getEndpointDetailsPath, getEndpointListPath } from '../../../common/rou import { useFormatUrl } from '../../../../common/components/link_to'; import { useAppUrl } from '../../../../common/lib/kibana/hooks'; import type { EndpointAction } from '../store/action'; -import { OutOfDate } from './components/out_of_date'; import { AdminSearchBar } from './components/search_bar'; import { AdministrationListPage } from '../../../components/administration_list_page'; import { TableRowActions } from './components/table_row_actions'; @@ -83,7 +82,7 @@ const StyledDatePicker = styled.div` interface GetEndpointListColumnsProps { agentStatusClientEnabled: boolean; - canReadPolicyManagement: boolean; + missingPolicies: ReturnType; backToEndpointList: PolicyDetailsRouteState['backLink']; getHostPendingActions: ReturnType; queryParams: Immutable; @@ -108,7 +107,7 @@ const columnWidths: Record< const getEndpointListColumns = ({ agentStatusClientEnabled, - canReadPolicyManagement, + missingPolicies, backToEndpointList, getHostPendingActions, queryParams, @@ -118,7 +117,6 @@ const getEndpointListColumns = ({ const lastActiveColumnName = i18n.translate('xpack.securitySolution.endpoint.list.lastActive', { defaultMessage: 'Last active', }); - const padLeft: CSSProperties = { paddingLeft: '6px' }; return [ { @@ -183,42 +181,17 @@ const getEndpointListColumns = ({ item: HostInfo ) => { const policy = item.metadata.Endpoint.policy.applied; - return ( - <> - - {canReadPolicyManagement ? ( - - {policyName} - - ) : ( - <>{policyName} - )} - - {policy.endpoint_policy_version && ( - - - - )} - {isPolicyOutOfDate(policy, item.policy_info) && ( - - )} - + + {policyName} + ); }, }, @@ -375,11 +348,11 @@ export const EndpointList = () => { metadataTransformStats, isInitialized, } = useEndpointSelector(selector); + const missingPolicies = useEndpointSelector(nonExistingPolicies); const getHostPendingActions = useEndpointSelector(getEndpointPendingActionsCallback); const { canReadEndpointList, canAccessFleet, - canReadPolicyManagement, loading: endpointPrivilegesLoading, } = useUserPrivileges().endpointPrivileges; const { search } = useFormatUrl(SecurityPageName.administration); @@ -540,9 +513,9 @@ export const EndpointList = () => { () => getEndpointListColumns({ agentStatusClientEnabled, - canReadPolicyManagement, backToEndpointList, getAppUrl, + missingPolicies, getHostPendingActions, queryParams, search, @@ -550,9 +523,9 @@ export const EndpointList = () => { [ agentStatusClientEnabled, backToEndpointList, - canReadPolicyManagement, getAppUrl, getHostPendingActions, + missingPolicies, queryParams, search, ] diff --git a/x-pack/plugins/translations/translations/fr-FR.json b/x-pack/plugins/translations/translations/fr-FR.json index cb1314b562822..f1e9887dd606c 100644 --- a/x-pack/plugins/translations/translations/fr-FR.json +++ b/x-pack/plugins/translations/translations/fr-FR.json @@ -32643,7 +32643,6 @@ "xpack.securitySolution.enableRiskScore.enableRiskScoreDescription": "Une fois que vous avez activé cette fonctionnalité, vous pouvez obtenir un accès rapide aux scores de risque de {riskEntity} dans cette section. Les données pourront prendre jusqu'à une heure pour être générées après l'activation du module.", "xpack.securitySolution.enableRiskScore.upgradeRiskScore": "Mettre à niveau le score de risque de {riskEntity}", "xpack.securitySolution.endpoint.actions.unsupported.message": "La version actuelle de l'agent {agentType} ne prend pas en charge {command}. Mettez à niveau votre Elastic Agent via Fleet vers la dernière version pour activer cette action de réponse.", - "xpack.securitySolution.endpoint.details.policy.revisionNumber": "rév. {revNumber}", "xpack.securitySolution.endpoint.details.policyStatusValue": "{policyStatus, select, success {Succès} warning {Avertissement} failure {Échec} other {Inconnu}}", "xpack.securitySolution.endpoint.fleetCustomExtension.artifactsSummaryError": "Une erreur s'est produite lors de la tentative de récupération des statistiques d'artefacts : \"{error}\"", "xpack.securitySolution.endpoint.fleetCustomExtension.blocklistsSummary.error": "Une erreur s'est produite lors de la tentative de récupération des statistiques de liste noire : \"{error}\"", @@ -32663,7 +32662,6 @@ "xpack.securitySolution.endpoint.hostIsolation.unisolate.successfulMessage": "La libération de l'hôte {hostName} a été soumise", "xpack.securitySolution.endpoint.hostIsolation.unIsolateThisHost": "{hostName} est actuellement {isolated}. Voulez-vous vraiment {unisolate} cet hôte ?", "xpack.securitySolution.endpoint.list.hostStatusValue": "{hostStatus, select, healthy {Sain} unhealthy {En mauvais état} updating {En cours de mise à jour} offline {Hors ligne} inactive {Inactif} unenrolled {Désinscrit} other {En mauvais état}}", - "xpack.securitySolution.endpoint.list.policy.revisionNumber": "rév. {revNumber}", "xpack.securitySolution.endpoint.list.totalCount": "Affichage de {totalItemCount, plural, one {# point de terminaison} other {# points de terminaison}}", "xpack.securitySolution.endpoint.list.totalCount.limited": "Affichage de {limit} de {totalItemCount, plural, one {# point de terminaison} other {# points de terminaison}}", "xpack.securitySolution.endpoint.list.transformFailed.message": "Une transformation requise, {transformId}, est actuellement en échec. La plupart du temps, ce problème peut être corrigé grâce aux {transformsPage}. Pour une assistance supplémentaire, veuillez visitez la {docsPage}", @@ -32734,7 +32732,6 @@ "xpack.securitySolution.endpoint.resolver.panel.relatedEventList.countByCategory": "{count} {category}", "xpack.securitySolution.endpoint.resolver.panel.relatedEventList.numberOfEvents": "{totalCount} événements", "xpack.securitySolution.endpoint.resolver.relatedEventLimitTitle": "Cette liste inclut {numberOfEntries} événements de processus.", - "xpack.securitySolution.endpointPolicyStatus.revisionNumber": "rév. {revNumber}", "xpack.securitySolution.endpointResponseActions.actionError.errorMessage": "{ errorCount, plural, =1 {Erreur rencontrée} other {Erreurs rencontrées}} :", "xpack.securitySolution.enrichment.noInvestigationEnrichment": "Aucun renseignement supplémentaire sur les menaces n'a été détecté sur la période sélectionnée. Sélectionnez une autre plage temporelle ou {link} afin de collecter des renseignements sur les menaces pour les détecter et les comparer.", "xpack.securitySolution.entityAnalytics.anomalies.moduleNotCompatibleTitle": "{incompatibleJobCount} {incompatibleJobCount, plural, =1 {tâche est actuellement indisponible} other {tâches sont actuellement indisponibles}}", @@ -35613,7 +35610,6 @@ "xpack.securitySolution.endpoint.policyList.onboardingSectionTwo.fromEndpointPage": "À partir de cette page, vous pourrez afficher et gérer les hôtes dans votre environnement exécutant Elastic Defend.", "xpack.securitySolution.endpoint.policyList.onboardingSectionTwo.fromPolicyPage": "À partir de cette page, vous pourrez afficher et gérer les politiques d'intégration Elastic Defend dans votre environnement exécutant Elastic Defend.", "xpack.securitySolution.endpoint.policyList.onboardingTitle": "Lancez-vous avec Elastic Defend", - "xpack.securitySolution.endpoint.policyNotFound": "Politique introuvable !", "xpack.securitySolution.endpoint.policyResponse.backLinkTitle": "Détails de point de terminaison", "xpack.securitySolution.endpoint.policyResponse.title": "Réponse de politique", "xpack.securitySolution.endpoint.protectionUpdates.automaticUpdates.enabled.toggleName": "Activer les mises à jour automatique", @@ -35750,7 +35746,6 @@ "xpack.securitySolution.endpointDetails.activityLog.logEntry.response.unisolationSuccessful": "Requête de libération de l'hôte reçue par Endpoint", "xpack.securitySolution.endpointDetails.overview": "Aperçu", "xpack.securitySolution.endpointDetails.responseActionsHistory": "Historique des actions de réponse", - "xpack.securitySolution.endpointPolicyStatus.tooltipTitleLabel": "Politique appliquée", "xpack.securitySolution.endpointResponseActions.actionSubmitter.apiErrorDetails": "L'erreur suivante a été rencontrée :", "xpack.securitySolution.endpointResponseActions.executeAction.successTitle": "L'exécution de la commande a réussi.", "xpack.securitySolution.endpointResponseActions.getFileAction.successTitle": "Fichier récupéré à partir de l'hôte.", @@ -36831,7 +36826,6 @@ "xpack.securitySolution.osquery.action.permissionDenied": "Autorisation refusée", "xpack.securitySolution.osquery.action.shortEmptyTitle": "Osquery n’est pas disponible.", "xpack.securitySolution.osquery.action.unavailable": "L’intégration Osquery Manager n'a pas été ajoutée à la politique d'agent. Pour exécuter des requêtes sur l'hôte, ajoutez l'intégration Osquery Manager à la politique d'agent dans Fleet.", - "xpack.securitySolution.outOfDateLabel": "Obsolète", "xpack.securitySolution.overview.auditBeatAuditTitle": "Audit", "xpack.securitySolution.overview.auditBeatFimTitle": "File Integrity Module", "xpack.securitySolution.overview.auditBeatLoginTitle": "Connexion", diff --git a/x-pack/plugins/translations/translations/ja-JP.json b/x-pack/plugins/translations/translations/ja-JP.json index 48eee058b1aeb..2ab0ac7cadf62 100644 --- a/x-pack/plugins/translations/translations/ja-JP.json +++ b/x-pack/plugins/translations/translations/ja-JP.json @@ -32617,7 +32617,6 @@ "xpack.securitySolution.enableRiskScore.enableRiskScoreDescription": "この機能を有効化すると、このセクションで{riskEntity}リスクスコアにすばやくアクセスできます。モジュールを有効化した後、データの生成までに1時間かかる場合があります。", "xpack.securitySolution.enableRiskScore.upgradeRiskScore": "{riskEntity}リスクスコアをアップグレード", "xpack.securitySolution.endpoint.actions.unsupported.message": "現在のバージョンの{agentType}エージェントは、{command}をサポートしていません。この応答アクションを有効化するには、Fleet経由でElasticエージェントを最新バージョンにアップグレードしてください。", - "xpack.securitySolution.endpoint.details.policy.revisionNumber": "rev. {revNumber}", "xpack.securitySolution.endpoint.details.policyStatusValue": "{policyStatus, select, success {成功} warning {警告} failure {失敗} other {不明}}", "xpack.securitySolution.endpoint.fleetCustomExtension.artifactsSummaryError": "アーティファクト統計情報の取得中にエラーが発生しました:\"{error}\"", "xpack.securitySolution.endpoint.fleetCustomExtension.blocklistsSummary.error": "ブロックリスト統計情報の取得中にエラーが発生しました:\"{error}\"", @@ -32637,7 +32636,6 @@ "xpack.securitySolution.endpoint.hostIsolation.unisolate.successfulMessage": "ホスト{hostName}でのリリースは正常に送信されました", "xpack.securitySolution.endpoint.hostIsolation.unIsolateThisHost": "現在{hostName}は{isolated}です。このホストを{unisolate}しますか?", "xpack.securitySolution.endpoint.list.hostStatusValue": "{hostStatus, select, healthy {正常} unhealthy {異常} updating {更新中} offline {オフライン} inactive {無効} unenrolled {登録解除済み} other {異常}}", - "xpack.securitySolution.endpoint.list.policy.revisionNumber": "rev. {revNumber}", "xpack.securitySolution.endpoint.list.totalCount": "{totalItemCount, plural, other {# 個のエンドポイント}}を表示しています", "xpack.securitySolution.endpoint.list.totalCount.limited": "{totalItemCount, plural, other {# 個のエンドポイント}}の{limit}を表示しています", "xpack.securitySolution.endpoint.list.transformFailed.message": "現在、必須の変換{transformId}が失敗しています。通常、これは{transformsPage}で修正できます。ヘルプについては、{docsPage}をご覧ください", @@ -32707,7 +32705,6 @@ "xpack.securitySolution.endpoint.resolver.panel.relatedEventList.countByCategory": "{count} {category}", "xpack.securitySolution.endpoint.resolver.panel.relatedEventList.numberOfEvents": "{totalCount}件のイベント", "xpack.securitySolution.endpoint.resolver.relatedEventLimitTitle": "このリストには、{numberOfEntries} 件のプロセスイベントが含まれています。", - "xpack.securitySolution.endpointPolicyStatus.revisionNumber": "rev. {revNumber}", "xpack.securitySolution.endpointResponseActions.actionError.errorMessage": "次の{ errorCount, plural, other {件のエラー}}が発生しました:", "xpack.securitySolution.enrichment.noInvestigationEnrichment": "選択した期間内に追加の脅威情報が見つかりませんでした。別の時間枠、または{link}を試して、脅威の検出と照合のための脅威インテリジェンスを収集します。", "xpack.securitySolution.entityAnalytics.anomalies.moduleNotCompatibleTitle": "{incompatibleJobCount} {incompatibleJobCount, plural, other {件のジョブ}}が現在使用できません", @@ -35588,7 +35585,6 @@ "xpack.securitySolution.endpoint.policyList.onboardingSectionTwo.fromEndpointPage": "このページでは、Elastic Defendを実行している環境でホストを表示して管理できます。", "xpack.securitySolution.endpoint.policyList.onboardingSectionTwo.fromPolicyPage": "このページでは、Elastic Defendを実行している環境で、Elastic Defend統合ポリシーを表示して管理できます。", "xpack.securitySolution.endpoint.policyList.onboardingTitle": "Elastic Defendをはじめよう", - "xpack.securitySolution.endpoint.policyNotFound": "ポリシーが見つかりません。", "xpack.securitySolution.endpoint.policyResponse.backLinkTitle": "エンドポイント詳細", "xpack.securitySolution.endpoint.policyResponse.title": "ポリシー応答", "xpack.securitySolution.endpoint.protectionUpdates.automaticUpdates.enabled.toggleName": "自動更新を有効化", @@ -35725,7 +35721,6 @@ "xpack.securitySolution.endpointDetails.activityLog.logEntry.response.unisolationSuccessful": "エンドポイントが受信したホストリリースリクエスト", "xpack.securitySolution.endpointDetails.overview": "概要", "xpack.securitySolution.endpointDetails.responseActionsHistory": "対応アクション履歴", - "xpack.securitySolution.endpointPolicyStatus.tooltipTitleLabel": "ポリシーが適用されました", "xpack.securitySolution.endpointResponseActions.actionSubmitter.apiErrorDetails": "次のエラーが発生しました:", "xpack.securitySolution.endpointResponseActions.executeAction.successTitle": "コマンド実行が成功しました。", "xpack.securitySolution.endpointResponseActions.getFileAction.successTitle": "ファイルがホストから取得されました。", @@ -36806,7 +36801,6 @@ "xpack.securitySolution.osquery.action.permissionDenied": "パーミッションが拒否されました", "xpack.securitySolution.osquery.action.shortEmptyTitle": "Osqueryが使用できません", "xpack.securitySolution.osquery.action.unavailable": "Osqueryマネージャー統合がエージェントポリシーに追加されていません。ホストでクエリを実行するには、FleetでOsqueryマネージャー統合をエージェントポリシーに追加してください。", - "xpack.securitySolution.outOfDateLabel": "最新ではありません", "xpack.securitySolution.overview.auditBeatAuditTitle": "監査", "xpack.securitySolution.overview.auditBeatFimTitle": "File Integrityモジュール", "xpack.securitySolution.overview.auditBeatLoginTitle": "ログイン", diff --git a/x-pack/plugins/translations/translations/zh-CN.json b/x-pack/plugins/translations/translations/zh-CN.json index f372694d38107..b2dd87a058945 100644 --- a/x-pack/plugins/translations/translations/zh-CN.json +++ b/x-pack/plugins/translations/translations/zh-CN.json @@ -32660,7 +32660,6 @@ "xpack.securitySolution.enableRiskScore.enableRiskScoreDescription": "一旦启用此功能,您将可以在此部分快速访问{riskEntity}风险分数。启用此模板后,可能需要一小时才能生成数据。", "xpack.securitySolution.enableRiskScore.upgradeRiskScore": "升级{riskEntity}风险分数", "xpack.securitySolution.endpoint.actions.unsupported.message": "当前版本的 {agentType} 代理不支持 {command}。通过 Fleet 将您的 Elastic 代理升级到最新版本以启用此响应操作。", - "xpack.securitySolution.endpoint.details.policy.revisionNumber": "修订版 {revNumber}", "xpack.securitySolution.endpoint.details.policyStatusValue": "{policyStatus, select, success {成功} warning {警告} failure {失败} other {未知}}", "xpack.securitySolution.endpoint.fleetCustomExtension.artifactsSummaryError": "尝试提取项目统计时出错:“{error}”", "xpack.securitySolution.endpoint.fleetCustomExtension.blocklistsSummary.error": "尝试提取阻止列表统计时出错:“{error}”", @@ -32680,7 +32679,6 @@ "xpack.securitySolution.endpoint.hostIsolation.unisolate.successfulMessage": "已成功提交主机 {hostName} 的释放", "xpack.securitySolution.endpoint.hostIsolation.unIsolateThisHost": "{hostName} 当前{isolated}。是否确定要{unisolate}此主机?", "xpack.securitySolution.endpoint.list.hostStatusValue": "{hostStatus, select, healthy {运行正常} unhealthy {运行不正常} updating {正在更新} offline {脱机} inactive {非活动} unenrolled {未注册} other {运行不正常}}", - "xpack.securitySolution.endpoint.list.policy.revisionNumber": "修订版 {revNumber}", "xpack.securitySolution.endpoint.list.totalCount": "正在显示 {totalItemCount, plural, other {# 个终端}}", "xpack.securitySolution.endpoint.list.totalCount.limited": "正在显示 {totalItemCount, plural, other {# 个终端}}中的 {limit} 个", "xpack.securitySolution.endpoint.list.transformFailed.message": "所需的转换 {transformId} 当前失败。多数时候,这可以通过 {transformsPage} 解决。要获取更多帮助,请访问{docsPage}", @@ -32751,7 +32749,6 @@ "xpack.securitySolution.endpoint.resolver.panel.relatedEventList.countByCategory": "{count} 个{category}", "xpack.securitySolution.endpoint.resolver.panel.relatedEventList.numberOfEvents": "{totalCount} 个事件", "xpack.securitySolution.endpoint.resolver.relatedEventLimitTitle": "此列表包括 {numberOfEntries} 个进程事件。", - "xpack.securitySolution.endpointPolicyStatus.revisionNumber": "修订版 {revNumber}", "xpack.securitySolution.endpointResponseActions.actionError.errorMessage": "遇到以下{ errorCount, plural, other {错误}}:", "xpack.securitySolution.enrichment.noInvestigationEnrichment": "在选定时间范围内未发现其他威胁情报。请尝试不同时间范围,或 {link} 以收集威胁情报用于威胁检测和匹配。", "xpack.securitySolution.entityAnalytics.anomalies.moduleNotCompatibleTitle": "{incompatibleJobCount} 个{incompatibleJobCount, plural, other {作业}}当前不可用", @@ -35631,7 +35628,6 @@ "xpack.securitySolution.endpoint.policyList.onboardingSectionTwo.fromEndpointPage": "从此页面,您将能够查看和管理环境中运行 Elastic Defend 的主机。", "xpack.securitySolution.endpoint.policyList.onboardingSectionTwo.fromPolicyPage": "从此页面,您将能够查看和管理运行 Elastic Defend 的环境中的 Elastic Defend 集成策略。", "xpack.securitySolution.endpoint.policyList.onboardingTitle": "开始使用 Elastic Defend", - "xpack.securitySolution.endpoint.policyNotFound": "未找到策略!", "xpack.securitySolution.endpoint.policyResponse.backLinkTitle": "终端详情", "xpack.securitySolution.endpoint.policyResponse.title": "策略响应", "xpack.securitySolution.endpoint.protectionUpdates.automaticUpdates.enabled.toggleName": "启用自动更新", @@ -35768,7 +35764,6 @@ "xpack.securitySolution.endpointDetails.activityLog.logEntry.response.unisolationSuccessful": "终端收到释放主机请求", "xpack.securitySolution.endpointDetails.overview": "概览", "xpack.securitySolution.endpointDetails.responseActionsHistory": "响应操作历史记录", - "xpack.securitySolution.endpointPolicyStatus.tooltipTitleLabel": "已应用策略", "xpack.securitySolution.endpointResponseActions.actionSubmitter.apiErrorDetails": "遇到以下错误:", "xpack.securitySolution.endpointResponseActions.executeAction.successTitle": "命令执行成功。", "xpack.securitySolution.endpointResponseActions.getFileAction.successTitle": "已从主机检索文件。", @@ -36849,7 +36844,6 @@ "xpack.securitySolution.osquery.action.permissionDenied": "权限被拒绝", "xpack.securitySolution.osquery.action.shortEmptyTitle": "Osquery 不可用", "xpack.securitySolution.osquery.action.unavailable": "Osquery 管理器集成未添加到代理策略。要在此主机上运行查询,请在 Fleet 中将 Osquery 管理器集成添加到代理策略。", - "xpack.securitySolution.outOfDateLabel": "过时", "xpack.securitySolution.overview.auditBeatAuditTitle": "审计", "xpack.securitySolution.overview.auditBeatFimTitle": "文件完整性模块", "xpack.securitySolution.overview.auditBeatLoginTitle": "登录", From 04d6c1d3d735cde74b9d3bc21ad208a800f44260 Mon Sep 17 00:00:00 2001 From: Cee Chen <549407+cee-chen@users.noreply.github.com> Date: Fri, 21 Jun 2024 09:10:58 -0700 Subject: [PATCH 32/80] Upgrade EUI to v95.1.0 (#186324) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `v95.0.0-backport.0` ⏩ `v95.1.0-backport.0` This PR primarily concerns converting multiple common/building block form control components to Emotion (text, number, and search fields). This means that custom CSS or direct `className` usage of these form controls **should be manually QA'd** to ensure they still look the same before visually, with no regressions. _[Questions? Please see our Kibana upgrade FAQ.](https://github.com/elastic/eui/blob/main/wiki/eui-team-processes/upgrading-kibana.md#faq-for-kibana-teams)_ --- ## [`v95.1.0`](https://github.com/elastic/eui/releases/v95.1.0) - Updated `EuiFormControlLayout` to automatically pass icon padding affordance down to child `input`s ([#7799](https://github.com/elastic/eui/pull/7799)) **Bug fixes** - Fixed broken focus/invalid styling on compressed `EuiDatePickerRange`s ([#7770](https://github.com/elastic/eui/pull/7770)) **CSS-in-JS conversions** - Converted `EuiFieldText` to Emotion ([#7770](https://github.com/elastic/eui/pull/7770)) - Updated the autofill colors of Chrome (and other webkit browsers) to better match EUI's light and dark mode ([#7776](https://github.com/elastic/eui/pull/7776)) - Converted `EuiFieldNumber` to Emotion ([#7802](https://github.com/elastic/eui/pull/7802)) - Converted `EuiFieldSearch` to Emotion ([#7802](https://github.com/elastic/eui/pull/7802)) - Converted `EuiFieldPassword` to Emotion ([#7802](https://github.com/elastic/eui/pull/7802)) - Converted `EuiTextArea` to Emotion ([#7812](https://github.com/elastic/eui/pull/7812)) - Converted `EuiSelect` to Emotion ([#7812](https://github.com/elastic/eui/pull/7812)) - Converted `EuiSuperSelect` to Emotion ([#7812](https://github.com/elastic/eui/pull/7812)) ## [`v95.1.0-backport.0`](https://github.com/elastic/eui/releases/v95.1.0-backport.0) **This is a backport release only intended for use by Kibana.** - Updated `EuiSteps` to support a new `titleSize="xxs"` style, which outputs the same title font size but smaller unnumbered step indicators ([#7813](https://github.com/elastic/eui/pull/7813)) - Updated `EuiStepsHorizontal` to support a new `size="xs"` style, which outputs smaller unnumbered step indicators ([#7813](https://github.com/elastic/eui/pull/7813)) - Updated `EuiStepNumber` to support new `titleSize="none"` which omits rendering step numbers, and will only render icons ([#7813](https://github.com/elastic/eui/pull/7813)) --- package.json | 2 +- .../assets/legacy_dark_theme.css | 6 +- .../assets/legacy_dark_theme.min.css | 2 +- .../assets/legacy_light_theme.css | 6 +- .../assets/legacy_light_theme.min.css | 2 +- .../__snapshots__/cron_editor.test.tsx.snap | 14646 ++++------------ .../cron_editor/cron_editor.test.tsx | 2 +- .../__snapshots__/index.test.tsx.snap | 6 + .../__snapshots__/list_header.test.tsx.snap | 6 +- .../__snapshots__/edit_modal.test.tsx.snap | 6 +- src/dev/license_checker/config.ts | 2 +- .../url/__snapshots__/url.test.tsx.snap | 7 +- .../__snapshots__/cron_editor.test.tsx.snap | 57 +- .../public/components/controls/size.test.tsx | 4 +- .../__snapshots__/settings.test.tsx.snap | 2 +- .../credential_item/credential_item.test.tsx | 3 +- .../source_config_fields.test.tsx | 6 +- .../__jest__/policy_table.test.tsx | 4 +- .../__jest__/components/index_table.test.js | 2 +- .../ingest_pipelines_list.test.ts | 2 +- .../__snapshots__/cert_search.test.tsx.snap | 3 +- .../summarization_model.tsx | 2 +- .../public/components/token_field.tsx | 6 +- .../sourcerer/components/index.test.tsx | 2 +- .../timeline/search_super_select/index.tsx | 39 +- .../action_notify_when.tsx | 3 +- .../action_type_form.test.tsx | 29 +- .../helpers/watch_list_page.helpers.ts | 2 +- .../cypress/screens/integrations.ts | 2 +- yarn.lock | 8 +- 30 files changed, 3610 insertions(+), 11259 deletions(-) diff --git a/package.json b/package.json index ca627a150f9b1..e800bdf76effb 100644 --- a/package.json +++ b/package.json @@ -109,7 +109,7 @@ "@elastic/ecs": "^8.11.1", "@elastic/elasticsearch": "^8.13.1", "@elastic/ems-client": "8.5.1", - "@elastic/eui": "95.0.0-backport.0", + "@elastic/eui": "95.1.0-backport.0", "@elastic/filesaver": "1.1.2", "@elastic/node-crypto": "1.2.1", "@elastic/numeral": "^2.5.1", diff --git a/packages/core/apps/core-apps-server-internal/assets/legacy_dark_theme.css b/packages/core/apps/core-apps-server-internal/assets/legacy_dark_theme.css index f5891b361bc43..3c790ec67216e 100644 --- a/packages/core/apps/core-apps-server-internal/assets/legacy_dark_theme.css +++ b/packages/core/apps/core-apps-server-internal/assets/legacy_dark_theme.css @@ -4324,14 +4324,12 @@ table .info a, .table-bordered > tfoot > tr > td { border: 1px solid #343741; } -.form-control, -input { +.form-control { border-width: 1px; -webkit-box-shadow: none; box-shadow: none; } -.form-control:focus, -input:focus { +.form-control:focus { -webkit-box-shadow: none; box-shadow: none; } diff --git a/packages/core/apps/core-apps-server-internal/assets/legacy_dark_theme.min.css b/packages/core/apps/core-apps-server-internal/assets/legacy_dark_theme.min.css index 052b0ee255004..eeb82303abd08 100644 --- a/packages/core/apps/core-apps-server-internal/assets/legacy_dark_theme.min.css +++ b/packages/core/apps/core-apps-server-internal/assets/legacy_dark_theme.min.css @@ -2,4 +2,4 @@ * Bootstrap v3.3.6 (http://getbootstrap.com) * Copyright 2011-2015 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - */.container{margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px}.row{margin-left:-15px;margin-right:-15px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{min-height:1px;padding-left:15px;padding-right:15px;position:relative}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}.table{font-size:14px;margin-bottom:20px;max-width:100%;width:100%}.table thead{font-size:12px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{border-top:1px solid #343741;line-height:1.42857143;padding:8px;vertical-align:top}.table>thead>tr>th{border-bottom:1px solid #343741;vertical-align:bottom}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #343741}.table .table{background-color:#1d1e24}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{font-size:12px;padding:5px}.table-bordered{border:1px solid #343741}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-hover>tbody>tr:hover,.table-striped>tbody>tr:nth-of-type(odd){background-color:#343741}table col[class*=col-]{display:table-column;float:none;position:static}table td[class*=col-],table th[class*=col-]{display:table-cell;float:none;position:static}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#343741}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#292b33}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#7de2d1}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#68ddca}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#1ba9f5}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#0a9dec}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#ff977a}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#ff8361}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f66}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ff4c4c}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #343741;margin-bottom:15px;overflow-y:hidden;width:100%}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}.form-control{background-color:#1a1a20;background-image:none;border:1px solid #343741;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);color:#f5f7fa;display:block;font-size:14px;height:32px;line-height:1.42857143;padding:5px 15px;-webkit-transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;-o-transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:100%}.form-control:focus{border-color:#1ba9f5;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px #1ba9f599;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px #1ba9f599;outline:0}.form-control::-moz-placeholder{color:#535966;opacity:1}.form-control:-ms-input-placeholder{color:#535966}.form-control::-webkit-input-placeholder{color:#535966}.form-control::-ms-expand{background-color:initial;border:0}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#343741;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}.form-group:not(:empty){margin-bottom:15px}.checkbox,.radio{display:block;margin-bottom:10px;margin-top:10px;position:relative}.checkbox label,.radio label{cursor:pointer;font-weight:400;margin-bottom:0;min-height:20px;padding-left:20px}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{margin-left:-20px;margin-top:4px\9;position:absolute}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{cursor:pointer;display:inline-block;font-weight:400;margin-bottom:0;padding-left:20px;position:relative;vertical-align:middle}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-left:10px;margin-top:0}.checkbox-inline.disabled,.checkbox.disabled label,.radio-inline.disabled,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio label,fieldset[disabled] .radio-inline{cursor:not-allowed}.form-control-static{margin-bottom:0;min-height:34px;padding-bottom:6px;padding-top:6px}.form-control-static.input-lg,.form-control-static.input-sm{padding-left:0;padding-right:0}.input-sm{border-radius:4px;font-size:12px;height:32px;line-height:1.5;padding:6px 9px}select.input-sm{height:32px;line-height:32px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{border-radius:4px;font-size:12px;height:32px;line-height:1.5;padding:6px 9px}.form-group-sm select.form-control{height:32px;line-height:32px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{font-size:12px;height:32px;line-height:1.5;min-height:32px;padding:7px 9px}.input-lg{border-radius:4px;font-size:18px;height:62px;line-height:1.3333333;padding:18px 27px}select.input-lg{height:62px;line-height:62px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{border-radius:4px;font-size:18px;height:62px;line-height:1.3333333;padding:18px 27px}.form-group-lg select.form-control{height:62px;line-height:62px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{font-size:18px;height:62px;line-height:1.3333333;min-height:38px;padding:19px 27px}.has-feedback{position:relative}.has-feedback .form-control{padding-right:40px}.form-control-feedback{display:block;height:32px;line-height:32px;pointer-events:none;position:absolute;right:0;text-align:center;top:0;width:32px;z-index:2}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{height:62px;line-height:62px;width:62px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-sm+.form-control-feedback{height:32px;line-height:32px;width:32px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#1d1e24}.has-success .form-control{border-color:#1d1e24;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#060608;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #4b4d5c;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #4b4d5c}.has-success .input-group-addon{background-color:#7de2d1;border-color:#1d1e24;color:#1d1e24}.has-success .form-control-feedback,.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#1d1e24}.has-warning .form-control{border-color:#1d1e24;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#060608;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #4b4d5c;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #4b4d5c}.has-warning .input-group-addon{background-color:#ff977a;border-color:#1d1e24;color:#1d1e24}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label,.has-warning .form-control-feedback{color:#1d1e24}.has-error .form-control{border-color:#1d1e24;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#060608;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #4b4d5c;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #4b4d5c}.has-error .input-group-addon{background-color:#f66;border-color:#1d1e24;color:#1d1e24}.has-error .form-control-feedback{color:#1d1e24}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{color:#fff;display:block;margin-bottom:10px;margin-top:5px}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;vertical-align:middle;width:auto}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-bottom:0;margin-top:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{margin-left:0;position:relative}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{margin-bottom:0;margin-top:0;padding-top:6px}.form-horizontal .checkbox,.form-horizontal .radio{min-height:26px}.form-horizontal .form-group{margin-left:-15px;margin-right:-15px}@media (min-width:768px){.form-horizontal .control-label{margin-bottom:0;padding-top:6px;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{font-size:18px;padding-top:19px}.form-horizontal .form-group-sm .control-label{font-size:12px;padding-top:7px}}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-muted{color:#3e434d}.text-primary{color:#f5f7fa}a.text-primary:focus,a.text-primary:hover{color:#d3dce9}.text-success{color:#1d1e24}a.text-success:focus,a.text-success:hover{color:#060608}.text-info{color:#1d1e24}a.text-info:focus,a.text-info:hover{color:#060608}.text-warning{color:#1d1e24}a.text-warning:focus,a.text-warning:hover{color:#060608}.text-danger{color:#1d1e24}a.text-danger:focus,a.text-danger:hover{color:#060608}.bg-info{background-color:#1ba9f5}a.bg-info:focus,a.bg-info:hover{background-color:#098dd4}.list-unstyled{list-style:none;padding-left:0}@media (min-width:0){.dl-horizontal dt{clear:left;float:left;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap;width:160px}.dl-horizontal dd{margin-left:180px}}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{height:0;overflow:hidden;position:relative;-webkit-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;transition-property:height,visibility;-webkit-transition-timing-function:ease;transition-timing-function:ease}.btn{background-image:none;border:1px solid #0000;border-radius:4px;cursor:pointer;display:inline-block;font-size:14px;font-weight:400;line-height:1.42857143;margin-bottom:0;padding:5px 15px;text-align:center;touch-action:manipulation;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{box-shadow:0 0 0 1px #fff,0 0 0 2px #0079a5}.btn.focus,.btn:focus,.btn:hover{color:#1d1e24;text-decoration:none}.btn.active,.btn:active{background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125);outline:0}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{-webkit-box-shadow:none;box-shadow:none;cursor:not-allowed;filter:alpha(opacity=65);opacity:.65}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{background-color:#1ba9f5;border-color:#1ba9f5;color:#1d1e24}.btn-default.focus,.btn-default:focus{background-color:#098dd4;border-color:#065c8a;color:#1d1e24}.btn-default.active,.btn-default:active,.btn-default:hover,.open>.dropdown-toggle.btn-default{background-color:#098dd4;border-color:#0987ca;color:#1d1e24}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{background-color:#0876b2;border-color:#065c8a;color:#1d1e24}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#1ba9f5;border-color:#1ba9f5}.btn-default .badge{background-color:#1d1e24;color:#1ba9f5}.btn-primary{background-color:#1ba9f5;border-color:#1ba9f5;color:#1d1e24}.btn-primary.focus,.btn-primary:focus{background-color:#098dd4;border-color:#065c8a;color:#1d1e24}.btn-primary.active,.btn-primary:active,.btn-primary:hover,.open>.dropdown-toggle.btn-primary{background-color:#098dd4;border-color:#0987ca;color:#1d1e24}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{background-color:#0876b2;border-color:#065c8a;color:#1d1e24}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#1ba9f5;border-color:#1ba9f5}.btn-primary .badge{background-color:#1d1e24;color:#1ba9f5}.btn-xs{border-radius:4px;font-size:12px;line-height:1.5;padding:1px 5px}.navbar{border:1px solid #0000;margin-bottom:0;min-height:45px;position:relative}@media (min-width:0){.navbar{border-radius:4px}.navbar-header{float:left}}.navbar-collapse{-webkit-overflow-scrolling:touch;border-top:1px solid #0000;box-shadow:inset 0 1px 0 #ffffff1a;overflow-x:visible;padding-left:10px;padding-right:10px}.navbar-collapse.in{overflow-y:auto}@media (min-width:0){.navbar-collapse{border-top:0;box-shadow:none;width:auto}.navbar-collapse.collapse{display:block!important;height:auto!important;overflow:visible!important;padding-bottom:0}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{padding-left:0;padding-right:0}}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-left:-10px;margin-right:-10px}@media (min-width:0){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-left:0;margin-right:0}}.navbar-fixed-bottom,.navbar-fixed-top{left:0;position:fixed;right:0;z-index:1050}@media (min-width:0){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{border-width:0 0 1px;top:0}.navbar-fixed-bottom{border-width:1px 0 0;bottom:0;margin-bottom:0}.navbar-brand{float:left;font-size:18px;height:45px;line-height:20px;padding:12.5px 10px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:0){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-10px}}.navbar-toggle{background-color:initial;background-image:none;border:1px solid #0000;border-radius:4px;float:right;margin-bottom:5.5px;margin-right:10px;margin-top:5.5px;padding:9px 10px;position:relative}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{border-radius:1px;display:block;height:2px;width:22px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:0){.navbar-toggle{display:none}}.navbar-nav{margin:6.25px -10px}.navbar-nav>li>a{line-height:20px;padding-bottom:10px;padding-top:10px}@media (max-width:-1){.navbar-nav .open .dropdown-menu{background-color:initial;border:0;box-shadow:none;float:none;margin-top:0;position:static;width:auto}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:0){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-bottom:12.5px;padding-top:12.5px}}.navbar-form{border-bottom:1px solid #0000;border-top:1px solid #0000;-webkit-box-shadow:inset 0 1px 0 #ffffff1a,0 1px 0 #ffffff1a;box-shadow:inset 0 1px 0 #ffffff1a,0 1px 0 #ffffff1a;margin:6.5px -10px;padding:10px}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;vertical-align:middle;width:auto}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-bottom:0;margin-top:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{margin-left:0;position:relative}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:-1){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:0){.navbar-form{border:0;-webkit-box-shadow:none;box-shadow:none;margin-left:0;margin-right:0;padding-bottom:0;padding-top:0;width:auto}}.navbar-nav>li>.dropdown-menu{border-top-left-radius:0;border-top-right-radius:0;margin-top:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-left-radius:4px;border-top-right-radius:4px;margin-bottom:0}.navbar-text{margin-bottom:12.5px;margin-top:12.5px}@media (min-width:0){.navbar-text{float:left;margin-left:10px;margin-right:10px}.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-10px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#000;border-color:#0000}.navbar-default .navbar-brand{color:#d4dae5}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{background-color:initial;color:#d4dae5}.navbar-default .navbar-nav>li>a,.navbar-default .navbar-text{color:#d4dae5}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{background-color:initial;color:#d4dae5}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{background-color:initial;color:#f5f7fa}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{background-color:initial;color:#d4dae5}.navbar-default .navbar-toggle{border-color:#000}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#000}.navbar-default .navbar-toggle .icon-bar{background-color:#1d1e24}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#0000}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{background-color:initial;color:#f5f7fa}@media (max-width:-1){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#d4dae5}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{background-color:initial;color:#d4dae5}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{background-color:initial;color:#f5f7fa}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{background-color:initial;color:#d4dae5}}.navbar-default .navbar-link,.navbar-default .navbar-link:hover{color:#d4dae5}.navbar-inverse{background-color:#f5f7fa;border-color:#d3dce9}.navbar-inverse .navbar-brand{color:#1d1e24}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{background-color:#fff;color:#1d1e24}.navbar-inverse .navbar-text{color:#1d1e24}.navbar-inverse .navbar-nav>li>a{color:#343741}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{background-color:#fff;color:#1d1e24}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{background-color:#d4dae5;color:#1d1e24}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{background-color:initial;color:#3e434d}.navbar-inverse .navbar-toggle{border-color:#d3dce9}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#d3dce9}.navbar-inverse .navbar-toggle .icon-bar{background-color:#1d1e24}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#dde4ee}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{background-color:#d4dae5;color:#1d1e24}@media (max-width:-1){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#d3dce9}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#d3dce9}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#343741}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{background-color:#fff;color:#1d1e24}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{background-color:#d4dae5;color:#1d1e24}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{background-color:initial;color:#3e434d}}.navbar-inverse .navbar-link{color:#343741}.navbar-inverse .navbar-link:hover{color:#1d1e24}.close{color:#fff;filter:alpha(opacity=20);float:right;font-size:21px;font-weight:700;line-height:1;opacity:.2;text-shadow:none}.close:focus,.close:hover{color:#fff;cursor:pointer;filter:alpha(opacity=50);opacity:.5;text-decoration:none}button.close{-webkit-appearance:none;background:#0000;border:0;cursor:pointer;padding:0}.modal,.modal-open{overflow:hidden}.modal{-webkit-overflow-scrolling:touch;bottom:0;display:none;left:0;outline:0;position:fixed;right:0;top:0;z-index:1070}.modal.fade .modal-dialog{-webkit-transform:translateY(-25%);-ms-transform:translateY(-25%);-o-transform:translateY(-25%);transform:translateY(-25%);-webkit-transition:-webkit-transform .3s ease-out;-moz-transition:-moz-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0);-ms-transform:translate(0);-o-transform:translate(0);transform:translate(0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{margin:10px;position:relative;width:auto}.modal-content{background-clip:padding-box;background-color:#1d1e24;border:1px solid #0003;border-radius:4px;-webkit-box-shadow:0 3px 9px #00000080;box-shadow:0 3px 9px #00000080;outline:0;position:relative}.modal-backdrop{background-color:#fff;bottom:0;left:0;position:fixed;right:0;top:0;z-index:1060}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{border-bottom:1px solid #e5e5e5;padding:15px}.modal-header .close{margin-top:-2px}.modal-title{line-height:1.42857143;margin:0}.modal-body{padding:15px;position:relative}.modal-footer{border-top:1px solid #e5e5e5;padding:15px;text-align:right}.modal-scrollbar-measure{height:50px;overflow:scroll;position:absolute;top:-9999px;width:50px}@media (min-width:768px){.modal-dialog{margin:30px auto;width:600px}.modal-content{-webkit-box-shadow:0 5px 15px #00000080;box-shadow:0 5px 15px #00000080}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}@-webkit-keyframes progress-bar-stripes{0%{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{0%{background-position:40px 0}to{background-position:0 0}}.progress{background-color:#2d3039;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px #0000001a;box-shadow:inset 0 1px 2px #0000001a;height:20px;margin-bottom:20px;overflow:hidden}.progress-bar{background-color:#54b399;color:#1d1e24;float:left;font-size:12px;height:100%;line-height:20px;text-align:center;-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease;width:0}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,#ffffff26 25%,#0000 0,#0000 50%,#ffffff26 0,#ffffff26 75%,#0000 0,#0000);background-image:-o-linear-gradient(45deg,#ffffff26 25%,#0000 25%,#0000 50%,#ffffff26 50%,#ffffff26 75%,#0000 75%,#0000);background-image:linear-gradient(45deg,#ffffff26 25%,#0000 0,#0000 50%,#ffffff26 0,#ffffff26 75%,#0000 0,#0000);background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#7de2d1}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,#ffffff26 25%,#0000 0,#0000 50%,#ffffff26 0,#ffffff26 75%,#0000 0,#0000);background-image:-o-linear-gradient(45deg,#ffffff26 25%,#0000 25%,#0000 50%,#ffffff26 50%,#ffffff26 75%,#0000 75%,#0000);background-image:linear-gradient(45deg,#ffffff26 25%,#0000 0,#0000 50%,#ffffff26 0,#ffffff26 75%,#0000 0,#0000)}.progress-bar-info{background-color:#1ba9f5}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,#ffffff26 25%,#0000 0,#0000 50%,#ffffff26 0,#ffffff26 75%,#0000 0,#0000);background-image:-o-linear-gradient(45deg,#ffffff26 25%,#0000 25%,#0000 50%,#ffffff26 50%,#ffffff26 75%,#0000 75%,#0000);background-image:linear-gradient(45deg,#ffffff26 25%,#0000 0,#0000 50%,#ffffff26 0,#ffffff26 75%,#0000 0,#0000)}.progress-bar-warning{background-color:#ff977a}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,#ffffff26 25%,#0000 0,#0000 50%,#ffffff26 0,#ffffff26 75%,#0000 0,#0000);background-image:-o-linear-gradient(45deg,#ffffff26 25%,#0000 25%,#0000 50%,#ffffff26 50%,#ffffff26 75%,#0000 75%,#0000);background-image:linear-gradient(45deg,#ffffff26 25%,#0000 0,#0000 50%,#ffffff26 0,#ffffff26 75%,#0000 0,#0000)}.progress-bar-danger{background-color:#f66}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,#ffffff26 25%,#0000 0,#0000 50%,#ffffff26 0,#ffffff26 75%,#0000 0,#0000);background-image:-o-linear-gradient(45deg,#ffffff26 25%,#0000 25%,#0000 50%,#ffffff26 50%,#ffffff26 75%,#0000 75%,#0000);background-image:linear-gradient(45deg,#ffffff26 25%,#0000 0,#0000 50%,#ffffff26 0,#ffffff26 75%,#0000 0,#0000)}.list-group{margin-bottom:20px;padding-left:0}.list-group-item{background-color:#1d1e24;border:1px solid #343741;display:block;margin-bottom:-1px;padding:10px 15px;position:relative}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;margin-bottom:0}.list-group-item--noBorder{border-top:0}a.list-group-item,button.list-group-item{color:#d4dae5}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#f5f7fa}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{background-color:#25262e;color:#d4dae5;text-decoration:none}button.list-group-item{text-align:left;width:100%}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{background-color:#343741;color:#3e434d;cursor:not-allowed}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#3e434d}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{background-color:#f5f7fa;border-color:#f5f7fa;color:#f5f7fa;z-index:2}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#fff}.list-group-item-success{background-color:#7de2d1;color:#1d1e24}a.list-group-item-success,button.list-group-item-success{color:#1d1e24}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{background-color:#68ddca;color:#1d1e24}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{background-color:#1d1e24;border-color:#1d1e24;color:#fff}.list-group-item-info{background-color:#1ba9f5;color:#1d1e24}a.list-group-item-info,button.list-group-item-info{color:#1d1e24}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{background-color:#0a9dec;color:#1d1e24}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{background-color:#1d1e24;border-color:#1d1e24;color:#fff}.list-group-item-warning{background-color:#ff977a;color:#1d1e24}a.list-group-item-warning,button.list-group-item-warning{color:#1d1e24}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{background-color:#ff8361;color:#1d1e24}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{background-color:#1d1e24;border-color:#1d1e24;color:#fff}.list-group-item-danger{background-color:#f66;color:#1d1e24}a.list-group-item-danger,button.list-group-item-danger{color:#1d1e24}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{background-color:#ff4c4c;color:#1d1e24}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{background-color:#1d1e24;border-color:#1d1e24;color:#fff}.list-group-item-heading{margin-bottom:5px;margin-top:0}.list-group-item-text{line-height:1.3;margin-bottom:0}.nav{list-style:none;margin-bottom:0;padding-left:0}.nav>li,.nav>li>a{display:block;position:relative}.nav>li>a{padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{background-color:#343741;text-decoration:none}.nav>li.disabled>a{color:#3e434d}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{background-color:initial;color:#3e434d;cursor:not-allowed;text-decoration:none}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#343741;border-color:#1ba9f5}.nav .nav-divider{background-color:#e5e5e5;height:1px;margin:9px 0;overflow:hidden}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #343741}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{border:1px solid #0000;border-radius:4px 4px 0 0;line-height:1.42857143;margin-right:2px}.nav-tabs>li>a:hover{background-color:#1d1e24;border-color:#343741}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{background-color:#1d1e24;border:1px solid #343741;border-bottom-color:#0000;color:#f5f7fa;cursor:default}.nav-tabs.nav-justified{border-bottom:0;width:100%}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{left:auto;top:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{border-radius:4px;margin-right:0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #1d1e24}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #1d1e24;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#1d1e24}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{background-color:#1ba9f5;color:#1d1e24}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-left:0;margin-top:2px}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{left:auto;top:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{border-radius:4px;margin-right:0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #1d1e24}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #1d1e24;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#1d1e24}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{border-top-left-radius:0;border-top-right-radius:0;margin-top:-1px}.alert{border:1px solid #0000;border-radius:4px;margin-bottom:20px;padding:15px}.alert h4{color:inherit;margin-top:0}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{color:inherit;position:relative;right:-21px;top:-2px}.alert-success{background-color:#7de2d1;border-color:#53d9c2;color:#1d1e24}.alert-success hr{border-top-color:#3ed4bb}.alert-success .alert-link{color:#060608}.alert-info{background-color:#1ba9f5;border-color:#098dd4;color:#1d1e24}.alert-info hr{border-top-color:#087dbb}.alert-info .alert-link{color:#060608}.alert-warning{background-color:#ff977a;border-color:#ff6f47;color:#1d1e24}.alert-warning hr{border-top-color:#ff5b2e}.alert-warning .alert-link{color:#060608}.alert-danger{background-color:#f66;border-color:#f33;color:#1d1e24}.alert-danger hr{border-top-color:#ff1919}.alert-danger .alert-link{color:#060608}.bsTooltip{word-wrap:normal;display:block;filter:alpha(opacity=0);font-family:Open Sans,Helvetica,Arial,sans-serif;font-size:12px;font-style:normal;font-weight:400;letter-spacing:normal;line-break:auto;line-height:1.42857143;opacity:0;position:absolute;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;z-index:1040}.bsTooltip.in{filter:alpha(opacity=80);opacity:.8}.bsTooltip.top{margin-top:-3px;padding:5px 0}.bsTooltip.right{margin-left:3px;padding:0 5px}.bsTooltip.bottom{margin-top:3px;padding:5px 0}.bsTooltip.left{margin-left:-3px;padding:0 5px}.bsTooltip-inner{background-color:#000;border-radius:4px;color:#fff;max-width:200px;padding:3px 8px;text-align:center}.bsTooltip-arrow{border-color:#0000;border-style:solid;height:0;position:absolute;width:0}.bsTooltip.top .bsTooltip-arrow{border-top-color:#000;border-width:5px 5px 0;bottom:0;left:50%;margin-left:-5px}.bsTooltip.top-left .bsTooltip-arrow{border-top-color:#000;border-width:5px 5px 0;bottom:0;margin-bottom:-5px;right:5px}.bsTooltip.top-right .bsTooltip-arrow{border-top-color:#000;border-width:5px 5px 0;bottom:0;left:5px;margin-bottom:-5px}.bsTooltip.right .bsTooltip-arrow{border-right-color:#000;border-width:5px 5px 5px 0;left:0;margin-top:-5px;top:50%}.bsTooltip.left .bsTooltip-arrow{border-left-color:#000;border-width:5px 0 5px 5px;margin-top:-5px;right:0;top:50%}.bsTooltip.bottom .bsTooltip-arrow{border-bottom-color:#000;border-width:0 5px 5px;left:50%;margin-left:-5px;top:0}.bsTooltip.bottom-left .bsTooltip-arrow{border-bottom-color:#000;border-width:0 5px 5px;margin-top:-5px;right:5px;top:0}.bsTooltip.bottom-right .bsTooltip-arrow{border-bottom-color:#000;border-width:0 5px 5px;left:5px;margin-top:-5px;top:0}.visible-lg,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}.visible-xs-block{display:block!important}.visible-xs-inline{display:inline!important}.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}.visible-sm-block{display:block!important}.visible-sm-inline{display:inline!important}.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}.visible-md-block{display:block!important}.visible-md-inline{display:inline!important}.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}.visible-lg-block{display:block!important}.visible-lg-inline{display:inline!important}.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}.hidden-print{display:none!important}}.caret{border-left:4px solid #0000;border-right:4px solid #0000;border-top:4px dashed;border-top:4px solid\9;display:inline-block;height:0;margin-left:2px;vertical-align:middle;width:0}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{background-clip:padding-box;background-color:#1d1e24;border:1px solid #343741;border-radius:4px;box-shadow:0 4px 8px 0 #0000001a;display:none;float:left;font-size:14px;left:0;list-style:none;margin:2px 0 0;min-width:160px;padding:5px 0;position:absolute;text-align:left;top:100%;z-index:1000}.dropdown-menu.pull-right{left:auto;right:0}.dropdown-menu .divider{background-color:#343741;height:1px;margin:9px 0;overflow:hidden}.dropdown-menu>li>a,.dropdown-menu>li>button{clear:both;color:#ababab;display:block;font-weight:400;line-height:1.42857143;padding:3px 20px;white-space:nowrap}.dropdown-menu>li>button{appearance:none;background:none;border:none;text-align:left;width:100%}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover,.dropdown-menu>li>button:focus,.dropdown-menu>li>button:hover{background-color:#f5f7fa;color:#1d1e24;text-decoration:none}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>button,.dropdown-menu>.active>button:focus,.dropdown-menu>.active>button:hover{background-color:#f5f7fa;color:#1d1e24;outline:0;text-decoration:none}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#535966}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{background-color:initial;background-image:none;cursor:not-allowed;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);text-decoration:none}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{left:auto;right:0}.dropdown-menu-left{left:0;right:auto}.dropdown-header{color:#535966;display:block;font-size:12px;line-height:1.42857143;padding:3px 20px;white-space:nowrap}.dropdown-backdrop{bottom:0;left:0;position:fixed;right:0;top:0;z-index:990}.pull-right>.dropdown-menu{left:auto;right:0}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-bottom:4px dashed;border-bottom:4px solid\9;border-top:0;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{bottom:100%;margin-bottom:2px;top:auto}@media (min-width:0){.navbar-right .dropdown-menu{left:auto;right:0}.navbar-right .dropdown-menu-left{left:0;right:auto}}.input-group{border-collapse:initial;display:table;position:relative}.input-group[class*=col-]{float:none;padding-left:0;padding-right:0}.input-group .form-control{float:left;margin-bottom:0;position:relative;width:100%;z-index:2}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon{border-radius:4px;font-size:18px;height:62px;line-height:1.3333333;padding:18px 27px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon{height:62px;line-height:62px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon{border-radius:4px;font-size:12px;height:32px;line-height:1.5;padding:6px 9px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon{height:32px;line-height:32px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon{height:auto}.input-group .form-control,.input-group-addon{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child){border-radius:0}.input-group-addon{background-color:#343741;border:1px solid #343741;border-radius:4px;color:#f5f7fa;font-size:14px;font-weight:400;line-height:1;padding:5px 15px;text-align:center;vertical-align:middle;white-space:nowrap;width:1%}.input-group-addon.input-sm{border-radius:4px;font-size:12px;padding:6px 9px}.input-group-addon.input-lg{border-radius:4px;font-size:18px;padding:18px 27px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child{border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child{border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.pagination{border-radius:4px;display:inline-block;margin:20px 0;padding-left:0}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{background-color:initial;border:1px solid #0000;color:#1ba9f5;float:left;line-height:1.42857143;margin-left:-1px;padding:5px 15px;position:relative;text-decoration:none}.pagination>li:first-child>a,.pagination>li:first-child>span{border-bottom-left-radius:4px;border-top-left-radius:4px;margin-left:0}.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{background-color:#0000;border-color:#0000;color:#1ba9f5;z-index:2}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{background-color:#0000;border-color:#0000;color:#f5f7fa;cursor:default;z-index:3}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{background-color:#26262600;border-color:#0000;color:#f5f7fa;cursor:not-allowed}.pagination-lg>li>a,.pagination-lg>li>span{font-size:18px;line-height:1.3333333;padding:18px 27px}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.pagination-sm>li>a,.pagination-sm>li>span{font-size:12px;line-height:1.5;padding:6px 9px}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.pager{list-style:none;margin:20px 0;padding-left:0;text-align:center}.pager li{display:inline}.pager li>a,.pager li>span{background-color:initial;border:1px solid #0000;border-radius:0;display:inline-block;padding:5px 14px}.pager li>a:focus,.pager li>a:hover{background-color:#0000;text-decoration:none}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{background-color:initial;color:#1d1e24;cursor:not-allowed}.label{border-radius:.25em;color:#1d1e24;display:inline;font-size:75%;font-weight:700;line-height:1;padding:.2em .6em .3em;text-align:center;vertical-align:initial;white-space:nowrap}a.label:focus,a.label:hover{color:#1d1e24;cursor:pointer;text-decoration:none}.label:empty{display:none}.label-default{background-color:#1ba9f5}.label-default[href]:focus,.label-default[href]:hover{background-color:#098dd4}.label-primary{background-color:#f5f7fa}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#d3dce9}.label-success{background-color:#7de2d1}.label-success[href]:focus,.label-success[href]:hover{background-color:#53d9c2}.label-info{background-color:#1ba9f5}.label-info[href]:focus,.label-info[href]:hover{background-color:#098dd4}.label-warning{background-color:#ff977a}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ff6f47}.label-danger{background-color:#f66}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#f33}.panel{background-color:#1d1e24;border:1px solid #0000;border-radius:4px;-webkit-box-shadow:0 1px 1px #0000000d;box-shadow:0 1px 1px #0000000d;margin-bottom:20px}.panel-body{padding:15px}.panel-heading{border-bottom:1px solid #0000;border-top-left-radius:3px;border-top-right-radius:3px;padding:10px 15px}.panel-heading>.dropdown .dropdown-toggle,.panel-title{color:inherit}.panel-title{font-size:16px;margin-bottom:0;margin-top:0}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{background-color:#25262e;border-bottom-left-radius:3px;border-bottom-right-radius:3px;border-top:1px solid #343741;padding:10px 15px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-radius:0;border-width:1px 0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-left-radius:3px;border-bottom-right-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.list-group+.panel-footer,.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-left:15px;padding-right:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-left-radius:3px;border-bottom-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #343741}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-responsive{border:0;margin-bottom:0}.panel-group{margin-bottom:20px}.panel-group .panel{border-radius:4px;margin-bottom:0}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #343741}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #343741}.panel-default{border-color:#343741}.panel-default>.panel-heading{background-color:#25262e;border-color:#343741;color:#ababab}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#343741}.panel-default>.panel-heading .badge{background-color:#ababab;color:#25262e}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#343741}.panel-primary{border-color:#f5f7fa}.panel-primary>.panel-heading{background-color:#f5f7fa;border-color:#f5f7fa;color:#1d1e24}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#f5f7fa}.panel-primary>.panel-heading .badge{background-color:#1d1e24;color:#f5f7fa}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#f5f7fa}.panel-success{border-color:#53d9c2}.panel-success>.panel-heading{background-color:#7de2d1;border-color:#53d9c2;color:#1d1e24}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#53d9c2}.panel-success>.panel-heading .badge{background-color:#1d1e24;color:#7de2d1}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#53d9c2}.panel-info{border-color:#098dd4}.panel-info>.panel-heading{background-color:#1ba9f5;border-color:#098dd4;color:#1d1e24}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#098dd4}.panel-info>.panel-heading .badge{background-color:#1d1e24;color:#1ba9f5}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#098dd4}.panel-warning{border-color:#ff6f47}.panel-warning>.panel-heading{background-color:#ff977a;border-color:#ff6f47;color:#1d1e24}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ff6f47}.panel-warning>.panel-heading .badge{background-color:#1d1e24;color:#ff977a}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ff6f47}.panel-danger{border-color:#f33}.panel-danger>.panel-heading{background-color:#f66;border-color:#f33;color:#1d1e24}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#f33}.panel-danger>.panel-heading .badge{background-color:#1d1e24;color:#f66}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#f33}.popover{word-wrap:normal;background-clip:padding-box;background-color:#1d1e24;border:1px solid #343741;border-radius:4px;box-shadow:0 4px 8px 0 #0000001a;display:none;font-family:Open Sans,Helvetica,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:400;left:0;letter-spacing:normal;line-break:auto;line-height:1.42857143;max-width:276px;padding:1px;position:absolute;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;top:0;white-space:normal;word-break:normal;word-spacing:normal;z-index:1010}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{background-color:#16171c;border-bottom:1px solid #0b0b0d;border-radius:3px 3px 0 0;font-size:14px;margin:0;padding:8px 14px}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{border-color:#0000;border-style:solid;display:block;height:0;position:absolute;width:0}.popover>.arrow{border-width:11px}.popover>.arrow:after{border-width:10px;content:""}.popover.top>.arrow{border-bottom-width:0;border-top-color:#343741;bottom:-11px;left:50%;margin-left:-11px}.popover.top>.arrow:after{border-bottom-width:0;border-top-color:#1d1e24;bottom:1px;content:" ";margin-left:-10px}.popover.right>.arrow{border-left-width:0;border-right-color:#343741;left:-11px;margin-top:-11px;top:50%}.popover.right>.arrow:after{border-left-width:0;border-right-color:#1d1e24;bottom:-10px;content:" ";left:1px}.popover.bottom>.arrow{border-bottom-color:#343741;border-top-width:0;left:50%;margin-left:-11px;top:-11px}.popover.bottom>.arrow:after{border-bottom-color:#1d1e24;border-top-width:0;content:" ";margin-left:-10px;top:1px}.popover.left>.arrow{border-left-color:#343741;border-right-width:0;margin-top:-11px;right:-11px;top:50%}.popover.left>.arrow:after{border-left-color:#1d1e24;border-right-width:0;bottom:-10px;content:" ";right:1px}.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.modal-header:after,.modal-header:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{content:" ";display:table}.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.modal-header:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{background-color:initial;border:0;color:#0000;font:0/0 a;text-shadow:none}.hidden{display:none!important}.affix{position:fixed}.navbar>.container-fluid>.navbar-form:not(.pull-right):first-child,.navbar>.container-fluid>.navbar-nav:not(.pull-right):first-child{margin-left:-15px;margin-top:4px}.navbar{border-width:0}.navbar-btn-link{border-radius:0;margin:0}@media (max-width:768px){.navbar-btn-link{text-align:left;width:100%}}.navbar-default .badge{background-color:#1d1e24;color:#000}.navbar-inverse .kbnGlobalNav__logoBrand{background-color:#fff;height:45px;width:252px}.navbar-inverse .kbnGlobalNav__smallLogoBrand{background-color:#fff;height:45px;width:45px}.navbar-inverse .badge{background-color:#1d1e24;color:#fff}.navbar-brand{cursor:default;font-size:1.8em;user-select:none}.navbar-nav{font-size:12px}.navbar-nav>.active>a{background-color:initial;border-bottom-color:#ababab}.navbar-toggle{margin-top:4px}.text-primary,.text-primary:hover{color:#f5f7fa}.text-success,.text-success:hover{color:#7de2d1}.text-danger,.text-danger:hover{color:#f66}.text-warning,.text-warning:hover{color:#ff977a}.text-info,.text-info:hover{color:#1ba9f5}.table .danger,.table .danger a,.table .info,.table .info a,.table .success,.table .success a,.table .warning,.table .warning a,table .danger,table .danger a,table .info,table .info a,table .success,table .success a,table .warning,table .warning a{color:#1d1e24}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #343741}.form-control,input{border-width:1px}.form-control,.form-control:focus,input,input:focus{-webkit-box-shadow:none;box-shadow:none}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .form-control-feedback,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline{color:#ff977a}.has-warning .form-control,.has-warning .form-control:focus{border:1px solid #ff977a}.has-warning .input-group-addon{border-color:#ff977a}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .form-control-feedback,.has-error .help-block,.has-error .radio,.has-error .radio-inline{color:#f66}.has-error .form-control,.has-error .form-control:focus{border:1px solid #f66}.has-error .input-group-addon{border-color:#f66}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .form-control-feedback,.has-success .help-block,.has-success .radio,.has-success .radio-inline{color:#7de2d1}.has-success .form-control,.has-success .form-control:focus{border:solid #7de2d1}.has-success .input-group-addon{border-color:#7de2d1}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{border-color:#0000}.pager a,.pager a:hover{color:#1d1e24}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{background-color:#26262600}.panel{border-radius:0;-webkit-box-shadow:0 0 0 #0000;box-shadow:0 0 0 #0000}.progress{-webkit-box-shadow:none;box-shadow:none}.progress .progress-bar{font-size:10px;line-height:10px}.well{-webkit-box-shadow:none;box-shadow:none} \ No newline at end of file + */.container{margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px}.row{margin-left:-15px;margin-right:-15px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{min-height:1px;padding-left:15px;padding-right:15px;position:relative}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}.table{font-size:14px;margin-bottom:20px;max-width:100%;width:100%}.table thead{font-size:12px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{border-top:1px solid #343741;line-height:1.42857143;padding:8px;vertical-align:top}.table>thead>tr>th{border-bottom:1px solid #343741;vertical-align:bottom}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #343741}.table .table{background-color:#1d1e24}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{font-size:12px;padding:5px}.table-bordered{border:1px solid #343741}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-hover>tbody>tr:hover,.table-striped>tbody>tr:nth-of-type(odd){background-color:#343741}table col[class*=col-]{display:table-column;float:none;position:static}table td[class*=col-],table th[class*=col-]{display:table-cell;float:none;position:static}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#343741}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#292b33}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#7de2d1}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#68ddca}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#1ba9f5}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#0a9dec}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#ff977a}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#ff8361}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f66}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ff4c4c}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #343741;margin-bottom:15px;overflow-y:hidden;width:100%}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}.form-control{background-color:#1a1a20;background-image:none;border:1px solid #343741;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);color:#f5f7fa;display:block;font-size:14px;height:32px;line-height:1.42857143;padding:5px 15px;-webkit-transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;-o-transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:100%}.form-control:focus{border-color:#1ba9f5;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px #1ba9f599;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px #1ba9f599;outline:0}.form-control::-moz-placeholder{color:#535966;opacity:1}.form-control:-ms-input-placeholder{color:#535966}.form-control::-webkit-input-placeholder{color:#535966}.form-control::-ms-expand{background-color:initial;border:0}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#343741;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}.form-group:not(:empty){margin-bottom:15px}.checkbox,.radio{display:block;margin-bottom:10px;margin-top:10px;position:relative}.checkbox label,.radio label{cursor:pointer;font-weight:400;margin-bottom:0;min-height:20px;padding-left:20px}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{margin-left:-20px;margin-top:4px\9;position:absolute}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{cursor:pointer;display:inline-block;font-weight:400;margin-bottom:0;padding-left:20px;position:relative;vertical-align:middle}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-left:10px;margin-top:0}.checkbox-inline.disabled,.checkbox.disabled label,.radio-inline.disabled,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio label,fieldset[disabled] .radio-inline{cursor:not-allowed}.form-control-static{margin-bottom:0;min-height:34px;padding-bottom:6px;padding-top:6px}.form-control-static.input-lg,.form-control-static.input-sm{padding-left:0;padding-right:0}.input-sm{border-radius:4px;font-size:12px;height:32px;line-height:1.5;padding:6px 9px}select.input-sm{height:32px;line-height:32px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{border-radius:4px;font-size:12px;height:32px;line-height:1.5;padding:6px 9px}.form-group-sm select.form-control{height:32px;line-height:32px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{font-size:12px;height:32px;line-height:1.5;min-height:32px;padding:7px 9px}.input-lg{border-radius:4px;font-size:18px;height:62px;line-height:1.3333333;padding:18px 27px}select.input-lg{height:62px;line-height:62px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{border-radius:4px;font-size:18px;height:62px;line-height:1.3333333;padding:18px 27px}.form-group-lg select.form-control{height:62px;line-height:62px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{font-size:18px;height:62px;line-height:1.3333333;min-height:38px;padding:19px 27px}.has-feedback{position:relative}.has-feedback .form-control{padding-right:40px}.form-control-feedback{display:block;height:32px;line-height:32px;pointer-events:none;position:absolute;right:0;text-align:center;top:0;width:32px;z-index:2}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{height:62px;line-height:62px;width:62px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-sm+.form-control-feedback{height:32px;line-height:32px;width:32px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#1d1e24}.has-success .form-control{border-color:#1d1e24;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#060608;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #4b4d5c;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #4b4d5c}.has-success .input-group-addon{background-color:#7de2d1;border-color:#1d1e24;color:#1d1e24}.has-success .form-control-feedback,.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#1d1e24}.has-warning .form-control{border-color:#1d1e24;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#060608;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #4b4d5c;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #4b4d5c}.has-warning .input-group-addon{background-color:#ff977a;border-color:#1d1e24;color:#1d1e24}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label,.has-warning .form-control-feedback{color:#1d1e24}.has-error .form-control{border-color:#1d1e24;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#060608;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #4b4d5c;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #4b4d5c}.has-error .input-group-addon{background-color:#f66;border-color:#1d1e24;color:#1d1e24}.has-error .form-control-feedback{color:#1d1e24}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{color:#fff;display:block;margin-bottom:10px;margin-top:5px}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;vertical-align:middle;width:auto}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-bottom:0;margin-top:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{margin-left:0;position:relative}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{margin-bottom:0;margin-top:0;padding-top:6px}.form-horizontal .checkbox,.form-horizontal .radio{min-height:26px}.form-horizontal .form-group{margin-left:-15px;margin-right:-15px}@media (min-width:768px){.form-horizontal .control-label{margin-bottom:0;padding-top:6px;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{font-size:18px;padding-top:19px}.form-horizontal .form-group-sm .control-label{font-size:12px;padding-top:7px}}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-muted{color:#3e434d}.text-primary{color:#f5f7fa}a.text-primary:focus,a.text-primary:hover{color:#d3dce9}.text-success{color:#1d1e24}a.text-success:focus,a.text-success:hover{color:#060608}.text-info{color:#1d1e24}a.text-info:focus,a.text-info:hover{color:#060608}.text-warning{color:#1d1e24}a.text-warning:focus,a.text-warning:hover{color:#060608}.text-danger{color:#1d1e24}a.text-danger:focus,a.text-danger:hover{color:#060608}.bg-info{background-color:#1ba9f5}a.bg-info:focus,a.bg-info:hover{background-color:#098dd4}.list-unstyled{list-style:none;padding-left:0}@media (min-width:0){.dl-horizontal dt{clear:left;float:left;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap;width:160px}.dl-horizontal dd{margin-left:180px}}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{height:0;overflow:hidden;position:relative;-webkit-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;transition-property:height,visibility;-webkit-transition-timing-function:ease;transition-timing-function:ease}.btn{background-image:none;border:1px solid #0000;border-radius:4px;cursor:pointer;display:inline-block;font-size:14px;font-weight:400;line-height:1.42857143;margin-bottom:0;padding:5px 15px;text-align:center;touch-action:manipulation;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{box-shadow:0 0 0 1px #fff,0 0 0 2px #0079a5}.btn.focus,.btn:focus,.btn:hover{color:#1d1e24;text-decoration:none}.btn.active,.btn:active{background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125);outline:0}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{-webkit-box-shadow:none;box-shadow:none;cursor:not-allowed;filter:alpha(opacity=65);opacity:.65}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{background-color:#1ba9f5;border-color:#1ba9f5;color:#1d1e24}.btn-default.focus,.btn-default:focus{background-color:#098dd4;border-color:#065c8a;color:#1d1e24}.btn-default.active,.btn-default:active,.btn-default:hover,.open>.dropdown-toggle.btn-default{background-color:#098dd4;border-color:#0987ca;color:#1d1e24}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{background-color:#0876b2;border-color:#065c8a;color:#1d1e24}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#1ba9f5;border-color:#1ba9f5}.btn-default .badge{background-color:#1d1e24;color:#1ba9f5}.btn-primary{background-color:#1ba9f5;border-color:#1ba9f5;color:#1d1e24}.btn-primary.focus,.btn-primary:focus{background-color:#098dd4;border-color:#065c8a;color:#1d1e24}.btn-primary.active,.btn-primary:active,.btn-primary:hover,.open>.dropdown-toggle.btn-primary{background-color:#098dd4;border-color:#0987ca;color:#1d1e24}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{background-color:#0876b2;border-color:#065c8a;color:#1d1e24}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#1ba9f5;border-color:#1ba9f5}.btn-primary .badge{background-color:#1d1e24;color:#1ba9f5}.btn-xs{border-radius:4px;font-size:12px;line-height:1.5;padding:1px 5px}.navbar{border:1px solid #0000;margin-bottom:0;min-height:45px;position:relative}@media (min-width:0){.navbar{border-radius:4px}.navbar-header{float:left}}.navbar-collapse{-webkit-overflow-scrolling:touch;border-top:1px solid #0000;box-shadow:inset 0 1px 0 #ffffff1a;overflow-x:visible;padding-left:10px;padding-right:10px}.navbar-collapse.in{overflow-y:auto}@media (min-width:0){.navbar-collapse{border-top:0;box-shadow:none;width:auto}.navbar-collapse.collapse{display:block!important;height:auto!important;overflow:visible!important;padding-bottom:0}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{padding-left:0;padding-right:0}}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-left:-10px;margin-right:-10px}@media (min-width:0){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-left:0;margin-right:0}}.navbar-fixed-bottom,.navbar-fixed-top{left:0;position:fixed;right:0;z-index:1050}@media (min-width:0){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{border-width:0 0 1px;top:0}.navbar-fixed-bottom{border-width:1px 0 0;bottom:0;margin-bottom:0}.navbar-brand{float:left;font-size:18px;height:45px;line-height:20px;padding:12.5px 10px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:0){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-10px}}.navbar-toggle{background-color:initial;background-image:none;border:1px solid #0000;border-radius:4px;float:right;margin-bottom:5.5px;margin-right:10px;margin-top:5.5px;padding:9px 10px;position:relative}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{border-radius:1px;display:block;height:2px;width:22px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:0){.navbar-toggle{display:none}}.navbar-nav{margin:6.25px -10px}.navbar-nav>li>a{line-height:20px;padding-bottom:10px;padding-top:10px}@media (max-width:-1){.navbar-nav .open .dropdown-menu{background-color:initial;border:0;box-shadow:none;float:none;margin-top:0;position:static;width:auto}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:0){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-bottom:12.5px;padding-top:12.5px}}.navbar-form{border-bottom:1px solid #0000;border-top:1px solid #0000;-webkit-box-shadow:inset 0 1px 0 #ffffff1a,0 1px 0 #ffffff1a;box-shadow:inset 0 1px 0 #ffffff1a,0 1px 0 #ffffff1a;margin:6.5px -10px;padding:10px}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;vertical-align:middle;width:auto}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-bottom:0;margin-top:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{margin-left:0;position:relative}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:-1){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:0){.navbar-form{border:0;-webkit-box-shadow:none;box-shadow:none;margin-left:0;margin-right:0;padding-bottom:0;padding-top:0;width:auto}}.navbar-nav>li>.dropdown-menu{border-top-left-radius:0;border-top-right-radius:0;margin-top:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-left-radius:4px;border-top-right-radius:4px;margin-bottom:0}.navbar-text{margin-bottom:12.5px;margin-top:12.5px}@media (min-width:0){.navbar-text{float:left;margin-left:10px;margin-right:10px}.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-10px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#000;border-color:#0000}.navbar-default .navbar-brand{color:#d4dae5}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{background-color:initial;color:#d4dae5}.navbar-default .navbar-nav>li>a,.navbar-default .navbar-text{color:#d4dae5}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{background-color:initial;color:#d4dae5}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{background-color:initial;color:#f5f7fa}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{background-color:initial;color:#d4dae5}.navbar-default .navbar-toggle{border-color:#000}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#000}.navbar-default .navbar-toggle .icon-bar{background-color:#1d1e24}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#0000}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{background-color:initial;color:#f5f7fa}@media (max-width:-1){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#d4dae5}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{background-color:initial;color:#d4dae5}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{background-color:initial;color:#f5f7fa}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{background-color:initial;color:#d4dae5}}.navbar-default .navbar-link,.navbar-default .navbar-link:hover{color:#d4dae5}.navbar-inverse{background-color:#f5f7fa;border-color:#d3dce9}.navbar-inverse .navbar-brand{color:#1d1e24}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{background-color:#fff;color:#1d1e24}.navbar-inverse .navbar-text{color:#1d1e24}.navbar-inverse .navbar-nav>li>a{color:#343741}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{background-color:#fff;color:#1d1e24}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{background-color:#d4dae5;color:#1d1e24}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{background-color:initial;color:#3e434d}.navbar-inverse .navbar-toggle{border-color:#d3dce9}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#d3dce9}.navbar-inverse .navbar-toggle .icon-bar{background-color:#1d1e24}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#dde4ee}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{background-color:#d4dae5;color:#1d1e24}@media (max-width:-1){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#d3dce9}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#d3dce9}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#343741}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{background-color:#fff;color:#1d1e24}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{background-color:#d4dae5;color:#1d1e24}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{background-color:initial;color:#3e434d}}.navbar-inverse .navbar-link{color:#343741}.navbar-inverse .navbar-link:hover{color:#1d1e24}.close{color:#fff;filter:alpha(opacity=20);float:right;font-size:21px;font-weight:700;line-height:1;opacity:.2;text-shadow:none}.close:focus,.close:hover{color:#fff;cursor:pointer;filter:alpha(opacity=50);opacity:.5;text-decoration:none}button.close{-webkit-appearance:none;background:#0000;border:0;cursor:pointer;padding:0}.modal,.modal-open{overflow:hidden}.modal{-webkit-overflow-scrolling:touch;bottom:0;display:none;left:0;outline:0;position:fixed;right:0;top:0;z-index:1070}.modal.fade .modal-dialog{-webkit-transform:translateY(-25%);-ms-transform:translateY(-25%);-o-transform:translateY(-25%);transform:translateY(-25%);-webkit-transition:-webkit-transform .3s ease-out;-moz-transition:-moz-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0);-ms-transform:translate(0);-o-transform:translate(0);transform:translate(0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{margin:10px;position:relative;width:auto}.modal-content{background-clip:padding-box;background-color:#1d1e24;border:1px solid #0003;border-radius:4px;-webkit-box-shadow:0 3px 9px #00000080;box-shadow:0 3px 9px #00000080;outline:0;position:relative}.modal-backdrop{background-color:#fff;bottom:0;left:0;position:fixed;right:0;top:0;z-index:1060}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{border-bottom:1px solid #e5e5e5;padding:15px}.modal-header .close{margin-top:-2px}.modal-title{line-height:1.42857143;margin:0}.modal-body{padding:15px;position:relative}.modal-footer{border-top:1px solid #e5e5e5;padding:15px;text-align:right}.modal-scrollbar-measure{height:50px;overflow:scroll;position:absolute;top:-9999px;width:50px}@media (min-width:768px){.modal-dialog{margin:30px auto;width:600px}.modal-content{-webkit-box-shadow:0 5px 15px #00000080;box-shadow:0 5px 15px #00000080}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}@-webkit-keyframes progress-bar-stripes{0%{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{0%{background-position:40px 0}to{background-position:0 0}}.progress{background-color:#2d3039;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px #0000001a;box-shadow:inset 0 1px 2px #0000001a;height:20px;margin-bottom:20px;overflow:hidden}.progress-bar{background-color:#54b399;color:#1d1e24;float:left;font-size:12px;height:100%;line-height:20px;text-align:center;-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease;width:0}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,#ffffff26 25%,#0000 0,#0000 50%,#ffffff26 0,#ffffff26 75%,#0000 0,#0000);background-image:-o-linear-gradient(45deg,#ffffff26 25%,#0000 25%,#0000 50%,#ffffff26 50%,#ffffff26 75%,#0000 75%,#0000);background-image:linear-gradient(45deg,#ffffff26 25%,#0000 0,#0000 50%,#ffffff26 0,#ffffff26 75%,#0000 0,#0000);background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#7de2d1}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,#ffffff26 25%,#0000 0,#0000 50%,#ffffff26 0,#ffffff26 75%,#0000 0,#0000);background-image:-o-linear-gradient(45deg,#ffffff26 25%,#0000 25%,#0000 50%,#ffffff26 50%,#ffffff26 75%,#0000 75%,#0000);background-image:linear-gradient(45deg,#ffffff26 25%,#0000 0,#0000 50%,#ffffff26 0,#ffffff26 75%,#0000 0,#0000)}.progress-bar-info{background-color:#1ba9f5}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,#ffffff26 25%,#0000 0,#0000 50%,#ffffff26 0,#ffffff26 75%,#0000 0,#0000);background-image:-o-linear-gradient(45deg,#ffffff26 25%,#0000 25%,#0000 50%,#ffffff26 50%,#ffffff26 75%,#0000 75%,#0000);background-image:linear-gradient(45deg,#ffffff26 25%,#0000 0,#0000 50%,#ffffff26 0,#ffffff26 75%,#0000 0,#0000)}.progress-bar-warning{background-color:#ff977a}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,#ffffff26 25%,#0000 0,#0000 50%,#ffffff26 0,#ffffff26 75%,#0000 0,#0000);background-image:-o-linear-gradient(45deg,#ffffff26 25%,#0000 25%,#0000 50%,#ffffff26 50%,#ffffff26 75%,#0000 75%,#0000);background-image:linear-gradient(45deg,#ffffff26 25%,#0000 0,#0000 50%,#ffffff26 0,#ffffff26 75%,#0000 0,#0000)}.progress-bar-danger{background-color:#f66}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,#ffffff26 25%,#0000 0,#0000 50%,#ffffff26 0,#ffffff26 75%,#0000 0,#0000);background-image:-o-linear-gradient(45deg,#ffffff26 25%,#0000 25%,#0000 50%,#ffffff26 50%,#ffffff26 75%,#0000 75%,#0000);background-image:linear-gradient(45deg,#ffffff26 25%,#0000 0,#0000 50%,#ffffff26 0,#ffffff26 75%,#0000 0,#0000)}.list-group{margin-bottom:20px;padding-left:0}.list-group-item{background-color:#1d1e24;border:1px solid #343741;display:block;margin-bottom:-1px;padding:10px 15px;position:relative}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;margin-bottom:0}.list-group-item--noBorder{border-top:0}a.list-group-item,button.list-group-item{color:#d4dae5}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#f5f7fa}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{background-color:#25262e;color:#d4dae5;text-decoration:none}button.list-group-item{text-align:left;width:100%}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{background-color:#343741;color:#3e434d;cursor:not-allowed}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#3e434d}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{background-color:#f5f7fa;border-color:#f5f7fa;color:#f5f7fa;z-index:2}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#fff}.list-group-item-success{background-color:#7de2d1;color:#1d1e24}a.list-group-item-success,button.list-group-item-success{color:#1d1e24}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{background-color:#68ddca;color:#1d1e24}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{background-color:#1d1e24;border-color:#1d1e24;color:#fff}.list-group-item-info{background-color:#1ba9f5;color:#1d1e24}a.list-group-item-info,button.list-group-item-info{color:#1d1e24}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{background-color:#0a9dec;color:#1d1e24}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{background-color:#1d1e24;border-color:#1d1e24;color:#fff}.list-group-item-warning{background-color:#ff977a;color:#1d1e24}a.list-group-item-warning,button.list-group-item-warning{color:#1d1e24}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{background-color:#ff8361;color:#1d1e24}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{background-color:#1d1e24;border-color:#1d1e24;color:#fff}.list-group-item-danger{background-color:#f66;color:#1d1e24}a.list-group-item-danger,button.list-group-item-danger{color:#1d1e24}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{background-color:#ff4c4c;color:#1d1e24}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{background-color:#1d1e24;border-color:#1d1e24;color:#fff}.list-group-item-heading{margin-bottom:5px;margin-top:0}.list-group-item-text{line-height:1.3;margin-bottom:0}.nav{list-style:none;margin-bottom:0;padding-left:0}.nav>li,.nav>li>a{display:block;position:relative}.nav>li>a{padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{background-color:#343741;text-decoration:none}.nav>li.disabled>a{color:#3e434d}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{background-color:initial;color:#3e434d;cursor:not-allowed;text-decoration:none}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#343741;border-color:#1ba9f5}.nav .nav-divider{background-color:#e5e5e5;height:1px;margin:9px 0;overflow:hidden}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #343741}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{border:1px solid #0000;border-radius:4px 4px 0 0;line-height:1.42857143;margin-right:2px}.nav-tabs>li>a:hover{background-color:#1d1e24;border-color:#343741}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{background-color:#1d1e24;border:1px solid #343741;border-bottom-color:#0000;color:#f5f7fa;cursor:default}.nav-tabs.nav-justified{border-bottom:0;width:100%}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{left:auto;top:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{border-radius:4px;margin-right:0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #1d1e24}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #1d1e24;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#1d1e24}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{background-color:#1ba9f5;color:#1d1e24}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-left:0;margin-top:2px}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{left:auto;top:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{border-radius:4px;margin-right:0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #1d1e24}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #1d1e24;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#1d1e24}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{border-top-left-radius:0;border-top-right-radius:0;margin-top:-1px}.alert{border:1px solid #0000;border-radius:4px;margin-bottom:20px;padding:15px}.alert h4{color:inherit;margin-top:0}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{color:inherit;position:relative;right:-21px;top:-2px}.alert-success{background-color:#7de2d1;border-color:#53d9c2;color:#1d1e24}.alert-success hr{border-top-color:#3ed4bb}.alert-success .alert-link{color:#060608}.alert-info{background-color:#1ba9f5;border-color:#098dd4;color:#1d1e24}.alert-info hr{border-top-color:#087dbb}.alert-info .alert-link{color:#060608}.alert-warning{background-color:#ff977a;border-color:#ff6f47;color:#1d1e24}.alert-warning hr{border-top-color:#ff5b2e}.alert-warning .alert-link{color:#060608}.alert-danger{background-color:#f66;border-color:#f33;color:#1d1e24}.alert-danger hr{border-top-color:#ff1919}.alert-danger .alert-link{color:#060608}.bsTooltip{word-wrap:normal;display:block;filter:alpha(opacity=0);font-family:Open Sans,Helvetica,Arial,sans-serif;font-size:12px;font-style:normal;font-weight:400;letter-spacing:normal;line-break:auto;line-height:1.42857143;opacity:0;position:absolute;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;z-index:1040}.bsTooltip.in{filter:alpha(opacity=80);opacity:.8}.bsTooltip.top{margin-top:-3px;padding:5px 0}.bsTooltip.right{margin-left:3px;padding:0 5px}.bsTooltip.bottom{margin-top:3px;padding:5px 0}.bsTooltip.left{margin-left:-3px;padding:0 5px}.bsTooltip-inner{background-color:#000;border-radius:4px;color:#fff;max-width:200px;padding:3px 8px;text-align:center}.bsTooltip-arrow{border-color:#0000;border-style:solid;height:0;position:absolute;width:0}.bsTooltip.top .bsTooltip-arrow{border-top-color:#000;border-width:5px 5px 0;bottom:0;left:50%;margin-left:-5px}.bsTooltip.top-left .bsTooltip-arrow{border-top-color:#000;border-width:5px 5px 0;bottom:0;margin-bottom:-5px;right:5px}.bsTooltip.top-right .bsTooltip-arrow{border-top-color:#000;border-width:5px 5px 0;bottom:0;left:5px;margin-bottom:-5px}.bsTooltip.right .bsTooltip-arrow{border-right-color:#000;border-width:5px 5px 5px 0;left:0;margin-top:-5px;top:50%}.bsTooltip.left .bsTooltip-arrow{border-left-color:#000;border-width:5px 0 5px 5px;margin-top:-5px;right:0;top:50%}.bsTooltip.bottom .bsTooltip-arrow{border-bottom-color:#000;border-width:0 5px 5px;left:50%;margin-left:-5px;top:0}.bsTooltip.bottom-left .bsTooltip-arrow{border-bottom-color:#000;border-width:0 5px 5px;margin-top:-5px;right:5px;top:0}.bsTooltip.bottom-right .bsTooltip-arrow{border-bottom-color:#000;border-width:0 5px 5px;left:5px;margin-top:-5px;top:0}.visible-lg,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}.visible-xs-block{display:block!important}.visible-xs-inline{display:inline!important}.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}.visible-sm-block{display:block!important}.visible-sm-inline{display:inline!important}.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}.visible-md-block{display:block!important}.visible-md-inline{display:inline!important}.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}.visible-lg-block{display:block!important}.visible-lg-inline{display:inline!important}.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}.hidden-print{display:none!important}}.caret{border-left:4px solid #0000;border-right:4px solid #0000;border-top:4px dashed;border-top:4px solid\9;display:inline-block;height:0;margin-left:2px;vertical-align:middle;width:0}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{background-clip:padding-box;background-color:#1d1e24;border:1px solid #343741;border-radius:4px;box-shadow:0 4px 8px 0 #0000001a;display:none;float:left;font-size:14px;left:0;list-style:none;margin:2px 0 0;min-width:160px;padding:5px 0;position:absolute;text-align:left;top:100%;z-index:1000}.dropdown-menu.pull-right{left:auto;right:0}.dropdown-menu .divider{background-color:#343741;height:1px;margin:9px 0;overflow:hidden}.dropdown-menu>li>a,.dropdown-menu>li>button{clear:both;color:#ababab;display:block;font-weight:400;line-height:1.42857143;padding:3px 20px;white-space:nowrap}.dropdown-menu>li>button{appearance:none;background:none;border:none;text-align:left;width:100%}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover,.dropdown-menu>li>button:focus,.dropdown-menu>li>button:hover{background-color:#f5f7fa;color:#1d1e24;text-decoration:none}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>button,.dropdown-menu>.active>button:focus,.dropdown-menu>.active>button:hover{background-color:#f5f7fa;color:#1d1e24;outline:0;text-decoration:none}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#535966}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{background-color:initial;background-image:none;cursor:not-allowed;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);text-decoration:none}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{left:auto;right:0}.dropdown-menu-left{left:0;right:auto}.dropdown-header{color:#535966;display:block;font-size:12px;line-height:1.42857143;padding:3px 20px;white-space:nowrap}.dropdown-backdrop{bottom:0;left:0;position:fixed;right:0;top:0;z-index:990}.pull-right>.dropdown-menu{left:auto;right:0}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-bottom:4px dashed;border-bottom:4px solid\9;border-top:0;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{bottom:100%;margin-bottom:2px;top:auto}@media (min-width:0){.navbar-right .dropdown-menu{left:auto;right:0}.navbar-right .dropdown-menu-left{left:0;right:auto}}.input-group{border-collapse:initial;display:table;position:relative}.input-group[class*=col-]{float:none;padding-left:0;padding-right:0}.input-group .form-control{float:left;margin-bottom:0;position:relative;width:100%;z-index:2}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon{border-radius:4px;font-size:18px;height:62px;line-height:1.3333333;padding:18px 27px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon{height:62px;line-height:62px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon{border-radius:4px;font-size:12px;height:32px;line-height:1.5;padding:6px 9px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon{height:32px;line-height:32px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon{height:auto}.input-group .form-control,.input-group-addon{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child){border-radius:0}.input-group-addon{background-color:#343741;border:1px solid #343741;border-radius:4px;color:#f5f7fa;font-size:14px;font-weight:400;line-height:1;padding:5px 15px;text-align:center;vertical-align:middle;white-space:nowrap;width:1%}.input-group-addon.input-sm{border-radius:4px;font-size:12px;padding:6px 9px}.input-group-addon.input-lg{border-radius:4px;font-size:18px;padding:18px 27px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child{border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child{border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.pagination{border-radius:4px;display:inline-block;margin:20px 0;padding-left:0}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{background-color:initial;border:1px solid #0000;color:#1ba9f5;float:left;line-height:1.42857143;margin-left:-1px;padding:5px 15px;position:relative;text-decoration:none}.pagination>li:first-child>a,.pagination>li:first-child>span{border-bottom-left-radius:4px;border-top-left-radius:4px;margin-left:0}.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{background-color:#0000;border-color:#0000;color:#1ba9f5;z-index:2}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{background-color:#0000;border-color:#0000;color:#f5f7fa;cursor:default;z-index:3}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{background-color:#26262600;border-color:#0000;color:#f5f7fa;cursor:not-allowed}.pagination-lg>li>a,.pagination-lg>li>span{font-size:18px;line-height:1.3333333;padding:18px 27px}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.pagination-sm>li>a,.pagination-sm>li>span{font-size:12px;line-height:1.5;padding:6px 9px}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.pager{list-style:none;margin:20px 0;padding-left:0;text-align:center}.pager li{display:inline}.pager li>a,.pager li>span{background-color:initial;border:1px solid #0000;border-radius:0;display:inline-block;padding:5px 14px}.pager li>a:focus,.pager li>a:hover{background-color:#0000;text-decoration:none}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{background-color:initial;color:#1d1e24;cursor:not-allowed}.label{border-radius:.25em;color:#1d1e24;display:inline;font-size:75%;font-weight:700;line-height:1;padding:.2em .6em .3em;text-align:center;vertical-align:initial;white-space:nowrap}a.label:focus,a.label:hover{color:#1d1e24;cursor:pointer;text-decoration:none}.label:empty{display:none}.label-default{background-color:#1ba9f5}.label-default[href]:focus,.label-default[href]:hover{background-color:#098dd4}.label-primary{background-color:#f5f7fa}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#d3dce9}.label-success{background-color:#7de2d1}.label-success[href]:focus,.label-success[href]:hover{background-color:#53d9c2}.label-info{background-color:#1ba9f5}.label-info[href]:focus,.label-info[href]:hover{background-color:#098dd4}.label-warning{background-color:#ff977a}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ff6f47}.label-danger{background-color:#f66}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#f33}.panel{background-color:#1d1e24;border:1px solid #0000;border-radius:4px;-webkit-box-shadow:0 1px 1px #0000000d;box-shadow:0 1px 1px #0000000d;margin-bottom:20px}.panel-body{padding:15px}.panel-heading{border-bottom:1px solid #0000;border-top-left-radius:3px;border-top-right-radius:3px;padding:10px 15px}.panel-heading>.dropdown .dropdown-toggle,.panel-title{color:inherit}.panel-title{font-size:16px;margin-bottom:0;margin-top:0}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{background-color:#25262e;border-bottom-left-radius:3px;border-bottom-right-radius:3px;border-top:1px solid #343741;padding:10px 15px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-radius:0;border-width:1px 0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-left-radius:3px;border-bottom-right-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.list-group+.panel-footer,.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-left:15px;padding-right:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-left-radius:3px;border-bottom-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #343741}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-responsive{border:0;margin-bottom:0}.panel-group{margin-bottom:20px}.panel-group .panel{border-radius:4px;margin-bottom:0}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #343741}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #343741}.panel-default{border-color:#343741}.panel-default>.panel-heading{background-color:#25262e;border-color:#343741;color:#ababab}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#343741}.panel-default>.panel-heading .badge{background-color:#ababab;color:#25262e}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#343741}.panel-primary{border-color:#f5f7fa}.panel-primary>.panel-heading{background-color:#f5f7fa;border-color:#f5f7fa;color:#1d1e24}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#f5f7fa}.panel-primary>.panel-heading .badge{background-color:#1d1e24;color:#f5f7fa}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#f5f7fa}.panel-success{border-color:#53d9c2}.panel-success>.panel-heading{background-color:#7de2d1;border-color:#53d9c2;color:#1d1e24}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#53d9c2}.panel-success>.panel-heading .badge{background-color:#1d1e24;color:#7de2d1}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#53d9c2}.panel-info{border-color:#098dd4}.panel-info>.panel-heading{background-color:#1ba9f5;border-color:#098dd4;color:#1d1e24}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#098dd4}.panel-info>.panel-heading .badge{background-color:#1d1e24;color:#1ba9f5}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#098dd4}.panel-warning{border-color:#ff6f47}.panel-warning>.panel-heading{background-color:#ff977a;border-color:#ff6f47;color:#1d1e24}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ff6f47}.panel-warning>.panel-heading .badge{background-color:#1d1e24;color:#ff977a}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ff6f47}.panel-danger{border-color:#f33}.panel-danger>.panel-heading{background-color:#f66;border-color:#f33;color:#1d1e24}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#f33}.panel-danger>.panel-heading .badge{background-color:#1d1e24;color:#f66}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#f33}.popover{word-wrap:normal;background-clip:padding-box;background-color:#1d1e24;border:1px solid #343741;border-radius:4px;box-shadow:0 4px 8px 0 #0000001a;display:none;font-family:Open Sans,Helvetica,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:400;left:0;letter-spacing:normal;line-break:auto;line-height:1.42857143;max-width:276px;padding:1px;position:absolute;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;top:0;white-space:normal;word-break:normal;word-spacing:normal;z-index:1010}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{background-color:#16171c;border-bottom:1px solid #0b0b0d;border-radius:3px 3px 0 0;font-size:14px;margin:0;padding:8px 14px}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{border-color:#0000;border-style:solid;display:block;height:0;position:absolute;width:0}.popover>.arrow{border-width:11px}.popover>.arrow:after{border-width:10px;content:""}.popover.top>.arrow{border-bottom-width:0;border-top-color:#343741;bottom:-11px;left:50%;margin-left:-11px}.popover.top>.arrow:after{border-bottom-width:0;border-top-color:#1d1e24;bottom:1px;content:" ";margin-left:-10px}.popover.right>.arrow{border-left-width:0;border-right-color:#343741;left:-11px;margin-top:-11px;top:50%}.popover.right>.arrow:after{border-left-width:0;border-right-color:#1d1e24;bottom:-10px;content:" ";left:1px}.popover.bottom>.arrow{border-bottom-color:#343741;border-top-width:0;left:50%;margin-left:-11px;top:-11px}.popover.bottom>.arrow:after{border-bottom-color:#1d1e24;border-top-width:0;content:" ";margin-left:-10px;top:1px}.popover.left>.arrow{border-left-color:#343741;border-right-width:0;margin-top:-11px;right:-11px;top:50%}.popover.left>.arrow:after{border-left-color:#1d1e24;border-right-width:0;bottom:-10px;content:" ";right:1px}.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.modal-header:after,.modal-header:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{content:" ";display:table}.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.modal-header:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{background-color:initial;border:0;color:#0000;font:0/0 a;text-shadow:none}.hidden{display:none!important}.affix{position:fixed}.navbar>.container-fluid>.navbar-form:not(.pull-right):first-child,.navbar>.container-fluid>.navbar-nav:not(.pull-right):first-child{margin-left:-15px;margin-top:4px}.navbar{border-width:0}.navbar-btn-link{border-radius:0;margin:0}@media (max-width:768px){.navbar-btn-link{text-align:left;width:100%}}.navbar-default .badge{background-color:#1d1e24;color:#000}.navbar-inverse .kbnGlobalNav__logoBrand{background-color:#fff;height:45px;width:252px}.navbar-inverse .kbnGlobalNav__smallLogoBrand{background-color:#fff;height:45px;width:45px}.navbar-inverse .badge{background-color:#1d1e24;color:#fff}.navbar-brand{cursor:default;font-size:1.8em;user-select:none}.navbar-nav{font-size:12px}.navbar-nav>.active>a{background-color:initial;border-bottom-color:#ababab}.navbar-toggle{margin-top:4px}.text-primary,.text-primary:hover{color:#f5f7fa}.text-success,.text-success:hover{color:#7de2d1}.text-danger,.text-danger:hover{color:#f66}.text-warning,.text-warning:hover{color:#ff977a}.text-info,.text-info:hover{color:#1ba9f5}.table .danger,.table .danger a,.table .info,.table .info a,.table .success,.table .success a,.table .warning,.table .warning a,table .danger,table .danger a,table .info,table .info a,table .success,table .success a,table .warning,table .warning a{color:#1d1e24}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #343741}.form-control{border-width:1px}.form-control,.form-control:focus{-webkit-box-shadow:none;box-shadow:none}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .form-control-feedback,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline{color:#ff977a}.has-warning .form-control,.has-warning .form-control:focus{border:1px solid #ff977a}.has-warning .input-group-addon{border-color:#ff977a}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .form-control-feedback,.has-error .help-block,.has-error .radio,.has-error .radio-inline{color:#f66}.has-error .form-control,.has-error .form-control:focus{border:1px solid #f66}.has-error .input-group-addon{border-color:#f66}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .form-control-feedback,.has-success .help-block,.has-success .radio,.has-success .radio-inline{color:#7de2d1}.has-success .form-control,.has-success .form-control:focus{border:solid #7de2d1}.has-success .input-group-addon{border-color:#7de2d1}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{border-color:#0000}.pager a,.pager a:hover{color:#1d1e24}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{background-color:#26262600}.panel{border-radius:0;-webkit-box-shadow:0 0 0 #0000;box-shadow:0 0 0 #0000}.progress{-webkit-box-shadow:none;box-shadow:none}.progress .progress-bar{font-size:10px;line-height:10px}.well{-webkit-box-shadow:none;box-shadow:none} \ No newline at end of file diff --git a/packages/core/apps/core-apps-server-internal/assets/legacy_light_theme.css b/packages/core/apps/core-apps-server-internal/assets/legacy_light_theme.css index c5c639f60e3be..26340bed55596 100644 --- a/packages/core/apps/core-apps-server-internal/assets/legacy_light_theme.css +++ b/packages/core/apps/core-apps-server-internal/assets/legacy_light_theme.css @@ -4324,14 +4324,12 @@ table .info a, .table-bordered > tfoot > tr > td { border: 1px solid #D3DAE6; } -.form-control, -input { +.form-control { border-width: 1px; -webkit-box-shadow: none; box-shadow: none; } -.form-control:focus, -input:focus { +.form-control:focus { -webkit-box-shadow: none; box-shadow: none; } diff --git a/packages/core/apps/core-apps-server-internal/assets/legacy_light_theme.min.css b/packages/core/apps/core-apps-server-internal/assets/legacy_light_theme.min.css index 3dece6ea03d7e..797b9ff701244 100644 --- a/packages/core/apps/core-apps-server-internal/assets/legacy_light_theme.min.css +++ b/packages/core/apps/core-apps-server-internal/assets/legacy_light_theme.min.css @@ -2,4 +2,4 @@ * Bootstrap v3.3.6 (http://getbootstrap.com) * Copyright 2011-2015 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - */.container{margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px}.row{margin-left:-15px;margin-right:-15px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{min-height:1px;padding-left:15px;padding-right:15px;position:relative}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}.table{font-size:14px;margin-bottom:20px;max-width:100%;width:100%}.table thead{font-size:12px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{border-top:1px solid #d3dae6;line-height:1.42857143;padding:8px;vertical-align:top}.table>thead>tr>th{border-bottom:1px solid #d3dae6;vertical-align:bottom}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #d3dae6}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{font-size:12px;padding:5px}.table-bordered{border:1px solid #d3dae6}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-hover>tbody>tr:hover,.table-striped>tbody>tr:nth-of-type(odd){background-color:#d3dae6}table col[class*=col-]{display:table-column;float:none;position:static}table td[class*=col-],table th[class*=col-]{display:table-cell;float:none;position:static}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#d3dae6}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#c3ccdd}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#017d73}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#01645c}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#006bb4}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#005c9b}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#f5a700}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#dc9600}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#bd271e}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#a7221b}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #d3dae6;margin-bottom:15px;overflow-y:hidden;width:100%}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}.form-control{background-color:#fafbfd;background-image:none;border:1px solid #d3dae6;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);color:#343741;display:block;font-size:14px;height:32px;line-height:1.42857143;padding:5px 15px;-webkit-transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;-o-transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:100%}.form-control:focus{border-color:#006bb4;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px #006bb499;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px #006bb499;outline:0}.form-control::-moz-placeholder{color:#98a2b3;opacity:1}.form-control:-ms-input-placeholder{color:#98a2b3}.form-control::-webkit-input-placeholder{color:#98a2b3}.form-control::-ms-expand{background-color:initial;border:0}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#d3dae6;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}.form-group:not(:empty){margin-bottom:15px}.checkbox,.radio{display:block;margin-bottom:10px;margin-top:10px;position:relative}.checkbox label,.radio label{cursor:pointer;font-weight:400;margin-bottom:0;min-height:20px;padding-left:20px}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{margin-left:-20px;margin-top:4px\9;position:absolute}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{cursor:pointer;display:inline-block;font-weight:400;margin-bottom:0;padding-left:20px;position:relative;vertical-align:middle}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-left:10px;margin-top:0}.checkbox-inline.disabled,.checkbox.disabled label,.radio-inline.disabled,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio label,fieldset[disabled] .radio-inline{cursor:not-allowed}.form-control-static{margin-bottom:0;min-height:34px;padding-bottom:6px;padding-top:6px}.form-control-static.input-lg,.form-control-static.input-sm{padding-left:0;padding-right:0}.input-sm{border-radius:4px;font-size:12px;height:32px;line-height:1.5;padding:6px 9px}select.input-sm{height:32px;line-height:32px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{border-radius:4px;font-size:12px;height:32px;line-height:1.5;padding:6px 9px}.form-group-sm select.form-control{height:32px;line-height:32px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{font-size:12px;height:32px;line-height:1.5;min-height:32px;padding:7px 9px}.input-lg{border-radius:4px;font-size:18px;height:62px;line-height:1.3333333;padding:18px 27px}select.input-lg{height:62px;line-height:62px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{border-radius:4px;font-size:18px;height:62px;line-height:1.3333333;padding:18px 27px}.form-group-lg select.form-control{height:62px;line-height:62px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{font-size:18px;height:62px;line-height:1.3333333;min-height:38px;padding:19px 27px}.has-feedback{position:relative}.has-feedback .form-control{padding-right:40px}.form-control-feedback{display:block;height:32px;line-height:32px;pointer-events:none;position:absolute;right:0;text-align:center;top:0;width:32px;z-index:2}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{height:62px;line-height:62px;width:62px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-sm+.form-control-feedback{height:32px;line-height:32px;width:32px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#fff}.has-success .form-control{border-color:#fff;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#e6e6e6;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #fff;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #fff}.has-success .input-group-addon{background-color:#017d73;border-color:#fff;color:#fff}.has-success .form-control-feedback,.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#fff}.has-warning .form-control{border-color:#fff;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#e6e6e6;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #fff;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #fff}.has-warning .input-group-addon{background-color:#f5a700;border-color:#fff;color:#fff}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label,.has-warning .form-control-feedback{color:#fff}.has-error .form-control{border-color:#fff;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#e6e6e6;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #fff;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #fff}.has-error .input-group-addon{background-color:#bd271e;border-color:#fff;color:#fff}.has-error .form-control-feedback{color:#fff}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{color:#6d7388;display:block;margin-bottom:10px;margin-top:5px}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;vertical-align:middle;width:auto}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-bottom:0;margin-top:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{margin-left:0;position:relative}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{margin-bottom:0;margin-top:0;padding-top:6px}.form-horizontal .checkbox,.form-horizontal .radio{min-height:26px}.form-horizontal .form-group{margin-left:-15px;margin-right:-15px}@media (min-width:768px){.form-horizontal .control-label{margin-bottom:0;padding-top:6px;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{font-size:18px;padding-top:19px}.form-horizontal .form-group-sm .control-label{font-size:12px;padding-top:7px}}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-muted{color:#b2bac6}.text-primary{color:#343741}a.text-primary:focus,a.text-primary:hover{color:#1d1f25}.text-success{color:#fff}a.text-success:focus,a.text-success:hover{color:#e6e6e6}.text-info{color:#fff}a.text-info:focus,a.text-info:hover{color:#e6e6e6}.text-warning{color:#fff}a.text-warning:focus,a.text-warning:hover{color:#e6e6e6}.text-danger{color:#fff}a.text-danger:focus,a.text-danger:hover{color:#e6e6e6}.bg-info{background-color:#006bb4}a.bg-info:focus,a.bg-info:hover{background-color:#004d81}.list-unstyled{list-style:none;padding-left:0}@media (min-width:0){.dl-horizontal dt{clear:left;float:left;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap;width:160px}.dl-horizontal dd{margin-left:180px}}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{height:0;overflow:hidden;position:relative;-webkit-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;transition-property:height,visibility;-webkit-transition-timing-function:ease;transition-timing-function:ease}.btn{background-image:none;border:1px solid #0000;border-radius:4px;cursor:pointer;display:inline-block;font-size:14px;font-weight:400;line-height:1.42857143;margin-bottom:0;padding:5px 15px;text-align:center;touch-action:manipulation;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{box-shadow:0 0 0 1px #fff,0 0 0 2px #0079a5}.btn.focus,.btn:focus,.btn:hover{color:#fff;text-decoration:none}.btn.active,.btn:active{background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125);outline:0}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{-webkit-box-shadow:none;box-shadow:none;cursor:not-allowed;filter:alpha(opacity=65);opacity:.65}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{background-color:#006bb4;border-color:#006bb4;color:#fff}.btn-default.focus,.btn-default:focus{background-color:#004d81;border-color:#001f35;color:#fff}.btn-default.active,.btn-default:active,.btn-default:hover,.open>.dropdown-toggle.btn-default{background-color:#004d81;border-color:#004777;color:#fff}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{background-color:#00375d;border-color:#001f35;color:#fff}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#006bb4;border-color:#006bb4}.btn-default .badge{background-color:#fff;color:#006bb4}.btn-primary{background-color:#006bb4;border-color:#006bb4;color:#fff}.btn-primary.focus,.btn-primary:focus{background-color:#004d81;border-color:#001f35;color:#fff}.btn-primary.active,.btn-primary:active,.btn-primary:hover,.open>.dropdown-toggle.btn-primary{background-color:#004d81;border-color:#004777;color:#fff}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{background-color:#00375d;border-color:#001f35;color:#fff}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#006bb4;border-color:#006bb4}.btn-primary .badge{background-color:#fff;color:#006bb4}.btn-xs{border-radius:4px;font-size:12px;line-height:1.5;padding:1px 5px}.navbar{border:1px solid #0000;margin-bottom:0;min-height:45px;position:relative}@media (min-width:0){.navbar{border-radius:4px}.navbar-header{float:left}}.navbar-collapse{-webkit-overflow-scrolling:touch;border-top:1px solid #0000;box-shadow:inset 0 1px 0 #ffffff1a;overflow-x:visible;padding-left:10px;padding-right:10px}.navbar-collapse.in{overflow-y:auto}@media (min-width:0){.navbar-collapse{border-top:0;box-shadow:none;width:auto}.navbar-collapse.collapse{display:block!important;height:auto!important;overflow:visible!important;padding-bottom:0}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{padding-left:0;padding-right:0}}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-left:-10px;margin-right:-10px}@media (min-width:0){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-left:0;margin-right:0}}.navbar-fixed-bottom,.navbar-fixed-top{left:0;position:fixed;right:0;z-index:1050}@media (min-width:0){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{border-width:0 0 1px;top:0}.navbar-fixed-bottom{border-width:1px 0 0;bottom:0;margin-bottom:0}.navbar-brand{float:left;font-size:18px;height:45px;line-height:20px;padding:12.5px 10px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:0){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-10px}}.navbar-toggle{background-color:initial;background-image:none;border:1px solid #0000;border-radius:4px;float:right;margin-bottom:5.5px;margin-right:10px;margin-top:5.5px;padding:9px 10px;position:relative}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{border-radius:1px;display:block;height:2px;width:22px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:0){.navbar-toggle{display:none}}.navbar-nav{margin:6.25px -10px}.navbar-nav>li>a{line-height:20px;padding-bottom:10px;padding-top:10px}@media (max-width:-1){.navbar-nav .open .dropdown-menu{background-color:initial;border:0;box-shadow:none;float:none;margin-top:0;position:static;width:auto}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:0){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-bottom:12.5px;padding-top:12.5px}}.navbar-form{border-bottom:1px solid #0000;border-top:1px solid #0000;-webkit-box-shadow:inset 0 1px 0 #ffffff1a,0 1px 0 #ffffff1a;box-shadow:inset 0 1px 0 #ffffff1a,0 1px 0 #ffffff1a;margin:6.5px -10px;padding:10px}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;vertical-align:middle;width:auto}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-bottom:0;margin-top:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{margin-left:0;position:relative}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:-1){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:0){.navbar-form{border:0;-webkit-box-shadow:none;box-shadow:none;margin-left:0;margin-right:0;padding-bottom:0;padding-top:0;width:auto}}.navbar-nav>li>.dropdown-menu{border-top-left-radius:0;border-top-right-radius:0;margin-top:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-left-radius:4px;border-top-right-radius:4px;margin-bottom:0}.navbar-text{margin-bottom:12.5px;margin-top:12.5px}@media (min-width:0){.navbar-text{float:left;margin-left:10px;margin-right:10px}.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-10px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f5f7fa;border-color:#0000}.navbar-default .navbar-brand{color:#69707d}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{background-color:initial;color:#69707d}.navbar-default .navbar-nav>li>a,.navbar-default .navbar-text{color:#69707d}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{background-color:initial;color:#69707d}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{background-color:initial;color:#343741}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{background-color:initial;color:#69707d}.navbar-default .navbar-toggle{border-color:#d3dce9}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#d3dce9}.navbar-default .navbar-toggle .icon-bar{background-color:#fff}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#0000}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{background-color:initial;color:#343741}@media (max-width:-1){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#69707d}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{background-color:initial;color:#69707d}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{background-color:initial;color:#343741}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{background-color:initial;color:#69707d}}.navbar-default .navbar-link,.navbar-default .navbar-link:hover{color:#69707d}.navbar-inverse{background-color:#343741;border-color:#1d1f25}.navbar-inverse .navbar-brand{color:#fff}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{background-color:#4b4f5d;color:#fff}.navbar-inverse .navbar-text{color:#fff}.navbar-inverse .navbar-nav>li>a{color:#d3dae6}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{background-color:#61677a;color:#fff}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{background-color:#69707d;color:#fff}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{background-color:initial;color:#b2bac6}.navbar-inverse .navbar-toggle{border-color:#1d1f25}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#1d1f25}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#24262d}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{background-color:#69707d;color:#fff}@media (max-width:-1){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#1d1f25}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#1d1f25}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#d3dae6}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{background-color:#61677a;color:#fff}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{background-color:#69707d;color:#fff}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{background-color:initial;color:#b2bac6}}.navbar-inverse .navbar-link{color:#d3dae6}.navbar-inverse .navbar-link:hover{color:#fff}.close{color:#000;filter:alpha(opacity=20);float:right;font-size:21px;font-weight:700;line-height:1;opacity:.2;text-shadow:none}.close:focus,.close:hover{color:#000;cursor:pointer;filter:alpha(opacity=50);opacity:.5;text-decoration:none}button.close{-webkit-appearance:none;background:#0000;border:0;cursor:pointer;padding:0}.modal,.modal-open{overflow:hidden}.modal{-webkit-overflow-scrolling:touch;bottom:0;display:none;left:0;outline:0;position:fixed;right:0;top:0;z-index:1070}.modal.fade .modal-dialog{-webkit-transform:translateY(-25%);-ms-transform:translateY(-25%);-o-transform:translateY(-25%);transform:translateY(-25%);-webkit-transition:-webkit-transform .3s ease-out;-moz-transition:-moz-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0);-ms-transform:translate(0);-o-transform:translate(0);transform:translate(0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{margin:10px;position:relative;width:auto}.modal-content{background-clip:padding-box;background-color:#fff;border:1px solid #0003;border-radius:4px;-webkit-box-shadow:0 3px 9px #00000080;box-shadow:0 3px 9px #00000080;outline:0;position:relative}.modal-backdrop{background-color:#000;bottom:0;left:0;position:fixed;right:0;top:0;z-index:1060}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{border-bottom:1px solid #e5e5e5;padding:15px}.modal-header .close{margin-top:-2px}.modal-title{line-height:1.42857143;margin:0}.modal-body{padding:15px;position:relative}.modal-footer{border-top:1px solid #e5e5e5;padding:15px;text-align:right}.modal-scrollbar-measure{height:50px;overflow:scroll;position:absolute;top:-9999px;width:50px}@media (min-width:768px){.modal-dialog{margin:30px auto;width:600px}.modal-content{-webkit-box-shadow:0 5px 15px #00000080;box-shadow:0 5px 15px #00000080}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}@-webkit-keyframes progress-bar-stripes{0%{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{0%{background-position:40px 0}to{background-position:0 0}}.progress{background-color:#b8bec8;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px #0000001a;box-shadow:inset 0 1px 2px #0000001a;height:20px;margin-bottom:20px;overflow:hidden}.progress-bar{background-color:#54b399;color:#fff;float:left;font-size:12px;height:100%;line-height:20px;text-align:center;-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease;width:0}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,#ffffff26 25%,#0000 0,#0000 50%,#ffffff26 0,#ffffff26 75%,#0000 0,#0000);background-image:-o-linear-gradient(45deg,#ffffff26 25%,#0000 25%,#0000 50%,#ffffff26 50%,#ffffff26 75%,#0000 75%,#0000);background-image:linear-gradient(45deg,#ffffff26 25%,#0000 0,#0000 50%,#ffffff26 0,#ffffff26 75%,#0000 0,#0000);background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#017d73}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,#ffffff26 25%,#0000 0,#0000 50%,#ffffff26 0,#ffffff26 75%,#0000 0,#0000);background-image:-o-linear-gradient(45deg,#ffffff26 25%,#0000 25%,#0000 50%,#ffffff26 50%,#ffffff26 75%,#0000 75%,#0000);background-image:linear-gradient(45deg,#ffffff26 25%,#0000 0,#0000 50%,#ffffff26 0,#ffffff26 75%,#0000 0,#0000)}.progress-bar-info{background-color:#006bb4}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,#ffffff26 25%,#0000 0,#0000 50%,#ffffff26 0,#ffffff26 75%,#0000 0,#0000);background-image:-o-linear-gradient(45deg,#ffffff26 25%,#0000 25%,#0000 50%,#ffffff26 50%,#ffffff26 75%,#0000 75%,#0000);background-image:linear-gradient(45deg,#ffffff26 25%,#0000 0,#0000 50%,#ffffff26 0,#ffffff26 75%,#0000 0,#0000)}.progress-bar-warning{background-color:#f5a700}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,#ffffff26 25%,#0000 0,#0000 50%,#ffffff26 0,#ffffff26 75%,#0000 0,#0000);background-image:-o-linear-gradient(45deg,#ffffff26 25%,#0000 25%,#0000 50%,#ffffff26 50%,#ffffff26 75%,#0000 75%,#0000);background-image:linear-gradient(45deg,#ffffff26 25%,#0000 0,#0000 50%,#ffffff26 0,#ffffff26 75%,#0000 0,#0000)}.progress-bar-danger{background-color:#bd271e}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,#ffffff26 25%,#0000 0,#0000 50%,#ffffff26 0,#ffffff26 75%,#0000 0,#0000);background-image:-o-linear-gradient(45deg,#ffffff26 25%,#0000 25%,#0000 50%,#ffffff26 50%,#ffffff26 75%,#0000 75%,#0000);background-image:linear-gradient(45deg,#ffffff26 25%,#0000 0,#0000 50%,#ffffff26 0,#ffffff26 75%,#0000 0,#0000)}.list-group{margin-bottom:20px;padding-left:0}.list-group-item{background-color:#fff;border:1px solid #d3dae6;display:block;margin-bottom:-1px;padding:10px 15px;position:relative}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;margin-bottom:0}.list-group-item--noBorder{border-top:0}a.list-group-item,button.list-group-item{color:#69707d}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#343741}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{background-color:#f5f7fa;color:#69707d;text-decoration:none}button.list-group-item{text-align:left;width:100%}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{background-color:#d3dae6;color:#b2bac6;cursor:not-allowed}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#b2bac6}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{background-color:#343741;border-color:#343741;color:#343741;z-index:2}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#969bab}.list-group-item-success{background-color:#017d73;color:#fff}a.list-group-item-success,button.list-group-item-success{color:#fff}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{background-color:#01645c;color:#fff}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{background-color:#fff;border-color:#fff;color:#fff}.list-group-item-info{background-color:#006bb4;color:#fff}a.list-group-item-info,button.list-group-item-info{color:#fff}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{background-color:#005c9b;color:#fff}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{background-color:#fff;border-color:#fff;color:#fff}.list-group-item-warning{background-color:#f5a700;color:#fff}a.list-group-item-warning,button.list-group-item-warning{color:#fff}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{background-color:#dc9600;color:#fff}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{background-color:#fff;border-color:#fff;color:#fff}.list-group-item-danger{background-color:#bd271e;color:#fff}a.list-group-item-danger,button.list-group-item-danger{color:#fff}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{background-color:#a7221b;color:#fff}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{background-color:#fff;border-color:#fff;color:#fff}.list-group-item-heading{margin-bottom:5px;margin-top:0}.list-group-item-text{line-height:1.3;margin-bottom:0}.nav{list-style:none;margin-bottom:0;padding-left:0}.nav>li,.nav>li>a{display:block;position:relative}.nav>li>a{padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{background-color:#d3dae6;text-decoration:none}.nav>li.disabled>a{color:#b2bac6}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{background-color:initial;color:#b2bac6;cursor:not-allowed;text-decoration:none}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#d3dae6;border-color:#006bb4}.nav .nav-divider{background-color:#e5e5e5;height:1px;margin:9px 0;overflow:hidden}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #d3dae6}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{border:1px solid #0000;border-radius:4px 4px 0 0;line-height:1.42857143;margin-right:2px}.nav-tabs>li>a:hover{background-color:#fff;border-color:#d3dae6}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{background-color:#fff;border:1px solid #d3dae6;border-bottom-color:#0000;color:#343741;cursor:default}.nav-tabs.nav-justified{border-bottom:0;width:100%}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{left:auto;top:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{border-radius:4px;margin-right:0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #fff}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #fff;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{background-color:#006bb4;color:#fff}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-left:0;margin-top:2px}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{left:auto;top:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{border-radius:4px;margin-right:0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #fff}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #fff;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{border-top-left-radius:0;border-top-right-radius:0;margin-top:-1px}.alert{border:1px solid #0000;border-radius:4px;margin-bottom:20px;padding:15px}.alert h4{color:inherit;margin-top:0}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{color:inherit;position:relative;right:-21px;top:-2px}.alert-success{background-color:#017d73;border-color:#014a44;color:#fff}.alert-success hr{border-top-color:#00312d}.alert-success .alert-link{color:#e6e6e6}.alert-info{background-color:#006bb4;border-color:#004d81;color:#fff}.alert-info hr{border-top-color:#003e68}.alert-info .alert-link{color:#e6e6e6}.alert-warning{background-color:#f5a700;border-color:#c28400;color:#fff}.alert-warning hr{border-top-color:#a97300}.alert-warning .alert-link{color:#e6e6e6}.alert-danger{background-color:#bd271e;border-color:#911e17;color:#fff}.alert-danger hr{border-top-color:#7b1914}.alert-danger .alert-link{color:#e6e6e6}.bsTooltip{word-wrap:normal;display:block;filter:alpha(opacity=0);font-family:Open Sans,Helvetica,Arial,sans-serif;font-size:12px;font-style:normal;font-weight:400;letter-spacing:normal;line-break:auto;line-height:1.42857143;opacity:0;position:absolute;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;z-index:1040}.bsTooltip.in{filter:alpha(opacity=80);opacity:.8}.bsTooltip.top{margin-top:-3px;padding:5px 0}.bsTooltip.right{margin-left:3px;padding:0 5px}.bsTooltip.bottom{margin-top:3px;padding:5px 0}.bsTooltip.left{margin-left:-3px;padding:0 5px}.bsTooltip-inner{background-color:#000;border-radius:4px;color:#fff;max-width:200px;padding:3px 8px;text-align:center}.bsTooltip-arrow{border-color:#0000;border-style:solid;height:0;position:absolute;width:0}.bsTooltip.top .bsTooltip-arrow{border-top-color:#000;border-width:5px 5px 0;bottom:0;left:50%;margin-left:-5px}.bsTooltip.top-left .bsTooltip-arrow{border-top-color:#000;border-width:5px 5px 0;bottom:0;margin-bottom:-5px;right:5px}.bsTooltip.top-right .bsTooltip-arrow{border-top-color:#000;border-width:5px 5px 0;bottom:0;left:5px;margin-bottom:-5px}.bsTooltip.right .bsTooltip-arrow{border-right-color:#000;border-width:5px 5px 5px 0;left:0;margin-top:-5px;top:50%}.bsTooltip.left .bsTooltip-arrow{border-left-color:#000;border-width:5px 0 5px 5px;margin-top:-5px;right:0;top:50%}.bsTooltip.bottom .bsTooltip-arrow{border-bottom-color:#000;border-width:0 5px 5px;left:50%;margin-left:-5px;top:0}.bsTooltip.bottom-left .bsTooltip-arrow{border-bottom-color:#000;border-width:0 5px 5px;margin-top:-5px;right:5px;top:0}.bsTooltip.bottom-right .bsTooltip-arrow{border-bottom-color:#000;border-width:0 5px 5px;left:5px;margin-top:-5px;top:0}.visible-lg,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}.visible-xs-block{display:block!important}.visible-xs-inline{display:inline!important}.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}.visible-sm-block{display:block!important}.visible-sm-inline{display:inline!important}.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}.visible-md-block{display:block!important}.visible-md-inline{display:inline!important}.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}.visible-lg-block{display:block!important}.visible-lg-inline{display:inline!important}.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}.hidden-print{display:none!important}}.caret{border-left:4px solid #0000;border-right:4px solid #0000;border-top:4px dashed;border-top:4px solid\9;display:inline-block;height:0;margin-left:2px;vertical-align:middle;width:0}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{background-clip:padding-box;background-color:#fff;border:1px solid #d3dae6;border-radius:4px;box-shadow:0 4px 8px 0 #0000001a;display:none;float:left;font-size:14px;left:0;list-style:none;margin:2px 0 0;min-width:160px;padding:5px 0;position:absolute;text-align:left;top:100%;z-index:1000}.dropdown-menu.pull-right{left:auto;right:0}.dropdown-menu .divider{background-color:#d3dae6;height:1px;margin:9px 0;overflow:hidden}.dropdown-menu>li>a,.dropdown-menu>li>button{clear:both;color:#7b7b7b;display:block;font-weight:400;line-height:1.42857143;padding:3px 20px;white-space:nowrap}.dropdown-menu>li>button{appearance:none;background:none;border:none;text-align:left;width:100%}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover,.dropdown-menu>li>button:focus,.dropdown-menu>li>button:hover{background-color:#343741;color:#fff;text-decoration:none}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>button,.dropdown-menu>.active>button:focus,.dropdown-menu>.active>button:hover{background-color:#343741;color:#fff;outline:0;text-decoration:none}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#98a2b3}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{background-color:initial;background-image:none;cursor:not-allowed;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);text-decoration:none}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{left:auto;right:0}.dropdown-menu-left{left:0;right:auto}.dropdown-header{color:#98a2b3;display:block;font-size:12px;line-height:1.42857143;padding:3px 20px;white-space:nowrap}.dropdown-backdrop{bottom:0;left:0;position:fixed;right:0;top:0;z-index:990}.pull-right>.dropdown-menu{left:auto;right:0}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-bottom:4px dashed;border-bottom:4px solid\9;border-top:0;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{bottom:100%;margin-bottom:2px;top:auto}@media (min-width:0){.navbar-right .dropdown-menu{left:auto;right:0}.navbar-right .dropdown-menu-left{left:0;right:auto}}.input-group{border-collapse:initial;display:table;position:relative}.input-group[class*=col-]{float:none;padding-left:0;padding-right:0}.input-group .form-control{float:left;margin-bottom:0;position:relative;width:100%;z-index:2}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon{border-radius:4px;font-size:18px;height:62px;line-height:1.3333333;padding:18px 27px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon{height:62px;line-height:62px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon{border-radius:4px;font-size:12px;height:32px;line-height:1.5;padding:6px 9px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon{height:32px;line-height:32px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon{height:auto}.input-group .form-control,.input-group-addon{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child){border-radius:0}.input-group-addon{background-color:#d3dae6;border:1px solid #d3dae6;border-radius:4px;color:#343741;font-size:14px;font-weight:400;line-height:1;padding:5px 15px;text-align:center;vertical-align:middle;white-space:nowrap;width:1%}.input-group-addon.input-sm{border-radius:4px;font-size:12px;padding:6px 9px}.input-group-addon.input-lg{border-radius:4px;font-size:18px;padding:18px 27px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child{border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child{border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.pagination{border-radius:4px;display:inline-block;margin:20px 0;padding-left:0}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{background-color:initial;border:1px solid #0000;color:#006bb4;float:left;line-height:1.42857143;margin-left:-1px;padding:5px 15px;position:relative;text-decoration:none}.pagination>li:first-child>a,.pagination>li:first-child>span{border-bottom-left-radius:4px;border-top-left-radius:4px;margin-left:0}.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{background-color:#0000;border-color:#0000;color:#006bb4;z-index:2}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{background-color:#0000;border-color:#0000;color:#343741;cursor:default;z-index:3}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{background-color:#26262600;border-color:#0000;color:#343741;cursor:not-allowed}.pagination-lg>li>a,.pagination-lg>li>span{font-size:18px;line-height:1.3333333;padding:18px 27px}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.pagination-sm>li>a,.pagination-sm>li>span{font-size:12px;line-height:1.5;padding:6px 9px}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.pager{list-style:none;margin:20px 0;padding-left:0;text-align:center}.pager li{display:inline}.pager li>a,.pager li>span{background-color:initial;border:1px solid #0000;border-radius:0;display:inline-block;padding:5px 14px}.pager li>a:focus,.pager li>a:hover{background-color:#0000;text-decoration:none}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{background-color:initial;color:#fff;cursor:not-allowed}.label{border-radius:.25em;color:#fff;display:inline;font-size:75%;font-weight:700;line-height:1;padding:.2em .6em .3em;text-align:center;vertical-align:initial;white-space:nowrap}a.label:focus,a.label:hover{color:#fff;cursor:pointer;text-decoration:none}.label:empty{display:none}.label-default{background-color:#006bb4}.label-default[href]:focus,.label-default[href]:hover{background-color:#004d81}.label-primary{background-color:#343741}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#1d1f25}.label-success{background-color:#017d73}.label-success[href]:focus,.label-success[href]:hover{background-color:#014a44}.label-info{background-color:#006bb4}.label-info[href]:focus,.label-info[href]:hover{background-color:#004d81}.label-warning{background-color:#f5a700}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#c28400}.label-danger{background-color:#bd271e}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#911e17}.panel{background-color:#fff;border:1px solid #0000;border-radius:4px;-webkit-box-shadow:0 1px 1px #0000000d;box-shadow:0 1px 1px #0000000d;margin-bottom:20px}.panel-body{padding:15px}.panel-heading{border-bottom:1px solid #0000;border-top-left-radius:3px;border-top-right-radius:3px;padding:10px 15px}.panel-heading>.dropdown .dropdown-toggle,.panel-title{color:inherit}.panel-title{font-size:16px;margin-bottom:0;margin-top:0}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{background-color:#f5f7fa;border-bottom-left-radius:3px;border-bottom-right-radius:3px;border-top:1px solid #d3dae6;padding:10px 15px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-radius:0;border-width:1px 0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-left-radius:3px;border-bottom-right-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.list-group+.panel-footer,.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-left:15px;padding-right:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-left-radius:3px;border-bottom-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #d3dae6}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-responsive{border:0;margin-bottom:0}.panel-group{margin-bottom:20px}.panel-group .panel{border-radius:4px;margin-bottom:0}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #d3dae6}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #d3dae6}.panel-default{border-color:#d3dae6}.panel-default>.panel-heading{background-color:#f5f7fa;border-color:#d3dae6;color:#7b7b7b}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d3dae6}.panel-default>.panel-heading .badge{background-color:#7b7b7b;color:#f5f7fa}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d3dae6}.panel-primary{border-color:#343741}.panel-primary>.panel-heading{background-color:#343741;border-color:#343741;color:#fff}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#343741}.panel-primary>.panel-heading .badge{background-color:#fff;color:#343741}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#343741}.panel-success{border-color:#014a44}.panel-success>.panel-heading{background-color:#017d73;border-color:#014a44;color:#fff}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#014a44}.panel-success>.panel-heading .badge{background-color:#fff;color:#017d73}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#014a44}.panel-info{border-color:#004d81}.panel-info>.panel-heading{background-color:#006bb4;border-color:#004d81;color:#fff}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#004d81}.panel-info>.panel-heading .badge{background-color:#fff;color:#006bb4}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#004d81}.panel-warning{border-color:#c28400}.panel-warning>.panel-heading{background-color:#f5a700;border-color:#c28400;color:#fff}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#c28400}.panel-warning>.panel-heading .badge{background-color:#fff;color:#f5a700}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#c28400}.panel-danger{border-color:#911e17}.panel-danger>.panel-heading{background-color:#bd271e;border-color:#911e17;color:#fff}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#911e17}.panel-danger>.panel-heading .badge{background-color:#fff;color:#bd271e}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#911e17}.popover{word-wrap:normal;background-clip:padding-box;background-color:#fff;border:1px solid #d3dae6;border-radius:4px;box-shadow:0 4px 8px 0 #0000001a;display:none;font-family:Open Sans,Helvetica,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:400;left:0;letter-spacing:normal;line-break:auto;line-height:1.42857143;max-width:276px;padding:1px;position:absolute;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;top:0;white-space:normal;word-break:normal;word-spacing:normal;z-index:1010}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:3px 3px 0 0;font-size:14px;margin:0;padding:8px 14px}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{border-color:#0000;border-style:solid;display:block;height:0;position:absolute;width:0}.popover>.arrow{border-width:11px}.popover>.arrow:after{border-width:10px;content:""}.popover.top>.arrow{border-bottom-width:0;border-top-color:#d3dae6;bottom:-11px;left:50%;margin-left:-11px}.popover.top>.arrow:after{border-bottom-width:0;border-top-color:#fff;bottom:1px;content:" ";margin-left:-10px}.popover.right>.arrow{border-left-width:0;border-right-color:#d3dae6;left:-11px;margin-top:-11px;top:50%}.popover.right>.arrow:after{border-left-width:0;border-right-color:#fff;bottom:-10px;content:" ";left:1px}.popover.bottom>.arrow{border-bottom-color:#d3dae6;border-top-width:0;left:50%;margin-left:-11px;top:-11px}.popover.bottom>.arrow:after{border-bottom-color:#fff;border-top-width:0;content:" ";margin-left:-10px;top:1px}.popover.left>.arrow{border-left-color:#d3dae6;border-right-width:0;margin-top:-11px;right:-11px;top:50%}.popover.left>.arrow:after{border-left-color:#fff;border-right-width:0;bottom:-10px;content:" ";right:1px}.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.modal-header:after,.modal-header:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{content:" ";display:table}.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.modal-header:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{background-color:initial;border:0;color:#0000;font:0/0 a;text-shadow:none}.hidden{display:none!important}.affix{position:fixed}.navbar>.container-fluid>.navbar-form:not(.pull-right):first-child,.navbar>.container-fluid>.navbar-nav:not(.pull-right):first-child{margin-left:-15px;margin-top:4px}.navbar{border-width:0}.navbar-btn-link{border-radius:0;margin:0}@media (max-width:768px){.navbar-btn-link{text-align:left;width:100%}}.navbar-default .badge{background-color:#fff;color:#f5f7fa}.navbar-inverse .kbnGlobalNav__logoBrand{background-color:#4b4f5d;height:45px;width:252px}.navbar-inverse .kbnGlobalNav__smallLogoBrand{background-color:#4b4f5d;height:45px;width:45px}.navbar-inverse .badge{background-color:#fff;color:#4b4f5d}.navbar-brand{cursor:default;font-size:1.8em;user-select:none}.navbar-nav{font-size:12px}.navbar-nav>.active>a{background-color:initial;border-bottom-color:#7b7b7b}.navbar-toggle{margin-top:4px}.text-primary,.text-primary:hover{color:#343741}.text-success,.text-success:hover{color:#017d73}.text-danger,.text-danger:hover{color:#bd271e}.text-warning,.text-warning:hover{color:#f5a700}.text-info,.text-info:hover{color:#006bb4}.table .danger,.table .danger a,.table .info,.table .info a,.table .success,.table .success a,.table .warning,.table .warning a,table .danger,table .danger a,table .info,table .info a,table .success,table .success a,table .warning,table .warning a{color:#fff}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #d3dae6}.form-control,input{border-width:1px}.form-control,.form-control:focus,input,input:focus{-webkit-box-shadow:none;box-shadow:none}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .form-control-feedback,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline{color:#f5a700}.has-warning .form-control,.has-warning .form-control:focus{border:1px solid #f5a700}.has-warning .input-group-addon{border-color:#f5a700}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .form-control-feedback,.has-error .help-block,.has-error .radio,.has-error .radio-inline{color:#bd271e}.has-error .form-control,.has-error .form-control:focus{border:1px solid #bd271e}.has-error .input-group-addon{border-color:#bd271e}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .form-control-feedback,.has-success .help-block,.has-success .radio,.has-success .radio-inline{color:#017d73}.has-success .form-control,.has-success .form-control:focus{border:solid #017d73}.has-success .input-group-addon{border-color:#017d73}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{border-color:#0000}.pager a,.pager a:hover{color:#fff}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{background-color:#26262600}.panel{border-radius:0;-webkit-box-shadow:0 0 0 #0000;box-shadow:0 0 0 #0000}.progress{-webkit-box-shadow:none;box-shadow:none}.progress .progress-bar{font-size:10px;line-height:10px}.well{-webkit-box-shadow:none;box-shadow:none} \ No newline at end of file + */.container{margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px}.row{margin-left:-15px;margin-right:-15px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{min-height:1px;padding-left:15px;padding-right:15px;position:relative}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}.table{font-size:14px;margin-bottom:20px;max-width:100%;width:100%}.table thead{font-size:12px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{border-top:1px solid #d3dae6;line-height:1.42857143;padding:8px;vertical-align:top}.table>thead>tr>th{border-bottom:1px solid #d3dae6;vertical-align:bottom}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #d3dae6}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{font-size:12px;padding:5px}.table-bordered{border:1px solid #d3dae6}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-hover>tbody>tr:hover,.table-striped>tbody>tr:nth-of-type(odd){background-color:#d3dae6}table col[class*=col-]{display:table-column;float:none;position:static}table td[class*=col-],table th[class*=col-]{display:table-cell;float:none;position:static}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#d3dae6}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#c3ccdd}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#017d73}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#01645c}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#006bb4}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#005c9b}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#f5a700}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#dc9600}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#bd271e}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#a7221b}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #d3dae6;margin-bottom:15px;overflow-y:hidden;width:100%}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}.form-control{background-color:#fafbfd;background-image:none;border:1px solid #d3dae6;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);color:#343741;display:block;font-size:14px;height:32px;line-height:1.42857143;padding:5px 15px;-webkit-transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;-o-transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:100%}.form-control:focus{border-color:#006bb4;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px #006bb499;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px #006bb499;outline:0}.form-control::-moz-placeholder{color:#98a2b3;opacity:1}.form-control:-ms-input-placeholder{color:#98a2b3}.form-control::-webkit-input-placeholder{color:#98a2b3}.form-control::-ms-expand{background-color:initial;border:0}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#d3dae6;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}.form-group:not(:empty){margin-bottom:15px}.checkbox,.radio{display:block;margin-bottom:10px;margin-top:10px;position:relative}.checkbox label,.radio label{cursor:pointer;font-weight:400;margin-bottom:0;min-height:20px;padding-left:20px}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{margin-left:-20px;margin-top:4px\9;position:absolute}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{cursor:pointer;display:inline-block;font-weight:400;margin-bottom:0;padding-left:20px;position:relative;vertical-align:middle}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-left:10px;margin-top:0}.checkbox-inline.disabled,.checkbox.disabled label,.radio-inline.disabled,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio label,fieldset[disabled] .radio-inline{cursor:not-allowed}.form-control-static{margin-bottom:0;min-height:34px;padding-bottom:6px;padding-top:6px}.form-control-static.input-lg,.form-control-static.input-sm{padding-left:0;padding-right:0}.input-sm{border-radius:4px;font-size:12px;height:32px;line-height:1.5;padding:6px 9px}select.input-sm{height:32px;line-height:32px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{border-radius:4px;font-size:12px;height:32px;line-height:1.5;padding:6px 9px}.form-group-sm select.form-control{height:32px;line-height:32px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{font-size:12px;height:32px;line-height:1.5;min-height:32px;padding:7px 9px}.input-lg{border-radius:4px;font-size:18px;height:62px;line-height:1.3333333;padding:18px 27px}select.input-lg{height:62px;line-height:62px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{border-radius:4px;font-size:18px;height:62px;line-height:1.3333333;padding:18px 27px}.form-group-lg select.form-control{height:62px;line-height:62px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{font-size:18px;height:62px;line-height:1.3333333;min-height:38px;padding:19px 27px}.has-feedback{position:relative}.has-feedback .form-control{padding-right:40px}.form-control-feedback{display:block;height:32px;line-height:32px;pointer-events:none;position:absolute;right:0;text-align:center;top:0;width:32px;z-index:2}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{height:62px;line-height:62px;width:62px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-sm+.form-control-feedback{height:32px;line-height:32px;width:32px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#fff}.has-success .form-control{border-color:#fff;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#e6e6e6;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #fff;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #fff}.has-success .input-group-addon{background-color:#017d73;border-color:#fff;color:#fff}.has-success .form-control-feedback,.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#fff}.has-warning .form-control{border-color:#fff;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#e6e6e6;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #fff;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #fff}.has-warning .input-group-addon{background-color:#f5a700;border-color:#fff;color:#fff}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label,.has-warning .form-control-feedback{color:#fff}.has-error .form-control{border-color:#fff;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#e6e6e6;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #fff;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #fff}.has-error .input-group-addon{background-color:#bd271e;border-color:#fff;color:#fff}.has-error .form-control-feedback{color:#fff}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{color:#6d7388;display:block;margin-bottom:10px;margin-top:5px}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;vertical-align:middle;width:auto}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-bottom:0;margin-top:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{margin-left:0;position:relative}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{margin-bottom:0;margin-top:0;padding-top:6px}.form-horizontal .checkbox,.form-horizontal .radio{min-height:26px}.form-horizontal .form-group{margin-left:-15px;margin-right:-15px}@media (min-width:768px){.form-horizontal .control-label{margin-bottom:0;padding-top:6px;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{font-size:18px;padding-top:19px}.form-horizontal .form-group-sm .control-label{font-size:12px;padding-top:7px}}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-muted{color:#b2bac6}.text-primary{color:#343741}a.text-primary:focus,a.text-primary:hover{color:#1d1f25}.text-success{color:#fff}a.text-success:focus,a.text-success:hover{color:#e6e6e6}.text-info{color:#fff}a.text-info:focus,a.text-info:hover{color:#e6e6e6}.text-warning{color:#fff}a.text-warning:focus,a.text-warning:hover{color:#e6e6e6}.text-danger{color:#fff}a.text-danger:focus,a.text-danger:hover{color:#e6e6e6}.bg-info{background-color:#006bb4}a.bg-info:focus,a.bg-info:hover{background-color:#004d81}.list-unstyled{list-style:none;padding-left:0}@media (min-width:0){.dl-horizontal dt{clear:left;float:left;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap;width:160px}.dl-horizontal dd{margin-left:180px}}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{height:0;overflow:hidden;position:relative;-webkit-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;transition-property:height,visibility;-webkit-transition-timing-function:ease;transition-timing-function:ease}.btn{background-image:none;border:1px solid #0000;border-radius:4px;cursor:pointer;display:inline-block;font-size:14px;font-weight:400;line-height:1.42857143;margin-bottom:0;padding:5px 15px;text-align:center;touch-action:manipulation;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{box-shadow:0 0 0 1px #fff,0 0 0 2px #0079a5}.btn.focus,.btn:focus,.btn:hover{color:#fff;text-decoration:none}.btn.active,.btn:active{background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125);outline:0}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{-webkit-box-shadow:none;box-shadow:none;cursor:not-allowed;filter:alpha(opacity=65);opacity:.65}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{background-color:#006bb4;border-color:#006bb4;color:#fff}.btn-default.focus,.btn-default:focus{background-color:#004d81;border-color:#001f35;color:#fff}.btn-default.active,.btn-default:active,.btn-default:hover,.open>.dropdown-toggle.btn-default{background-color:#004d81;border-color:#004777;color:#fff}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{background-color:#00375d;border-color:#001f35;color:#fff}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#006bb4;border-color:#006bb4}.btn-default .badge{background-color:#fff;color:#006bb4}.btn-primary{background-color:#006bb4;border-color:#006bb4;color:#fff}.btn-primary.focus,.btn-primary:focus{background-color:#004d81;border-color:#001f35;color:#fff}.btn-primary.active,.btn-primary:active,.btn-primary:hover,.open>.dropdown-toggle.btn-primary{background-color:#004d81;border-color:#004777;color:#fff}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{background-color:#00375d;border-color:#001f35;color:#fff}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#006bb4;border-color:#006bb4}.btn-primary .badge{background-color:#fff;color:#006bb4}.btn-xs{border-radius:4px;font-size:12px;line-height:1.5;padding:1px 5px}.navbar{border:1px solid #0000;margin-bottom:0;min-height:45px;position:relative}@media (min-width:0){.navbar{border-radius:4px}.navbar-header{float:left}}.navbar-collapse{-webkit-overflow-scrolling:touch;border-top:1px solid #0000;box-shadow:inset 0 1px 0 #ffffff1a;overflow-x:visible;padding-left:10px;padding-right:10px}.navbar-collapse.in{overflow-y:auto}@media (min-width:0){.navbar-collapse{border-top:0;box-shadow:none;width:auto}.navbar-collapse.collapse{display:block!important;height:auto!important;overflow:visible!important;padding-bottom:0}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{padding-left:0;padding-right:0}}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-left:-10px;margin-right:-10px}@media (min-width:0){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-left:0;margin-right:0}}.navbar-fixed-bottom,.navbar-fixed-top{left:0;position:fixed;right:0;z-index:1050}@media (min-width:0){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{border-width:0 0 1px;top:0}.navbar-fixed-bottom{border-width:1px 0 0;bottom:0;margin-bottom:0}.navbar-brand{float:left;font-size:18px;height:45px;line-height:20px;padding:12.5px 10px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:0){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-10px}}.navbar-toggle{background-color:initial;background-image:none;border:1px solid #0000;border-radius:4px;float:right;margin-bottom:5.5px;margin-right:10px;margin-top:5.5px;padding:9px 10px;position:relative}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{border-radius:1px;display:block;height:2px;width:22px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:0){.navbar-toggle{display:none}}.navbar-nav{margin:6.25px -10px}.navbar-nav>li>a{line-height:20px;padding-bottom:10px;padding-top:10px}@media (max-width:-1){.navbar-nav .open .dropdown-menu{background-color:initial;border:0;box-shadow:none;float:none;margin-top:0;position:static;width:auto}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:0){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-bottom:12.5px;padding-top:12.5px}}.navbar-form{border-bottom:1px solid #0000;border-top:1px solid #0000;-webkit-box-shadow:inset 0 1px 0 #ffffff1a,0 1px 0 #ffffff1a;box-shadow:inset 0 1px 0 #ffffff1a,0 1px 0 #ffffff1a;margin:6.5px -10px;padding:10px}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;vertical-align:middle;width:auto}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-bottom:0;margin-top:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{margin-left:0;position:relative}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:-1){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:0){.navbar-form{border:0;-webkit-box-shadow:none;box-shadow:none;margin-left:0;margin-right:0;padding-bottom:0;padding-top:0;width:auto}}.navbar-nav>li>.dropdown-menu{border-top-left-radius:0;border-top-right-radius:0;margin-top:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-left-radius:4px;border-top-right-radius:4px;margin-bottom:0}.navbar-text{margin-bottom:12.5px;margin-top:12.5px}@media (min-width:0){.navbar-text{float:left;margin-left:10px;margin-right:10px}.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-10px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f5f7fa;border-color:#0000}.navbar-default .navbar-brand{color:#69707d}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{background-color:initial;color:#69707d}.navbar-default .navbar-nav>li>a,.navbar-default .navbar-text{color:#69707d}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{background-color:initial;color:#69707d}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{background-color:initial;color:#343741}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{background-color:initial;color:#69707d}.navbar-default .navbar-toggle{border-color:#d3dce9}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#d3dce9}.navbar-default .navbar-toggle .icon-bar{background-color:#fff}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#0000}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{background-color:initial;color:#343741}@media (max-width:-1){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#69707d}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{background-color:initial;color:#69707d}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{background-color:initial;color:#343741}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{background-color:initial;color:#69707d}}.navbar-default .navbar-link,.navbar-default .navbar-link:hover{color:#69707d}.navbar-inverse{background-color:#343741;border-color:#1d1f25}.navbar-inverse .navbar-brand{color:#fff}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{background-color:#4b4f5d;color:#fff}.navbar-inverse .navbar-text{color:#fff}.navbar-inverse .navbar-nav>li>a{color:#d3dae6}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{background-color:#61677a;color:#fff}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{background-color:#69707d;color:#fff}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{background-color:initial;color:#b2bac6}.navbar-inverse .navbar-toggle{border-color:#1d1f25}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#1d1f25}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#24262d}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{background-color:#69707d;color:#fff}@media (max-width:-1){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#1d1f25}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#1d1f25}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#d3dae6}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{background-color:#61677a;color:#fff}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{background-color:#69707d;color:#fff}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{background-color:initial;color:#b2bac6}}.navbar-inverse .navbar-link{color:#d3dae6}.navbar-inverse .navbar-link:hover{color:#fff}.close{color:#000;filter:alpha(opacity=20);float:right;font-size:21px;font-weight:700;line-height:1;opacity:.2;text-shadow:none}.close:focus,.close:hover{color:#000;cursor:pointer;filter:alpha(opacity=50);opacity:.5;text-decoration:none}button.close{-webkit-appearance:none;background:#0000;border:0;cursor:pointer;padding:0}.modal,.modal-open{overflow:hidden}.modal{-webkit-overflow-scrolling:touch;bottom:0;display:none;left:0;outline:0;position:fixed;right:0;top:0;z-index:1070}.modal.fade .modal-dialog{-webkit-transform:translateY(-25%);-ms-transform:translateY(-25%);-o-transform:translateY(-25%);transform:translateY(-25%);-webkit-transition:-webkit-transform .3s ease-out;-moz-transition:-moz-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0);-ms-transform:translate(0);-o-transform:translate(0);transform:translate(0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{margin:10px;position:relative;width:auto}.modal-content{background-clip:padding-box;background-color:#fff;border:1px solid #0003;border-radius:4px;-webkit-box-shadow:0 3px 9px #00000080;box-shadow:0 3px 9px #00000080;outline:0;position:relative}.modal-backdrop{background-color:#000;bottom:0;left:0;position:fixed;right:0;top:0;z-index:1060}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{border-bottom:1px solid #e5e5e5;padding:15px}.modal-header .close{margin-top:-2px}.modal-title{line-height:1.42857143;margin:0}.modal-body{padding:15px;position:relative}.modal-footer{border-top:1px solid #e5e5e5;padding:15px;text-align:right}.modal-scrollbar-measure{height:50px;overflow:scroll;position:absolute;top:-9999px;width:50px}@media (min-width:768px){.modal-dialog{margin:30px auto;width:600px}.modal-content{-webkit-box-shadow:0 5px 15px #00000080;box-shadow:0 5px 15px #00000080}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}@-webkit-keyframes progress-bar-stripes{0%{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{0%{background-position:40px 0}to{background-position:0 0}}.progress{background-color:#b8bec8;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px #0000001a;box-shadow:inset 0 1px 2px #0000001a;height:20px;margin-bottom:20px;overflow:hidden}.progress-bar{background-color:#54b399;color:#fff;float:left;font-size:12px;height:100%;line-height:20px;text-align:center;-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease;width:0}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,#ffffff26 25%,#0000 0,#0000 50%,#ffffff26 0,#ffffff26 75%,#0000 0,#0000);background-image:-o-linear-gradient(45deg,#ffffff26 25%,#0000 25%,#0000 50%,#ffffff26 50%,#ffffff26 75%,#0000 75%,#0000);background-image:linear-gradient(45deg,#ffffff26 25%,#0000 0,#0000 50%,#ffffff26 0,#ffffff26 75%,#0000 0,#0000);background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#017d73}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,#ffffff26 25%,#0000 0,#0000 50%,#ffffff26 0,#ffffff26 75%,#0000 0,#0000);background-image:-o-linear-gradient(45deg,#ffffff26 25%,#0000 25%,#0000 50%,#ffffff26 50%,#ffffff26 75%,#0000 75%,#0000);background-image:linear-gradient(45deg,#ffffff26 25%,#0000 0,#0000 50%,#ffffff26 0,#ffffff26 75%,#0000 0,#0000)}.progress-bar-info{background-color:#006bb4}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,#ffffff26 25%,#0000 0,#0000 50%,#ffffff26 0,#ffffff26 75%,#0000 0,#0000);background-image:-o-linear-gradient(45deg,#ffffff26 25%,#0000 25%,#0000 50%,#ffffff26 50%,#ffffff26 75%,#0000 75%,#0000);background-image:linear-gradient(45deg,#ffffff26 25%,#0000 0,#0000 50%,#ffffff26 0,#ffffff26 75%,#0000 0,#0000)}.progress-bar-warning{background-color:#f5a700}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,#ffffff26 25%,#0000 0,#0000 50%,#ffffff26 0,#ffffff26 75%,#0000 0,#0000);background-image:-o-linear-gradient(45deg,#ffffff26 25%,#0000 25%,#0000 50%,#ffffff26 50%,#ffffff26 75%,#0000 75%,#0000);background-image:linear-gradient(45deg,#ffffff26 25%,#0000 0,#0000 50%,#ffffff26 0,#ffffff26 75%,#0000 0,#0000)}.progress-bar-danger{background-color:#bd271e}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,#ffffff26 25%,#0000 0,#0000 50%,#ffffff26 0,#ffffff26 75%,#0000 0,#0000);background-image:-o-linear-gradient(45deg,#ffffff26 25%,#0000 25%,#0000 50%,#ffffff26 50%,#ffffff26 75%,#0000 75%,#0000);background-image:linear-gradient(45deg,#ffffff26 25%,#0000 0,#0000 50%,#ffffff26 0,#ffffff26 75%,#0000 0,#0000)}.list-group{margin-bottom:20px;padding-left:0}.list-group-item{background-color:#fff;border:1px solid #d3dae6;display:block;margin-bottom:-1px;padding:10px 15px;position:relative}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;margin-bottom:0}.list-group-item--noBorder{border-top:0}a.list-group-item,button.list-group-item{color:#69707d}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#343741}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{background-color:#f5f7fa;color:#69707d;text-decoration:none}button.list-group-item{text-align:left;width:100%}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{background-color:#d3dae6;color:#b2bac6;cursor:not-allowed}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#b2bac6}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{background-color:#343741;border-color:#343741;color:#343741;z-index:2}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#969bab}.list-group-item-success{background-color:#017d73;color:#fff}a.list-group-item-success,button.list-group-item-success{color:#fff}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{background-color:#01645c;color:#fff}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{background-color:#fff;border-color:#fff;color:#fff}.list-group-item-info{background-color:#006bb4;color:#fff}a.list-group-item-info,button.list-group-item-info{color:#fff}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{background-color:#005c9b;color:#fff}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{background-color:#fff;border-color:#fff;color:#fff}.list-group-item-warning{background-color:#f5a700;color:#fff}a.list-group-item-warning,button.list-group-item-warning{color:#fff}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{background-color:#dc9600;color:#fff}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{background-color:#fff;border-color:#fff;color:#fff}.list-group-item-danger{background-color:#bd271e;color:#fff}a.list-group-item-danger,button.list-group-item-danger{color:#fff}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{background-color:#a7221b;color:#fff}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{background-color:#fff;border-color:#fff;color:#fff}.list-group-item-heading{margin-bottom:5px;margin-top:0}.list-group-item-text{line-height:1.3;margin-bottom:0}.nav{list-style:none;margin-bottom:0;padding-left:0}.nav>li,.nav>li>a{display:block;position:relative}.nav>li>a{padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{background-color:#d3dae6;text-decoration:none}.nav>li.disabled>a{color:#b2bac6}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{background-color:initial;color:#b2bac6;cursor:not-allowed;text-decoration:none}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#d3dae6;border-color:#006bb4}.nav .nav-divider{background-color:#e5e5e5;height:1px;margin:9px 0;overflow:hidden}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #d3dae6}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{border:1px solid #0000;border-radius:4px 4px 0 0;line-height:1.42857143;margin-right:2px}.nav-tabs>li>a:hover{background-color:#fff;border-color:#d3dae6}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{background-color:#fff;border:1px solid #d3dae6;border-bottom-color:#0000;color:#343741;cursor:default}.nav-tabs.nav-justified{border-bottom:0;width:100%}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{left:auto;top:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{border-radius:4px;margin-right:0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #fff}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #fff;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{background-color:#006bb4;color:#fff}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-left:0;margin-top:2px}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{left:auto;top:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{border-radius:4px;margin-right:0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #fff}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #fff;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{border-top-left-radius:0;border-top-right-radius:0;margin-top:-1px}.alert{border:1px solid #0000;border-radius:4px;margin-bottom:20px;padding:15px}.alert h4{color:inherit;margin-top:0}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{color:inherit;position:relative;right:-21px;top:-2px}.alert-success{background-color:#017d73;border-color:#014a44;color:#fff}.alert-success hr{border-top-color:#00312d}.alert-success .alert-link{color:#e6e6e6}.alert-info{background-color:#006bb4;border-color:#004d81;color:#fff}.alert-info hr{border-top-color:#003e68}.alert-info .alert-link{color:#e6e6e6}.alert-warning{background-color:#f5a700;border-color:#c28400;color:#fff}.alert-warning hr{border-top-color:#a97300}.alert-warning .alert-link{color:#e6e6e6}.alert-danger{background-color:#bd271e;border-color:#911e17;color:#fff}.alert-danger hr{border-top-color:#7b1914}.alert-danger .alert-link{color:#e6e6e6}.bsTooltip{word-wrap:normal;display:block;filter:alpha(opacity=0);font-family:Open Sans,Helvetica,Arial,sans-serif;font-size:12px;font-style:normal;font-weight:400;letter-spacing:normal;line-break:auto;line-height:1.42857143;opacity:0;position:absolute;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;z-index:1040}.bsTooltip.in{filter:alpha(opacity=80);opacity:.8}.bsTooltip.top{margin-top:-3px;padding:5px 0}.bsTooltip.right{margin-left:3px;padding:0 5px}.bsTooltip.bottom{margin-top:3px;padding:5px 0}.bsTooltip.left{margin-left:-3px;padding:0 5px}.bsTooltip-inner{background-color:#000;border-radius:4px;color:#fff;max-width:200px;padding:3px 8px;text-align:center}.bsTooltip-arrow{border-color:#0000;border-style:solid;height:0;position:absolute;width:0}.bsTooltip.top .bsTooltip-arrow{border-top-color:#000;border-width:5px 5px 0;bottom:0;left:50%;margin-left:-5px}.bsTooltip.top-left .bsTooltip-arrow{border-top-color:#000;border-width:5px 5px 0;bottom:0;margin-bottom:-5px;right:5px}.bsTooltip.top-right .bsTooltip-arrow{border-top-color:#000;border-width:5px 5px 0;bottom:0;left:5px;margin-bottom:-5px}.bsTooltip.right .bsTooltip-arrow{border-right-color:#000;border-width:5px 5px 5px 0;left:0;margin-top:-5px;top:50%}.bsTooltip.left .bsTooltip-arrow{border-left-color:#000;border-width:5px 0 5px 5px;margin-top:-5px;right:0;top:50%}.bsTooltip.bottom .bsTooltip-arrow{border-bottom-color:#000;border-width:0 5px 5px;left:50%;margin-left:-5px;top:0}.bsTooltip.bottom-left .bsTooltip-arrow{border-bottom-color:#000;border-width:0 5px 5px;margin-top:-5px;right:5px;top:0}.bsTooltip.bottom-right .bsTooltip-arrow{border-bottom-color:#000;border-width:0 5px 5px;left:5px;margin-top:-5px;top:0}.visible-lg,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}.visible-xs-block{display:block!important}.visible-xs-inline{display:inline!important}.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}.visible-sm-block{display:block!important}.visible-sm-inline{display:inline!important}.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}.visible-md-block{display:block!important}.visible-md-inline{display:inline!important}.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}.visible-lg-block{display:block!important}.visible-lg-inline{display:inline!important}.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}.hidden-print{display:none!important}}.caret{border-left:4px solid #0000;border-right:4px solid #0000;border-top:4px dashed;border-top:4px solid\9;display:inline-block;height:0;margin-left:2px;vertical-align:middle;width:0}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{background-clip:padding-box;background-color:#fff;border:1px solid #d3dae6;border-radius:4px;box-shadow:0 4px 8px 0 #0000001a;display:none;float:left;font-size:14px;left:0;list-style:none;margin:2px 0 0;min-width:160px;padding:5px 0;position:absolute;text-align:left;top:100%;z-index:1000}.dropdown-menu.pull-right{left:auto;right:0}.dropdown-menu .divider{background-color:#d3dae6;height:1px;margin:9px 0;overflow:hidden}.dropdown-menu>li>a,.dropdown-menu>li>button{clear:both;color:#7b7b7b;display:block;font-weight:400;line-height:1.42857143;padding:3px 20px;white-space:nowrap}.dropdown-menu>li>button{appearance:none;background:none;border:none;text-align:left;width:100%}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover,.dropdown-menu>li>button:focus,.dropdown-menu>li>button:hover{background-color:#343741;color:#fff;text-decoration:none}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>button,.dropdown-menu>.active>button:focus,.dropdown-menu>.active>button:hover{background-color:#343741;color:#fff;outline:0;text-decoration:none}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#98a2b3}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{background-color:initial;background-image:none;cursor:not-allowed;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);text-decoration:none}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{left:auto;right:0}.dropdown-menu-left{left:0;right:auto}.dropdown-header{color:#98a2b3;display:block;font-size:12px;line-height:1.42857143;padding:3px 20px;white-space:nowrap}.dropdown-backdrop{bottom:0;left:0;position:fixed;right:0;top:0;z-index:990}.pull-right>.dropdown-menu{left:auto;right:0}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-bottom:4px dashed;border-bottom:4px solid\9;border-top:0;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{bottom:100%;margin-bottom:2px;top:auto}@media (min-width:0){.navbar-right .dropdown-menu{left:auto;right:0}.navbar-right .dropdown-menu-left{left:0;right:auto}}.input-group{border-collapse:initial;display:table;position:relative}.input-group[class*=col-]{float:none;padding-left:0;padding-right:0}.input-group .form-control{float:left;margin-bottom:0;position:relative;width:100%;z-index:2}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon{border-radius:4px;font-size:18px;height:62px;line-height:1.3333333;padding:18px 27px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon{height:62px;line-height:62px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon{border-radius:4px;font-size:12px;height:32px;line-height:1.5;padding:6px 9px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon{height:32px;line-height:32px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon{height:auto}.input-group .form-control,.input-group-addon{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child){border-radius:0}.input-group-addon{background-color:#d3dae6;border:1px solid #d3dae6;border-radius:4px;color:#343741;font-size:14px;font-weight:400;line-height:1;padding:5px 15px;text-align:center;vertical-align:middle;white-space:nowrap;width:1%}.input-group-addon.input-sm{border-radius:4px;font-size:12px;padding:6px 9px}.input-group-addon.input-lg{border-radius:4px;font-size:18px;padding:18px 27px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child{border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child{border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.pagination{border-radius:4px;display:inline-block;margin:20px 0;padding-left:0}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{background-color:initial;border:1px solid #0000;color:#006bb4;float:left;line-height:1.42857143;margin-left:-1px;padding:5px 15px;position:relative;text-decoration:none}.pagination>li:first-child>a,.pagination>li:first-child>span{border-bottom-left-radius:4px;border-top-left-radius:4px;margin-left:0}.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{background-color:#0000;border-color:#0000;color:#006bb4;z-index:2}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{background-color:#0000;border-color:#0000;color:#343741;cursor:default;z-index:3}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{background-color:#26262600;border-color:#0000;color:#343741;cursor:not-allowed}.pagination-lg>li>a,.pagination-lg>li>span{font-size:18px;line-height:1.3333333;padding:18px 27px}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.pagination-sm>li>a,.pagination-sm>li>span{font-size:12px;line-height:1.5;padding:6px 9px}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.pager{list-style:none;margin:20px 0;padding-left:0;text-align:center}.pager li{display:inline}.pager li>a,.pager li>span{background-color:initial;border:1px solid #0000;border-radius:0;display:inline-block;padding:5px 14px}.pager li>a:focus,.pager li>a:hover{background-color:#0000;text-decoration:none}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{background-color:initial;color:#fff;cursor:not-allowed}.label{border-radius:.25em;color:#fff;display:inline;font-size:75%;font-weight:700;line-height:1;padding:.2em .6em .3em;text-align:center;vertical-align:initial;white-space:nowrap}a.label:focus,a.label:hover{color:#fff;cursor:pointer;text-decoration:none}.label:empty{display:none}.label-default{background-color:#006bb4}.label-default[href]:focus,.label-default[href]:hover{background-color:#004d81}.label-primary{background-color:#343741}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#1d1f25}.label-success{background-color:#017d73}.label-success[href]:focus,.label-success[href]:hover{background-color:#014a44}.label-info{background-color:#006bb4}.label-info[href]:focus,.label-info[href]:hover{background-color:#004d81}.label-warning{background-color:#f5a700}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#c28400}.label-danger{background-color:#bd271e}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#911e17}.panel{background-color:#fff;border:1px solid #0000;border-radius:4px;-webkit-box-shadow:0 1px 1px #0000000d;box-shadow:0 1px 1px #0000000d;margin-bottom:20px}.panel-body{padding:15px}.panel-heading{border-bottom:1px solid #0000;border-top-left-radius:3px;border-top-right-radius:3px;padding:10px 15px}.panel-heading>.dropdown .dropdown-toggle,.panel-title{color:inherit}.panel-title{font-size:16px;margin-bottom:0;margin-top:0}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{background-color:#f5f7fa;border-bottom-left-radius:3px;border-bottom-right-radius:3px;border-top:1px solid #d3dae6;padding:10px 15px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-radius:0;border-width:1px 0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-left-radius:3px;border-bottom-right-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.list-group+.panel-footer,.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-left:15px;padding-right:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-left-radius:3px;border-bottom-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #d3dae6}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-responsive{border:0;margin-bottom:0}.panel-group{margin-bottom:20px}.panel-group .panel{border-radius:4px;margin-bottom:0}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #d3dae6}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #d3dae6}.panel-default{border-color:#d3dae6}.panel-default>.panel-heading{background-color:#f5f7fa;border-color:#d3dae6;color:#7b7b7b}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d3dae6}.panel-default>.panel-heading .badge{background-color:#7b7b7b;color:#f5f7fa}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d3dae6}.panel-primary{border-color:#343741}.panel-primary>.panel-heading{background-color:#343741;border-color:#343741;color:#fff}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#343741}.panel-primary>.panel-heading .badge{background-color:#fff;color:#343741}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#343741}.panel-success{border-color:#014a44}.panel-success>.panel-heading{background-color:#017d73;border-color:#014a44;color:#fff}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#014a44}.panel-success>.panel-heading .badge{background-color:#fff;color:#017d73}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#014a44}.panel-info{border-color:#004d81}.panel-info>.panel-heading{background-color:#006bb4;border-color:#004d81;color:#fff}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#004d81}.panel-info>.panel-heading .badge{background-color:#fff;color:#006bb4}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#004d81}.panel-warning{border-color:#c28400}.panel-warning>.panel-heading{background-color:#f5a700;border-color:#c28400;color:#fff}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#c28400}.panel-warning>.panel-heading .badge{background-color:#fff;color:#f5a700}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#c28400}.panel-danger{border-color:#911e17}.panel-danger>.panel-heading{background-color:#bd271e;border-color:#911e17;color:#fff}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#911e17}.panel-danger>.panel-heading .badge{background-color:#fff;color:#bd271e}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#911e17}.popover{word-wrap:normal;background-clip:padding-box;background-color:#fff;border:1px solid #d3dae6;border-radius:4px;box-shadow:0 4px 8px 0 #0000001a;display:none;font-family:Open Sans,Helvetica,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:400;left:0;letter-spacing:normal;line-break:auto;line-height:1.42857143;max-width:276px;padding:1px;position:absolute;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;top:0;white-space:normal;word-break:normal;word-spacing:normal;z-index:1010}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:3px 3px 0 0;font-size:14px;margin:0;padding:8px 14px}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{border-color:#0000;border-style:solid;display:block;height:0;position:absolute;width:0}.popover>.arrow{border-width:11px}.popover>.arrow:after{border-width:10px;content:""}.popover.top>.arrow{border-bottom-width:0;border-top-color:#d3dae6;bottom:-11px;left:50%;margin-left:-11px}.popover.top>.arrow:after{border-bottom-width:0;border-top-color:#fff;bottom:1px;content:" ";margin-left:-10px}.popover.right>.arrow{border-left-width:0;border-right-color:#d3dae6;left:-11px;margin-top:-11px;top:50%}.popover.right>.arrow:after{border-left-width:0;border-right-color:#fff;bottom:-10px;content:" ";left:1px}.popover.bottom>.arrow{border-bottom-color:#d3dae6;border-top-width:0;left:50%;margin-left:-11px;top:-11px}.popover.bottom>.arrow:after{border-bottom-color:#fff;border-top-width:0;content:" ";margin-left:-10px;top:1px}.popover.left>.arrow{border-left-color:#d3dae6;border-right-width:0;margin-top:-11px;right:-11px;top:50%}.popover.left>.arrow:after{border-left-color:#fff;border-right-width:0;bottom:-10px;content:" ";right:1px}.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.modal-header:after,.modal-header:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{content:" ";display:table}.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.modal-header:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{background-color:initial;border:0;color:#0000;font:0/0 a;text-shadow:none}.hidden{display:none!important}.affix{position:fixed}.navbar>.container-fluid>.navbar-form:not(.pull-right):first-child,.navbar>.container-fluid>.navbar-nav:not(.pull-right):first-child{margin-left:-15px;margin-top:4px}.navbar{border-width:0}.navbar-btn-link{border-radius:0;margin:0}@media (max-width:768px){.navbar-btn-link{text-align:left;width:100%}}.navbar-default .badge{background-color:#fff;color:#f5f7fa}.navbar-inverse .kbnGlobalNav__logoBrand{background-color:#4b4f5d;height:45px;width:252px}.navbar-inverse .kbnGlobalNav__smallLogoBrand{background-color:#4b4f5d;height:45px;width:45px}.navbar-inverse .badge{background-color:#fff;color:#4b4f5d}.navbar-brand{cursor:default;font-size:1.8em;user-select:none}.navbar-nav{font-size:12px}.navbar-nav>.active>a{background-color:initial;border-bottom-color:#7b7b7b}.navbar-toggle{margin-top:4px}.text-primary,.text-primary:hover{color:#343741}.text-success,.text-success:hover{color:#017d73}.text-danger,.text-danger:hover{color:#bd271e}.text-warning,.text-warning:hover{color:#f5a700}.text-info,.text-info:hover{color:#006bb4}.table .danger,.table .danger a,.table .info,.table .info a,.table .success,.table .success a,.table .warning,.table .warning a,table .danger,table .danger a,table .info,table .info a,table .success,table .success a,table .warning,table .warning a{color:#fff}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #d3dae6}.form-control{border-width:1px}.form-control,.form-control:focus{-webkit-box-shadow:none;box-shadow:none}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .form-control-feedback,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline{color:#f5a700}.has-warning .form-control,.has-warning .form-control:focus{border:1px solid #f5a700}.has-warning .input-group-addon{border-color:#f5a700}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .form-control-feedback,.has-error .help-block,.has-error .radio,.has-error .radio-inline{color:#bd271e}.has-error .form-control,.has-error .form-control:focus{border:1px solid #bd271e}.has-error .input-group-addon{border-color:#bd271e}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .form-control-feedback,.has-success .help-block,.has-success .radio,.has-success .radio-inline{color:#017d73}.has-success .form-control,.has-success .form-control:focus{border:solid #017d73}.has-success .input-group-addon{border-color:#017d73}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{border-color:#0000}.pager a,.pager a:hover{color:#fff}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{background-color:#26262600}.panel{border-radius:0;-webkit-box-shadow:0 0 0 #0000;box-shadow:0 0 0 #0000}.progress{-webkit-box-shadow:none;box-shadow:none}.progress .progress-bar{font-size:10px;line-height:10px}.well{-webkit-box-shadow:none;box-shadow:none} \ No newline at end of file diff --git a/packages/kbn-search-connectors/components/cron_editor/__snapshots__/cron_editor.test.tsx.snap b/packages/kbn-search-connectors/components/cron_editor/__snapshots__/cron_editor.test.tsx.snap index ba8acd3925f10..5625124ec3efb 100644 --- a/packages/kbn-search-connectors/components/cron_editor/__snapshots__/cron_editor.test.tsx.snap +++ b/packages/kbn-search-connectors/components/cron_editor/__snapshots__/cron_editor.test.tsx.snap @@ -1,11314 +1,3676 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`CronEditor is rendered with a DAY frequency 1`] = ` - - - } - labelType="label" +Array [ +
-
- - - -
-
- - -
- - - -
- - - - -
- - - - - -
-
-
-
-
-
-
+ Frequency +
- - - - } - labelType="label" +
-
- - - -
+ Every +
- -
- - - - - - , - "ctr": 4, - "insertionPoint": undefined, - "isSpeedy": false, - "key": "css", - "nonce": undefined, - "prepend": undefined, - "tags": Array [ - , - , - , - , - ], - }, - } - } - isStringTag={true} - serialized={ - Object { - "map": undefined, - "name": "bqv98l-euiFlexGroup-responsive-xs-flexStart-stretch-row", - "next": undefined, - "styles": "display:flex;align-items:stretch;flex-grow:1;label:euiFlexGroup;;;@media only screen and (max-width: 767px){flex-wrap:wrap;&>.euiFlexItem{inline-size: 100%; flex-basis:100%;}};label:responsive;;;;gap:4px;;label:xs;;;justify-content:flex-start;label:flexStart;;;align-items:stretch;label:stretch;;;flex-direction:row;label:row;;;", - "toString": [Function], - } - } + + + + + + + +
+ +
- + +
- - - -`; - -exports[`CronEditor is rendered with a HOUR frequency 1`] = ` - - - } - labelType="label" +
+
, +
-
- - - -
+ Time + +
+
- - +
- - - + 10 + + + + + + + + + + + + + + +
- - - - -
- - - - - -
-
+ +
-
-
-
-
- - - - } - labelType="label" - > -
+
+
- - -
-
- - +
- - - -
- - - - -
- - - - - -
-
-
+ +
-
-
+
+ -
- -
+ + , +] `; -exports[`CronEditor is rendered with a MINUTE frequency 1`] = ` - - - } - labelType="label" +exports[`CronEditor is rendered with a HOUR frequency 1`] = ` +Array [ +
-
- - - -
-
- - -
- - - -
- - - - -
- - - - - -
-
-
-
-
-
-
+ Frequency +
- - - - } - labelType="label" +
-
- - - -
+ Every +
- - -
- - - -
- - - - -
- - - - - -
-
-
- - - -
-
-
+ minute + + + + + + + +
+ + +
- - - -`; - -exports[`CronEditor is rendered with a MONTH frequency 1`] = ` - - - } - labelType="label" +
+
, +
-
- - - -
-
- - -
- - - -
- - - - -
- - - - - -
-
-
-
-
-
-
+ Minute +
- - - - } - labelType="label" +
-
- - - -
+ At +
- - -
- - - -
- - - - -
- - - - - -
-
-
-
-
-
-
-
- - - } - labelType="label" - > -
-
- - - -
-
- -
- - - - - - , - "ctr": 4, - "insertionPoint": undefined, - "isSpeedy": false, - "key": "css", - "nonce": undefined, - "prepend": undefined, - "tags": Array [ - , - , - , - , - ], - }, - } - } - isStringTag={true} - serialized={ - Object { - "map": undefined, - "name": "bqv98l-euiFlexGroup-responsive-xs-flexStart-stretch-row", - "next": undefined, - "styles": "display:flex;align-items:stretch;flex-grow:1;label:euiFlexGroup;;;@media only screen and (max-width: 767px){flex-wrap:wrap;&>.euiFlexItem{inline-size: 100%; flex-basis:100%;}};label:responsive;;;;gap:4px;;label:xs;;;justify-content:flex-start;label:flexStart;;;align-items:stretch;label:stretch;;;flex-direction:row;label:row;;;", - "toString": [Function], - } - } - /> -
- -
- - - - - - , - "ctr": 4, - "insertionPoint": undefined, - "isSpeedy": false, - "key": "css", - "nonce": undefined, - "prepend": undefined, - "tags": Array [ - , - , - , - , - ], - }, - } - } - isStringTag={true} - serialized={ - Object { - "map": undefined, - "name": "kpsrin-euiFlexItem-growZero", - "next": undefined, - "styles": "display:flex;flex-direction:column;label:euiFlexItem;;;flex-grow:0;flex-basis:auto;label:growZero;;;;", - "toString": [Function], - } - } - /> -
- - -
- - - -
- - - - -
- - - - - -
-
-
-
-
-
-
-
-
- -
- - - - - - , - "ctr": 4, - "insertionPoint": undefined, - "isSpeedy": false, - "key": "css", - "nonce": undefined, - "prepend": undefined, - "tags": Array [ - , - , - , - , - ], - }, - } - } - isStringTag={true} - serialized={ - Object { - "map": undefined, - "name": "9sbomz-euiFlexItem-grow-1", - "next": undefined, - "styles": "display:flex;flex-direction:column;label:euiFlexItem;;;flex-basis:0%;label:grow;;;flex-grow:1;label:1;;;", - "toString": [Function], - } - } - /> -
- - -
- - - -
- - - - -
- - - - - -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - + 01 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+
+ + , +] +`; + +exports[`CronEditor is rendered with a MINUTE frequency 1`] = ` +Array [ +
+
+ +
+
+
+ +
+ +
+ + +
+
+
+
+
, +
+
+ +
+
+
+ +
+ +
+ + +
+
+ +
+
+
, +] +`; + +exports[`CronEditor is rendered with a MONTH frequency 1`] = ` +Array [ +
+
+ +
+
+
+ +
+ +
+ + +
+
+
+
+
, +
+
+ +
+
+
+ +
+ +
+ + +
+
+
+
+
, +
+
+ +
+
+
+
+
+ +
+ +
+ + +
+
+
+
+
+
+ +
+ +
+ + +
+
+
+
+
+
+
, +] `; exports[`CronEditor is rendered with a WEEK frequency 1`] = ` - - - } - labelType="label" +Array [ +
+ +
+
+
+ +
+ +
+ + +
+
+
+
+
, +
+
+ +
+
- + On + +
- - + + + + + + + + +
+ + +
+
+
+
, +
+
+ +
+
- +
+ +
+ +
+ + +
+
+
+
+
- +
- - - + 51 + + + + + + + + + +
- - - - -
- - - - - -
-
+ +
-
- +
+
-
- , +] +`; + +exports[`CronEditor is rendered with a YEAR frequency 1`] = ` +Array [ +
- - } - labelType="label" +
+ +
+
-
- - - -
+ Every +
- - -
- - - -
- - - - -
- - - - - -
-
-
-
-
-
+ minute + + + + + + + +
+ + +
- - - } - labelType="label" +
+
, +
+
+ +
+
-
- - - -
+ In +
- -
- - - - - - , - "ctr": 4, - "insertionPoint": undefined, - "isSpeedy": false, - "key": "css", - "nonce": undefined, - "prepend": undefined, - "tags": Array [ - , - , - , - , - ], - }, - } - } - isStringTag={true} - serialized={ - Object { - "map": undefined, - "name": "bqv98l-euiFlexGroup-responsive-xs-flexStart-stretch-row", - "next": undefined, - "styles": "display:flex;align-items:stretch;flex-grow:1;label:euiFlexGroup;;;@media only screen and (max-width: 767px){flex-wrap:wrap;&>.euiFlexItem{inline-size: 100%; flex-basis:100%;}};label:responsive;;;;gap:4px;;label:xs;;;justify-content:flex-start;label:flexStart;;;align-items:stretch;label:stretch;;;flex-direction:row;label:row;;;", - "toString": [Function], - } - } + + + + + + + + + + + + + +
+ +
- + +
- - - -`; - -exports[`CronEditor is rendered with a YEAR frequency 1`] = ` - - - } - labelType="label" +
+
, +
-
- - - -
-
- - -
- - - -
- - - - -
- - - - - -
-
-
-
-
-
-
+ Date +
- - - - } - labelType="label" +
-
- - - -
+ On the +
- - -
- - - -
- - - - -
- - - - - -
-
-
-
-
-
+ 1st + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
- - - } - labelType="label" +
+
, +
+
+ +
+
- - -
-
- - +
- - - -
- - - - -
- - - - - -
-
-
+ +
-
-
+
+
-
-
- - } - labelType="label" - > -
- - -
-
-
- - - - - - , - "ctr": 4, - "insertionPoint": undefined, - "isSpeedy": false, - "key": "css", - "nonce": undefined, - "prepend": undefined, - "tags": Array [ - , - , - , - , - ], - }, - } - } - isStringTag={true} - serialized={ - Object { - "map": undefined, - "name": "bqv98l-euiFlexGroup-responsive-xs-flexStart-stretch-row", - "next": undefined, - "styles": "display:flex;align-items:stretch;flex-grow:1;label:euiFlexGroup;;;@media only screen and (max-width: 767px){flex-wrap:wrap;&>.euiFlexItem{inline-size: 100%; flex-basis:100%;}};label:responsive;;;;gap:4px;;label:xs;;;justify-content:flex-start;label:flexStart;;;align-items:stretch;label:stretch;;;flex-direction:row;label:row;;;", - "toString": [Function], - } - } - /> + class="euiFormControlLayout__childrenWrapper" + style="--euiFormControlRightIconsCount: 1;" + > +
- -
- - - - - - , - "ctr": 4, - "insertionPoint": undefined, - "isSpeedy": false, - "key": "css", - "nonce": undefined, - "prepend": undefined, - "tags": Array [ - , - , - , - , - ], - }, - } - } - isStringTag={true} - serialized={ - Object { - "map": undefined, - "name": "kpsrin-euiFlexItem-growZero", - "next": undefined, - "styles": "display:flex;flex-direction:column;label:euiFlexItem;;;flex-grow:0;flex-basis:auto;label:growZero;;;;", - "toString": [Function], - } - } - /> -
- - -
- - - -
- - - - -
- - - - - -
-
-
-
-
-
-
-
-
- -
- - - - - - , - "ctr": 4, - "insertionPoint": undefined, - "isSpeedy": false, - "key": "css", - "nonce": undefined, - "prepend": undefined, - "tags": Array [ - , - , - , - , - ], - }, - } - } - isStringTag={true} - serialized={ - Object { - "map": undefined, - "name": "9sbomz-euiFlexItem-grow-1", - "next": undefined, - "styles": "display:flex;flex-direction:column;label:euiFlexItem;;;flex-basis:0%;label:grow;;;flex-grow:1;label:1;;;", - "toString": [Function], - } - } - /> -
- - -
- - - -
- - - - -
- - - - - -
-
-
-
-
-
-
-
-
+ +
-
+
-
- -
+ + , +] `; diff --git a/packages/kbn-search-connectors/components/cron_editor/cron_editor.test.tsx b/packages/kbn-search-connectors/components/cron_editor/cron_editor.test.tsx index cb867b91951cc..060bef2930142 100644 --- a/packages/kbn-search-connectors/components/cron_editor/cron_editor.test.tsx +++ b/packages/kbn-search-connectors/components/cron_editor/cron_editor.test.tsx @@ -28,7 +28,7 @@ describe('CronEditor', () => { /> ); - expect(component).toMatchSnapshot(); + expect(component.render()).toMatchSnapshot(); }); }); diff --git a/packages/kbn-securitysolution-autocomplete/src/field/__tests__/__snapshots__/index.test.tsx.snap b/packages/kbn-securitysolution-autocomplete/src/field/__tests__/__snapshots__/index.test.tsx.snap index 1a4c9076a20d6..d9e917684d768 100644 --- a/packages/kbn-securitysolution-autocomplete/src/field/__tests__/__snapshots__/index.test.tsx.snap +++ b/packages/kbn-securitysolution-autocomplete/src/field/__tests__/__snapshots__/index.test.tsx.snap @@ -17,6 +17,7 @@ Object { >