From 2f55e68d020a3c6d55c7db6e1fec4036fa35aee7 Mon Sep 17 00:00:00 2001 From: Christos Nasikas Date: Mon, 1 Nov 2021 10:36:53 +0200 Subject: [PATCH 001/110] [Cases] Do not show deprecated callout on deleted connectors (#116615) Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- x-pack/plugins/cases/public/components/utils.test.ts | 8 +++++++- x-pack/plugins/cases/public/components/utils.ts | 2 +- .../builtin_action_types/servicenow/helpers.test.ts | 8 +++++++- .../components/builtin_action_types/servicenow/helpers.ts | 4 ++-- 4 files changed, 17 insertions(+), 5 deletions(-) diff --git a/x-pack/plugins/cases/public/components/utils.test.ts b/x-pack/plugins/cases/public/components/utils.test.ts index 496dc8d8c80663..86d37d2e5e59e7 100644 --- a/x-pack/plugins/cases/public/components/utils.test.ts +++ b/x-pack/plugins/cases/public/components/utils.test.ts @@ -7,7 +7,7 @@ import { actionTypeRegistryMock } from '../../../triggers_actions_ui/public/application/action_type_registry.mock'; import { triggersActionsUiMock } from '../../../triggers_actions_ui/public/mocks'; -import { getConnectorIcon } from './utils'; +import { getConnectorIcon, isDeprecatedConnector } from './utils'; describe('Utils', () => { describe('getConnectorIcon', () => { @@ -37,4 +37,10 @@ describe('Utils', () => { expect(getConnectorIcon(mockTriggersActionsUiService, '.not-registered')).toBe(''); }); }); + + describe('isDeprecatedConnector', () => { + it('returns false if the connector is not defined', () => { + expect(isDeprecatedConnector()).toBe(false); + }); + }); }); diff --git a/x-pack/plugins/cases/public/components/utils.ts b/x-pack/plugins/cases/public/components/utils.ts index 74137789958a46..3ac48135edae84 100644 --- a/x-pack/plugins/cases/public/components/utils.ts +++ b/x-pack/plugins/cases/public/components/utils.ts @@ -80,7 +80,7 @@ export const getConnectorIcon = ( // TODO: Remove when the applications are certified export const isDeprecatedConnector = (connector?: CaseActionConnector): boolean => { if (connector == null) { - return true; + return false; } if (!ENABLE_NEW_SN_ITSM_CONNECTOR && connector.actionTypeId === '.servicenow') { diff --git a/x-pack/plugins/triggers_actions_ui/public/application/components/builtin_action_types/servicenow/helpers.test.ts b/x-pack/plugins/triggers_actions_ui/public/application/components/builtin_action_types/servicenow/helpers.test.ts index e40db85bcb12d1..525430ea7fc641 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/components/builtin_action_types/servicenow/helpers.test.ts +++ b/x-pack/plugins/triggers_actions_ui/public/application/components/builtin_action_types/servicenow/helpers.test.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { isRESTApiError, isFieldInvalid } from './helpers'; +import { isRESTApiError, isFieldInvalid, isDeprecatedConnector } from './helpers'; describe('helpers', () => { describe('isRESTApiError', () => { @@ -48,4 +48,10 @@ describe('helpers', () => { expect(isFieldInvalid('description', [])).toBeFalsy(); }); }); + + describe('isDeprecatedConnector', () => { + it('returns false if the connector is not defined', () => { + expect(isDeprecatedConnector()).toBe(false); + }); + }); }); diff --git a/x-pack/plugins/triggers_actions_ui/public/application/components/builtin_action_types/servicenow/helpers.ts b/x-pack/plugins/triggers_actions_ui/public/application/components/builtin_action_types/servicenow/helpers.ts index 755923acc25cb4..7274c595274158 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/components/builtin_action_types/servicenow/helpers.ts +++ b/x-pack/plugins/triggers_actions_ui/public/application/components/builtin_action_types/servicenow/helpers.ts @@ -28,9 +28,9 @@ export const isFieldInvalid = ( ): boolean => error !== undefined && error.length > 0 && field != null; // TODO: Remove when the applications are certified -export const isDeprecatedConnector = (connector: ServiceNowActionConnector): boolean => { +export const isDeprecatedConnector = (connector?: ServiceNowActionConnector): boolean => { if (connector == null) { - return true; + return false; } if (!ENABLE_NEW_SN_ITSM_CONNECTOR && connector.actionTypeId === '.servicenow') { From 8fd02151e95edf13a1ce18db3d4a291a99f165aa Mon Sep 17 00:00:00 2001 From: Ashokaditya Date: Mon, 1 Nov 2021 11:56:07 +0100 Subject: [PATCH 002/110] [Security Solution][Endpoint] Add tests for pending status API changes (#115998) * add tests for pending status api changes related to elastic/kibana/pull/115441 refs elastic/security-team/issues/1705 * update mock refs elastic/kibana/pull/116214 Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../server/endpoint/routes/actions/mocks.ts | 57 ++++++- .../endpoint/routes/actions/status.test.ts | 149 +++++++++++++++++- .../server/endpoint/services/actions.ts | 8 +- 3 files changed, 202 insertions(+), 12 deletions(-) diff --git a/x-pack/plugins/security_solution/server/endpoint/routes/actions/mocks.ts b/x-pack/plugins/security_solution/server/endpoint/routes/actions/mocks.ts index 1c9d781af38e75..a2e01e7e3312b2 100644 --- a/x-pack/plugins/security_solution/server/endpoint/routes/actions/mocks.ts +++ b/x-pack/plugins/security_solution/server/endpoint/routes/actions/mocks.ts @@ -139,6 +139,7 @@ export class MockResponse { private command: ISOLATION_ACTIONS = 'isolate'; private comment?: string; private error?: string; + private ack?: boolean; constructor() {} @@ -154,9 +155,61 @@ export class MockResponse { command: this.command, comment: this.comment, }, + action_response: { + endpoint: { + ack: this.ack, + }, + }, }; } + public withAck(ack?: boolean) { + this.ack = ack; + return this; + } + + public forAction(id: string) { + this.actionID = id; + return this; + } + public forAgent(id: string) { + this.agent = id; + return this; + } +} + +export const aMockResponse = (actionID: string, agentID: string, ack?: boolean): MockResponse => { + return new MockResponse().forAction(actionID).forAgent(agentID).withAck(ack); +}; + +export class MockEndpointResponse { + private actionID: string = uuid.v4(); + private ts: moment.Moment = moment(); + private started: moment.Moment = moment(); + private completed: moment.Moment = moment(); + private agent: string = ''; + private command: ISOLATION_ACTIONS = 'isolate'; + private comment?: string; + private error?: string; + + constructor() {} + + public build(): LogsEndpointActionResponse { + return { + '@timestamp': this.ts.toISOString(), + EndpointActions: { + action_id: this.actionID, + completed_at: this.completed.toISOString(), + data: { + command: this.command, + comment: this.comment, + }, + started_at: this.started.toISOString(), + }, + agent: { id: this.agent }, + error: { message: this.error ?? '' }, + }; + } public forAction(id: string) { this.actionID = id; return this; @@ -167,6 +220,6 @@ export class MockResponse { } } -export const aMockResponse = (actionID: string, agentID: string): MockResponse => { - return new MockResponse().forAction(actionID).forAgent(agentID); +export const aMockEndpointResponse = (actionID: string, agentID: string): MockEndpointResponse => { + return new MockEndpointResponse().forAction(actionID).forAgent(agentID); }; diff --git a/x-pack/plugins/security_solution/server/endpoint/routes/actions/status.test.ts b/x-pack/plugins/security_solution/server/endpoint/routes/actions/status.test.ts index 2f8ba30936f25b..a8592f02691aa9 100644 --- a/x-pack/plugins/security_solution/server/endpoint/routes/actions/status.test.ts +++ b/x-pack/plugins/security_solution/server/endpoint/routes/actions/status.test.ts @@ -27,7 +27,15 @@ import { } from '../../mocks'; import { registerActionStatusRoutes } from './status'; import uuid from 'uuid'; -import { aMockAction, aMockResponse, MockAction, mockSearchResult, MockResponse } from './mocks'; +import { + aMockAction, + aMockResponse, + aMockEndpointResponse, + MockEndpointResponse, + MockAction, + mockSearchResult, + MockResponse, +} from './mocks'; describe('Endpoint Action Status', () => { describe('schema', () => { @@ -62,7 +70,11 @@ describe('Endpoint Action Status', () => { // convenience for calling the route and handler for action status let getPendingStatus: (reqParams?: any) => Promise>; // convenience for injecting mock responses for actions index and responses - let havingActionsAndResponses: (actions: MockAction[], responses: any[]) => void; + let havingActionsAndResponses: ( + actions: MockAction[], + responses: MockResponse[], + endpointResponses?: MockEndpointResponse[] + ) => void; beforeEach(() => { const esClientMock = elasticsearchServiceMock.createScopedClusterClient(); @@ -94,12 +106,19 @@ describe('Endpoint Action Status', () => { return mockResponse; }; - havingActionsAndResponses = (actions: MockAction[], responses: MockResponse[]) => { + havingActionsAndResponses = ( + actions: MockAction[], + responses: MockResponse[], + endpointResponses?: MockEndpointResponse[] + ) => { esClientMock.asCurrentUser.search = jest.fn().mockImplementation((req) => { const size = req.size ? req.size : 10; - const items: any[] = - req.index === '.fleet-actions' ? actions.splice(0, size) : responses.splice(0, size); + req.index === '.fleet-actions' + ? actions.splice(0, size) + : req.index === '.logs-endpoint.action.responses' && !!endpointResponses + ? endpointResponses + : responses.splice(0, size); if (items.length > 0) { return Promise.resolve(mockSearchResult(items.map((x) => x.build()))); @@ -311,5 +330,125 @@ describe('Endpoint Action Status', () => { }, }); }); + + describe('with endpoint response index', () => { + it('should respond with 1 pending action response when no endpoint response', async () => { + const mockAgentID = 'XYZABC-000'; + const actionID = 'some-known-action_id'; + havingActionsAndResponses( + [aMockAction().withAgent(mockAgentID).withID(actionID)], + [aMockResponse(actionID, mockAgentID, true)] + ); + (endpointAppContextService.getEndpointMetadataService as jest.Mock) = jest + .fn() + .mockReturnValue({ + findHostMetadataForFleetAgents: jest.fn().mockResolvedValue([]), + }); + const response = await getPendingStatus({ + query: { + agent_ids: [mockAgentID], + }, + }); + + expect(response.ok).toBeCalled(); + expect((response.ok.mock.calls[0][0]?.body as any)?.data).toHaveLength(1); + expect((response.ok.mock.calls[0][0]?.body as any)?.data[0].agent_id).toEqual(mockAgentID); + }); + + it('should respond with 0 pending action response when there is a matching endpoint response', async () => { + const mockAgentID = 'XYZABC-000'; + const actionID = 'some-known-action_id'; + havingActionsAndResponses( + [aMockAction().withAgent(mockAgentID).withID(actionID)], + [aMockResponse(actionID, mockAgentID, true)], + [aMockEndpointResponse(actionID, mockAgentID)] + ); + (endpointAppContextService.getEndpointMetadataService as jest.Mock) = jest + .fn() + .mockReturnValue({ + findHostMetadataForFleetAgents: jest.fn().mockResolvedValue([]), + }); + const response = await getPendingStatus({ + query: { + agent_ids: [mockAgentID], + }, + }); + + expect(response.ok).toBeCalled(); + expect((response.ok.mock.calls[0][0]?.body as any)?.data).toHaveLength(1); + expect((response.ok.mock.calls[0][0]?.body as any)?.data[0].agent_id).toEqual(mockAgentID); + }); + + it('should include a total count of a pending action response', async () => { + const mockAgentId = 'XYZABC-000'; + const actionIds = ['action_id_0', 'action_id_1']; + havingActionsAndResponses( + [ + aMockAction().withAgent(mockAgentId).withAction('isolate').withID(actionIds[0]), + aMockAction().withAgent(mockAgentId).withAction('isolate').withID(actionIds[1]), + ], + [ + aMockResponse(actionIds[0], mockAgentId, true), + aMockResponse(actionIds[1], mockAgentId, true), + ] + ); + (endpointAppContextService.getEndpointMetadataService as jest.Mock) = jest + .fn() + .mockReturnValue({ + findHostMetadataForFleetAgents: jest.fn().mockResolvedValue([]), + }); + const response = await getPendingStatus({ + query: { + agent_ids: [mockAgentId], + }, + }); + expect(response.ok).toBeCalled(); + expect((response.ok.mock.calls[0][0]?.body as any)?.data).toHaveLength(1); + expect((response.ok.mock.calls[0][0]?.body as any)?.data[0].agent_id).toEqual(mockAgentId); + expect( + (response.ok.mock.calls[0][0]?.body as any)?.data[0].pending_actions.isolate + ).toEqual(2); + }); + + it('should show multiple pending action responses, and their counts', async () => { + const mockAgentID = 'XYZABC-000'; + const actionIds = ['ack_0', 'ack_1', 'ack_2', 'ack_3', 'ack_4']; + havingActionsAndResponses( + [ + aMockAction().withAgent(mockAgentID).withAction('isolate').withID(actionIds[0]), + aMockAction().withAgent(mockAgentID).withAction('isolate').withID(actionIds[1]), + aMockAction().withAgent(mockAgentID).withAction('isolate').withID(actionIds[2]), + aMockAction().withAgent(mockAgentID).withAction('unisolate').withID(actionIds[3]), + aMockAction().withAgent(mockAgentID).withAction('unisolate').withID(actionIds[4]), + ], + [ + aMockResponse(actionIds[0], mockAgentID, true), + aMockResponse(actionIds[1], mockAgentID, true), + aMockResponse(actionIds[2], mockAgentID, true), + aMockResponse(actionIds[3], mockAgentID, true), + aMockResponse(actionIds[4], mockAgentID, true), + ] + ); + (endpointAppContextService.getEndpointMetadataService as jest.Mock) = jest + .fn() + .mockReturnValue({ + findHostMetadataForFleetAgents: jest.fn().mockResolvedValue([]), + }); + const response = await getPendingStatus({ + query: { + agent_ids: [mockAgentID], + }, + }); + expect(response.ok).toBeCalled(); + expect((response.ok.mock.calls[0][0]?.body as any)?.data).toHaveLength(1); + expect((response.ok.mock.calls[0][0]?.body as any)?.data[0].agent_id).toEqual(mockAgentID); + expect( + (response.ok.mock.calls[0][0]?.body as any)?.data[0].pending_actions.isolate + ).toEqual(3); + expect( + (response.ok.mock.calls[0][0]?.body as any)?.data[0].pending_actions.unisolate + ).toEqual(2); + }); + }); }); }); diff --git a/x-pack/plugins/security_solution/server/endpoint/services/actions.ts b/x-pack/plugins/security_solution/server/endpoint/services/actions.ts index 6b44b7b3ce87aa..5dcaca6c2c4cc5 100644 --- a/x-pack/plugins/security_solution/server/endpoint/services/actions.ts +++ b/x-pack/plugins/security_solution/server/endpoint/services/actions.ts @@ -222,8 +222,6 @@ export const getPendingActionCounts = async ( agentIDs ); - // - const pending: EndpointPendingActions[] = []; for (const agentId of agentIDs) { const agentResponses = responses[agentId]; @@ -270,11 +268,11 @@ export const getPendingActionCounts = async ( }; /** - * Returns a boolean for search result + * Returns a string of action ids for search result * * @param esClient * @param actionIds - * @param agentIds + * @param agentId */ const hasEndpointResponseDoc = async ({ actionIds, @@ -307,7 +305,7 @@ const hasEndpointResponseDoc = async ({ }; /** - * Returns back a map of elastic Agent IDs to array of Action IDs that have received a response. + * Returns back a map of elastic Agent IDs to array of action responses that have a response. * * @param esClient * @param metadataService From ab092300f6563bb2f4399e4fd485612ae3826d97 Mon Sep 17 00:00:00 2001 From: Giorgos Bamparopoulos Date: Mon, 1 Nov 2021 12:40:09 +0000 Subject: [PATCH 003/110] Add API tests for dependencies metadata (#116648) * Add API tests for dependencies metadata * Rename metadata tests to event metadata Co-authored-by: Nathan L Smith --- .../tests/dependencies/generate_data.ts | 50 ++++++++++++++++ .../tests/dependencies/metadata.ts | 60 +++++++++++++++++++ .../event_metadata.ts | 6 +- .../test/apm_api_integration/tests/index.ts | 9 ++- 4 files changed, 120 insertions(+), 5 deletions(-) create mode 100644 x-pack/test/apm_api_integration/tests/dependencies/generate_data.ts create mode 100644 x-pack/test/apm_api_integration/tests/dependencies/metadata.ts rename x-pack/test/apm_api_integration/tests/{metadata => event_metadata}/event_metadata.ts (95%) diff --git a/x-pack/test/apm_api_integration/tests/dependencies/generate_data.ts b/x-pack/test/apm_api_integration/tests/dependencies/generate_data.ts new file mode 100644 index 00000000000000..7e369f5db4b068 --- /dev/null +++ b/x-pack/test/apm_api_integration/tests/dependencies/generate_data.ts @@ -0,0 +1,50 @@ +/* + * 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 { service, timerange } from '@elastic/apm-synthtrace'; +import type { SynthtraceEsClient } from '../../common/synthtrace_es_client'; + +export const dataConfig = { + spanType: 'db', +}; + +export async function generateData({ + synthtraceEsClient, + backendName, + start, + end, +}: { + synthtraceEsClient: SynthtraceEsClient; + backendName: string; + start: number; + end: number; +}) { + const instance = service('synth-go', 'production', 'go').instance('instance-a'); + const transactionName = 'GET /api/product/list'; + const spanName = 'GET apm-*/_search'; + + await synthtraceEsClient.index( + timerange(start, end) + .interval('1m') + .rate(10) + .flatMap((timestamp) => + instance + .transaction(transactionName) + .timestamp(timestamp) + .duration(1000) + .success() + .children( + instance + .span(spanName, dataConfig.spanType, backendName) + .duration(1000) + .success() + .destination(backendName) + .timestamp(timestamp) + ) + .serialize() + ) + ); +} diff --git a/x-pack/test/apm_api_integration/tests/dependencies/metadata.ts b/x-pack/test/apm_api_integration/tests/dependencies/metadata.ts new file mode 100644 index 00000000000000..bad737fd51b53e --- /dev/null +++ b/x-pack/test/apm_api_integration/tests/dependencies/metadata.ts @@ -0,0 +1,60 @@ +/* + * 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 '@kbn/expect'; +import { FtrProviderContext } from '../../common/ftr_provider_context'; +import { registry } from '../../common/registry'; +import { dataConfig, generateData } from './generate_data'; + +export default function ApiTest({ getService }: FtrProviderContext) { + const apmApiClient = getService('apmApiClient'); + const synthtraceEsClient = getService('synthtraceEsClient'); + + const start = new Date('2021-01-01T00:00:00.000Z').getTime(); + const end = new Date('2021-01-01T00:15:00.000Z').getTime() - 1; + const backendName = 'elasticsearch'; + + async function callApi() { + return await apmApiClient.readUser({ + endpoint: `GET /internal/apm/backends/metadata`, + params: { + query: { + backendName, + start: new Date(start).toISOString(), + end: new Date(end).toISOString(), + }, + }, + }); + } + + registry.when( + 'Dependency metadata when data is not loaded', + { config: 'basic', archives: [] }, + () => { + it('handles empty state', async () => { + const { status, body } = await callApi(); + + expect(status).to.be(200); + expect(body.metadata).to.empty(); + }); + } + ); + + registry.when( + 'Dependency metadata when data is loaded', + { config: 'basic', archives: ['apm_mappings_only_8.0.0'] }, + () => { + it('returns correct metadata for the dependency', async () => { + await generateData({ synthtraceEsClient, backendName, start, end }); + const { status, body } = await callApi(); + + expect(status).to.be(200); + expect(body.metadata.spanType).to.equal(dataConfig.spanType); + expect(body.metadata.spanSubtype).to.equal(backendName); + }); + } + ); +} diff --git a/x-pack/test/apm_api_integration/tests/metadata/event_metadata.ts b/x-pack/test/apm_api_integration/tests/event_metadata/event_metadata.ts similarity index 95% rename from x-pack/test/apm_api_integration/tests/metadata/event_metadata.ts rename to x-pack/test/apm_api_integration/tests/event_metadata/event_metadata.ts index 40af7b132eb8fe..fe461a94783a58 100644 --- a/x-pack/test/apm_api_integration/tests/metadata/event_metadata.ts +++ b/x-pack/test/apm_api_integration/tests/event_metadata/event_metadata.ts @@ -36,7 +36,7 @@ export default function ApiTest({ getService }: FtrProviderContext) { } registry.when('Event metadata', { config: 'basic', archives: ['apm_8.0.0'] }, () => { - it('fetches transaction metadata', async () => { + it('fetches transaction event metadata', async () => { const id = await getLastDocId(ProcessorEvent.transaction); const { body } = await apmApiClient.readUser({ @@ -66,7 +66,7 @@ export default function ApiTest({ getService }: FtrProviderContext) { ); }); - it('fetches error metadata', async () => { + it('fetches error event metadata', async () => { const id = await getLastDocId(ProcessorEvent.error); const { body } = await apmApiClient.readUser({ @@ -96,7 +96,7 @@ export default function ApiTest({ getService }: FtrProviderContext) { ); }); - it('fetches span metadata', async () => { + it('fetches span event metadata', async () => { const id = await getLastDocId(ProcessorEvent.span); const { body } = await apmApiClient.readUser({ diff --git a/x-pack/test/apm_api_integration/tests/index.ts b/x-pack/test/apm_api_integration/tests/index.ts index 4c1a68ed540399..46998efbed81bd 100644 --- a/x-pack/test/apm_api_integration/tests/index.ts +++ b/x-pack/test/apm_api_integration/tests/index.ts @@ -37,8 +37,8 @@ export default function apmApiIntegrationTests(providerContext: FtrProviderConte loadTestFile(require.resolve('./correlations/latency')); }); - describe('metadata/event_metadata', function () { - loadTestFile(require.resolve('./metadata/event_metadata')); + describe('event_metadata/event_metadata', function () { + loadTestFile(require.resolve('./event_metadata/event_metadata')); }); describe('metrics_charts/metrics_charts', function () { @@ -245,6 +245,11 @@ export default function apmApiIntegrationTests(providerContext: FtrProviderConte loadTestFile(require.resolve('./errors/distribution')); }); + // Dependencies + describe('dependencies/metadata', function () { + loadTestFile(require.resolve('./dependencies/metadata')); + }); + registry.run(providerContext); }); } From b8ebccf67aa883ecb339cc9c020dddb937182676 Mon Sep 17 00:00:00 2001 From: Joe Reuter Date: Mon, 1 Nov 2021 13:48:12 +0100 Subject: [PATCH 004/110] retry specific metric suggestion check (#116909) Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- test/functional/apps/visualize/_timelion.ts | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/test/functional/apps/visualize/_timelion.ts b/test/functional/apps/visualize/_timelion.ts index 631d2148d73c39..afbcba7df52167 100644 --- a/test/functional/apps/visualize/_timelion.ts +++ b/test/functional/apps/visualize/_timelion.ts @@ -23,6 +23,7 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { const kibanaServer = getService('kibanaServer'); const elasticChart = getService('elasticChart'); const find = getService('find'); + const retry = getService('retry'); const timelionChartSelector = 'timelionChart'; describe('Timelion visualization', () => { @@ -265,7 +266,6 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { // wait for index patterns will be loaded await common.sleep(500); const suggestions = await timelion.getSuggestionItemsText(); - expect(suggestions.length).not.to.eql(0); expect(suggestions[0].includes('log')).to.eql(true); }); @@ -290,7 +290,6 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { await common.sleep(300); const suggestions = await timelion.getSuggestionItemsText(); - expect(suggestions.length).not.to.eql(0); expect(suggestions[0].includes('@message.raw')).to.eql(true); }); @@ -299,9 +298,11 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { '.es(index=logstash-*, timefield=@timestamp, metric=avg:', 'timelionCodeEditor' ); - const suggestions = await timelion.getSuggestionItemsText(); - expect(suggestions.length).not.to.eql(0); - expect(suggestions[0].includes('avg:bytes')).to.eql(true); + // other suggestions might be shown for a short amount of time - retry until metric suggestions show up + await retry.try(async () => { + const suggestions = await timelion.getSuggestionItemsText(); + expect(suggestions[0].includes('avg:bytes')).to.eql(true); + }); }); }); }); From e35999134bc2463db6012cfdc751665a38685aaa Mon Sep 17 00:00:00 2001 From: Christos Nasikas Date: Mon, 1 Nov 2021 14:49:35 +0200 Subject: [PATCH 005/110] [Actions][Docs] Rename isLegacy to usesTableApi (#116922) --- .../connectors/action-types/servicenow-sir.asciidoc | 6 +++--- docs/management/connectors/action-types/servicenow.asciidoc | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/management/connectors/action-types/servicenow-sir.asciidoc b/docs/management/connectors/action-types/servicenow-sir.asciidoc index b924837c97bc3b..8847a99fe3af03 100644 --- a/docs/management/connectors/action-types/servicenow-sir.asciidoc +++ b/docs/management/connectors/action-types/servicenow-sir.asciidoc @@ -37,7 +37,7 @@ Use the <> to customize connecto actionTypeId: .servicenow-sir config: apiUrl: https://example.service-now.com/ - isLegacy: false + usesTableApi: false secrets: username: testuser password: passwordkeystorevalue @@ -46,9 +46,9 @@ Use the <> to customize connecto Config defines information for the connector type. `apiUrl`:: An address that corresponds to *URL*. -`isLegacy`:: A boolean that indicates if the connector should use the Table API (legacy) or the Import Set API. +`usesTableApi`:: A boolean that indicates if the connector uses the Table API or the Import Set API. -Note: If `isLegacy` is set to false the Elastic application should be installed in ServiceNow. +Note: If `usesTableApi` is set to false the Elastic application should be installed in ServiceNow. Secrets defines sensitive information for the connector type. diff --git a/docs/management/connectors/action-types/servicenow.asciidoc b/docs/management/connectors/action-types/servicenow.asciidoc index 73da93e57dae90..bfa8c7db657d03 100644 --- a/docs/management/connectors/action-types/servicenow.asciidoc +++ b/docs/management/connectors/action-types/servicenow.asciidoc @@ -37,7 +37,7 @@ Use the <> to customize connecto actionTypeId: .servicenow config: apiUrl: https://example.service-now.com/ - isLegacy: false + usesTableApi: false secrets: username: testuser password: passwordkeystorevalue @@ -46,9 +46,9 @@ Use the <> to customize connecto Config defines information for the connector type. `apiUrl`:: An address that corresponds to *URL*. -`isLegacy`:: A boolean that indicates if the connector should use the Table API (legacy) or the Import Set API. +`usesTableApi`:: A boolean that indicates if the connector uses the Table API or the Import Set API. -Note: If `isLegacy` is set to false the Elastic application should be installed in ServiceNow. +Note: If `usesTableApi` is set to false the Elastic application should be installed in ServiceNow. Secrets defines sensitive information for the connector type. From 602e15d8dda4f7bdfd7d9e0ba60a46764624fd73 Mon Sep 17 00:00:00 2001 From: Esteban Beltran Date: Mon, 1 Nov 2021 13:49:52 +0100 Subject: [PATCH 006/110] [Security Solution] Show searchbar when a search doesn't return results in Host isolation exceptions. (#116767) --- .../host_isolation_exceptions_list.test.tsx | 30 +++++++++++++++++++ .../view/host_isolation_exceptions_list.tsx | 11 ++++--- 2 files changed, 37 insertions(+), 4 deletions(-) diff --git a/x-pack/plugins/security_solution/public/management/pages/host_isolation_exceptions/view/host_isolation_exceptions_list.test.tsx b/x-pack/plugins/security_solution/public/management/pages/host_isolation_exceptions/view/host_isolation_exceptions_list.test.tsx index 47d0c00a679864..0983d6bcb755d9 100644 --- a/x-pack/plugins/security_solution/public/management/pages/host_isolation_exceptions/view/host_isolation_exceptions_list.test.tsx +++ b/x-pack/plugins/security_solution/public/management/pages/host_isolation_exceptions/view/host_isolation_exceptions_list.test.tsx @@ -127,6 +127,36 @@ describe('When on the host isolation exceptions page', () => { renderResult.getByTestId('hostIsolationExceptionsContent-error').textContent ).toEqual(' Server is too far away'); }); + + it('should show the searchbar when no results from search', async () => { + // render the page with data + render(); + await dataReceived(); + + // check if the searchbar is there + expect(renderResult.getByTestId('searchExceptions')).toBeTruthy(); + + // simulate a no-data scenario + getHostIsolationExceptionItemsMock.mockReturnValueOnce({ + data: [], + page: 1, + per_page: 10, + total: 0, + }); + + // type something to search and press the button + userEvent.type(renderResult.getByTestId('searchField'), 'this does not exists'); + userEvent.click(renderResult.getByTestId('searchButton')); + + // wait for the page render + await dataReceived(); + + // check the url changed + expect(mockedContext.history.location.search).toBe('?filter=this%20does%20not%20exists'); + + // check the searchbar is still there + expect(renderResult.getByTestId('searchExceptions')).toBeTruthy(); + }); }); describe('has canIsolateHost privileges', () => { diff --git a/x-pack/plugins/security_solution/public/management/pages/host_isolation_exceptions/view/host_isolation_exceptions_list.tsx b/x-pack/plugins/security_solution/public/management/pages/host_isolation_exceptions/view/host_isolation_exceptions_list.tsx index 26f4369e956015..815d790b5b4af2 100644 --- a/x-pack/plugins/security_solution/public/management/pages/host_isolation_exceptions/view/host_isolation_exceptions_list.tsx +++ b/x-pack/plugins/security_solution/public/management/pages/host_isolation_exceptions/view/host_isolation_exceptions_list.tsx @@ -60,6 +60,7 @@ export const HostIsolationExceptionsList = () => { const history = useHistory(); const privileges = useEndpointPrivileges(); const showFlyout = privileges.canIsolateHost && !!location.show; + const hasDataToShow = !isLoading && (!!location.filter || listItems.length > 0); useEffect(() => { if (!isLoading && listItems.length === 0 && !privileges.canIsolateHost) { @@ -139,7 +140,7 @@ export const HostIsolationExceptionsList = () => { /> } actions={ - privileges.canIsolateHost && listItems.length > 0 ? ( + privileges.canIsolateHost && hasDataToShow ? ( { [] ) } - hideHeader={isLoading || listItems.length === 0} + hideHeader={!hasDataToShow} > {showFlyout && } {itemToDelete ? : null} - {!isLoading && listItems.length ? ( + {hasDataToShow ? ( <> { pagination={pagination} contentClassName="host-isolation-exceptions-container" data-test-subj="hostIsolationExceptionsContent" - noItemsMessage={} + noItemsMessage={ + !hasDataToShow && + } /> ); From c9ccfad32e782e8e986863bdc8c09b4fdb004afe Mon Sep 17 00:00:00 2001 From: James Gowdy Date: Mon, 1 Nov 2021 12:50:21 +0000 Subject: [PATCH 007/110] [ML] Renaming index patterns for job wizards (#116250) Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../components/data_view/change_data_view.tsx | 24 +++++++++---------- .../data_view/change_data_view_button.tsx | 2 +- .../components/data_view/description.tsx | 4 ++-- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/x-pack/plugins/ml/public/application/jobs/new_job/pages/components/datafeed_step/components/data_view/change_data_view.tsx b/x-pack/plugins/ml/public/application/jobs/new_job/pages/components/datafeed_step/components/data_view/change_data_view.tsx index c402ee4bf97994..e56ff02b9e6da7 100644 --- a/x-pack/plugins/ml/public/application/jobs/new_job/pages/components/datafeed_step/components/data_view/change_data_view.tsx +++ b/x-pack/plugins/ml/public/application/jobs/new_job/pages/components/datafeed_step/components/data_view/change_data_view.tsx @@ -130,7 +130,7 @@ export const ChangeDataViewModal: FC = ({ onClose }) => { @@ -140,7 +140,7 @@ export const ChangeDataViewModal: FC = ({ onClose }) => { <> @@ -162,7 +162,7 @@ export const ChangeDataViewModal: FC = ({ onClose }) => { name: i18n.translate( 'xpack.ml.newJob.wizard.datafeedStep.dataView.step1.dataView', { - defaultMessage: 'Index pattern', + defaultMessage: 'Data view', } ), }, @@ -188,7 +188,7 @@ export const ChangeDataViewModal: FC = ({ onClose }) => { ) : ( @@ -244,14 +244,14 @@ const ValidationMessage: FC<{ title={i18n.translate( 'xpack.ml.newJob.wizard.datafeedStep.dataView.validation.noDetectors.title', { - defaultMessage: 'Index pattern valid', + defaultMessage: 'Data view valid', } )} color="primary" > ); @@ -263,14 +263,14 @@ const ValidationMessage: FC<{ title={i18n.translate( 'xpack.ml.newJob.wizard.datafeedStep.dataView.validation.valid.title', { - defaultMessage: 'Index pattern valid', + defaultMessage: 'Data view valid', } )} color="primary" > ); @@ -280,14 +280,14 @@ const ValidationMessage: FC<{ title={i18n.translate( 'xpack.ml.newJob.wizard.datafeedStep.dataView.validation.possiblyInvalid.title', { - defaultMessage: 'Index pattern possibly invalid', + defaultMessage: 'Data view possibly invalid', } )} color="warning" > @@ -299,14 +299,14 @@ const ValidationMessage: FC<{ title={i18n.translate( 'xpack.ml.newJob.wizard.datafeedStep.dataView.validation.invalid.title', { - defaultMessage: 'Index pattern invalid', + defaultMessage: 'Data view invalid', } )} color="danger" > diff --git a/x-pack/plugins/ml/public/application/jobs/new_job/pages/components/datafeed_step/components/data_view/change_data_view_button.tsx b/x-pack/plugins/ml/public/application/jobs/new_job/pages/components/datafeed_step/components/data_view/change_data_view_button.tsx index dc9af26236d8c4..a83782b9c14326 100644 --- a/x-pack/plugins/ml/public/application/jobs/new_job/pages/components/datafeed_step/components/data_view/change_data_view_button.tsx +++ b/x-pack/plugins/ml/public/application/jobs/new_job/pages/components/datafeed_step/components/data_view/change_data_view_button.tsx @@ -27,7 +27,7 @@ export const ChangeDataView: FC<{ isDisabled: boolean }> = ({ isDisabled }) => { > diff --git a/x-pack/plugins/ml/public/application/jobs/new_job/pages/components/datafeed_step/components/data_view/description.tsx b/x-pack/plugins/ml/public/application/jobs/new_job/pages/components/datafeed_step/components/data_view/description.tsx index 2632660738a587..2eeab08229348e 100644 --- a/x-pack/plugins/ml/public/application/jobs/new_job/pages/components/datafeed_step/components/data_view/description.tsx +++ b/x-pack/plugins/ml/public/application/jobs/new_job/pages/components/datafeed_step/components/data_view/description.tsx @@ -12,7 +12,7 @@ import { EuiDescribedFormGroup, EuiFormRow } from '@elastic/eui'; export const Description: FC = memo(({ children }) => { const title = i18n.translate('xpack.ml.newJob.wizard.datafeedStep.dataView.title', { - defaultMessage: 'Index pattern', + defaultMessage: 'Data view', }); return ( { description={ } > From 46bfe577c5823d759820141e0665e27bc1a12792 Mon Sep 17 00:00:00 2001 From: Josh Dover <1813008+joshdover@users.noreply.github.com> Date: Mon, 1 Nov 2021 13:57:32 +0100 Subject: [PATCH 008/110] Remove unused isNewInstance code (#116747) --- .../services/new_instance_status.test.ts | 129 ------------------ .../server/services/new_instance_status.ts | 66 --------- 2 files changed, 195 deletions(-) delete mode 100644 src/plugins/home/server/services/new_instance_status.test.ts delete mode 100644 src/plugins/home/server/services/new_instance_status.ts diff --git a/src/plugins/home/server/services/new_instance_status.test.ts b/src/plugins/home/server/services/new_instance_status.test.ts deleted file mode 100644 index 9ce8f8571f5a15..00000000000000 --- a/src/plugins/home/server/services/new_instance_status.test.ts +++ /dev/null @@ -1,129 +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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import { isNewInstance } from './new_instance_status'; -import { elasticsearchServiceMock, savedObjectsClientMock } from '../../../../core/server/mocks'; - -describe('isNewInstance', () => { - const esClient = elasticsearchServiceMock.createScopedClusterClient(); - const soClient = savedObjectsClientMock.create(); - - beforeEach(() => jest.resetAllMocks()); - - it('returns true when there are no index patterns', async () => { - soClient.find.mockResolvedValue({ - page: 1, - per_page: 100, - total: 0, - saved_objects: [], - }); - expect(await isNewInstance({ esClient, soClient })).toEqual(true); - }); - - it('returns false when there are any index patterns other than metrics-* or logs-*', async () => { - soClient.find.mockResolvedValue({ - page: 1, - per_page: 100, - total: 1, - saved_objects: [ - { - id: '1', - references: [], - type: 'index-pattern', - score: 99, - attributes: { title: 'my-pattern-*' }, - }, - ], - }); - expect(await isNewInstance({ esClient, soClient })).toEqual(false); - }); - - describe('when only metrics-* and logs-* index patterns exist', () => { - beforeEach(() => { - soClient.find.mockResolvedValue({ - page: 1, - per_page: 100, - total: 2, - saved_objects: [ - { - id: '1', - references: [], - type: 'index-pattern', - score: 99, - attributes: { title: 'metrics-*' }, - }, - { - id: '2', - references: [], - type: 'index-pattern', - score: 99, - attributes: { title: 'logs-*' }, - }, - ], - }); - }); - - it('calls /_cat/indices for the index patterns', async () => { - await isNewInstance({ esClient, soClient }); - expect(esClient.asCurrentUser.cat.indices).toHaveBeenCalledWith({ - index: 'logs-*,metrics-*', - format: 'json', - }); - }); - - it('returns true if no logs or metrics indices exist', async () => { - esClient.asCurrentUser.cat.indices.mockReturnValue( - elasticsearchServiceMock.createSuccessTransportRequestPromise([]) - ); - expect(await isNewInstance({ esClient, soClient })).toEqual(true); - }); - - it('returns true if no logs or metrics indices contain data', async () => { - esClient.asCurrentUser.cat.indices.mockReturnValue( - elasticsearchServiceMock.createSuccessTransportRequestPromise([ - { index: '.ds-metrics-foo', 'docs.count': '0' }, - ]) - ); - expect(await isNewInstance({ esClient, soClient })).toEqual(true); - }); - - it('returns true if only metrics-elastic_agent index contains data', async () => { - esClient.asCurrentUser.cat.indices.mockReturnValue( - elasticsearchServiceMock.createSuccessTransportRequestPromise([ - { index: '.ds-metrics-elastic_agent', 'docs.count': '100' }, - ]) - ); - expect(await isNewInstance({ esClient, soClient })).toEqual(true); - }); - - it('returns true if only logs-elastic_agent index contains data', async () => { - esClient.asCurrentUser.cat.indices.mockReturnValue( - elasticsearchServiceMock.createSuccessTransportRequestPromise([ - { index: '.ds-logs-elastic_agent', 'docs.count': '100' }, - ]) - ); - expect(await isNewInstance({ esClient, soClient })).toEqual(true); - }); - - it('returns false if any other logs or metrics indices contain data', async () => { - esClient.asCurrentUser.cat.indices.mockReturnValue( - elasticsearchServiceMock.createSuccessTransportRequestPromise([ - { index: '.ds-metrics-foo', 'docs.count': '100' }, - ]) - ); - expect(await isNewInstance({ esClient, soClient })).toEqual(false); - }); - - it('returns false if an authentication error is thrown', async () => { - esClient.asCurrentUser.cat.indices.mockReturnValue( - elasticsearchServiceMock.createErrorTransportRequestPromise({}) - ); - expect(await isNewInstance({ esClient, soClient })).toEqual(false); - }); - }); -}); diff --git a/src/plugins/home/server/services/new_instance_status.ts b/src/plugins/home/server/services/new_instance_status.ts deleted file mode 100644 index e19380e9288224..00000000000000 --- a/src/plugins/home/server/services/new_instance_status.ts +++ /dev/null @@ -1,66 +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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import type { IScopedClusterClient, SavedObjectsClientContract } from '../../../../core/server'; - -const LOGS_INDEX_PATTERN = 'logs-*'; -const METRICS_INDEX_PATTERN = 'metrics-*'; - -const INDEX_PREFIXES_TO_IGNORE = [ - '.ds-metrics-elastic_agent', // ignore index created by Fleet server itself - '.ds-logs-elastic_agent', // ignore index created by Fleet server itself -]; - -interface Deps { - esClient: IScopedClusterClient; - soClient: SavedObjectsClientContract; -} - -export const isNewInstance = async ({ esClient, soClient }: Deps): Promise => { - const indexPatterns = await soClient.find<{ title: string }>({ - type: 'index-pattern', - fields: ['title'], - search: `*`, - searchFields: ['title'], - perPage: 100, - }); - - // If there are no index patterns, assume this is a new instance - if (indexPatterns.total === 0) { - return true; - } - - // If there are any index patterns that are not the default metrics-* and logs-* ones created by Fleet, assume this - // is not a new instance - if ( - indexPatterns.saved_objects.some( - (ip) => - ip.attributes.title !== LOGS_INDEX_PATTERN && ip.attributes.title !== METRICS_INDEX_PATTERN - ) - ) { - return false; - } - - try { - const logsAndMetricsIndices = await esClient.asCurrentUser.cat.indices({ - index: `${LOGS_INDEX_PATTERN},${METRICS_INDEX_PATTERN}`, - format: 'json', - }); - - const anyIndicesContainerUserData = logsAndMetricsIndices.body - // Ignore some data that is shipped by default - .filter(({ index }) => !INDEX_PREFIXES_TO_IGNORE.some((prefix) => index?.startsWith(prefix))) - // If any other logs and metrics indices have data, return false - .some((catResult) => (catResult['docs.count'] ?? '0') !== '0'); - - return !anyIndicesContainerUserData; - } catch (e) { - // If any errors are encountered return false to be safe - return false; - } -}; From 2431a08d2ba8af32399905ef0087668f66197d4c Mon Sep 17 00:00:00 2001 From: Georgii Gorbachev Date: Mon, 1 Nov 2021 14:40:14 +0100 Subject: [PATCH 009/110] [Security Solution][Detections] Reading last 5 failures from Event Log v1 - raw implementation (#115574) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit **Ticket:** https://github.com/elastic/kibana/issues/106469, https://github.com/elastic/kibana/issues/101013 ## Summary TL;DR: New internal endpoint for reading data from Event Log (raw version), legacy status SO under the hood. With this PR we now read the Failure History (last 5 failures) on the Rule Details page from Event Log. We continue getting the Current Status from the legacy `siem-detection-engine-rule-status` saved objects. Rule Management page also gets data from the legacy saved objects. - [x] Deprecate existing methods for reading data in `IRuleExecutionLogClient`: `.find()` and `.findBulk()` - [x] Introduce new methods for reading data in IRuleExecutionLogClient: - for reading last N execution events for 1 rule from event log - for reading current status and metrics for 1 rule from legacy status SOs - for reading current statuses and metrics for N rules from legacy status SOs - [x] New methods should return data in the legacy status SO format. - [x] Update all the existing endpoints that depend on `IRuleExecutionLogClient` to use the new methods. - [x] Implement a new internal endpoint for fetching current status of the rule execution and execution events from Event Log for a given rule. - [x] The API of the new endpoint should be the same as `rules/_find_statuses` to minimise changes in the app. - [x] Use the new endpoint on the Rule Details page. ## Near-term plan for technical implementation of the Rule Execution Log (https://github.com/elastic/kibana/issues/101013) **Stage 1. Reading last 5 failures from Event Log v1 - raw implementation** - :heavy_check_mark: done in this PR TL;DR: New internal endpoint for reading data from Event Log (raw version), legacy status SO under the hood. - Deprecate existing methods for reading data in `IRuleExecutionLogClient`: `.find()` and `.findBulk()` - Introduce new methods for reading data in IRuleExecutionLogClient: - for reading last N execution events for 1 rule from event log - for reading current status and metrics for 1 rule from legacy status SOs - for reading current statuses and metrics for N rules from legacy status SOs - New methods should return data in the legacy status SO format. - Update all the existing endpoints that depend on `IRuleExecutionLogClient` to use the new methods. - Implement a new internal endpoint for fetching current status of the rule execution and execution events from Event Log for a given rule. - The API of the new endpoint should be the same as `rules/_find_statuses` to minimise changes in the app. - Use the new endpoint on the Rule Details page. **Stage 2: Reading last 5 failures from Event Log v2 - clean implementation** TL;DR: Clean HTTP API, legacy Rule Status SO under the hood. 🚨🚨🚨 Possible breaking changes in Detections API 🚨🚨🚨 - Design a new data model for the Current Rule Execution Info (the TO-BE new SO type and later the TO-BE data in the rule object itself). - Design a new data model for the Rule Execution Event (read model to be used on the Rule Details page) - Think over changes in `IRuleExecutionLogClient` to support the new data model. - Think over changes in all the endpoints that return any data related to rule monitoring (statuses, metrics, etc). Make sure to check our docs to identify what's documented there regarding rule monitoring. - Update `IRuleExecutionLogClient` to return data in the new format. - Update all the endpoints (including the raw new one) to return data in the new format. - Update Rule Details page to consume data in the new format. - Update Rule Management page to consume data in the new format. **Stage 3: Reading last 5 failures from Event Log v3 - new SO** TL;DR: Clean HTTP API, new Rule Execution Info SO under the hood. - Implement a new SO type for storing the current rule execution info. Relation type: 1 rule - 1 current execution info. - Swap the legacy SO with the new SO in the implementation of `IRuleExecutionLogClient`. **Stage 4: Cleanup and misc** - Revisit the problem of deterministic ordering ([comment](https://github.com/elastic/kibana/pull/115574#discussion_r735803087)) - Remove rule execution log's glue code: adapters, feature switch. - Remove the legacy rule status SO. - Mark the legacy rule status SO as deleted in Kibana Core. - Encapsulate the current space id in the instance of IRuleExecutionLogClient. Remove it from parameters of its methods. - Introduce a Rule Execution Logger scoped to a rule instance. For use in rule executors. - Add test coverage. ### 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 --- .../security_solution/common/constants.ts | 7 + .../request/find_rule_statuses_schema.ts | 10 ++ .../detection_engine/rules/api.test.ts | 4 +- .../containers/detection_engine/rules/api.ts | 5 +- .../routes/__mocks__/request_responses.ts | 154 ++++++++---------- .../routes/rules/create_rules_route.test.ts | 6 +- .../routes/rules/create_rules_route.ts | 5 +- .../routes/rules/delete_rules_bulk_route.ts | 8 +- .../routes/rules/delete_rules_route.test.ts | 6 +- .../routes/rules/delete_rules_route.ts | 8 +- .../find_rule_status_internal_route.test.ts | 115 +++++++++++++ .../rules/find_rule_status_internal_route.ts | 85 ++++++++++ .../routes/rules/find_rules_route.test.ts | 4 +- .../routes/rules/find_rules_route.ts | 7 +- .../rules/find_rules_status_route.test.ts | 6 +- .../routes/rules/find_rules_status_route.ts | 34 ++-- .../routes/rules/patch_rules_bulk_route.ts | 5 +- .../routes/rules/patch_rules_route.test.ts | 13 +- .../routes/rules/patch_rules_route.ts | 9 +- .../routes/rules/perform_bulk_action_route.ts | 8 +- .../routes/rules/read_rules_route.test.ts | 5 +- .../routes/rules/read_rules_route.ts | 4 +- .../routes/rules/update_rules_bulk_route.ts | 5 +- .../routes/rules/update_rules_route.test.ts | 6 +- .../routes/rules/update_rules_route.ts | 9 +- .../detection_engine/routes/rules/utils.ts | 17 +- .../routes/rules/validate.test.ts | 6 +- .../detection_engine/routes/rules/validate.ts | 15 +- .../__mocks__/rule_execution_log_client.ts | 9 +- .../event_log_adapter/event_log_adapter.ts | 53 +++--- .../event_log_adapter/event_log_client.ts | 90 ++++++++-- .../rule_execution_log_client.ts | 50 +++--- .../saved_objects_adapter.ts | 60 +++++-- .../rule_execution_log/types.ts | 88 ++++++---- .../create_security_rule_type_wrapper.ts | 2 +- .../rules/delete_rules.test.ts | 35 +--- .../detection_engine/rules/delete_rules.ts | 14 +- .../lib/detection_engine/rules/enable_rule.ts | 22 +-- .../lib/detection_engine/rules/types.ts | 16 +- .../preview_rule_execution_log_client.ts | 57 +++++-- .../signals/signal_rule_alert_type.ts | 5 +- .../server/request_context_factory.ts | 17 +- .../security_solution/server/routes/index.ts | 2 + 43 files changed, 696 insertions(+), 390 deletions(-) create mode 100644 x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/find_rule_status_internal_route.test.ts create mode 100644 x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/find_rule_status_internal_route.ts diff --git a/x-pack/plugins/security_solution/common/constants.ts b/x-pack/plugins/security_solution/common/constants.ts index c746ed1006e562..2772c3de51065a 100644 --- a/x-pack/plugins/security_solution/common/constants.ts +++ b/x-pack/plugins/security_solution/common/constants.ts @@ -250,6 +250,13 @@ export const DETECTION_ENGINE_RULES_PREVIEW = `${DETECTION_ENGINE_RULES_URL}/pre export const DETECTION_ENGINE_RULES_PREVIEW_INDEX_URL = `${DETECTION_ENGINE_RULES_PREVIEW}/index` as const; +/** + * Internal detection engine routes + */ +export const INTERNAL_DETECTION_ENGINE_URL = '/internal/detection_engine' as const; +export const INTERNAL_DETECTION_ENGINE_RULE_STATUS_URL = + `${INTERNAL_DETECTION_ENGINE_URL}/rules/_find_status` as const; + export const TIMELINE_RESOLVE_URL = '/api/timeline/resolve' as const; export const TIMELINE_URL = '/api/timeline' as const; export const TIMELINES_URL = '/api/timelines' as const; diff --git a/x-pack/plugins/security_solution/common/detection_engine/schemas/request/find_rule_statuses_schema.ts b/x-pack/plugins/security_solution/common/detection_engine/schemas/request/find_rule_statuses_schema.ts index 1437a8230b67a7..d489ad562f3043 100644 --- a/x-pack/plugins/security_solution/common/detection_engine/schemas/request/find_rule_statuses_schema.ts +++ b/x-pack/plugins/security_solution/common/detection_engine/schemas/request/find_rule_statuses_schema.ts @@ -16,3 +16,13 @@ export const findRulesStatusesSchema = t.exact( export type FindRulesStatusesSchema = t.TypeOf; export type FindRulesStatusesSchemaDecoded = FindRulesStatusesSchema; + +export const findRuleStatusSchema = t.exact( + t.type({ + ruleId: t.string, + }) +); + +export type FindRuleStatusSchema = t.TypeOf; + +export type FindRuleStatusSchemaDecoded = FindRuleStatusSchema; diff --git a/x-pack/plugins/security_solution/public/detections/containers/detection_engine/rules/api.test.ts b/x-pack/plugins/security_solution/public/detections/containers/detection_engine/rules/api.test.ts index e5b9808bf1e46a..0045f69968b2a6 100644 --- a/x-pack/plugins/security_solution/public/detections/containers/detection_engine/rules/api.test.ts +++ b/x-pack/plugins/security_solution/public/detections/containers/detection_engine/rules/api.test.ts @@ -669,8 +669,8 @@ describe('Detections Rules API', () => { test('check parameter url, query', async () => { await getRuleStatusById({ id: 'mySuperRuleId', signal: abortCtrl.signal }); - expect(fetchMock).toHaveBeenCalledWith('/api/detection_engine/rules/_find_statuses', { - body: '{"ids":["mySuperRuleId"]}', + expect(fetchMock).toHaveBeenCalledWith('/internal/detection_engine/rules/_find_status', { + body: '{"ruleId":"mySuperRuleId"}', method: 'POST', signal: abortCtrl.signal, }); diff --git a/x-pack/plugins/security_solution/public/detections/containers/detection_engine/rules/api.ts b/x-pack/plugins/security_solution/public/detections/containers/detection_engine/rules/api.ts index f5f7fbd8466235..5f9ad7fdd2bf58 100644 --- a/x-pack/plugins/security_solution/public/detections/containers/detection_engine/rules/api.ts +++ b/x-pack/plugins/security_solution/public/detections/containers/detection_engine/rules/api.ts @@ -19,6 +19,7 @@ import { DETECTION_ENGINE_TAGS_URL, DETECTION_ENGINE_RULES_BULK_ACTION, DETECTION_ENGINE_RULES_PREVIEW, + INTERNAL_DETECTION_ENGINE_RULE_STATUS_URL, } from '../../../../../common/constants'; import { UpdateRulesProps, @@ -372,9 +373,9 @@ export const getRuleStatusById = async ({ id: string; signal: AbortSignal; }): Promise => - KibanaServices.get().http.fetch(DETECTION_ENGINE_RULES_STATUS_URL, { + KibanaServices.get().http.fetch(INTERNAL_DETECTION_ENGINE_RULE_STATUS_URL, { method: 'POST', - body: JSON.stringify({ ids: [id] }), + body: JSON.stringify({ ruleId: id }), signal, }); diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/__mocks__/request_responses.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/__mocks__/request_responses.ts index a890b12d3b7aad..3c1a49c6408633 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/__mocks__/request_responses.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/__mocks__/request_responses.ts @@ -9,7 +9,7 @@ import type * as estypes from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; import { ALERT_WORKFLOW_STATUS } from '@kbn/rule-data-utils'; import { ruleTypeMappings } from '@kbn/securitysolution-rules'; -import { SavedObjectsFindResponse, SavedObjectsFindResult } from 'kibana/server'; +import { SavedObjectsFindResponse } from 'src/core/server'; import { ActionResult } from '../../../../../../actions/server'; import { @@ -23,6 +23,7 @@ import { DETECTION_ENGINE_SIGNALS_FINALIZE_MIGRATION_URL, DETECTION_ENGINE_SIGNALS_MIGRATION_STATUS_URL, DETECTION_ENGINE_RULES_BULK_ACTION, + INTERNAL_DETECTION_ENGINE_RULE_STATUS_URL, } from '../../../../../common/constants'; import { RuleAlertType, @@ -42,7 +43,7 @@ import { SanitizedAlert, ResolvedSanitizedRule } from '../../../../../../alertin import { getQueryRuleParams } from '../../schemas/rule_schemas.mock'; import { getPerformBulkActionSchemaMock } from '../../../../../common/detection_engine/schemas/request/perform_bulk_action_schema.mock'; import { RuleExecutionStatus } from '../../../../../common/detection_engine/schemas/common/schemas'; -import { FindBulkExecutionLogResponse } from '../../rule_execution_log/types'; +import { GetCurrentStatusBulkResult } from '../../rule_execution_log/types'; // eslint-disable-next-line no-restricted-imports import type { LegacyRuleNotificationAlertType } from '../../notifications/legacy_types'; @@ -232,6 +233,13 @@ export const ruleStatusRequest = () => body: { ids: ['04128c15-0d1b-4716-a4c5-46997ac7f3bd'] }, }); +export const internalRuleStatusRequest = () => + requestMock.create({ + method: 'post', + path: INTERNAL_DETECTION_ENGINE_RULE_STATUS_URL, + body: { ruleId: '04128c15-0d1b-4716-a4c5-46997ac7f3bd' }, + }); + export const getImportRulesRequest = (hapiStream?: HapiReadableStream) => requestMock.create({ method: 'post', @@ -475,94 +483,64 @@ export const getEmptySavedObjectsResponse = saved_objects: [], }); -export const getRuleExecutionStatuses = (): Array< - SavedObjectsFindResult -> => [ - { - type: 'my-type', - id: 'e0b86950-4e9f-11ea-bdbd-07b56aa159b3', - attributes: { - statusDate: '2020-02-18T15:26:49.783Z', - status: RuleExecutionStatus.succeeded, - lastFailureAt: undefined, - lastSuccessAt: '2020-02-18T15:26:49.783Z', - lastFailureMessage: undefined, - lastSuccessMessage: 'succeeded', - lastLookBackDate: new Date('2020-02-18T15:14:58.806Z').toISOString(), - gap: '500.32', - searchAfterTimeDurations: ['200.00'], - bulkCreateTimeDurations: ['800.43'], - }, - score: 1, - references: [ - { - id: '04128c15-0d1b-4716-a4c5-46997ac7f3bc', - type: 'alert', - name: 'alert_0', - }, - ], - updated_at: '2020-02-18T15:26:51.333Z', - version: 'WzQ2LDFd', - }, - { - type: 'my-type', - id: '91246bd0-5261-11ea-9650-33b954270f67', - attributes: { - statusDate: '2020-02-18T15:15:58.806Z', - status: RuleExecutionStatus.failed, - lastFailureAt: '2020-02-18T15:15:58.806Z', - lastSuccessAt: '2020-02-13T20:31:59.855Z', - lastFailureMessage: - 'Signal rule name: "Query with a rule id Number 1", id: "1ea5a820-4da1-4e82-92a1-2b43a7bece08", rule_id: "query-rule-id-1" has a time gap of 5 days (412682928ms), and could be missing signals within that time. Consider increasing your look behind time or adding more Kibana instances.', - lastSuccessMessage: 'succeeded', - lastLookBackDate: new Date('2020-02-18T15:14:58.806Z').toISOString(), - gap: '500.32', - searchAfterTimeDurations: ['200.00'], - bulkCreateTimeDurations: ['800.43'], - }, - score: 1, - references: [ - { - id: '1ea5a820-4da1-4e82-92a1-2b43a7bece08', - type: 'alert', - name: 'alert_0', - }, - ], - updated_at: '2020-02-18T15:15:58.860Z', - version: 'WzMyLDFd', - }, +export const getRuleExecutionStatusSucceeded = (): IRuleStatusSOAttributes => ({ + statusDate: '2020-02-18T15:26:49.783Z', + status: RuleExecutionStatus.succeeded, + lastFailureAt: undefined, + lastSuccessAt: '2020-02-18T15:26:49.783Z', + lastFailureMessage: undefined, + lastSuccessMessage: 'succeeded', + lastLookBackDate: new Date('2020-02-18T15:14:58.806Z').toISOString(), + gap: '500.32', + searchAfterTimeDurations: ['200.00'], + bulkCreateTimeDurations: ['800.43'], +}); + +export const getRuleExecutionStatusFailed = (): IRuleStatusSOAttributes => ({ + statusDate: '2020-02-18T15:15:58.806Z', + status: RuleExecutionStatus.failed, + lastFailureAt: '2020-02-18T15:15:58.806Z', + lastSuccessAt: '2020-02-13T20:31:59.855Z', + lastFailureMessage: + 'Signal rule name: "Query with a rule id Number 1", id: "1ea5a820-4da1-4e82-92a1-2b43a7bece08", rule_id: "query-rule-id-1" has a time gap of 5 days (412682928ms), and could be missing signals within that time. Consider increasing your look behind time or adding more Kibana instances.', + lastSuccessMessage: 'succeeded', + lastLookBackDate: new Date('2020-02-18T15:14:58.806Z').toISOString(), + gap: '500.32', + searchAfterTimeDurations: ['200.00'], + bulkCreateTimeDurations: ['800.43'], +}); + +export const getRuleExecutionStatuses = (): IRuleStatusSOAttributes[] => [ + getRuleExecutionStatusSucceeded(), + getRuleExecutionStatusFailed(), ]; -export const getFindBulkResultStatus = (): FindBulkExecutionLogResponse => ({ - '04128c15-0d1b-4716-a4c5-46997ac7f3bd': [ - { - statusDate: '2020-02-18T15:26:49.783Z', - status: RuleExecutionStatus.succeeded, - lastFailureAt: undefined, - lastSuccessAt: '2020-02-18T15:26:49.783Z', - lastFailureMessage: undefined, - lastSuccessMessage: 'succeeded', - lastLookBackDate: new Date('2020-02-18T15:14:58.806Z').toISOString(), - gap: '500.32', - searchAfterTimeDurations: ['200.00'], - bulkCreateTimeDurations: ['800.43'], - }, - ], - '1ea5a820-4da1-4e82-92a1-2b43a7bece08': [ - { - statusDate: '2020-02-18T15:15:58.806Z', - status: RuleExecutionStatus.failed, - lastFailureAt: '2020-02-18T15:15:58.806Z', - lastSuccessAt: '2020-02-13T20:31:59.855Z', - lastFailureMessage: - 'Signal rule name: "Query with a rule id Number 1", id: "1ea5a820-4da1-4e82-92a1-2b43a7bece08", rule_id: "query-rule-id-1" has a time gap of 5 days (412682928ms), and could be missing signals within that time. Consider increasing your look behind time or adding more Kibana instances.', - lastSuccessMessage: 'succeeded', - lastLookBackDate: new Date('2020-02-18T15:14:58.806Z').toISOString(), - gap: '500.32', - searchAfterTimeDurations: ['200.00'], - bulkCreateTimeDurations: ['800.43'], - }, - ], +export const getFindBulkResultStatus = (): GetCurrentStatusBulkResult => ({ + '04128c15-0d1b-4716-a4c5-46997ac7f3bd': { + statusDate: '2020-02-18T15:26:49.783Z', + status: RuleExecutionStatus.succeeded, + lastFailureAt: undefined, + lastSuccessAt: '2020-02-18T15:26:49.783Z', + lastFailureMessage: undefined, + lastSuccessMessage: 'succeeded', + lastLookBackDate: new Date('2020-02-18T15:14:58.806Z').toISOString(), + gap: '500.32', + searchAfterTimeDurations: ['200.00'], + bulkCreateTimeDurations: ['800.43'], + }, + '1ea5a820-4da1-4e82-92a1-2b43a7bece08': { + statusDate: '2020-02-18T15:15:58.806Z', + status: RuleExecutionStatus.failed, + lastFailureAt: '2020-02-18T15:15:58.806Z', + lastSuccessAt: '2020-02-13T20:31:59.855Z', + lastFailureMessage: + 'Signal rule name: "Query with a rule id Number 1", id: "1ea5a820-4da1-4e82-92a1-2b43a7bece08", rule_id: "query-rule-id-1" has a time gap of 5 days (412682928ms), and could be missing signals within that time. Consider increasing your look behind time or adding more Kibana instances.', + lastSuccessMessage: 'succeeded', + lastLookBackDate: new Date('2020-02-18T15:14:58.806Z').toISOString(), + gap: '500.32', + searchAfterTimeDurations: ['200.00'], + bulkCreateTimeDurations: ['800.43'], + }, }); export const getBasicEmptySearchResponse = (): estypes.SearchResponse => ({ diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/create_rules_route.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/create_rules_route.test.ts index 010c4b27507bb7..a9f5938abb921d 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/create_rules_route.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/create_rules_route.test.ts @@ -10,7 +10,7 @@ import { getEmptyFindResult, getAlertMock, getCreateRequest, - getRuleExecutionStatuses, + getRuleExecutionStatusSucceeded, getFindResultWithSingleHit, createMlRuleRequest, getBasicEmptySearchResponse, @@ -43,7 +43,9 @@ describe.each([ clients.rulesClient.create.mockResolvedValue( getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()) ); // creation succeeds - clients.ruleExecutionLogClient.find.mockResolvedValue(getRuleExecutionStatuses()); // needed to transform: ; + clients.ruleExecutionLogClient.getCurrentStatus.mockResolvedValue( + getRuleExecutionStatusSucceeded() + ); context.core.elasticsearch.client.asCurrentUser.search.mockResolvedValue( elasticsearchClientMock.createSuccessTransportRequestPromise(getBasicEmptySearchResponse()) diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/create_rules_route.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/create_rules_route.ts index 9e03e5f8f2143d..71d453809d0fa5 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/create_rules_route.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/create_rules_route.ts @@ -106,14 +106,13 @@ export const createRulesRoute = ( await rulesClient.muteAll({ id: createdRule.id }); } - const ruleStatuses = await context.securitySolution.getExecutionLogClient().find({ - logsCount: 1, + const ruleStatus = await context.securitySolution.getExecutionLogClient().getCurrentStatus({ ruleId: createdRule.id, spaceId: context.securitySolution.getSpaceId(), }); const [validated, errors] = newTransformValidate( createdRule, - ruleStatuses[0], + ruleStatus, isRuleRegistryEnabled ); if (errors != null) { diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/delete_rules_bulk_route.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/delete_rules_bulk_route.ts index 6aecfff1178bc7..054238cf6fa45d 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/delete_rules_bulk_route.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/delete_rules_bulk_route.ts @@ -80,21 +80,19 @@ export const deleteRulesBulkRoute = ( return getIdBulkError({ id, ruleId }); } - const ruleStatuses = await ruleStatusClient.find({ - logsCount: 6, + const ruleStatus = await ruleStatusClient.getCurrentStatus({ ruleId: rule.id, spaceId: context.securitySolution.getSpaceId(), }); await deleteRules({ + ruleId: rule.id, rulesClient, ruleStatusClient, - ruleStatuses, - id: rule.id, }); return transformValidateBulkError( idOrRuleIdOrUnknown, rule, - ruleStatuses, + ruleStatus, isRuleRegistryEnabled ); } catch (err) { diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/delete_rules_route.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/delete_rules_route.test.ts index 466012a045eb3a..9c126a177eeb59 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/delete_rules_route.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/delete_rules_route.test.ts @@ -12,7 +12,7 @@ import { getDeleteRequest, getFindResultWithSingleHit, getDeleteRequestById, - getRuleExecutionStatuses, + getRuleExecutionStatusSucceeded, getEmptySavedObjectsResponse, } from '../__mocks__/request_responses'; import { requestContextMock, serverMock, requestMock } from '../__mocks__'; @@ -32,7 +32,9 @@ describe.each([ clients.rulesClient.find.mockResolvedValue(getFindResultWithSingleHit(isRuleRegistryEnabled)); clients.savedObjectsClient.find.mockResolvedValue(getEmptySavedObjectsResponse()); - clients.ruleExecutionLogClient.find.mockResolvedValue(getRuleExecutionStatuses()); + clients.ruleExecutionLogClient.getCurrentStatus.mockResolvedValue( + getRuleExecutionStatusSucceeded() + ); deleteRulesRoute(server.router, isRuleRegistryEnabled); }); diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/delete_rules_route.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/delete_rules_route.ts index 77b8dd6fc5b543..abcf0d07a33b68 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/delete_rules_route.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/delete_rules_route.ts @@ -62,18 +62,16 @@ export const deleteRulesRoute = ( }); } - const ruleStatuses = await ruleStatusClient.find({ - logsCount: 6, + const currentStatus = await ruleStatusClient.getCurrentStatus({ ruleId: rule.id, spaceId: context.securitySolution.getSpaceId(), }); await deleteRules({ + ruleId: rule.id, rulesClient, ruleStatusClient, - ruleStatuses, - id: rule.id, }); - const transformed = transform(rule, ruleStatuses[0], isRuleRegistryEnabled); + const transformed = transform(rule, currentStatus, isRuleRegistryEnabled); if (transformed == null) { return siemResponse.error({ statusCode: 500, body: 'failed to transform alert' }); } else { diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/find_rule_status_internal_route.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/find_rule_status_internal_route.test.ts new file mode 100644 index 00000000000000..285b839cacb9ff --- /dev/null +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/find_rule_status_internal_route.test.ts @@ -0,0 +1,115 @@ +/* + * 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 { INTERNAL_DETECTION_ENGINE_RULE_STATUS_URL } from '../../../../../common/constants'; +import { + internalRuleStatusRequest, + getAlertMock, + getRuleExecutionStatusSucceeded, + getRuleExecutionStatusFailed, +} from '../__mocks__/request_responses'; +import { serverMock, requestContextMock, requestMock } from '../__mocks__'; +import { findRuleStatusInternalRoute } from './find_rule_status_internal_route'; +import { RuleStatusResponse } from '../../rules/types'; +import { AlertExecutionStatusErrorReasons } from '../../../../../../alerting/common'; +import { getQueryRuleParams } from '../../schemas/rule_schemas.mock'; + +describe.each([ + ['Legacy', false], + ['RAC', true], +])(`${INTERNAL_DETECTION_ENGINE_RULE_STATUS_URL} - %s`, (_, isRuleRegistryEnabled) => { + let server: ReturnType; + let { clients, context } = requestContextMock.createTools(); + + beforeEach(async () => { + server = serverMock.create(); + ({ clients, context } = requestContextMock.createTools()); + + clients.ruleExecutionLogClient.getCurrentStatus.mockResolvedValue( + getRuleExecutionStatusSucceeded() + ); + clients.ruleExecutionLogClient.getLastFailures.mockResolvedValue([ + getRuleExecutionStatusFailed(), + ]); + clients.rulesClient.get.mockResolvedValue( + getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()) + ); + + findRuleStatusInternalRoute(server.router); + }); + + describe('status codes with actionClient and alertClient', () => { + test('returns 200 when finding a single rule status with a valid rulesClient', async () => { + const response = await server.inject(internalRuleStatusRequest(), context); + expect(response.status).toEqual(200); + }); + + test('returns 404 if alertClient is not available on the route', async () => { + context.alerting.getRulesClient = jest.fn(); + const response = await server.inject(internalRuleStatusRequest(), context); + expect(response.status).toEqual(404); + expect(response.body).toEqual({ message: 'Not Found', status_code: 404 }); + }); + + test('catch error when status search throws error', async () => { + clients.ruleExecutionLogClient.getCurrentStatus.mockImplementation(async () => { + throw new Error('Test error'); + }); + const response = await server.inject(internalRuleStatusRequest(), context); + expect(response.status).toEqual(500); + expect(response.body).toEqual({ + message: 'Test error', + status_code: 500, + }); + }); + + test('returns success if rule status client writes an error status', async () => { + // 0. task manager tried to run the rule but couldn't, so the alerting framework + // wrote an error to the executionStatus. + const failingExecutionRule = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); + failingExecutionRule.executionStatus = { + status: 'error', + lastExecutionDate: failingExecutionRule.executionStatus.lastExecutionDate, + error: { + reason: AlertExecutionStatusErrorReasons.Read, + message: 'oops', + }, + }; + + // 1. getFailingRules api found a rule where the executionStatus was 'error' + clients.rulesClient.get.mockResolvedValue({ + ...failingExecutionRule, + }); + + const request = internalRuleStatusRequest(); + const { ruleId } = request.body; + + const response = await server.inject(request, context); + const responseBody: RuleStatusResponse = response.body; + const ruleStatus = responseBody[ruleId].current_status; + + expect(response.status).toEqual(200); + expect(ruleStatus?.status).toEqual('failed'); + expect(ruleStatus?.last_failure_message).toEqual('Reason: read Message: oops'); + }); + }); + + describe('request validation', () => { + test('disallows singular id query param', async () => { + const request = requestMock.create({ + method: 'post', + path: INTERNAL_DETECTION_ENGINE_RULE_STATUS_URL, + body: { id: ['someId'] }, + }); + const result = server.validate(request); + + expect(result.badRequest).toHaveBeenCalledWith( + 'Invalid value "undefined" supplied to "ruleId"' + ); + }); + }); +}); diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/find_rule_status_internal_route.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/find_rule_status_internal_route.ts new file mode 100644 index 00000000000000..6d9b371a9370c8 --- /dev/null +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/find_rule_status_internal_route.ts @@ -0,0 +1,85 @@ +/* + * 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 { transformError } from '@kbn/securitysolution-es-utils'; +import { buildRouteValidation } from '../../../../utils/build_validation/route_validation'; +import type { SecuritySolutionPluginRouter } from '../../../../types'; +import { INTERNAL_DETECTION_ENGINE_RULE_STATUS_URL } from '../../../../../common/constants'; +import { buildSiemResponse, mergeStatuses, getFailingRules } from '../utils'; +import { + findRuleStatusSchema, + FindRuleStatusSchemaDecoded, +} from '../../../../../common/detection_engine/schemas/request/find_rule_statuses_schema'; +import { mergeAlertWithSidecarStatus } from '../../schemas/rule_converters'; + +/** + * Returns the current execution status and metrics + last five failed statuses of a given rule. + * Accepts a rule id. + * + * NOTE: This endpoint is a raw implementation of an endpoint for reading rule execution + * status and logs for a given rule (e.g. for use on the Rule Details page). It will be reworked. + * See the plan in https://github.com/elastic/kibana/pull/115574 + * + * @param router + * @returns RuleStatusResponse containing data only for the given rule (normally it contains data for N rules). + */ +export const findRuleStatusInternalRoute = (router: SecuritySolutionPluginRouter) => { + router.post( + { + path: INTERNAL_DETECTION_ENGINE_RULE_STATUS_URL, + validate: { + body: buildRouteValidation( + findRuleStatusSchema + ), + }, + options: { + tags: ['access:securitySolution'], + }, + }, + async (context, request, response) => { + const { ruleId } = request.body; + + const siemResponse = buildSiemResponse(response); + const rulesClient = context.alerting?.getRulesClient(); + + if (!rulesClient) { + return siemResponse.error({ statusCode: 404 }); + } + + try { + const ruleStatusClient = context.securitySolution.getExecutionLogClient(); + const spaceId = context.securitySolution.getSpaceId(); + + const [currentStatus, lastFailures, failingRules] = await Promise.all([ + ruleStatusClient.getCurrentStatus({ ruleId, spaceId }), + ruleStatusClient.getLastFailures({ ruleId, spaceId }), + getFailingRules([ruleId], rulesClient), + ]); + + const failingRule = failingRules[ruleId]; + let statuses = {}; + + if (currentStatus != null) { + const finalCurrentStatus = + failingRule != null + ? mergeAlertWithSidecarStatus(failingRule, currentStatus) + : currentStatus; + + statuses = mergeStatuses(ruleId, [finalCurrentStatus, ...lastFailures], statuses); + } + + return response.ok({ body: statuses }); + } catch (err) { + const error = transformError(err); + return siemResponse.error({ + body: error.message, + statusCode: error.statusCode, + }); + } + } + ); +}; diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/find_rules_route.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/find_rules_route.test.ts index 0b0650d48872fb..9f151d1db9292a 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/find_rules_route.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/find_rules_route.test.ts @@ -36,7 +36,9 @@ describe.each([ getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()) ); clients.savedObjectsClient.find.mockResolvedValue(getEmptySavedObjectsResponse()); - clients.ruleExecutionLogClient.findBulk.mockResolvedValue(getFindBulkResultStatus()); + clients.ruleExecutionLogClient.getCurrentStatusBulk.mockResolvedValue( + getFindBulkResultStatus() + ); findRulesRoute(server.router, logger, isRuleRegistryEnabled); }); diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/find_rules_route.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/find_rules_route.ts index a55a525806b171..199ef75e22f25b 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/find_rules_route.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/find_rules_route.ts @@ -68,15 +68,14 @@ export const findRulesRoute = ( }); const alertIds = rules.data.map((rule) => rule.id); - const [ruleStatuses, ruleActions] = await Promise.all([ - execLogClient.findBulk({ + const [currentStatusesByRuleId, ruleActions] = await Promise.all([ + execLogClient.getCurrentStatusBulk({ ruleIds: alertIds, - logsCount: 1, spaceId: context.securitySolution.getSpaceId(), }), legacyGetBulkRuleActionsSavedObject({ alertIds, savedObjectsClient, logger }), ]); - const transformed = transformFindAlerts(rules, ruleStatuses, ruleActions); + const transformed = transformFindAlerts(rules, currentStatusesByRuleId, ruleActions); if (transformed == null) { return siemResponse.error({ statusCode: 500, body: 'Internal error transforming' }); } else { diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/find_rules_status_route.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/find_rules_status_route.test.ts index 5d6b9810a2cdac..2286c010a0a5ae 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/find_rules_status_route.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/find_rules_status_route.test.ts @@ -27,7 +27,9 @@ describe.each([ beforeEach(async () => { server = serverMock.create(); ({ clients, context } = requestContextMock.createTools()); - clients.ruleExecutionLogClient.findBulk.mockResolvedValue(getFindBulkResultStatus()); // successful status search + clients.ruleExecutionLogClient.getCurrentStatusBulk.mockResolvedValue( + getFindBulkResultStatus() + ); // successful status search clients.rulesClient.get.mockResolvedValue( getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()) ); @@ -48,7 +50,7 @@ describe.each([ }); test('catch error when status search throws error', async () => { - clients.ruleExecutionLogClient.findBulk.mockImplementation(async () => { + clients.ruleExecutionLogClient.getCurrentStatusBulk.mockImplementation(async () => { throw new Error('Test error'); }); const response = await server.inject(ruleStatusRequest(), context); diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/find_rules_status_route.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/find_rules_status_route.ts index 71ebe23f124d2c..af4f8ddbb9ec89 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/find_rules_status_route.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/find_rules_status_route.ts @@ -17,11 +17,16 @@ import { import { mergeAlertWithSidecarStatus } from '../../schemas/rule_converters'; /** - * Given a list of rule ids, return the current status and - * last five errors for each associated rule. + * Returns the current execution status and metrics for N rules. + * Accepts an array of rule ids. + * + * NOTE: This endpoint is used on the Rule Management page and will be reworked. + * See the plan in https://github.com/elastic/kibana/pull/115574 * * @param router - * @returns RuleStatusResponse + * @returns RuleStatusResponse containing data for N requested rules. + * RuleStatusResponse[ruleId].failures is always an empty array, because + * we don't need failure history of every rule when we render tables with rules. */ export const findRulesStatusesRoute = (router: SecuritySolutionPluginRouter) => { router.post( @@ -48,31 +53,30 @@ export const findRulesStatusesRoute = (router: SecuritySolutionPluginRouter) => const ids = body.ids; try { const ruleStatusClient = context.securitySolution.getExecutionLogClient(); - const [statusesById, failingRules] = await Promise.all([ - ruleStatusClient.findBulk({ + const [currentStatusesByRuleId, failingRules] = await Promise.all([ + ruleStatusClient.getCurrentStatusBulk({ ruleIds: ids, - logsCount: 6, spaceId: context.securitySolution.getSpaceId(), }), getFailingRules(ids, rulesClient), ]); const statuses = ids.reduce((acc, id) => { - const lastFiveErrorsForId = statusesById[id]; + const currentStatus = currentStatusesByRuleId[id]; + const failingRule = failingRules[id]; - if (lastFiveErrorsForId == null || lastFiveErrorsForId.length === 0) { + if (currentStatus == null) { return acc; } - const failingRule = failingRules[id]; + const finalCurrentStatus = + failingRule != null + ? mergeAlertWithSidecarStatus(failingRule, currentStatus) + : currentStatus; - if (failingRule != null) { - const currentStatus = mergeAlertWithSidecarStatus(failingRule, lastFiveErrorsForId[0]); - const updatedLastFiveErrorsSO = [currentStatus, ...lastFiveErrorsForId.slice(1)]; - return mergeStatuses(id, updatedLastFiveErrorsSO, acc); - } - return mergeStatuses(id, [...lastFiveErrorsForId], acc); + return mergeStatuses(id, [finalCurrentStatus], acc); }, {}); + return response.ok({ body: statuses }); } catch (err) { const error = transformError(err); diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/patch_rules_bulk_route.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/patch_rules_bulk_route.ts index 2b514ba9110915..838bfe63782c80 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/patch_rules_bulk_route.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/patch_rules_bulk_route.ts @@ -194,12 +194,11 @@ export const patchRulesBulkRoute = ( exceptionsList, }); if (rule != null && rule.enabled != null && rule.name != null) { - const ruleStatuses = await ruleStatusClient.find({ - logsCount: 1, + const ruleStatus = await ruleStatusClient.getCurrentStatus({ ruleId: rule.id, spaceId: context.securitySolution.getSpaceId(), }); - return transformValidateBulkError(rule.id, rule, ruleStatuses, isRuleRegistryEnabled); + return transformValidateBulkError(rule.id, rule, ruleStatus, isRuleRegistryEnabled); } else { return getIdBulkError({ id, ruleId }); } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/patch_rules_route.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/patch_rules_route.test.ts index 00d7180dfc9be4..fe8e4470a61cfc 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/patch_rules_route.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/patch_rules_route.test.ts @@ -10,7 +10,7 @@ import { mlServicesMock, mlAuthzMock as mockMlAuthzFactory } from '../../../mach import { buildMlAuthz } from '../../../machine_learning/authz'; import { getEmptyFindResult, - getRuleExecutionStatuses, + getRuleExecutionStatusSucceeded, getAlertMock, getPatchRequest, getFindResultWithSingleHit, @@ -46,8 +46,15 @@ describe.each([ getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()) ); // successful update clients.savedObjectsClient.find.mockResolvedValue(getEmptySavedObjectsResponse()); // successful transform - clients.savedObjectsClient.create.mockResolvedValue(getRuleExecutionStatuses()[0]); // successful transform - clients.ruleExecutionLogClient.find.mockResolvedValue(getRuleExecutionStatuses()); + clients.savedObjectsClient.create.mockResolvedValue({ + type: 'my-type', + id: 'e0b86950-4e9f-11ea-bdbd-07b56aa159b3', + attributes: getRuleExecutionStatusSucceeded(), + references: [], + }); // successful transform + clients.ruleExecutionLogClient.getCurrentStatus.mockResolvedValue( + getRuleExecutionStatusSucceeded() + ); patchRulesRoute(server.router, ml, isRuleRegistryEnabled); }); diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/patch_rules_route.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/patch_rules_route.ts index 0096cd2e381807..bb9f7e1475247f 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/patch_rules_route.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/patch_rules_route.ts @@ -195,17 +195,12 @@ export const patchRulesRoute = ( exceptionsList, }); if (rule != null && rule.enabled != null && rule.name != null) { - const ruleStatuses = await ruleStatusClient.find({ - logsCount: 1, + const ruleStatus = await ruleStatusClient.getCurrentStatus({ ruleId: rule.id, spaceId: context.securitySolution.getSpaceId(), }); - const [validated, errors] = transformValidate( - rule, - ruleStatuses[0], - isRuleRegistryEnabled - ); + const [validated, errors] = transformValidate(rule, ruleStatus, isRuleRegistryEnabled); if (errors != null) { return siemResponse.error({ statusCode: 500, body: errors }); } else { diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/perform_bulk_action_route.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/perform_bulk_action_route.ts index 44f2577e032b5f..251ff1e6e5f388 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/perform_bulk_action_route.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/perform_bulk_action_route.ts @@ -109,16 +109,10 @@ export const performBulkActionRoute = ( case BulkAction.delete: await Promise.all( rules.data.map(async (rule) => { - const ruleStatuses = await ruleStatusClient.find({ - logsCount: 6, - ruleId: rule.id, - spaceId: context.securitySolution.getSpaceId(), - }); await deleteRules({ + ruleId: rule.id, rulesClient, ruleStatusClient, - ruleStatuses, - id: rule.id, }); }) ); diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/read_rules_route.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/read_rules_route.test.ts index bc9fa43b56ae75..4264ca9961bd47 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/read_rules_route.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/read_rules_route.test.ts @@ -16,6 +16,7 @@ import { getFindResultWithSingleHit, nonRuleFindResult, getEmptySavedObjectsResponse, + getRuleExecutionStatusSucceeded, resolveAlertMock, } from '../__mocks__/request_responses'; import { requestMock, requestContextMock, serverMock } from '../__mocks__'; @@ -37,7 +38,9 @@ describe.each([ clients.rulesClient.find.mockResolvedValue(getFindResultWithSingleHit(isRuleRegistryEnabled)); // rule exists clients.savedObjectsClient.find.mockResolvedValue(getEmptySavedObjectsResponse()); // successful transform - clients.ruleExecutionLogClient.find.mockResolvedValue([]); + clients.ruleExecutionLogClient.getCurrentStatus.mockResolvedValue( + getRuleExecutionStatusSucceeded() + ); clients.rulesClient.resolve.mockResolvedValue({ ...resolveAlertMock(isRuleRegistryEnabled, { diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/read_rules_route.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/read_rules_route.ts index c3d6f09c306f03..06d0b9d8c327a6 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/read_rules_route.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/read_rules_route.ts @@ -70,12 +70,10 @@ export const readRulesRoute = ( ruleAlertId: rule.id, logger, }); - const ruleStatuses = await ruleStatusClient.find({ - logsCount: 1, + const currentStatus = await ruleStatusClient.getCurrentStatus({ ruleId: rule.id, spaceId: context.securitySolution.getSpaceId(), }); - const [currentStatus] = ruleStatuses; if (currentStatus != null && rule.executionStatus.status === 'error') { currentStatus.attributes.lastFailureMessage = `Reason: ${rule.executionStatus.error?.reason} Message: ${rule.executionStatus.error?.message}`; currentStatus.attributes.lastFailureAt = diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/update_rules_bulk_route.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/update_rules_bulk_route.ts index 067f7b80dfca19..80b77722e79b0d 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/update_rules_bulk_route.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/update_rules_bulk_route.ts @@ -95,12 +95,11 @@ export const updateRulesBulkRoute = ( isRuleRegistryEnabled, }); if (rule != null) { - const ruleStatuses = await ruleStatusClient.find({ - logsCount: 1, + const ruleStatus = await ruleStatusClient.getCurrentStatus({ ruleId: rule.id, spaceId: context.securitySolution.getSpaceId(), }); - return transformValidateBulkError(rule.id, rule, ruleStatuses, isRuleRegistryEnabled); + return transformValidateBulkError(rule.id, rule, ruleStatus, isRuleRegistryEnabled); } else { return getIdBulkError({ id: payloadRule.id, ruleId: payloadRule.rule_id }); } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/update_rules_route.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/update_rules_route.test.ts index 37df792b421b06..131015880053c2 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/update_rules_route.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/update_rules_route.test.ts @@ -12,6 +12,7 @@ import { getAlertMock, getUpdateRequest, getFindResultWithSingleHit, + getRuleExecutionStatusSucceeded, nonRuleFindResult, typicalMlRulePayload, } from '../__mocks__/request_responses'; @@ -43,8 +44,11 @@ describe.each([ clients.rulesClient.update.mockResolvedValue( getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()) ); // successful update - clients.ruleExecutionLogClient.find.mockResolvedValue([]); // successful transform: ; + clients.ruleExecutionLogClient.getCurrentStatus.mockResolvedValue( + getRuleExecutionStatusSucceeded() + ); clients.appClient.getSignalsIndex.mockReturnValue('.siem-signals-test-index'); + updateRulesRoute(server.router, ml, isRuleRegistryEnabled); }); diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/update_rules_route.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/update_rules_route.ts index 543591c415a6bb..1aad28d110bd9d 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/update_rules_route.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/update_rules_route.ts @@ -86,16 +86,11 @@ export const updateRulesRoute = ( }); if (rule != null) { - const ruleStatuses = await ruleStatusClient.find({ - logsCount: 1, + const ruleStatus = await ruleStatusClient.getCurrentStatus({ ruleId: rule.id, spaceId: context.securitySolution.getSpaceId(), }); - const [validated, errors] = transformValidate( - rule, - ruleStatuses[0], - isRuleRegistryEnabled - ); + const [validated, errors] = transformValidate(rule, ruleStatus, isRuleRegistryEnabled); if (errors != null) { return siemResponse.error({ statusCode: 500, body: errors }); } else { diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/utils.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/utils.ts index 7472d41b9ab776..e706a3c9149745 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/utils.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/utils.ts @@ -6,7 +6,6 @@ */ import { countBy } from 'lodash/fp'; -import { SavedObject } from 'kibana/server'; import uuid from 'uuid'; import { RulesSchema } from '../../../../../common/detection_engine/schemas/response/rules_schema'; @@ -18,8 +17,7 @@ import { INTERNAL_IDENTIFIER } from '../../../../../common/constants'; import { RuleAlertType, isAlertType, - IRuleSavedAttributesSavedObjectAttributes, - isRuleStatusSavedObjectType, + isRuleStatusSavedObjectAttributes, IRuleStatusSOAttributes, } from '../../rules/types'; import { createBulkErrorObject, BulkError, OutputError } from '../utils'; @@ -98,10 +96,10 @@ export const transformTags = (tags: string[]): string[] => { // those on the export export const transformAlertToRule = ( alert: SanitizedAlert, - ruleStatus?: SavedObject, + ruleStatus?: IRuleStatusSOAttributes, legacyRuleActions?: LegacyRulesActionsSavedObject | null ): Partial => { - return internalRuleToAPIResponse(alert, ruleStatus?.attributes, legacyRuleActions); + return internalRuleToAPIResponse(alert, ruleStatus, legacyRuleActions); }; export const transformAlertsToRules = ( @@ -113,7 +111,7 @@ export const transformAlertsToRules = ( export const transformFindAlerts = ( findResults: FindResult, - ruleStatuses: { [key: string]: IRuleStatusSOAttributes[] | undefined }, + currentStatusesByRuleId: { [key: string]: IRuleStatusSOAttributes | undefined }, legacyRuleActions: Record ): { page: number; @@ -126,8 +124,7 @@ export const transformFindAlerts = ( perPage: findResults.perPage, total: findResults.total, data: findResults.data.map((alert) => { - const statuses = ruleStatuses[alert.id]; - const status = statuses ? statuses[0] : undefined; + const status = currentStatusesByRuleId[alert.id]; return internalRuleToAPIResponse(alert, status, legacyRuleActions[alert.id]); }), }; @@ -135,14 +132,14 @@ export const transformFindAlerts = ( export const transform = ( alert: PartialAlert, - ruleStatus?: SavedObject, + ruleStatus?: IRuleStatusSOAttributes, isRuleRegistryEnabled?: boolean, legacyRuleActions?: LegacyRulesActionsSavedObject | null ): Partial | null => { if (isAlertType(isRuleRegistryEnabled ?? false, alert)) { return transformAlertToRule( alert, - isRuleStatusSavedObjectType(ruleStatus) ? ruleStatus : undefined, + isRuleStatusSavedObjectAttributes(ruleStatus) ? ruleStatus : undefined, legacyRuleActions ); } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/validate.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/validate.test.ts index a7ba1ac77b7bf7..032988bcca8be1 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/validate.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/validate.test.ts @@ -8,7 +8,7 @@ import { transformValidate, transformValidateBulkError } from './validate'; import { BulkError } from '../utils'; import { RulesSchema } from '../../../../../common/detection_engine/schemas/response'; -import { getAlertMock, getRuleExecutionStatuses } from '../__mocks__/request_responses'; +import { getAlertMock, getRuleExecutionStatusSucceeded } from '../__mocks__/request_responses'; import { getListArrayMock } from '../../../../../common/detection_engine/schemas/types/lists.mock'; import { getThreatMock } from '../../../../../common/detection_engine/schemas/types/threat.mock'; import { getQueryRuleParams } from '../../schemas/rule_schemas.mock'; @@ -121,12 +121,12 @@ describe.each([ }); test('it should do a validation correctly of a rule id with ruleStatus passed in', () => { - const ruleStatuses = getRuleExecutionStatuses(); + const ruleStatus = getRuleExecutionStatusSucceeded(); const ruleAlert = getAlertMock(isRuleRegistryEnabled, getQueryRuleParams()); const validatedOrError = transformValidateBulkError( 'rule-1', ruleAlert, - ruleStatuses, + ruleStatus, isRuleRegistryEnabled ); const expected: RulesSchema = { diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/validate.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/validate.ts index 307b6c96da3e52..d4bb020cfb6728 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/validate.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/validate.ts @@ -5,8 +5,6 @@ * 2.0. */ -import { SavedObject, SavedObjectsFindResult } from 'kibana/server'; - import { validateNonExact } from '@kbn/securitysolution-io-ts-utils'; import { FullResponseSchema, @@ -19,9 +17,8 @@ import { import { PartialAlert } from '../../../../../../alerting/server'; import { isAlertType, - IRuleSavedAttributesSavedObjectAttributes, IRuleStatusSOAttributes, - isRuleStatusSavedObjectType, + isRuleStatusSavedObjectAttributes, } from '../../rules/types'; import { createBulkErrorObject, BulkError } from '../utils'; import { transform, transformAlertToRule } from './utils'; @@ -31,7 +28,7 @@ import { LegacyRulesActionsSavedObject } from '../../rule_actions/legacy_get_rul export const transformValidate = ( alert: PartialAlert, - ruleStatus?: SavedObject, + ruleStatus?: IRuleStatusSOAttributes, isRuleRegistryEnabled?: boolean, legacyRuleActions?: LegacyRulesActionsSavedObject | null ): [RulesSchema | null, string | null] => { @@ -45,7 +42,7 @@ export const transformValidate = ( export const newTransformValidate = ( alert: PartialAlert, - ruleStatus?: SavedObject, + ruleStatus?: IRuleStatusSOAttributes, isRuleRegistryEnabled?: boolean, legacyRuleActions?: LegacyRulesActionsSavedObject | null ): [FullResponseSchema | null, string | null] => { @@ -60,12 +57,12 @@ export const newTransformValidate = ( export const transformValidateBulkError = ( ruleId: string, alert: PartialAlert, - ruleStatus?: Array>, + ruleStatus?: IRuleStatusSOAttributes, isRuleRegistryEnabled?: boolean ): RulesSchema | BulkError => { if (isAlertType(isRuleRegistryEnabled ?? false, alert)) { - if (ruleStatus && ruleStatus?.length > 0 && isRuleStatusSavedObjectType(ruleStatus[0])) { - const transformed = transformAlertToRule(alert, ruleStatus[0]); + if (ruleStatus && isRuleStatusSavedObjectAttributes(ruleStatus)) { + const transformed = transformAlertToRule(alert, ruleStatus); const [validated, errors] = validateNonExact(transformed, rulesSchema); if (errors != null || validated == null) { return createBulkErrorObject({ diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_execution_log/__mocks__/rule_execution_log_client.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_execution_log/__mocks__/rule_execution_log_client.ts index 910e1ecaa508fd..518e4aa903d957 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_execution_log/__mocks__/rule_execution_log_client.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_execution_log/__mocks__/rule_execution_log_client.ts @@ -11,8 +11,13 @@ export const ruleExecutionLogClientMock = { create: (): jest.Mocked => ({ find: jest.fn(), findBulk: jest.fn(), - update: jest.fn(), - delete: jest.fn(), + + getLastFailures: jest.fn(), + getCurrentStatus: jest.fn(), + getCurrentStatusBulk: jest.fn(), + + deleteCurrentStatus: jest.fn(), + logStatusChange: jest.fn(), logExecutionMetrics: jest.fn(), }), diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_execution_log/event_log_adapter/event_log_adapter.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_execution_log/event_log_adapter/event_log_adapter.ts index a3fb50f1f6b0b9..e5660da8d4cf47 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_execution_log/event_log_adapter/event_log_adapter.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_execution_log/event_log_adapter/event_log_adapter.ts @@ -7,18 +7,25 @@ import { sum } from 'lodash'; import { SavedObjectsClientContract } from '../../../../../../../../src/core/server'; -import { IEventLogService } from '../../../../../../event_log/server'; +import { IEventLogClient, IEventLogService } from '../../../../../../event_log/server'; +import { RuleExecutionStatus } from '../../../../../common/detection_engine/schemas/common/schemas'; +import { IRuleStatusSOAttributes } from '../../rules/types'; import { SavedObjectsAdapter } from '../saved_objects_adapter/saved_objects_adapter'; import { FindBulkExecutionLogArgs, FindExecutionLogArgs, + GetCurrentStatusArgs, + GetCurrentStatusBulkArgs, + GetCurrentStatusBulkResult, + GetLastFailuresArgs, IRuleExecutionLogClient, LogExecutionMetricsArgs, LogStatusChangeArgs, - UpdateExecutionLogArgs, } from '../types'; import { EventLogClient } from './event_log_client'; +const MAX_LAST_FAILURES = 5; + export class EventLogAdapter implements IRuleExecutionLogClient { private eventLogClient: EventLogClient; /** @@ -28,38 +35,46 @@ export class EventLogAdapter implements IRuleExecutionLogClient { */ private savedObjectsAdapter: IRuleExecutionLogClient; - constructor(eventLogService: IEventLogService, savedObjectsClient: SavedObjectsClientContract) { - this.eventLogClient = new EventLogClient(eventLogService); + constructor( + eventLogService: IEventLogService, + eventLogClient: IEventLogClient | undefined, + savedObjectsClient: SavedObjectsClientContract + ) { + this.eventLogClient = new EventLogClient(eventLogService, eventLogClient); this.savedObjectsAdapter = new SavedObjectsAdapter(savedObjectsClient); } + /** @deprecated */ public async find(args: FindExecutionLogArgs) { return this.savedObjectsAdapter.find(args); } + /** @deprecated */ public async findBulk(args: FindBulkExecutionLogArgs) { return this.savedObjectsAdapter.findBulk(args); } - public async update(args: UpdateExecutionLogArgs) { - const { attributes, spaceId, ruleId, ruleName, ruleType } = args; + public getLastFailures(args: GetLastFailuresArgs): Promise { + const { ruleId } = args; + return this.eventLogClient.getLastStatusChanges({ + ruleId, + count: MAX_LAST_FAILURES, + includeStatuses: [RuleExecutionStatus.failed], + }); + } - await this.savedObjectsAdapter.update(args); + public getCurrentStatus( + args: GetCurrentStatusArgs + ): Promise { + return this.savedObjectsAdapter.getCurrentStatus(args); + } - // EventLog execution events are immutable, so we just log a status change istead of updating previous - if (attributes.status) { - this.eventLogClient.logStatusChange({ - ruleName, - ruleType, - ruleId, - newStatus: attributes.status, - spaceId, - }); - } + public getCurrentStatusBulk(args: GetCurrentStatusBulkArgs): Promise { + return this.savedObjectsAdapter.getCurrentStatusBulk(args); } - public async delete(id: string) { - await this.savedObjectsAdapter.delete(id); + public async deleteCurrentStatus(ruleId: string): Promise { + await this.savedObjectsAdapter.deleteCurrentStatus(ruleId); // EventLog execution events are immutable, nothing to do here } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_execution_log/event_log_adapter/event_log_client.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_execution_log/event_log_adapter/event_log_client.ts index d85c67e4220350..6ce9d3d1c26ee0 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_execution_log/event_log_adapter/event_log_client.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_execution_log/event_log_adapter/event_log_client.ts @@ -7,11 +7,14 @@ import { SavedObjectsUtils } from '../../../../../../../../src/core/server'; import { + IEventLogClient, IEventLogger, IEventLogService, SAVED_OBJECT_REL_PRIMARY, } from '../../../../../../event_log/server'; import { RuleExecutionStatus } from '../../../../../common/detection_engine/schemas/common/schemas'; +import { invariant } from '../../../../../common/utils/invariant'; +import { IRuleStatusSOAttributes } from '../../rules/types'; import { LogStatusChangeArgs } from '../types'; import { RuleExecutionLogAction, @@ -21,6 +24,8 @@ import { const spaceIdToNamespace = SavedObjectsUtils.namespaceStringToId; +const now = () => new Date().toISOString(); + const statusSeverityDict: Record = { [RuleExecutionStatus.succeeded]: 0, [RuleExecutionStatus['going to run']]: 10, @@ -29,13 +34,6 @@ const statusSeverityDict: Record = { [RuleExecutionStatus.failed]: 30, }; -interface FindExecutionLogArgs { - ruleIds: string[]; - spaceId: string; - logsCount?: number; - statuses?: RuleExecutionStatus[]; -} - interface LogExecutionMetricsArgs { ruleId: string; ruleName: string; @@ -50,24 +48,88 @@ interface EventLogExecutionMetrics { executionGapDuration?: number; } +interface GetLastStatusChangesArgs { + ruleId: string; + count: number; + includeStatuses?: RuleExecutionStatus[]; +} + interface IExecLogEventLogClient { - find: (args: FindExecutionLogArgs) => Promise<{}>; + getLastStatusChanges(args: GetLastStatusChangesArgs): Promise; logStatusChange: (args: LogStatusChangeArgs) => void; logExecutionMetrics: (args: LogExecutionMetricsArgs) => void; } export class EventLogClient implements IExecLogEventLogClient { + private readonly eventLogClient: IEventLogClient | undefined; + private readonly eventLogger: IEventLogger; private sequence = 0; - private eventLogger: IEventLogger; - constructor(eventLogService: IEventLogService) { + constructor(eventLogService: IEventLogService, eventLogClient: IEventLogClient | undefined) { + this.eventLogClient = eventLogClient; this.eventLogger = eventLogService.getLogger({ event: { provider: RULE_EXECUTION_LOG_PROVIDER }, }); } - public async find({ ruleIds, spaceId, statuses, logsCount = 1 }: FindExecutionLogArgs) { - return {}; // TODO implement + public async getLastStatusChanges( + args: GetLastStatusChangesArgs + ): Promise { + if (!this.eventLogClient) { + throw new Error('Querying Event Log from a rule executor is not supported at this moment'); + } + + const soType = ALERT_SAVED_OBJECT_TYPE; + const soIds = [args.ruleId]; + const count = args.count; + const includeStatuses = (args.includeStatuses ?? []).map((status) => `"${status}"`); + + const filterBy: string[] = [ + `event.provider: ${RULE_EXECUTION_LOG_PROVIDER}`, + 'event.kind: event', + `event.action: ${RuleExecutionLogAction['status-change']}`, + includeStatuses.length > 0 + ? `kibana.alert.rule.execution.status:${includeStatuses.join(' ')}` + : '', + ]; + + const kqlFilter = filterBy + .filter(Boolean) + .map((item) => `(${item})`) + .join(' and '); + + const findResult = await this.eventLogClient.findEventsBySavedObjectIds(soType, soIds, { + page: 1, + per_page: count, + sort_field: '@timestamp', + sort_order: 'desc', + filter: kqlFilter, + }); + + return findResult.data.map((event) => { + invariant(event, 'Event not found'); + invariant(event['@timestamp'], 'Required "@timestamp" field is not found'); + + const statusDate = event['@timestamp']; + const status = event.kibana?.alert?.rule?.execution?.status as + | RuleExecutionStatus + | undefined; + const isStatusFailed = status === RuleExecutionStatus.failed; + const message = event.message ?? ''; + + return { + statusDate, + status, + lastFailureAt: isStatusFailed ? statusDate : undefined, + lastFailureMessage: isStatusFailed ? message : undefined, + lastSuccessAt: !isStatusFailed ? statusDate : undefined, + lastSuccessMessage: !isStatusFailed ? message : undefined, + lastLookBackDate: undefined, + gap: undefined, + bulkCreateTimeDurations: undefined, + searchAfterTimeDurations: undefined, + }; + }); } public logExecutionMetrics({ @@ -78,6 +140,7 @@ export class EventLogClient implements IExecLogEventLogClient { spaceId, }: LogExecutionMetricsArgs) { this.eventLogger.logEvent({ + '@timestamp': now(), rule: { id: ruleId, name: ruleName, @@ -122,6 +185,8 @@ export class EventLogClient implements IExecLogEventLogClient { spaceId, }: LogStatusChangeArgs) { this.eventLogger.logEvent({ + '@timestamp': now(), + message, rule: { id: ruleId, name: ruleName, @@ -132,7 +197,6 @@ export class EventLogClient implements IExecLogEventLogClient { action: RuleExecutionLogAction['status-change'], sequence: this.sequence++, }, - message, kibana: { alert: { rule: { diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_execution_log/rule_execution_log_client.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_execution_log/rule_execution_log_client.ts index 7ae2f179f9692d..005097ac3fd826 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_execution_log/rule_execution_log_client.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_execution_log/rule_execution_log_client.ts @@ -6,7 +6,8 @@ */ import { SavedObjectsClientContract } from '../../../../../../../src/core/server'; -import { IEventLogService } from '../../../../../event_log/server'; +import { IEventLogClient, IEventLogService } from '../../../../../event_log/server'; +import { IRuleStatusSOAttributes } from '../rules/types'; import { EventLogAdapter } from './event_log_adapter/event_log_adapter'; import { SavedObjectsAdapter } from './saved_objects_adapter/saved_objects_adapter'; import { @@ -15,58 +16,63 @@ import { FindExecutionLogArgs, IRuleExecutionLogClient, LogStatusChangeArgs, - UpdateExecutionLogArgs, UnderlyingLogClient, + GetLastFailuresArgs, + GetCurrentStatusArgs, + GetCurrentStatusBulkArgs, + GetCurrentStatusBulkResult, } from './types'; import { truncateMessage } from './utils/normalization'; -export interface RuleExecutionLogClientArgs { +interface ConstructorParams { + underlyingClient: UnderlyingLogClient; savedObjectsClient: SavedObjectsClientContract; eventLogService: IEventLogService; - underlyingClient: UnderlyingLogClient; + eventLogClient?: IEventLogClient; } export class RuleExecutionLogClient implements IRuleExecutionLogClient { private client: IRuleExecutionLogClient; - constructor({ - savedObjectsClient, - eventLogService, - underlyingClient, - }: RuleExecutionLogClientArgs) { + constructor(params: ConstructorParams) { + const { underlyingClient, eventLogService, eventLogClient, savedObjectsClient } = params; + switch (underlyingClient) { case UnderlyingLogClient.savedObjects: this.client = new SavedObjectsAdapter(savedObjectsClient); break; case UnderlyingLogClient.eventLog: - this.client = new EventLogAdapter(eventLogService, savedObjectsClient); + this.client = new EventLogAdapter(eventLogService, eventLogClient, savedObjectsClient); break; } } + /** @deprecated */ public find(args: FindExecutionLogArgs) { return this.client.find(args); } + /** @deprecated */ public findBulk(args: FindBulkExecutionLogArgs) { return this.client.findBulk(args); } - public async update(args: UpdateExecutionLogArgs) { - const { lastFailureMessage, lastSuccessMessage, ...restAttributes } = args.attributes; + public getLastFailures(args: GetLastFailuresArgs): Promise { + return this.client.getLastFailures(args); + } + + public getCurrentStatus( + args: GetCurrentStatusArgs + ): Promise { + return this.client.getCurrentStatus(args); + } - return this.client.update({ - ...args, - attributes: { - lastFailureMessage: truncateMessage(lastFailureMessage), - lastSuccessMessage: truncateMessage(lastSuccessMessage), - ...restAttributes, - }, - }); + public getCurrentStatusBulk(args: GetCurrentStatusBulkArgs): Promise { + return this.client.getCurrentStatusBulk(args); } - public async delete(id: string) { - return this.client.delete(id); + public deleteCurrentStatus(ruleId: string): Promise { + return this.client.deleteCurrentStatus(ruleId); } public async logExecutionMetrics(args: LogExecutionMetricsArgs) { diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_execution_log/saved_objects_adapter/saved_objects_adapter.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_execution_log/saved_objects_adapter/saved_objects_adapter.ts index 70db3a768fdb19..53b50bb8fe638e 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_execution_log/saved_objects_adapter/saved_objects_adapter.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_execution_log/saved_objects_adapter/saved_objects_adapter.ts @@ -5,6 +5,7 @@ * 2.0. */ +import { mapValues } from 'lodash'; import { SavedObject, SavedObjectReference } from 'src/core/server'; import { SavedObjectsClientContract } from '../../../../../../../../src/core/server'; import { RuleExecutionStatus } from '../../../../../common/detection_engine/schemas/common/schemas'; @@ -23,7 +24,10 @@ import { IRuleExecutionLogClient, ExecutionMetrics, LogStatusChangeArgs, - UpdateExecutionLogArgs, + GetLastFailuresArgs, + GetCurrentStatusArgs, + GetCurrentStatusBulkArgs, + GetCurrentStatusBulkResult, } from '../types'; import { assertUnreachable } from '../../../../../common'; @@ -48,26 +52,52 @@ export class SavedObjectsAdapter implements IRuleExecutionLogClient { this.ruleStatusClient = ruleStatusSavedObjectsClientFactory(savedObjectsClient); } - public find({ ruleId, logsCount = 1 }: FindExecutionLogArgs) { + private findRuleStatusSavedObjects(ruleId: string, count: number) { return this.ruleStatusClient.find({ - perPage: logsCount, + perPage: count, sortField: 'statusDate', sortOrder: 'desc', ruleId, }); } + /** @deprecated */ + public find({ ruleId, logsCount = 1 }: FindExecutionLogArgs) { + return this.findRuleStatusSavedObjects(ruleId, logsCount); + } + + /** @deprecated */ public findBulk({ ruleIds, logsCount = 1 }: FindBulkExecutionLogArgs) { return this.ruleStatusClient.findBulk(ruleIds, logsCount); } - public async update({ id, attributes, ruleId }: UpdateExecutionLogArgs) { - const references: SavedObjectReference[] = [legacyGetRuleReference(ruleId)]; - await this.ruleStatusClient.update(id, attributes, { references }); + public async getLastFailures(args: GetLastFailuresArgs): Promise { + const result = await this.findRuleStatusSavedObjects(args.ruleId, MAX_RULE_STATUSES); + + // The first status is always the current one followed by 5 last failures. + // We skip the current status and return only the failures. + return result.map((so) => so.attributes).slice(1); + } + + public async getCurrentStatus( + args: GetCurrentStatusArgs + ): Promise { + const result = await this.findRuleStatusSavedObjects(args.ruleId, 1); + const currentStatusSavedObject = result[0]; + return currentStatusSavedObject?.attributes; + } + + public async getCurrentStatusBulk( + args: GetCurrentStatusBulkArgs + ): Promise { + const { ruleIds } = args; + const result = await this.ruleStatusClient.findBulk(ruleIds, 1); + return mapValues(result, (attributes = []) => attributes[0]); } - public async delete(id: string) { - await this.ruleStatusClient.delete(id); + public async deleteCurrentStatus(ruleId: string): Promise { + const statusSavedObjects = await this.findRuleStatusSavedObjects(ruleId, MAX_RULE_STATUSES); + await Promise.all(statusSavedObjects.map((so) => this.ruleStatusClient.delete(so.id))); } public async logExecutionMetrics({ ruleId, metrics }: LogExecutionMetricsArgs) { @@ -109,16 +139,12 @@ export class SavedObjectsAdapter implements IRuleExecutionLogClient { private getOrCreateRuleStatuses = async ( ruleId: string ): Promise>> => { - const ruleStatuses = await this.find({ - spaceId: '', // spaceId is a required argument but it's not used by savedObjectsClient, any string would work here - ruleId, - logsCount: MAX_RULE_STATUSES, - }); - if (ruleStatuses.length > 0) { - return ruleStatuses; + const existingStatuses = await this.findRuleStatusSavedObjects(ruleId, MAX_RULE_STATUSES); + if (existingStatuses.length > 0) { + return existingStatuses; } - const newStatus = await this.createNewRuleStatus(ruleId); + const newStatus = await this.createNewRuleStatus(ruleId); return [newStatus]; }; @@ -159,7 +185,7 @@ export class SavedObjectsAdapter implements IRuleExecutionLogClient { // drop oldest failures const oldStatuses = [lastStatus, ...ruleStatuses].slice(MAX_RULE_STATUSES); - await Promise.all(oldStatuses.map((status) => this.delete(status.id))); + await Promise.all(oldStatuses.map((status) => this.ruleStatusClient.delete(status.id))); return; } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_execution_log/types.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_execution_log/types.ts index 564145cfc5d1f8..88802f9f28822e 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_execution_log/types.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_execution_log/types.ts @@ -15,74 +15,92 @@ export enum UnderlyingLogClient { 'eventLog' = 'eventLog', } +export interface IRuleExecutionLogClient { + /** @deprecated */ + find(args: FindExecutionLogArgs): Promise>>; + /** @deprecated */ + findBulk(args: FindBulkExecutionLogArgs): Promise; + + getLastFailures(args: GetLastFailuresArgs): Promise; + getCurrentStatus(args: GetCurrentStatusArgs): Promise; + getCurrentStatusBulk(args: GetCurrentStatusBulkArgs): Promise; + + deleteCurrentStatus(ruleId: string): Promise; + + logStatusChange(args: LogStatusChangeArgs): Promise; + logExecutionMetrics(args: LogExecutionMetricsArgs): Promise; +} + +/** @deprecated */ export interface FindExecutionLogArgs { ruleId: string; spaceId: string; logsCount?: number; } +/** @deprecated */ export interface FindBulkExecutionLogArgs { ruleIds: string[]; spaceId: string; logsCount?: number; } -export interface ExecutionMetrics { - searchDurations?: string[]; - indexingDurations?: string[]; - /** - * @deprecated lastLookBackDate is logged only by SavedObjectsAdapter and should be removed in the future - */ - lastLookBackDate?: string; - executionGap?: Duration; +/** @deprecated */ +export interface FindBulkExecutionLogResponse { + [ruleId: string]: IRuleStatusSOAttributes[] | undefined; } -export interface LogStatusChangeArgs { +export interface GetLastFailuresArgs { ruleId: string; - ruleName: string; - ruleType: string; spaceId: string; - newStatus: RuleExecutionStatus; - message?: string; - /** - * @deprecated Use RuleExecutionLogClient.logExecutionMetrics to write metrics instead - */ - metrics?: ExecutionMetrics; } -export interface UpdateExecutionLogArgs { - id: string; - attributes: IRuleStatusSOAttributes; +export interface GetCurrentStatusArgs { ruleId: string; - ruleName: string; - ruleType: string; spaceId: string; } +export interface GetCurrentStatusBulkArgs { + ruleIds: string[]; + spaceId: string; +} + +export interface GetCurrentStatusBulkResult { + [ruleId: string]: IRuleStatusSOAttributes; +} + export interface CreateExecutionLogArgs { attributes: IRuleStatusSOAttributes; spaceId: string; } -export interface LogExecutionMetricsArgs { +export interface LogStatusChangeArgs { ruleId: string; ruleName: string; ruleType: string; spaceId: string; - metrics: ExecutionMetrics; + newStatus: RuleExecutionStatus; + message?: string; + /** + * @deprecated Use RuleExecutionLogClient.logExecutionMetrics to write metrics instead + */ + metrics?: ExecutionMetrics; } -export interface FindBulkExecutionLogResponse { - [ruleId: string]: IRuleStatusSOAttributes[] | undefined; +export interface LogExecutionMetricsArgs { + ruleId: string; + ruleName: string; + ruleType: string; + spaceId: string; + metrics: ExecutionMetrics; } -export interface IRuleExecutionLogClient { - find: ( - args: FindExecutionLogArgs - ) => Promise>>; - findBulk: (args: FindBulkExecutionLogArgs) => Promise; - update: (args: UpdateExecutionLogArgs) => Promise; - delete: (id: string) => Promise; - logStatusChange: (args: LogStatusChangeArgs) => Promise; - logExecutionMetrics: (args: LogExecutionMetricsArgs) => Promise; +export interface ExecutionMetrics { + searchDurations?: string[]; + indexingDurations?: string[]; + /** + * @deprecated lastLookBackDate is logged only by SavedObjectsAdapter and should be removed in the future + */ + lastLookBackDate?: string; + executionGap?: Duration; } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/create_security_rule_type_wrapper.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/create_security_rule_type_wrapper.ts index c472494138b7fa..bc13a12e01ca4a 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/create_security_rule_type_wrapper.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/create_security_rule_type_wrapper.ts @@ -67,9 +67,9 @@ export const createSecurityRuleTypeWrapper: CreateSecurityRuleTypeWrapper = const esClient = scopedClusterClient.asCurrentUser; const ruleStatusClient = new RuleExecutionLogClient({ + underlyingClient: config.ruleExecutionLog.underlyingClient, savedObjectsClient, eventLogService, - underlyingClient: config.ruleExecutionLog.underlyingClient, }); const completeRule = { diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/delete_rules.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/delete_rules.test.ts index 2d82cd7f8732af..42d7f960beb22e 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/delete_rules.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/delete_rules.test.ts @@ -6,10 +6,9 @@ */ import { rulesClientMock } from '../../../../../alerting/server/mocks'; -import { deleteRules } from './delete_rules'; -import { SavedObjectsFindResult } from '../../../../../../../src/core/server'; -import { DeleteRuleOptions, IRuleStatusSOAttributes } from './types'; import { ruleExecutionLogClientMock } from '../rule_execution_log/__mocks__/rule_execution_log_client'; +import { deleteRules } from './delete_rules'; +import { DeleteRuleOptions } from './types'; describe('deleteRules', () => { let rulesClient: ReturnType; @@ -21,35 +20,15 @@ describe('deleteRules', () => { }); it('should delete the rule along with its actions, and statuses', async () => { - const ruleStatus: SavedObjectsFindResult = { - id: 'statusId', - type: '', - references: [], - attributes: { - statusDate: '', - lastFailureAt: null, - lastFailureMessage: null, - lastSuccessAt: null, - lastSuccessMessage: null, - status: null, - lastLookBackDate: null, - gap: null, - bulkCreateTimeDurations: null, - searchAfterTimeDurations: null, - }, - score: 0, - }; - - const rule: DeleteRuleOptions = { + const options: DeleteRuleOptions = { + ruleId: 'ruleId', rulesClient, ruleStatusClient, - id: 'ruleId', - ruleStatuses: [ruleStatus], }; - await deleteRules(rule); + await deleteRules(options); - expect(rulesClient.delete).toHaveBeenCalledWith({ id: rule.id }); - expect(ruleStatusClient.delete).toHaveBeenCalledWith(ruleStatus.id); + expect(rulesClient.delete).toHaveBeenCalledWith({ id: options.ruleId }); + expect(ruleStatusClient.deleteCurrentStatus).toHaveBeenCalledWith(options.ruleId); }); }); diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/delete_rules.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/delete_rules.ts index 5003dbf0279e47..880132434f7cc8 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/delete_rules.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/delete_rules.ts @@ -5,17 +5,9 @@ * 2.0. */ -import { asyncForEach } from '@kbn/std'; import { DeleteRuleOptions } from './types'; -export const deleteRules = async ({ - rulesClient, - ruleStatusClient, - ruleStatuses, - id, -}: DeleteRuleOptions) => { - await rulesClient.delete({ id }); - await asyncForEach(ruleStatuses, async (obj) => { - await ruleStatusClient.delete(obj.id); - }); +export const deleteRules = async ({ ruleId, rulesClient, ruleStatusClient }: DeleteRuleOptions) => { + await rulesClient.delete({ id: ruleId }); + await ruleStatusClient.deleteCurrentStatus(ruleId); }; diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/enable_rule.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/enable_rule.ts index b75a1b0d80e9a0..e24da8a2ba0d48 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/enable_rule.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/enable_rule.ts @@ -33,25 +33,11 @@ export const enableRule = async ({ }: EnableRuleArgs) => { await rulesClient.enable({ id: rule.id }); - const ruleCurrentStatus = await ruleStatusClient.find({ - logsCount: 1, + await ruleStatusClient.logStatusChange({ ruleId: rule.id, + ruleName: rule.name, + ruleType: rule.alertTypeId, spaceId, + newStatus: RuleExecutionStatus['going to run'], }); - - // set current status for this rule to be 'going to run' - if (ruleCurrentStatus && ruleCurrentStatus.length > 0) { - const currentStatusToDisable = ruleCurrentStatus[0]; - await ruleStatusClient.update({ - id: currentStatusToDisable.id, - ruleId: rule.id, - ruleName: rule.name, - ruleType: rule.alertTypeId, - attributes: { - ...currentStatusToDisable.attributes, - status: RuleExecutionStatus['going to run'], - }, - spaceId, - }); - } }; diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/types.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/types.ts index 037f85091bfcc4..ed0f0447ad3b00 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/types.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/types.ts @@ -8,12 +8,7 @@ import { get } from 'lodash/fp'; import { Readable } from 'stream'; -import { - SavedObject, - SavedObjectAttributes, - SavedObjectsClientContract, - SavedObjectsFindResult, -} from 'kibana/server'; +import { SavedObject, SavedObjectAttributes, SavedObjectsClientContract } from 'kibana/server'; import type { MachineLearningJobIdOrUndefined, From, @@ -207,10 +202,8 @@ export const isAlertType = ( : partialAlert.alertTypeId === SIGNALS_ID; }; -export const isRuleStatusSavedObjectType = ( - obj: unknown -): obj is SavedObject => { - return get('attributes', obj) != null; +export const isRuleStatusSavedObjectAttributes = (obj: unknown): obj is IRuleStatusSOAttributes => { + return get('status', obj) != null; }; export interface CreateRulesOptions { @@ -342,10 +335,9 @@ export interface ReadRuleOptions { } export interface DeleteRuleOptions { + ruleId: Id; rulesClient: RulesClient; ruleStatusClient: IRuleExecutionLogClient; - ruleStatuses: Array>; - id: Id; } export interface FindRuleOptions { diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/signals/preview/preview_rule_execution_log_client.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/signals/preview/preview_rule_execution_log_client.ts index d3ccafddab6e4e..c2c1b5d7615c20 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/signals/preview/preview_rule_execution_log_client.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/signals/preview/preview_rule_execution_log_client.ts @@ -7,13 +7,16 @@ import { SavedObjectsFindResult } from 'kibana/server'; import { - LogExecutionMetricsArgs, IRuleExecutionLogClient, + LogStatusChangeArgs, + LogExecutionMetricsArgs, FindBulkExecutionLogArgs, FindBulkExecutionLogResponse, FindExecutionLogArgs, - LogStatusChangeArgs, - UpdateExecutionLogArgs, + GetLastFailuresArgs, + GetCurrentStatusArgs, + GetCurrentStatusBulkArgs, + GetCurrentStatusBulkResult, } from '../../rule_execution_log'; import { IRuleStatusSOAttributes } from '../../rules/types'; @@ -21,26 +24,50 @@ export const createWarningsAndErrors = () => { const warningsAndErrorsStore: LogStatusChangeArgs[] = []; const previewRuleExecutionLogClient: IRuleExecutionLogClient = { - async delete(id: string): Promise { - return Promise.resolve(undefined); - }, - async find( + find( args: FindExecutionLogArgs ): Promise>> { return Promise.resolve([]); }, - async findBulk(args: FindBulkExecutionLogArgs): Promise { + + findBulk(args: FindBulkExecutionLogArgs): Promise { return Promise.resolve({}); }, - async logStatusChange(args: LogStatusChangeArgs): Promise { - warningsAndErrorsStore.push(args); - return Promise.resolve(undefined); + + getLastFailures(args: GetLastFailuresArgs): Promise { + return Promise.resolve([]); }, - async update(args: UpdateExecutionLogArgs): Promise { - return Promise.resolve(undefined); + + getCurrentStatus(args: GetCurrentStatusArgs): Promise { + return Promise.resolve({ + statusDate: new Date().toISOString(), + status: null, + lastFailureAt: null, + lastFailureMessage: null, + lastSuccessAt: null, + lastSuccessMessage: null, + lastLookBackDate: null, + gap: null, + bulkCreateTimeDurations: null, + searchAfterTimeDurations: null, + }); }, - async logExecutionMetrics(args: LogExecutionMetricsArgs): Promise { - return Promise.resolve(undefined); + + getCurrentStatusBulk(args: GetCurrentStatusBulkArgs): Promise { + return Promise.resolve({}); + }, + + deleteCurrentStatus(ruleId: string): Promise { + return Promise.resolve(); + }, + + logStatusChange(args: LogStatusChangeArgs): Promise { + warningsAndErrorsStore.push(args); + return Promise.resolve(); + }, + + logExecutionMetrics(args: LogExecutionMetricsArgs): Promise { + return Promise.resolve(); }, }; diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/signals/signal_rule_alert_type.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/signals/signal_rule_alert_type.ts index 6de039f083ba35..85285eed2817ac 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/signals/signal_rule_alert_type.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/signals/signal_rule_alert_type.ts @@ -142,12 +142,13 @@ export const signalRulesAlertType = ({ const searchAfterSize = Math.min(maxSignals, DEFAULT_SEARCH_AFTER_PAGE_SIZE); let hasError: boolean = false; let result = createSearchAfterReturnType(); + const ruleStatusClient = ruleExecutionLogClientOverride ? ruleExecutionLogClientOverride : new RuleExecutionLogClient({ - eventLogService, - savedObjectsClient: services.savedObjectsClient, underlyingClient: config.ruleExecutionLog.underlyingClient, + savedObjectsClient: services.savedObjectsClient, + eventLogService, }); const completeRule: CompleteRule = { diff --git a/x-pack/plugins/security_solution/server/request_context_factory.ts b/x-pack/plugins/security_solution/server/request_context_factory.ts index c2e622bc495c98..0028d624c29551 100644 --- a/x-pack/plugins/security_solution/server/request_context_factory.ts +++ b/x-pack/plugins/security_solution/server/request_context_factory.ts @@ -36,7 +36,13 @@ export class RequestContextFactory implements IRequestContextFactory { private readonly appClientFactory: AppClientFactory; constructor(private readonly options: ConstructorOptions) { + const { config, plugins } = options; + this.appClientFactory = new AppClientFactory(); + this.appClientFactory.setup({ + getSpaceId: plugins.spaces?.spacesService?.getSpaceId, + config, + }); } public async create( @@ -44,14 +50,10 @@ export class RequestContextFactory implements IRequestContextFactory { request: KibanaRequest ): Promise { const { options, appClientFactory } = this; - const { config, plugins } = options; + const { config, core, plugins } = options; const { lists, ruleRegistry, security, spaces } = plugins; - appClientFactory.setup({ - getSpaceId: plugins.spaces?.spacesService?.getSpaceId, - config, - }); - + const [, startPlugins] = await core.getStartServices(); const frameworkRequest = await buildFrameworkRequest(context, security, request); return { @@ -69,9 +71,10 @@ export class RequestContextFactory implements IRequestContextFactory { getExecutionLogClient: () => new RuleExecutionLogClient({ + underlyingClient: config.ruleExecutionLog.underlyingClient, savedObjectsClient: context.core.savedObjects.client, eventLogService: plugins.eventLog, - underlyingClient: config.ruleExecutionLog.underlyingClient, + eventLogClient: startPlugins.eventLog.getClient(request), }), getExceptionListClient: () => { diff --git a/x-pack/plugins/security_solution/server/routes/index.ts b/x-pack/plugins/security_solution/server/routes/index.ts index f3e8cc1dee4b17..20fbf44e77a483 100644 --- a/x-pack/plugins/security_solution/server/routes/index.ts +++ b/x-pack/plugins/security_solution/server/routes/index.ts @@ -36,6 +36,7 @@ import { performBulkActionRoute } from '../lib/detection_engine/routes/rules/per import { importRulesRoute } from '../lib/detection_engine/routes/rules/import_rules_route'; import { exportRulesRoute } from '../lib/detection_engine/routes/rules/export_rules_route'; import { findRulesStatusesRoute } from '../lib/detection_engine/routes/rules/find_rules_status_route'; +import { findRuleStatusInternalRoute } from '../lib/detection_engine/routes/rules/find_rule_status_internal_route'; import { getPrepackagedRulesStatusRoute } from '../lib/detection_engine/routes/rules/get_prepackaged_rules_status_route'; import { createTimelinesRoute, @@ -122,6 +123,7 @@ export const initRoutes = ( persistPinnedEventRoute(router, config, security); findRulesStatusesRoute(router); + findRuleStatusInternalRoute(router); // Detection Engine Signals routes that have the REST endpoints of /api/detection_engine/signals // POST /api/detection_engine/signals/status From e40ec9bfbd37e65f32c863bef9915833472bb0a8 Mon Sep 17 00:00:00 2001 From: Giorgos Bamparopoulos Date: Mon, 1 Nov 2021 14:10:19 +0000 Subject: [PATCH 010/110] Update testing dev docs for APM (#116664) --- x-pack/plugins/apm/dev_docs/testing.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/x-pack/plugins/apm/dev_docs/testing.md b/x-pack/plugins/apm/dev_docs/testing.md index ba48e7e229e273..95ba2467befcdd 100644 --- a/x-pack/plugins/apm/dev_docs/testing.md +++ b/x-pack/plugins/apm/dev_docs/testing.md @@ -31,7 +31,8 @@ The API tests are located in `x-pack/test/apm_api_integration/`. **API Test tips** -- For debugging access Elasticsearch on http://localhost:9220 (`elastic` / `changeme`) +- For data generation in API tests have a look at the [elastic-apm-synthtrace](../../../../packages/elastic-apm-synthtrace/README.md) package +- For debugging access Elasticsearch on http://localhost:9220 and Kibana on http://localhost:5620 (`elastic` / `changeme`) - To update snapshots append `--updateSnapshots` to the functional_test_runner command --- @@ -74,3 +75,8 @@ yarn storybook apm ``` All files with a .stories.tsx extension will be loaded. You can access the development environment at http://localhost:9001. + +## Data generation +For end-to-end (e.g. agent -> apm server -> elasticsearch <- kibana) development and testing of Elastic APM please check the the [APM Integration Testing repository](https://github.com/elastic/apm-integration-testing). + +Data can also be generated using the [elastic-apm-synthtrace](../../../../packages/elastic-apm-synthtrace/README.md) CLI. \ No newline at end of file From 9e4bab31b5f1b2dba88adc23640fa146ad95b2c0 Mon Sep 17 00:00:00 2001 From: Or Ouziel Date: Mon, 1 Nov 2021 16:41:10 +0200 Subject: [PATCH 011/110] replace ts_ignore with ts_expect_error (#113768) --- .../endpoint/data_generators/trusted_app_generator.ts | 4 ++-- .../endpoint/data_loaders/setup_fleet_for_endpoint.ts | 2 +- .../use_security_solution_navigation/index.test.tsx | 3 ++- .../common/mock/endpoint/http_handler_mock_factory.ts | 6 +++--- .../components/value_lists_management_modal/modal.tsx | 9 ++++++--- .../pages/endpoint_hosts/store/middleware.test.ts | 2 +- .../management/pages/endpoint_hosts/store/middleware.ts | 4 ++-- .../view/details/components/actions_menu.test.tsx | 6 +++--- .../pages/event_filters/store/selectors.test.ts | 6 +++--- .../middleware/policy_trusted_apps_middleware.ts | 8 ++++---- .../components/fleet_event_filters_card.test.tsx | 4 ++-- .../components/fleet_trusted_apps_card.test.tsx | 4 ++-- .../ingest_manager_integration/with_security_context.tsx | 3 ++- .../pages/trusted_apps/view/trusted_apps_page.test.tsx | 8 ++++---- .../public/overview/components/link_panel/link_panel.tsx | 2 +- .../security_solution/public/ueba/store/reducer.ts | 4 ++-- .../scripts/endpoint/trusted_apps/index.ts | 2 +- .../lib/artifacts/migrate_artifacts_to_fleet.test.ts | 2 +- .../server/endpoint/routes/metadata/handlers.ts | 4 ++-- .../server/endpoint/routes/trusted_apps/mocks.ts | 2 +- .../artifacts/manifest_manager/manifest_manager.ts | 2 +- 21 files changed, 46 insertions(+), 41 deletions(-) diff --git a/x-pack/plugins/security_solution/common/endpoint/data_generators/trusted_app_generator.ts b/x-pack/plugins/security_solution/common/endpoint/data_generators/trusted_app_generator.ts index 91c2e17a1e12de..6c691894103be9 100644 --- a/x-pack/plugins/security_solution/common/endpoint/data_generators/trusted_app_generator.ts +++ b/x-pack/plugins/security_solution/common/endpoint/data_generators/trusted_app_generator.ts @@ -67,8 +67,8 @@ export class TrustedAppGenerator extends BaseDataGenerator { ...(scopeType === 'policy' ? { policies: this.randomArray(5, () => this.randomUUID()) } : {}), }) as EffectScope; - // TODO: remove ts-ignore. TS types are conditional when it comes to the combination of OS and ENTRIES - // @ts-ignore + // TS types are conditional when it comes to the combination of OS and ENTRIES + // @ts-expect-error TS2322 return merge( { description: `Generator says we trust ${name}`, diff --git a/x-pack/plugins/security_solution/common/endpoint/data_loaders/setup_fleet_for_endpoint.ts b/x-pack/plugins/security_solution/common/endpoint/data_loaders/setup_fleet_for_endpoint.ts index e19cffb8084645..61f7123c368409 100644 --- a/x-pack/plugins/security_solution/common/endpoint/data_loaders/setup_fleet_for_endpoint.ts +++ b/x-pack/plugins/security_solution/common/endpoint/data_loaders/setup_fleet_for_endpoint.ts @@ -31,7 +31,7 @@ export const setupFleetForEndpoint = async ( kbnClient: KbnClient ): Promise => { // We try to use the kbnClient **private** logger, bug if unable to access it, then just use console - // @ts-ignore + // @ts-expect-error TS2341 const log = kbnClient.log ? kbnClient.log : console; // Setup Fleet diff --git a/x-pack/plugins/security_solution/public/common/components/navigation/use_security_solution_navigation/index.test.tsx b/x-pack/plugins/security_solution/public/common/components/navigation/use_security_solution_navigation/index.test.tsx index 3db485f87a68f4..62f2cf56b7a120 100644 --- a/x-pack/plugins/security_solution/public/common/components/navigation/use_security_solution_navigation/index.test.tsx +++ b/x-pack/plugins/security_solution/public/common/components/navigation/use_security_solution_navigation/index.test.tsx @@ -266,7 +266,8 @@ describe('useSecuritySolutionNavigation', () => { { wrapper: TestProviders } ); - // @ts-ignore possibly undefined, but if undefined we want this test to fail + // possibly undefined, but if undefined we want this test to fail + // @ts-expect-error TS2532 expect(result.current.items[2].items[2].id).toEqual(SecurityPageName.ueba); }); diff --git a/x-pack/plugins/security_solution/public/common/mock/endpoint/http_handler_mock_factory.ts b/x-pack/plugins/security_solution/public/common/mock/endpoint/http_handler_mock_factory.ts index 6185be0663a9a5..b0765f3abaf5eb 100644 --- a/x-pack/plugins/security_solution/public/common/mock/endpoint/http_handler_mock_factory.ts +++ b/x-pack/plugins/security_solution/public/common/mock/endpoint/http_handler_mock_factory.ts @@ -161,7 +161,7 @@ export const httpHandlerMockFactory = ['responseProvider'] = mocks.reduce( (providers, routeMock) => { // FIXME: find a way to remove the ignore below. May need to limit the calling signature of `RouteMock['handler']` - // @ts-ignore + // @ts-expect-error TS2322 const routeResponseCallbackMock: SingleResponseProvider = jest.fn( routeMock.handler ); @@ -210,7 +210,7 @@ export const httpHandlerMockFactory = = ({ useEffect(() => { if (!isEmpty(deleteError)) { const references: string[] = - // @ts-ignore-next-line deleteError response unknown message.error.references + // deleteError response unknown message.error.references + // @ts-expect-error TS2571 deleteError?.body?.message?.error?.references?.map( - // @ts-ignore-next-line response not typed + // response not typed + // @ts-expect-error TS7006 (ref) => ref?.exception_list.name ) ?? []; const uniqueExceptionListReferences = Array.from(new Set(references)); @@ -118,7 +120,8 @@ export const ValueListsModalComponent: React.FC = ({ contentText: i18n.referenceErrorMessage(uniqueExceptionListReferences.length), exceptionListReferences: uniqueExceptionListReferences, isLoading: false, - // @ts-ignore-next-line deleteError response unknown + // deleteError response unknown + // @ts-expect-error TS2571 valueListId: deleteError?.body?.message?.error?.value_list_id, }); } diff --git a/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.test.ts b/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.test.ts index 81c4dc6f2f7dec..ba08d0d2d0dcdf 100644 --- a/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.test.ts +++ b/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.test.ts @@ -256,7 +256,7 @@ describe('endpoint list middleware', () => { dispatch({ type: 'endpointDetailsActivityLogChanged', // Ignore will be fixed with when AsyncResourceState is refactored (#830) - // @ts-ignore + // @ts-expect-error TS2345 payload: createLoadingResourceState({ previousState: createUninitialisedResourceState() }), }); }; diff --git a/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.ts b/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.ts index 7a45ff06c496b2..0f05dffe651565 100644 --- a/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.ts +++ b/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.ts @@ -284,7 +284,7 @@ const handleIsolateEndpointHost = async ( dispatch({ type: 'endpointIsolationRequestStateChange', // Ignore will be fixed with when AsyncResourceState is refactored (#830) - // @ts-ignore + // @ts-expect-error TS2345 payload: createLoadingResourceState(getCurrentIsolationRequestState(state)), }); @@ -320,7 +320,7 @@ async function getEndpointPackageInfo( dispatch({ type: 'endpointPackageInfoStateChanged', // Ignore will be fixed with when AsyncResourceState is refactored (#830) - // @ts-ignore + // @ts-expect-error TS2345 payload: createLoadingResourceState(endpointPackageInfo(state)), }); diff --git a/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/view/details/components/actions_menu.test.tsx b/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/view/details/components/actions_menu.test.tsx index 56ff523e2c887b..fad042919bd831 100644 --- a/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/view/details/components/actions_menu.test.tsx +++ b/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/view/details/components/actions_menu.test.tsx @@ -44,11 +44,11 @@ describe('When using the Endpoint Details Actions Menu', () => { const setEndpointMetadataResponse = (isolation: boolean = false) => { const endpointHost = httpMocks.responseProvider.metadataDetails(); // Safe to mutate this mocked data - // @ts-ignore + // @ts-expect-error TS2540 endpointHost.metadata.Endpoint.state.isolation = isolation; - // @ts-ignore + // @ts-expect-error TS2540 endpointHost.metadata.host.os.name = 'Windows'; - // @ts-ignore + // @ts-expect-error TS2540 endpointHost.metadata.agent.version = '7.14.0'; httpMocks.responseProvider.metadataDetails.mockReturnValue(endpointHost); }; diff --git a/x-pack/plugins/security_solution/public/management/pages/event_filters/store/selectors.test.ts b/x-pack/plugins/security_solution/public/management/pages/event_filters/store/selectors.test.ts index be3de3017d1f3f..7947f5b011ff6c 100644 --- a/x-pack/plugins/security_solution/public/management/pages/event_filters/store/selectors.test.ts +++ b/x-pack/plugins/security_solution/public/management/pages/event_filters/store/selectors.test.ts @@ -61,7 +61,7 @@ describe('event filters selectors', () => { previousStateWhileLoading = previousState; // will be fixed when AsyncResourceState is refactored (#830) - // @ts-ignore + // @ts-expect-error TS2345 initialState.listPage.data = createLoadingResourceState(previousState); }; @@ -204,8 +204,8 @@ describe('event filters selectors', () => { expect(getListPageDoesDataExist(initialState)).toBe(false); // Set DataExists to Loading - // ts-ignore will be fixed when AsyncResourceState is refactored (#830) - // @ts-ignore + // will be fixed when AsyncResourceState is refactored (#830) + // @ts-expect-error TS2345 initialState.listPage.dataExist = createLoadingResourceState(initialState.listPage.dataExist); expect(getListPageDoesDataExist(initialState)).toBe(false); diff --git a/x-pack/plugins/security_solution/public/management/pages/policy/store/policy_details/middleware/policy_trusted_apps_middleware.ts b/x-pack/plugins/security_solution/public/management/pages/policy/store/policy_details/middleware/policy_trusted_apps_middleware.ts index f50eb342acba11..782c659b3d7652 100644 --- a/x-pack/plugins/security_solution/public/management/pages/policy/store/policy_details/middleware/policy_trusted_apps_middleware.ts +++ b/x-pack/plugins/security_solution/public/management/pages/policy/store/policy_details/middleware/policy_trusted_apps_middleware.ts @@ -114,7 +114,7 @@ const checkIfThereAreAssignableTrustedApps = async ( store.dispatch({ type: 'policyArtifactsAssignableListExistDataChanged', // Ignore will be fixed with when AsyncResourceState is refactored (#830) - // @ts-ignore + // @ts-expect-error TS2345 payload: createLoadingResourceState({ previousState: createUninitialisedResourceState() }), }); try { @@ -132,7 +132,7 @@ const checkIfThereAreAssignableTrustedApps = async ( store.dispatch({ type: 'policyArtifactsAssignableListExistDataChanged', // Ignore will be fixed with when AsyncResourceState is refactored (#830) - // @ts-ignore + // @ts-expect-error TS2741 payload: createFailedResourceState(err.body ?? err), }); } @@ -181,7 +181,7 @@ const searchTrustedApps = async ( store.dispatch({ type: 'policyArtifactsAssignableListPageDataChanged', // Ignore will be fixed with when AsyncResourceState is refactored (#830) - // @ts-ignore + // @ts-expect-error TS2345 payload: createLoadingResourceState({ previousState: createUninitialisedResourceState() }), }); @@ -213,7 +213,7 @@ const searchTrustedApps = async ( store.dispatch({ type: 'policyArtifactsAssignableListPageDataChanged', // Ignore will be fixed with when AsyncResourceState is refactored (#830) - // @ts-ignore + // @ts-expect-error TS2322 payload: createFailedResourceState(err.body ?? err), }); } diff --git a/x-pack/plugins/security_solution/public/management/pages/policy/view/ingest_manager_integration/endpoint_package_custom_extension/components/fleet_event_filters_card.test.tsx b/x-pack/plugins/security_solution/public/management/pages/policy/view/ingest_manager_integration/endpoint_package_custom_extension/components/fleet_event_filters_card.test.tsx index 55e844df2afae5..30c95472e4d6d4 100644 --- a/x-pack/plugins/security_solution/public/management/pages/policy/view/ingest_manager_integration/endpoint_package_custom_extension/components/fleet_event_filters_card.test.tsx +++ b/x-pack/plugins/security_solution/public/management/pages/policy/view/ingest_manager_integration/endpoint_package_custom_extension/components/fleet_event_filters_card.test.tsx @@ -66,10 +66,10 @@ describe('Fleet event filters card', () => { {children} ); - // @ts-ignore + // @ts-expect-error TS2739 const component = reactTestingLibrary.render(, { wrapper: Wrapper }); try { - // @ts-ignore + // @ts-expect-error TS2769 await reactTestingLibrary.act(() => promise); } catch (err) { return component; diff --git a/x-pack/plugins/security_solution/public/management/pages/policy/view/ingest_manager_integration/endpoint_package_custom_extension/components/fleet_trusted_apps_card.test.tsx b/x-pack/plugins/security_solution/public/management/pages/policy/view/ingest_manager_integration/endpoint_package_custom_extension/components/fleet_trusted_apps_card.test.tsx index aa4b36d5486047..c61f109c75a1e9 100644 --- a/x-pack/plugins/security_solution/public/management/pages/policy/view/ingest_manager_integration/endpoint_package_custom_extension/components/fleet_trusted_apps_card.test.tsx +++ b/x-pack/plugins/security_solution/public/management/pages/policy/view/ingest_manager_integration/endpoint_package_custom_extension/components/fleet_trusted_apps_card.test.tsx @@ -66,12 +66,12 @@ describe('Fleet trusted apps card', () => { {children} ); - // @ts-ignore + // @ts-expect-error TS2739 const component = reactTestingLibrary.render(, { wrapper: Wrapper, }); try { - // @ts-ignore + // @ts-expect-error TS2769 await reactTestingLibrary.act(() => promise); } catch (err) { return component; diff --git a/x-pack/plugins/security_solution/public/management/pages/policy/view/ingest_manager_integration/with_security_context.tsx b/x-pack/plugins/security_solution/public/management/pages/policy/view/ingest_manager_integration/with_security_context.tsx index 1135a29759315a..5153fbb73ba712 100644 --- a/x-pack/plugins/security_solution/public/management/pages/policy/view/ingest_manager_integration/with_security_context.tsx +++ b/x-pack/plugins/security_solution/public/management/pages/policy/view/ingest_manager_integration/with_security_context.tsx @@ -57,7 +57,8 @@ export const withSecurityContext =

({ }), { management: undefined, - // @ts-ignore ignore this error as we just need the enableExperimental and it's temporary + // ignore this error as we just need the enableExperimental and it's temporary + // @ts-expect-error TS2739 app: { enableExperimental: ExperimentalFeaturesService.get(), }, diff --git a/x-pack/plugins/security_solution/public/management/pages/trusted_apps/view/trusted_apps_page.test.tsx b/x-pack/plugins/security_solution/public/management/pages/trusted_apps/view/trusted_apps_page.test.tsx index b4366a8922927f..39619379a1ee05 100644 --- a/x-pack/plugins/security_solution/public/management/pages/trusted_apps/view/trusted_apps_page.test.tsx +++ b/x-pack/plugins/security_solution/public/management/pages/trusted_apps/view/trusted_apps_page.test.tsx @@ -89,7 +89,7 @@ describe('When on the Trusted Apps Page', () => { http.get.mockImplementation(async (...args) => { const path = args[0] as unknown as string; - // @ts-ignore + // @ts-expect-error TS2352 const httpOptions = args[1] as HttpFetchOptions; if (path === TRUSTED_APPS_LIST_API) { @@ -591,7 +591,7 @@ describe('When on the Trusted Apps Page', () => { // we can control when the API call response is returned, which will allow us // to test the UI behaviours while the API call is in flight coreStart.http.post.mockImplementation( - // @ts-ignore + // @ts-expect-error TS2345 async (_, options: HttpFetchOptions) => { return new Promise((resolve, reject) => { httpPostBody = options.body as string; @@ -794,7 +794,7 @@ describe('When on the Trusted Apps Page', () => { beforeEach(() => { const priorMockImplementation = coreStart.http.get.getMockImplementation(); - // @ts-ignore + // @ts-expect-error TS7006 coreStart.http.get.mockImplementation((path, options) => { if (path === TRUSTED_APPS_LIST_API) { const { page, per_page: perPage } = options.query as { page: number; per_page: number }; @@ -958,7 +958,7 @@ describe('When on the Trusted Apps Page', () => { beforeEach(async () => { // Ensure implementation is defined before render to avoid undefined responses from hidden api calls const priorMockImplementation = coreStart.http.get.getMockImplementation(); - // @ts-ignore + // @ts-expect-error TS7006 coreStart.http.get.mockImplementation((path, options) => { if (path === PACKAGE_POLICY_API_ROUTES.LIST_PATTERN) { const policy = generator.generatePolicyPackagePolicy(); diff --git a/x-pack/plugins/security_solution/public/overview/components/link_panel/link_panel.tsx b/x-pack/plugins/security_solution/public/overview/components/link_panel/link_panel.tsx index 4cc2d62d88791b..ed67fdb1c96f67 100644 --- a/x-pack/plugins/security_solution/public/overview/components/link_panel/link_panel.tsx +++ b/x-pack/plugins/security_solution/public/overview/components/link_panel/link_panel.tsx @@ -20,7 +20,7 @@ import { InspectButtonContainer } from '../../../common/components/inspect'; import { HeaderSection } from '../../../common/components/header_section'; import { LinkPanelListItem } from './types'; -// @ts-ignore-next-line +// @ts-expect-error TS2769 const StyledTable = styled(EuiBasicTable)` [data-test-subj='panel-link'], [data-test-subj='panel-no-link'] { diff --git a/x-pack/plugins/security_solution/public/ueba/store/reducer.ts b/x-pack/plugins/security_solution/public/ueba/store/reducer.ts index f981868c21eb18..71e2f5312140c6 100644 --- a/x-pack/plugins/security_solution/public/ueba/store/reducer.ts +++ b/x-pack/plugins/security_solution/public/ueba/store/reducer.ts @@ -111,7 +111,7 @@ export const uebaReducer = reducerWithInitialState(initialUebaState) ...state[uebaType].queries, [tableType]: { // TODO: Steph/ueba fix active page/limit on ueba tables. is broken because multiple UebaTableType.userRules tables - // @ts-ignore + // @ts-expect-error TS7053 ...state[uebaType].queries[tableType], activePage, }, @@ -126,7 +126,7 @@ export const uebaReducer = reducerWithInitialState(initialUebaState) ...state[uebaType].queries, [tableType]: { // TODO: Steph/ueba fix active page/limit on ueba tables. is broken because multiple UebaTableType.userRules tables - // @ts-ignore + // @ts-expect-error TS7053 ...state[uebaType].queries[tableType], limit, }, diff --git a/x-pack/plugins/security_solution/scripts/endpoint/trusted_apps/index.ts b/x-pack/plugins/security_solution/scripts/endpoint/trusted_apps/index.ts index 0fcb05827358e9..d20d29a34754cd 100644 --- a/x-pack/plugins/security_solution/scripts/endpoint/trusted_apps/index.ts +++ b/x-pack/plugins/security_solution/scripts/endpoint/trusted_apps/index.ts @@ -41,7 +41,7 @@ export const cli = async () => { node ${basename(process.argv[1])} [options] Options:${Object.keys(cliDefaults.default).reduce((out, option) => { - // @ts-ignore + // @ts-expect-error TS7053 return `${out}\n --${option}=${cliDefaults.default[option]}`; }, '')} `); diff --git a/x-pack/plugins/security_solution/server/endpoint/lib/artifacts/migrate_artifacts_to_fleet.test.ts b/x-pack/plugins/security_solution/server/endpoint/lib/artifacts/migrate_artifacts_to_fleet.test.ts index 277ccf030f808b..aef57f6679b271 100644 --- a/x-pack/plugins/security_solution/server/endpoint/lib/artifacts/migrate_artifacts_to_fleet.test.ts +++ b/x-pack/plugins/security_solution/server/endpoint/lib/artifacts/migrate_artifacts_to_fleet.test.ts @@ -68,7 +68,7 @@ describe('When migrating artifacts to fleet', () => { }), _index: '.fleet-artifacts-7', _id: `endpoint:endpoint-exceptionlist-macos-v1-${ - // @ts-ignore + // @ts-expect-error TS2339 props?.body?.decodedSha256 ?? 'UNKNOWN?' }`, _version: 1, diff --git a/x-pack/plugins/security_solution/server/endpoint/routes/metadata/handlers.ts b/x-pack/plugins/security_solution/server/endpoint/routes/metadata/handlers.ts index b5d4c6033e98ff..c72b1307d04b7a 100644 --- a/x-pack/plugins/security_solution/server/endpoint/routes/metadata/handlers.ts +++ b/x-pack/plugins/security_solution/server/endpoint/routes/metadata/handlers.ts @@ -85,8 +85,8 @@ const errorHandler = ( return res.badRequest({ body: error }); } - // legacy check for Boom errors. `ts-ignore` is for the errors around non-standard error properties - // @ts-ignore + // legacy check for Boom errors. for the errors around non-standard error properties + // @ts-expect-error TS2339 const boomStatusCode = error.isBoom && error?.output?.statusCode; if (boomStatusCode) { return res.customError({ diff --git a/x-pack/plugins/security_solution/server/endpoint/routes/trusted_apps/mocks.ts b/x-pack/plugins/security_solution/server/endpoint/routes/trusted_apps/mocks.ts index 083263809d3091..dd871b78110664 100644 --- a/x-pack/plugins/security_solution/server/endpoint/routes/trusted_apps/mocks.ts +++ b/x-pack/plugins/security_solution/server/endpoint/routes/trusted_apps/mocks.ts @@ -66,7 +66,7 @@ export const getPutTrustedAppByPolicyMock = function (): ExceptionListItemSchema export const getPackagePoliciesResponse = function (): PackagePolicy[] { return [ // Next line is ts-ignored as this is the response when the policy doesn't exists but the type is complaining about it. - // @ts-ignore + // @ts-expect-error TS2740 { id: '9da95be9-9bee-4761-a8c4-28d6d9bd8c71', version: undefined }, { id: 'e5cbb9cf-98aa-4303-a04b-6a1165915079', diff --git a/x-pack/plugins/security_solution/server/endpoint/services/artifacts/manifest_manager/manifest_manager.ts b/x-pack/plugins/security_solution/server/endpoint/services/artifacts/manifest_manager/manifest_manager.ts index 736bf1c58cb901..b687519bf55739 100644 --- a/x-pack/plugins/security_solution/server/endpoint/services/artifacts/manifest_manager/manifest_manager.ts +++ b/x-pack/plugins/security_solution/server/endpoint/services/artifacts/manifest_manager/manifest_manager.ts @@ -485,7 +485,7 @@ export class ManifestManager { try { await this.packagePolicyService.update( this.savedObjectsClient, - // @ts-ignore + // @ts-expect-error TS2345 undefined, id, newPackagePolicy From 48a6585423850f3a640a6db8d986d2d18d556963 Mon Sep 17 00:00:00 2001 From: Shahzad Date: Mon, 1 Nov 2021 15:43:32 +0100 Subject: [PATCH 012/110] [Exploaratory View ] Styling: Fix duplicate labels for operation select (#115936) Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../series_editor/columns/operation_type_select.tsx | 11 ----------- .../series_editor/expanded_series_row.tsx | 6 +++--- 2 files changed, 3 insertions(+), 14 deletions(-) diff --git a/x-pack/plugins/observability/public/components/shared/exploratory_view/series_editor/columns/operation_type_select.tsx b/x-pack/plugins/observability/public/components/shared/exploratory_view/series_editor/columns/operation_type_select.tsx index 5d949b91278fd7..3d005e04e9928f 100644 --- a/x-pack/plugins/observability/public/components/shared/exploratory_view/series_editor/columns/operation_type_select.tsx +++ b/x-pack/plugins/observability/public/components/shared/exploratory_view/series_editor/columns/operation_type_select.tsx @@ -33,7 +33,6 @@ export function OperationTypeSelect({ return ( ); @@ -42,11 +41,9 @@ export function OperationTypeSelect({ export function OperationTypeComponent({ operationType, onChange, - showLabel = false, }: { operationType?: OperationType; onChange: (value: OperationType) => void; - showLabel?: boolean; }) { const options = [ { @@ -101,15 +98,7 @@ export function OperationTypeComponent({ return ( - - + + @@ -74,7 +74,7 @@ export function ExpandedSeriesRow(seriesProps: Props) { {(hasOperationType || (columnType === 'operation' && !hasPercentileBreakdown)) && ( - + Date: Mon, 1 Nov 2021 11:01:54 -0400 Subject: [PATCH 013/110] [Security Solution][Endpoint] Fix display of long description text values (with no spaces) on Artifact Entry Cards (#116780) * New DescriptionField component for artifact cards * Use new DescriptionField in ArtifactCardEntry * Added `eui-textBreakWord` class name to TextValueDisplay component in artifact cards * Use `DescriptionField` in `CardCompressedHeader` * Fix i18n of Description label on minified card * Use DescriptionField in ArtifactEntryMinified --- .../artifact_entry_card.tsx | 17 +- .../artifact_entry_card_minified.tsx | 14 +- .../components/card_compressed_header.tsx | 6 +- .../components/description_field.tsx | 26 + .../components/text_value_display.tsx | 18 +- .../components/translations.ts | 7 + .../__snapshots__/index.test.tsx.snap | 690 ++++++++---------- 7 files changed, 359 insertions(+), 419 deletions(-) create mode 100644 x-pack/plugins/security_solution/public/management/components/artifact_entry_card/components/description_field.tsx diff --git a/x-pack/plugins/security_solution/public/management/components/artifact_entry_card/artifact_entry_card.tsx b/x-pack/plugins/security_solution/public/management/components/artifact_entry_card/artifact_entry_card.tsx index e974557c36e0a3..d5f8c2dc747887 100644 --- a/x-pack/plugins/security_solution/public/management/components/artifact_entry_card/artifact_entry_card.tsx +++ b/x-pack/plugins/security_solution/public/management/components/artifact_entry_card/artifact_entry_card.tsx @@ -6,10 +6,9 @@ */ import React, { memo } from 'react'; -import { CommonProps, EuiHorizontalRule, EuiSpacer, EuiText } from '@elastic/eui'; +import { CommonProps, EuiHorizontalRule, EuiSpacer } from '@elastic/eui'; import { CardHeader, CardHeaderProps } from './components/card_header'; import { CardSubHeader } from './components/card_sub_header'; -import { getEmptyValue } from '../../../common/components/empty_value'; import { CriteriaConditions, CriteriaConditionsProps } from './components/criteria_conditions'; import { AnyArtifact, MenuItemPropsByPolicyId } from './types'; import { useNormalizedArtifact } from './hooks/use_normalized_artifact'; @@ -19,6 +18,7 @@ import { CardSectionPanel } from './components/card_section_panel'; import { CardComments } from './components/card_comments'; import { usePolicyNavLinks } from './hooks/use_policy_nav_links'; import { MaybeImmutable } from '../../../../common/endpoint/types'; +import { DescriptionField } from './components/description_field'; export interface CommonArtifactEntryCardProps extends CommonProps { item: MaybeImmutable; @@ -82,13 +82,12 @@ export const ArtifactEntryCard = memo( - {!hideDescription ? ( - -

- {artifact.description || getEmptyValue()} -

- - ) : null} + {!hideDescription && ( + + {artifact.description} + + )} + {!hideComments ? ( ) : null} diff --git a/x-pack/plugins/security_solution/public/management/components/artifact_entry_card/artifact_entry_card_minified.tsx b/x-pack/plugins/security_solution/public/management/components/artifact_entry_card/artifact_entry_card_minified.tsx index 5fb53e44a0ba78..bfcd8c58f34479 100644 --- a/x-pack/plugins/security_solution/public/management/components/artifact_entry_card/artifact_entry_card_minified.tsx +++ b/x-pack/plugins/security_solution/public/management/components/artifact_entry_card/artifact_entry_card_minified.tsx @@ -9,7 +9,6 @@ import React, { memo, useCallback, useState, useMemo } from 'react'; import { CommonProps, EuiPanel, - EuiText, EuiAccordion, EuiTitle, EuiCheckbox, @@ -19,11 +18,12 @@ import { EuiButtonEmpty, } from '@elastic/eui'; import styled from 'styled-components'; -import { getEmptyValue } from '../../../common/components/empty_value'; import { CriteriaConditions, CriteriaConditionsProps } from './components/criteria_conditions'; import { AnyArtifact } from './types'; import { useNormalizedArtifact } from './hooks/use_normalized_artifact'; import { useTestIdGenerator } from '../hooks/use_test_id_generator'; +import { DESCRIPTION_LABEL } from './components/translations'; +import { DescriptionField } from './components/description_field'; const CardContainerPanel = styled(EuiSplitPanel.Outer)` &.artifactEntryCardMinified + &.artifactEntryCardMinified { @@ -103,13 +103,11 @@ export const ArtifactEntryCardMinified = memo( -
{'Description'}
+
{DESCRIPTION_LABEL}
- -

- {artifact.description || getEmptyValue()} -

-
+ + {artifact.description} +
diff --git a/x-pack/plugins/security_solution/public/management/components/artifact_entry_card/components/card_compressed_header.tsx b/x-pack/plugins/security_solution/public/management/components/artifact_entry_card/components/card_compressed_header.tsx index a4928ffe406742..7e372f73ff9ada 100644 --- a/x-pack/plugins/security_solution/public/management/components/artifact_entry_card/components/card_compressed_header.tsx +++ b/x-pack/plugins/security_solution/public/management/components/artifact_entry_card/components/card_compressed_header.tsx @@ -17,7 +17,7 @@ import { ArtifactEntryCollapsibleCardProps } from '../artifact_entry_collapsible import { useTestIdGenerator } from '../../hooks/use_test_id_generator'; import { useCollapsedCssClassNames } from '../hooks/use_collapsed_css_class_names'; import { usePolicyNavLinks } from '../hooks/use_policy_nav_links'; -import { getEmptyValue } from '../../../../common/components/empty_value'; +import { DescriptionField } from './description_field'; export interface CardCompressedHeaderProps extends Pick, @@ -61,9 +61,7 @@ export const CardCompressedHeader = memo( } description={ - - {artifact.description || getEmptyValue()} - + {artifact.description} } effectScope={ diff --git a/x-pack/plugins/security_solution/public/management/components/artifact_entry_card/components/description_field.tsx b/x-pack/plugins/security_solution/public/management/components/artifact_entry_card/components/description_field.tsx new file mode 100644 index 00000000000000..31c571f32fe248 --- /dev/null +++ b/x-pack/plugins/security_solution/public/management/components/artifact_entry_card/components/description_field.tsx @@ -0,0 +1,26 @@ +/* + * 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, PropsWithChildren } from 'react'; +import { CommonProps } from '@elastic/eui'; +import { getEmptyValue } from '../../../../common/components/empty_value'; +import { TextValueDisplay, TextValueDisplayProps } from './text_value_display'; + +export type DescriptionFieldProps = PropsWithChildren<{}> & + Pick & + Pick; + +export const DescriptionField = memo( + ({ truncate, children, 'data-test-subj': dataTestSubj }) => { + return ( + + {children || getEmptyValue()} + + ); + } +); +DescriptionField.displayName = 'ArtifactDescription'; diff --git a/x-pack/plugins/security_solution/public/management/components/artifact_entry_card/components/text_value_display.tsx b/x-pack/plugins/security_solution/public/management/components/artifact_entry_card/components/text_value_display.tsx index b7e085a1f43c26..b496f4b02ebb1d 100644 --- a/x-pack/plugins/security_solution/public/management/components/artifact_entry_card/components/text_value_display.tsx +++ b/x-pack/plugins/security_solution/public/management/components/artifact_entry_card/components/text_value_display.tsx @@ -6,29 +6,31 @@ */ import React, { memo, PropsWithChildren, useMemo } from 'react'; -import { EuiText } from '@elastic/eui'; +import { CommonProps, EuiText } from '@elastic/eui'; import classNames from 'classnames'; -export type TextValueDisplayProps = PropsWithChildren<{ - bold?: boolean; - truncate?: boolean; - size?: 'xs' | 's' | 'm' | 'relative'; -}>; +export type TextValueDisplayProps = Pick & + PropsWithChildren<{ + bold?: boolean; + truncate?: boolean; + size?: 'xs' | 's' | 'm' | 'relative'; + }>; /** * Common component for displaying consistent text across the card. Changes here could impact all of * display of values on the card */ export const TextValueDisplay = memo( - ({ bold, truncate, size = 's', children }) => { + ({ bold, truncate, size = 's', 'data-test-subj': dataTestSubj, children }) => { const cssClassNames = useMemo(() => { return classNames({ 'eui-textTruncate': truncate, + 'eui-textBreakWord': true, }); }, [truncate]); return ( - + {bold ? {children} : children} ); diff --git a/x-pack/plugins/security_solution/public/management/components/artifact_entry_card/components/translations.ts b/x-pack/plugins/security_solution/public/management/components/artifact_entry_card/components/translations.ts index 4cdae5238a1ac9..b2c0edfb2b9eb1 100644 --- a/x-pack/plugins/security_solution/public/management/components/artifact_entry_card/components/translations.ts +++ b/x-pack/plugins/security_solution/public/management/components/artifact_entry_card/components/translations.ts @@ -134,3 +134,10 @@ export const HIDE_COMMENTS_LABEL = (count: number = 0) => defaultMessage: 'Hide comments ({count})', values: { count }, }); + +export const DESCRIPTION_LABEL = i18n.translate( + 'xpack.securitySolution.artifactMinifiedCard.descriptionLabel', + { + defaultMessage: 'Description', + } +); diff --git a/x-pack/plugins/security_solution/public/management/pages/trusted_apps/view/components/trusted_apps_grid/__snapshots__/index.test.tsx.snap b/x-pack/plugins/security_solution/public/management/pages/trusted_apps/view/components/trusted_apps_grid/__snapshots__/index.test.tsx.snap index 0b1b5d4c5675f2..ea5869f79275f7 100644 --- a/x-pack/plugins/security_solution/public/management/pages/trusted_apps/view/components/trusted_apps_grid/__snapshots__/index.test.tsx.snap +++ b/x-pack/plugins/security_solution/public/management/pages/trusted_apps/view/components/trusted_apps_grid/__snapshots__/index.test.tsx.snap @@ -476,7 +476,7 @@ exports[`TrustedAppsGrid renders correctly when loaded data 1`] = ` data-test-subj="trustedAppCard-header-updated-label" >
Last updated
@@ -486,7 +486,7 @@ exports[`TrustedAppsGrid renders correctly when loaded data 1`] = ` data-test-subj="trustedAppCard-header-updated-value" >
1 minute ago @@ -522,7 +522,7 @@ exports[`TrustedAppsGrid renders correctly when loaded data 1`] = ` data-test-subj="trustedAppCard-header-created-label" >
Created
@@ -532,7 +532,7 @@ exports[`TrustedAppsGrid renders correctly when loaded data 1`] = ` data-test-subj="trustedAppCard-header-created-value" >
1 minute ago @@ -640,7 +640,7 @@ exports[`TrustedAppsGrid renders correctly when loaded data 1`] = ` data-test-subj="trustedAppCard-subHeader-touchedBy-createdBy-value" >
someone
@@ -704,7 +704,7 @@ exports[`TrustedAppsGrid renders correctly when loaded data 1`] = ` data-test-subj="trustedAppCard-subHeader-touchedBy-updatedBy-value" >
someone
@@ -734,7 +734,7 @@ exports[`TrustedAppsGrid renders correctly when loaded data 1`] = ` data-test-subj="trustedAppCard-subHeader-effectScope-value" >
Applied globally
@@ -746,13 +746,10 @@ exports[`TrustedAppsGrid renders correctly when loaded data 1`] = ` class="euiSpacer euiSpacer--l" />
-

- Trusted App 0 -

+ Trusted App 0

Last updated
@@ -869,7 +866,7 @@ exports[`TrustedAppsGrid renders correctly when loaded data 1`] = ` data-test-subj="trustedAppCard-header-updated-value" >
1 minute ago @@ -905,7 +902,7 @@ exports[`TrustedAppsGrid renders correctly when loaded data 1`] = ` data-test-subj="trustedAppCard-header-created-label" >
Created
@@ -915,7 +912,7 @@ exports[`TrustedAppsGrid renders correctly when loaded data 1`] = ` data-test-subj="trustedAppCard-header-created-value" >
1 minute ago @@ -1023,7 +1020,7 @@ exports[`TrustedAppsGrid renders correctly when loaded data 1`] = ` data-test-subj="trustedAppCard-subHeader-touchedBy-createdBy-value" >
someone
@@ -1087,7 +1084,7 @@ exports[`TrustedAppsGrid renders correctly when loaded data 1`] = ` data-test-subj="trustedAppCard-subHeader-touchedBy-updatedBy-value" >
someone
@@ -1117,7 +1114,7 @@ exports[`TrustedAppsGrid renders correctly when loaded data 1`] = ` data-test-subj="trustedAppCard-subHeader-effectScope-value" >
Applied globally
@@ -1129,13 +1126,10 @@ exports[`TrustedAppsGrid renders correctly when loaded data 1`] = ` class="euiSpacer euiSpacer--l" />
-

- Trusted App 1 -

+ Trusted App 1

Last updated
@@ -1252,7 +1246,7 @@ exports[`TrustedAppsGrid renders correctly when loaded data 1`] = ` data-test-subj="trustedAppCard-header-updated-value" >
1 minute ago @@ -1288,7 +1282,7 @@ exports[`TrustedAppsGrid renders correctly when loaded data 1`] = ` data-test-subj="trustedAppCard-header-created-label" >
Created
@@ -1298,7 +1292,7 @@ exports[`TrustedAppsGrid renders correctly when loaded data 1`] = ` data-test-subj="trustedAppCard-header-created-value" >
1 minute ago @@ -1406,7 +1400,7 @@ exports[`TrustedAppsGrid renders correctly when loaded data 1`] = ` data-test-subj="trustedAppCard-subHeader-touchedBy-createdBy-value" >
someone
@@ -1470,7 +1464,7 @@ exports[`TrustedAppsGrid renders correctly when loaded data 1`] = ` data-test-subj="trustedAppCard-subHeader-touchedBy-updatedBy-value" >
someone
@@ -1500,7 +1494,7 @@ exports[`TrustedAppsGrid renders correctly when loaded data 1`] = ` data-test-subj="trustedAppCard-subHeader-effectScope-value" >
Applied globally
@@ -1512,13 +1506,10 @@ exports[`TrustedAppsGrid renders correctly when loaded data 1`] = ` class="euiSpacer euiSpacer--l" />
-

- Trusted App 2 -

+ Trusted App 2

Last updated
@@ -1635,7 +1626,7 @@ exports[`TrustedAppsGrid renders correctly when loaded data 1`] = ` data-test-subj="trustedAppCard-header-updated-value" >
1 minute ago @@ -1671,7 +1662,7 @@ exports[`TrustedAppsGrid renders correctly when loaded data 1`] = ` data-test-subj="trustedAppCard-header-created-label" >
Created
@@ -1681,7 +1672,7 @@ exports[`TrustedAppsGrid renders correctly when loaded data 1`] = ` data-test-subj="trustedAppCard-header-created-value" >
1 minute ago @@ -1789,7 +1780,7 @@ exports[`TrustedAppsGrid renders correctly when loaded data 1`] = ` data-test-subj="trustedAppCard-subHeader-touchedBy-createdBy-value" >
someone
@@ -1853,7 +1844,7 @@ exports[`TrustedAppsGrid renders correctly when loaded data 1`] = ` data-test-subj="trustedAppCard-subHeader-touchedBy-updatedBy-value" >
someone
@@ -1883,7 +1874,7 @@ exports[`TrustedAppsGrid renders correctly when loaded data 1`] = ` data-test-subj="trustedAppCard-subHeader-effectScope-value" >
Applied globally
@@ -1895,13 +1886,10 @@ exports[`TrustedAppsGrid renders correctly when loaded data 1`] = ` class="euiSpacer euiSpacer--l" />
-

- Trusted App 3 -

+ Trusted App 3

Last updated
@@ -2018,7 +2006,7 @@ exports[`TrustedAppsGrid renders correctly when loaded data 1`] = ` data-test-subj="trustedAppCard-header-updated-value" >
1 minute ago @@ -2054,7 +2042,7 @@ exports[`TrustedAppsGrid renders correctly when loaded data 1`] = ` data-test-subj="trustedAppCard-header-created-label" >
Created
@@ -2064,7 +2052,7 @@ exports[`TrustedAppsGrid renders correctly when loaded data 1`] = ` data-test-subj="trustedAppCard-header-created-value" >
1 minute ago @@ -2172,7 +2160,7 @@ exports[`TrustedAppsGrid renders correctly when loaded data 1`] = ` data-test-subj="trustedAppCard-subHeader-touchedBy-createdBy-value" >
someone
@@ -2236,7 +2224,7 @@ exports[`TrustedAppsGrid renders correctly when loaded data 1`] = ` data-test-subj="trustedAppCard-subHeader-touchedBy-updatedBy-value" >
someone
@@ -2266,7 +2254,7 @@ exports[`TrustedAppsGrid renders correctly when loaded data 1`] = ` data-test-subj="trustedAppCard-subHeader-effectScope-value" >
Applied globally
@@ -2278,13 +2266,10 @@ exports[`TrustedAppsGrid renders correctly when loaded data 1`] = ` class="euiSpacer euiSpacer--l" />
-

- Trusted App 4 -

+ Trusted App 4

Last updated
@@ -2401,7 +2386,7 @@ exports[`TrustedAppsGrid renders correctly when loaded data 1`] = ` data-test-subj="trustedAppCard-header-updated-value" >
1 minute ago @@ -2437,7 +2422,7 @@ exports[`TrustedAppsGrid renders correctly when loaded data 1`] = ` data-test-subj="trustedAppCard-header-created-label" >
Created
@@ -2447,7 +2432,7 @@ exports[`TrustedAppsGrid renders correctly when loaded data 1`] = ` data-test-subj="trustedAppCard-header-created-value" >
1 minute ago @@ -2555,7 +2540,7 @@ exports[`TrustedAppsGrid renders correctly when loaded data 1`] = ` data-test-subj="trustedAppCard-subHeader-touchedBy-createdBy-value" >
someone
@@ -2619,7 +2604,7 @@ exports[`TrustedAppsGrid renders correctly when loaded data 1`] = ` data-test-subj="trustedAppCard-subHeader-touchedBy-updatedBy-value" >
someone
@@ -2649,7 +2634,7 @@ exports[`TrustedAppsGrid renders correctly when loaded data 1`] = ` data-test-subj="trustedAppCard-subHeader-effectScope-value" >
Applied globally
@@ -2661,13 +2646,10 @@ exports[`TrustedAppsGrid renders correctly when loaded data 1`] = ` class="euiSpacer euiSpacer--l" />
-

- Trusted App 5 -

+ Trusted App 5

Last updated
@@ -2784,7 +2766,7 @@ exports[`TrustedAppsGrid renders correctly when loaded data 1`] = ` data-test-subj="trustedAppCard-header-updated-value" >
1 minute ago @@ -2820,7 +2802,7 @@ exports[`TrustedAppsGrid renders correctly when loaded data 1`] = ` data-test-subj="trustedAppCard-header-created-label" >
Created
@@ -2830,7 +2812,7 @@ exports[`TrustedAppsGrid renders correctly when loaded data 1`] = ` data-test-subj="trustedAppCard-header-created-value" >
1 minute ago @@ -2938,7 +2920,7 @@ exports[`TrustedAppsGrid renders correctly when loaded data 1`] = ` data-test-subj="trustedAppCard-subHeader-touchedBy-createdBy-value" >
someone
@@ -3002,7 +2984,7 @@ exports[`TrustedAppsGrid renders correctly when loaded data 1`] = ` data-test-subj="trustedAppCard-subHeader-touchedBy-updatedBy-value" >
someone
@@ -3032,7 +3014,7 @@ exports[`TrustedAppsGrid renders correctly when loaded data 1`] = ` data-test-subj="trustedAppCard-subHeader-effectScope-value" >
Applied globally
@@ -3044,13 +3026,10 @@ exports[`TrustedAppsGrid renders correctly when loaded data 1`] = ` class="euiSpacer euiSpacer--l" />
-

- Trusted App 6 -

+ Trusted App 6

Last updated
@@ -3167,7 +3146,7 @@ exports[`TrustedAppsGrid renders correctly when loaded data 1`] = ` data-test-subj="trustedAppCard-header-updated-value" >
1 minute ago @@ -3203,7 +3182,7 @@ exports[`TrustedAppsGrid renders correctly when loaded data 1`] = ` data-test-subj="trustedAppCard-header-created-label" >
Created
@@ -3213,7 +3192,7 @@ exports[`TrustedAppsGrid renders correctly when loaded data 1`] = ` data-test-subj="trustedAppCard-header-created-value" >
1 minute ago @@ -3321,7 +3300,7 @@ exports[`TrustedAppsGrid renders correctly when loaded data 1`] = ` data-test-subj="trustedAppCard-subHeader-touchedBy-createdBy-value" >
someone
@@ -3385,7 +3364,7 @@ exports[`TrustedAppsGrid renders correctly when loaded data 1`] = ` data-test-subj="trustedAppCard-subHeader-touchedBy-updatedBy-value" >
someone
@@ -3415,7 +3394,7 @@ exports[`TrustedAppsGrid renders correctly when loaded data 1`] = ` data-test-subj="trustedAppCard-subHeader-effectScope-value" >
Applied globally
@@ -3427,13 +3406,10 @@ exports[`TrustedAppsGrid renders correctly when loaded data 1`] = ` class="euiSpacer euiSpacer--l" />
-

- Trusted App 7 -

+ Trusted App 7

Last updated
@@ -3550,7 +3526,7 @@ exports[`TrustedAppsGrid renders correctly when loaded data 1`] = ` data-test-subj="trustedAppCard-header-updated-value" >
1 minute ago @@ -3586,7 +3562,7 @@ exports[`TrustedAppsGrid renders correctly when loaded data 1`] = ` data-test-subj="trustedAppCard-header-created-label" >
Created
@@ -3596,7 +3572,7 @@ exports[`TrustedAppsGrid renders correctly when loaded data 1`] = ` data-test-subj="trustedAppCard-header-created-value" >
1 minute ago @@ -3704,7 +3680,7 @@ exports[`TrustedAppsGrid renders correctly when loaded data 1`] = ` data-test-subj="trustedAppCard-subHeader-touchedBy-createdBy-value" >
someone
@@ -3768,7 +3744,7 @@ exports[`TrustedAppsGrid renders correctly when loaded data 1`] = ` data-test-subj="trustedAppCard-subHeader-touchedBy-updatedBy-value" >
someone
@@ -3798,7 +3774,7 @@ exports[`TrustedAppsGrid renders correctly when loaded data 1`] = ` data-test-subj="trustedAppCard-subHeader-effectScope-value" >
Applied globally
@@ -3810,13 +3786,10 @@ exports[`TrustedAppsGrid renders correctly when loaded data 1`] = ` class="euiSpacer euiSpacer--l" />
-

- Trusted App 8 -

+ Trusted App 8

Last updated
@@ -3933,7 +3906,7 @@ exports[`TrustedAppsGrid renders correctly when loaded data 1`] = ` data-test-subj="trustedAppCard-header-updated-value" >
1 minute ago @@ -3969,7 +3942,7 @@ exports[`TrustedAppsGrid renders correctly when loaded data 1`] = ` data-test-subj="trustedAppCard-header-created-label" >
Created
@@ -3979,7 +3952,7 @@ exports[`TrustedAppsGrid renders correctly when loaded data 1`] = ` data-test-subj="trustedAppCard-header-created-value" >
1 minute ago @@ -4087,7 +4060,7 @@ exports[`TrustedAppsGrid renders correctly when loaded data 1`] = ` data-test-subj="trustedAppCard-subHeader-touchedBy-createdBy-value" >
someone
@@ -4151,7 +4124,7 @@ exports[`TrustedAppsGrid renders correctly when loaded data 1`] = ` data-test-subj="trustedAppCard-subHeader-touchedBy-updatedBy-value" >
someone
@@ -4181,7 +4154,7 @@ exports[`TrustedAppsGrid renders correctly when loaded data 1`] = ` data-test-subj="trustedAppCard-subHeader-effectScope-value" >
Applied globally
@@ -4193,13 +4166,10 @@ exports[`TrustedAppsGrid renders correctly when loaded data 1`] = ` class="euiSpacer euiSpacer--l" />
-

- Trusted App 9 -

+ Trusted App 9

Last updated
@@ -4623,7 +4593,7 @@ exports[`TrustedAppsGrid renders correctly when loading data for the second time data-test-subj="trustedAppCard-header-updated-value" >
1 minute ago @@ -4659,7 +4629,7 @@ exports[`TrustedAppsGrid renders correctly when loading data for the second time data-test-subj="trustedAppCard-header-created-label" >
Created
@@ -4669,7 +4639,7 @@ exports[`TrustedAppsGrid renders correctly when loading data for the second time data-test-subj="trustedAppCard-header-created-value" >
1 minute ago @@ -4777,7 +4747,7 @@ exports[`TrustedAppsGrid renders correctly when loading data for the second time data-test-subj="trustedAppCard-subHeader-touchedBy-createdBy-value" >
someone
@@ -4841,7 +4811,7 @@ exports[`TrustedAppsGrid renders correctly when loading data for the second time data-test-subj="trustedAppCard-subHeader-touchedBy-updatedBy-value" >
someone
@@ -4871,7 +4841,7 @@ exports[`TrustedAppsGrid renders correctly when loading data for the second time data-test-subj="trustedAppCard-subHeader-effectScope-value" >
Applied globally
@@ -4883,13 +4853,10 @@ exports[`TrustedAppsGrid renders correctly when loading data for the second time class="euiSpacer euiSpacer--l" />
-

- Trusted App 0 -

+ Trusted App 0

Last updated
@@ -5006,7 +4973,7 @@ exports[`TrustedAppsGrid renders correctly when loading data for the second time data-test-subj="trustedAppCard-header-updated-value" >
1 minute ago @@ -5042,7 +5009,7 @@ exports[`TrustedAppsGrid renders correctly when loading data for the second time data-test-subj="trustedAppCard-header-created-label" >
Created
@@ -5052,7 +5019,7 @@ exports[`TrustedAppsGrid renders correctly when loading data for the second time data-test-subj="trustedAppCard-header-created-value" >
1 minute ago @@ -5160,7 +5127,7 @@ exports[`TrustedAppsGrid renders correctly when loading data for the second time data-test-subj="trustedAppCard-subHeader-touchedBy-createdBy-value" >
someone
@@ -5224,7 +5191,7 @@ exports[`TrustedAppsGrid renders correctly when loading data for the second time data-test-subj="trustedAppCard-subHeader-touchedBy-updatedBy-value" >
someone
@@ -5254,7 +5221,7 @@ exports[`TrustedAppsGrid renders correctly when loading data for the second time data-test-subj="trustedAppCard-subHeader-effectScope-value" >
Applied globally
@@ -5266,13 +5233,10 @@ exports[`TrustedAppsGrid renders correctly when loading data for the second time class="euiSpacer euiSpacer--l" />
-

- Trusted App 1 -

+ Trusted App 1

Last updated
@@ -5389,7 +5353,7 @@ exports[`TrustedAppsGrid renders correctly when loading data for the second time data-test-subj="trustedAppCard-header-updated-value" >
1 minute ago @@ -5425,7 +5389,7 @@ exports[`TrustedAppsGrid renders correctly when loading data for the second time data-test-subj="trustedAppCard-header-created-label" >
Created
@@ -5435,7 +5399,7 @@ exports[`TrustedAppsGrid renders correctly when loading data for the second time data-test-subj="trustedAppCard-header-created-value" >
1 minute ago @@ -5543,7 +5507,7 @@ exports[`TrustedAppsGrid renders correctly when loading data for the second time data-test-subj="trustedAppCard-subHeader-touchedBy-createdBy-value" >
someone
@@ -5607,7 +5571,7 @@ exports[`TrustedAppsGrid renders correctly when loading data for the second time data-test-subj="trustedAppCard-subHeader-touchedBy-updatedBy-value" >
someone
@@ -5637,7 +5601,7 @@ exports[`TrustedAppsGrid renders correctly when loading data for the second time data-test-subj="trustedAppCard-subHeader-effectScope-value" >
Applied globally
@@ -5649,13 +5613,10 @@ exports[`TrustedAppsGrid renders correctly when loading data for the second time class="euiSpacer euiSpacer--l" />
-

- Trusted App 2 -

+ Trusted App 2

Last updated
@@ -5772,7 +5733,7 @@ exports[`TrustedAppsGrid renders correctly when loading data for the second time data-test-subj="trustedAppCard-header-updated-value" >
1 minute ago @@ -5808,7 +5769,7 @@ exports[`TrustedAppsGrid renders correctly when loading data for the second time data-test-subj="trustedAppCard-header-created-label" >
Created
@@ -5818,7 +5779,7 @@ exports[`TrustedAppsGrid renders correctly when loading data for the second time data-test-subj="trustedAppCard-header-created-value" >
1 minute ago @@ -5926,7 +5887,7 @@ exports[`TrustedAppsGrid renders correctly when loading data for the second time data-test-subj="trustedAppCard-subHeader-touchedBy-createdBy-value" >
someone
@@ -5990,7 +5951,7 @@ exports[`TrustedAppsGrid renders correctly when loading data for the second time data-test-subj="trustedAppCard-subHeader-touchedBy-updatedBy-value" >
someone
@@ -6020,7 +5981,7 @@ exports[`TrustedAppsGrid renders correctly when loading data for the second time data-test-subj="trustedAppCard-subHeader-effectScope-value" >
Applied globally
@@ -6032,13 +5993,10 @@ exports[`TrustedAppsGrid renders correctly when loading data for the second time class="euiSpacer euiSpacer--l" />
-

- Trusted App 3 -

+ Trusted App 3

Last updated
@@ -6155,7 +6113,7 @@ exports[`TrustedAppsGrid renders correctly when loading data for the second time data-test-subj="trustedAppCard-header-updated-value" >
1 minute ago @@ -6191,7 +6149,7 @@ exports[`TrustedAppsGrid renders correctly when loading data for the second time data-test-subj="trustedAppCard-header-created-label" >
Created
@@ -6201,7 +6159,7 @@ exports[`TrustedAppsGrid renders correctly when loading data for the second time data-test-subj="trustedAppCard-header-created-value" >
1 minute ago @@ -6309,7 +6267,7 @@ exports[`TrustedAppsGrid renders correctly when loading data for the second time data-test-subj="trustedAppCard-subHeader-touchedBy-createdBy-value" >
someone
@@ -6373,7 +6331,7 @@ exports[`TrustedAppsGrid renders correctly when loading data for the second time data-test-subj="trustedAppCard-subHeader-touchedBy-updatedBy-value" >
someone
@@ -6403,7 +6361,7 @@ exports[`TrustedAppsGrid renders correctly when loading data for the second time data-test-subj="trustedAppCard-subHeader-effectScope-value" >
Applied globally
@@ -6415,13 +6373,10 @@ exports[`TrustedAppsGrid renders correctly when loading data for the second time class="euiSpacer euiSpacer--l" />
-

- Trusted App 4 -

+ Trusted App 4

Last updated
@@ -6538,7 +6493,7 @@ exports[`TrustedAppsGrid renders correctly when loading data for the second time data-test-subj="trustedAppCard-header-updated-value" >
1 minute ago @@ -6574,7 +6529,7 @@ exports[`TrustedAppsGrid renders correctly when loading data for the second time data-test-subj="trustedAppCard-header-created-label" >
Created
@@ -6584,7 +6539,7 @@ exports[`TrustedAppsGrid renders correctly when loading data for the second time data-test-subj="trustedAppCard-header-created-value" >
1 minute ago @@ -6692,7 +6647,7 @@ exports[`TrustedAppsGrid renders correctly when loading data for the second time data-test-subj="trustedAppCard-subHeader-touchedBy-createdBy-value" >
someone
@@ -6756,7 +6711,7 @@ exports[`TrustedAppsGrid renders correctly when loading data for the second time data-test-subj="trustedAppCard-subHeader-touchedBy-updatedBy-value" >
someone
@@ -6786,7 +6741,7 @@ exports[`TrustedAppsGrid renders correctly when loading data for the second time data-test-subj="trustedAppCard-subHeader-effectScope-value" >
Applied globally
@@ -6798,13 +6753,10 @@ exports[`TrustedAppsGrid renders correctly when loading data for the second time class="euiSpacer euiSpacer--l" />
-

- Trusted App 5 -

+ Trusted App 5

Last updated
@@ -6921,7 +6873,7 @@ exports[`TrustedAppsGrid renders correctly when loading data for the second time data-test-subj="trustedAppCard-header-updated-value" >
1 minute ago @@ -6957,7 +6909,7 @@ exports[`TrustedAppsGrid renders correctly when loading data for the second time data-test-subj="trustedAppCard-header-created-label" >
Created
@@ -6967,7 +6919,7 @@ exports[`TrustedAppsGrid renders correctly when loading data for the second time data-test-subj="trustedAppCard-header-created-value" >
1 minute ago @@ -7075,7 +7027,7 @@ exports[`TrustedAppsGrid renders correctly when loading data for the second time data-test-subj="trustedAppCard-subHeader-touchedBy-createdBy-value" >
someone
@@ -7139,7 +7091,7 @@ exports[`TrustedAppsGrid renders correctly when loading data for the second time data-test-subj="trustedAppCard-subHeader-touchedBy-updatedBy-value" >
someone
@@ -7169,7 +7121,7 @@ exports[`TrustedAppsGrid renders correctly when loading data for the second time data-test-subj="trustedAppCard-subHeader-effectScope-value" >
Applied globally
@@ -7181,13 +7133,10 @@ exports[`TrustedAppsGrid renders correctly when loading data for the second time class="euiSpacer euiSpacer--l" />
-

- Trusted App 6 -

+ Trusted App 6

Last updated
@@ -7304,7 +7253,7 @@ exports[`TrustedAppsGrid renders correctly when loading data for the second time data-test-subj="trustedAppCard-header-updated-value" >
1 minute ago @@ -7340,7 +7289,7 @@ exports[`TrustedAppsGrid renders correctly when loading data for the second time data-test-subj="trustedAppCard-header-created-label" >
Created
@@ -7350,7 +7299,7 @@ exports[`TrustedAppsGrid renders correctly when loading data for the second time data-test-subj="trustedAppCard-header-created-value" >
1 minute ago @@ -7458,7 +7407,7 @@ exports[`TrustedAppsGrid renders correctly when loading data for the second time data-test-subj="trustedAppCard-subHeader-touchedBy-createdBy-value" >
someone
@@ -7522,7 +7471,7 @@ exports[`TrustedAppsGrid renders correctly when loading data for the second time data-test-subj="trustedAppCard-subHeader-touchedBy-updatedBy-value" >
someone
@@ -7552,7 +7501,7 @@ exports[`TrustedAppsGrid renders correctly when loading data for the second time data-test-subj="trustedAppCard-subHeader-effectScope-value" >
Applied globally
@@ -7564,13 +7513,10 @@ exports[`TrustedAppsGrid renders correctly when loading data for the second time class="euiSpacer euiSpacer--l" />
-

- Trusted App 7 -

+ Trusted App 7

Last updated
@@ -7687,7 +7633,7 @@ exports[`TrustedAppsGrid renders correctly when loading data for the second time data-test-subj="trustedAppCard-header-updated-value" >
1 minute ago @@ -7723,7 +7669,7 @@ exports[`TrustedAppsGrid renders correctly when loading data for the second time data-test-subj="trustedAppCard-header-created-label" >
Created
@@ -7733,7 +7679,7 @@ exports[`TrustedAppsGrid renders correctly when loading data for the second time data-test-subj="trustedAppCard-header-created-value" >
1 minute ago @@ -7841,7 +7787,7 @@ exports[`TrustedAppsGrid renders correctly when loading data for the second time data-test-subj="trustedAppCard-subHeader-touchedBy-createdBy-value" >
someone
@@ -7905,7 +7851,7 @@ exports[`TrustedAppsGrid renders correctly when loading data for the second time data-test-subj="trustedAppCard-subHeader-touchedBy-updatedBy-value" >
someone
@@ -7935,7 +7881,7 @@ exports[`TrustedAppsGrid renders correctly when loading data for the second time data-test-subj="trustedAppCard-subHeader-effectScope-value" >
Applied globally
@@ -7947,13 +7893,10 @@ exports[`TrustedAppsGrid renders correctly when loading data for the second time class="euiSpacer euiSpacer--l" />
-

- Trusted App 8 -

+ Trusted App 8

Last updated
@@ -8070,7 +8013,7 @@ exports[`TrustedAppsGrid renders correctly when loading data for the second time data-test-subj="trustedAppCard-header-updated-value" >
1 minute ago @@ -8106,7 +8049,7 @@ exports[`TrustedAppsGrid renders correctly when loading data for the second time data-test-subj="trustedAppCard-header-created-label" >
Created
@@ -8116,7 +8059,7 @@ exports[`TrustedAppsGrid renders correctly when loading data for the second time data-test-subj="trustedAppCard-header-created-value" >
1 minute ago @@ -8224,7 +8167,7 @@ exports[`TrustedAppsGrid renders correctly when loading data for the second time data-test-subj="trustedAppCard-subHeader-touchedBy-createdBy-value" >
someone
@@ -8288,7 +8231,7 @@ exports[`TrustedAppsGrid renders correctly when loading data for the second time data-test-subj="trustedAppCard-subHeader-touchedBy-updatedBy-value" >
someone
@@ -8318,7 +8261,7 @@ exports[`TrustedAppsGrid renders correctly when loading data for the second time data-test-subj="trustedAppCard-subHeader-effectScope-value" >
Applied globally
@@ -8330,13 +8273,10 @@ exports[`TrustedAppsGrid renders correctly when loading data for the second time class="euiSpacer euiSpacer--l" />
-

- Trusted App 9 -

+ Trusted App 9

Last updated
@@ -8717,7 +8657,7 @@ exports[`TrustedAppsGrid renders correctly when new page and page size set (not data-test-subj="trustedAppCard-header-updated-value" >
1 minute ago @@ -8753,7 +8693,7 @@ exports[`TrustedAppsGrid renders correctly when new page and page size set (not data-test-subj="trustedAppCard-header-created-label" >
Created
@@ -8763,7 +8703,7 @@ exports[`TrustedAppsGrid renders correctly when new page and page size set (not data-test-subj="trustedAppCard-header-created-value" >
1 minute ago @@ -8871,7 +8811,7 @@ exports[`TrustedAppsGrid renders correctly when new page and page size set (not data-test-subj="trustedAppCard-subHeader-touchedBy-createdBy-value" >
someone
@@ -8935,7 +8875,7 @@ exports[`TrustedAppsGrid renders correctly when new page and page size set (not data-test-subj="trustedAppCard-subHeader-touchedBy-updatedBy-value" >
someone
@@ -8965,7 +8905,7 @@ exports[`TrustedAppsGrid renders correctly when new page and page size set (not data-test-subj="trustedAppCard-subHeader-effectScope-value" >
Applied globally
@@ -8977,13 +8917,10 @@ exports[`TrustedAppsGrid renders correctly when new page and page size set (not class="euiSpacer euiSpacer--l" />
-

- Trusted App 0 -

+ Trusted App 0

Last updated
@@ -9100,7 +9037,7 @@ exports[`TrustedAppsGrid renders correctly when new page and page size set (not data-test-subj="trustedAppCard-header-updated-value" >
1 minute ago @@ -9136,7 +9073,7 @@ exports[`TrustedAppsGrid renders correctly when new page and page size set (not data-test-subj="trustedAppCard-header-created-label" >
Created
@@ -9146,7 +9083,7 @@ exports[`TrustedAppsGrid renders correctly when new page and page size set (not data-test-subj="trustedAppCard-header-created-value" >
1 minute ago @@ -9254,7 +9191,7 @@ exports[`TrustedAppsGrid renders correctly when new page and page size set (not data-test-subj="trustedAppCard-subHeader-touchedBy-createdBy-value" >
someone
@@ -9318,7 +9255,7 @@ exports[`TrustedAppsGrid renders correctly when new page and page size set (not data-test-subj="trustedAppCard-subHeader-touchedBy-updatedBy-value" >
someone
@@ -9348,7 +9285,7 @@ exports[`TrustedAppsGrid renders correctly when new page and page size set (not data-test-subj="trustedAppCard-subHeader-effectScope-value" >
Applied globally
@@ -9360,13 +9297,10 @@ exports[`TrustedAppsGrid renders correctly when new page and page size set (not class="euiSpacer euiSpacer--l" />
-

- Trusted App 1 -

+ Trusted App 1

Last updated
@@ -9483,7 +9417,7 @@ exports[`TrustedAppsGrid renders correctly when new page and page size set (not data-test-subj="trustedAppCard-header-updated-value" >
1 minute ago @@ -9519,7 +9453,7 @@ exports[`TrustedAppsGrid renders correctly when new page and page size set (not data-test-subj="trustedAppCard-header-created-label" >
Created
@@ -9529,7 +9463,7 @@ exports[`TrustedAppsGrid renders correctly when new page and page size set (not data-test-subj="trustedAppCard-header-created-value" >
1 minute ago @@ -9637,7 +9571,7 @@ exports[`TrustedAppsGrid renders correctly when new page and page size set (not data-test-subj="trustedAppCard-subHeader-touchedBy-createdBy-value" >
someone
@@ -9701,7 +9635,7 @@ exports[`TrustedAppsGrid renders correctly when new page and page size set (not data-test-subj="trustedAppCard-subHeader-touchedBy-updatedBy-value" >
someone
@@ -9731,7 +9665,7 @@ exports[`TrustedAppsGrid renders correctly when new page and page size set (not data-test-subj="trustedAppCard-subHeader-effectScope-value" >
Applied globally
@@ -9743,13 +9677,10 @@ exports[`TrustedAppsGrid renders correctly when new page and page size set (not class="euiSpacer euiSpacer--l" />
-

- Trusted App 2 -

+ Trusted App 2

Last updated
@@ -9866,7 +9797,7 @@ exports[`TrustedAppsGrid renders correctly when new page and page size set (not data-test-subj="trustedAppCard-header-updated-value" >
1 minute ago @@ -9902,7 +9833,7 @@ exports[`TrustedAppsGrid renders correctly when new page and page size set (not data-test-subj="trustedAppCard-header-created-label" >
Created
@@ -9912,7 +9843,7 @@ exports[`TrustedAppsGrid renders correctly when new page and page size set (not data-test-subj="trustedAppCard-header-created-value" >
1 minute ago @@ -10020,7 +9951,7 @@ exports[`TrustedAppsGrid renders correctly when new page and page size set (not data-test-subj="trustedAppCard-subHeader-touchedBy-createdBy-value" >
someone
@@ -10084,7 +10015,7 @@ exports[`TrustedAppsGrid renders correctly when new page and page size set (not data-test-subj="trustedAppCard-subHeader-touchedBy-updatedBy-value" >
someone
@@ -10114,7 +10045,7 @@ exports[`TrustedAppsGrid renders correctly when new page and page size set (not data-test-subj="trustedAppCard-subHeader-effectScope-value" >
Applied globally
@@ -10126,13 +10057,10 @@ exports[`TrustedAppsGrid renders correctly when new page and page size set (not class="euiSpacer euiSpacer--l" />
-

- Trusted App 3 -

+ Trusted App 3

Last updated
@@ -10249,7 +10177,7 @@ exports[`TrustedAppsGrid renders correctly when new page and page size set (not data-test-subj="trustedAppCard-header-updated-value" >
1 minute ago @@ -10285,7 +10213,7 @@ exports[`TrustedAppsGrid renders correctly when new page and page size set (not data-test-subj="trustedAppCard-header-created-label" >
Created
@@ -10295,7 +10223,7 @@ exports[`TrustedAppsGrid renders correctly when new page and page size set (not data-test-subj="trustedAppCard-header-created-value" >
1 minute ago @@ -10403,7 +10331,7 @@ exports[`TrustedAppsGrid renders correctly when new page and page size set (not data-test-subj="trustedAppCard-subHeader-touchedBy-createdBy-value" >
someone
@@ -10467,7 +10395,7 @@ exports[`TrustedAppsGrid renders correctly when new page and page size set (not data-test-subj="trustedAppCard-subHeader-touchedBy-updatedBy-value" >
someone
@@ -10497,7 +10425,7 @@ exports[`TrustedAppsGrid renders correctly when new page and page size set (not data-test-subj="trustedAppCard-subHeader-effectScope-value" >
Applied globally
@@ -10509,13 +10437,10 @@ exports[`TrustedAppsGrid renders correctly when new page and page size set (not class="euiSpacer euiSpacer--l" />
-

- Trusted App 4 -

+ Trusted App 4

Last updated
@@ -10632,7 +10557,7 @@ exports[`TrustedAppsGrid renders correctly when new page and page size set (not data-test-subj="trustedAppCard-header-updated-value" >
1 minute ago @@ -10668,7 +10593,7 @@ exports[`TrustedAppsGrid renders correctly when new page and page size set (not data-test-subj="trustedAppCard-header-created-label" >
Created
@@ -10678,7 +10603,7 @@ exports[`TrustedAppsGrid renders correctly when new page and page size set (not data-test-subj="trustedAppCard-header-created-value" >
1 minute ago @@ -10786,7 +10711,7 @@ exports[`TrustedAppsGrid renders correctly when new page and page size set (not data-test-subj="trustedAppCard-subHeader-touchedBy-createdBy-value" >
someone
@@ -10850,7 +10775,7 @@ exports[`TrustedAppsGrid renders correctly when new page and page size set (not data-test-subj="trustedAppCard-subHeader-touchedBy-updatedBy-value" >
someone
@@ -10880,7 +10805,7 @@ exports[`TrustedAppsGrid renders correctly when new page and page size set (not data-test-subj="trustedAppCard-subHeader-effectScope-value" >
Applied globally
@@ -10892,13 +10817,10 @@ exports[`TrustedAppsGrid renders correctly when new page and page size set (not class="euiSpacer euiSpacer--l" />
-

- Trusted App 5 -

+ Trusted App 5

Last updated
@@ -11015,7 +10937,7 @@ exports[`TrustedAppsGrid renders correctly when new page and page size set (not data-test-subj="trustedAppCard-header-updated-value" >
1 minute ago @@ -11051,7 +10973,7 @@ exports[`TrustedAppsGrid renders correctly when new page and page size set (not data-test-subj="trustedAppCard-header-created-label" >
Created
@@ -11061,7 +10983,7 @@ exports[`TrustedAppsGrid renders correctly when new page and page size set (not data-test-subj="trustedAppCard-header-created-value" >
1 minute ago @@ -11169,7 +11091,7 @@ exports[`TrustedAppsGrid renders correctly when new page and page size set (not data-test-subj="trustedAppCard-subHeader-touchedBy-createdBy-value" >
someone
@@ -11233,7 +11155,7 @@ exports[`TrustedAppsGrid renders correctly when new page and page size set (not data-test-subj="trustedAppCard-subHeader-touchedBy-updatedBy-value" >
someone
@@ -11263,7 +11185,7 @@ exports[`TrustedAppsGrid renders correctly when new page and page size set (not data-test-subj="trustedAppCard-subHeader-effectScope-value" >
Applied globally
@@ -11275,13 +11197,10 @@ exports[`TrustedAppsGrid renders correctly when new page and page size set (not class="euiSpacer euiSpacer--l" />
-

- Trusted App 6 -

+ Trusted App 6

Last updated
@@ -11398,7 +11317,7 @@ exports[`TrustedAppsGrid renders correctly when new page and page size set (not data-test-subj="trustedAppCard-header-updated-value" >
1 minute ago @@ -11434,7 +11353,7 @@ exports[`TrustedAppsGrid renders correctly when new page and page size set (not data-test-subj="trustedAppCard-header-created-label" >
Created
@@ -11444,7 +11363,7 @@ exports[`TrustedAppsGrid renders correctly when new page and page size set (not data-test-subj="trustedAppCard-header-created-value" >
1 minute ago @@ -11552,7 +11471,7 @@ exports[`TrustedAppsGrid renders correctly when new page and page size set (not data-test-subj="trustedAppCard-subHeader-touchedBy-createdBy-value" >
someone
@@ -11616,7 +11535,7 @@ exports[`TrustedAppsGrid renders correctly when new page and page size set (not data-test-subj="trustedAppCard-subHeader-touchedBy-updatedBy-value" >
someone
@@ -11646,7 +11565,7 @@ exports[`TrustedAppsGrid renders correctly when new page and page size set (not data-test-subj="trustedAppCard-subHeader-effectScope-value" >
Applied globally
@@ -11658,13 +11577,10 @@ exports[`TrustedAppsGrid renders correctly when new page and page size set (not class="euiSpacer euiSpacer--l" />
-

- Trusted App 7 -

+ Trusted App 7

Last updated
@@ -11781,7 +11697,7 @@ exports[`TrustedAppsGrid renders correctly when new page and page size set (not data-test-subj="trustedAppCard-header-updated-value" >
1 minute ago @@ -11817,7 +11733,7 @@ exports[`TrustedAppsGrid renders correctly when new page and page size set (not data-test-subj="trustedAppCard-header-created-label" >
Created
@@ -11827,7 +11743,7 @@ exports[`TrustedAppsGrid renders correctly when new page and page size set (not data-test-subj="trustedAppCard-header-created-value" >
1 minute ago @@ -11935,7 +11851,7 @@ exports[`TrustedAppsGrid renders correctly when new page and page size set (not data-test-subj="trustedAppCard-subHeader-touchedBy-createdBy-value" >
someone
@@ -11999,7 +11915,7 @@ exports[`TrustedAppsGrid renders correctly when new page and page size set (not data-test-subj="trustedAppCard-subHeader-touchedBy-updatedBy-value" >
someone
@@ -12029,7 +11945,7 @@ exports[`TrustedAppsGrid renders correctly when new page and page size set (not data-test-subj="trustedAppCard-subHeader-effectScope-value" >
Applied globally
@@ -12041,13 +11957,10 @@ exports[`TrustedAppsGrid renders correctly when new page and page size set (not class="euiSpacer euiSpacer--l" />
-

- Trusted App 8 -

+ Trusted App 8

Last updated
@@ -12164,7 +12077,7 @@ exports[`TrustedAppsGrid renders correctly when new page and page size set (not data-test-subj="trustedAppCard-header-updated-value" >
1 minute ago @@ -12200,7 +12113,7 @@ exports[`TrustedAppsGrid renders correctly when new page and page size set (not data-test-subj="trustedAppCard-header-created-label" >
Created
@@ -12210,7 +12123,7 @@ exports[`TrustedAppsGrid renders correctly when new page and page size set (not data-test-subj="trustedAppCard-header-created-value" >
1 minute ago @@ -12318,7 +12231,7 @@ exports[`TrustedAppsGrid renders correctly when new page and page size set (not data-test-subj="trustedAppCard-subHeader-touchedBy-createdBy-value" >
someone
@@ -12382,7 +12295,7 @@ exports[`TrustedAppsGrid renders correctly when new page and page size set (not data-test-subj="trustedAppCard-subHeader-touchedBy-updatedBy-value" >
someone
@@ -12412,7 +12325,7 @@ exports[`TrustedAppsGrid renders correctly when new page and page size set (not data-test-subj="trustedAppCard-subHeader-effectScope-value" >
Applied globally
@@ -12424,13 +12337,10 @@ exports[`TrustedAppsGrid renders correctly when new page and page size set (not class="euiSpacer euiSpacer--l" />
-

- Trusted App 9 -

+ Trusted App 9

Date: Mon, 1 Nov 2021 16:08:08 +0100 Subject: [PATCH 014/110] [AppServices] @timestamp as default for timestamp field name in index pattern (#25863) (#116126) --- .../public/components/form_fields/timestamp_field.tsx | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/plugins/index_pattern_editor/public/components/form_fields/timestamp_field.tsx b/src/plugins/index_pattern_editor/public/components/form_fields/timestamp_field.tsx index e034ccd131349d..dd9d4f71174530 100644 --- a/src/plugins/index_pattern_editor/public/components/form_fields/timestamp_field.tsx +++ b/src/plugins/index_pattern_editor/public/components/form_fields/timestamp_field.tsx @@ -105,6 +105,13 @@ export const TimestampField = ({ const { isInvalid, errorMessage } = getFieldValidityAndErrorMessage(field); const isDisabled = !optionsAsComboBoxOptions.length; + if (!value && !isDisabled) { + const val = optionsAsComboBoxOptions.filter((el) => el.value === '@timestamp'); + if (val.length) { + setValue(val[0]); + } + } + return ( <> Date: Mon, 1 Nov 2021 11:22:29 -0400 Subject: [PATCH 015/110] Fix undo/redo and SO.resolve redirect issues (#116773) Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../canvas/public/components/app/index.tsx | 50 ++++++++++++++++--- .../routes/workpad/hooks/use_workpad.ts | 27 ++++++---- 2 files changed, 61 insertions(+), 16 deletions(-) diff --git a/x-pack/plugins/canvas/public/components/app/index.tsx b/x-pack/plugins/canvas/public/components/app/index.tsx index 288ecaf83ab694..0cb229608086c6 100644 --- a/x-pack/plugins/canvas/public/components/app/index.tsx +++ b/x-pack/plugins/canvas/public/components/app/index.tsx @@ -6,11 +6,13 @@ */ import React, { FC, useRef, useEffect } from 'react'; +import { Observable } from 'rxjs'; import PropTypes from 'prop-types'; import { History } from 'history'; // @ts-expect-error import createHashStateHistory from 'history-extra/dist/createHashStateHistory'; import { ScopedHistory } from 'kibana/public'; +import { skipWhile, timeout, take } from 'rxjs/operators'; import { useNavLinkService } from '../../services'; // @ts-expect-error import { shortcutManager } from '../../lib/shortcut_manager'; @@ -40,14 +42,50 @@ export const App: FC<{ history: ScopedHistory }> = ({ history }) => { }); }); - // We are using our own history due to needing pushState functionality not yet available on standard history - // This effect will listen for changes on the scoped history and push that to our history - // This is needed for SavedObject.resolve redirects useEffect(() => { - return history.listen((location) => { - historyRef.current.replace(location.hash.substr(1)); + return history.listen(({ pathname, hash }) => { + // The scoped history could have something that triggers a url change, and that change is not seen by + // our hash router. For example, a scopedHistory.replace() as done as part of the saved object resolve + // alias match flow will do the replace on the scopedHistory, and our app doesn't react appropriately + + // So, to work around this, whenever we see a url on the scoped history, we're going to wait a beat and see + // if it shows up in our hash router. If it doesn't, then we're going to force it onto our hash router + + // I don't like this at all, and to overcome this we should switch away from hash router sooner rather than later + // and just use scopedHistory as our history object + const expectedPath = hash.substr(1); + const action = history.action; + + // Observable of all the path + const hashPaths$ = new Observable((subscriber) => { + subscriber.next(historyRef.current.location.pathname); + + const unsubscribeHashListener = historyRef.current.listen(({ pathname: newPath }) => { + subscriber.next(newPath); + }); + + return unsubscribeHashListener; + }); + + const subscription = hashPaths$ + .pipe( + skipWhile((value) => value !== expectedPath), + timeout(100), + take(1) + ) + .subscribe({ + error: (e) => { + if (action === 'REPLACE') { + historyRef.current.replace(expectedPath); + } else { + historyRef.current.push(expectedPath); + } + }, + }); + + window.setTimeout(() => subscription.unsubscribe(), 150); }); - }, [history]); + }, [history, historyRef]); return ( diff --git a/x-pack/plugins/canvas/public/routes/workpad/hooks/use_workpad.ts b/x-pack/plugins/canvas/public/routes/workpad/hooks/use_workpad.ts index 35e79b442a15d7..963a69a8f11f08 100644 --- a/x-pack/plugins/canvas/public/routes/workpad/hooks/use_workpad.ts +++ b/x-pack/plugins/canvas/public/routes/workpad/hooks/use_workpad.ts @@ -35,7 +35,7 @@ export const useWorkpad = ( const [error, setError] = useState(undefined); const [resolveInfo, setResolveInfo] = useState< - { aliasId: string | undefined; outcome: string } | undefined + { id: string; aliasId: string | undefined; outcome: string } | undefined >(undefined); useEffect(() => { @@ -47,15 +47,16 @@ export const useWorkpad = ( workpad: { assets, ...workpad }, } = await workpadResolve(workpadId); - setResolveInfo({ aliasId, outcome }); + setResolveInfo({ aliasId, outcome, id: workpadId }); - if (outcome === 'conflict') { + // If it's an alias match, we know we are going to redirect so don't even dispatch that we got the workpad + if (outcome !== 'aliasMatch') { workpad.aliasId = aliasId; - } - dispatch(setAssets(assets)); - dispatch(setWorkpad(workpad, { loadPages })); - dispatch(setZoomScale(1)); + dispatch(setAssets(assets)); + dispatch(setWorkpad(workpad, { loadPages })); + dispatch(setZoomScale(1)); + } } catch (e) { setError(e as Error | string); } @@ -63,15 +64,21 @@ export const useWorkpad = ( }, [workpadId, dispatch, setError, loadPages, workpadResolve]); useEffect(() => { - (() => { + // If the resolved info is not for the current workpad id, bail out + if (resolveInfo && resolveInfo.id !== workpadId) { + return; + } + + (async () => { if (!resolveInfo) return; const { aliasId, outcome } = resolveInfo; if (outcome === 'aliasMatch' && platformService.redirectLegacyUrl && aliasId) { - platformService.redirectLegacyUrl(`#${getRedirectPath(aliasId)}`, getWorkpadLabel()); + const redirectPath = getRedirectPath(aliasId); + await platformService.redirectLegacyUrl(`#${redirectPath}`, getWorkpadLabel()); } })(); - }, [resolveInfo, getRedirectPath, platformService]); + }, [workpadId, resolveInfo, getRedirectPath, platformService]); return [storedWorkpad.id === workpadId ? storedWorkpad : undefined, error]; }; From d9bbe9c9be61c24e26ed2cf000bb8f4aa4f721e6 Mon Sep 17 00:00:00 2001 From: Jean-Louis Leysens Date: Mon, 1 Nov 2021 16:31:56 +0100 Subject: [PATCH 016/110] [Reporting] Remove banner from reports (#116147) * remove banner from reports * added types file * updated types references and imports * added screenshot mode public mock * added jest tests for when screenshot mode is enabled * Update x-pack/plugins/banners/public/plugin.test.tsx Co-authored-by: Michael Dokolin * Update x-pack/plugins/banners/public/plugin.test.tsx Co-authored-by: Michael Dokolin Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> Co-authored-by: Michael Dokolin --- src/plugins/screenshot_mode/public/mocks.ts | 19 +++++++++++ x-pack/plugins/banners/kibana.json | 2 +- x-pack/plugins/banners/public/plugin.test.tsx | 21 +++++++++++- x-pack/plugins/banners/public/plugin.tsx | 32 +++++++++++-------- x-pack/plugins/banners/public/types.ts | 12 +++++++ x-pack/plugins/banners/tsconfig.json | 9 ++---- 6 files changed, 73 insertions(+), 22 deletions(-) create mode 100644 src/plugins/screenshot_mode/public/mocks.ts create mode 100644 x-pack/plugins/banners/public/types.ts diff --git a/src/plugins/screenshot_mode/public/mocks.ts b/src/plugins/screenshot_mode/public/mocks.ts new file mode 100644 index 00000000000000..7fa93ff0bcea8a --- /dev/null +++ b/src/plugins/screenshot_mode/public/mocks.ts @@ -0,0 +1,19 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import type { DeeplyMockedKeys } from '@kbn/utility-types/jest'; +import type { ScreenshotModePluginSetup, ScreenshotModePluginStart } from './types'; + +export const screenshotModePluginMock = { + createSetupContract: (): DeeplyMockedKeys => ({ + isScreenshotMode: jest.fn(() => false), + }), + createStartContract: (): DeeplyMockedKeys => ({ + isScreenshotMode: jest.fn(() => false), + }), +}; diff --git a/x-pack/plugins/banners/kibana.json b/x-pack/plugins/banners/kibana.json index ba8cbda6470135..fde775b0ff965f 100644 --- a/x-pack/plugins/banners/kibana.json +++ b/x-pack/plugins/banners/kibana.json @@ -8,7 +8,7 @@ "kibanaVersion": "kibana", "server": true, "ui": true, - "requiredPlugins": ["licensing"], + "requiredPlugins": ["licensing", "screenshotMode"], "optionalPlugins": [], "requiredBundles": ["kibanaReact"], "configPath": ["xpack", "banners"] diff --git a/x-pack/plugins/banners/public/plugin.test.tsx b/x-pack/plugins/banners/public/plugin.test.tsx index 8722d9516b9dba..057b4110f20a13 100644 --- a/x-pack/plugins/banners/public/plugin.test.tsx +++ b/x-pack/plugins/banners/public/plugin.test.tsx @@ -7,6 +7,7 @@ import { getBannerInfoMock } from './plugin.test.mocks'; import { coreMock } from '../../../../src/core/public/mocks'; +import { screenshotModePluginMock } from '../../../../src/plugins/screenshot_mode/public/mocks'; import { BannerConfiguration } from '../common/types'; import { BannersPlugin } from './plugin'; @@ -25,11 +26,13 @@ describe('BannersPlugin', () => { let pluginInitContext: ReturnType; let coreSetup: ReturnType; let coreStart: ReturnType; + let screenshotModeStart: ReturnType; beforeEach(() => { pluginInitContext = coreMock.createPluginInitializerContext(); coreSetup = coreMock.createSetup(); coreStart = coreMock.createStart(); + screenshotModeStart = screenshotModePluginMock.createStartContract(); getBannerInfoMock.mockResolvedValue({ allowed: false, @@ -41,7 +44,7 @@ describe('BannersPlugin', () => { pluginInitContext = coreMock.createPluginInitializerContext(); plugin = new BannersPlugin(pluginInitContext); plugin.setup(coreSetup); - plugin.start(coreStart); + plugin.start(coreStart, { screenshotMode: screenshotModeStart }); // await for the `getBannerInfo` promise to resolve await nextTick(); }; @@ -79,6 +82,14 @@ describe('BannersPlugin', () => { expect(coreStart.chrome.setHeaderBanner).toHaveBeenCalledTimes(0); }); + + it('does not register the banner in screenshot mode', async () => { + screenshotModeStart.isScreenshotMode.mockReturnValue(true); + + await startPlugin(); + + expect(coreStart.chrome.setHeaderBanner).not.toHaveBeenCalled(); + }); }); describe('when banner is not allowed', () => { @@ -107,5 +118,13 @@ describe('BannersPlugin', () => { expect(coreStart.chrome.setHeaderBanner).toHaveBeenCalledTimes(0); }); + + it('does not register the banner in screenshot mode', async () => { + screenshotModeStart.isScreenshotMode.mockReturnValue(true); + + await startPlugin(); + + expect(coreStart.chrome.setHeaderBanner).not.toHaveBeenCalled(); + }); }); }); diff --git a/x-pack/plugins/banners/public/plugin.tsx b/x-pack/plugins/banners/public/plugin.tsx index 014d2de58b9ea8..79aeb153879638 100644 --- a/x-pack/plugins/banners/public/plugin.tsx +++ b/x-pack/plugins/banners/public/plugin.tsx @@ -10,27 +10,33 @@ import { CoreSetup, CoreStart, Plugin, PluginInitializerContext } from 'src/core import { toMountPoint } from '../../../../src/plugins/kibana_react/public'; import { Banner } from './components'; import { getBannerInfo } from './get_banner_info'; +import { BannerPluginStartDependencies } from './types'; -export class BannersPlugin implements Plugin<{}, {}, {}, {}> { +export class BannersPlugin implements Plugin<{}, {}, {}, BannerPluginStartDependencies> { constructor(context: PluginInitializerContext) {} setup({}: CoreSetup<{}, {}>) { return {}; } - start({ chrome, uiSettings, http }: CoreStart) { - getBannerInfo(http).then( - ({ allowed, banner }) => { - if (allowed && banner.placement === 'top') { - chrome.setHeaderBanner({ - content: toMountPoint(), - }); + start( + { chrome, uiSettings, http }: CoreStart, + { screenshotMode }: BannerPluginStartDependencies + ) { + if (!screenshotMode.isScreenshotMode()) { + getBannerInfo(http).then( + ({ allowed, banner }) => { + if (allowed && banner.placement === 'top') { + chrome.setHeaderBanner({ + content: toMountPoint(), + }); + } + }, + () => { + chrome.setHeaderBanner(undefined); } - }, - () => { - chrome.setHeaderBanner(undefined); - } - ); + ); + } return {}; } diff --git a/x-pack/plugins/banners/public/types.ts b/x-pack/plugins/banners/public/types.ts new file mode 100644 index 00000000000000..b0d6cf788977c4 --- /dev/null +++ b/x-pack/plugins/banners/public/types.ts @@ -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. + */ + +import type { ScreenshotModePluginStart } from '../../../../src/plugins/screenshot_mode/public'; + +export interface BannerPluginStartDependencies { + screenshotMode: ScreenshotModePluginStart; +} diff --git a/x-pack/plugins/banners/tsconfig.json b/x-pack/plugins/banners/tsconfig.json index 48767fb4525f50..56c347d985ed27 100644 --- a/x-pack/plugins/banners/tsconfig.json +++ b/x-pack/plugins/banners/tsconfig.json @@ -6,16 +6,11 @@ "declaration": true, "declarationMap": true }, - "include": [ - "public/**/*", - "server/**/*", - "common/**/*", - "../../../typings/**/*" - ], + "include": ["public/**/*", "server/**/*", "common/**/*", "../../../typings/**/*"], "references": [ { "path": "../../../src/core/tsconfig.json" }, { "path": "../../../src/plugins/kibana_react/tsconfig.json" }, + { "path": "../../../src/plugins/screenshot_mode/tsconfig.json" }, { "path": "../licensing/tsconfig.json" } ] } - From d905cacc1d98bae051afbfb18ed737ed6db15ad3 Mon Sep 17 00:00:00 2001 From: Candace Park <56409205+parkiino@users.noreply.github.com> Date: Mon, 1 Nov 2021 11:32:39 -0400 Subject: [PATCH 017/110] [Security Solution][Endpoint][Cases] Add cases path to sourcerer init so browser fields load (#116464) Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../public/common/containers/sourcerer/index.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/x-pack/plugins/security_solution/public/common/containers/sourcerer/index.tsx b/x-pack/plugins/security_solution/public/common/containers/sourcerer/index.tsx index d804f350a7f797..615bc104b14f94 100644 --- a/x-pack/plugins/security_solution/public/common/containers/sourcerer/index.tsx +++ b/x-pack/plugins/security_solution/public/common/containers/sourcerer/index.tsx @@ -14,7 +14,7 @@ import { SourcererScopeName } from '../../store/sourcerer/model'; import { useIndexFields } from '../source'; import { useUserInfo } from '../../../detections/components/user_info'; import { timelineSelectors } from '../../../timelines/store/timeline'; -import { ALERTS_PATH, RULES_PATH, UEBA_PATH } from '../../../../common/constants'; +import { ALERTS_PATH, CASES_PATH, RULES_PATH, UEBA_PATH } from '../../../../common/constants'; import { TimelineId } from '../../../../common'; import { useDeepEqualSelector } from '../../hooks/use_selector'; @@ -129,7 +129,7 @@ export const getScopeFromPath = ( pathname: string ): SourcererScopeName.default | SourcererScopeName.detections => { return matchPath(pathname, { - path: [ALERTS_PATH, `${RULES_PATH}/id/:id`, `${UEBA_PATH}/:id`], + path: [ALERTS_PATH, `${RULES_PATH}/id/:id`, `${UEBA_PATH}/:id`, `${CASES_PATH}/:detailName`], strict: false, }) == null ? SourcererScopeName.default From 96a1d3186b7e519b8bd8a56ef75036c7dc732649 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felix=20St=C3=BCrmer?= Date: Mon, 1 Nov 2021 16:49:34 +0100 Subject: [PATCH 018/110] [Logs UI] Respect the advanced settings for queries (#116485) Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../components/log_stream/log_stream.tsx | 29 +++++++++++------ .../logs/log_filter/log_filter_state.ts | 14 ++++----- .../containers/logs/log_stream/index.ts | 6 ++-- .../public/utils/use_kibana_query_settings.ts | 31 +++++++++++++++++++ 4 files changed, 60 insertions(+), 20 deletions(-) create mode 100644 x-pack/plugins/infra/public/utils/use_kibana_query_settings.ts diff --git a/x-pack/plugins/infra/public/components/log_stream/log_stream.tsx b/x-pack/plugins/infra/public/components/log_stream/log_stream.tsx index eadb9d129c5a28..02e595628d783c 100644 --- a/x-pack/plugins/infra/public/components/log_stream/log_stream.tsx +++ b/x-pack/plugins/infra/public/components/log_stream/log_stream.tsx @@ -5,20 +5,19 @@ * 2.0. */ -import { buildEsQuery, Query, Filter } from '@kbn/es-query'; -import React, { useMemo, useCallback, useEffect } from 'react'; -import { noop } from 'lodash'; +import { buildEsQuery, Filter, Query } from '@kbn/es-query'; import { JsonValue } from '@kbn/utility-types'; +import { noop } from 'lodash'; +import React, { useCallback, useEffect, useMemo } from 'react'; import { DataPublicPluginStart } from '../../../../../../src/plugins/data/public'; import { euiStyled } from '../../../../../../src/plugins/kibana_react/common'; -import { LogEntryCursor } from '../../../common/log_entry'; - import { useKibana } from '../../../../../../src/plugins/kibana_react/public'; +import { LogEntryCursor } from '../../../common/log_entry'; import { useLogSource } from '../../containers/logs/log_source'; import { BuiltEsQuery, useLogStream } from '../../containers/logs/log_stream'; - -import { ScrollableLogTextStreamView } from '../logging/log_text_stream'; import { LogColumnRenderConfiguration } from '../../utils/log_column_render_configuration'; +import { useKibanaQuerySettings } from '../../utils/use_kibana_query_settings'; +import { ScrollableLogTextStreamView } from '../logging/log_text_stream'; import { LogStreamErrorBoundary } from './log_stream_error_boundary'; interface LogStreamPluginDeps { @@ -110,6 +109,8 @@ Read more at https://github.com/elastic/kibana/blob/main/src/plugins/kibana_reac ); } + const kibanaQuerySettings = useKibanaQuerySettings(); + const { derivedIndexPattern, isLoading: isLoadingSource, @@ -123,11 +124,19 @@ Read more at https://github.com/elastic/kibana/blob/main/src/plugins/kibana_reac const parsedQuery = useMemo(() => { if (typeof query === 'object' && 'bool' in query) { - return mergeBoolQueries(query, buildEsQuery(derivedIndexPattern, [], filters ?? [])); + return mergeBoolQueries( + query, + buildEsQuery(derivedIndexPattern, [], filters ?? [], kibanaQuerySettings) + ); } else { - return buildEsQuery(derivedIndexPattern, coerceToQueries(query), filters ?? []); + return buildEsQuery( + derivedIndexPattern, + coerceToQueries(query), + filters ?? [], + kibanaQuerySettings + ); } - }, [derivedIndexPattern, filters, query]); + }, [derivedIndexPattern, filters, kibanaQuerySettings, query]); // Internal state const { diff --git a/x-pack/plugins/infra/public/containers/logs/log_filter/log_filter_state.ts b/x-pack/plugins/infra/public/containers/logs/log_filter/log_filter_state.ts index f4576158b9a255..55b554560b743e 100644 --- a/x-pack/plugins/infra/public/containers/logs/log_filter/log_filter_state.ts +++ b/x-pack/plugins/infra/public/containers/logs/log_filter/log_filter_state.ts @@ -5,17 +5,16 @@ * 2.0. */ +import { buildEsQuery, DataViewBase, Query } from '@kbn/es-query'; import createContainer from 'constate'; import { useCallback, useState } from 'react'; import useDebounce from 'react-use/lib/useDebounce'; -import { DataViewBase } from '@kbn/es-query'; -import { esQuery, Query } from '../../../../../../../src/plugins/data/public'; - -type ParsedQuery = ReturnType; +import { useKibanaQuerySettings } from '../../../utils/use_kibana_query_settings'; +import { BuiltEsQuery } from '../log_stream'; interface ILogFilterState { filterQuery: { - parsedQuery: ParsedQuery; + parsedQuery: BuiltEsQuery; serializedQuery: string; originalQuery: Query; } | null; @@ -36,10 +35,11 @@ const validationDebounceTimeout = 1000; // milliseconds export const useLogFilterState = ({ indexPattern }: { indexPattern: DataViewBase }) => { const [logFilterState, setLogFilterState] = useState(initialLogFilterState); + const kibanaQuerySettings = useKibanaQuerySettings(); const parseQuery = useCallback( - (filterQuery: Query) => esQuery.buildEsQuery(indexPattern, filterQuery, []), - [indexPattern] + (filterQuery: Query) => buildEsQuery(indexPattern, filterQuery, [], kibanaQuerySettings), + [indexPattern, kibanaQuerySettings] ); const setLogFilterQueryDraft = useCallback((filterQueryDraft: Query) => { diff --git a/x-pack/plugins/infra/public/containers/logs/log_stream/index.ts b/x-pack/plugins/infra/public/containers/logs/log_stream/index.ts index 9d85316d978ebe..dc9ab56aa9e865 100644 --- a/x-pack/plugins/infra/public/containers/logs/log_stream/index.ts +++ b/x-pack/plugins/infra/public/containers/logs/log_stream/index.ts @@ -5,12 +5,12 @@ * 2.0. */ -import { isEqual } from 'lodash'; +import { buildEsQuery } from '@kbn/es-query'; import createContainer from 'constate'; +import { isEqual } from 'lodash'; import { useCallback, useEffect, useMemo, useState } from 'react'; import usePrevious from 'react-use/lib/usePrevious'; import useSetState from 'react-use/lib/useSetState'; -import { esQuery } from '../../../../../../../src/plugins/data/public'; import { LogEntry, LogEntryCursor } from '../../../../common/log_entry'; import { useSubscription } from '../../../utils/use_observable'; import { LogSourceConfigurationProperties } from '../log_source'; @@ -18,7 +18,7 @@ import { useFetchLogEntriesAfter } from './use_fetch_log_entries_after'; import { useFetchLogEntriesAround } from './use_fetch_log_entries_around'; import { useFetchLogEntriesBefore } from './use_fetch_log_entries_before'; -export type BuiltEsQuery = ReturnType; +export type BuiltEsQuery = ReturnType; interface LogStreamProps { sourceId: string; diff --git a/x-pack/plugins/infra/public/utils/use_kibana_query_settings.ts b/x-pack/plugins/infra/public/utils/use_kibana_query_settings.ts new file mode 100644 index 00000000000000..5c75e67f623067 --- /dev/null +++ b/x-pack/plugins/infra/public/utils/use_kibana_query_settings.ts @@ -0,0 +1,31 @@ +/* + * 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 { EsQueryConfig } from '@kbn/es-query'; +import { SerializableRecord } from '@kbn/utility-types'; +import { useMemo } from 'react'; +import { UI_SETTINGS } from '../../../../../src/plugins/data/public'; +import { useUiSetting$ } from '../../../../../src/plugins/kibana_react/public'; + +export const useKibanaQuerySettings = (): EsQueryConfig => { + const [allowLeadingWildcards] = useUiSetting$(UI_SETTINGS.QUERY_ALLOW_LEADING_WILDCARDS); + const [queryStringOptions] = useUiSetting$(UI_SETTINGS.QUERY_STRING_OPTIONS); + const [dateFormatTZ] = useUiSetting$(UI_SETTINGS.DATEFORMAT_TZ); + const [ignoreFilterIfFieldNotInIndex] = useUiSetting$( + UI_SETTINGS.COURIER_IGNORE_FILTER_IF_FIELD_NOT_IN_INDEX + ); + + return useMemo( + () => ({ + allowLeadingWildcards, + queryStringOptions, + dateFormatTZ, + ignoreFilterIfFieldNotInIndex, + }), + [allowLeadingWildcards, dateFormatTZ, ignoreFilterIfFieldNotInIndex, queryStringOptions] + ); +}; From dcdc0f8e8fd2212be0ebd02e3b70a9df2e11c5d4 Mon Sep 17 00:00:00 2001 From: Mark Hopkin Date: Mon, 1 Nov 2021 15:51:12 +0000 Subject: [PATCH 019/110] [Fleet] Use event.ingested where possible for data stream last activity (#116641) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * use event.ingested for datastream last activity * remove ms precision from datastream dates * add timestamp check to test * fix type error * split test out to be less complex and more reliable 🤞 Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../sections/data_stream/list_page/index.tsx | 4 +- .../server/routes/data_streams/handlers.ts | 19 ++- .../apis/data_streams/list.ts | 126 ++++++++++++------ 3 files changed, 104 insertions(+), 45 deletions(-) diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/data_stream/list_page/index.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/data_stream/list_page/index.tsx index f135f214f4d7fd..655488e3ae6a75 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/data_stream/list_page/index.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/data_stream/list_page/index.tsx @@ -100,7 +100,9 @@ export const DataStreamListPage: React.FunctionComponent<{}> = () => { }), render: (date: DataStream['last_activity_ms']) => { try { - const formatter = fieldFormats.getInstance('date'); + const formatter = fieldFormats.getInstance('date', { + pattern: 'MMM D, YYYY @ HH:mm:ss', + }); return formatter.convert(date); } catch (e) { return ; diff --git a/x-pack/plugins/fleet/server/routes/data_streams/handlers.ts b/x-pack/plugins/fleet/server/routes/data_streams/handlers.ts index 232df94d7610b0..85a983d21771d3 100644 --- a/x-pack/plugins/fleet/server/routes/data_streams/handlers.ts +++ b/x-pack/plugins/fleet/server/routes/data_streams/handlers.ts @@ -127,7 +127,7 @@ export const getListHandler: RequestHandler = async (context, request, response) type: '', package: dataStream._meta?.package?.name || '', package_version: '', - last_activity_ms: dataStream.maximum_timestamp, + last_activity_ms: dataStream.maximum_timestamp, // overridden below if maxIngestedTimestamp agg returns a result size_in_bytes: dataStream.store_size_bytes, dashboards: [], }; @@ -156,6 +156,11 @@ export const getListHandler: RequestHandler = async (context, request, response) }, }, aggs: { + maxIngestedTimestamp: { + max: { + field: 'event.ingested', + }, + }, dataset: { terms: { field: 'data_stream.dataset', @@ -178,12 +183,20 @@ export const getListHandler: RequestHandler = async (context, request, response) }, }); + const { maxIngestedTimestamp } = dataStreamAggs as Record< + string, + estypes.AggregationsValueAggregate + >; const { dataset, namespace, type } = dataStreamAggs as Record< string, - estypes.AggregationsMultiBucketAggregate<{ key?: string }> + estypes.AggregationsMultiBucketAggregate<{ key?: string; value?: number }> >; - // Set values from backing indices query + // some integrations e.g custom logs don't have event.ingested + if (maxIngestedTimestamp?.value) { + dataStreamResponse.last_activity_ms = maxIngestedTimestamp?.value; + } + dataStreamResponse.dataset = dataset.buckets[0]?.key || ''; dataStreamResponse.namespace = namespace.buckets[0]?.key || ''; dataStreamResponse.type = type.buckets[0]?.key || ''; diff --git a/x-pack/test/fleet_api_integration/apis/data_streams/list.ts b/x-pack/test/fleet_api_integration/apis/data_streams/list.ts index 365eb716592d1a..2b0098a76ac1f0 100644 --- a/x-pack/test/fleet_api_integration/apis/data_streams/list.ts +++ b/x-pack/test/fleet_api_integration/apis/data_streams/list.ts @@ -6,9 +6,14 @@ */ import expect from '@kbn/expect'; +import { keyBy } from 'lodash'; import { FtrProviderContext } from '../../../api_integration/ftr_provider_context'; import { skipIfNoDockerRegistry } from '../../helpers'; +interface IndexResponse { + _id: string; + _index: string; +} export default function (providerContext: FtrProviderContext) { const { getService } = providerContext; const supertest = getService('supertest'); @@ -33,34 +38,51 @@ export default function (providerContext: FtrProviderContext) { }; const seedDataStreams = async () => { - await es.transport.request({ - method: 'POST', - path: `/${logsTemplateName}-default/_doc`, - body: { - '@timestamp': '2015-01-01', - logs_test_name: 'test', - data_stream: { - dataset: `${pkgName}.test_logs`, - namespace: 'default', - type: 'logs', + const responses = []; + responses.push( + await es.transport.request({ + method: 'POST', + path: `/${logsTemplateName}-default/_doc`, + body: { + '@timestamp': '2015-01-01', + logs_test_name: 'test', + data_stream: { + dataset: `${pkgName}.test_logs`, + namespace: 'default', + type: 'logs', + }, }, - }, - }); - await es.transport.request({ - method: 'POST', - path: `/${metricsTemplateName}-default/_doc`, - body: { - '@timestamp': '2015-01-01', - logs_test_name: 'test', - data_stream: { - dataset: `${pkgName}.test_metrics`, - namespace: 'default', - type: 'metrics', + }) + ); + responses.push( + await es.transport.request({ + method: 'POST', + path: `/${metricsTemplateName}-default/_doc`, + body: { + '@timestamp': '2015-01-01', + logs_test_name: 'test', + data_stream: { + dataset: `${pkgName}.test_metrics`, + namespace: 'default', + type: 'metrics', + }, }, - }, - }); + }) + ); + + return responses as IndexResponse[]; }; + const getSeedDocsFromResponse = async (indexResponses: IndexResponse[]) => + Promise.all( + indexResponses.map((indexResponse) => + es.transport.request({ + method: 'GET', + path: `/${indexResponse._index}/_doc/${indexResponse._id}`, + }) + ) + ); + const getDataStreams = async () => { return await supertest.get(`/api/fleet/data_streams`).set('kbn-xsrf', 'xxxx'); }; @@ -93,36 +115,58 @@ export default function (providerContext: FtrProviderContext) { expect(body).to.eql({ data_streams: [] }); }); - it('should return correct data stream information', async function () { + it('should return correct basic data stream information', async function () { await seedDataStreams(); - await retry.tryForTime(10000, async () => { - const { body } = await getDataStreams(); - return expect( - body.data_streams.map((dataStream: any) => { - // eslint-disable-next-line @typescript-eslint/naming-convention - const { index, size_in_bytes, ...rest } = dataStream; - return rest; - }) - ).to.eql([ + // we can't compare the array directly as the order is unpredictable + const expectedStreamsByDataset = keyBy( + [ { - dataset: 'datastreams.test_logs', + dataset: 'datastreams.test_metrics', namespace: 'default', - type: 'logs', + type: 'metrics', package: 'datastreams', package_version: '0.1.0', - last_activity_ms: 1420070400000, dashboards: [], }, { - dataset: 'datastreams.test_metrics', + dataset: 'datastreams.test_logs', namespace: 'default', - type: 'metrics', + type: 'logs', package: 'datastreams', package_version: '0.1.0', - last_activity_ms: 1420070400000, dashboards: [], }, - ]); + ], + 'dataset' + ); + + await retry.tryForTime(10000, async () => { + const { body } = await getDataStreams(); + expect(body.data_streams.length).to.eql(2); + + body.data_streams.forEach((dataStream: any) => { + // eslint-disable-next-line @typescript-eslint/naming-convention + const { index, size_in_bytes, last_activity_ms, ...coreFields } = dataStream; + expect(expectedStreamsByDataset[coreFields.dataset]).not.to.eql(undefined); + expect(coreFields).to.eql(expectedStreamsByDataset[coreFields.dataset]); + }); + }); + }); + + it('should use event.ingested instead of @timestamp for last_activity_ms', async function () { + const seedResponse = await seedDataStreams(); + const docs = await getSeedDocsFromResponse(seedResponse); + const docsByDataset: Record = keyBy(docs, '_source.data_stream.dataset'); + await retry.tryForTime(10000, async () => { + const { body } = await getDataStreams(); + expect(body.data_streams.length).to.eql(2); + body.data_streams.forEach((dataStream: any) => { + expect(docsByDataset[dataStream.dataset]).not.to.eql(undefined); + const expectedTimestamp = new Date( + docsByDataset[dataStream.dataset]?._source?.event?.ingested + ).getTime(); + expect(dataStream.last_activity_ms).to.eql(expectedTimestamp); + }); }); }); From 12af55889864b7578d792be6fb5e9d7488842ef2 Mon Sep 17 00:00:00 2001 From: Tyler Smalley Date: Mon, 1 Nov 2021 09:12:00 -0700 Subject: [PATCH 020/110] skip flaky suite (#116980) --- x-pack/test/functional/apps/uptime/synthetics_integration.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/test/functional/apps/uptime/synthetics_integration.ts b/x-pack/test/functional/apps/uptime/synthetics_integration.ts index 77a4e5c3c94c18..54b768bbd7c7cb 100644 --- a/x-pack/test/functional/apps/uptime/synthetics_integration.ts +++ b/x-pack/test/functional/apps/uptime/synthetics_integration.ts @@ -129,7 +129,8 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { use_output: 'default', }); - describe('When on the Synthetics Integration Policy Create Page', function () { + // Failing: See https://github.com/elastic/kibana/issues/116980 + describe.skip('When on the Synthetics Integration Policy Create Page', function () { this.tags(['ciGroup10']); const basicConfig = { name: monitorName, From 4feeeeb34f72afe4b7fd3f807d7342e13c7826a6 Mon Sep 17 00:00:00 2001 From: Giorgos Bamparopoulos Date: Mon, 1 Nov 2021 16:22:01 +0000 Subject: [PATCH 021/110] Add API tests for top dependencies (#116788) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add top dependencies API tests Co-authored-by: Søren Louv-Jansen --- .../tests/dependencies/generate_data.ts | 29 ++-- .../tests/dependencies/metadata.ts | 12 +- .../tests/dependencies/top_dependencies.ts | 142 ++++++++++++++++++ .../test/apm_api_integration/tests/index.ts | 4 + 4 files changed, 170 insertions(+), 17 deletions(-) create mode 100644 x-pack/test/apm_api_integration/tests/dependencies/top_dependencies.ts diff --git a/x-pack/test/apm_api_integration/tests/dependencies/generate_data.ts b/x-pack/test/apm_api_integration/tests/dependencies/generate_data.ts index 7e369f5db4b068..8f5f1c97eeb967 100644 --- a/x-pack/test/apm_api_integration/tests/dependencies/generate_data.ts +++ b/x-pack/test/apm_api_integration/tests/dependencies/generate_data.ts @@ -8,40 +8,47 @@ import { service, timerange } from '@elastic/apm-synthtrace'; import type { SynthtraceEsClient } from '../../common/synthtrace_es_client'; export const dataConfig = { - spanType: 'db', + rate: 20, + transaction: { + name: 'GET /api/product/list', + duration: 1000, + }, + span: { + name: 'GET apm-*/_search', + type: 'db', + subType: 'elasticsearch', + destination: 'elasticsearch', + }, }; export async function generateData({ synthtraceEsClient, - backendName, start, end, }: { synthtraceEsClient: SynthtraceEsClient; - backendName: string; start: number; end: number; }) { const instance = service('synth-go', 'production', 'go').instance('instance-a'); - const transactionName = 'GET /api/product/list'; - const spanName = 'GET apm-*/_search'; + const { rate, transaction, span } = dataConfig; await synthtraceEsClient.index( timerange(start, end) .interval('1m') - .rate(10) + .rate(rate) .flatMap((timestamp) => instance - .transaction(transactionName) + .transaction(transaction.name) .timestamp(timestamp) - .duration(1000) + .duration(transaction.duration) .success() .children( instance - .span(spanName, dataConfig.spanType, backendName) - .duration(1000) + .span(span.name, span.type, span.subType) + .duration(transaction.duration) .success() - .destination(backendName) + .destination(span.destination) .timestamp(timestamp) ) .serialize() diff --git a/x-pack/test/apm_api_integration/tests/dependencies/metadata.ts b/x-pack/test/apm_api_integration/tests/dependencies/metadata.ts index bad737fd51b53e..071370a8e6c736 100644 --- a/x-pack/test/apm_api_integration/tests/dependencies/metadata.ts +++ b/x-pack/test/apm_api_integration/tests/dependencies/metadata.ts @@ -15,14 +15,13 @@ export default function ApiTest({ getService }: FtrProviderContext) { const start = new Date('2021-01-01T00:00:00.000Z').getTime(); const end = new Date('2021-01-01T00:15:00.000Z').getTime() - 1; - const backendName = 'elasticsearch'; async function callApi() { return await apmApiClient.readUser({ endpoint: `GET /internal/apm/backends/metadata`, params: { query: { - backendName, + backendName: dataConfig.span.destination, start: new Date(start).toISOString(), end: new Date(end).toISOString(), }, @@ -44,16 +43,17 @@ export default function ApiTest({ getService }: FtrProviderContext) { ); registry.when( - 'Dependency metadata when data is loaded', + 'Dependency metadata when data is generated', { config: 'basic', archives: ['apm_mappings_only_8.0.0'] }, () => { it('returns correct metadata for the dependency', async () => { - await generateData({ synthtraceEsClient, backendName, start, end }); + await generateData({ synthtraceEsClient, start, end }); const { status, body } = await callApi(); + const { span } = dataConfig; expect(status).to.be(200); - expect(body.metadata.spanType).to.equal(dataConfig.spanType); - expect(body.metadata.spanSubtype).to.equal(backendName); + expect(body.metadata.spanType).to.equal(span.type); + expect(body.metadata.spanSubtype).to.equal(span.subType); }); } ); diff --git a/x-pack/test/apm_api_integration/tests/dependencies/top_dependencies.ts b/x-pack/test/apm_api_integration/tests/dependencies/top_dependencies.ts new file mode 100644 index 00000000000000..1b8219b4a39c67 --- /dev/null +++ b/x-pack/test/apm_api_integration/tests/dependencies/top_dependencies.ts @@ -0,0 +1,142 @@ +/* + * 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 '@kbn/expect'; +import { APIReturnType } from '../../../../plugins/apm/public/services/rest/createCallApmApi'; +import { FtrProviderContext } from '../../common/ftr_provider_context'; +import { registry } from '../../common/registry'; +import { dataConfig, generateData } from './generate_data'; +import { NodeType, BackendNode } from '../../../../plugins/apm/common/connections'; +import { roundNumber } from '../../utils'; + +type TopDependencies = APIReturnType<'GET /internal/apm/backends/top_backends'>; + +export default function ApiTest({ getService }: FtrProviderContext) { + const apmApiClient = getService('apmApiClient'); + const synthtraceEsClient = getService('synthtraceEsClient'); + + const start = new Date('2021-01-01T00:00:00.000Z').getTime(); + const end = new Date('2021-01-01T00:15:00.000Z').getTime() - 1; + + async function callApi() { + return await apmApiClient.readUser({ + endpoint: 'GET /internal/apm/backends/top_backends', + params: { + query: { + start: new Date(start).toISOString(), + end: new Date(end).toISOString(), + environment: 'ENVIRONMENT_ALL', + kuery: '', + numBuckets: 20, + offset: '', + }, + }, + }); + } + + registry.when( + 'Top dependencies when data is not loaded', + { config: 'basic', archives: [] }, + () => { + it('handles empty state', async () => { + const { status, body } = await callApi(); + expect(status).to.be(200); + expect(body.backends).to.empty(); + }); + } + ); + + registry.when( + 'Top dependencies', + { config: 'basic', archives: ['apm_mappings_only_8.0.0'] }, + () => { + describe('when data is generated', () => { + let topDependencies: TopDependencies; + + before(async () => { + await generateData({ synthtraceEsClient, start, end }); + const response = await callApi(); + topDependencies = response.body; + }); + + after(() => synthtraceEsClient.clean()); + + it('returns an array of dependencies', () => { + expect(topDependencies).to.have.property('backends'); + expect(topDependencies.backends).to.have.length(1); + }); + + it('returns correct dependency information', () => { + const location = topDependencies.backends[0].location as BackendNode; + const { span } = dataConfig; + + expect(location.type).to.be(NodeType.backend); + expect(location.backendName).to.be(span.destination); + expect(location.spanType).to.be(span.type); + expect(location.spanSubtype).to.be(span.subType); + expect(location).to.have.property('id'); + }); + + describe('returns the correct stats', () => { + let backends: TopDependencies['backends'][number]; + + before(() => { + backends = topDependencies.backends[0]; + }); + + it("doesn't have previous stats", () => { + expect(backends.previousStats).to.be(null); + }); + + it('has an "impact" property', () => { + expect(backends.currentStats).to.have.property('impact'); + }); + + it('returns the correct latency', () => { + const { + currentStats: { latency }, + } = backends; + + const { transaction } = dataConfig; + + expect(latency.value).to.be(transaction.duration * 1000); + expect(latency.timeseries.every(({ y }) => y === transaction.duration * 1000)).to.be( + true + ); + }); + + it('returns the correct throughput', () => { + const { + currentStats: { throughput }, + } = backends; + const { rate } = dataConfig; + + expect(roundNumber(throughput.value)).to.be(roundNumber(rate)); + }); + + it('returns the correct total time', () => { + const { + currentStats: { totalTime }, + } = backends; + const { rate, transaction } = dataConfig; + + expect( + totalTime.timeseries.every(({ y }) => y === rate * transaction.duration * 1000) + ).to.be(true); + }); + + it('returns the correct error rate', () => { + const { + currentStats: { errorRate }, + } = backends; + expect(errorRate.value).to.be(0); + expect(errorRate.timeseries.every(({ y }) => y === 0)).to.be(true); + }); + }); + }); + } + ); +} diff --git a/x-pack/test/apm_api_integration/tests/index.ts b/x-pack/test/apm_api_integration/tests/index.ts index 46998efbed81bd..29b40b6ff62cf1 100644 --- a/x-pack/test/apm_api_integration/tests/index.ts +++ b/x-pack/test/apm_api_integration/tests/index.ts @@ -250,6 +250,10 @@ export default function apmApiIntegrationTests(providerContext: FtrProviderConte loadTestFile(require.resolve('./dependencies/metadata')); }); + describe('dependencies/top_dependencies', function () { + loadTestFile(require.resolve('./dependencies/top_dependencies')); + }); + registry.run(providerContext); }); } From f2402cef373c1335f994a8c2f79225933e489f94 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cau=C3=AA=20Marcondes?= <55978943+cauemarcondes@users.noreply.github.com> Date: Mon, 1 Nov 2021 12:31:06 -0400 Subject: [PATCH 022/110] [APM] Adding api tests for error group (#116771) * adding api tests for error group * addresing pr changes --- .../tests/errors/distribution.ts | 56 +---------- .../tests/errors/generate_data.ts | 73 +++++++++++++++ .../tests/errors/group_id.ts | 92 +++++++++++++++++++ .../test/apm_api_integration/tests/index.ts | 4 + 4 files changed, 172 insertions(+), 53 deletions(-) create mode 100644 x-pack/test/apm_api_integration/tests/errors/generate_data.ts create mode 100644 x-pack/test/apm_api_integration/tests/errors/group_id.ts diff --git a/x-pack/test/apm_api_integration/tests/errors/distribution.ts b/x-pack/test/apm_api_integration/tests/errors/distribution.ts index 4f4b457de86bd1..750ddf59ed2c27 100644 --- a/x-pack/test/apm_api_integration/tests/errors/distribution.ts +++ b/x-pack/test/apm_api_integration/tests/errors/distribution.ts @@ -4,7 +4,6 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ -import { service, timerange } from '@elastic/apm-synthtrace'; import expect from '@kbn/expect'; import { first, last, sumBy } from 'lodash'; import { isFiniteNumber } from '../../../../plugins/apm/common/utils/is_finite_number'; @@ -15,6 +14,7 @@ import { import { RecursivePartial } from '../../../../plugins/apm/typings/common'; import { FtrProviderContext } from '../../common/ftr_provider_context'; import { registry } from '../../common/registry'; +import { config, generateData } from './generate_data'; type ErrorsDistribution = APIReturnType<'GET /internal/apm/services/{serviceName}/errors/distribution'>; @@ -65,59 +65,9 @@ export default function ApiTest({ getService }: FtrProviderContext) { { config: 'basic', archives: ['apm_mappings_only_8.0.0'] }, () => { describe('errors distribution', () => { - const appleTransaction = { - name: 'GET /apple 🍎 ', - successRate: 75, - failureRate: 25, - }; - const bananaTransaction = { - name: 'GET /banana 🍌', - successRate: 50, - failureRate: 50, - }; - + const { appleTransaction, bananaTransaction } = config; before(async () => { - const serviceGoProdInstance = service(serviceName, 'production', 'go').instance( - 'instance-a' - ); - - const interval = '1m'; - - const indices = [appleTransaction, bananaTransaction] - .map((transaction, index) => { - return [ - ...timerange(start, end) - .interval(interval) - .rate(transaction.successRate) - .flatMap((timestamp) => - serviceGoProdInstance - .transaction(transaction.name) - .timestamp(timestamp) - .duration(1000) - .success() - .serialize() - ), - ...timerange(start, end) - .interval(interval) - .rate(transaction.failureRate) - .flatMap((timestamp) => - serviceGoProdInstance - .transaction(transaction.name) - .errors( - serviceGoProdInstance - .error(`Error ${index}`, transaction.name) - .timestamp(timestamp) - ) - .duration(1000) - .timestamp(timestamp) - .failure() - .serialize() - ), - ]; - }) - .flatMap((_) => _); - - await synthtraceEsClient.index(indices); + await generateData({ serviceName, start, end, synthtraceEsClient }); }); after(() => synthtraceEsClient.clean()); diff --git a/x-pack/test/apm_api_integration/tests/errors/generate_data.ts b/x-pack/test/apm_api_integration/tests/errors/generate_data.ts new file mode 100644 index 00000000000000..d31db77ad75056 --- /dev/null +++ b/x-pack/test/apm_api_integration/tests/errors/generate_data.ts @@ -0,0 +1,73 @@ +/* + * 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 { service, timerange } from '@elastic/apm-synthtrace'; +import type { SynthtraceEsClient } from '../../common/synthtrace_es_client'; + +export const config = { + appleTransaction: { + name: 'GET /apple 🍎 ', + successRate: 75, + failureRate: 25, + }, + bananaTransaction: { + name: 'GET /banana 🍌', + successRate: 50, + failureRate: 50, + }, +}; + +export async function generateData({ + synthtraceEsClient, + serviceName, + start, + end, +}: { + synthtraceEsClient: SynthtraceEsClient; + serviceName: string; + start: number; + end: number; +}) { + const serviceGoProdInstance = service(serviceName, 'production', 'go').instance('instance-a'); + + const interval = '1m'; + + const { bananaTransaction, appleTransaction } = config; + + const documents = [appleTransaction, bananaTransaction] + .map((transaction, index) => { + return [ + ...timerange(start, end) + .interval(interval) + .rate(transaction.successRate) + .flatMap((timestamp) => + serviceGoProdInstance + .transaction(transaction.name) + .timestamp(timestamp) + .duration(1000) + .success() + .serialize() + ), + ...timerange(start, end) + .interval(interval) + .rate(transaction.failureRate) + .flatMap((timestamp) => + serviceGoProdInstance + .transaction(transaction.name) + .errors( + serviceGoProdInstance.error(`Error ${index}`, transaction.name).timestamp(timestamp) + ) + .duration(1000) + .timestamp(timestamp) + .failure() + .serialize() + ), + ]; + }) + .flatMap((_) => _); + + await synthtraceEsClient.index(documents); +} diff --git a/x-pack/test/apm_api_integration/tests/errors/group_id.ts b/x-pack/test/apm_api_integration/tests/errors/group_id.ts new file mode 100644 index 00000000000000..ef9e293355a7fc --- /dev/null +++ b/x-pack/test/apm_api_integration/tests/errors/group_id.ts @@ -0,0 +1,92 @@ +/* + * 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 '@kbn/expect'; +import { + APIClientRequestParamsOf, + APIReturnType, +} from '../../../../plugins/apm/public/services/rest/createCallApmApi'; +import { RecursivePartial } from '../../../../plugins/apm/typings/common'; +import { FtrProviderContext } from '../../common/ftr_provider_context'; +import { registry } from '../../common/registry'; +import { config, generateData } from './generate_data'; + +type ErrorsDistribution = + APIReturnType<'GET /internal/apm/services/{serviceName}/errors/{groupId}'>; + +export default function ApiTest({ getService }: FtrProviderContext) { + const apmApiClient = getService('apmApiClient'); + const synthtraceEsClient = getService('synthtraceEsClient'); + + const serviceName = 'synth-go'; + const start = new Date('2021-01-01T00:00:00.000Z').getTime(); + const end = new Date('2021-01-01T00:15:00.000Z').getTime() - 1; + + async function callApi( + overrides?: RecursivePartial< + APIClientRequestParamsOf<'GET /internal/apm/services/{serviceName}/errors/{groupId}'>['params'] + > + ) { + const response = await apmApiClient.readUser({ + endpoint: 'GET /internal/apm/services/{serviceName}/errors/{groupId}', + params: { + path: { + serviceName, + groupId: 'foo', + ...overrides?.path, + }, + query: { + start: new Date(start).toISOString(), + end: new Date(end).toISOString(), + environment: 'ENVIRONMENT_ALL', + kuery: '', + ...overrides?.query, + }, + }, + }); + return response; + } + + registry.when('when data is not loaded', { config: 'basic', archives: [] }, () => { + it('handles the empty state', async () => { + const response = await callApi(); + expect(response.status).to.be(200); + expect(response.body.occurrencesCount).to.be(0); + }); + }); + + registry.when( + 'when data is loaded', + { config: 'basic', archives: ['apm_mappings_only_8.0.0'] }, + () => { + const { bananaTransaction } = config; + describe('error group id', () => { + before(async () => { + await generateData({ serviceName, start, end, synthtraceEsClient }); + }); + + after(() => synthtraceEsClient.clean()); + + describe('return correct data', () => { + let errorsDistribution: ErrorsDistribution; + before(async () => { + const response = await callApi({ + path: { groupId: '0000000000000000000000000Error 1' }, + }); + errorsDistribution = response.body; + }); + + it('displays correct number of occurrences', () => { + const numberOfBuckets = 15; + expect(errorsDistribution.occurrencesCount).to.equal( + bananaTransaction.failureRate * numberOfBuckets + ); + }); + }); + }); + } + ); +} diff --git a/x-pack/test/apm_api_integration/tests/index.ts b/x-pack/test/apm_api_integration/tests/index.ts index 29b40b6ff62cf1..c5b6e6554efd18 100644 --- a/x-pack/test/apm_api_integration/tests/index.ts +++ b/x-pack/test/apm_api_integration/tests/index.ts @@ -241,6 +241,10 @@ export default function apmApiIntegrationTests(providerContext: FtrProviderConte loadTestFile(require.resolve('./latency/service_apis')); }); + describe('errors/group_id', function () { + loadTestFile(require.resolve('./errors/group_id')); + }); + describe('errors/distribution', function () { loadTestFile(require.resolve('./errors/distribution')); }); From 07576c84e73fb7497f0dc6489258164668130e6c Mon Sep 17 00:00:00 2001 From: Jonathan Budzenski Date: Mon, 1 Nov 2021 11:37:17 -0500 Subject: [PATCH 023/110] Remove deprecation allowance for rmdir recursive (#116019) This bumps synthetics to 1.0.0 beta 16, letting us remove the ignored warning for fs.rmdir(path, { recursive: true}) Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- package.json | 2 +- src/setup_node_env/exit_on_warning.js | 6 ------ yarn.lock | 8 ++++---- 3 files changed, 5 insertions(+), 11 deletions(-) diff --git a/package.json b/package.json index be36f7501a8f37..1b517aa4f327a5 100644 --- a/package.json +++ b/package.json @@ -435,7 +435,7 @@ "@elastic/eslint-plugin-eui": "0.0.2", "@elastic/github-checks-reporter": "0.0.20b3", "@elastic/makelogs": "^6.0.0", - "@elastic/synthetics": "^1.0.0-beta.12", + "@elastic/synthetics": "^1.0.0-beta.16", "@emotion/babel-preset-css-prop": "^11.2.0", "@emotion/jest": "^11.3.0", "@istanbuljs/schema": "^0.1.2", diff --git a/src/setup_node_env/exit_on_warning.js b/src/setup_node_env/exit_on_warning.js index 998dd02a6bff0c..5e7bae8254c04e 100644 --- a/src/setup_node_env/exit_on_warning.js +++ b/src/setup_node_env/exit_on_warning.js @@ -39,12 +39,6 @@ var IGNORE_WARNINGS = [ name: 'DeprecationWarning', code: 'DEP0148', }, - // In future versions of Node.js, fs.rmdir(path, { recursive: true }) will be removed. - // Remove after https://github.com/elastic/synthetics/pull/390 - { - name: 'DeprecationWarning', - code: 'DEP0147', - }, { // TODO: @elastic/es-clients - The new client will attempt a Product check and it will `process.emitWarning` // that the security features are blocking such check. diff --git a/yarn.lock b/yarn.lock index eccaca98572c67..ea2e09c7c5e5b1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2553,10 +2553,10 @@ history "^4.9.0" qs "^6.7.0" -"@elastic/synthetics@^1.0.0-beta.12": - version "1.0.0-beta.13" - resolved "https://registry.yarnpkg.com/@elastic/synthetics/-/synthetics-1.0.0-beta.13.tgz#84b3353b6bfff5623613016d8ed3d47e48ed17ea" - integrity sha512-CXpdfq/E6sVwDU6aGkH9mvcBPimQvR3/2QfBS5U4J58145m7YRPhJzaPJqXVApKomYcE/yzN49zOTIDsMcdOkg== +"@elastic/synthetics@^1.0.0-beta.16": + version "1.0.0-beta.16" + resolved "https://registry.yarnpkg.com/@elastic/synthetics/-/synthetics-1.0.0-beta.16.tgz#3d670cf29019e2be356592f2a7871594a3b0ce68" + integrity sha512-Ke8MO1lbddZjncPuY2IzZ1qKwePVD1hn9JtSUMv+7zJmczasrqcDKS2QCeFdt12kvFNe/IE60PStwfc9AD7j9w== dependencies: commander "^7.0.0" deepmerge "^4.2.2" From 08d0131c64bde5709b9a6e65920521e9fa5859b9 Mon Sep 17 00:00:00 2001 From: Paul Tavares <56442535+paul-tavares@users.noreply.github.com> Date: Mon, 1 Nov 2021 13:11:57 -0400 Subject: [PATCH 024/110] [Security Solution][Endpoint] Add tooltip to Name and Description on the `ArtifactEntryCollapsableCard` when collapsed (#116839) * Add `withTooltip` prop to `TextValueDisplay` and use it in CardCompressedHeader * Add UT --- .../artifact_entry_collapsible_card.test.tsx | 19 +++++++++++++ .../components/card_compressed_header.tsx | 6 ++-- .../components/description_field.tsx | 11 ++++++-- .../components/text_value_display.tsx | 28 +++++++++++++++++-- 4 files changed, 56 insertions(+), 8 deletions(-) diff --git a/x-pack/plugins/security_solution/public/management/components/artifact_entry_card/artifact_entry_collapsible_card.test.tsx b/x-pack/plugins/security_solution/public/management/components/artifact_entry_card/artifact_entry_collapsible_card.test.tsx index 84860b1144f080..89d972c47ffebf 100644 --- a/x-pack/plugins/security_solution/public/management/components/artifact_entry_card/artifact_entry_collapsible_card.test.tsx +++ b/x-pack/plugins/security_solution/public/management/components/artifact_entry_card/artifact_entry_collapsible_card.test.tsx @@ -75,6 +75,25 @@ describe.each([ expect(renderResult.getByTestId('testCard-criteriaConditions')).not.toBeNull(); }); + it('should display tooltip if collapsed', () => { + render(); + + expect(renderResult.baseElement.querySelectorAll('.euiToolTipAnchor')).toHaveLength(2); + }); + + it('should display tooltip when collapsed but only if not empty', () => { + item.description = ''; + render(); + + expect(renderResult.baseElement.querySelectorAll('.euiToolTipAnchor')).toHaveLength(1); + }); + + it('should NOT display a tooltip if expanded', () => { + render({ expanded: true }); + + expect(renderResult.baseElement.querySelectorAll('.euiToolTipAnchor')).toHaveLength(0); + }); + it('should call `onExpandCollapse` callback when button is clicked', () => { render(); act(() => { diff --git a/x-pack/plugins/security_solution/public/management/components/artifact_entry_card/components/card_compressed_header.tsx b/x-pack/plugins/security_solution/public/management/components/artifact_entry_card/components/card_compressed_header.tsx index 7e372f73ff9ada..629c6ec9cb6922 100644 --- a/x-pack/plugins/security_solution/public/management/components/artifact_entry_card/components/card_compressed_header.tsx +++ b/x-pack/plugins/security_solution/public/management/components/artifact_entry_card/components/card_compressed_header.tsx @@ -56,12 +56,14 @@ export const CardCompressedHeader = memo( /> } name={ - + {artifact.name} } description={ - {artifact.description} + + {artifact.description} + } effectScope={ diff --git a/x-pack/plugins/security_solution/public/management/components/artifact_entry_card/components/description_field.tsx b/x-pack/plugins/security_solution/public/management/components/artifact_entry_card/components/description_field.tsx index 31c571f32fe248..220fac4a717def 100644 --- a/x-pack/plugins/security_solution/public/management/components/artifact_entry_card/components/description_field.tsx +++ b/x-pack/plugins/security_solution/public/management/components/artifact_entry_card/components/description_field.tsx @@ -12,12 +12,17 @@ import { TextValueDisplay, TextValueDisplayProps } from './text_value_display'; export type DescriptionFieldProps = PropsWithChildren<{}> & Pick & - Pick; + Pick; export const DescriptionField = memo( - ({ truncate, children, 'data-test-subj': dataTestSubj }) => { + ({ truncate, children, 'data-test-subj': dataTestSubj, withTooltip }) => { return ( - + {children || getEmptyValue()} ); diff --git a/x-pack/plugins/security_solution/public/management/components/artifact_entry_card/components/text_value_display.tsx b/x-pack/plugins/security_solution/public/management/components/artifact_entry_card/components/text_value_display.tsx index b496f4b02ebb1d..aaef120fc566d8 100644 --- a/x-pack/plugins/security_solution/public/management/components/artifact_entry_card/components/text_value_display.tsx +++ b/x-pack/plugins/security_solution/public/management/components/artifact_entry_card/components/text_value_display.tsx @@ -6,14 +6,16 @@ */ import React, { memo, PropsWithChildren, useMemo } from 'react'; -import { CommonProps, EuiText } from '@elastic/eui'; +import { CommonProps, EuiText, EuiToolTip } from '@elastic/eui'; import classNames from 'classnames'; +import { getEmptyValue } from '../../../../common/components/empty_value'; export type TextValueDisplayProps = Pick & PropsWithChildren<{ bold?: boolean; truncate?: boolean; size?: 'xs' | 's' | 'm' | 'relative'; + withTooltip?: boolean; }>; /** @@ -21,7 +23,14 @@ export type TextValueDisplayProps = Pick & * display of values on the card */ export const TextValueDisplay = memo( - ({ bold, truncate, size = 's', 'data-test-subj': dataTestSubj, children }) => { + ({ + bold, + truncate, + size = 's', + withTooltip = false, + 'data-test-subj': dataTestSubj, + children, + }) => { const cssClassNames = useMemo(() => { return classNames({ 'eui-textTruncate': truncate, @@ -29,9 +38,22 @@ export const TextValueDisplay = memo( }); }, [truncate]); + const textContent = useMemo(() => { + return bold ? {children} : children; + }, [bold, children]); + return ( - {bold ? {children} : children} + {withTooltip && + 'string' === typeof children && + children.length > 0 && + children !== getEmptyValue() ? ( + + <>{textContent} + + ) : ( + textContent + )} ); } From f65b3f694fe4dd07992c2a50f53b8a65ca34f5d1 Mon Sep 17 00:00:00 2001 From: Stacey Gammon Date: Mon, 1 Nov 2021 13:12:44 -0400 Subject: [PATCH 025/110] Fix mixspelt team name in plugin (#116899) * Update kibana.json * Make App Services team name consistent --- src/plugins/kibana_usage_collection/kibana.json | 2 +- x-pack/plugins/ui_actions_enhanced/kibana.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/plugins/kibana_usage_collection/kibana.json b/src/plugins/kibana_usage_collection/kibana.json index 60607c31af36b9..39b55e5c6dd946 100644 --- a/src/plugins/kibana_usage_collection/kibana.json +++ b/src/plugins/kibana_usage_collection/kibana.json @@ -1,7 +1,7 @@ { "id": "kibanaUsageCollection", "owner": { - "name": "Kibana Telemtry", + "name": "Kibana Telemetry", "githubTeam": "kibana-telemetry" }, "version": "kibana", diff --git a/x-pack/plugins/ui_actions_enhanced/kibana.json b/x-pack/plugins/ui_actions_enhanced/kibana.json index da34dfd46e5778..fd7ffb820727db 100644 --- a/x-pack/plugins/ui_actions_enhanced/kibana.json +++ b/x-pack/plugins/ui_actions_enhanced/kibana.json @@ -1,7 +1,7 @@ { "id": "uiActionsEnhanced", "owner": { - "name": "Kibana App Services", + "name": "App Services", "githubTeam": "kibana-app-services" }, "description": "Extends UI Actions plugin with more functionality", From d703f53412e442e25fda27c3bac16a6d49840b4e Mon Sep 17 00:00:00 2001 From: Kyle Pollich Date: Mon, 1 Nov 2021 13:43:38 -0400 Subject: [PATCH 026/110] Fix bug w/ keep policies up to date setting (#116974) Previously, we were only honoring the "keep policies up to date" setting for policies generated during preconfiguration. This fix ensure we honor it for all policies. Closes #116435 --- .../fleet/server/services/preconfiguration.ts | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/x-pack/plugins/fleet/server/services/preconfiguration.ts b/x-pack/plugins/fleet/server/services/preconfiguration.ts index d171030b06a812..00c455247826e7 100644 --- a/x-pack/plugins/fleet/server/services/preconfiguration.ts +++ b/x-pack/plugins/fleet/server/services/preconfiguration.ts @@ -20,7 +20,11 @@ import type { PreconfigurationError, PreconfiguredOutput, } from '../../common'; -import { AGENT_POLICY_SAVED_OBJECT_TYPE, normalizeHostsForAgents } from '../../common'; +import { + AGENT_POLICY_SAVED_OBJECT_TYPE, + SO_SEARCH_LIMIT, + normalizeHostsForAgents, +} from '../../common'; import { PRECONFIGURATION_DELETION_RECORD_SAVED_OBJECT_TYPE, PRECONFIGURATION_LATEST_KEYWORD, @@ -33,7 +37,7 @@ import { ensurePackagesCompletedInstall } from './epm/packages/install'; import { bulkInstallPackages } from './epm/packages/bulk_install_packages'; import { agentPolicyService, addPackageToAgentPolicy } from './agent_policy'; import type { InputsOverride } from './package_policy'; -import { overridePackageInputs } from './package_policy'; +import { overridePackageInputs, packagePolicyService } from './package_policy'; import { appContextService } from './app_context'; import type { UpgradeManagedPackagePoliciesResult } from './managed_package_policies'; import { upgradeManagedPackagePolicies } from './managed_package_policies'; @@ -349,14 +353,16 @@ export async function ensurePreconfiguredPackagesAndPolicies( } } - const fulfilledPolicyPackagePolicyIds = fulfilledPolicies - .filter(({ policy }) => policy?.package_policies) - .flatMap(({ policy }) => policy?.package_policies as string[]); - + // Handle automatic package policy upgrades for managed packages and package with + // the `keep_policies_up_to_date` setting enabled + const allPackagePolicyIds = await packagePolicyService.listIds(soClient, { + page: 1, + perPage: SO_SEARCH_LIMIT, + }); const packagePolicyUpgradeResults = await upgradeManagedPackagePolicies( soClient, esClient, - fulfilledPolicyPackagePolicyIds + allPackagePolicyIds.items ); return { From 2c887539d534ff0feeb035e18de862c06904045d Mon Sep 17 00:00:00 2001 From: Dario Gieselaar Date: Mon, 1 Nov 2021 19:19:29 +0100 Subject: [PATCH 027/110] [APM] Synthtrace ES Client (#116770) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Søren Louv-Jansen --- packages/elastic-apm-synthtrace/src/index.ts | 4 + .../src/lib/client/synthtrace_es_client.ts | 55 + .../utils/clean_write_targets.ts | 0 .../logger.ts => lib/utils/create_logger.ts} | 0 .../utils/get_write_targets.ts | 0 .../src/lib/utils/logger.ts | 67 + .../elastic-apm-synthtrace/src/scripts/run.ts | 2 +- .../src/scripts/utils/get_common_resources.ts | 4 +- .../src/scripts/utils/get_scenario.ts | 2 +- .../utils/start_historical_data_upload.ts | 2 +- .../scripts/utils/start_live_data_upload.ts | 2 +- .../src/scripts/utils/upload_events.ts | 30 +- .../src/scripts/utils/upload_next_batch.ts | 2 +- .../es_archiver/apm_8.0.0_empty/mappings.json | 22073 ++++++++++++++++ .../cypress/fixtures/synthtrace/opbeans.ts | 39 + .../power_user/rules/error_count.spec.ts | 4 + .../test/apm_api_integration/common/config.ts | 4 +- .../common/synthtrace_es_client.ts | 79 - .../common/synthtrace_es_client_service.ts | 15 + .../tests/dependencies/generate_data.ts | 2 +- .../services/error_groups/generate_data.ts | 2 +- 21 files changed, 22280 insertions(+), 108 deletions(-) create mode 100644 packages/elastic-apm-synthtrace/src/lib/client/synthtrace_es_client.ts rename packages/elastic-apm-synthtrace/src/{scripts => lib}/utils/clean_write_targets.ts (100%) rename packages/elastic-apm-synthtrace/src/{scripts/utils/logger.ts => lib/utils/create_logger.ts} (100%) rename packages/elastic-apm-synthtrace/src/{scripts => lib}/utils/get_write_targets.ts (100%) create mode 100644 packages/elastic-apm-synthtrace/src/lib/utils/logger.ts create mode 100644 x-pack/plugins/apm/ftr_e2e/cypress/fixtures/es_archiver/apm_8.0.0_empty/mappings.json create mode 100644 x-pack/plugins/apm/ftr_e2e/cypress/fixtures/synthtrace/opbeans.ts delete mode 100644 x-pack/test/apm_api_integration/common/synthtrace_es_client.ts create mode 100644 x-pack/test/apm_api_integration/common/synthtrace_es_client_service.ts diff --git a/packages/elastic-apm-synthtrace/src/index.ts b/packages/elastic-apm-synthtrace/src/index.ts index 7007e92012a66a..97cde3e2c4f7d2 100644 --- a/packages/elastic-apm-synthtrace/src/index.ts +++ b/packages/elastic-apm-synthtrace/src/index.ts @@ -13,3 +13,7 @@ export { getSpanDestinationMetrics } from './lib/utils/get_span_destination_metr export { getObserverDefaults } from './lib/defaults/get_observer_defaults'; export { toElasticsearchOutput } from './lib/output/to_elasticsearch_output'; export { getBreakdownMetrics } from './lib/utils/get_breakdown_metrics'; +export { cleanWriteTargets } from './lib/utils/clean_write_targets'; +export { getWriteTargets } from './lib/utils/get_write_targets'; +export { SynthtraceEsClient } from './lib/client/synthtrace_es_client'; +export { createLogger, LogLevel } from './lib/utils/create_logger'; diff --git a/packages/elastic-apm-synthtrace/src/lib/client/synthtrace_es_client.ts b/packages/elastic-apm-synthtrace/src/lib/client/synthtrace_es_client.ts new file mode 100644 index 00000000000000..546214f83c364e --- /dev/null +++ b/packages/elastic-apm-synthtrace/src/lib/client/synthtrace_es_client.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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { Client } from '@elastic/elasticsearch'; +import { uploadEvents } from '../../scripts/utils/upload_events'; +import { Fields } from '../entity'; +import { cleanWriteTargets } from '../utils/clean_write_targets'; +import { getBreakdownMetrics } from '../utils/get_breakdown_metrics'; +import { getSpanDestinationMetrics } from '../utils/get_span_destination_metrics'; +import { getTransactionMetrics } from '../utils/get_transaction_metrics'; +import { getWriteTargets } from '../utils/get_write_targets'; +import { Logger } from '../utils/logger'; + +export class SynthtraceEsClient { + constructor(private readonly client: Client, private readonly logger: Logger) {} + + private getWriteTargets() { + return getWriteTargets({ client: this.client }); + } + + clean() { + return this.getWriteTargets().then((writeTargets) => + cleanWriteTargets({ client: this.client, writeTargets, logger: this.logger }) + ); + } + + async index(events: Fields[]) { + const eventsToIndex = [ + ...events, + ...getTransactionMetrics(events), + ...getSpanDestinationMetrics(events), + ...getBreakdownMetrics(events), + ]; + + const writeTargets = await this.getWriteTargets(); + + await uploadEvents({ + batchSize: 1000, + client: this.client, + clientWorkers: 5, + events: eventsToIndex, + logger: this.logger, + writeTargets, + }); + + return this.client.indices.refresh({ + index: Object.values(writeTargets), + }); + } +} diff --git a/packages/elastic-apm-synthtrace/src/scripts/utils/clean_write_targets.ts b/packages/elastic-apm-synthtrace/src/lib/utils/clean_write_targets.ts similarity index 100% rename from packages/elastic-apm-synthtrace/src/scripts/utils/clean_write_targets.ts rename to packages/elastic-apm-synthtrace/src/lib/utils/clean_write_targets.ts diff --git a/packages/elastic-apm-synthtrace/src/scripts/utils/logger.ts b/packages/elastic-apm-synthtrace/src/lib/utils/create_logger.ts similarity index 100% rename from packages/elastic-apm-synthtrace/src/scripts/utils/logger.ts rename to packages/elastic-apm-synthtrace/src/lib/utils/create_logger.ts diff --git a/packages/elastic-apm-synthtrace/src/scripts/utils/get_write_targets.ts b/packages/elastic-apm-synthtrace/src/lib/utils/get_write_targets.ts similarity index 100% rename from packages/elastic-apm-synthtrace/src/scripts/utils/get_write_targets.ts rename to packages/elastic-apm-synthtrace/src/lib/utils/get_write_targets.ts diff --git a/packages/elastic-apm-synthtrace/src/lib/utils/logger.ts b/packages/elastic-apm-synthtrace/src/lib/utils/logger.ts new file mode 100644 index 00000000000000..4afdda74105cfd --- /dev/null +++ b/packages/elastic-apm-synthtrace/src/lib/utils/logger.ts @@ -0,0 +1,67 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { isPromise } from 'util/types'; + +export enum LogLevel { + trace = 0, + debug = 1, + info = 2, + error = 3, +} + +function getTimeString() { + return `[${new Date().toLocaleTimeString()}]`; +} + +export function createLogger(logLevel: LogLevel) { + function logPerf(name: string, start: bigint) { + // eslint-disable-next-line no-console + console.debug( + getTimeString(), + `${name}: ${Number(process.hrtime.bigint() - start) / 1000000}ms` + ); + } + return { + perf: (name: string, cb: () => T): T => { + if (logLevel <= LogLevel.trace) { + const start = process.hrtime.bigint(); + const val = cb(); + if (isPromise(val)) { + val.then(() => { + logPerf(name, start); + }); + } else { + logPerf(name, start); + } + return val; + } + return cb(); + }, + debug: (...args: any[]) => { + if (logLevel <= LogLevel.debug) { + // eslint-disable-next-line no-console + console.debug(getTimeString(), ...args); + } + }, + info: (...args: any[]) => { + if (logLevel <= LogLevel.info) { + // eslint-disable-next-line no-console + console.log(getTimeString(), ...args); + } + }, + error: (...args: any[]) => { + if (logLevel <= LogLevel.error) { + // eslint-disable-next-line no-console + console.log(getTimeString(), ...args); + } + }, + }; +} + +export type Logger = ReturnType; diff --git a/packages/elastic-apm-synthtrace/src/scripts/run.ts b/packages/elastic-apm-synthtrace/src/scripts/run.ts index 367cdc2b915059..aa427d8e211ae2 100644 --- a/packages/elastic-apm-synthtrace/src/scripts/run.ts +++ b/packages/elastic-apm-synthtrace/src/scripts/run.ts @@ -7,7 +7,7 @@ */ import datemath from '@elastic/datemath'; import yargs from 'yargs/yargs'; -import { cleanWriteTargets } from './utils/clean_write_targets'; +import { cleanWriteTargets } from '../lib/utils/clean_write_targets'; import { intervalToMs } from './utils/interval_to_ms'; import { getCommonResources } from './utils/get_common_resources'; import { startHistoricalDataUpload } from './utils/start_historical_data_upload'; diff --git a/packages/elastic-apm-synthtrace/src/scripts/utils/get_common_resources.ts b/packages/elastic-apm-synthtrace/src/scripts/utils/get_common_resources.ts index 3b51ac6c0c0a73..baa1d8758c3c48 100644 --- a/packages/elastic-apm-synthtrace/src/scripts/utils/get_common_resources.ts +++ b/packages/elastic-apm-synthtrace/src/scripts/utils/get_common_resources.ts @@ -8,9 +8,9 @@ import { Client } from '@elastic/elasticsearch'; import { getScenario } from './get_scenario'; -import { getWriteTargets } from './get_write_targets'; +import { getWriteTargets } from '../../lib/utils/get_write_targets'; import { intervalToMs } from './interval_to_ms'; -import { createLogger, LogLevel } from './logger'; +import { createLogger, LogLevel } from '../../lib/utils/create_logger'; export async function getCommonResources({ file, diff --git a/packages/elastic-apm-synthtrace/src/scripts/utils/get_scenario.ts b/packages/elastic-apm-synthtrace/src/scripts/utils/get_scenario.ts index 887969e8459cc0..f8c59cff4febc1 100644 --- a/packages/elastic-apm-synthtrace/src/scripts/utils/get_scenario.ts +++ b/packages/elastic-apm-synthtrace/src/scripts/utils/get_scenario.ts @@ -7,7 +7,7 @@ */ import Path from 'path'; import { Fields } from '../../lib/entity'; -import { Logger } from './logger'; +import { Logger } from '../../lib/utils/create_logger'; export type Scenario = (options: { from: number; to: number }) => Fields[]; diff --git a/packages/elastic-apm-synthtrace/src/scripts/utils/start_historical_data_upload.ts b/packages/elastic-apm-synthtrace/src/scripts/utils/start_historical_data_upload.ts index e940896fb3687b..dc568170a9744c 100644 --- a/packages/elastic-apm-synthtrace/src/scripts/utils/start_historical_data_upload.ts +++ b/packages/elastic-apm-synthtrace/src/scripts/utils/start_historical_data_upload.ts @@ -10,7 +10,7 @@ import pLimit from 'p-limit'; import Path from 'path'; import { Worker } from 'worker_threads'; import { ElasticsearchOutputWriteTargets } from '../../lib/output/to_elasticsearch_output'; -import { Logger, LogLevel } from './logger'; +import { Logger, LogLevel } from '../../lib/utils/create_logger'; export async function startHistoricalDataUpload({ from, diff --git a/packages/elastic-apm-synthtrace/src/scripts/utils/start_live_data_upload.ts b/packages/elastic-apm-synthtrace/src/scripts/utils/start_live_data_upload.ts index 0032df1d700e99..cec0970420d161 100644 --- a/packages/elastic-apm-synthtrace/src/scripts/utils/start_live_data_upload.ts +++ b/packages/elastic-apm-synthtrace/src/scripts/utils/start_live_data_upload.ts @@ -11,7 +11,7 @@ import { partition } from 'lodash'; import { Fields } from '../../lib/entity'; import { ElasticsearchOutputWriteTargets } from '../../lib/output/to_elasticsearch_output'; import { Scenario } from './get_scenario'; -import { Logger } from './logger'; +import { Logger } from '../../lib/utils/create_logger'; import { uploadEvents } from './upload_events'; export function startLiveDataUpload({ diff --git a/packages/elastic-apm-synthtrace/src/scripts/utils/upload_events.ts b/packages/elastic-apm-synthtrace/src/scripts/utils/upload_events.ts index 72258ec2815a8c..73829485259865 100644 --- a/packages/elastic-apm-synthtrace/src/scripts/utils/upload_events.ts +++ b/packages/elastic-apm-synthtrace/src/scripts/utils/upload_events.ts @@ -14,7 +14,7 @@ import { ElasticsearchOutputWriteTargets, toElasticsearchOutput, } from '../../lib/output/to_elasticsearch_output'; -import { Logger } from './logger'; +import { Logger } from '../../lib/utils/create_logger'; export function uploadEvents({ events, @@ -56,23 +56,17 @@ export function uploadEvents({ ); }) ) - ) - .then((results) => { - const errors = results - .flatMap((result) => result.items) - .filter((item) => !!item.index?.error) - .map((item) => item.index?.error); + ).then((results) => { + const errors = results + .flatMap((result) => result.items) + .filter((item) => !!item.index?.error) + .map((item) => item.index?.error); - if (errors.length) { - logger.error(inspect(errors.slice(0, 10), { depth: null })); - throw new Error('Failed to upload some items'); - } + if (errors.length) { + logger.error(inspect(errors.slice(0, 10), { depth: null })); + throw new Error('Failed to upload some items'); + } - logger.debug(`Uploaded ${events.length} in ${new Date().getTime() - time}ms`); - }) - .catch((err) => { - // eslint-disable-next-line no-console - console.error(err); - process.exit(1); - }); + logger.debug(`Uploaded ${events.length} in ${new Date().getTime() - time}ms`); + }); } diff --git a/packages/elastic-apm-synthtrace/src/scripts/utils/upload_next_batch.ts b/packages/elastic-apm-synthtrace/src/scripts/utils/upload_next_batch.ts index 1e0280382e4dbe..2fe5f9b6a6d610 100644 --- a/packages/elastic-apm-synthtrace/src/scripts/utils/upload_next_batch.ts +++ b/packages/elastic-apm-synthtrace/src/scripts/utils/upload_next_batch.ts @@ -11,7 +11,7 @@ import { Client } from '@elastic/elasticsearch'; import { workerData } from 'worker_threads'; import { ElasticsearchOutputWriteTargets } from '../../lib/output/to_elasticsearch_output'; import { getScenario } from './get_scenario'; -import { createLogger, LogLevel } from './logger'; +import { createLogger, LogLevel } from '../../lib/utils/create_logger'; import { uploadEvents } from './upload_events'; const { bucketFrom, bucketTo, file, logLevel, target, writeTargets, clientWorkers, batchSize } = diff --git a/x-pack/plugins/apm/ftr_e2e/cypress/fixtures/es_archiver/apm_8.0.0_empty/mappings.json b/x-pack/plugins/apm/ftr_e2e/cypress/fixtures/es_archiver/apm_8.0.0_empty/mappings.json new file mode 100644 index 00000000000000..2d05717fa5725c --- /dev/null +++ b/x-pack/plugins/apm/ftr_e2e/cypress/fixtures/es_archiver/apm_8.0.0_empty/mappings.json @@ -0,0 +1,22073 @@ +{ + "type": "index", + "value": { + "aliases": { + ".ml-anomalies-.write-apm-environment_not_defined-337d-high_mean_transaction_duration": { + "is_hidden": true + }, + ".ml-anomalies-.write-apm-production-6117-high_mean_transaction_duration": { + "is_hidden": true + }, + ".ml-anomalies-.write-apm-testing-41e5-high_mean_transaction_duration": { + "is_hidden": true + }, + ".ml-anomalies-apm-environment_not_defined-337d-high_mean_transaction_duration": { + "filter": { + "term": { + "job_id": { + "boost": 1, + "value": "apm-environment_not_defined-337d-high_mean_transaction_duration" + } + } + }, + "is_hidden": true + }, + ".ml-anomalies-apm-production-6117-high_mean_transaction_duration": { + "filter": { + "term": { + "job_id": { + "boost": 1, + "value": "apm-production-6117-high_mean_transaction_duration" + } + } + }, + "is_hidden": true + }, + ".ml-anomalies-apm-testing-41e5-high_mean_transaction_duration": { + "filter": { + "term": { + "job_id": { + "boost": 1, + "value": "apm-testing-41e5-high_mean_transaction_duration" + } + } + }, + "is_hidden": true + } + }, + "index": ".ml-anomalies-shared", + "mappings": { + "_meta": { + "version": "7.14.0" + }, + "dynamic_templates": [ + { + "strings_as_keywords": { + "mapping": { + "type": "keyword" + }, + "match": "*" + } + } + ], + "properties": { + "actual": { + "type": "double" + }, + "all_field_values": { + "analyzer": "whitespace", + "type": "text" + }, + "anomaly_score": { + "type": "double" + }, + "assignment_memory_basis": { + "type": "keyword" + }, + "average_bucket_processing_time_ms": { + "type": "double" + }, + "bucket_allocation_failures_count": { + "type": "long" + }, + "bucket_count": { + "type": "long" + }, + "bucket_influencers": { + "properties": { + "anomaly_score": { + "type": "double" + }, + "bucket_span": { + "type": "long" + }, + "influencer_field_name": { + "type": "keyword" + }, + "initial_anomaly_score": { + "type": "double" + }, + "is_interim": { + "type": "boolean" + }, + "job_id": { + "type": "keyword" + }, + "probability": { + "type": "double" + }, + "raw_anomaly_score": { + "type": "double" + }, + "result_type": { + "type": "keyword" + }, + "timestamp": { + "type": "date" + } + }, + "type": "nested" + }, + "bucket_span": { + "type": "long" + }, + "by_field_name": { + "type": "keyword" + }, + "by_field_value": { + "copy_to": [ + "all_field_values" + ], + "type": "keyword" + }, + "categorization_status": { + "type": "keyword" + }, + "categorized_doc_count": { + "type": "keyword" + }, + "category_id": { + "type": "long" + }, + "causes": { + "properties": { + "actual": { + "type": "double" + }, + "by_field_name": { + "type": "keyword" + }, + "by_field_value": { + "copy_to": [ + "all_field_values" + ], + "type": "keyword" + }, + "correlated_by_field_value": { + "copy_to": [ + "all_field_values" + ], + "type": "keyword" + }, + "field_name": { + "type": "keyword" + }, + "function": { + "type": "keyword" + }, + "function_description": { + "type": "keyword" + }, + "geo_results": { + "properties": { + "actual_point": { + "type": "geo_point" + }, + "typical_point": { + "type": "geo_point" + } + } + }, + "over_field_name": { + "type": "keyword" + }, + "over_field_value": { + "copy_to": [ + "all_field_values" + ], + "type": "keyword" + }, + "partition_field_name": { + "type": "keyword" + }, + "partition_field_value": { + "copy_to": [ + "all_field_values" + ], + "type": "keyword" + }, + "probability": { + "type": "double" + }, + "typical": { + "type": "double" + } + }, + "type": "nested" + }, + "dead_category_count": { + "type": "keyword" + }, + "description": { + "type": "text" + }, + "detector_index": { + "type": "integer" + }, + "earliest_record_timestamp": { + "type": "date" + }, + "empty_bucket_count": { + "type": "long" + }, + "event_count": { + "type": "long" + }, + "examples": { + "type": "text" + }, + "exponential_average_bucket_processing_time_ms": { + "type": "double" + }, + "exponential_average_calculation_context": { + "properties": { + "incremental_metric_value_ms": { + "type": "double" + }, + "latest_timestamp": { + "type": "date" + }, + "previous_exponential_average_ms": { + "type": "double" + } + } + }, + "failed_category_count": { + "type": "keyword" + }, + "field_name": { + "type": "keyword" + }, + "forecast_create_timestamp": { + "type": "date" + }, + "forecast_end_timestamp": { + "type": "date" + }, + "forecast_expiry_timestamp": { + "type": "date" + }, + "forecast_id": { + "type": "keyword" + }, + "forecast_lower": { + "type": "double" + }, + "forecast_memory_bytes": { + "type": "long" + }, + "forecast_messages": { + "type": "keyword" + }, + "forecast_prediction": { + "type": "double" + }, + "forecast_progress": { + "type": "double" + }, + "forecast_start_timestamp": { + "type": "date" + }, + "forecast_status": { + "type": "keyword" + }, + "forecast_upper": { + "type": "double" + }, + "frequent_category_count": { + "type": "keyword" + }, + "function": { + "type": "keyword" + }, + "function_description": { + "type": "keyword" + }, + "geo_results": { + "properties": { + "actual_point": { + "type": "geo_point" + }, + "typical_point": { + "type": "geo_point" + } + } + }, + "influencer_field_name": { + "type": "keyword" + }, + "influencer_field_value": { + "copy_to": [ + "all_field_values" + ], + "type": "keyword" + }, + "influencer_score": { + "type": "double" + }, + "influencers": { + "properties": { + "influencer_field_name": { + "type": "keyword" + }, + "influencer_field_values": { + "copy_to": [ + "all_field_values" + ], + "type": "keyword" + } + }, + "type": "nested" + }, + "initial_anomaly_score": { + "type": "double" + }, + "initial_influencer_score": { + "type": "double" + }, + "initial_record_score": { + "type": "double" + }, + "input_bytes": { + "type": "long" + }, + "input_field_count": { + "type": "long" + }, + "input_record_count": { + "type": "long" + }, + "invalid_date_count": { + "type": "long" + }, + "is_interim": { + "type": "boolean" + }, + "job_id": { + "copy_to": [ + "all_field_values" + ], + "type": "keyword" + }, + "last_data_time": { + "type": "date" + }, + "latest_empty_bucket_timestamp": { + "type": "date" + }, + "latest_record_time_stamp": { + "type": "date" + }, + "latest_record_timestamp": { + "type": "date" + }, + "latest_result_time_stamp": { + "type": "date" + }, + "latest_sparse_bucket_timestamp": { + "type": "date" + }, + "log_time": { + "type": "date" + }, + "max_matching_length": { + "type": "long" + }, + "maximum_bucket_processing_time_ms": { + "type": "double" + }, + "memory_status": { + "type": "keyword" + }, + "min_version": { + "type": "keyword" + }, + "minimum_bucket_processing_time_ms": { + "type": "double" + }, + "missing_field_count": { + "type": "long" + }, + "mlcategory": { + "type": "keyword" + }, + "model_bytes": { + "type": "long" + }, + "model_bytes_exceeded": { + "type": "keyword" + }, + "model_bytes_memory_limit": { + "type": "keyword" + }, + "model_feature": { + "type": "keyword" + }, + "model_lower": { + "type": "double" + }, + "model_median": { + "type": "double" + }, + "model_size_stats": { + "properties": { + "assignment_memory_basis": { + "type": "keyword" + }, + "bucket_allocation_failures_count": { + "type": "long" + }, + "categorization_status": { + "type": "keyword" + }, + "categorized_doc_count": { + "type": "keyword" + }, + "dead_category_count": { + "type": "keyword" + }, + "failed_category_count": { + "type": "keyword" + }, + "frequent_category_count": { + "type": "keyword" + }, + "job_id": { + "type": "keyword" + }, + "log_time": { + "type": "date" + }, + "memory_status": { + "type": "keyword" + }, + "model_bytes": { + "type": "long" + }, + "model_bytes_exceeded": { + "type": "keyword" + }, + "model_bytes_memory_limit": { + "type": "keyword" + }, + "peak_model_bytes": { + "type": "long" + }, + "rare_category_count": { + "type": "keyword" + }, + "result_type": { + "type": "keyword" + }, + "timestamp": { + "type": "date" + }, + "total_by_field_count": { + "type": "long" + }, + "total_category_count": { + "type": "keyword" + }, + "total_over_field_count": { + "type": "long" + }, + "total_partition_field_count": { + "type": "long" + } + } + }, + "model_upper": { + "type": "double" + }, + "multi_bucket_impact": { + "type": "double" + }, + "num_matches": { + "type": "long" + }, + "out_of_order_timestamp_count": { + "type": "long" + }, + "over_field_name": { + "type": "keyword" + }, + "over_field_value": { + "copy_to": [ + "all_field_values" + ], + "type": "keyword" + }, + "partition_field_name": { + "type": "keyword" + }, + "partition_field_value": { + "copy_to": [ + "all_field_values" + ], + "type": "keyword" + }, + "peak_model_bytes": { + "type": "keyword" + }, + "preferred_to_categories": { + "type": "long" + }, + "probability": { + "type": "double" + }, + "processed_field_count": { + "type": "long" + }, + "processed_record_count": { + "type": "long" + }, + "processing_time_ms": { + "type": "long" + }, + "quantiles": { + "enabled": false, + "type": "object" + }, + "rare_category_count": { + "type": "keyword" + }, + "raw_anomaly_score": { + "type": "double" + }, + "record_score": { + "type": "double" + }, + "regex": { + "type": "keyword" + }, + "result_type": { + "type": "keyword" + }, + "retain": { + "type": "boolean" + }, + "scheduled_events": { + "type": "keyword" + }, + "search_count": { + "type": "long" + }, + "service": { + "properties": { + "name": { + "type": "keyword" + } + } + }, + "snapshot_doc_count": { + "type": "integer" + }, + "snapshot_id": { + "type": "keyword" + }, + "sparse_bucket_count": { + "type": "long" + }, + "terms": { + "type": "text" + }, + "timestamp": { + "type": "date" + }, + "total_by_field_count": { + "type": "long" + }, + "total_category_count": { + "type": "keyword" + }, + "total_over_field_count": { + "type": "long" + }, + "total_partition_field_count": { + "type": "long" + }, + "total_search_time_ms": { + "type": "double" + }, + "transaction": { + "properties": { + "type": { + "type": "keyword" + } + } + }, + "typical": { + "type": "double" + } + } + }, + "settings": { + "index": { + "auto_expand_replicas": "0-1", + "hidden": "true", + "number_of_replicas": "1", + "number_of_shards": "1", + "translog": { + "durability": "async" + } + } + } + } +} + +{ + "type": "index", + "value": { + "aliases": { + }, + "index": ".ml-config", + "mappings": { + "_meta": { + "version": "7.14.0" + }, + "dynamic_templates": [ + { + "strings_as_keywords": { + "mapping": { + "type": "keyword" + }, + "match": "*" + } + } + ], + "properties": { + "aggregations": { + "enabled": false, + "type": "object" + }, + "allow_lazy_open": { + "type": "keyword" + }, + "allow_lazy_start": { + "type": "keyword" + }, + "analysis": { + "properties": { + "classification": { + "properties": { + "alpha": { + "type": "double" + }, + "class_assignment_objective": { + "type": "keyword" + }, + "dependent_variable": { + "type": "keyword" + }, + "downsample_factor": { + "type": "double" + }, + "early_stopping_enabled": { + "type": "boolean" + }, + "eta": { + "type": "double" + }, + "eta_growth_rate_per_tree": { + "type": "double" + }, + "feature_bag_fraction": { + "type": "double" + }, + "feature_processors": { + "enabled": false, + "type": "object" + }, + "gamma": { + "type": "double" + }, + "lambda": { + "type": "double" + }, + "max_optimization_rounds_per_hyperparameter": { + "type": "integer" + }, + "max_trees": { + "type": "integer" + }, + "num_top_classes": { + "type": "integer" + }, + "num_top_feature_importance_values": { + "type": "integer" + }, + "prediction_field_name": { + "type": "keyword" + }, + "randomize_seed": { + "type": "keyword" + }, + "soft_tree_depth_limit": { + "type": "double" + }, + "soft_tree_depth_tolerance": { + "type": "double" + }, + "training_percent": { + "type": "double" + } + } + }, + "outlier_detection": { + "properties": { + "compute_feature_influence": { + "type": "keyword" + }, + "feature_influence_threshold": { + "type": "double" + }, + "method": { + "type": "keyword" + }, + "n_neighbors": { + "type": "integer" + }, + "outlier_fraction": { + "type": "keyword" + }, + "standardization_enabled": { + "type": "keyword" + } + } + }, + "regression": { + "properties": { + "alpha": { + "type": "double" + }, + "dependent_variable": { + "type": "keyword" + }, + "downsample_factor": { + "type": "double" + }, + "early_stopping_enabled": { + "type": "boolean" + }, + "eta": { + "type": "double" + }, + "eta_growth_rate_per_tree": { + "type": "double" + }, + "feature_bag_fraction": { + "type": "double" + }, + "feature_processors": { + "enabled": false, + "type": "object" + }, + "gamma": { + "type": "double" + }, + "lambda": { + "type": "double" + }, + "loss_function": { + "type": "keyword" + }, + "loss_function_parameter": { + "type": "double" + }, + "max_optimization_rounds_per_hyperparameter": { + "type": "integer" + }, + "max_trees": { + "type": "integer" + }, + "num_top_feature_importance_values": { + "type": "integer" + }, + "prediction_field_name": { + "type": "keyword" + }, + "randomize_seed": { + "type": "keyword" + }, + "soft_tree_depth_limit": { + "type": "double" + }, + "soft_tree_depth_tolerance": { + "type": "double" + }, + "training_percent": { + "type": "double" + } + } + } + } + }, + "analysis_config": { + "properties": { + "bucket_span": { + "type": "keyword" + }, + "categorization_analyzer": { + "enabled": false, + "type": "object" + }, + "categorization_field_name": { + "type": "keyword" + }, + "categorization_filters": { + "type": "keyword" + }, + "detectors": { + "properties": { + "by_field_name": { + "type": "keyword" + }, + "custom_rules": { + "properties": { + "actions": { + "type": "keyword" + }, + "conditions": { + "properties": { + "applies_to": { + "type": "keyword" + }, + "operator": { + "type": "keyword" + }, + "value": { + "type": "double" + } + }, + "type": "nested" + }, + "scope": { + "enabled": false, + "type": "object" + } + }, + "type": "nested" + }, + "detector_description": { + "type": "text" + }, + "detector_index": { + "type": "integer" + }, + "exclude_frequent": { + "type": "keyword" + }, + "field_name": { + "type": "keyword" + }, + "function": { + "type": "keyword" + }, + "over_field_name": { + "type": "keyword" + }, + "partition_field_name": { + "type": "keyword" + }, + "use_null": { + "type": "boolean" + } + } + }, + "influencers": { + "type": "keyword" + }, + "latency": { + "type": "keyword" + }, + "multivariate_by_fields": { + "type": "boolean" + }, + "per_partition_categorization": { + "properties": { + "enabled": { + "type": "boolean" + }, + "stop_on_warn": { + "type": "boolean" + } + } + }, + "summary_count_field_name": { + "type": "keyword" + } + } + }, + "analysis_limits": { + "properties": { + "categorization_examples_limit": { + "type": "long" + }, + "model_memory_limit": { + "type": "keyword" + } + } + }, + "analyzed_fields": { + "enabled": false, + "type": "object" + }, + "background_persist_interval": { + "type": "keyword" + }, + "blocked": { + "properties": { + "reason": { + "type": "keyword" + }, + "task_id": { + "type": "keyword" + } + } + }, + "chunking_config": { + "properties": { + "mode": { + "type": "keyword" + }, + "time_span": { + "type": "keyword" + } + } + }, + "config_type": { + "type": "keyword" + }, + "create_time": { + "type": "date" + }, + "custom_settings": { + "enabled": false, + "type": "object" + }, + "daily_model_snapshot_retention_after_days": { + "type": "long" + }, + "data_description": { + "properties": { + "field_delimiter": { + "type": "keyword" + }, + "format": { + "type": "keyword" + }, + "quote_character": { + "type": "keyword" + }, + "time_field": { + "type": "keyword" + }, + "time_format": { + "type": "keyword" + } + } + }, + "datafeed_id": { + "type": "keyword" + }, + "delayed_data_check_config": { + "properties": { + "check_window": { + "type": "keyword" + }, + "enabled": { + "type": "boolean" + } + } + }, + "deleting": { + "type": "keyword" + }, + "description": { + "type": "text" + }, + "dest": { + "properties": { + "index": { + "type": "keyword" + }, + "results_field": { + "type": "keyword" + } + } + }, + "finished_time": { + "type": "date" + }, + "frequency": { + "type": "keyword" + }, + "groups": { + "type": "keyword" + }, + "headers": { + "enabled": false, + "type": "object" + }, + "id": { + "type": "keyword" + }, + "indices": { + "type": "keyword" + }, + "indices_options": { + "enabled": false, + "type": "object" + }, + "job_id": { + "type": "keyword" + }, + "job_type": { + "type": "keyword" + }, + "job_version": { + "type": "keyword" + }, + "max_empty_searches": { + "type": "keyword" + }, + "max_num_threads": { + "type": "integer" + }, + "model_memory_limit": { + "type": "keyword" + }, + "model_plot_config": { + "properties": { + "annotations_enabled": { + "type": "boolean" + }, + "enabled": { + "type": "boolean" + }, + "terms": { + "type": "keyword" + } + } + }, + "model_snapshot_id": { + "type": "keyword" + }, + "model_snapshot_min_version": { + "type": "keyword" + }, + "model_snapshot_retention_days": { + "type": "long" + }, + "query": { + "enabled": false, + "type": "object" + }, + "query_delay": { + "type": "keyword" + }, + "renormalization_window_days": { + "type": "long" + }, + "results_index_name": { + "type": "keyword" + }, + "results_retention_days": { + "type": "long" + }, + "runtime_mappings": { + "enabled": false, + "type": "object" + }, + "script_fields": { + "enabled": false, + "type": "object" + }, + "scroll_size": { + "type": "long" + }, + "source": { + "properties": { + "_source": { + "enabled": false, + "type": "object" + }, + "index": { + "type": "keyword" + }, + "query": { + "enabled": false, + "type": "object" + }, + "runtime_mappings": { + "enabled": false, + "type": "object" + } + } + }, + "version": { + "type": "keyword" + } + } + }, + "settings": { + "index": { + "auto_expand_replicas": "0-1", + "blocks": { + "read_only_allow_delete": "false" + }, + "max_result_window": "10000", + "number_of_replicas": "1", + "number_of_shards": "1" + } + } + } +} + +{ + "type": "index", + "value": { + "aliases": { + "apm-7.14.0-error": { + "is_write_index": true + } + }, + "index": "apm-7.14.0-error-000001", + "mappings": { + "_meta": { + "beat": "apm", + "version": "7.14.0" + }, + "date_detection": false, + "dynamic_templates": [ + { + "labels": { + "mapping": { + "type": "keyword" + }, + "match_mapping_type": "string", + "path_match": "labels.*" + } + }, + { + "container.labels": { + "mapping": { + "type": "keyword" + }, + "match_mapping_type": "string", + "path_match": "container.labels.*" + } + }, + { + "fields": { + "mapping": { + "type": "keyword" + }, + "match_mapping_type": "string", + "path_match": "fields.*" + } + }, + { + "docker.container.labels": { + "mapping": { + "type": "keyword" + }, + "match_mapping_type": "string", + "path_match": "docker.container.labels.*" + } + }, + { + "kubernetes.labels.*": { + "mapping": { + "type": "keyword" + }, + "path_match": "kubernetes.labels.*" + } + }, + { + "kubernetes.annotations.*": { + "mapping": { + "type": "keyword" + }, + "path_match": "kubernetes.annotations.*" + } + }, + { + "kubernetes.selectors.*": { + "mapping": { + "type": "keyword" + }, + "path_match": "kubernetes.selectors.*" + } + }, + { + "labels_string": { + "mapping": { + "type": "keyword" + }, + "match_mapping_type": "string", + "path_match": "labels.*" + } + }, + { + "labels_boolean": { + "mapping": { + "type": "boolean" + }, + "match_mapping_type": "boolean", + "path_match": "labels.*" + } + }, + { + "labels_*": { + "mapping": { + "scaling_factor": 1000000, + "type": "scaled_float" + }, + "path_match": "labels.*" + } + }, + { + "histogram": { + "mapping": { + "type": "histogram" + } + } + }, + { + "transaction.marks": { + "mapping": { + "type": "keyword" + }, + "match_mapping_type": "string", + "path_match": "transaction.marks.*" + } + }, + { + "transaction.marks.*.*": { + "mapping": { + "scaling_factor": 1000000, + "type": "scaled_float" + }, + "path_match": "transaction.marks.*.*" + } + }, + { + "strings_as_keyword": { + "mapping": { + "ignore_above": 1024, + "type": "keyword" + }, + "match_mapping_type": "string" + } + } + ], + "properties": { + "@timestamp": { + "type": "date" + }, + "agent": { + "dynamic": "false", + "properties": { + "build": { + "properties": { + "original": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "ephemeral_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "hostname": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "as": { + "properties": { + "number": { + "type": "long" + }, + "organization": { + "properties": { + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "child": { + "dynamic": "false", + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "client": { + "dynamic": "false", + "properties": { + "address": { + "ignore_above": 1024, + "type": "keyword" + }, + "as": { + "properties": { + "number": { + "type": "long" + }, + "organization": { + "properties": { + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "bytes": { + "type": "long" + }, + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "geo": { + "properties": { + "city_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "location": { + "type": "geo_point" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "postal_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "timezone": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "ip": { + "type": "ip" + }, + "mac": { + "ignore_above": 1024, + "type": "keyword" + }, + "nat": { + "properties": { + "ip": { + "type": "ip" + }, + "port": { + "type": "long" + } + } + }, + "packets": { + "type": "long" + }, + "port": { + "type": "long" + }, + "registered_domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "subdomain": { + "ignore_above": 1024, + "type": "keyword" + }, + "top_level_domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "user": { + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "email": { + "ignore_above": 1024, + "type": "keyword" + }, + "full_name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "group": { + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "hash": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "roles": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "cloud": { + "properties": { + "account": { + "dynamic": "false", + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "availability_zone": { + "ignore_above": 1024, + "type": "keyword" + }, + "image": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "instance": { + "dynamic": "false", + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "machine": { + "dynamic": "false", + "properties": { + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "project": { + "dynamic": "false", + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "provider": { + "ignore_above": 1024, + "type": "keyword" + }, + "region": { + "ignore_above": 1024, + "type": "keyword" + }, + "service": { + "dynamic": "false", + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "code_signature": { + "properties": { + "exists": { + "type": "boolean" + }, + "signing_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "status": { + "ignore_above": 1024, + "type": "keyword" + }, + "subject_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "team_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "trusted": { + "type": "boolean" + }, + "valid": { + "type": "boolean" + } + } + }, + "container": { + "dynamic": "false", + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "image": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "tag": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "labels": { + "type": "object" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "runtime": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "data_stream": { + "properties": { + "dataset": { + "type": "constant_keyword" + }, + "namespace": { + "type": "constant_keyword" + }, + "type": { + "type": "constant_keyword" + } + } + }, + "destination": { + "properties": { + "address": { + "ignore_above": 1024, + "type": "keyword" + }, + "as": { + "properties": { + "number": { + "type": "long" + }, + "organization": { + "properties": { + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "bytes": { + "type": "long" + }, + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "geo": { + "properties": { + "city_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "location": { + "type": "geo_point" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "postal_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "timezone": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "ip": { + "type": "ip" + }, + "mac": { + "ignore_above": 1024, + "type": "keyword" + }, + "nat": { + "properties": { + "ip": { + "type": "ip" + }, + "port": { + "type": "long" + } + } + }, + "packets": { + "type": "long" + }, + "port": { + "type": "long" + }, + "registered_domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "subdomain": { + "ignore_above": 1024, + "type": "keyword" + }, + "top_level_domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "user": { + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "email": { + "ignore_above": 1024, + "type": "keyword" + }, + "full_name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "group": { + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "hash": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "roles": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "dll": { + "properties": { + "code_signature": { + "properties": { + "exists": { + "type": "boolean" + }, + "signing_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "status": { + "ignore_above": 1024, + "type": "keyword" + }, + "subject_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "team_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "trusted": { + "type": "boolean" + }, + "valid": { + "type": "boolean" + } + } + }, + "hash": { + "properties": { + "md5": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha1": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha256": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha512": { + "ignore_above": 1024, + "type": "keyword" + }, + "ssdeep": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "path": { + "ignore_above": 1024, + "type": "keyword" + }, + "pe": { + "properties": { + "architecture": { + "ignore_above": 1024, + "type": "keyword" + }, + "company": { + "ignore_above": 1024, + "type": "keyword" + }, + "description": { + "ignore_above": 1024, + "type": "keyword" + }, + "file_version": { + "ignore_above": 1024, + "type": "keyword" + }, + "imphash": { + "ignore_above": 1024, + "type": "keyword" + }, + "original_file_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "product": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "dns": { + "properties": { + "answers": { + "properties": { + "class": { + "ignore_above": 1024, + "type": "keyword" + }, + "data": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "ttl": { + "type": "long" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "header_flags": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "op_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "question": { + "properties": { + "class": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "registered_domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "subdomain": { + "ignore_above": 1024, + "type": "keyword" + }, + "top_level_domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "resolved_ip": { + "type": "ip" + }, + "response_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "docker": { + "properties": { + "container": { + "properties": { + "labels": { + "type": "object" + } + } + } + } + }, + "ecs": { + "properties": { + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "error": { + "dynamic": "false", + "properties": { + "code": { + "ignore_above": 1024, + "type": "keyword" + }, + "culprit": { + "ignore_above": 1024, + "type": "keyword" + }, + "exception": { + "properties": { + "code": { + "ignore_above": 1024, + "type": "keyword" + }, + "handled": { + "type": "boolean" + }, + "message": { + "norms": false, + "type": "text" + }, + "module": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "grouping_key": { + "ignore_above": 1024, + "type": "keyword" + }, + "grouping_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "log": { + "properties": { + "level": { + "ignore_above": 1024, + "type": "keyword" + }, + "logger_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "message": { + "norms": false, + "type": "text" + }, + "param_message": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "message": { + "norms": false, + "type": "text" + }, + "stack_trace": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "index": false, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "event": { + "properties": { + "action": { + "ignore_above": 1024, + "type": "keyword" + }, + "category": { + "ignore_above": 1024, + "type": "keyword" + }, + "code": { + "ignore_above": 1024, + "type": "keyword" + }, + "created": { + "type": "date" + }, + "dataset": { + "ignore_above": 1024, + "type": "keyword" + }, + "duration": { + "type": "long" + }, + "end": { + "type": "date" + }, + "hash": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "ingested": { + "type": "date" + }, + "kind": { + "ignore_above": 1024, + "type": "keyword" + }, + "module": { + "ignore_above": 1024, + "type": "keyword" + }, + "original": { + "ignore_above": 1024, + "index": false, + "type": "keyword" + }, + "outcome": { + "ignore_above": 1024, + "type": "keyword" + }, + "provider": { + "ignore_above": 1024, + "type": "keyword" + }, + "reason": { + "ignore_above": 1024, + "type": "keyword" + }, + "reference": { + "ignore_above": 1024, + "type": "keyword" + }, + "risk_score": { + "type": "float" + }, + "risk_score_norm": { + "type": "float" + }, + "sequence": { + "type": "long" + }, + "severity": { + "type": "long" + }, + "start": { + "type": "date" + }, + "timezone": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "url": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "experimental": { + "dynamic": "true", + "type": "object" + }, + "fields": { + "type": "object" + }, + "file": { + "properties": { + "accessed": { + "type": "date" + }, + "attributes": { + "ignore_above": 1024, + "type": "keyword" + }, + "code_signature": { + "properties": { + "exists": { + "type": "boolean" + }, + "signing_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "status": { + "ignore_above": 1024, + "type": "keyword" + }, + "subject_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "team_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "trusted": { + "type": "boolean" + }, + "valid": { + "type": "boolean" + } + } + }, + "created": { + "type": "date" + }, + "ctime": { + "type": "date" + }, + "device": { + "ignore_above": 1024, + "type": "keyword" + }, + "directory": { + "ignore_above": 1024, + "type": "keyword" + }, + "drive_letter": { + "ignore_above": 1, + "type": "keyword" + }, + "extension": { + "ignore_above": 1024, + "type": "keyword" + }, + "gid": { + "ignore_above": 1024, + "type": "keyword" + }, + "group": { + "ignore_above": 1024, + "type": "keyword" + }, + "hash": { + "properties": { + "md5": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha1": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha256": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha512": { + "ignore_above": 1024, + "type": "keyword" + }, + "ssdeep": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "inode": { + "ignore_above": 1024, + "type": "keyword" + }, + "mime_type": { + "ignore_above": 1024, + "type": "keyword" + }, + "mode": { + "ignore_above": 1024, + "type": "keyword" + }, + "mtime": { + "type": "date" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "owner": { + "ignore_above": 1024, + "type": "keyword" + }, + "path": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "pe": { + "properties": { + "architecture": { + "ignore_above": 1024, + "type": "keyword" + }, + "company": { + "ignore_above": 1024, + "type": "keyword" + }, + "description": { + "ignore_above": 1024, + "type": "keyword" + }, + "file_version": { + "ignore_above": 1024, + "type": "keyword" + }, + "imphash": { + "ignore_above": 1024, + "type": "keyword" + }, + "original_file_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "product": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "size": { + "type": "long" + }, + "target_path": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "uid": { + "ignore_above": 1024, + "type": "keyword" + }, + "x509": { + "properties": { + "alternative_names": { + "ignore_above": 1024, + "type": "keyword" + }, + "issuer": { + "properties": { + "common_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country": { + "ignore_above": 1024, + "type": "keyword" + }, + "distinguished_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "locality": { + "ignore_above": 1024, + "type": "keyword" + }, + "organization": { + "ignore_above": 1024, + "type": "keyword" + }, + "organizational_unit": { + "ignore_above": 1024, + "type": "keyword" + }, + "state_or_province": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "not_after": { + "type": "date" + }, + "not_before": { + "type": "date" + }, + "public_key_algorithm": { + "ignore_above": 1024, + "type": "keyword" + }, + "public_key_curve": { + "ignore_above": 1024, + "type": "keyword" + }, + "public_key_exponent": { + "index": false, + "type": "long" + }, + "public_key_size": { + "type": "long" + }, + "serial_number": { + "ignore_above": 1024, + "type": "keyword" + }, + "signature_algorithm": { + "ignore_above": 1024, + "type": "keyword" + }, + "subject": { + "properties": { + "common_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country": { + "ignore_above": 1024, + "type": "keyword" + }, + "distinguished_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "locality": { + "ignore_above": 1024, + "type": "keyword" + }, + "organization": { + "ignore_above": 1024, + "type": "keyword" + }, + "organizational_unit": { + "ignore_above": 1024, + "type": "keyword" + }, + "state_or_province": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "version_number": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "geo": { + "properties": { + "city_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "location": { + "type": "geo_point" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "postal_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "timezone": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "group": { + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "hash": { + "properties": { + "md5": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha1": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha256": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha512": { + "ignore_above": 1024, + "type": "keyword" + }, + "ssdeep": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "host": { + "dynamic": "false", + "properties": { + "architecture": { + "ignore_above": 1024, + "type": "keyword" + }, + "containerized": { + "type": "boolean" + }, + "cpu": { + "properties": { + "usage": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + }, + "disk": { + "properties": { + "read": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "write": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + }, + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "geo": { + "properties": { + "city_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "location": { + "type": "geo_point" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "postal_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "timezone": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "hostname": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "ip": { + "type": "ip" + }, + "mac": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "network": { + "properties": { + "egress": { + "properties": { + "bytes": { + "type": "long" + }, + "packets": { + "type": "long" + } + } + }, + "ingress": { + "properties": { + "bytes": { + "type": "long" + }, + "packets": { + "type": "long" + } + } + } + } + }, + "os": { + "properties": { + "build": { + "ignore_above": 1024, + "type": "keyword" + }, + "codename": { + "ignore_above": 1024, + "type": "keyword" + }, + "family": { + "ignore_above": 1024, + "type": "keyword" + }, + "full": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "kernel": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "platform": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "uptime": { + "type": "long" + }, + "user": { + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "email": { + "ignore_above": 1024, + "type": "keyword" + }, + "full_name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "group": { + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "hash": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "roles": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "http": { + "dynamic": "false", + "properties": { + "request": { + "properties": { + "body": { + "properties": { + "bytes": { + "type": "long" + }, + "content": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "bytes": { + "type": "long" + }, + "headers": { + "enabled": false, + "type": "object" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "method": { + "ignore_above": 1024, + "type": "keyword" + }, + "mime_type": { + "ignore_above": 1024, + "type": "keyword" + }, + "referrer": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "response": { + "properties": { + "body": { + "properties": { + "bytes": { + "type": "long" + }, + "content": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "bytes": { + "type": "long" + }, + "finished": { + "type": "boolean" + }, + "headers": { + "enabled": false, + "type": "object" + }, + "mime_type": { + "ignore_above": 1024, + "type": "keyword" + }, + "status_code": { + "type": "long" + } + } + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "interface": { + "properties": { + "alias": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "kubernetes": { + "dynamic": "false", + "properties": { + "annotations": { + "properties": { + "*": { + "type": "object" + } + } + }, + "container": { + "properties": { + "image": { + "path": "container.image.name", + "type": "alias" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "deployment": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "labels": { + "properties": { + "*": { + "type": "object" + } + } + }, + "namespace": { + "ignore_above": 1024, + "type": "keyword" + }, + "node": { + "properties": { + "hostname": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "pod": { + "properties": { + "ip": { + "type": "ip" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "uid": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "replicaset": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "selectors": { + "properties": { + "*": { + "type": "object" + } + } + }, + "statefulset": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "labels": { + "dynamic": "true", + "properties": { + "company": { + "type": "keyword" + }, + "customer_tier": { + "type": "keyword" + }, + "foo": { + "type": "keyword" + }, + "lorem": { + "type": "keyword" + }, + "multi-line": { + "type": "keyword" + }, + "request_id": { + "type": "keyword" + }, + "this-is-a-very-long-tag-name-without-any-spaces": { + "type": "keyword" + } + } + }, + "log": { + "properties": { + "file": { + "properties": { + "path": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "level": { + "ignore_above": 1024, + "type": "keyword" + }, + "logger": { + "ignore_above": 1024, + "type": "keyword" + }, + "origin": { + "properties": { + "file": { + "properties": { + "line": { + "type": "long" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "function": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "original": { + "ignore_above": 1024, + "index": false, + "type": "keyword" + }, + "syslog": { + "properties": { + "facility": { + "properties": { + "code": { + "type": "long" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "priority": { + "type": "long" + }, + "severity": { + "properties": { + "code": { + "type": "long" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + } + } + }, + "message": { + "norms": false, + "type": "text" + }, + "metricset": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "period": { + "meta": { + "unit": "ms" + }, + "type": "long" + } + } + }, + "network": { + "dynamic": "false", + "properties": { + "application": { + "ignore_above": 1024, + "type": "keyword" + }, + "bytes": { + "type": "long" + }, + "carrier": { + "properties": { + "icc": { + "ignore_above": 1024, + "type": "keyword" + }, + "mcc": { + "ignore_above": 1024, + "type": "keyword" + }, + "mnc": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "community_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "connection_type": { + "ignore_above": 1024, + "type": "keyword" + }, + "direction": { + "ignore_above": 1024, + "type": "keyword" + }, + "forwarded_ip": { + "type": "ip" + }, + "iana_number": { + "ignore_above": 1024, + "type": "keyword" + }, + "inner": { + "properties": { + "vlan": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "packets": { + "type": "long" + }, + "protocol": { + "ignore_above": 1024, + "type": "keyword" + }, + "transport": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "vlan": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "observer": { + "dynamic": "false", + "properties": { + "egress": { + "properties": { + "interface": { + "properties": { + "alias": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "vlan": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "zone": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "geo": { + "properties": { + "city_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "location": { + "type": "geo_point" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "postal_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "timezone": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "hostname": { + "ignore_above": 1024, + "type": "keyword" + }, + "ingress": { + "properties": { + "interface": { + "properties": { + "alias": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "vlan": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "zone": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "ip": { + "type": "ip" + }, + "listening": { + "ignore_above": 1024, + "type": "keyword" + }, + "mac": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "os": { + "properties": { + "family": { + "ignore_above": 1024, + "type": "keyword" + }, + "full": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "kernel": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "platform": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "product": { + "ignore_above": 1024, + "type": "keyword" + }, + "serial_number": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "vendor": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + }, + "version_major": { + "type": "byte" + } + } + }, + "orchestrator": { + "properties": { + "api_version": { + "ignore_above": 1024, + "type": "keyword" + }, + "cluster": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "url": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "namespace": { + "ignore_above": 1024, + "type": "keyword" + }, + "organization": { + "ignore_above": 1024, + "type": "keyword" + }, + "resource": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "organization": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "os": { + "properties": { + "family": { + "ignore_above": 1024, + "type": "keyword" + }, + "full": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "kernel": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "platform": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "package": { + "properties": { + "architecture": { + "ignore_above": 1024, + "type": "keyword" + }, + "build_version": { + "ignore_above": 1024, + "type": "keyword" + }, + "checksum": { + "ignore_above": 1024, + "type": "keyword" + }, + "description": { + "ignore_above": 1024, + "type": "keyword" + }, + "install_scope": { + "ignore_above": 1024, + "type": "keyword" + }, + "installed": { + "type": "date" + }, + "license": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "path": { + "ignore_above": 1024, + "type": "keyword" + }, + "reference": { + "ignore_above": 1024, + "type": "keyword" + }, + "size": { + "type": "long" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "parent": { + "dynamic": "false", + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "pe": { + "properties": { + "architecture": { + "ignore_above": 1024, + "type": "keyword" + }, + "company": { + "ignore_above": 1024, + "type": "keyword" + }, + "description": { + "ignore_above": 1024, + "type": "keyword" + }, + "file_version": { + "ignore_above": 1024, + "type": "keyword" + }, + "imphash": { + "ignore_above": 1024, + "type": "keyword" + }, + "original_file_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "product": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "process": { + "dynamic": "false", + "properties": { + "args": { + "ignore_above": 1024, + "type": "keyword" + }, + "args_count": { + "type": "long" + }, + "code_signature": { + "properties": { + "exists": { + "type": "boolean" + }, + "signing_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "status": { + "ignore_above": 1024, + "type": "keyword" + }, + "subject_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "team_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "trusted": { + "type": "boolean" + }, + "valid": { + "type": "boolean" + } + } + }, + "command_line": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "entity_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "executable": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "exit_code": { + "type": "long" + }, + "hash": { + "properties": { + "md5": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha1": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha256": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha512": { + "ignore_above": 1024, + "type": "keyword" + }, + "ssdeep": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "parent": { + "properties": { + "args": { + "ignore_above": 1024, + "type": "keyword" + }, + "args_count": { + "type": "long" + }, + "code_signature": { + "properties": { + "exists": { + "type": "boolean" + }, + "signing_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "status": { + "ignore_above": 1024, + "type": "keyword" + }, + "subject_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "team_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "trusted": { + "type": "boolean" + }, + "valid": { + "type": "boolean" + } + } + }, + "command_line": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "entity_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "executable": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "exit_code": { + "type": "long" + }, + "hash": { + "properties": { + "md5": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha1": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha256": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha512": { + "ignore_above": 1024, + "type": "keyword" + }, + "ssdeep": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "pe": { + "properties": { + "architecture": { + "ignore_above": 1024, + "type": "keyword" + }, + "company": { + "ignore_above": 1024, + "type": "keyword" + }, + "description": { + "ignore_above": 1024, + "type": "keyword" + }, + "file_version": { + "ignore_above": 1024, + "type": "keyword" + }, + "imphash": { + "ignore_above": 1024, + "type": "keyword" + }, + "original_file_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "product": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "pgid": { + "type": "long" + }, + "pid": { + "type": "long" + }, + "ppid": { + "type": "long" + }, + "start": { + "type": "date" + }, + "thread": { + "properties": { + "id": { + "type": "long" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "title": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "uptime": { + "type": "long" + }, + "working_directory": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "pe": { + "properties": { + "architecture": { + "ignore_above": 1024, + "type": "keyword" + }, + "company": { + "ignore_above": 1024, + "type": "keyword" + }, + "description": { + "ignore_above": 1024, + "type": "keyword" + }, + "file_version": { + "ignore_above": 1024, + "type": "keyword" + }, + "imphash": { + "ignore_above": 1024, + "type": "keyword" + }, + "original_file_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "product": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "pgid": { + "type": "long" + }, + "pid": { + "type": "long" + }, + "ppid": { + "type": "long" + }, + "start": { + "type": "date" + }, + "thread": { + "properties": { + "id": { + "type": "long" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "title": { + "ignore_above": 1024, + "type": "keyword" + }, + "uptime": { + "type": "long" + }, + "working_directory": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "processor": { + "properties": { + "event": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "profile": { + "dynamic": "false", + "properties": { + "alloc_objects": { + "properties": { + "count": { + "type": "long" + } + } + }, + "alloc_space": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "cpu": { + "properties": { + "ns": { + "meta": { + "unit": "nanos" + }, + "type": "long" + } + } + }, + "duration": { + "meta": { + "unit": "nanos" + }, + "type": "long" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "inuse_objects": { + "properties": { + "count": { + "type": "long" + } + } + }, + "inuse_space": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "samples": { + "properties": { + "count": { + "type": "long" + } + } + }, + "stack": { + "dynamic": "false", + "properties": { + "filename": { + "ignore_above": 1024, + "type": "keyword" + }, + "function": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "line": { + "type": "long" + } + } + }, + "top": { + "dynamic": "false", + "properties": { + "filename": { + "ignore_above": 1024, + "type": "keyword" + }, + "function": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "line": { + "type": "long" + } + } + }, + "wall": { + "properties": { + "us": { + "meta": { + "unit": "micros" + }, + "type": "long" + } + } + } + } + }, + "registry": { + "properties": { + "data": { + "properties": { + "bytes": { + "ignore_above": 1024, + "type": "keyword" + }, + "strings": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "hive": { + "ignore_above": 1024, + "type": "keyword" + }, + "key": { + "ignore_above": 1024, + "type": "keyword" + }, + "path": { + "ignore_above": 1024, + "type": "keyword" + }, + "value": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "related": { + "properties": { + "hash": { + "ignore_above": 1024, + "type": "keyword" + }, + "hosts": { + "ignore_above": 1024, + "type": "keyword" + }, + "ip": { + "type": "ip" + }, + "user": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "rule": { + "properties": { + "author": { + "ignore_above": 1024, + "type": "keyword" + }, + "category": { + "ignore_above": 1024, + "type": "keyword" + }, + "description": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "license": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "reference": { + "ignore_above": 1024, + "type": "keyword" + }, + "ruleset": { + "ignore_above": 1024, + "type": "keyword" + }, + "uuid": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "server": { + "properties": { + "address": { + "ignore_above": 1024, + "type": "keyword" + }, + "as": { + "properties": { + "number": { + "type": "long" + }, + "organization": { + "properties": { + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "bytes": { + "type": "long" + }, + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "geo": { + "properties": { + "city_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "location": { + "type": "geo_point" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "postal_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "timezone": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "ip": { + "type": "ip" + }, + "mac": { + "ignore_above": 1024, + "type": "keyword" + }, + "nat": { + "properties": { + "ip": { + "type": "ip" + }, + "port": { + "type": "long" + } + } + }, + "packets": { + "type": "long" + }, + "port": { + "type": "long" + }, + "registered_domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "subdomain": { + "ignore_above": 1024, + "type": "keyword" + }, + "top_level_domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "user": { + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "email": { + "ignore_above": 1024, + "type": "keyword" + }, + "full_name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "group": { + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "hash": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "roles": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "service": { + "dynamic": "false", + "properties": { + "environment": { + "ignore_above": 1024, + "type": "keyword" + }, + "ephemeral_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "framework": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "language": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "node": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "runtime": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "state": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "session": { + "dynamic": "false", + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "sequence": { + "type": "long" + } + } + }, + "source": { + "dynamic": "false", + "properties": { + "address": { + "ignore_above": 1024, + "type": "keyword" + }, + "as": { + "properties": { + "number": { + "type": "long" + }, + "organization": { + "properties": { + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "bytes": { + "type": "long" + }, + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "geo": { + "properties": { + "city_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "location": { + "type": "geo_point" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "postal_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "timezone": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "ip": { + "type": "ip" + }, + "mac": { + "ignore_above": 1024, + "type": "keyword" + }, + "nat": { + "properties": { + "ip": { + "type": "ip" + }, + "port": { + "type": "long" + } + } + }, + "packets": { + "type": "long" + }, + "port": { + "type": "long" + }, + "registered_domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "subdomain": { + "ignore_above": 1024, + "type": "keyword" + }, + "top_level_domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "user": { + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "email": { + "ignore_above": 1024, + "type": "keyword" + }, + "full_name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "group": { + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "hash": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "roles": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "sourcemap": { + "dynamic": "false", + "properties": { + "bundle_filepath": { + "ignore_above": 1024, + "type": "keyword" + }, + "service": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "span": { + "dynamic": "false", + "properties": { + "action": { + "ignore_above": 1024, + "type": "keyword" + }, + "db": { + "dynamic": "false", + "properties": { + "link": { + "ignore_above": 1024, + "type": "keyword" + }, + "rows_affected": { + "type": "long" + } + } + }, + "destination": { + "dynamic": "false", + "properties": { + "service": { + "dynamic": "false", + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "resource": { + "ignore_above": 1024, + "type": "keyword" + }, + "response_time": { + "properties": { + "count": { + "type": "long" + }, + "sum": { + "properties": { + "us": { + "meta": { + "unit": "micros" + }, + "type": "long" + } + } + } + } + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "duration": { + "properties": { + "us": { + "type": "long" + } + } + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "message": { + "dynamic": "false", + "properties": { + "age": { + "properties": { + "ms": { + "type": "long" + } + } + }, + "queue": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "self_time": { + "properties": { + "count": { + "type": "long" + }, + "sum": { + "properties": { + "us": { + "meta": { + "unit": "micros" + }, + "type": "long" + } + } + } + } + }, + "start": { + "properties": { + "us": { + "type": "long" + } + } + }, + "subtype": { + "ignore_above": 1024, + "type": "keyword" + }, + "sync": { + "type": "boolean" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "system": { + "properties": { + "cpu": { + "properties": { + "total": { + "properties": { + "norm": { + "properties": { + "pct": { + "meta": { + "metric_type": "gauge", + "unit": "percent" + }, + "scaling_factor": 1000, + "type": "scaled_float" + } + } + } + } + } + } + }, + "memory": { + "properties": { + "actual": { + "properties": { + "free": { + "meta": { + "metric_type": "gauge", + "unit": "byte" + }, + "type": "long" + } + } + }, + "total": { + "meta": { + "metric_type": "gauge", + "unit": "byte" + }, + "type": "long" + } + } + }, + "process": { + "properties": { + "cgroup": { + "properties": { + "cpu": { + "properties": { + "cfs": { + "properties": { + "period": { + "properties": { + "us": { + "meta": { + "metric_type": "gauge", + "unit": "micros" + }, + "type": "long" + } + } + }, + "quota": { + "properties": { + "us": { + "meta": { + "metric_type": "gauge", + "unit": "micros" + }, + "type": "long" + } + } + } + } + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "stats": { + "properties": { + "periods": { + "meta": { + "metric_type": "counter" + }, + "type": "long" + }, + "throttled": { + "properties": { + "ns": { + "meta": { + "metric_type": "counter", + "unit": "nanos" + }, + "type": "long" + }, + "periods": { + "meta": { + "metric_type": "counter" + }, + "type": "long" + } + } + } + } + } + } + }, + "cpuacct": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "total": { + "properties": { + "ns": { + "meta": { + "metric_type": "counter", + "unit": "nanos" + }, + "type": "long" + } + } + } + } + }, + "memory": { + "properties": { + "mem": { + "properties": { + "limit": { + "properties": { + "bytes": { + "meta": { + "metric_type": "gauge", + "unit": "byte" + }, + "type": "long" + } + } + }, + "usage": { + "properties": { + "bytes": { + "meta": { + "metric_type": "gauge", + "unit": "byte" + }, + "type": "long" + } + } + } + } + } + } + } + } + }, + "cpu": { + "properties": { + "total": { + "properties": { + "norm": { + "properties": { + "pct": { + "meta": { + "metric_type": "gauge", + "unit": "percent" + }, + "scaling_factor": 1000, + "type": "scaled_float" + } + } + } + } + } + } + }, + "memory": { + "properties": { + "rss": { + "properties": { + "bytes": { + "meta": { + "metric_type": "gauge", + "unit": "byte" + }, + "type": "long" + } + } + }, + "size": { + "meta": { + "metric_type": "gauge", + "unit": "byte" + }, + "type": "long" + } + } + } + } + } + } + }, + "tags": { + "ignore_above": 1024, + "type": "keyword" + }, + "threat": { + "properties": { + "framework": { + "ignore_above": 1024, + "type": "keyword" + }, + "tactic": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "reference": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "technique": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "reference": { + "ignore_above": 1024, + "type": "keyword" + }, + "subtechnique": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "reference": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + } + } + }, + "timeseries": { + "properties": { + "instance": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "timestamp": { + "properties": { + "us": { + "type": "long" + } + } + }, + "tls": { + "properties": { + "cipher": { + "ignore_above": 1024, + "type": "keyword" + }, + "client": { + "properties": { + "certificate": { + "ignore_above": 1024, + "type": "keyword" + }, + "certificate_chain": { + "ignore_above": 1024, + "type": "keyword" + }, + "hash": { + "properties": { + "md5": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha1": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha256": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "issuer": { + "ignore_above": 1024, + "type": "keyword" + }, + "ja3": { + "ignore_above": 1024, + "type": "keyword" + }, + "not_after": { + "type": "date" + }, + "not_before": { + "type": "date" + }, + "server_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "subject": { + "ignore_above": 1024, + "type": "keyword" + }, + "supported_ciphers": { + "ignore_above": 1024, + "type": "keyword" + }, + "x509": { + "properties": { + "alternative_names": { + "ignore_above": 1024, + "type": "keyword" + }, + "issuer": { + "properties": { + "common_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country": { + "ignore_above": 1024, + "type": "keyword" + }, + "distinguished_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "locality": { + "ignore_above": 1024, + "type": "keyword" + }, + "organization": { + "ignore_above": 1024, + "type": "keyword" + }, + "organizational_unit": { + "ignore_above": 1024, + "type": "keyword" + }, + "state_or_province": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "not_after": { + "type": "date" + }, + "not_before": { + "type": "date" + }, + "public_key_algorithm": { + "ignore_above": 1024, + "type": "keyword" + }, + "public_key_curve": { + "ignore_above": 1024, + "type": "keyword" + }, + "public_key_exponent": { + "index": false, + "type": "long" + }, + "public_key_size": { + "type": "long" + }, + "serial_number": { + "ignore_above": 1024, + "type": "keyword" + }, + "signature_algorithm": { + "ignore_above": 1024, + "type": "keyword" + }, + "subject": { + "properties": { + "common_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country": { + "ignore_above": 1024, + "type": "keyword" + }, + "distinguished_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "locality": { + "ignore_above": 1024, + "type": "keyword" + }, + "organization": { + "ignore_above": 1024, + "type": "keyword" + }, + "organizational_unit": { + "ignore_above": 1024, + "type": "keyword" + }, + "state_or_province": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "version_number": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "curve": { + "ignore_above": 1024, + "type": "keyword" + }, + "established": { + "type": "boolean" + }, + "next_protocol": { + "ignore_above": 1024, + "type": "keyword" + }, + "resumed": { + "type": "boolean" + }, + "server": { + "properties": { + "certificate": { + "ignore_above": 1024, + "type": "keyword" + }, + "certificate_chain": { + "ignore_above": 1024, + "type": "keyword" + }, + "hash": { + "properties": { + "md5": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha1": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha256": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "issuer": { + "ignore_above": 1024, + "type": "keyword" + }, + "ja3s": { + "ignore_above": 1024, + "type": "keyword" + }, + "not_after": { + "type": "date" + }, + "not_before": { + "type": "date" + }, + "subject": { + "ignore_above": 1024, + "type": "keyword" + }, + "x509": { + "properties": { + "alternative_names": { + "ignore_above": 1024, + "type": "keyword" + }, + "issuer": { + "properties": { + "common_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country": { + "ignore_above": 1024, + "type": "keyword" + }, + "distinguished_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "locality": { + "ignore_above": 1024, + "type": "keyword" + }, + "organization": { + "ignore_above": 1024, + "type": "keyword" + }, + "organizational_unit": { + "ignore_above": 1024, + "type": "keyword" + }, + "state_or_province": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "not_after": { + "type": "date" + }, + "not_before": { + "type": "date" + }, + "public_key_algorithm": { + "ignore_above": 1024, + "type": "keyword" + }, + "public_key_curve": { + "ignore_above": 1024, + "type": "keyword" + }, + "public_key_exponent": { + "index": false, + "type": "long" + }, + "public_key_size": { + "type": "long" + }, + "serial_number": { + "ignore_above": 1024, + "type": "keyword" + }, + "signature_algorithm": { + "ignore_above": 1024, + "type": "keyword" + }, + "subject": { + "properties": { + "common_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country": { + "ignore_above": 1024, + "type": "keyword" + }, + "distinguished_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "locality": { + "ignore_above": 1024, + "type": "keyword" + }, + "organization": { + "ignore_above": 1024, + "type": "keyword" + }, + "organizational_unit": { + "ignore_above": 1024, + "type": "keyword" + }, + "state_or_province": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "version_number": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + }, + "version_protocol": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "trace": { + "dynamic": "false", + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "transaction": { + "dynamic": "false", + "properties": { + "breakdown": { + "properties": { + "count": { + "type": "long" + } + } + }, + "duration": { + "properties": { + "count": { + "type": "long" + }, + "histogram": { + "type": "histogram" + }, + "sum": { + "properties": { + "us": { + "meta": { + "unit": "micros" + }, + "type": "long" + } + } + }, + "us": { + "type": "long" + } + } + }, + "experience": { + "properties": { + "cls": { + "scaling_factor": 1000000, + "type": "scaled_float" + }, + "fid": { + "scaling_factor": 1000000, + "type": "scaled_float" + }, + "longtask": { + "properties": { + "count": { + "type": "long" + }, + "max": { + "scaling_factor": 1000000, + "type": "scaled_float" + }, + "sum": { + "scaling_factor": 1000000, + "type": "scaled_float" + } + } + }, + "tbt": { + "scaling_factor": 1000000, + "type": "scaled_float" + } + } + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "marks": { + "dynamic": "true", + "properties": { + "*": { + "properties": { + "*": { + "dynamic": "true", + "type": "object" + } + } + } + } + }, + "message": { + "dynamic": "false", + "properties": { + "age": { + "properties": { + "ms": { + "type": "long" + } + } + }, + "queue": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "result": { + "ignore_above": 1024, + "type": "keyword" + }, + "root": { + "type": "boolean" + }, + "sampled": { + "type": "boolean" + }, + "self_time": { + "properties": { + "count": { + "type": "long" + }, + "sum": { + "properties": { + "us": { + "meta": { + "unit": "micros" + }, + "type": "long" + } + } + } + } + }, + "span_count": { + "properties": { + "dropped": { + "type": "long" + } + } + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "url": { + "dynamic": "false", + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "extension": { + "ignore_above": 1024, + "type": "keyword" + }, + "fragment": { + "ignore_above": 1024, + "type": "keyword" + }, + "full": { + "ignore_above": 1024, + "type": "keyword" + }, + "original": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "password": { + "ignore_above": 1024, + "type": "keyword" + }, + "path": { + "ignore_above": 1024, + "type": "keyword" + }, + "port": { + "type": "long" + }, + "query": { + "ignore_above": 1024, + "type": "keyword" + }, + "registered_domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "scheme": { + "ignore_above": 1024, + "type": "keyword" + }, + "subdomain": { + "ignore_above": 1024, + "type": "keyword" + }, + "top_level_domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "username": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "user": { + "dynamic": "false", + "properties": { + "changes": { + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "email": { + "ignore_above": 1024, + "type": "keyword" + }, + "full_name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "group": { + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "hash": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "roles": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "effective": { + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "email": { + "ignore_above": 1024, + "type": "keyword" + }, + "full_name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "group": { + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "hash": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "roles": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "email": { + "ignore_above": 1024, + "type": "keyword" + }, + "full_name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "group": { + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "hash": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "roles": { + "ignore_above": 1024, + "type": "keyword" + }, + "target": { + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "email": { + "ignore_above": 1024, + "type": "keyword" + }, + "full_name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "group": { + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "hash": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "roles": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "user_agent": { + "dynamic": "false", + "properties": { + "device": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "original": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "os": { + "properties": { + "family": { + "ignore_above": 1024, + "type": "keyword" + }, + "full": { + "ignore_above": 1024, + "type": "keyword" + }, + "kernel": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "platform": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "vlan": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "vulnerability": { + "properties": { + "category": { + "ignore_above": 1024, + "type": "keyword" + }, + "classification": { + "ignore_above": 1024, + "type": "keyword" + }, + "description": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "enumeration": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "reference": { + "ignore_above": 1024, + "type": "keyword" + }, + "report_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "scanner": { + "properties": { + "vendor": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "score": { + "properties": { + "base": { + "type": "float" + }, + "environmental": { + "type": "float" + }, + "temporal": { + "type": "float" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "severity": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "x509": { + "properties": { + "alternative_names": { + "ignore_above": 1024, + "type": "keyword" + }, + "issuer": { + "properties": { + "common_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country": { + "ignore_above": 1024, + "type": "keyword" + }, + "distinguished_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "locality": { + "ignore_above": 1024, + "type": "keyword" + }, + "organization": { + "ignore_above": 1024, + "type": "keyword" + }, + "organizational_unit": { + "ignore_above": 1024, + "type": "keyword" + }, + "state_or_province": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "not_after": { + "type": "date" + }, + "not_before": { + "type": "date" + }, + "public_key_algorithm": { + "ignore_above": 1024, + "type": "keyword" + }, + "public_key_curve": { + "ignore_above": 1024, + "type": "keyword" + }, + "public_key_exponent": { + "index": false, + "type": "long" + }, + "public_key_size": { + "type": "long" + }, + "serial_number": { + "ignore_above": 1024, + "type": "keyword" + }, + "signature_algorithm": { + "ignore_above": 1024, + "type": "keyword" + }, + "subject": { + "properties": { + "common_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country": { + "ignore_above": 1024, + "type": "keyword" + }, + "distinguished_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "locality": { + "ignore_above": 1024, + "type": "keyword" + }, + "organization": { + "ignore_above": 1024, + "type": "keyword" + }, + "organizational_unit": { + "ignore_above": 1024, + "type": "keyword" + }, + "state_or_province": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "version_number": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "settings": { + "index": { + "auto_expand_replicas": "0-1", + "blocks": { + "read_only_allow_delete": "false" + }, + "codec": "best_compression", + "lifecycle": { + "name": "apm-rollover-30-days", + "rollover_alias": "apm-7.14.0-error" + }, + "mapping": { + "total_fields": { + "limit": "2000" + } + }, + "max_docvalue_fields_search": "200", + "number_of_replicas": "1", + "number_of_shards": "1", + "priority": "100", + "refresh_interval": "5s" + } + } + } +} + +{ + "type": "index", + "value": { + "aliases": { + "apm-7.14.0-metric": { + "is_write_index": true + } + }, + "index": "apm-7.14.0-metric-000001", + "mappings": { + "_meta": { + "beat": "apm", + "version": "7.14.0" + }, + "date_detection": false, + "dynamic_templates": [ + { + "labels": { + "mapping": { + "type": "keyword" + }, + "match_mapping_type": "string", + "path_match": "labels.*" + } + }, + { + "container.labels": { + "mapping": { + "type": "keyword" + }, + "match_mapping_type": "string", + "path_match": "container.labels.*" + } + }, + { + "fields": { + "mapping": { + "type": "keyword" + }, + "match_mapping_type": "string", + "path_match": "fields.*" + } + }, + { + "docker.container.labels": { + "mapping": { + "type": "keyword" + }, + "match_mapping_type": "string", + "path_match": "docker.container.labels.*" + } + }, + { + "kubernetes.labels.*": { + "mapping": { + "type": "keyword" + }, + "path_match": "kubernetes.labels.*" + } + }, + { + "kubernetes.annotations.*": { + "mapping": { + "type": "keyword" + }, + "path_match": "kubernetes.annotations.*" + } + }, + { + "kubernetes.selectors.*": { + "mapping": { + "type": "keyword" + }, + "path_match": "kubernetes.selectors.*" + } + }, + { + "labels_string": { + "mapping": { + "type": "keyword" + }, + "match_mapping_type": "string", + "path_match": "labels.*" + } + }, + { + "labels_boolean": { + "mapping": { + "type": "boolean" + }, + "match_mapping_type": "boolean", + "path_match": "labels.*" + } + }, + { + "labels_*": { + "mapping": { + "scaling_factor": 1000000, + "type": "scaled_float" + }, + "path_match": "labels.*" + } + }, + { + "histogram": { + "mapping": { + "type": "histogram" + } + } + }, + { + "transaction.marks": { + "mapping": { + "type": "keyword" + }, + "match_mapping_type": "string", + "path_match": "transaction.marks.*" + } + }, + { + "transaction.marks.*.*": { + "mapping": { + "scaling_factor": 1000000, + "type": "scaled_float" + }, + "path_match": "transaction.marks.*.*" + } + }, + { + "strings_as_keyword": { + "mapping": { + "ignore_above": 1024, + "type": "keyword" + }, + "match_mapping_type": "string" + } + } + ], + "properties": { + "@timestamp": { + "type": "date" + }, + "agent": { + "dynamic": "false", + "properties": { + "build": { + "properties": { + "original": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "ephemeral_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "hostname": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "agent_config_applied": { + "type": "long" + }, + "as": { + "properties": { + "number": { + "type": "long" + }, + "organization": { + "properties": { + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "child": { + "dynamic": "false", + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "client": { + "dynamic": "false", + "properties": { + "address": { + "ignore_above": 1024, + "type": "keyword" + }, + "as": { + "properties": { + "number": { + "type": "long" + }, + "organization": { + "properties": { + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "bytes": { + "type": "long" + }, + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "geo": { + "properties": { + "city_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "location": { + "type": "geo_point" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "postal_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "timezone": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "ip": { + "type": "ip" + }, + "mac": { + "ignore_above": 1024, + "type": "keyword" + }, + "nat": { + "properties": { + "ip": { + "type": "ip" + }, + "port": { + "type": "long" + } + } + }, + "packets": { + "type": "long" + }, + "port": { + "type": "long" + }, + "registered_domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "subdomain": { + "ignore_above": 1024, + "type": "keyword" + }, + "top_level_domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "user": { + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "email": { + "ignore_above": 1024, + "type": "keyword" + }, + "full_name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "group": { + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "hash": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "roles": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "cloud": { + "properties": { + "account": { + "dynamic": "false", + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "availability_zone": { + "ignore_above": 1024, + "type": "keyword" + }, + "image": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "instance": { + "dynamic": "false", + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "machine": { + "dynamic": "false", + "properties": { + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "project": { + "dynamic": "false", + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "provider": { + "ignore_above": 1024, + "type": "keyword" + }, + "region": { + "ignore_above": 1024, + "type": "keyword" + }, + "service": { + "dynamic": "false", + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "clr": { + "properties": { + "gc": { + "properties": { + "count": { + "type": "long" + }, + "gen0size": { + "type": "long" + }, + "gen1size": { + "type": "float" + }, + "gen2size": { + "type": "long" + }, + "gen3size": { + "type": "float" + }, + "time": { + "type": "float" + } + } + } + } + }, + "code_signature": { + "properties": { + "exists": { + "type": "boolean" + }, + "signing_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "status": { + "ignore_above": 1024, + "type": "keyword" + }, + "subject_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "team_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "trusted": { + "type": "boolean" + }, + "valid": { + "type": "boolean" + } + } + }, + "container": { + "dynamic": "false", + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "image": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "tag": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "labels": { + "type": "object" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "runtime": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "data_stream": { + "properties": { + "dataset": { + "type": "constant_keyword" + }, + "namespace": { + "type": "constant_keyword" + }, + "type": { + "type": "constant_keyword" + } + } + }, + "destination": { + "properties": { + "address": { + "ignore_above": 1024, + "type": "keyword" + }, + "as": { + "properties": { + "number": { + "type": "long" + }, + "organization": { + "properties": { + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "bytes": { + "type": "long" + }, + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "geo": { + "properties": { + "city_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "location": { + "type": "geo_point" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "postal_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "timezone": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "ip": { + "type": "ip" + }, + "mac": { + "ignore_above": 1024, + "type": "keyword" + }, + "nat": { + "properties": { + "ip": { + "type": "ip" + }, + "port": { + "type": "long" + } + } + }, + "packets": { + "type": "long" + }, + "port": { + "type": "long" + }, + "registered_domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "subdomain": { + "ignore_above": 1024, + "type": "keyword" + }, + "top_level_domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "user": { + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "email": { + "ignore_above": 1024, + "type": "keyword" + }, + "full_name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "group": { + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "hash": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "roles": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "dll": { + "properties": { + "code_signature": { + "properties": { + "exists": { + "type": "boolean" + }, + "signing_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "status": { + "ignore_above": 1024, + "type": "keyword" + }, + "subject_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "team_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "trusted": { + "type": "boolean" + }, + "valid": { + "type": "boolean" + } + } + }, + "hash": { + "properties": { + "md5": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha1": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha256": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha512": { + "ignore_above": 1024, + "type": "keyword" + }, + "ssdeep": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "path": { + "ignore_above": 1024, + "type": "keyword" + }, + "pe": { + "properties": { + "architecture": { + "ignore_above": 1024, + "type": "keyword" + }, + "company": { + "ignore_above": 1024, + "type": "keyword" + }, + "description": { + "ignore_above": 1024, + "type": "keyword" + }, + "file_version": { + "ignore_above": 1024, + "type": "keyword" + }, + "imphash": { + "ignore_above": 1024, + "type": "keyword" + }, + "original_file_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "product": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "dns": { + "properties": { + "answers": { + "properties": { + "class": { + "ignore_above": 1024, + "type": "keyword" + }, + "data": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "ttl": { + "type": "long" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "header_flags": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "op_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "question": { + "properties": { + "class": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "registered_domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "subdomain": { + "ignore_above": 1024, + "type": "keyword" + }, + "top_level_domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "resolved_ip": { + "type": "ip" + }, + "response_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "docker": { + "properties": { + "container": { + "properties": { + "labels": { + "type": "object" + } + } + } + } + }, + "ecs": { + "properties": { + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "error": { + "dynamic": "false", + "properties": { + "code": { + "ignore_above": 1024, + "type": "keyword" + }, + "culprit": { + "ignore_above": 1024, + "type": "keyword" + }, + "exception": { + "properties": { + "code": { + "ignore_above": 1024, + "type": "keyword" + }, + "handled": { + "type": "boolean" + }, + "message": { + "norms": false, + "type": "text" + }, + "module": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "grouping_key": { + "ignore_above": 1024, + "type": "keyword" + }, + "grouping_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "log": { + "properties": { + "level": { + "ignore_above": 1024, + "type": "keyword" + }, + "logger_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "message": { + "norms": false, + "type": "text" + }, + "param_message": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "message": { + "norms": false, + "type": "text" + }, + "stack_trace": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "index": false, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "event": { + "properties": { + "action": { + "ignore_above": 1024, + "type": "keyword" + }, + "category": { + "ignore_above": 1024, + "type": "keyword" + }, + "code": { + "ignore_above": 1024, + "type": "keyword" + }, + "created": { + "type": "date" + }, + "dataset": { + "ignore_above": 1024, + "type": "keyword" + }, + "duration": { + "type": "long" + }, + "end": { + "type": "date" + }, + "hash": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "ingested": { + "type": "date" + }, + "kind": { + "ignore_above": 1024, + "type": "keyword" + }, + "module": { + "ignore_above": 1024, + "type": "keyword" + }, + "original": { + "ignore_above": 1024, + "index": false, + "type": "keyword" + }, + "outcome": { + "ignore_above": 1024, + "type": "keyword" + }, + "provider": { + "ignore_above": 1024, + "type": "keyword" + }, + "reason": { + "ignore_above": 1024, + "type": "keyword" + }, + "reference": { + "ignore_above": 1024, + "type": "keyword" + }, + "risk_score": { + "type": "float" + }, + "risk_score_norm": { + "type": "float" + }, + "sequence": { + "type": "long" + }, + "severity": { + "type": "long" + }, + "start": { + "type": "date" + }, + "timezone": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "url": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "experimental": { + "dynamic": "true", + "type": "object" + }, + "fields": { + "type": "object" + }, + "file": { + "properties": { + "accessed": { + "type": "date" + }, + "attributes": { + "ignore_above": 1024, + "type": "keyword" + }, + "code_signature": { + "properties": { + "exists": { + "type": "boolean" + }, + "signing_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "status": { + "ignore_above": 1024, + "type": "keyword" + }, + "subject_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "team_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "trusted": { + "type": "boolean" + }, + "valid": { + "type": "boolean" + } + } + }, + "created": { + "type": "date" + }, + "ctime": { + "type": "date" + }, + "device": { + "ignore_above": 1024, + "type": "keyword" + }, + "directory": { + "ignore_above": 1024, + "type": "keyword" + }, + "drive_letter": { + "ignore_above": 1, + "type": "keyword" + }, + "extension": { + "ignore_above": 1024, + "type": "keyword" + }, + "gid": { + "ignore_above": 1024, + "type": "keyword" + }, + "group": { + "ignore_above": 1024, + "type": "keyword" + }, + "hash": { + "properties": { + "md5": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha1": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha256": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha512": { + "ignore_above": 1024, + "type": "keyword" + }, + "ssdeep": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "inode": { + "ignore_above": 1024, + "type": "keyword" + }, + "mime_type": { + "ignore_above": 1024, + "type": "keyword" + }, + "mode": { + "ignore_above": 1024, + "type": "keyword" + }, + "mtime": { + "type": "date" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "owner": { + "ignore_above": 1024, + "type": "keyword" + }, + "path": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "pe": { + "properties": { + "architecture": { + "ignore_above": 1024, + "type": "keyword" + }, + "company": { + "ignore_above": 1024, + "type": "keyword" + }, + "description": { + "ignore_above": 1024, + "type": "keyword" + }, + "file_version": { + "ignore_above": 1024, + "type": "keyword" + }, + "imphash": { + "ignore_above": 1024, + "type": "keyword" + }, + "original_file_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "product": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "size": { + "type": "long" + }, + "target_path": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "uid": { + "ignore_above": 1024, + "type": "keyword" + }, + "x509": { + "properties": { + "alternative_names": { + "ignore_above": 1024, + "type": "keyword" + }, + "issuer": { + "properties": { + "common_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country": { + "ignore_above": 1024, + "type": "keyword" + }, + "distinguished_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "locality": { + "ignore_above": 1024, + "type": "keyword" + }, + "organization": { + "ignore_above": 1024, + "type": "keyword" + }, + "organizational_unit": { + "ignore_above": 1024, + "type": "keyword" + }, + "state_or_province": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "not_after": { + "type": "date" + }, + "not_before": { + "type": "date" + }, + "public_key_algorithm": { + "ignore_above": 1024, + "type": "keyword" + }, + "public_key_curve": { + "ignore_above": 1024, + "type": "keyword" + }, + "public_key_exponent": { + "index": false, + "type": "long" + }, + "public_key_size": { + "type": "long" + }, + "serial_number": { + "ignore_above": 1024, + "type": "keyword" + }, + "signature_algorithm": { + "ignore_above": 1024, + "type": "keyword" + }, + "subject": { + "properties": { + "common_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country": { + "ignore_above": 1024, + "type": "keyword" + }, + "distinguished_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "locality": { + "ignore_above": 1024, + "type": "keyword" + }, + "organization": { + "ignore_above": 1024, + "type": "keyword" + }, + "organizational_unit": { + "ignore_above": 1024, + "type": "keyword" + }, + "state_or_province": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "version_number": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "geo": { + "properties": { + "city_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "location": { + "type": "geo_point" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "postal_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "timezone": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "golang": { + "properties": { + "goroutines": { + "type": "long" + }, + "heap": { + "properties": { + "allocations": { + "properties": { + "active": { + "type": "float" + }, + "allocated": { + "type": "float" + }, + "frees": { + "type": "long" + }, + "idle": { + "type": "float" + }, + "mallocs": { + "type": "long" + }, + "objects": { + "type": "long" + }, + "total": { + "type": "float" + } + } + }, + "gc": { + "properties": { + "cpu_fraction": { + "type": "float" + }, + "next_gc_limit": { + "type": "float" + }, + "total_count": { + "type": "long" + }, + "total_pause": { + "properties": { + "ns": { + "type": "float" + } + } + } + } + }, + "system": { + "properties": { + "obtained": { + "type": "float" + }, + "released": { + "type": "float" + }, + "stack": { + "type": "float" + }, + "total": { + "type": "float" + } + } + } + } + } + } + }, + "group": { + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "hash": { + "properties": { + "md5": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha1": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha256": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha512": { + "ignore_above": 1024, + "type": "keyword" + }, + "ssdeep": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "host": { + "dynamic": "false", + "properties": { + "architecture": { + "ignore_above": 1024, + "type": "keyword" + }, + "containerized": { + "type": "boolean" + }, + "cpu": { + "properties": { + "usage": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + }, + "disk": { + "properties": { + "read": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "write": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + }, + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "geo": { + "properties": { + "city_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "location": { + "type": "geo_point" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "postal_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "timezone": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "hostname": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "ip": { + "type": "ip" + }, + "mac": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "network": { + "properties": { + "egress": { + "properties": { + "bytes": { + "type": "long" + }, + "packets": { + "type": "long" + } + } + }, + "ingress": { + "properties": { + "bytes": { + "type": "long" + }, + "packets": { + "type": "long" + } + } + } + } + }, + "os": { + "properties": { + "build": { + "ignore_above": 1024, + "type": "keyword" + }, + "codename": { + "ignore_above": 1024, + "type": "keyword" + }, + "family": { + "ignore_above": 1024, + "type": "keyword" + }, + "full": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "kernel": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "platform": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "uptime": { + "type": "long" + }, + "user": { + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "email": { + "ignore_above": 1024, + "type": "keyword" + }, + "full_name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "group": { + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "hash": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "roles": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "http": { + "dynamic": "false", + "properties": { + "request": { + "properties": { + "body": { + "properties": { + "bytes": { + "type": "long" + }, + "content": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "bytes": { + "type": "long" + }, + "headers": { + "enabled": false, + "type": "object" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "method": { + "ignore_above": 1024, + "type": "keyword" + }, + "mime_type": { + "ignore_above": 1024, + "type": "keyword" + }, + "referrer": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "response": { + "properties": { + "body": { + "properties": { + "bytes": { + "type": "long" + }, + "content": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "bytes": { + "type": "long" + }, + "finished": { + "type": "boolean" + }, + "headers": { + "enabled": false, + "type": "object" + }, + "mime_type": { + "ignore_above": 1024, + "type": "keyword" + }, + "status_code": { + "type": "long" + } + } + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "interface": { + "properties": { + "alias": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "jvm": { + "properties": { + "gc": { + "properties": { + "alloc": { + "type": "float" + }, + "count": { + "type": "long" + }, + "time": { + "type": "long" + } + } + }, + "memory": { + "properties": { + "heap": { + "properties": { + "committed": { + "type": "float" + }, + "max": { + "type": "float" + }, + "pool": { + "properties": { + "committed": { + "type": "float" + }, + "max": { + "type": "float" + }, + "used": { + "type": "float" + } + } + }, + "used": { + "type": "float" + } + } + }, + "non_heap": { + "properties": { + "committed": { + "type": "float" + }, + "max": { + "type": "long" + }, + "used": { + "type": "float" + } + } + } + } + }, + "thread": { + "properties": { + "count": { + "type": "long" + } + } + } + } + }, + "kubernetes": { + "dynamic": "false", + "properties": { + "annotations": { + "properties": { + "*": { + "type": "object" + } + } + }, + "container": { + "properties": { + "image": { + "path": "container.image.name", + "type": "alias" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "deployment": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "labels": { + "properties": { + "*": { + "type": "object" + } + } + }, + "namespace": { + "ignore_above": 1024, + "type": "keyword" + }, + "node": { + "properties": { + "hostname": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "pod": { + "properties": { + "ip": { + "type": "ip" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "uid": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "replicaset": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "selectors": { + "properties": { + "*": { + "type": "object" + } + } + }, + "statefulset": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "labels": { + "dynamic": "true", + "properties": { + "a": { + "type": "keyword" + }, + "charset": { + "type": "keyword" + }, + "connection": { + "type": "keyword" + }, + "env": { + "type": "keyword" + }, + "etag": { + "type": "keyword" + }, + "generation": { + "type": "keyword" + }, + "hostname": { + "type": "keyword" + }, + "implementation": { + "type": "keyword" + }, + "major": { + "type": "keyword" + }, + "method": { + "type": "keyword" + }, + "minor": { + "type": "keyword" + }, + "name": { + "type": "keyword" + }, + "patchlevel": { + "type": "keyword" + }, + "status": { + "type": "keyword" + }, + "transport": { + "type": "keyword" + }, + "type": { + "type": "keyword" + }, + "version": { + "type": "keyword" + }, + "view": { + "type": "keyword" + } + } + }, + "log": { + "properties": { + "file": { + "properties": { + "path": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "level": { + "ignore_above": 1024, + "type": "keyword" + }, + "logger": { + "ignore_above": 1024, + "type": "keyword" + }, + "origin": { + "properties": { + "file": { + "properties": { + "line": { + "type": "long" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "function": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "original": { + "ignore_above": 1024, + "index": false, + "type": "keyword" + }, + "syslog": { + "properties": { + "facility": { + "properties": { + "code": { + "type": "long" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "priority": { + "type": "long" + }, + "severity": { + "properties": { + "code": { + "type": "long" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + } + } + }, + "message": { + "norms": false, + "type": "text" + }, + "metricset": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "period": { + "meta": { + "unit": "ms" + }, + "type": "long" + } + } + }, + "network": { + "dynamic": "false", + "properties": { + "application": { + "ignore_above": 1024, + "type": "keyword" + }, + "bytes": { + "type": "long" + }, + "carrier": { + "properties": { + "icc": { + "ignore_above": 1024, + "type": "keyword" + }, + "mcc": { + "ignore_above": 1024, + "type": "keyword" + }, + "mnc": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "community_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "connection_type": { + "ignore_above": 1024, + "type": "keyword" + }, + "direction": { + "ignore_above": 1024, + "type": "keyword" + }, + "forwarded_ip": { + "type": "ip" + }, + "iana_number": { + "ignore_above": 1024, + "type": "keyword" + }, + "inner": { + "properties": { + "vlan": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "packets": { + "type": "long" + }, + "protocol": { + "ignore_above": 1024, + "type": "keyword" + }, + "transport": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "vlan": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "nodejs": { + "properties": { + "eventloop": { + "properties": { + "delay": { + "properties": { + "avg": { + "properties": { + "ms": { + "type": "long" + } + } + } + } + } + } + }, + "handles": { + "properties": { + "active": { + "type": "long" + } + } + }, + "memory": { + "properties": { + "arrayBuffers": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "external": { + "properties": { + "bytes": { + "type": "float" + } + } + }, + "heap": { + "properties": { + "allocated": { + "properties": { + "bytes": { + "type": "float" + } + } + }, + "used": { + "properties": { + "bytes": { + "type": "float" + } + } + } + } + } + } + }, + "requests": { + "properties": { + "active": { + "type": "long" + } + } + } + } + }, + "observer": { + "dynamic": "false", + "properties": { + "egress": { + "properties": { + "interface": { + "properties": { + "alias": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "vlan": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "zone": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "geo": { + "properties": { + "city_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "location": { + "type": "geo_point" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "postal_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "timezone": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "hostname": { + "ignore_above": 1024, + "type": "keyword" + }, + "ingress": { + "properties": { + "interface": { + "properties": { + "alias": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "vlan": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "zone": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "ip": { + "type": "ip" + }, + "listening": { + "ignore_above": 1024, + "type": "keyword" + }, + "mac": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "os": { + "properties": { + "family": { + "ignore_above": 1024, + "type": "keyword" + }, + "full": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "kernel": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "platform": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "product": { + "ignore_above": 1024, + "type": "keyword" + }, + "serial_number": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "vendor": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + }, + "version_major": { + "type": "byte" + } + } + }, + "orchestrator": { + "properties": { + "api_version": { + "ignore_above": 1024, + "type": "keyword" + }, + "cluster": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "url": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "namespace": { + "ignore_above": 1024, + "type": "keyword" + }, + "organization": { + "ignore_above": 1024, + "type": "keyword" + }, + "resource": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "organization": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "os": { + "properties": { + "family": { + "ignore_above": 1024, + "type": "keyword" + }, + "full": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "kernel": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "platform": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "package": { + "properties": { + "architecture": { + "ignore_above": 1024, + "type": "keyword" + }, + "build_version": { + "ignore_above": 1024, + "type": "keyword" + }, + "checksum": { + "ignore_above": 1024, + "type": "keyword" + }, + "description": { + "ignore_above": 1024, + "type": "keyword" + }, + "install_scope": { + "ignore_above": 1024, + "type": "keyword" + }, + "installed": { + "type": "date" + }, + "license": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "path": { + "ignore_above": 1024, + "type": "keyword" + }, + "reference": { + "ignore_above": 1024, + "type": "keyword" + }, + "size": { + "type": "long" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "parent": { + "dynamic": "false", + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "pe": { + "properties": { + "architecture": { + "ignore_above": 1024, + "type": "keyword" + }, + "company": { + "ignore_above": 1024, + "type": "keyword" + }, + "description": { + "ignore_above": 1024, + "type": "keyword" + }, + "file_version": { + "ignore_above": 1024, + "type": "keyword" + }, + "imphash": { + "ignore_above": 1024, + "type": "keyword" + }, + "original_file_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "product": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "process": { + "dynamic": "false", + "properties": { + "args": { + "ignore_above": 1024, + "type": "keyword" + }, + "args_count": { + "type": "long" + }, + "code_signature": { + "properties": { + "exists": { + "type": "boolean" + }, + "signing_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "status": { + "ignore_above": 1024, + "type": "keyword" + }, + "subject_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "team_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "trusted": { + "type": "boolean" + }, + "valid": { + "type": "boolean" + } + } + }, + "command_line": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "entity_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "executable": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "exit_code": { + "type": "long" + }, + "hash": { + "properties": { + "md5": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha1": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha256": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha512": { + "ignore_above": 1024, + "type": "keyword" + }, + "ssdeep": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "parent": { + "properties": { + "args": { + "ignore_above": 1024, + "type": "keyword" + }, + "args_count": { + "type": "long" + }, + "code_signature": { + "properties": { + "exists": { + "type": "boolean" + }, + "signing_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "status": { + "ignore_above": 1024, + "type": "keyword" + }, + "subject_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "team_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "trusted": { + "type": "boolean" + }, + "valid": { + "type": "boolean" + } + } + }, + "command_line": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "entity_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "executable": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "exit_code": { + "type": "long" + }, + "hash": { + "properties": { + "md5": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha1": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha256": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha512": { + "ignore_above": 1024, + "type": "keyword" + }, + "ssdeep": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "pe": { + "properties": { + "architecture": { + "ignore_above": 1024, + "type": "keyword" + }, + "company": { + "ignore_above": 1024, + "type": "keyword" + }, + "description": { + "ignore_above": 1024, + "type": "keyword" + }, + "file_version": { + "ignore_above": 1024, + "type": "keyword" + }, + "imphash": { + "ignore_above": 1024, + "type": "keyword" + }, + "original_file_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "product": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "pgid": { + "type": "long" + }, + "pid": { + "type": "long" + }, + "ppid": { + "type": "long" + }, + "start": { + "type": "date" + }, + "thread": { + "properties": { + "id": { + "type": "long" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "title": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "uptime": { + "type": "long" + }, + "working_directory": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "pe": { + "properties": { + "architecture": { + "ignore_above": 1024, + "type": "keyword" + }, + "company": { + "ignore_above": 1024, + "type": "keyword" + }, + "description": { + "ignore_above": 1024, + "type": "keyword" + }, + "file_version": { + "ignore_above": 1024, + "type": "keyword" + }, + "imphash": { + "ignore_above": 1024, + "type": "keyword" + }, + "original_file_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "product": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "pgid": { + "type": "long" + }, + "pid": { + "type": "long" + }, + "ppid": { + "type": "long" + }, + "start": { + "type": "date" + }, + "thread": { + "properties": { + "id": { + "type": "long" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "title": { + "ignore_above": 1024, + "type": "keyword" + }, + "uptime": { + "type": "long" + }, + "working_directory": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "processor": { + "properties": { + "event": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "profile": { + "dynamic": "false", + "properties": { + "alloc_objects": { + "properties": { + "count": { + "type": "long" + } + } + }, + "alloc_space": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "cpu": { + "properties": { + "ns": { + "meta": { + "unit": "nanos" + }, + "type": "long" + } + } + }, + "duration": { + "meta": { + "unit": "nanos" + }, + "type": "long" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "inuse_objects": { + "properties": { + "count": { + "type": "long" + } + } + }, + "inuse_space": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "samples": { + "properties": { + "count": { + "type": "long" + } + } + }, + "stack": { + "dynamic": "false", + "properties": { + "filename": { + "ignore_above": 1024, + "type": "keyword" + }, + "function": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "line": { + "type": "long" + } + } + }, + "top": { + "dynamic": "false", + "properties": { + "filename": { + "ignore_above": 1024, + "type": "keyword" + }, + "function": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "line": { + "type": "long" + } + } + }, + "wall": { + "properties": { + "us": { + "meta": { + "unit": "micros" + }, + "type": "long" + } + } + } + } + }, + "prometheus": { + "properties": { + "metrics": { + "properties": { + "django_http_ajax_requests": { + "type": "long" + }, + "django_http_exceptions_total_by_type": { + "type": "long" + }, + "django_http_exceptions_total_by_view": { + "type": "long" + }, + "django_http_requests_before_middlewares": { + "type": "long" + }, + "django_http_requests_total_by_method": { + "type": "long" + }, + "django_http_requests_total_by_transport": { + "type": "long" + }, + "django_http_requests_total_by_view_transport_method": { + "type": "long" + }, + "django_http_requests_unknown_latency": { + "type": "long" + }, + "django_http_requests_unknown_latency_including_middlewares": { + "type": "long" + }, + "django_http_responses_before_middlewares": { + "type": "long" + }, + "django_http_responses_streaming": { + "type": "long" + }, + "django_http_responses_total_by_charset": { + "type": "long" + }, + "django_http_responses_total_by_status": { + "type": "long" + }, + "django_http_responses_total_by_status_view_method": { + "type": "long" + }, + "django_migrations_applied_total": { + "type": "long" + }, + "django_migrations_unapplied_total": { + "type": "long" + }, + "opbeans_python_line_items": { + "type": "long" + }, + "opbeans_python_orders": { + "properties": { + "count": { + "type": "long" + }, + "sum": { + "type": "long" + } + } + }, + "process_cpu_seconds": { + "type": "float" + }, + "process_max_fds": { + "type": "float" + }, + "process_open_fds": { + "type": "long" + }, + "process_resident_memory_bytes": { + "type": "float" + }, + "process_start_time_seconds": { + "type": "float" + }, + "process_virtual_memory_bytes": { + "type": "float" + }, + "python_gc_collections": { + "type": "long" + }, + "python_gc_objects_collected": { + "type": "long" + }, + "python_gc_objects_uncollectable": { + "type": "long" + }, + "python_info": { + "type": "long" + }, + "random_counter": { + "type": "long" + }, + "random_gauge": { + "type": "float" + }, + "random_summary": { + "properties": { + "count": { + "type": "long" + }, + "sum": { + "type": "long" + } + } + } + } + } + } + }, + "registry": { + "properties": { + "data": { + "properties": { + "bytes": { + "ignore_above": 1024, + "type": "keyword" + }, + "strings": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "hive": { + "ignore_above": 1024, + "type": "keyword" + }, + "key": { + "ignore_above": 1024, + "type": "keyword" + }, + "path": { + "ignore_above": 1024, + "type": "keyword" + }, + "value": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "related": { + "properties": { + "hash": { + "ignore_above": 1024, + "type": "keyword" + }, + "hosts": { + "ignore_above": 1024, + "type": "keyword" + }, + "ip": { + "type": "ip" + }, + "user": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "ruby": { + "properties": { + "gc": { + "properties": { + "count": { + "type": "long" + } + } + }, + "heap": { + "properties": { + "allocations": { + "properties": { + "total": { + "type": "long" + } + } + }, + "slots": { + "properties": { + "free": { + "type": "long" + }, + "live": { + "type": "long" + } + } + } + } + }, + "threads": { + "type": "long" + } + } + }, + "rule": { + "properties": { + "author": { + "ignore_above": 1024, + "type": "keyword" + }, + "category": { + "ignore_above": 1024, + "type": "keyword" + }, + "description": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "license": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "reference": { + "ignore_above": 1024, + "type": "keyword" + }, + "ruleset": { + "ignore_above": 1024, + "type": "keyword" + }, + "uuid": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "server": { + "properties": { + "address": { + "ignore_above": 1024, + "type": "keyword" + }, + "as": { + "properties": { + "number": { + "type": "long" + }, + "organization": { + "properties": { + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "bytes": { + "type": "long" + }, + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "geo": { + "properties": { + "city_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "location": { + "type": "geo_point" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "postal_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "timezone": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "ip": { + "type": "ip" + }, + "mac": { + "ignore_above": 1024, + "type": "keyword" + }, + "nat": { + "properties": { + "ip": { + "type": "ip" + }, + "port": { + "type": "long" + } + } + }, + "packets": { + "type": "long" + }, + "port": { + "type": "long" + }, + "registered_domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "subdomain": { + "ignore_above": 1024, + "type": "keyword" + }, + "top_level_domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "user": { + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "email": { + "ignore_above": 1024, + "type": "keyword" + }, + "full_name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "group": { + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "hash": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "roles": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "service": { + "dynamic": "false", + "properties": { + "environment": { + "ignore_above": 1024, + "type": "keyword" + }, + "ephemeral_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "framework": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "language": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "node": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "runtime": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "state": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "session": { + "dynamic": "false", + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "sequence": { + "type": "long" + } + } + }, + "source": { + "dynamic": "false", + "properties": { + "address": { + "ignore_above": 1024, + "type": "keyword" + }, + "as": { + "properties": { + "number": { + "type": "long" + }, + "organization": { + "properties": { + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "bytes": { + "type": "long" + }, + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "geo": { + "properties": { + "city_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "location": { + "type": "geo_point" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "postal_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "timezone": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "ip": { + "type": "ip" + }, + "mac": { + "ignore_above": 1024, + "type": "keyword" + }, + "nat": { + "properties": { + "ip": { + "type": "ip" + }, + "port": { + "type": "long" + } + } + }, + "packets": { + "type": "long" + }, + "port": { + "type": "long" + }, + "registered_domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "subdomain": { + "ignore_above": 1024, + "type": "keyword" + }, + "top_level_domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "user": { + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "email": { + "ignore_above": 1024, + "type": "keyword" + }, + "full_name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "group": { + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "hash": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "roles": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "sourcemap": { + "dynamic": "false", + "properties": { + "bundle_filepath": { + "ignore_above": 1024, + "type": "keyword" + }, + "service": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "span": { + "dynamic": "false", + "properties": { + "action": { + "ignore_above": 1024, + "type": "keyword" + }, + "db": { + "dynamic": "false", + "properties": { + "link": { + "ignore_above": 1024, + "type": "keyword" + }, + "rows_affected": { + "type": "long" + } + } + }, + "destination": { + "dynamic": "false", + "properties": { + "service": { + "dynamic": "false", + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "resource": { + "ignore_above": 1024, + "type": "keyword" + }, + "response_time": { + "properties": { + "count": { + "type": "long" + }, + "sum": { + "properties": { + "us": { + "meta": { + "unit": "micros" + }, + "type": "long" + } + } + } + } + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "duration": { + "properties": { + "us": { + "type": "long" + } + } + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "message": { + "dynamic": "false", + "properties": { + "age": { + "properties": { + "ms": { + "type": "long" + } + } + }, + "queue": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "self_time": { + "properties": { + "count": { + "type": "long" + }, + "sum": { + "properties": { + "us": { + "meta": { + "unit": "micros" + }, + "type": "long" + } + } + } + } + }, + "start": { + "properties": { + "us": { + "type": "long" + } + } + }, + "subtype": { + "ignore_above": 1024, + "type": "keyword" + }, + "sync": { + "type": "boolean" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "system": { + "properties": { + "cpu": { + "properties": { + "total": { + "properties": { + "norm": { + "properties": { + "pct": { + "meta": { + "metric_type": "gauge", + "unit": "percent" + }, + "scaling_factor": 1000, + "type": "scaled_float" + } + } + } + } + } + } + }, + "memory": { + "properties": { + "actual": { + "properties": { + "free": { + "meta": { + "metric_type": "gauge", + "unit": "byte" + }, + "type": "long" + } + } + }, + "total": { + "meta": { + "metric_type": "gauge", + "unit": "byte" + }, + "type": "long" + } + } + }, + "process": { + "properties": { + "cgroup": { + "properties": { + "cpu": { + "properties": { + "cfs": { + "properties": { + "period": { + "properties": { + "us": { + "meta": { + "metric_type": "gauge", + "unit": "micros" + }, + "type": "long" + } + } + }, + "quota": { + "properties": { + "us": { + "meta": { + "metric_type": "gauge", + "unit": "micros" + }, + "type": "long" + } + } + } + } + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "stats": { + "properties": { + "periods": { + "meta": { + "metric_type": "counter" + }, + "type": "long" + }, + "throttled": { + "properties": { + "ns": { + "meta": { + "metric_type": "counter", + "unit": "nanos" + }, + "type": "long" + }, + "periods": { + "meta": { + "metric_type": "counter" + }, + "type": "long" + } + } + } + } + } + } + }, + "cpuacct": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "total": { + "properties": { + "ns": { + "meta": { + "metric_type": "counter", + "unit": "nanos" + }, + "type": "long" + } + } + } + } + }, + "memory": { + "properties": { + "mem": { + "properties": { + "limit": { + "properties": { + "bytes": { + "meta": { + "metric_type": "gauge", + "unit": "byte" + }, + "type": "long" + } + } + }, + "usage": { + "properties": { + "bytes": { + "meta": { + "metric_type": "gauge", + "unit": "byte" + }, + "type": "long" + } + } + } + } + }, + "stats": { + "properties": { + "inactive_file": { + "properties": { + "bytes": { + "type": "float" + } + } + } + } + } + } + } + } + }, + "cpu": { + "properties": { + "system": { + "properties": { + "norm": { + "properties": { + "pct": { + "type": "float" + } + } + } + } + }, + "total": { + "properties": { + "norm": { + "properties": { + "pct": { + "meta": { + "metric_type": "gauge", + "unit": "percent" + }, + "scaling_factor": 1000, + "type": "scaled_float" + } + } + } + } + }, + "user": { + "properties": { + "norm": { + "properties": { + "pct": { + "type": "float" + } + } + } + } + } + } + }, + "memory": { + "properties": { + "rss": { + "properties": { + "bytes": { + "meta": { + "metric_type": "gauge", + "unit": "byte" + }, + "type": "long" + } + } + }, + "size": { + "meta": { + "metric_type": "gauge", + "unit": "byte" + }, + "type": "long" + } + } + } + } + } + } + }, + "tags": { + "ignore_above": 1024, + "type": "keyword" + }, + "threat": { + "properties": { + "framework": { + "ignore_above": 1024, + "type": "keyword" + }, + "tactic": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "reference": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "technique": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "reference": { + "ignore_above": 1024, + "type": "keyword" + }, + "subtechnique": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "reference": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + } + } + }, + "timeseries": { + "properties": { + "instance": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "timestamp": { + "properties": { + "us": { + "type": "long" + } + } + }, + "tls": { + "properties": { + "cipher": { + "ignore_above": 1024, + "type": "keyword" + }, + "client": { + "properties": { + "certificate": { + "ignore_above": 1024, + "type": "keyword" + }, + "certificate_chain": { + "ignore_above": 1024, + "type": "keyword" + }, + "hash": { + "properties": { + "md5": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha1": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha256": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "issuer": { + "ignore_above": 1024, + "type": "keyword" + }, + "ja3": { + "ignore_above": 1024, + "type": "keyword" + }, + "not_after": { + "type": "date" + }, + "not_before": { + "type": "date" + }, + "server_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "subject": { + "ignore_above": 1024, + "type": "keyword" + }, + "supported_ciphers": { + "ignore_above": 1024, + "type": "keyword" + }, + "x509": { + "properties": { + "alternative_names": { + "ignore_above": 1024, + "type": "keyword" + }, + "issuer": { + "properties": { + "common_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country": { + "ignore_above": 1024, + "type": "keyword" + }, + "distinguished_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "locality": { + "ignore_above": 1024, + "type": "keyword" + }, + "organization": { + "ignore_above": 1024, + "type": "keyword" + }, + "organizational_unit": { + "ignore_above": 1024, + "type": "keyword" + }, + "state_or_province": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "not_after": { + "type": "date" + }, + "not_before": { + "type": "date" + }, + "public_key_algorithm": { + "ignore_above": 1024, + "type": "keyword" + }, + "public_key_curve": { + "ignore_above": 1024, + "type": "keyword" + }, + "public_key_exponent": { + "index": false, + "type": "long" + }, + "public_key_size": { + "type": "long" + }, + "serial_number": { + "ignore_above": 1024, + "type": "keyword" + }, + "signature_algorithm": { + "ignore_above": 1024, + "type": "keyword" + }, + "subject": { + "properties": { + "common_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country": { + "ignore_above": 1024, + "type": "keyword" + }, + "distinguished_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "locality": { + "ignore_above": 1024, + "type": "keyword" + }, + "organization": { + "ignore_above": 1024, + "type": "keyword" + }, + "organizational_unit": { + "ignore_above": 1024, + "type": "keyword" + }, + "state_or_province": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "version_number": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "curve": { + "ignore_above": 1024, + "type": "keyword" + }, + "established": { + "type": "boolean" + }, + "next_protocol": { + "ignore_above": 1024, + "type": "keyword" + }, + "resumed": { + "type": "boolean" + }, + "server": { + "properties": { + "certificate": { + "ignore_above": 1024, + "type": "keyword" + }, + "certificate_chain": { + "ignore_above": 1024, + "type": "keyword" + }, + "hash": { + "properties": { + "md5": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha1": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha256": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "issuer": { + "ignore_above": 1024, + "type": "keyword" + }, + "ja3s": { + "ignore_above": 1024, + "type": "keyword" + }, + "not_after": { + "type": "date" + }, + "not_before": { + "type": "date" + }, + "subject": { + "ignore_above": 1024, + "type": "keyword" + }, + "x509": { + "properties": { + "alternative_names": { + "ignore_above": 1024, + "type": "keyword" + }, + "issuer": { + "properties": { + "common_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country": { + "ignore_above": 1024, + "type": "keyword" + }, + "distinguished_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "locality": { + "ignore_above": 1024, + "type": "keyword" + }, + "organization": { + "ignore_above": 1024, + "type": "keyword" + }, + "organizational_unit": { + "ignore_above": 1024, + "type": "keyword" + }, + "state_or_province": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "not_after": { + "type": "date" + }, + "not_before": { + "type": "date" + }, + "public_key_algorithm": { + "ignore_above": 1024, + "type": "keyword" + }, + "public_key_curve": { + "ignore_above": 1024, + "type": "keyword" + }, + "public_key_exponent": { + "index": false, + "type": "long" + }, + "public_key_size": { + "type": "long" + }, + "serial_number": { + "ignore_above": 1024, + "type": "keyword" + }, + "signature_algorithm": { + "ignore_above": 1024, + "type": "keyword" + }, + "subject": { + "properties": { + "common_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country": { + "ignore_above": 1024, + "type": "keyword" + }, + "distinguished_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "locality": { + "ignore_above": 1024, + "type": "keyword" + }, + "organization": { + "ignore_above": 1024, + "type": "keyword" + }, + "organizational_unit": { + "ignore_above": 1024, + "type": "keyword" + }, + "state_or_province": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "version_number": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + }, + "version_protocol": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "trace": { + "dynamic": "false", + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "transaction": { + "dynamic": "false", + "properties": { + "breakdown": { + "properties": { + "count": { + "type": "long" + } + } + }, + "duration": { + "properties": { + "count": { + "type": "long" + }, + "histogram": { + "type": "histogram" + }, + "sum": { + "properties": { + "us": { + "meta": { + "unit": "micros" + }, + "type": "long" + } + } + }, + "us": { + "type": "long" + } + } + }, + "experience": { + "properties": { + "cls": { + "scaling_factor": 1000000, + "type": "scaled_float" + }, + "fid": { + "scaling_factor": 1000000, + "type": "scaled_float" + }, + "longtask": { + "properties": { + "count": { + "type": "long" + }, + "max": { + "scaling_factor": 1000000, + "type": "scaled_float" + }, + "sum": { + "scaling_factor": 1000000, + "type": "scaled_float" + } + } + }, + "tbt": { + "scaling_factor": 1000000, + "type": "scaled_float" + } + } + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "marks": { + "dynamic": "true", + "properties": { + "*": { + "properties": { + "*": { + "dynamic": "true", + "type": "object" + } + } + } + } + }, + "message": { + "dynamic": "false", + "properties": { + "age": { + "properties": { + "ms": { + "type": "long" + } + } + }, + "queue": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "result": { + "ignore_above": 1024, + "type": "keyword" + }, + "root": { + "type": "boolean" + }, + "sampled": { + "type": "boolean" + }, + "self_time": { + "properties": { + "count": { + "type": "long" + }, + "sum": { + "properties": { + "us": { + "meta": { + "unit": "micros" + }, + "type": "long" + } + } + } + } + }, + "span_count": { + "properties": { + "dropped": { + "type": "long" + } + } + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "url": { + "dynamic": "false", + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "extension": { + "ignore_above": 1024, + "type": "keyword" + }, + "fragment": { + "ignore_above": 1024, + "type": "keyword" + }, + "full": { + "ignore_above": 1024, + "type": "keyword" + }, + "original": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "password": { + "ignore_above": 1024, + "type": "keyword" + }, + "path": { + "ignore_above": 1024, + "type": "keyword" + }, + "port": { + "type": "long" + }, + "query": { + "ignore_above": 1024, + "type": "keyword" + }, + "registered_domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "scheme": { + "ignore_above": 1024, + "type": "keyword" + }, + "subdomain": { + "ignore_above": 1024, + "type": "keyword" + }, + "top_level_domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "username": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "user": { + "dynamic": "false", + "properties": { + "changes": { + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "email": { + "ignore_above": 1024, + "type": "keyword" + }, + "full_name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "group": { + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "hash": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "roles": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "effective": { + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "email": { + "ignore_above": 1024, + "type": "keyword" + }, + "full_name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "group": { + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "hash": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "roles": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "email": { + "ignore_above": 1024, + "type": "keyword" + }, + "full_name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "group": { + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "hash": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "roles": { + "ignore_above": 1024, + "type": "keyword" + }, + "target": { + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "email": { + "ignore_above": 1024, + "type": "keyword" + }, + "full_name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "group": { + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "hash": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "roles": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "user_agent": { + "dynamic": "false", + "properties": { + "device": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "original": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "os": { + "properties": { + "family": { + "ignore_above": 1024, + "type": "keyword" + }, + "full": { + "ignore_above": 1024, + "type": "keyword" + }, + "kernel": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "platform": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "vlan": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "vulnerability": { + "properties": { + "category": { + "ignore_above": 1024, + "type": "keyword" + }, + "classification": { + "ignore_above": 1024, + "type": "keyword" + }, + "description": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "enumeration": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "reference": { + "ignore_above": 1024, + "type": "keyword" + }, + "report_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "scanner": { + "properties": { + "vendor": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "score": { + "properties": { + "base": { + "type": "float" + }, + "environmental": { + "type": "float" + }, + "temporal": { + "type": "float" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "severity": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "x509": { + "properties": { + "alternative_names": { + "ignore_above": 1024, + "type": "keyword" + }, + "issuer": { + "properties": { + "common_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country": { + "ignore_above": 1024, + "type": "keyword" + }, + "distinguished_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "locality": { + "ignore_above": 1024, + "type": "keyword" + }, + "organization": { + "ignore_above": 1024, + "type": "keyword" + }, + "organizational_unit": { + "ignore_above": 1024, + "type": "keyword" + }, + "state_or_province": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "not_after": { + "type": "date" + }, + "not_before": { + "type": "date" + }, + "public_key_algorithm": { + "ignore_above": 1024, + "type": "keyword" + }, + "public_key_curve": { + "ignore_above": 1024, + "type": "keyword" + }, + "public_key_exponent": { + "index": false, + "type": "long" + }, + "public_key_size": { + "type": "long" + }, + "serial_number": { + "ignore_above": 1024, + "type": "keyword" + }, + "signature_algorithm": { + "ignore_above": 1024, + "type": "keyword" + }, + "subject": { + "properties": { + "common_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country": { + "ignore_above": 1024, + "type": "keyword" + }, + "distinguished_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "locality": { + "ignore_above": 1024, + "type": "keyword" + }, + "organization": { + "ignore_above": 1024, + "type": "keyword" + }, + "organizational_unit": { + "ignore_above": 1024, + "type": "keyword" + }, + "state_or_province": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "version_number": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "settings": { + "index": { + "auto_expand_replicas": "0-1", + "blocks": { + "read_only_allow_delete": "false" + }, + "codec": "best_compression", + "lifecycle": { + "name": "apm-rollover-30-days", + "rollover_alias": "apm-7.14.0-metric" + }, + "mapping": { + "total_fields": { + "limit": "2000" + } + }, + "max_docvalue_fields_search": "200", + "number_of_replicas": "1", + "number_of_shards": "1", + "priority": "100", + "refresh_interval": "5s" + } + } + } +} + +{ + "type": "index", + "value": { + "aliases": { + "apm-7.14.0-span": { + "is_write_index": true + } + }, + "index": "apm-7.14.0-span-000001", + "mappings": { + "_meta": { + "beat": "apm", + "version": "7.14.0" + }, + "date_detection": false, + "dynamic_templates": [ + { + "labels": { + "mapping": { + "type": "keyword" + }, + "match_mapping_type": "string", + "path_match": "labels.*" + } + }, + { + "container.labels": { + "mapping": { + "type": "keyword" + }, + "match_mapping_type": "string", + "path_match": "container.labels.*" + } + }, + { + "fields": { + "mapping": { + "type": "keyword" + }, + "match_mapping_type": "string", + "path_match": "fields.*" + } + }, + { + "docker.container.labels": { + "mapping": { + "type": "keyword" + }, + "match_mapping_type": "string", + "path_match": "docker.container.labels.*" + } + }, + { + "kubernetes.labels.*": { + "mapping": { + "type": "keyword" + }, + "path_match": "kubernetes.labels.*" + } + }, + { + "kubernetes.annotations.*": { + "mapping": { + "type": "keyword" + }, + "path_match": "kubernetes.annotations.*" + } + }, + { + "kubernetes.selectors.*": { + "mapping": { + "type": "keyword" + }, + "path_match": "kubernetes.selectors.*" + } + }, + { + "labels_string": { + "mapping": { + "type": "keyword" + }, + "match_mapping_type": "string", + "path_match": "labels.*" + } + }, + { + "labels_boolean": { + "mapping": { + "type": "boolean" + }, + "match_mapping_type": "boolean", + "path_match": "labels.*" + } + }, + { + "labels_*": { + "mapping": { + "scaling_factor": 1000000, + "type": "scaled_float" + }, + "path_match": "labels.*" + } + }, + { + "histogram": { + "mapping": { + "type": "histogram" + } + } + }, + { + "transaction.marks": { + "mapping": { + "type": "keyword" + }, + "match_mapping_type": "string", + "path_match": "transaction.marks.*" + } + }, + { + "transaction.marks.*.*": { + "mapping": { + "scaling_factor": 1000000, + "type": "scaled_float" + }, + "path_match": "transaction.marks.*.*" + } + }, + { + "strings_as_keyword": { + "mapping": { + "ignore_above": 1024, + "type": "keyword" + }, + "match_mapping_type": "string" + } + } + ], + "properties": { + "@timestamp": { + "type": "date" + }, + "agent": { + "dynamic": "false", + "properties": { + "build": { + "properties": { + "original": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "ephemeral_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "hostname": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "as": { + "properties": { + "number": { + "type": "long" + }, + "organization": { + "properties": { + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "child": { + "dynamic": "false", + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "client": { + "dynamic": "false", + "properties": { + "address": { + "ignore_above": 1024, + "type": "keyword" + }, + "as": { + "properties": { + "number": { + "type": "long" + }, + "organization": { + "properties": { + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "bytes": { + "type": "long" + }, + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "geo": { + "properties": { + "city_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "location": { + "type": "geo_point" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "postal_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "timezone": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "ip": { + "type": "ip" + }, + "mac": { + "ignore_above": 1024, + "type": "keyword" + }, + "nat": { + "properties": { + "ip": { + "type": "ip" + }, + "port": { + "type": "long" + } + } + }, + "packets": { + "type": "long" + }, + "port": { + "type": "long" + }, + "registered_domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "subdomain": { + "ignore_above": 1024, + "type": "keyword" + }, + "top_level_domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "user": { + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "email": { + "ignore_above": 1024, + "type": "keyword" + }, + "full_name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "group": { + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "hash": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "roles": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "cloud": { + "properties": { + "account": { + "dynamic": "false", + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "availability_zone": { + "ignore_above": 1024, + "type": "keyword" + }, + "image": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "instance": { + "dynamic": "false", + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "machine": { + "dynamic": "false", + "properties": { + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "project": { + "dynamic": "false", + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "provider": { + "ignore_above": 1024, + "type": "keyword" + }, + "region": { + "ignore_above": 1024, + "type": "keyword" + }, + "service": { + "dynamic": "false", + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "code_signature": { + "properties": { + "exists": { + "type": "boolean" + }, + "signing_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "status": { + "ignore_above": 1024, + "type": "keyword" + }, + "subject_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "team_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "trusted": { + "type": "boolean" + }, + "valid": { + "type": "boolean" + } + } + }, + "container": { + "dynamic": "false", + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "image": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "tag": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "labels": { + "type": "object" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "runtime": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "data_stream": { + "properties": { + "dataset": { + "type": "constant_keyword" + }, + "namespace": { + "type": "constant_keyword" + }, + "type": { + "type": "constant_keyword" + } + } + }, + "destination": { + "properties": { + "address": { + "ignore_above": 1024, + "type": "keyword" + }, + "as": { + "properties": { + "number": { + "type": "long" + }, + "organization": { + "properties": { + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "bytes": { + "type": "long" + }, + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "geo": { + "properties": { + "city_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "location": { + "type": "geo_point" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "postal_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "timezone": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "ip": { + "type": "ip" + }, + "mac": { + "ignore_above": 1024, + "type": "keyword" + }, + "nat": { + "properties": { + "ip": { + "type": "ip" + }, + "port": { + "type": "long" + } + } + }, + "packets": { + "type": "long" + }, + "port": { + "type": "long" + }, + "registered_domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "subdomain": { + "ignore_above": 1024, + "type": "keyword" + }, + "top_level_domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "user": { + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "email": { + "ignore_above": 1024, + "type": "keyword" + }, + "full_name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "group": { + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "hash": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "roles": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "dll": { + "properties": { + "code_signature": { + "properties": { + "exists": { + "type": "boolean" + }, + "signing_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "status": { + "ignore_above": 1024, + "type": "keyword" + }, + "subject_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "team_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "trusted": { + "type": "boolean" + }, + "valid": { + "type": "boolean" + } + } + }, + "hash": { + "properties": { + "md5": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha1": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha256": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha512": { + "ignore_above": 1024, + "type": "keyword" + }, + "ssdeep": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "path": { + "ignore_above": 1024, + "type": "keyword" + }, + "pe": { + "properties": { + "architecture": { + "ignore_above": 1024, + "type": "keyword" + }, + "company": { + "ignore_above": 1024, + "type": "keyword" + }, + "description": { + "ignore_above": 1024, + "type": "keyword" + }, + "file_version": { + "ignore_above": 1024, + "type": "keyword" + }, + "imphash": { + "ignore_above": 1024, + "type": "keyword" + }, + "original_file_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "product": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "dns": { + "properties": { + "answers": { + "properties": { + "class": { + "ignore_above": 1024, + "type": "keyword" + }, + "data": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "ttl": { + "type": "long" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "header_flags": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "op_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "question": { + "properties": { + "class": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "registered_domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "subdomain": { + "ignore_above": 1024, + "type": "keyword" + }, + "top_level_domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "resolved_ip": { + "type": "ip" + }, + "response_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "docker": { + "properties": { + "container": { + "properties": { + "labels": { + "type": "object" + } + } + } + } + }, + "ecs": { + "properties": { + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "error": { + "dynamic": "false", + "properties": { + "code": { + "ignore_above": 1024, + "type": "keyword" + }, + "culprit": { + "ignore_above": 1024, + "type": "keyword" + }, + "exception": { + "properties": { + "code": { + "ignore_above": 1024, + "type": "keyword" + }, + "handled": { + "type": "boolean" + }, + "message": { + "norms": false, + "type": "text" + }, + "module": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "grouping_key": { + "ignore_above": 1024, + "type": "keyword" + }, + "grouping_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "log": { + "properties": { + "level": { + "ignore_above": 1024, + "type": "keyword" + }, + "logger_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "message": { + "norms": false, + "type": "text" + }, + "param_message": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "message": { + "norms": false, + "type": "text" + }, + "stack_trace": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "index": false, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "event": { + "properties": { + "action": { + "ignore_above": 1024, + "type": "keyword" + }, + "category": { + "ignore_above": 1024, + "type": "keyword" + }, + "code": { + "ignore_above": 1024, + "type": "keyword" + }, + "created": { + "type": "date" + }, + "dataset": { + "ignore_above": 1024, + "type": "keyword" + }, + "duration": { + "type": "long" + }, + "end": { + "type": "date" + }, + "hash": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "ingested": { + "type": "date" + }, + "kind": { + "ignore_above": 1024, + "type": "keyword" + }, + "module": { + "ignore_above": 1024, + "type": "keyword" + }, + "original": { + "ignore_above": 1024, + "index": false, + "type": "keyword" + }, + "outcome": { + "ignore_above": 1024, + "type": "keyword" + }, + "provider": { + "ignore_above": 1024, + "type": "keyword" + }, + "reason": { + "ignore_above": 1024, + "type": "keyword" + }, + "reference": { + "ignore_above": 1024, + "type": "keyword" + }, + "risk_score": { + "type": "float" + }, + "risk_score_norm": { + "type": "float" + }, + "sequence": { + "type": "long" + }, + "severity": { + "type": "long" + }, + "start": { + "type": "date" + }, + "timezone": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "url": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "experimental": { + "dynamic": "true", + "type": "object" + }, + "fields": { + "type": "object" + }, + "file": { + "properties": { + "accessed": { + "type": "date" + }, + "attributes": { + "ignore_above": 1024, + "type": "keyword" + }, + "code_signature": { + "properties": { + "exists": { + "type": "boolean" + }, + "signing_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "status": { + "ignore_above": 1024, + "type": "keyword" + }, + "subject_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "team_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "trusted": { + "type": "boolean" + }, + "valid": { + "type": "boolean" + } + } + }, + "created": { + "type": "date" + }, + "ctime": { + "type": "date" + }, + "device": { + "ignore_above": 1024, + "type": "keyword" + }, + "directory": { + "ignore_above": 1024, + "type": "keyword" + }, + "drive_letter": { + "ignore_above": 1, + "type": "keyword" + }, + "extension": { + "ignore_above": 1024, + "type": "keyword" + }, + "gid": { + "ignore_above": 1024, + "type": "keyword" + }, + "group": { + "ignore_above": 1024, + "type": "keyword" + }, + "hash": { + "properties": { + "md5": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha1": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha256": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha512": { + "ignore_above": 1024, + "type": "keyword" + }, + "ssdeep": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "inode": { + "ignore_above": 1024, + "type": "keyword" + }, + "mime_type": { + "ignore_above": 1024, + "type": "keyword" + }, + "mode": { + "ignore_above": 1024, + "type": "keyword" + }, + "mtime": { + "type": "date" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "owner": { + "ignore_above": 1024, + "type": "keyword" + }, + "path": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "pe": { + "properties": { + "architecture": { + "ignore_above": 1024, + "type": "keyword" + }, + "company": { + "ignore_above": 1024, + "type": "keyword" + }, + "description": { + "ignore_above": 1024, + "type": "keyword" + }, + "file_version": { + "ignore_above": 1024, + "type": "keyword" + }, + "imphash": { + "ignore_above": 1024, + "type": "keyword" + }, + "original_file_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "product": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "size": { + "type": "long" + }, + "target_path": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "uid": { + "ignore_above": 1024, + "type": "keyword" + }, + "x509": { + "properties": { + "alternative_names": { + "ignore_above": 1024, + "type": "keyword" + }, + "issuer": { + "properties": { + "common_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country": { + "ignore_above": 1024, + "type": "keyword" + }, + "distinguished_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "locality": { + "ignore_above": 1024, + "type": "keyword" + }, + "organization": { + "ignore_above": 1024, + "type": "keyword" + }, + "organizational_unit": { + "ignore_above": 1024, + "type": "keyword" + }, + "state_or_province": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "not_after": { + "type": "date" + }, + "not_before": { + "type": "date" + }, + "public_key_algorithm": { + "ignore_above": 1024, + "type": "keyword" + }, + "public_key_curve": { + "ignore_above": 1024, + "type": "keyword" + }, + "public_key_exponent": { + "index": false, + "type": "long" + }, + "public_key_size": { + "type": "long" + }, + "serial_number": { + "ignore_above": 1024, + "type": "keyword" + }, + "signature_algorithm": { + "ignore_above": 1024, + "type": "keyword" + }, + "subject": { + "properties": { + "common_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country": { + "ignore_above": 1024, + "type": "keyword" + }, + "distinguished_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "locality": { + "ignore_above": 1024, + "type": "keyword" + }, + "organization": { + "ignore_above": 1024, + "type": "keyword" + }, + "organizational_unit": { + "ignore_above": 1024, + "type": "keyword" + }, + "state_or_province": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "version_number": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "geo": { + "properties": { + "city_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "location": { + "type": "geo_point" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "postal_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "timezone": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "group": { + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "hash": { + "properties": { + "md5": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha1": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha256": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha512": { + "ignore_above": 1024, + "type": "keyword" + }, + "ssdeep": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "host": { + "dynamic": "false", + "properties": { + "architecture": { + "ignore_above": 1024, + "type": "keyword" + }, + "containerized": { + "type": "boolean" + }, + "cpu": { + "properties": { + "usage": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + }, + "disk": { + "properties": { + "read": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "write": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + }, + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "geo": { + "properties": { + "city_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "location": { + "type": "geo_point" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "postal_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "timezone": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "hostname": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "ip": { + "type": "ip" + }, + "mac": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "network": { + "properties": { + "egress": { + "properties": { + "bytes": { + "type": "long" + }, + "packets": { + "type": "long" + } + } + }, + "ingress": { + "properties": { + "bytes": { + "type": "long" + }, + "packets": { + "type": "long" + } + } + } + } + }, + "os": { + "properties": { + "build": { + "ignore_above": 1024, + "type": "keyword" + }, + "codename": { + "ignore_above": 1024, + "type": "keyword" + }, + "family": { + "ignore_above": 1024, + "type": "keyword" + }, + "full": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "kernel": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "platform": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "uptime": { + "type": "long" + }, + "user": { + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "email": { + "ignore_above": 1024, + "type": "keyword" + }, + "full_name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "group": { + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "hash": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "roles": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "http": { + "dynamic": "false", + "properties": { + "request": { + "properties": { + "body": { + "properties": { + "bytes": { + "type": "long" + }, + "content": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "bytes": { + "type": "long" + }, + "headers": { + "enabled": false, + "type": "object" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "method": { + "ignore_above": 1024, + "type": "keyword" + }, + "mime_type": { + "ignore_above": 1024, + "type": "keyword" + }, + "referrer": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "response": { + "properties": { + "body": { + "properties": { + "bytes": { + "type": "long" + }, + "content": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "bytes": { + "type": "long" + }, + "finished": { + "type": "boolean" + }, + "headers": { + "enabled": false, + "type": "object" + }, + "mime_type": { + "ignore_above": 1024, + "type": "keyword" + }, + "status_code": { + "type": "long" + } + } + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "interface": { + "properties": { + "alias": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "kubernetes": { + "dynamic": "false", + "properties": { + "annotations": { + "properties": { + "*": { + "type": "object" + } + } + }, + "container": { + "properties": { + "image": { + "path": "container.image.name", + "type": "alias" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "deployment": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "labels": { + "properties": { + "*": { + "type": "object" + } + } + }, + "namespace": { + "ignore_above": 1024, + "type": "keyword" + }, + "node": { + "properties": { + "hostname": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "pod": { + "properties": { + "ip": { + "type": "ip" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "uid": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "replicaset": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "selectors": { + "properties": { + "*": { + "type": "object" + } + } + }, + "statefulset": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "labels": { + "dynamic": "true", + "properties": { + "events_encoded": { + "scaling_factor": 1000000, + "type": "scaled_float" + }, + "events_failed": { + "scaling_factor": 1000000, + "type": "scaled_float" + }, + "events_original": { + "scaling_factor": 1000000, + "type": "scaled_float" + }, + "events_published": { + "scaling_factor": 1000000, + "type": "scaled_float" + }, + "foo": { + "type": "keyword" + }, + "productId": { + "type": "keyword" + } + } + }, + "log": { + "properties": { + "file": { + "properties": { + "path": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "level": { + "ignore_above": 1024, + "type": "keyword" + }, + "logger": { + "ignore_above": 1024, + "type": "keyword" + }, + "origin": { + "properties": { + "file": { + "properties": { + "line": { + "type": "long" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "function": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "original": { + "ignore_above": 1024, + "index": false, + "type": "keyword" + }, + "syslog": { + "properties": { + "facility": { + "properties": { + "code": { + "type": "long" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "priority": { + "type": "long" + }, + "severity": { + "properties": { + "code": { + "type": "long" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + } + } + }, + "message": { + "norms": false, + "type": "text" + }, + "metricset": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "period": { + "meta": { + "unit": "ms" + }, + "type": "long" + } + } + }, + "network": { + "dynamic": "false", + "properties": { + "application": { + "ignore_above": 1024, + "type": "keyword" + }, + "bytes": { + "type": "long" + }, + "carrier": { + "properties": { + "icc": { + "ignore_above": 1024, + "type": "keyword" + }, + "mcc": { + "ignore_above": 1024, + "type": "keyword" + }, + "mnc": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "community_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "connection_type": { + "ignore_above": 1024, + "type": "keyword" + }, + "direction": { + "ignore_above": 1024, + "type": "keyword" + }, + "forwarded_ip": { + "type": "ip" + }, + "iana_number": { + "ignore_above": 1024, + "type": "keyword" + }, + "inner": { + "properties": { + "vlan": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "packets": { + "type": "long" + }, + "protocol": { + "ignore_above": 1024, + "type": "keyword" + }, + "transport": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "vlan": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "observer": { + "dynamic": "false", + "properties": { + "egress": { + "properties": { + "interface": { + "properties": { + "alias": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "vlan": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "zone": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "geo": { + "properties": { + "city_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "location": { + "type": "geo_point" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "postal_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "timezone": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "hostname": { + "ignore_above": 1024, + "type": "keyword" + }, + "ingress": { + "properties": { + "interface": { + "properties": { + "alias": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "vlan": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "zone": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "ip": { + "type": "ip" + }, + "listening": { + "ignore_above": 1024, + "type": "keyword" + }, + "mac": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "os": { + "properties": { + "family": { + "ignore_above": 1024, + "type": "keyword" + }, + "full": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "kernel": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "platform": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "product": { + "ignore_above": 1024, + "type": "keyword" + }, + "serial_number": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "vendor": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + }, + "version_major": { + "type": "byte" + } + } + }, + "orchestrator": { + "properties": { + "api_version": { + "ignore_above": 1024, + "type": "keyword" + }, + "cluster": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "url": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "namespace": { + "ignore_above": 1024, + "type": "keyword" + }, + "organization": { + "ignore_above": 1024, + "type": "keyword" + }, + "resource": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "organization": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "os": { + "properties": { + "family": { + "ignore_above": 1024, + "type": "keyword" + }, + "full": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "kernel": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "platform": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "package": { + "properties": { + "architecture": { + "ignore_above": 1024, + "type": "keyword" + }, + "build_version": { + "ignore_above": 1024, + "type": "keyword" + }, + "checksum": { + "ignore_above": 1024, + "type": "keyword" + }, + "description": { + "ignore_above": 1024, + "type": "keyword" + }, + "install_scope": { + "ignore_above": 1024, + "type": "keyword" + }, + "installed": { + "type": "date" + }, + "license": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "path": { + "ignore_above": 1024, + "type": "keyword" + }, + "reference": { + "ignore_above": 1024, + "type": "keyword" + }, + "size": { + "type": "long" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "parent": { + "dynamic": "false", + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "pe": { + "properties": { + "architecture": { + "ignore_above": 1024, + "type": "keyword" + }, + "company": { + "ignore_above": 1024, + "type": "keyword" + }, + "description": { + "ignore_above": 1024, + "type": "keyword" + }, + "file_version": { + "ignore_above": 1024, + "type": "keyword" + }, + "imphash": { + "ignore_above": 1024, + "type": "keyword" + }, + "original_file_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "product": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "process": { + "dynamic": "false", + "properties": { + "args": { + "ignore_above": 1024, + "type": "keyword" + }, + "args_count": { + "type": "long" + }, + "code_signature": { + "properties": { + "exists": { + "type": "boolean" + }, + "signing_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "status": { + "ignore_above": 1024, + "type": "keyword" + }, + "subject_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "team_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "trusted": { + "type": "boolean" + }, + "valid": { + "type": "boolean" + } + } + }, + "command_line": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "entity_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "executable": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "exit_code": { + "type": "long" + }, + "hash": { + "properties": { + "md5": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha1": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha256": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha512": { + "ignore_above": 1024, + "type": "keyword" + }, + "ssdeep": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "parent": { + "properties": { + "args": { + "ignore_above": 1024, + "type": "keyword" + }, + "args_count": { + "type": "long" + }, + "code_signature": { + "properties": { + "exists": { + "type": "boolean" + }, + "signing_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "status": { + "ignore_above": 1024, + "type": "keyword" + }, + "subject_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "team_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "trusted": { + "type": "boolean" + }, + "valid": { + "type": "boolean" + } + } + }, + "command_line": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "entity_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "executable": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "exit_code": { + "type": "long" + }, + "hash": { + "properties": { + "md5": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha1": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha256": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha512": { + "ignore_above": 1024, + "type": "keyword" + }, + "ssdeep": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "pe": { + "properties": { + "architecture": { + "ignore_above": 1024, + "type": "keyword" + }, + "company": { + "ignore_above": 1024, + "type": "keyword" + }, + "description": { + "ignore_above": 1024, + "type": "keyword" + }, + "file_version": { + "ignore_above": 1024, + "type": "keyword" + }, + "imphash": { + "ignore_above": 1024, + "type": "keyword" + }, + "original_file_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "product": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "pgid": { + "type": "long" + }, + "pid": { + "type": "long" + }, + "ppid": { + "type": "long" + }, + "start": { + "type": "date" + }, + "thread": { + "properties": { + "id": { + "type": "long" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "title": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "uptime": { + "type": "long" + }, + "working_directory": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "pe": { + "properties": { + "architecture": { + "ignore_above": 1024, + "type": "keyword" + }, + "company": { + "ignore_above": 1024, + "type": "keyword" + }, + "description": { + "ignore_above": 1024, + "type": "keyword" + }, + "file_version": { + "ignore_above": 1024, + "type": "keyword" + }, + "imphash": { + "ignore_above": 1024, + "type": "keyword" + }, + "original_file_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "product": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "pgid": { + "type": "long" + }, + "pid": { + "type": "long" + }, + "ppid": { + "type": "long" + }, + "start": { + "type": "date" + }, + "thread": { + "properties": { + "id": { + "type": "long" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "title": { + "ignore_above": 1024, + "type": "keyword" + }, + "uptime": { + "type": "long" + }, + "working_directory": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "processor": { + "properties": { + "event": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "profile": { + "dynamic": "false", + "properties": { + "alloc_objects": { + "properties": { + "count": { + "type": "long" + } + } + }, + "alloc_space": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "cpu": { + "properties": { + "ns": { + "meta": { + "unit": "nanos" + }, + "type": "long" + } + } + }, + "duration": { + "meta": { + "unit": "nanos" + }, + "type": "long" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "inuse_objects": { + "properties": { + "count": { + "type": "long" + } + } + }, + "inuse_space": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "samples": { + "properties": { + "count": { + "type": "long" + } + } + }, + "stack": { + "dynamic": "false", + "properties": { + "filename": { + "ignore_above": 1024, + "type": "keyword" + }, + "function": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "line": { + "type": "long" + } + } + }, + "top": { + "dynamic": "false", + "properties": { + "filename": { + "ignore_above": 1024, + "type": "keyword" + }, + "function": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "line": { + "type": "long" + } + } + }, + "wall": { + "properties": { + "us": { + "meta": { + "unit": "micros" + }, + "type": "long" + } + } + } + } + }, + "registry": { + "properties": { + "data": { + "properties": { + "bytes": { + "ignore_above": 1024, + "type": "keyword" + }, + "strings": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "hive": { + "ignore_above": 1024, + "type": "keyword" + }, + "key": { + "ignore_above": 1024, + "type": "keyword" + }, + "path": { + "ignore_above": 1024, + "type": "keyword" + }, + "value": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "related": { + "properties": { + "hash": { + "ignore_above": 1024, + "type": "keyword" + }, + "hosts": { + "ignore_above": 1024, + "type": "keyword" + }, + "ip": { + "type": "ip" + }, + "user": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "rule": { + "properties": { + "author": { + "ignore_above": 1024, + "type": "keyword" + }, + "category": { + "ignore_above": 1024, + "type": "keyword" + }, + "description": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "license": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "reference": { + "ignore_above": 1024, + "type": "keyword" + }, + "ruleset": { + "ignore_above": 1024, + "type": "keyword" + }, + "uuid": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "server": { + "properties": { + "address": { + "ignore_above": 1024, + "type": "keyword" + }, + "as": { + "properties": { + "number": { + "type": "long" + }, + "organization": { + "properties": { + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "bytes": { + "type": "long" + }, + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "geo": { + "properties": { + "city_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "location": { + "type": "geo_point" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "postal_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "timezone": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "ip": { + "type": "ip" + }, + "mac": { + "ignore_above": 1024, + "type": "keyword" + }, + "nat": { + "properties": { + "ip": { + "type": "ip" + }, + "port": { + "type": "long" + } + } + }, + "packets": { + "type": "long" + }, + "port": { + "type": "long" + }, + "registered_domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "subdomain": { + "ignore_above": 1024, + "type": "keyword" + }, + "top_level_domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "user": { + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "email": { + "ignore_above": 1024, + "type": "keyword" + }, + "full_name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "group": { + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "hash": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "roles": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "service": { + "dynamic": "false", + "properties": { + "environment": { + "ignore_above": 1024, + "type": "keyword" + }, + "ephemeral_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "framework": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "language": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "node": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "runtime": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "state": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "session": { + "dynamic": "false", + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "sequence": { + "type": "long" + } + } + }, + "source": { + "dynamic": "false", + "properties": { + "address": { + "ignore_above": 1024, + "type": "keyword" + }, + "as": { + "properties": { + "number": { + "type": "long" + }, + "organization": { + "properties": { + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "bytes": { + "type": "long" + }, + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "geo": { + "properties": { + "city_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "location": { + "type": "geo_point" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "postal_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "timezone": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "ip": { + "type": "ip" + }, + "mac": { + "ignore_above": 1024, + "type": "keyword" + }, + "nat": { + "properties": { + "ip": { + "type": "ip" + }, + "port": { + "type": "long" + } + } + }, + "packets": { + "type": "long" + }, + "port": { + "type": "long" + }, + "registered_domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "subdomain": { + "ignore_above": 1024, + "type": "keyword" + }, + "top_level_domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "user": { + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "email": { + "ignore_above": 1024, + "type": "keyword" + }, + "full_name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "group": { + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "hash": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "roles": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "sourcemap": { + "dynamic": "false", + "properties": { + "bundle_filepath": { + "ignore_above": 1024, + "type": "keyword" + }, + "service": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "span": { + "dynamic": "false", + "properties": { + "action": { + "ignore_above": 1024, + "type": "keyword" + }, + "db": { + "dynamic": "false", + "properties": { + "link": { + "ignore_above": 1024, + "type": "keyword" + }, + "rows_affected": { + "type": "long" + } + } + }, + "destination": { + "dynamic": "false", + "properties": { + "service": { + "dynamic": "false", + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "resource": { + "ignore_above": 1024, + "type": "keyword" + }, + "response_time": { + "properties": { + "count": { + "type": "long" + }, + "sum": { + "properties": { + "us": { + "meta": { + "unit": "micros" + }, + "type": "long" + } + } + } + } + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "duration": { + "properties": { + "us": { + "type": "long" + } + } + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "message": { + "dynamic": "false", + "properties": { + "age": { + "properties": { + "ms": { + "type": "long" + } + } + }, + "queue": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "self_time": { + "properties": { + "count": { + "type": "long" + }, + "sum": { + "properties": { + "us": { + "meta": { + "unit": "micros" + }, + "type": "long" + } + } + } + } + }, + "start": { + "properties": { + "us": { + "type": "long" + } + } + }, + "subtype": { + "ignore_above": 1024, + "type": "keyword" + }, + "sync": { + "type": "boolean" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "system": { + "properties": { + "cpu": { + "properties": { + "total": { + "properties": { + "norm": { + "properties": { + "pct": { + "meta": { + "metric_type": "gauge", + "unit": "percent" + }, + "scaling_factor": 1000, + "type": "scaled_float" + } + } + } + } + } + } + }, + "memory": { + "properties": { + "actual": { + "properties": { + "free": { + "meta": { + "metric_type": "gauge", + "unit": "byte" + }, + "type": "long" + } + } + }, + "total": { + "meta": { + "metric_type": "gauge", + "unit": "byte" + }, + "type": "long" + } + } + }, + "process": { + "properties": { + "cgroup": { + "properties": { + "cpu": { + "properties": { + "cfs": { + "properties": { + "period": { + "properties": { + "us": { + "meta": { + "metric_type": "gauge", + "unit": "micros" + }, + "type": "long" + } + } + }, + "quota": { + "properties": { + "us": { + "meta": { + "metric_type": "gauge", + "unit": "micros" + }, + "type": "long" + } + } + } + } + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "stats": { + "properties": { + "periods": { + "meta": { + "metric_type": "counter" + }, + "type": "long" + }, + "throttled": { + "properties": { + "ns": { + "meta": { + "metric_type": "counter", + "unit": "nanos" + }, + "type": "long" + }, + "periods": { + "meta": { + "metric_type": "counter" + }, + "type": "long" + } + } + } + } + } + } + }, + "cpuacct": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "total": { + "properties": { + "ns": { + "meta": { + "metric_type": "counter", + "unit": "nanos" + }, + "type": "long" + } + } + } + } + }, + "memory": { + "properties": { + "mem": { + "properties": { + "limit": { + "properties": { + "bytes": { + "meta": { + "metric_type": "gauge", + "unit": "byte" + }, + "type": "long" + } + } + }, + "usage": { + "properties": { + "bytes": { + "meta": { + "metric_type": "gauge", + "unit": "byte" + }, + "type": "long" + } + } + } + } + } + } + } + } + }, + "cpu": { + "properties": { + "total": { + "properties": { + "norm": { + "properties": { + "pct": { + "meta": { + "metric_type": "gauge", + "unit": "percent" + }, + "scaling_factor": 1000, + "type": "scaled_float" + } + } + } + } + } + } + }, + "memory": { + "properties": { + "rss": { + "properties": { + "bytes": { + "meta": { + "metric_type": "gauge", + "unit": "byte" + }, + "type": "long" + } + } + }, + "size": { + "meta": { + "metric_type": "gauge", + "unit": "byte" + }, + "type": "long" + } + } + } + } + } + } + }, + "tags": { + "ignore_above": 1024, + "type": "keyword" + }, + "threat": { + "properties": { + "framework": { + "ignore_above": 1024, + "type": "keyword" + }, + "tactic": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "reference": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "technique": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "reference": { + "ignore_above": 1024, + "type": "keyword" + }, + "subtechnique": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "reference": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + } + } + }, + "timeseries": { + "properties": { + "instance": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "timestamp": { + "properties": { + "us": { + "type": "long" + } + } + }, + "tls": { + "properties": { + "cipher": { + "ignore_above": 1024, + "type": "keyword" + }, + "client": { + "properties": { + "certificate": { + "ignore_above": 1024, + "type": "keyword" + }, + "certificate_chain": { + "ignore_above": 1024, + "type": "keyword" + }, + "hash": { + "properties": { + "md5": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha1": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha256": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "issuer": { + "ignore_above": 1024, + "type": "keyword" + }, + "ja3": { + "ignore_above": 1024, + "type": "keyword" + }, + "not_after": { + "type": "date" + }, + "not_before": { + "type": "date" + }, + "server_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "subject": { + "ignore_above": 1024, + "type": "keyword" + }, + "supported_ciphers": { + "ignore_above": 1024, + "type": "keyword" + }, + "x509": { + "properties": { + "alternative_names": { + "ignore_above": 1024, + "type": "keyword" + }, + "issuer": { + "properties": { + "common_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country": { + "ignore_above": 1024, + "type": "keyword" + }, + "distinguished_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "locality": { + "ignore_above": 1024, + "type": "keyword" + }, + "organization": { + "ignore_above": 1024, + "type": "keyword" + }, + "organizational_unit": { + "ignore_above": 1024, + "type": "keyword" + }, + "state_or_province": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "not_after": { + "type": "date" + }, + "not_before": { + "type": "date" + }, + "public_key_algorithm": { + "ignore_above": 1024, + "type": "keyword" + }, + "public_key_curve": { + "ignore_above": 1024, + "type": "keyword" + }, + "public_key_exponent": { + "index": false, + "type": "long" + }, + "public_key_size": { + "type": "long" + }, + "serial_number": { + "ignore_above": 1024, + "type": "keyword" + }, + "signature_algorithm": { + "ignore_above": 1024, + "type": "keyword" + }, + "subject": { + "properties": { + "common_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country": { + "ignore_above": 1024, + "type": "keyword" + }, + "distinguished_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "locality": { + "ignore_above": 1024, + "type": "keyword" + }, + "organization": { + "ignore_above": 1024, + "type": "keyword" + }, + "organizational_unit": { + "ignore_above": 1024, + "type": "keyword" + }, + "state_or_province": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "version_number": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "curve": { + "ignore_above": 1024, + "type": "keyword" + }, + "established": { + "type": "boolean" + }, + "next_protocol": { + "ignore_above": 1024, + "type": "keyword" + }, + "resumed": { + "type": "boolean" + }, + "server": { + "properties": { + "certificate": { + "ignore_above": 1024, + "type": "keyword" + }, + "certificate_chain": { + "ignore_above": 1024, + "type": "keyword" + }, + "hash": { + "properties": { + "md5": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha1": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha256": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "issuer": { + "ignore_above": 1024, + "type": "keyword" + }, + "ja3s": { + "ignore_above": 1024, + "type": "keyword" + }, + "not_after": { + "type": "date" + }, + "not_before": { + "type": "date" + }, + "subject": { + "ignore_above": 1024, + "type": "keyword" + }, + "x509": { + "properties": { + "alternative_names": { + "ignore_above": 1024, + "type": "keyword" + }, + "issuer": { + "properties": { + "common_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country": { + "ignore_above": 1024, + "type": "keyword" + }, + "distinguished_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "locality": { + "ignore_above": 1024, + "type": "keyword" + }, + "organization": { + "ignore_above": 1024, + "type": "keyword" + }, + "organizational_unit": { + "ignore_above": 1024, + "type": "keyword" + }, + "state_or_province": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "not_after": { + "type": "date" + }, + "not_before": { + "type": "date" + }, + "public_key_algorithm": { + "ignore_above": 1024, + "type": "keyword" + }, + "public_key_curve": { + "ignore_above": 1024, + "type": "keyword" + }, + "public_key_exponent": { + "index": false, + "type": "long" + }, + "public_key_size": { + "type": "long" + }, + "serial_number": { + "ignore_above": 1024, + "type": "keyword" + }, + "signature_algorithm": { + "ignore_above": 1024, + "type": "keyword" + }, + "subject": { + "properties": { + "common_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country": { + "ignore_above": 1024, + "type": "keyword" + }, + "distinguished_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "locality": { + "ignore_above": 1024, + "type": "keyword" + }, + "organization": { + "ignore_above": 1024, + "type": "keyword" + }, + "organizational_unit": { + "ignore_above": 1024, + "type": "keyword" + }, + "state_or_province": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "version_number": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + }, + "version_protocol": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "trace": { + "dynamic": "false", + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "transaction": { + "dynamic": "false", + "properties": { + "breakdown": { + "properties": { + "count": { + "type": "long" + } + } + }, + "duration": { + "properties": { + "count": { + "type": "long" + }, + "histogram": { + "type": "histogram" + }, + "sum": { + "properties": { + "us": { + "meta": { + "unit": "micros" + }, + "type": "long" + } + } + }, + "us": { + "type": "long" + } + } + }, + "experience": { + "properties": { + "cls": { + "scaling_factor": 1000000, + "type": "scaled_float" + }, + "fid": { + "scaling_factor": 1000000, + "type": "scaled_float" + }, + "longtask": { + "properties": { + "count": { + "type": "long" + }, + "max": { + "scaling_factor": 1000000, + "type": "scaled_float" + }, + "sum": { + "scaling_factor": 1000000, + "type": "scaled_float" + } + } + }, + "tbt": { + "scaling_factor": 1000000, + "type": "scaled_float" + } + } + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "marks": { + "dynamic": "true", + "properties": { + "*": { + "properties": { + "*": { + "dynamic": "true", + "type": "object" + } + } + } + } + }, + "message": { + "dynamic": "false", + "properties": { + "age": { + "properties": { + "ms": { + "type": "long" + } + } + }, + "queue": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "result": { + "ignore_above": 1024, + "type": "keyword" + }, + "root": { + "type": "boolean" + }, + "sampled": { + "type": "boolean" + }, + "self_time": { + "properties": { + "count": { + "type": "long" + }, + "sum": { + "properties": { + "us": { + "meta": { + "unit": "micros" + }, + "type": "long" + } + } + } + } + }, + "span_count": { + "properties": { + "dropped": { + "type": "long" + } + } + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "url": { + "dynamic": "false", + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "extension": { + "ignore_above": 1024, + "type": "keyword" + }, + "fragment": { + "ignore_above": 1024, + "type": "keyword" + }, + "full": { + "ignore_above": 1024, + "type": "keyword" + }, + "original": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "password": { + "ignore_above": 1024, + "type": "keyword" + }, + "path": { + "ignore_above": 1024, + "type": "keyword" + }, + "port": { + "type": "long" + }, + "query": { + "ignore_above": 1024, + "type": "keyword" + }, + "registered_domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "scheme": { + "ignore_above": 1024, + "type": "keyword" + }, + "subdomain": { + "ignore_above": 1024, + "type": "keyword" + }, + "top_level_domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "username": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "user": { + "dynamic": "false", + "properties": { + "changes": { + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "email": { + "ignore_above": 1024, + "type": "keyword" + }, + "full_name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "group": { + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "hash": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "roles": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "effective": { + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "email": { + "ignore_above": 1024, + "type": "keyword" + }, + "full_name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "group": { + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "hash": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "roles": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "email": { + "ignore_above": 1024, + "type": "keyword" + }, + "full_name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "group": { + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "hash": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "roles": { + "ignore_above": 1024, + "type": "keyword" + }, + "target": { + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "email": { + "ignore_above": 1024, + "type": "keyword" + }, + "full_name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "group": { + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "hash": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "roles": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "user_agent": { + "dynamic": "false", + "properties": { + "device": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "original": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "os": { + "properties": { + "family": { + "ignore_above": 1024, + "type": "keyword" + }, + "full": { + "ignore_above": 1024, + "type": "keyword" + }, + "kernel": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "platform": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "vlan": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "vulnerability": { + "properties": { + "category": { + "ignore_above": 1024, + "type": "keyword" + }, + "classification": { + "ignore_above": 1024, + "type": "keyword" + }, + "description": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "enumeration": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "reference": { + "ignore_above": 1024, + "type": "keyword" + }, + "report_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "scanner": { + "properties": { + "vendor": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "score": { + "properties": { + "base": { + "type": "float" + }, + "environmental": { + "type": "float" + }, + "temporal": { + "type": "float" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "severity": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "x509": { + "properties": { + "alternative_names": { + "ignore_above": 1024, + "type": "keyword" + }, + "issuer": { + "properties": { + "common_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country": { + "ignore_above": 1024, + "type": "keyword" + }, + "distinguished_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "locality": { + "ignore_above": 1024, + "type": "keyword" + }, + "organization": { + "ignore_above": 1024, + "type": "keyword" + }, + "organizational_unit": { + "ignore_above": 1024, + "type": "keyword" + }, + "state_or_province": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "not_after": { + "type": "date" + }, + "not_before": { + "type": "date" + }, + "public_key_algorithm": { + "ignore_above": 1024, + "type": "keyword" + }, + "public_key_curve": { + "ignore_above": 1024, + "type": "keyword" + }, + "public_key_exponent": { + "index": false, + "type": "long" + }, + "public_key_size": { + "type": "long" + }, + "serial_number": { + "ignore_above": 1024, + "type": "keyword" + }, + "signature_algorithm": { + "ignore_above": 1024, + "type": "keyword" + }, + "subject": { + "properties": { + "common_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country": { + "ignore_above": 1024, + "type": "keyword" + }, + "distinguished_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "locality": { + "ignore_above": 1024, + "type": "keyword" + }, + "organization": { + "ignore_above": 1024, + "type": "keyword" + }, + "organizational_unit": { + "ignore_above": 1024, + "type": "keyword" + }, + "state_or_province": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "version_number": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "settings": { + "index": { + "auto_expand_replicas": "0-1", + "blocks": { + "read_only_allow_delete": "false" + }, + "codec": "best_compression", + "lifecycle": { + "name": "apm-rollover-30-days", + "rollover_alias": "apm-7.14.0-span" + }, + "mapping": { + "total_fields": { + "limit": "2000" + } + }, + "max_docvalue_fields_search": "200", + "number_of_replicas": "1", + "number_of_shards": "1", + "priority": "100", + "refresh_interval": "5s" + } + } + } +} + +{ + "type": "index", + "value": { + "aliases": { + "apm-7.14.0-transaction": { + "is_write_index": true + } + }, + "index": "apm-7.14.0-transaction-000001", + "mappings": { + "_meta": { + "beat": "apm", + "version": "7.14.0" + }, + "date_detection": false, + "dynamic_templates": [ + { + "labels": { + "mapping": { + "type": "keyword" + }, + "match_mapping_type": "string", + "path_match": "labels.*" + } + }, + { + "container.labels": { + "mapping": { + "type": "keyword" + }, + "match_mapping_type": "string", + "path_match": "container.labels.*" + } + }, + { + "fields": { + "mapping": { + "type": "keyword" + }, + "match_mapping_type": "string", + "path_match": "fields.*" + } + }, + { + "docker.container.labels": { + "mapping": { + "type": "keyword" + }, + "match_mapping_type": "string", + "path_match": "docker.container.labels.*" + } + }, + { + "kubernetes.labels.*": { + "mapping": { + "type": "keyword" + }, + "path_match": "kubernetes.labels.*" + } + }, + { + "kubernetes.annotations.*": { + "mapping": { + "type": "keyword" + }, + "path_match": "kubernetes.annotations.*" + } + }, + { + "kubernetes.selectors.*": { + "mapping": { + "type": "keyword" + }, + "path_match": "kubernetes.selectors.*" + } + }, + { + "labels_string": { + "mapping": { + "type": "keyword" + }, + "match_mapping_type": "string", + "path_match": "labels.*" + } + }, + { + "labels_boolean": { + "mapping": { + "type": "boolean" + }, + "match_mapping_type": "boolean", + "path_match": "labels.*" + } + }, + { + "labels_*": { + "mapping": { + "scaling_factor": 1000000, + "type": "scaled_float" + }, + "path_match": "labels.*" + } + }, + { + "histogram": { + "mapping": { + "type": "histogram" + } + } + }, + { + "transaction.marks": { + "mapping": { + "type": "keyword" + }, + "match_mapping_type": "string", + "path_match": "transaction.marks.*" + } + }, + { + "transaction.marks.*.*": { + "mapping": { + "scaling_factor": 1000000, + "type": "scaled_float" + }, + "path_match": "transaction.marks.*.*" + } + }, + { + "strings_as_keyword": { + "mapping": { + "ignore_above": 1024, + "type": "keyword" + }, + "match_mapping_type": "string" + } + } + ], + "properties": { + "@timestamp": { + "type": "date" + }, + "agent": { + "dynamic": "false", + "properties": { + "build": { + "properties": { + "original": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "ephemeral_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "hostname": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "as": { + "properties": { + "number": { + "type": "long" + }, + "organization": { + "properties": { + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "child": { + "dynamic": "false", + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "client": { + "dynamic": "false", + "properties": { + "address": { + "ignore_above": 1024, + "type": "keyword" + }, + "as": { + "properties": { + "number": { + "type": "long" + }, + "organization": { + "properties": { + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "bytes": { + "type": "long" + }, + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "geo": { + "properties": { + "city_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "location": { + "type": "geo_point" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "postal_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "timezone": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "ip": { + "type": "ip" + }, + "mac": { + "ignore_above": 1024, + "type": "keyword" + }, + "nat": { + "properties": { + "ip": { + "type": "ip" + }, + "port": { + "type": "long" + } + } + }, + "packets": { + "type": "long" + }, + "port": { + "type": "long" + }, + "registered_domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "subdomain": { + "ignore_above": 1024, + "type": "keyword" + }, + "top_level_domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "user": { + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "email": { + "ignore_above": 1024, + "type": "keyword" + }, + "full_name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "group": { + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "hash": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "roles": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "cloud": { + "properties": { + "account": { + "dynamic": "false", + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "availability_zone": { + "ignore_above": 1024, + "type": "keyword" + }, + "image": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "instance": { + "dynamic": "false", + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "machine": { + "dynamic": "false", + "properties": { + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "project": { + "dynamic": "false", + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "provider": { + "ignore_above": 1024, + "type": "keyword" + }, + "region": { + "ignore_above": 1024, + "type": "keyword" + }, + "service": { + "dynamic": "false", + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "code_signature": { + "properties": { + "exists": { + "type": "boolean" + }, + "signing_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "status": { + "ignore_above": 1024, + "type": "keyword" + }, + "subject_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "team_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "trusted": { + "type": "boolean" + }, + "valid": { + "type": "boolean" + } + } + }, + "container": { + "dynamic": "false", + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "image": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "tag": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "labels": { + "type": "object" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "runtime": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "data_stream": { + "properties": { + "dataset": { + "type": "constant_keyword" + }, + "namespace": { + "type": "constant_keyword" + }, + "type": { + "type": "constant_keyword" + } + } + }, + "destination": { + "properties": { + "address": { + "ignore_above": 1024, + "type": "keyword" + }, + "as": { + "properties": { + "number": { + "type": "long" + }, + "organization": { + "properties": { + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "bytes": { + "type": "long" + }, + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "geo": { + "properties": { + "city_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "location": { + "type": "geo_point" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "postal_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "timezone": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "ip": { + "type": "ip" + }, + "mac": { + "ignore_above": 1024, + "type": "keyword" + }, + "nat": { + "properties": { + "ip": { + "type": "ip" + }, + "port": { + "type": "long" + } + } + }, + "packets": { + "type": "long" + }, + "port": { + "type": "long" + }, + "registered_domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "subdomain": { + "ignore_above": 1024, + "type": "keyword" + }, + "top_level_domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "user": { + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "email": { + "ignore_above": 1024, + "type": "keyword" + }, + "full_name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "group": { + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "hash": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "roles": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "dll": { + "properties": { + "code_signature": { + "properties": { + "exists": { + "type": "boolean" + }, + "signing_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "status": { + "ignore_above": 1024, + "type": "keyword" + }, + "subject_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "team_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "trusted": { + "type": "boolean" + }, + "valid": { + "type": "boolean" + } + } + }, + "hash": { + "properties": { + "md5": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha1": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha256": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha512": { + "ignore_above": 1024, + "type": "keyword" + }, + "ssdeep": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "path": { + "ignore_above": 1024, + "type": "keyword" + }, + "pe": { + "properties": { + "architecture": { + "ignore_above": 1024, + "type": "keyword" + }, + "company": { + "ignore_above": 1024, + "type": "keyword" + }, + "description": { + "ignore_above": 1024, + "type": "keyword" + }, + "file_version": { + "ignore_above": 1024, + "type": "keyword" + }, + "imphash": { + "ignore_above": 1024, + "type": "keyword" + }, + "original_file_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "product": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "dns": { + "properties": { + "answers": { + "properties": { + "class": { + "ignore_above": 1024, + "type": "keyword" + }, + "data": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "ttl": { + "type": "long" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "header_flags": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "op_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "question": { + "properties": { + "class": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "registered_domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "subdomain": { + "ignore_above": 1024, + "type": "keyword" + }, + "top_level_domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "resolved_ip": { + "type": "ip" + }, + "response_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "docker": { + "properties": { + "container": { + "properties": { + "labels": { + "type": "object" + } + } + } + } + }, + "ecs": { + "properties": { + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "error": { + "dynamic": "false", + "properties": { + "code": { + "ignore_above": 1024, + "type": "keyword" + }, + "culprit": { + "ignore_above": 1024, + "type": "keyword" + }, + "exception": { + "properties": { + "code": { + "ignore_above": 1024, + "type": "keyword" + }, + "handled": { + "type": "boolean" + }, + "message": { + "norms": false, + "type": "text" + }, + "module": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "grouping_key": { + "ignore_above": 1024, + "type": "keyword" + }, + "grouping_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "log": { + "properties": { + "level": { + "ignore_above": 1024, + "type": "keyword" + }, + "logger_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "message": { + "norms": false, + "type": "text" + }, + "param_message": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "message": { + "norms": false, + "type": "text" + }, + "stack_trace": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "index": false, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "event": { + "properties": { + "action": { + "ignore_above": 1024, + "type": "keyword" + }, + "category": { + "ignore_above": 1024, + "type": "keyword" + }, + "code": { + "ignore_above": 1024, + "type": "keyword" + }, + "created": { + "type": "date" + }, + "dataset": { + "ignore_above": 1024, + "type": "keyword" + }, + "duration": { + "type": "long" + }, + "end": { + "type": "date" + }, + "hash": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "ingested": { + "type": "date" + }, + "kind": { + "ignore_above": 1024, + "type": "keyword" + }, + "module": { + "ignore_above": 1024, + "type": "keyword" + }, + "original": { + "ignore_above": 1024, + "index": false, + "type": "keyword" + }, + "outcome": { + "ignore_above": 1024, + "type": "keyword" + }, + "provider": { + "ignore_above": 1024, + "type": "keyword" + }, + "reason": { + "ignore_above": 1024, + "type": "keyword" + }, + "reference": { + "ignore_above": 1024, + "type": "keyword" + }, + "risk_score": { + "type": "float" + }, + "risk_score_norm": { + "type": "float" + }, + "sequence": { + "type": "long" + }, + "severity": { + "type": "long" + }, + "start": { + "type": "date" + }, + "timezone": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "url": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "experimental": { + "dynamic": "true", + "type": "object" + }, + "fields": { + "type": "object" + }, + "file": { + "properties": { + "accessed": { + "type": "date" + }, + "attributes": { + "ignore_above": 1024, + "type": "keyword" + }, + "code_signature": { + "properties": { + "exists": { + "type": "boolean" + }, + "signing_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "status": { + "ignore_above": 1024, + "type": "keyword" + }, + "subject_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "team_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "trusted": { + "type": "boolean" + }, + "valid": { + "type": "boolean" + } + } + }, + "created": { + "type": "date" + }, + "ctime": { + "type": "date" + }, + "device": { + "ignore_above": 1024, + "type": "keyword" + }, + "directory": { + "ignore_above": 1024, + "type": "keyword" + }, + "drive_letter": { + "ignore_above": 1, + "type": "keyword" + }, + "extension": { + "ignore_above": 1024, + "type": "keyword" + }, + "gid": { + "ignore_above": 1024, + "type": "keyword" + }, + "group": { + "ignore_above": 1024, + "type": "keyword" + }, + "hash": { + "properties": { + "md5": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha1": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha256": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha512": { + "ignore_above": 1024, + "type": "keyword" + }, + "ssdeep": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "inode": { + "ignore_above": 1024, + "type": "keyword" + }, + "mime_type": { + "ignore_above": 1024, + "type": "keyword" + }, + "mode": { + "ignore_above": 1024, + "type": "keyword" + }, + "mtime": { + "type": "date" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "owner": { + "ignore_above": 1024, + "type": "keyword" + }, + "path": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "pe": { + "properties": { + "architecture": { + "ignore_above": 1024, + "type": "keyword" + }, + "company": { + "ignore_above": 1024, + "type": "keyword" + }, + "description": { + "ignore_above": 1024, + "type": "keyword" + }, + "file_version": { + "ignore_above": 1024, + "type": "keyword" + }, + "imphash": { + "ignore_above": 1024, + "type": "keyword" + }, + "original_file_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "product": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "size": { + "type": "long" + }, + "target_path": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "uid": { + "ignore_above": 1024, + "type": "keyword" + }, + "x509": { + "properties": { + "alternative_names": { + "ignore_above": 1024, + "type": "keyword" + }, + "issuer": { + "properties": { + "common_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country": { + "ignore_above": 1024, + "type": "keyword" + }, + "distinguished_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "locality": { + "ignore_above": 1024, + "type": "keyword" + }, + "organization": { + "ignore_above": 1024, + "type": "keyword" + }, + "organizational_unit": { + "ignore_above": 1024, + "type": "keyword" + }, + "state_or_province": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "not_after": { + "type": "date" + }, + "not_before": { + "type": "date" + }, + "public_key_algorithm": { + "ignore_above": 1024, + "type": "keyword" + }, + "public_key_curve": { + "ignore_above": 1024, + "type": "keyword" + }, + "public_key_exponent": { + "index": false, + "type": "long" + }, + "public_key_size": { + "type": "long" + }, + "serial_number": { + "ignore_above": 1024, + "type": "keyword" + }, + "signature_algorithm": { + "ignore_above": 1024, + "type": "keyword" + }, + "subject": { + "properties": { + "common_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country": { + "ignore_above": 1024, + "type": "keyword" + }, + "distinguished_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "locality": { + "ignore_above": 1024, + "type": "keyword" + }, + "organization": { + "ignore_above": 1024, + "type": "keyword" + }, + "organizational_unit": { + "ignore_above": 1024, + "type": "keyword" + }, + "state_or_province": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "version_number": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "geo": { + "properties": { + "city_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "location": { + "type": "geo_point" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "postal_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "timezone": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "group": { + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "hash": { + "properties": { + "md5": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha1": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha256": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha512": { + "ignore_above": 1024, + "type": "keyword" + }, + "ssdeep": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "host": { + "dynamic": "false", + "properties": { + "architecture": { + "ignore_above": 1024, + "type": "keyword" + }, + "containerized": { + "type": "boolean" + }, + "cpu": { + "properties": { + "usage": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + }, + "disk": { + "properties": { + "read": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "write": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + }, + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "geo": { + "properties": { + "city_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "location": { + "type": "geo_point" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "postal_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "timezone": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "hostname": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "ip": { + "type": "ip" + }, + "mac": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "network": { + "properties": { + "egress": { + "properties": { + "bytes": { + "type": "long" + }, + "packets": { + "type": "long" + } + } + }, + "ingress": { + "properties": { + "bytes": { + "type": "long" + }, + "packets": { + "type": "long" + } + } + } + } + }, + "os": { + "properties": { + "build": { + "ignore_above": 1024, + "type": "keyword" + }, + "codename": { + "ignore_above": 1024, + "type": "keyword" + }, + "family": { + "ignore_above": 1024, + "type": "keyword" + }, + "full": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "kernel": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "platform": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "uptime": { + "type": "long" + }, + "user": { + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "email": { + "ignore_above": 1024, + "type": "keyword" + }, + "full_name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "group": { + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "hash": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "roles": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "http": { + "dynamic": "false", + "properties": { + "request": { + "properties": { + "body": { + "properties": { + "bytes": { + "type": "long" + }, + "content": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "bytes": { + "type": "long" + }, + "headers": { + "enabled": false, + "type": "object" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "method": { + "ignore_above": 1024, + "type": "keyword" + }, + "mime_type": { + "ignore_above": 1024, + "type": "keyword" + }, + "referrer": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "response": { + "properties": { + "body": { + "properties": { + "bytes": { + "type": "long" + }, + "content": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "bytes": { + "type": "long" + }, + "finished": { + "type": "boolean" + }, + "headers": { + "enabled": false, + "type": "object" + }, + "mime_type": { + "ignore_above": 1024, + "type": "keyword" + }, + "status_code": { + "type": "long" + } + } + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "interface": { + "properties": { + "alias": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "kubernetes": { + "dynamic": "false", + "properties": { + "annotations": { + "properties": { + "*": { + "type": "object" + } + } + }, + "container": { + "properties": { + "image": { + "path": "container.image.name", + "type": "alias" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "deployment": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "labels": { + "properties": { + "*": { + "type": "object" + } + } + }, + "namespace": { + "ignore_above": 1024, + "type": "keyword" + }, + "node": { + "properties": { + "hostname": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "pod": { + "properties": { + "ip": { + "type": "ip" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "uid": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "replicaset": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "selectors": { + "properties": { + "*": { + "type": "object" + } + } + }, + "statefulset": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "labels": { + "dynamic": "true", + "properties": { + "company": { + "type": "keyword" + }, + "customer_email": { + "type": "keyword" + }, + "customer_name": { + "type": "keyword" + }, + "customer_tier": { + "type": "keyword" + }, + "foo": { + "type": "keyword" + }, + "lorem": { + "type": "keyword" + }, + "multi-line": { + "type": "keyword" + }, + "request_id": { + "type": "keyword" + }, + "served_from_cache": { + "type": "keyword" + }, + "this-is-a-very-long-tag-name-without-any-spaces": { + "type": "keyword" + }, + "worker": { + "type": "keyword" + } + } + }, + "log": { + "properties": { + "file": { + "properties": { + "path": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "level": { + "ignore_above": 1024, + "type": "keyword" + }, + "logger": { + "ignore_above": 1024, + "type": "keyword" + }, + "origin": { + "properties": { + "file": { + "properties": { + "line": { + "type": "long" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "function": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "original": { + "ignore_above": 1024, + "index": false, + "type": "keyword" + }, + "syslog": { + "properties": { + "facility": { + "properties": { + "code": { + "type": "long" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "priority": { + "type": "long" + }, + "severity": { + "properties": { + "code": { + "type": "long" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + } + } + }, + "message": { + "norms": false, + "type": "text" + }, + "metricset": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "period": { + "meta": { + "unit": "ms" + }, + "type": "long" + } + } + }, + "network": { + "dynamic": "false", + "properties": { + "application": { + "ignore_above": 1024, + "type": "keyword" + }, + "bytes": { + "type": "long" + }, + "carrier": { + "properties": { + "icc": { + "ignore_above": 1024, + "type": "keyword" + }, + "mcc": { + "ignore_above": 1024, + "type": "keyword" + }, + "mnc": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "community_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "connection_type": { + "ignore_above": 1024, + "type": "keyword" + }, + "direction": { + "ignore_above": 1024, + "type": "keyword" + }, + "forwarded_ip": { + "type": "ip" + }, + "iana_number": { + "ignore_above": 1024, + "type": "keyword" + }, + "inner": { + "properties": { + "vlan": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "packets": { + "type": "long" + }, + "protocol": { + "ignore_above": 1024, + "type": "keyword" + }, + "transport": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "vlan": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "observer": { + "dynamic": "false", + "properties": { + "egress": { + "properties": { + "interface": { + "properties": { + "alias": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "vlan": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "zone": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "geo": { + "properties": { + "city_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "location": { + "type": "geo_point" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "postal_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "timezone": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "hostname": { + "ignore_above": 1024, + "type": "keyword" + }, + "ingress": { + "properties": { + "interface": { + "properties": { + "alias": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "vlan": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "zone": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "ip": { + "type": "ip" + }, + "listening": { + "ignore_above": 1024, + "type": "keyword" + }, + "mac": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "os": { + "properties": { + "family": { + "ignore_above": 1024, + "type": "keyword" + }, + "full": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "kernel": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "platform": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "product": { + "ignore_above": 1024, + "type": "keyword" + }, + "serial_number": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "vendor": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + }, + "version_major": { + "type": "byte" + } + } + }, + "orchestrator": { + "properties": { + "api_version": { + "ignore_above": 1024, + "type": "keyword" + }, + "cluster": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "url": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "namespace": { + "ignore_above": 1024, + "type": "keyword" + }, + "organization": { + "ignore_above": 1024, + "type": "keyword" + }, + "resource": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "organization": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "os": { + "properties": { + "family": { + "ignore_above": 1024, + "type": "keyword" + }, + "full": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "kernel": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "platform": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "package": { + "properties": { + "architecture": { + "ignore_above": 1024, + "type": "keyword" + }, + "build_version": { + "ignore_above": 1024, + "type": "keyword" + }, + "checksum": { + "ignore_above": 1024, + "type": "keyword" + }, + "description": { + "ignore_above": 1024, + "type": "keyword" + }, + "install_scope": { + "ignore_above": 1024, + "type": "keyword" + }, + "installed": { + "type": "date" + }, + "license": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "path": { + "ignore_above": 1024, + "type": "keyword" + }, + "reference": { + "ignore_above": 1024, + "type": "keyword" + }, + "size": { + "type": "long" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "parent": { + "dynamic": "false", + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "pe": { + "properties": { + "architecture": { + "ignore_above": 1024, + "type": "keyword" + }, + "company": { + "ignore_above": 1024, + "type": "keyword" + }, + "description": { + "ignore_above": 1024, + "type": "keyword" + }, + "file_version": { + "ignore_above": 1024, + "type": "keyword" + }, + "imphash": { + "ignore_above": 1024, + "type": "keyword" + }, + "original_file_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "product": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "process": { + "dynamic": "false", + "properties": { + "args": { + "ignore_above": 1024, + "type": "keyword" + }, + "args_count": { + "type": "long" + }, + "code_signature": { + "properties": { + "exists": { + "type": "boolean" + }, + "signing_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "status": { + "ignore_above": 1024, + "type": "keyword" + }, + "subject_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "team_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "trusted": { + "type": "boolean" + }, + "valid": { + "type": "boolean" + } + } + }, + "command_line": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "entity_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "executable": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "exit_code": { + "type": "long" + }, + "hash": { + "properties": { + "md5": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha1": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha256": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha512": { + "ignore_above": 1024, + "type": "keyword" + }, + "ssdeep": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "parent": { + "properties": { + "args": { + "ignore_above": 1024, + "type": "keyword" + }, + "args_count": { + "type": "long" + }, + "code_signature": { + "properties": { + "exists": { + "type": "boolean" + }, + "signing_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "status": { + "ignore_above": 1024, + "type": "keyword" + }, + "subject_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "team_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "trusted": { + "type": "boolean" + }, + "valid": { + "type": "boolean" + } + } + }, + "command_line": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "entity_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "executable": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "exit_code": { + "type": "long" + }, + "hash": { + "properties": { + "md5": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha1": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha256": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha512": { + "ignore_above": 1024, + "type": "keyword" + }, + "ssdeep": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "pe": { + "properties": { + "architecture": { + "ignore_above": 1024, + "type": "keyword" + }, + "company": { + "ignore_above": 1024, + "type": "keyword" + }, + "description": { + "ignore_above": 1024, + "type": "keyword" + }, + "file_version": { + "ignore_above": 1024, + "type": "keyword" + }, + "imphash": { + "ignore_above": 1024, + "type": "keyword" + }, + "original_file_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "product": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "pgid": { + "type": "long" + }, + "pid": { + "type": "long" + }, + "ppid": { + "type": "long" + }, + "start": { + "type": "date" + }, + "thread": { + "properties": { + "id": { + "type": "long" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "title": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "uptime": { + "type": "long" + }, + "working_directory": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "pe": { + "properties": { + "architecture": { + "ignore_above": 1024, + "type": "keyword" + }, + "company": { + "ignore_above": 1024, + "type": "keyword" + }, + "description": { + "ignore_above": 1024, + "type": "keyword" + }, + "file_version": { + "ignore_above": 1024, + "type": "keyword" + }, + "imphash": { + "ignore_above": 1024, + "type": "keyword" + }, + "original_file_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "product": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "pgid": { + "type": "long" + }, + "pid": { + "type": "long" + }, + "ppid": { + "type": "long" + }, + "start": { + "type": "date" + }, + "thread": { + "properties": { + "id": { + "type": "long" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "title": { + "ignore_above": 1024, + "type": "keyword" + }, + "uptime": { + "type": "long" + }, + "working_directory": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "processor": { + "properties": { + "event": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "profile": { + "dynamic": "false", + "properties": { + "alloc_objects": { + "properties": { + "count": { + "type": "long" + } + } + }, + "alloc_space": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "cpu": { + "properties": { + "ns": { + "meta": { + "unit": "nanos" + }, + "type": "long" + } + } + }, + "duration": { + "meta": { + "unit": "nanos" + }, + "type": "long" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "inuse_objects": { + "properties": { + "count": { + "type": "long" + } + } + }, + "inuse_space": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "samples": { + "properties": { + "count": { + "type": "long" + } + } + }, + "stack": { + "dynamic": "false", + "properties": { + "filename": { + "ignore_above": 1024, + "type": "keyword" + }, + "function": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "line": { + "type": "long" + } + } + }, + "top": { + "dynamic": "false", + "properties": { + "filename": { + "ignore_above": 1024, + "type": "keyword" + }, + "function": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "line": { + "type": "long" + } + } + }, + "wall": { + "properties": { + "us": { + "meta": { + "unit": "micros" + }, + "type": "long" + } + } + } + } + }, + "registry": { + "properties": { + "data": { + "properties": { + "bytes": { + "ignore_above": 1024, + "type": "keyword" + }, + "strings": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "hive": { + "ignore_above": 1024, + "type": "keyword" + }, + "key": { + "ignore_above": 1024, + "type": "keyword" + }, + "path": { + "ignore_above": 1024, + "type": "keyword" + }, + "value": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "related": { + "properties": { + "hash": { + "ignore_above": 1024, + "type": "keyword" + }, + "hosts": { + "ignore_above": 1024, + "type": "keyword" + }, + "ip": { + "type": "ip" + }, + "user": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "rule": { + "properties": { + "author": { + "ignore_above": 1024, + "type": "keyword" + }, + "category": { + "ignore_above": 1024, + "type": "keyword" + }, + "description": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "license": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "reference": { + "ignore_above": 1024, + "type": "keyword" + }, + "ruleset": { + "ignore_above": 1024, + "type": "keyword" + }, + "uuid": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "server": { + "properties": { + "address": { + "ignore_above": 1024, + "type": "keyword" + }, + "as": { + "properties": { + "number": { + "type": "long" + }, + "organization": { + "properties": { + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "bytes": { + "type": "long" + }, + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "geo": { + "properties": { + "city_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "location": { + "type": "geo_point" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "postal_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "timezone": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "ip": { + "type": "ip" + }, + "mac": { + "ignore_above": 1024, + "type": "keyword" + }, + "nat": { + "properties": { + "ip": { + "type": "ip" + }, + "port": { + "type": "long" + } + } + }, + "packets": { + "type": "long" + }, + "port": { + "type": "long" + }, + "registered_domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "subdomain": { + "ignore_above": 1024, + "type": "keyword" + }, + "top_level_domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "user": { + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "email": { + "ignore_above": 1024, + "type": "keyword" + }, + "full_name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "group": { + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "hash": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "roles": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "service": { + "dynamic": "false", + "properties": { + "environment": { + "ignore_above": 1024, + "type": "keyword" + }, + "ephemeral_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "framework": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "language": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "node": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "runtime": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "state": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "session": { + "dynamic": "false", + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "sequence": { + "type": "long" + } + } + }, + "source": { + "dynamic": "false", + "properties": { + "address": { + "ignore_above": 1024, + "type": "keyword" + }, + "as": { + "properties": { + "number": { + "type": "long" + }, + "organization": { + "properties": { + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "bytes": { + "type": "long" + }, + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "geo": { + "properties": { + "city_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "location": { + "type": "geo_point" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "postal_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "timezone": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "ip": { + "type": "ip" + }, + "mac": { + "ignore_above": 1024, + "type": "keyword" + }, + "nat": { + "properties": { + "ip": { + "type": "ip" + }, + "port": { + "type": "long" + } + } + }, + "packets": { + "type": "long" + }, + "port": { + "type": "long" + }, + "registered_domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "subdomain": { + "ignore_above": 1024, + "type": "keyword" + }, + "top_level_domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "user": { + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "email": { + "ignore_above": 1024, + "type": "keyword" + }, + "full_name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "group": { + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "hash": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "roles": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "sourcemap": { + "dynamic": "false", + "properties": { + "bundle_filepath": { + "ignore_above": 1024, + "type": "keyword" + }, + "service": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "span": { + "dynamic": "false", + "properties": { + "action": { + "ignore_above": 1024, + "type": "keyword" + }, + "db": { + "dynamic": "false", + "properties": { + "link": { + "ignore_above": 1024, + "type": "keyword" + }, + "rows_affected": { + "type": "long" + } + } + }, + "destination": { + "dynamic": "false", + "properties": { + "service": { + "dynamic": "false", + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "resource": { + "ignore_above": 1024, + "type": "keyword" + }, + "response_time": { + "properties": { + "count": { + "type": "long" + }, + "sum": { + "properties": { + "us": { + "meta": { + "unit": "micros" + }, + "type": "long" + } + } + } + } + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "duration": { + "properties": { + "us": { + "type": "long" + } + } + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "message": { + "dynamic": "false", + "properties": { + "age": { + "properties": { + "ms": { + "type": "long" + } + } + }, + "queue": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "self_time": { + "properties": { + "count": { + "type": "long" + }, + "sum": { + "properties": { + "us": { + "meta": { + "unit": "micros" + }, + "type": "long" + } + } + } + } + }, + "start": { + "properties": { + "us": { + "type": "long" + } + } + }, + "subtype": { + "ignore_above": 1024, + "type": "keyword" + }, + "sync": { + "type": "boolean" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "system": { + "properties": { + "cpu": { + "properties": { + "total": { + "properties": { + "norm": { + "properties": { + "pct": { + "meta": { + "metric_type": "gauge", + "unit": "percent" + }, + "scaling_factor": 1000, + "type": "scaled_float" + } + } + } + } + } + } + }, + "memory": { + "properties": { + "actual": { + "properties": { + "free": { + "meta": { + "metric_type": "gauge", + "unit": "byte" + }, + "type": "long" + } + } + }, + "total": { + "meta": { + "metric_type": "gauge", + "unit": "byte" + }, + "type": "long" + } + } + }, + "process": { + "properties": { + "cgroup": { + "properties": { + "cpu": { + "properties": { + "cfs": { + "properties": { + "period": { + "properties": { + "us": { + "meta": { + "metric_type": "gauge", + "unit": "micros" + }, + "type": "long" + } + } + }, + "quota": { + "properties": { + "us": { + "meta": { + "metric_type": "gauge", + "unit": "micros" + }, + "type": "long" + } + } + } + } + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "stats": { + "properties": { + "periods": { + "meta": { + "metric_type": "counter" + }, + "type": "long" + }, + "throttled": { + "properties": { + "ns": { + "meta": { + "metric_type": "counter", + "unit": "nanos" + }, + "type": "long" + }, + "periods": { + "meta": { + "metric_type": "counter" + }, + "type": "long" + } + } + } + } + } + } + }, + "cpuacct": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "total": { + "properties": { + "ns": { + "meta": { + "metric_type": "counter", + "unit": "nanos" + }, + "type": "long" + } + } + } + } + }, + "memory": { + "properties": { + "mem": { + "properties": { + "limit": { + "properties": { + "bytes": { + "meta": { + "metric_type": "gauge", + "unit": "byte" + }, + "type": "long" + } + } + }, + "usage": { + "properties": { + "bytes": { + "meta": { + "metric_type": "gauge", + "unit": "byte" + }, + "type": "long" + } + } + } + } + } + } + } + } + }, + "cpu": { + "properties": { + "total": { + "properties": { + "norm": { + "properties": { + "pct": { + "meta": { + "metric_type": "gauge", + "unit": "percent" + }, + "scaling_factor": 1000, + "type": "scaled_float" + } + } + } + } + } + } + }, + "memory": { + "properties": { + "rss": { + "properties": { + "bytes": { + "meta": { + "metric_type": "gauge", + "unit": "byte" + }, + "type": "long" + } + } + }, + "size": { + "meta": { + "metric_type": "gauge", + "unit": "byte" + }, + "type": "long" + } + } + } + } + } + } + }, + "tags": { + "ignore_above": 1024, + "type": "keyword" + }, + "threat": { + "properties": { + "framework": { + "ignore_above": 1024, + "type": "keyword" + }, + "tactic": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "reference": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "technique": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "reference": { + "ignore_above": 1024, + "type": "keyword" + }, + "subtechnique": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "reference": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + } + } + }, + "timeseries": { + "properties": { + "instance": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "timestamp": { + "properties": { + "us": { + "type": "long" + } + } + }, + "tls": { + "properties": { + "cipher": { + "ignore_above": 1024, + "type": "keyword" + }, + "client": { + "properties": { + "certificate": { + "ignore_above": 1024, + "type": "keyword" + }, + "certificate_chain": { + "ignore_above": 1024, + "type": "keyword" + }, + "hash": { + "properties": { + "md5": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha1": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha256": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "issuer": { + "ignore_above": 1024, + "type": "keyword" + }, + "ja3": { + "ignore_above": 1024, + "type": "keyword" + }, + "not_after": { + "type": "date" + }, + "not_before": { + "type": "date" + }, + "server_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "subject": { + "ignore_above": 1024, + "type": "keyword" + }, + "supported_ciphers": { + "ignore_above": 1024, + "type": "keyword" + }, + "x509": { + "properties": { + "alternative_names": { + "ignore_above": 1024, + "type": "keyword" + }, + "issuer": { + "properties": { + "common_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country": { + "ignore_above": 1024, + "type": "keyword" + }, + "distinguished_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "locality": { + "ignore_above": 1024, + "type": "keyword" + }, + "organization": { + "ignore_above": 1024, + "type": "keyword" + }, + "organizational_unit": { + "ignore_above": 1024, + "type": "keyword" + }, + "state_or_province": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "not_after": { + "type": "date" + }, + "not_before": { + "type": "date" + }, + "public_key_algorithm": { + "ignore_above": 1024, + "type": "keyword" + }, + "public_key_curve": { + "ignore_above": 1024, + "type": "keyword" + }, + "public_key_exponent": { + "index": false, + "type": "long" + }, + "public_key_size": { + "type": "long" + }, + "serial_number": { + "ignore_above": 1024, + "type": "keyword" + }, + "signature_algorithm": { + "ignore_above": 1024, + "type": "keyword" + }, + "subject": { + "properties": { + "common_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country": { + "ignore_above": 1024, + "type": "keyword" + }, + "distinguished_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "locality": { + "ignore_above": 1024, + "type": "keyword" + }, + "organization": { + "ignore_above": 1024, + "type": "keyword" + }, + "organizational_unit": { + "ignore_above": 1024, + "type": "keyword" + }, + "state_or_province": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "version_number": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "curve": { + "ignore_above": 1024, + "type": "keyword" + }, + "established": { + "type": "boolean" + }, + "next_protocol": { + "ignore_above": 1024, + "type": "keyword" + }, + "resumed": { + "type": "boolean" + }, + "server": { + "properties": { + "certificate": { + "ignore_above": 1024, + "type": "keyword" + }, + "certificate_chain": { + "ignore_above": 1024, + "type": "keyword" + }, + "hash": { + "properties": { + "md5": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha1": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha256": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "issuer": { + "ignore_above": 1024, + "type": "keyword" + }, + "ja3s": { + "ignore_above": 1024, + "type": "keyword" + }, + "not_after": { + "type": "date" + }, + "not_before": { + "type": "date" + }, + "subject": { + "ignore_above": 1024, + "type": "keyword" + }, + "x509": { + "properties": { + "alternative_names": { + "ignore_above": 1024, + "type": "keyword" + }, + "issuer": { + "properties": { + "common_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country": { + "ignore_above": 1024, + "type": "keyword" + }, + "distinguished_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "locality": { + "ignore_above": 1024, + "type": "keyword" + }, + "organization": { + "ignore_above": 1024, + "type": "keyword" + }, + "organizational_unit": { + "ignore_above": 1024, + "type": "keyword" + }, + "state_or_province": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "not_after": { + "type": "date" + }, + "not_before": { + "type": "date" + }, + "public_key_algorithm": { + "ignore_above": 1024, + "type": "keyword" + }, + "public_key_curve": { + "ignore_above": 1024, + "type": "keyword" + }, + "public_key_exponent": { + "index": false, + "type": "long" + }, + "public_key_size": { + "type": "long" + }, + "serial_number": { + "ignore_above": 1024, + "type": "keyword" + }, + "signature_algorithm": { + "ignore_above": 1024, + "type": "keyword" + }, + "subject": { + "properties": { + "common_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country": { + "ignore_above": 1024, + "type": "keyword" + }, + "distinguished_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "locality": { + "ignore_above": 1024, + "type": "keyword" + }, + "organization": { + "ignore_above": 1024, + "type": "keyword" + }, + "organizational_unit": { + "ignore_above": 1024, + "type": "keyword" + }, + "state_or_province": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "version_number": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + }, + "version_protocol": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "trace": { + "dynamic": "false", + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "transaction": { + "dynamic": "false", + "properties": { + "breakdown": { + "properties": { + "count": { + "type": "long" + } + } + }, + "duration": { + "properties": { + "count": { + "type": "long" + }, + "histogram": { + "type": "histogram" + }, + "sum": { + "properties": { + "us": { + "meta": { + "unit": "micros" + }, + "type": "long" + } + } + }, + "us": { + "type": "long" + } + } + }, + "experience": { + "properties": { + "cls": { + "scaling_factor": 1000000, + "type": "scaled_float" + }, + "fid": { + "scaling_factor": 1000000, + "type": "scaled_float" + }, + "longtask": { + "properties": { + "count": { + "type": "long" + }, + "max": { + "scaling_factor": 1000000, + "type": "scaled_float" + }, + "sum": { + "scaling_factor": 1000000, + "type": "scaled_float" + } + } + }, + "tbt": { + "scaling_factor": 1000000, + "type": "scaled_float" + } + } + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "marks": { + "dynamic": "true", + "properties": { + "*": { + "properties": { + "*": { + "dynamic": "true", + "type": "object" + } + } + }, + "agent": { + "properties": { + "domComplete": { + "scaling_factor": 1000000, + "type": "scaled_float" + }, + "domInteractive": { + "scaling_factor": 1000000, + "type": "scaled_float" + }, + "timeToFirstByte": { + "scaling_factor": 1000000, + "type": "scaled_float" + } + } + }, + "navigationTiming": { + "properties": { + "connectEnd": { + "scaling_factor": 1000000, + "type": "scaled_float" + }, + "connectStart": { + "scaling_factor": 1000000, + "type": "scaled_float" + }, + "domComplete": { + "scaling_factor": 1000000, + "type": "scaled_float" + }, + "domContentLoadedEventEnd": { + "scaling_factor": 1000000, + "type": "scaled_float" + }, + "domContentLoadedEventStart": { + "scaling_factor": 1000000, + "type": "scaled_float" + }, + "domInteractive": { + "scaling_factor": 1000000, + "type": "scaled_float" + }, + "domLoading": { + "scaling_factor": 1000000, + "type": "scaled_float" + }, + "domainLookupEnd": { + "scaling_factor": 1000000, + "type": "scaled_float" + }, + "domainLookupStart": { + "scaling_factor": 1000000, + "type": "scaled_float" + }, + "fetchStart": { + "scaling_factor": 1000000, + "type": "scaled_float" + }, + "loadEventEnd": { + "scaling_factor": 1000000, + "type": "scaled_float" + }, + "loadEventStart": { + "scaling_factor": 1000000, + "type": "scaled_float" + }, + "requestStart": { + "scaling_factor": 1000000, + "type": "scaled_float" + }, + "responseEnd": { + "scaling_factor": 1000000, + "type": "scaled_float" + }, + "responseStart": { + "scaling_factor": 1000000, + "type": "scaled_float" + } + } + } + } + }, + "message": { + "dynamic": "false", + "properties": { + "age": { + "properties": { + "ms": { + "type": "long" + } + } + }, + "queue": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "result": { + "ignore_above": 1024, + "type": "keyword" + }, + "root": { + "type": "boolean" + }, + "sampled": { + "type": "boolean" + }, + "self_time": { + "properties": { + "count": { + "type": "long" + }, + "sum": { + "properties": { + "us": { + "meta": { + "unit": "micros" + }, + "type": "long" + } + } + } + } + }, + "span_count": { + "properties": { + "dropped": { + "type": "long" + } + } + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "url": { + "dynamic": "false", + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "extension": { + "ignore_above": 1024, + "type": "keyword" + }, + "fragment": { + "ignore_above": 1024, + "type": "keyword" + }, + "full": { + "ignore_above": 1024, + "type": "keyword" + }, + "original": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "password": { + "ignore_above": 1024, + "type": "keyword" + }, + "path": { + "ignore_above": 1024, + "type": "keyword" + }, + "port": { + "type": "long" + }, + "query": { + "ignore_above": 1024, + "type": "keyword" + }, + "registered_domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "scheme": { + "ignore_above": 1024, + "type": "keyword" + }, + "subdomain": { + "ignore_above": 1024, + "type": "keyword" + }, + "top_level_domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "username": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "user": { + "dynamic": "false", + "properties": { + "changes": { + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "email": { + "ignore_above": 1024, + "type": "keyword" + }, + "full_name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "group": { + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "hash": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "roles": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "effective": { + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "email": { + "ignore_above": 1024, + "type": "keyword" + }, + "full_name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "group": { + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "hash": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "roles": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "email": { + "ignore_above": 1024, + "type": "keyword" + }, + "full_name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "group": { + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "hash": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "roles": { + "ignore_above": 1024, + "type": "keyword" + }, + "target": { + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "email": { + "ignore_above": 1024, + "type": "keyword" + }, + "full_name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "group": { + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "hash": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "roles": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "user_agent": { + "dynamic": "false", + "properties": { + "device": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "original": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "os": { + "properties": { + "family": { + "ignore_above": 1024, + "type": "keyword" + }, + "full": { + "ignore_above": 1024, + "type": "keyword" + }, + "kernel": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "platform": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "vlan": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "vulnerability": { + "properties": { + "category": { + "ignore_above": 1024, + "type": "keyword" + }, + "classification": { + "ignore_above": 1024, + "type": "keyword" + }, + "description": { + "fields": { + "text": { + "norms": false, + "type": "text" + } + }, + "ignore_above": 1024, + "type": "keyword" + }, + "enumeration": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "reference": { + "ignore_above": 1024, + "type": "keyword" + }, + "report_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "scanner": { + "properties": { + "vendor": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "score": { + "properties": { + "base": { + "type": "float" + }, + "environmental": { + "type": "float" + }, + "temporal": { + "type": "float" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "severity": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "x509": { + "properties": { + "alternative_names": { + "ignore_above": 1024, + "type": "keyword" + }, + "issuer": { + "properties": { + "common_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country": { + "ignore_above": 1024, + "type": "keyword" + }, + "distinguished_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "locality": { + "ignore_above": 1024, + "type": "keyword" + }, + "organization": { + "ignore_above": 1024, + "type": "keyword" + }, + "organizational_unit": { + "ignore_above": 1024, + "type": "keyword" + }, + "state_or_province": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "not_after": { + "type": "date" + }, + "not_before": { + "type": "date" + }, + "public_key_algorithm": { + "ignore_above": 1024, + "type": "keyword" + }, + "public_key_curve": { + "ignore_above": 1024, + "type": "keyword" + }, + "public_key_exponent": { + "index": false, + "type": "long" + }, + "public_key_size": { + "type": "long" + }, + "serial_number": { + "ignore_above": 1024, + "type": "keyword" + }, + "signature_algorithm": { + "ignore_above": 1024, + "type": "keyword" + }, + "subject": { + "properties": { + "common_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country": { + "ignore_above": 1024, + "type": "keyword" + }, + "distinguished_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "locality": { + "ignore_above": 1024, + "type": "keyword" + }, + "organization": { + "ignore_above": 1024, + "type": "keyword" + }, + "organizational_unit": { + "ignore_above": 1024, + "type": "keyword" + }, + "state_or_province": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "version_number": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "settings": { + "index": { + "auto_expand_replicas": "0-1", + "blocks": { + "read_only_allow_delete": "false" + }, + "codec": "best_compression", + "lifecycle": { + "name": "apm-rollover-30-days", + "rollover_alias": "apm-7.14.0-transaction" + }, + "mapping": { + "total_fields": { + "limit": "2000" + } + }, + "max_docvalue_fields_search": "200", + "number_of_replicas": "1", + "number_of_shards": "1", + "priority": "100", + "refresh_interval": "5s" + } + } + } +} \ No newline at end of file diff --git a/x-pack/plugins/apm/ftr_e2e/cypress/fixtures/synthtrace/opbeans.ts b/x-pack/plugins/apm/ftr_e2e/cypress/fixtures/synthtrace/opbeans.ts new file mode 100644 index 00000000000000..b03aa9a4fbd834 --- /dev/null +++ b/x-pack/plugins/apm/ftr_e2e/cypress/fixtures/synthtrace/opbeans.ts @@ -0,0 +1,39 @@ +/* + * 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 { service, timerange } from '@elastic/apm-synthtrace'; + +export function opbeans({ from, to }: { from: number; to: number }) { + const range = timerange(from, to); + + const opbeansJava = service('opbeans-java', 'production', 'java').instance( + 'opbeans-java-prod-1' + ); + + const opbeansNode = service('opbeans-node', 'production', 'nodejs').instance( + 'opbeans-node-prod-1' + ); + + return [ + ...range + .interval('1s') + .rate(1) + .flatMap((timestamp) => [ + ...opbeansJava + .transaction('GET /api/product') + .timestamp(timestamp) + .duration(1000) + .success() + .serialize(), + ...opbeansNode + .transaction('GET /api/product/:id') + .timestamp(timestamp) + .duration(500) + .success() + .serialize(), + ]), + ]; +} diff --git a/x-pack/plugins/apm/ftr_e2e/cypress/integration/power_user/rules/error_count.spec.ts b/x-pack/plugins/apm/ftr_e2e/cypress/integration/power_user/rules/error_count.spec.ts index 5b4a48b65b33fd..89e203860179ff 100644 --- a/x-pack/plugins/apm/ftr_e2e/cypress/integration/power_user/rules/error_count.spec.ts +++ b/x-pack/plugins/apm/ftr_e2e/cypress/integration/power_user/rules/error_count.spec.ts @@ -52,6 +52,10 @@ describe('Rules', () => { cy.contains('Error count').click(); cy.contains('Create threshold rule').click(); + // Check for the existence of this element to make sure the form + // has loaded. + cy.contains('for the last'); + // Save, with no actions cy.contains('button:not(:disabled)', 'Save').click(); cy.get(confirmModalButtonSelector).click(); diff --git a/x-pack/test/apm_api_integration/common/config.ts b/x-pack/test/apm_api_integration/common/config.ts index 978f3f0d68673f..ab22522acac527 100644 --- a/x-pack/test/apm_api_integration/common/config.ts +++ b/x-pack/test/apm_api_integration/common/config.ts @@ -15,7 +15,7 @@ import { createApmUser, APM_TEST_PASSWORD, ApmUser } from './authentication'; import { APMFtrConfigName } from '../configs'; import { createApmApiClient } from './apm_api_supertest'; import { registry } from './registry'; -import { synthtraceEsClient } from './synthtrace_es_client'; +import { synthtraceEsClientService } from './synthtrace_es_client_service'; interface Config { name: APMFtrConfigName; @@ -77,7 +77,7 @@ export function createTestConfig(config: Config) { servers, services: { ...services, - synthtraceEsClient, + synthtraceEsClient: synthtraceEsClientService, apmApiClient: async (context: InheritedFtrProviderContext) => { const security = context.getService('security'); await security.init(); diff --git a/x-pack/test/apm_api_integration/common/synthtrace_es_client.ts b/x-pack/test/apm_api_integration/common/synthtrace_es_client.ts deleted file mode 100644 index aebe4e71178f3e..00000000000000 --- a/x-pack/test/apm_api_integration/common/synthtrace_es_client.ts +++ /dev/null @@ -1,79 +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 { - getBreakdownMetrics, - getSpanDestinationMetrics, - getTransactionMetrics, - toElasticsearchOutput, -} from '@elastic/apm-synthtrace'; -import { chunk } from 'lodash'; -import pLimit from 'p-limit'; -import { inspect } from 'util'; -import { PromiseReturnType } from '../../../plugins/observability/typings/common'; -import { InheritedFtrProviderContext } from './ftr_provider_context'; - -export async function synthtraceEsClient(context: InheritedFtrProviderContext) { - const es = context.getService('es'); - return { - index: (events: any[]) => { - const esEvents = toElasticsearchOutput({ - events: [ - ...events, - ...getTransactionMetrics(events), - ...getSpanDestinationMetrics(events), - ...getBreakdownMetrics(events), - ], - writeTargets: { - transaction: 'apm-7.14.0-transaction', - span: 'apm-7.14.0-span', - error: 'apm-7.14.0-error', - metric: 'apm-7.14.0-metric', - }, - }); - - const batches = chunk(esEvents, 1000); - const limiter = pLimit(1); - - return Promise.all( - batches.map((batch) => - limiter(() => { - return es.bulk({ - body: batch.flatMap(({ _index, _source }) => [{ index: { _index } }, _source]), - require_alias: true, - refresh: true, - }); - }) - ) - ).then((results) => { - const errors = results - .flatMap((result) => result.items) - .filter((item) => !!item.index?.error) - .map((item) => item.index?.error); - - if (errors.length) { - // eslint-disable-next-line no-console - console.log(inspect(errors.slice(0, 10), { depth: null })); - throw new Error('Failed to upload some events'); - } - return results; - }); - }, - clean: () => { - return es.deleteByQuery({ - index: 'apm-*', - body: { - query: { - match_all: {}, - }, - }, - }); - }, - }; -} - -export type SynthtraceEsClient = PromiseReturnType; diff --git a/x-pack/test/apm_api_integration/common/synthtrace_es_client_service.ts b/x-pack/test/apm_api_integration/common/synthtrace_es_client_service.ts new file mode 100644 index 00000000000000..14e746a55a3d11 --- /dev/null +++ b/x-pack/test/apm_api_integration/common/synthtrace_es_client_service.ts @@ -0,0 +1,15 @@ +/* + * 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 { SynthtraceEsClient, createLogger, LogLevel } from '@elastic/apm-synthtrace'; +import { InheritedFtrProviderContext } from './ftr_provider_context'; + +export async function synthtraceEsClientService(context: InheritedFtrProviderContext) { + const es = context.getService('es'); + + return new SynthtraceEsClient(es, createLogger(LogLevel.info)); +} diff --git a/x-pack/test/apm_api_integration/tests/dependencies/generate_data.ts b/x-pack/test/apm_api_integration/tests/dependencies/generate_data.ts index 8f5f1c97eeb967..e36e99b447aa33 100644 --- a/x-pack/test/apm_api_integration/tests/dependencies/generate_data.ts +++ b/x-pack/test/apm_api_integration/tests/dependencies/generate_data.ts @@ -5,7 +5,7 @@ * 2.0. */ import { service, timerange } from '@elastic/apm-synthtrace'; -import type { SynthtraceEsClient } from '../../common/synthtrace_es_client'; +import type { SynthtraceEsClient } from '@elastic/apm-synthtrace'; export const dataConfig = { rate: 20, diff --git a/x-pack/test/apm_api_integration/tests/services/error_groups/generate_data.ts b/x-pack/test/apm_api_integration/tests/services/error_groups/generate_data.ts index 1a9d6683244e1b..f02f1e7493ff0a 100644 --- a/x-pack/test/apm_api_integration/tests/services/error_groups/generate_data.ts +++ b/x-pack/test/apm_api_integration/tests/services/error_groups/generate_data.ts @@ -5,7 +5,7 @@ * 2.0. */ import { service, timerange } from '@elastic/apm-synthtrace'; -import type { SynthtraceEsClient } from '../../../common/synthtrace_es_client'; +import type { SynthtraceEsClient } from '@elastic/apm-synthtrace'; export const config = { PROD_LIST_RATE: 75, From e793b3a225e689c4cd3e19095aff2c1b97ff1e25 Mon Sep 17 00:00:00 2001 From: Jen Huang Date: Mon, 1 Nov 2021 11:22:18 -0700 Subject: [PATCH 028/110] [Fleet] Allow user-configured namespace for managed policies (#116523) * Disable agent monitoring settings in UI for managed policies * Allow namespace to be changed for preconfigured managed policies Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../agent_policy/components/agent_policy_form.tsx | 1 + .../fleet/server/services/preconfiguration.test.ts | 11 +++++++++++ .../plugins/fleet/server/services/preconfiguration.ts | 4 +++- 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/components/agent_policy_form.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/components/agent_policy_form.tsx index 8229aced234fa3..28b04e2fb69ac7 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/components/agent_policy_form.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/components/agent_policy_form.tsx @@ -237,6 +237,7 @@ export const AgentPolicyForm: React.FunctionComponent = ({ } > { ); expect(hasChanged).toBe(false); }); + + it('should not return hasChanged when only namespace field changes', () => { + const { hasChanged } = comparePreconfiguredPolicyToCurrent( + { + ...baseConfig, + namespace: 'newnamespace', + }, + basePackagePolicy + ); + expect(hasChanged).toBe(false); + }); }); describe('output preconfiguration', () => { diff --git a/x-pack/plugins/fleet/server/services/preconfiguration.ts b/x-pack/plugins/fleet/server/services/preconfiguration.ts index 00c455247826e7..e5fea73815ea7c 100644 --- a/x-pack/plugins/fleet/server/services/preconfiguration.ts +++ b/x-pack/plugins/fleet/server/services/preconfiguration.ts @@ -389,7 +389,9 @@ export function comparePreconfiguredPolicyToCurrent( policyFromConfig: PreconfiguredAgentPolicy, currentPolicy: AgentPolicy ) { - const configTopLevelFields = omit(policyFromConfig, 'package_policies', 'id'); + // Namespace is omitted from being compared because even for managed policies, we still + // want users to be able to pick their own namespace: https://github.com/elastic/kibana/issues/110533 + const configTopLevelFields = omit(policyFromConfig, 'package_policies', 'id', 'namespace'); const currentTopLevelFields = pick(currentPolicy, ...Object.keys(configTopLevelFields)); return { From 7bd984ba46b53fd8361e0067ed7a376eb52e0036 Mon Sep 17 00:00:00 2001 From: Thomas Neirynck Date: Mon, 1 Nov 2021 14:45:02 -0400 Subject: [PATCH 029/110] [Maps] Remove cruft (#116986) --- x-pack/plugins/maps/common/constants.ts | 1 - .../maps/public/classes/util/geo_tile_utils.ts | 18 ------------------ .../legacy_visualizations/tile_map/types.ts | 2 -- 3 files changed, 21 deletions(-) diff --git a/x-pack/plugins/maps/common/constants.ts b/x-pack/plugins/maps/common/constants.ts index 86d1a38b4939f5..5de21099c93404 100644 --- a/x-pack/plugins/maps/common/constants.ts +++ b/x-pack/plugins/maps/common/constants.ts @@ -175,7 +175,6 @@ export enum GRID_RESOLUTION { SUPER_FINE = 'SUPER_FINE', } -export const SUPER_FINE_ZOOM_DELTA = 7; // (2 ^ SUPER_FINE_ZOOM_DELTA) ^ 2 = number of cells in a given tile export const GEOTILE_GRID_AGG_NAME = 'gridSplit'; export const GEOCENTROID_AGG_NAME = 'gridCentroid'; diff --git a/x-pack/plugins/maps/public/classes/util/geo_tile_utils.ts b/x-pack/plugins/maps/public/classes/util/geo_tile_utils.ts index 6e82d3b5095654..36c7d9d6c4a113 100644 --- a/x-pack/plugins/maps/public/classes/util/geo_tile_utils.ts +++ b/x-pack/plugins/maps/public/classes/util/geo_tile_utils.ts @@ -89,24 +89,6 @@ export function tile2lat(y: number, z: number): number { return tileToLatitude(y, tileCount); } -export function tileToESBbox(x: number, y: number, z: number): ESBounds { - const wLon = tile2long(x, z); - const sLat = tile2lat(y + 1, z); - const eLon = tile2long(x + 1, z); - const nLat = tile2lat(y, z); - - return { - top_left: { - lon: wLon, - lat: nLat, - }, - bottom_right: { - lon: eLon, - lat: sLat, - }, - }; -} - export function tileToLatitude(y: number, tileCount: number) { const radians = Math.atan(sinh(Math.PI - (2 * Math.PI * y) / tileCount)); const lat = (180 / Math.PI) * radians; diff --git a/x-pack/plugins/maps/public/legacy_visualizations/tile_map/types.ts b/x-pack/plugins/maps/public/legacy_visualizations/tile_map/types.ts index 4e65fb82b797d2..f4e0d68a8d5fdc 100644 --- a/x-pack/plugins/maps/public/legacy_visualizations/tile_map/types.ts +++ b/x-pack/plugins/maps/public/legacy_visualizations/tile_map/types.ts @@ -12,8 +12,6 @@ export const TILE_MAP_VIS_TYPE = 'tile_map'; export enum MapTypes { ScaledCircleMarkers = 'Scaled Circle Markers', - ShadedCircleMarkers = 'Shaded Circle Markers', - ShadedGeohashGrid = 'Shaded Geohash Grid', Heatmap = 'Heatmap', } From 4bfb35b43a4f48205d390dc540002a4f3fb20d9f Mon Sep 17 00:00:00 2001 From: Stacey Gammon Date: Mon, 1 Nov 2021 15:16:16 -0400 Subject: [PATCH 030/110] Update api docs (#116495) * update api docs * update api docs --- api_docs/actions.json | 6 +- api_docs/alerting.json | 45 +- api_docs/alerting.mdx | 2 +- api_docs/apm.json | 202 +- api_docs/cases.json | 4 +- api_docs/charts.json | 14 + api_docs/charts.mdx | 2 +- api_docs/console.json | 99 +- api_docs/console.mdx | 2 +- api_docs/core.json | 456 +- api_docs/core.mdx | 2 +- api_docs/core_application.mdx | 2 +- api_docs/core_chrome.mdx | 2 +- api_docs/core_http.json | 24 +- api_docs/core_http.mdx | 2 +- api_docs/core_saved_objects.json | 90 +- api_docs/core_saved_objects.mdx | 2 +- api_docs/custom_integrations.json | 114 +- api_docs/custom_integrations.mdx | 2 +- api_docs/dashboard.json | 135 +- api_docs/dashboard.mdx | 2 +- api_docs/data.json | 1425 ++- api_docs/data.mdx | 2 +- api_docs/data_autocomplete.mdx | 2 +- api_docs/data_query.json | 655 +- api_docs/data_query.mdx | 2 +- api_docs/data_search.json | 1034 +- api_docs/data_search.mdx | 2 +- api_docs/data_ui.mdx | 2 +- api_docs/data_views.json | 801 +- api_docs/data_views.mdx | 2 +- api_docs/data_visualizer.json | 50 + api_docs/data_visualizer.mdx | 2 +- api_docs/deprecations_by_api.mdx | 16 +- api_docs/deprecations_by_plugin.mdx | 44 +- api_docs/discover.json | 566 +- api_docs/discover.mdx | 5 +- api_docs/embeddable.json | 14 +- api_docs/enterprise_search.json | 12 +- api_docs/expressions.json | 1021 +- api_docs/expressions.mdx | 2 +- api_docs/field_formats.json | 72 - api_docs/field_formats.mdx | 2 +- api_docs/fleet.json | 402 +- api_docs/fleet.mdx | 2 +- api_docs/home.json | 47 +- api_docs/home.mdx | 2 +- api_docs/index_management.json | 4 +- api_docs/interactive_setup.json | 74 +- api_docs/interactive_setup.mdx | 2 +- api_docs/kbn_dev_utils.json | 24 +- api_docs/kbn_es_query.json | 15 +- api_docs/kbn_logging.json | 2 +- api_docs/kbn_optimizer.json | 16 + api_docs/kbn_optimizer.mdx | 2 +- api_docs/kbn_rule_data_utils.json | 16 +- api_docs/kbn_rule_data_utils.mdx | 2 +- api_docs/kbn_securitysolution_es_utils.json | 8321 +++++++++-------- api_docs/kbn_securitysolution_es_utils.mdx | 2 +- ...securitysolution_io_ts_alerting_types.json | 16 +- ...kbn_securitysolution_io_ts_list_types.json | 10 + .../kbn_securitysolution_io_ts_list_types.mdx | 2 +- .../kbn_securitysolution_list_constants.json | 4 +- api_docs/kbn_securitysolution_list_hooks.json | 4 +- api_docs/kbn_securitysolution_list_utils.json | 14 +- api_docs/kbn_securitysolution_list_utils.mdx | 2 +- api_docs/kbn_securitysolution_rules.json | 365 + api_docs/kbn_securitysolution_rules.mdx | 33 + api_docs/kbn_test.json | 50 + api_docs/kbn_test.mdx | 2 +- api_docs/kibana_legacy.json | 587 +- api_docs/kibana_legacy.mdx | 5 +- api_docs/kibana_react.json | 948 +- api_docs/kibana_react.mdx | 2 +- api_docs/kibana_utils.json | 197 +- api_docs/kibana_utils.mdx | 2 +- api_docs/lens.json | 32 +- api_docs/lens.mdx | 2 +- api_docs/licensing.json | 8 - api_docs/lists.json | 86 +- api_docs/lists.mdx | 2 +- api_docs/management.json | 6 +- api_docs/maps.json | 57 +- api_docs/maps.mdx | 2 +- api_docs/maps_ems.json | 14 +- api_docs/metrics_entities.json | 10 +- api_docs/ml.json | 10 +- api_docs/monitoring.json | 2 +- api_docs/observability.json | 315 +- api_docs/observability.mdx | 2 +- api_docs/osquery.json | 14 - api_docs/osquery.mdx | 2 +- api_docs/plugin_directory.mdx | 35 +- api_docs/presentation_util.json | 1989 +++- api_docs/presentation_util.mdx | 2 +- api_docs/reporting.json | 66 +- api_docs/reporting.mdx | 2 +- api_docs/rollup.json | 14 + api_docs/rollup.mdx | 2 +- api_docs/rule_registry.json | 463 +- api_docs/rule_registry.mdx | 2 +- api_docs/saved_objects.json | 68 - api_docs/saved_objects_management.json | 6 +- api_docs/security.json | 236 +- api_docs/security.mdx | 2 +- api_docs/security_solution.json | 401 +- api_docs/security_solution.mdx | 2 +- api_docs/share.json | 28 +- api_docs/snapshot_restore.json | 22 +- api_docs/snapshot_restore.mdx | 2 +- api_docs/spaces.json | 16 +- api_docs/telemetry_collection_manager.json | 114 +- api_docs/telemetry_collection_manager.mdx | 2 +- api_docs/telemetry_management_section.json | 46 +- api_docs/telemetry_management_section.mdx | 5 +- api_docs/timelines.json | 79 +- api_docs/timelines.mdx | 2 +- api_docs/triggers_actions_ui.json | 10 +- api_docs/ui_actions_enhanced.json | 2 +- api_docs/vis_type_table.json | 13 + api_docs/vis_type_table.mdx | 2 +- api_docs/visualizations.json | 114 +- api_docs/visualizations.mdx | 2 +- 123 files changed, 12681 insertions(+), 9750 deletions(-) create mode 100644 api_docs/kbn_securitysolution_rules.json create mode 100644 api_docs/kbn_securitysolution_rules.mdx diff --git a/api_docs/actions.json b/api_docs/actions.json index 532128e65d926c..342583332b7d9f 100644 --- a/api_docs/actions.json +++ b/api_docs/actions.json @@ -368,7 +368,7 @@ "label": "validate", "description": [], "signature": [ - "{ params?: ValidatorType | undefined; config?: ValidatorType | undefined; secrets?: ValidatorType | undefined; } | undefined" + "{ params?: ValidatorType | undefined; config?: ValidatorType | undefined; secrets?: ValidatorType | undefined; connector?: ((config: Config, secrets: Secrets) => string | null) | undefined; } | undefined" ], "path": "x-pack/plugins/actions/server/types.ts", "deprecated": false @@ -695,7 +695,7 @@ "label": "ActionParamsType", "description": [], "signature": [ - "{ readonly source?: string | undefined; readonly summary?: string | undefined; readonly timestamp?: string | undefined; readonly eventAction?: \"resolve\" | \"trigger\" | \"acknowledge\" | undefined; readonly dedupKey?: string | undefined; readonly severity?: \"error\" | \"info\" | \"warning\" | \"critical\" | undefined; readonly component?: string | undefined; readonly group?: string | undefined; readonly class?: string | undefined; }" + "{ readonly source?: string | undefined; readonly group?: string | undefined; readonly summary?: string | undefined; readonly timestamp?: string | undefined; readonly eventAction?: \"resolve\" | \"trigger\" | \"acknowledge\" | undefined; readonly dedupKey?: string | undefined; readonly severity?: \"info\" | \"error\" | \"warning\" | \"critical\" | undefined; readonly component?: string | undefined; readonly class?: string | undefined; }" ], "path": "x-pack/plugins/actions/server/builtin_action_types/pagerduty.ts", "deprecated": false, @@ -709,7 +709,7 @@ "label": "ActionParamsType", "description": [], "signature": [ - "{ readonly message: string; readonly level: \"error\" | \"info\" | \"debug\" | \"trace\" | \"warn\" | \"fatal\"; }" + "{ readonly message: string; readonly level: \"info\" | \"error\" | \"trace\" | \"debug\" | \"warn\" | \"fatal\"; }" ], "path": "x-pack/plugins/actions/server/builtin_action_types/server_log.ts", "deprecated": false, diff --git a/api_docs/alerting.json b/api_docs/alerting.json index ed62c8ffcfe10c..2b82778439707e 100644 --- a/api_docs/alerting.json +++ b/api_docs/alerting.json @@ -24,7 +24,7 @@ "section": "def-common.Alert", "text": "Alert" }, - ", \"id\" | \"name\" | \"tags\" | \"enabled\" | \"params\" | \"actions\" | \"throttle\" | \"alertTypeId\" | \"consumer\" | \"schedule\" | \"scheduledTaskId\" | \"createdBy\" | \"updatedBy\" | \"createdAt\" | \"updatedAt\" | \"apiKeyOwner\" | \"notifyWhen\" | \"muteAll\" | \"mutedInstanceIds\" | \"executionStatus\">) => string | ", + ", \"id\" | \"name\" | \"tags\" | \"enabled\" | \"params\" | \"actions\" | \"alertTypeId\" | \"consumer\" | \"schedule\" | \"scheduledTaskId\" | \"createdBy\" | \"updatedBy\" | \"createdAt\" | \"updatedAt\" | \"apiKeyOwner\" | \"throttle\" | \"notifyWhen\" | \"muteAll\" | \"mutedInstanceIds\" | \"executionStatus\">) => string | ", { "pluginId": "@kbn/utility-types", "scope": "server", @@ -55,7 +55,7 @@ "section": "def-common.AlertAction", "text": "AlertAction" }, - "[]; throttle: string | null; alertTypeId: string; consumer: string; schedule: ", + "[]; alertTypeId: string; consumer: string; schedule: ", { "pluginId": "alerting", "scope": "common", @@ -63,7 +63,7 @@ "section": "def-common.IntervalSchedule", "text": "IntervalSchedule" }, - "; scheduledTaskId?: string | undefined; createdBy: string | null; updatedBy: string | null; createdAt: Date; updatedAt: Date; apiKeyOwner: string | null; notifyWhen: \"onActionGroupChange\" | \"onActiveAlert\" | \"onThrottleInterval\" | null; muteAll: boolean; mutedInstanceIds: string[]; executionStatus: ", + "; scheduledTaskId?: string | undefined; createdBy: string | null; updatedBy: string | null; createdAt: Date; updatedAt: Date; apiKeyOwner: string | null; throttle: string | null; notifyWhen: \"onActionGroupChange\" | \"onActiveAlert\" | \"onThrottleInterval\" | null; muteAll: boolean; mutedInstanceIds: string[]; executionStatus: ", { "pluginId": "alerting", "scope": "common", @@ -332,7 +332,7 @@ "id": "def-server.AlertingAuthorization.Unnamed.$1", "type": "Object", "tags": [], - "label": "{\n ruleTypeRegistry,\n request,\n authorization,\n features,\n auditLogger,\n getSpace,\n getSpaceId,\n }", + "label": "{\n ruleTypeRegistry,\n request,\n authorization,\n features,\n getSpace,\n getSpaceId,\n }", "description": [], "signature": [ "ConstructorOptions" @@ -531,7 +531,7 @@ "section": "def-server.JsonObject", "text": "JsonObject" }, - " | undefined; ensureRuleTypeIsAuthorized: (ruleTypeId: string, consumer: string, auth: string) => void; logSuccessfulAuthorization: () => void; }>" + " | undefined; ensureRuleTypeIsAuthorized: (ruleTypeId: string, consumer: string, auth: string) => void; }>" ], "path": "x-pack/plugins/alerting/server/authorization/alerting_authorization.ts", "deprecated": false, @@ -623,7 +623,7 @@ "section": "def-server.JsonObject", "text": "JsonObject" }, - " | undefined; ensureRuleTypeIsAuthorized: (ruleTypeId: string, consumer: string, auth: string) => void; logSuccessfulAuthorization: () => void; }>" + " | undefined; ensureRuleTypeIsAuthorized: (ruleTypeId: string, consumer: string, auth: string) => void; }>" ], "path": "x-pack/plugins/alerting/server/authorization/alerting_authorization.ts", "deprecated": false, @@ -1038,7 +1038,7 @@ "section": "def-common.Alert", "text": "Alert" }, - ", \"id\" | \"name\" | \"tags\" | \"enabled\" | \"params\" | \"actions\" | \"throttle\" | \"alertTypeId\" | \"consumer\" | \"schedule\" | \"scheduledTaskId\" | \"createdBy\" | \"updatedBy\" | \"createdAt\" | \"updatedAt\" | \"apiKeyOwner\" | \"notifyWhen\" | \"muteAll\" | \"mutedInstanceIds\" | \"executionStatus\">, \"name\" | \"tags\" | \"enabled\" | \"actions\" | \"throttle\" | \"consumer\" | \"schedule\" | \"createdBy\" | \"updatedBy\" | \"createdAt\" | \"updatedAt\" | \"notifyWhen\"> & { producer: string; ruleTypeId: string; ruleTypeName: string; }" + ", \"id\" | \"name\" | \"tags\" | \"enabled\" | \"params\" | \"actions\" | \"alertTypeId\" | \"consumer\" | \"schedule\" | \"scheduledTaskId\" | \"createdBy\" | \"updatedBy\" | \"createdAt\" | \"updatedAt\" | \"apiKeyOwner\" | \"throttle\" | \"notifyWhen\" | \"muteAll\" | \"mutedInstanceIds\" | \"executionStatus\">, \"name\" | \"tags\" | \"enabled\" | \"actions\" | \"consumer\" | \"schedule\" | \"createdBy\" | \"updatedBy\" | \"createdAt\" | \"updatedAt\" | \"throttle\" | \"notifyWhen\"> & { producer: string; ruleTypeId: string; ruleTypeName: string; }" ], "path": "x-pack/plugins/alerting/server/types.ts", "deprecated": false @@ -1676,7 +1676,7 @@ "section": "def-common.Alert", "text": "Alert" }, - ", \"id\" | \"name\" | \"tags\" | \"enabled\" | \"params\" | \"actions\" | \"throttle\" | \"alertTypeId\" | \"consumer\" | \"schedule\" | \"scheduledTaskId\" | \"createdBy\" | \"updatedBy\" | \"createdAt\" | \"updatedAt\" | \"apiKeyOwner\" | \"notifyWhen\" | \"muteAll\" | \"mutedInstanceIds\" | \"executionStatus\">[]" + ", \"id\" | \"name\" | \"tags\" | \"enabled\" | \"params\" | \"actions\" | \"alertTypeId\" | \"consumer\" | \"schedule\" | \"scheduledTaskId\" | \"createdBy\" | \"updatedBy\" | \"createdAt\" | \"updatedAt\" | \"apiKeyOwner\" | \"throttle\" | \"notifyWhen\" | \"muteAll\" | \"mutedInstanceIds\" | \"executionStatus\">[]" ], "path": "x-pack/plugins/alerting/server/rules_client/rules_client.ts", "deprecated": false @@ -2137,7 +2137,7 @@ "section": "def-common.Alert", "text": "Alert" }, - ", \"name\" | \"tags\" | \"enabled\" | \"params\" | \"actions\" | \"throttle\" | \"apiKey\" | \"alertTypeId\" | \"consumer\" | \"schedule\" | \"scheduledTaskId\" | \"createdBy\" | \"updatedBy\" | \"createdAt\" | \"updatedAt\" | \"apiKeyOwner\" | \"notifyWhen\" | \"muteAll\" | \"mutedInstanceIds\" | \"executionStatus\">>" + ", \"name\" | \"tags\" | \"enabled\" | \"params\" | \"actions\" | \"apiKey\" | \"alertTypeId\" | \"consumer\" | \"schedule\" | \"scheduledTaskId\" | \"createdBy\" | \"updatedBy\" | \"createdAt\" | \"updatedAt\" | \"apiKeyOwner\" | \"throttle\" | \"notifyWhen\" | \"muteAll\" | \"mutedInstanceIds\" | \"executionStatus\">>" ], "path": "x-pack/plugins/alerting/server/types.ts", "deprecated": false, @@ -2181,7 +2181,7 @@ "section": "def-common.Alert", "text": "Alert" }, - ", \"id\" | \"name\" | \"tags\" | \"enabled\" | \"params\" | \"actions\" | \"throttle\" | \"alertTypeId\" | \"consumer\" | \"schedule\" | \"scheduledTaskId\" | \"createdBy\" | \"updatedBy\" | \"createdAt\" | \"updatedAt\" | \"apiKeyOwner\" | \"notifyWhen\" | \"muteAll\" | \"mutedInstanceIds\" | \"executionStatus\">>; delete: ({ id }: { id: string; }) => Promise<{}>; find: = never>({ options: { fields, ...options }, }?: { options?: ", + ", \"id\" | \"name\" | \"tags\" | \"enabled\" | \"params\" | \"actions\" | \"alertTypeId\" | \"consumer\" | \"schedule\" | \"scheduledTaskId\" | \"createdBy\" | \"updatedBy\" | \"createdAt\" | \"updatedAt\" | \"apiKeyOwner\" | \"throttle\" | \"notifyWhen\" | \"muteAll\" | \"mutedInstanceIds\" | \"executionStatus\">>; delete: ({ id }: { id: string; }) => Promise<{}>; find: = never>({ options: { fields, ...options }, }?: { options?: ", "FindOptions", " | undefined; }) => Promise<", { @@ -2199,9 +2199,9 @@ "section": "def-common.Alert", "text": "Alert" }, - ", \"id\" | \"name\" | \"tags\" | \"enabled\" | \"params\" | \"actions\" | \"throttle\" | \"alertTypeId\" | \"consumer\" | \"schedule\" | \"scheduledTaskId\" | \"createdBy\" | \"updatedBy\" | \"createdAt\" | \"updatedAt\" | \"apiKeyOwner\" | \"notifyWhen\" | \"muteAll\" | \"mutedInstanceIds\" | \"executionStatus\"> | Pick<", + ", \"id\" | \"name\" | \"tags\" | \"enabled\" | \"params\" | \"actions\" | \"alertTypeId\" | \"consumer\" | \"schedule\" | \"scheduledTaskId\" | \"createdBy\" | \"updatedBy\" | \"createdAt\" | \"updatedAt\" | \"apiKeyOwner\" | \"throttle\" | \"notifyWhen\" | \"muteAll\" | \"mutedInstanceIds\" | \"executionStatus\"> | Pick<", "AlertWithLegacyId", - ", \"id\" | \"name\" | \"tags\" | \"enabled\" | \"params\" | \"actions\" | \"throttle\" | \"alertTypeId\" | \"consumer\" | \"schedule\" | \"scheduledTaskId\" | \"createdBy\" | \"updatedBy\" | \"createdAt\" | \"updatedAt\" | \"apiKeyOwner\" | \"notifyWhen\" | \"muteAll\" | \"mutedInstanceIds\" | \"executionStatus\" | \"legacyId\">>; resolve: = never>({ id, }: { id: string; }) => Promise<", + ", \"id\" | \"name\" | \"tags\" | \"enabled\" | \"params\" | \"actions\" | \"alertTypeId\" | \"consumer\" | \"schedule\" | \"scheduledTaskId\" | \"createdBy\" | \"updatedBy\" | \"createdAt\" | \"updatedAt\" | \"apiKeyOwner\" | \"throttle\" | \"notifyWhen\" | \"muteAll\" | \"mutedInstanceIds\" | \"executionStatus\" | \"legacyId\">>; resolve: = never>({ id, }: { id: string; }) => Promise<", { "pluginId": "alerting", "scope": "common", @@ -3405,6 +3405,19 @@ ], "path": "x-pack/plugins/alerting/common/alert_instance_summary.ts", "deprecated": false + }, + { + "parentPluginId": "alerting", + "id": "def-common.AlertInstanceSummary.executionDuration", + "type": "Object", + "tags": [], + "label": "executionDuration", + "description": [], + "signature": [ + "{ average: number; values: number[]; }" + ], + "path": "x-pack/plugins/alerting/common/alert_instance_summary.ts", + "deprecated": false } ], "initialIsOpen": false @@ -4153,7 +4166,7 @@ "section": "def-common.Alert", "text": "Alert" }, - ", \"id\" | \"name\" | \"tags\" | \"enabled\" | \"params\" | \"actions\" | \"throttle\" | \"alertTypeId\" | \"consumer\" | \"schedule\" | \"scheduledTaskId\" | \"createdBy\" | \"updatedBy\" | \"createdAt\" | \"updatedAt\" | \"apiKeyOwner\" | \"notifyWhen\" | \"muteAll\" | \"mutedInstanceIds\" | \"executionStatus\"> & Pick<", + ", \"id\" | \"name\" | \"tags\" | \"enabled\" | \"params\" | \"actions\" | \"alertTypeId\" | \"consumer\" | \"schedule\" | \"scheduledTaskId\" | \"createdBy\" | \"updatedBy\" | \"createdAt\" | \"updatedAt\" | \"apiKeyOwner\" | \"throttle\" | \"notifyWhen\" | \"muteAll\" | \"mutedInstanceIds\" | \"executionStatus\"> & Pick<", { "pluginId": "core", "scope": "server", @@ -4183,7 +4196,7 @@ "section": "def-common.AlertAction", "text": "AlertAction" }, - "[]; throttle: string | null; alertTypeId: string; consumer: string; schedule: ", + "[]; alertTypeId: string; consumer: string; schedule: ", { "pluginId": "alerting", "scope": "common", @@ -4191,7 +4204,7 @@ "section": "def-common.IntervalSchedule", "text": "IntervalSchedule" }, - "; scheduledTaskId?: string | undefined; createdBy: string | null; updatedBy: string | null; createdAt: Date; updatedAt: Date; apiKeyOwner: string | null; notifyWhen: \"onActionGroupChange\" | \"onActiveAlert\" | \"onThrottleInterval\" | null; muteAll: boolean; mutedInstanceIds: string[]; executionStatus: ", + "; scheduledTaskId?: string | undefined; createdBy: string | null; updatedBy: string | null; createdAt: Date; updatedAt: Date; apiKeyOwner: string | null; throttle: string | null; notifyWhen: \"onActionGroupChange\" | \"onActiveAlert\" | \"onThrottleInterval\" | null; muteAll: boolean; mutedInstanceIds: string[]; executionStatus: ", { "pluginId": "alerting", "scope": "common", @@ -4221,7 +4234,7 @@ "section": "def-common.Alert", "text": "Alert" }, - ", \"id\" | \"name\" | \"tags\" | \"enabled\" | \"params\" | \"actions\" | \"throttle\" | \"alertTypeId\" | \"consumer\" | \"schedule\" | \"scheduledTaskId\" | \"createdBy\" | \"updatedBy\" | \"createdAt\" | \"updatedAt\" | \"apiKeyOwner\" | \"notifyWhen\" | \"muteAll\" | \"mutedInstanceIds\" | \"executionStatus\">, \"name\" | \"tags\" | \"enabled\" | \"actions\" | \"throttle\" | \"consumer\" | \"schedule\" | \"createdBy\" | \"updatedBy\" | \"createdAt\" | \"updatedAt\" | \"notifyWhen\"> & { producer: string; ruleTypeId: string; ruleTypeName: string; }" + ", \"id\" | \"name\" | \"tags\" | \"enabled\" | \"params\" | \"actions\" | \"alertTypeId\" | \"consumer\" | \"schedule\" | \"scheduledTaskId\" | \"createdBy\" | \"updatedBy\" | \"createdAt\" | \"updatedAt\" | \"apiKeyOwner\" | \"throttle\" | \"notifyWhen\" | \"muteAll\" | \"mutedInstanceIds\" | \"executionStatus\">, \"name\" | \"tags\" | \"enabled\" | \"actions\" | \"consumer\" | \"schedule\" | \"createdBy\" | \"updatedBy\" | \"createdAt\" | \"updatedAt\" | \"throttle\" | \"notifyWhen\"> & { producer: string; ruleTypeId: string; ruleTypeName: string; }" ], "path": "x-pack/plugins/alerting/common/alert.ts", "deprecated": false, diff --git a/api_docs/alerting.mdx b/api_docs/alerting.mdx index 333c524db5e24d..5524dbb9967598 100644 --- a/api_docs/alerting.mdx +++ b/api_docs/alerting.mdx @@ -18,7 +18,7 @@ Contact [Kibana Alerting](https://github.com/orgs/elastic/teams/kibana-alerting- | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 257 | 0 | 249 | 17 | +| 258 | 0 | 250 | 17 | ## Client diff --git a/api_docs/apm.json b/api_docs/apm.json index f0c84d9974c318..a97e5428b2b8ef 100644 --- a/api_docs/apm.json +++ b/api_docs/apm.json @@ -186,7 +186,7 @@ "APMPluginSetupDependencies", ", \"data\" | \"cloud\" | \"security\" | \"home\" | \"features\" | \"fleet\" | \"ml\" | \"spaces\" | \"actions\" | \"usageCollection\" | \"licensing\" | \"observability\" | \"ruleRegistry\" | \"taskManager\" | \"alerting\">) => { config$: ", "Observable", - "; serviceMapEnabled: boolean; serviceMapFingerprintBucketSize: number; serviceMapTraceIdBucketSize: number; serviceMapFingerprintGlobalBucketSize: number; serviceMapTraceIdGlobalBucketSize: number; serviceMapMaxTracesPerRequest: number; autocreateApmIndexPattern: boolean; ui: Readonly<{} & { enabled: boolean; transactionGroupBucketSize: number; maxTraceItems: number; }>; searchAggregatedTransactions: ", + "; serviceMapEnabled: boolean; serviceMapFingerprintBucketSize: number; serviceMapTraceIdBucketSize: number; serviceMapFingerprintGlobalBucketSize: number; serviceMapTraceIdGlobalBucketSize: number; serviceMapMaxTracesPerRequest: number; autocreateApmIndexPattern: boolean; ui: Readonly<{} & { enabled: boolean; transactionGroupBucketSize: number; maxTraceItems: number; }>; searchAggregatedTransactions: ", "SearchAggregatedTransactionSetting", "; telemetryCollectionEnabled: boolean; metricsInterval: number; profilingEnabled: boolean; agent: Readonly<{} & { migrations: Readonly<{} & { enabled: boolean; }>; }>; }>>; getApmIndices: () => Promise<", "ApmIndicesConfig", @@ -388,7 +388,7 @@ "label": "config", "description": [], "signature": [ - "{ readonly enabled: boolean; readonly indices: Readonly<{} & { error: string; metric: string; span: string; transaction: string; sourcemap: string; onboarding: string; }>; readonly serviceMapEnabled: boolean; readonly serviceMapFingerprintBucketSize: number; readonly serviceMapTraceIdBucketSize: number; readonly serviceMapFingerprintGlobalBucketSize: number; readonly serviceMapTraceIdGlobalBucketSize: number; readonly serviceMapMaxTracesPerRequest: number; readonly autocreateApmIndexPattern: boolean; readonly ui: Readonly<{} & { enabled: boolean; transactionGroupBucketSize: number; maxTraceItems: number; }>; readonly searchAggregatedTransactions: ", + "{ readonly indices: Readonly<{} & { metric: string; error: string; span: string; transaction: string; sourcemap: string; onboarding: string; }>; readonly serviceMapEnabled: boolean; readonly serviceMapFingerprintBucketSize: number; readonly serviceMapTraceIdBucketSize: number; readonly serviceMapFingerprintGlobalBucketSize: number; readonly serviceMapTraceIdGlobalBucketSize: number; readonly serviceMapMaxTracesPerRequest: number; readonly autocreateApmIndexPattern: boolean; readonly ui: Readonly<{} & { enabled: boolean; transactionGroupBucketSize: number; maxTraceItems: number; }>; readonly searchAggregatedTransactions: ", "SearchAggregatedTransactionSetting", "; readonly telemetryCollectionEnabled: boolean; readonly metricsInterval: number; readonly profilingEnabled: boolean; readonly agent: Readonly<{} & { migrations: Readonly<{} & { enabled: boolean; }>; }>; }" ], @@ -737,7 +737,7 @@ "label": "APIEndpoint", "description": [], "signature": [ - "\"POST /internal/apm/index_pattern/static\" | \"GET /internal/apm/index_pattern/dynamic\" | \"GET /internal/apm/environments\" | \"GET /internal/apm/services/{serviceName}/errors\" | \"GET /internal/apm/services/{serviceName}/errors/{groupId}\" | \"GET /internal/apm/services/{serviceName}/errors/distribution\" | \"GET /internal/apm/services/{serviceName}/metrics/charts\" | \"GET /internal/apm/observability_overview\" | \"GET /internal/apm/observability_overview/has_data\" | \"GET /api/apm/rum/client-metrics\" | \"GET /api/apm/rum-client/page-load-distribution\" | \"GET /api/apm/rum-client/page-load-distribution/breakdown\" | \"GET /api/apm/rum-client/page-view-trends\" | \"GET /api/apm/rum-client/services\" | \"GET /api/apm/rum-client/visitor-breakdown\" | \"GET /api/apm/rum-client/web-core-vitals\" | \"GET /api/apm/rum-client/long-task-metrics\" | \"GET /api/apm/rum-client/url-search\" | \"GET /api/apm/rum-client/js-errors\" | \"GET /api/apm/observability_overview/has_rum_data\" | \"GET /internal/apm/service-map\" | \"GET /internal/apm/service-map/service/{serviceName}\" | \"GET /internal/apm/service-map/backend/{backendName}\" | \"GET /internal/apm/services/{serviceName}/serviceNodes\" | \"GET /internal/apm/services\" | \"GET /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\" | \"POST /api/apm/services/{serviceName}/annotation\" | \"GET /internal/apm/services/{serviceName}/error_groups/main_statistics\" | \"GET /internal/apm/services/{serviceName}/error_groups/detailed_statistics\" | \"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}/profiling/timeline\" | \"GET /internal/apm/services/{serviceName}/profiling/statistics\" | \"GET /internal/apm/services/{serviceName}/alerts\" | \"GET /internal/apm/services/{serviceName}/infrastructure\" | \"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/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/alerts/chart_preview/transaction_error_rate\" | \"GET /internal/apm/alerts/chart_preview/transaction_duration\" | \"GET /internal/apm/alerts/chart_preview/transaction_error_count\" | \"GET /api/apm/settings/agent-configuration\" | \"GET /api/apm/settings/agent-configuration/view\" | \"DELETE /api/apm/settings/agent-configuration\" | \"PUT /api/apm/settings/agent-configuration\" | \"POST /api/apm/settings/agent-configuration/search\" | \"GET /api/apm/settings/agent-configuration/services\" | \"GET /api/apm/settings/agent-configuration/environments\" | \"GET /api/apm/settings/agent-configuration/agent_name\" | \"GET /internal/apm/settings/anomaly-detection/jobs\" | \"POST /internal/apm/settings/anomaly-detection/jobs\" | \"GET /internal/apm/settings/anomaly-detection/environments\" | \"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\" | \"POST /api/apm/sourcemaps\" | \"DELETE /api/apm/sourcemaps/{id}\" | \"GET /internal/apm/fleet/has_data\" | \"GET /internal/apm/fleet/agents\" | \"POST /internal/apm/fleet/apm_server_schema\" | \"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/backends/top_backends\" | \"GET /internal/apm/backends/{backendName}/upstream_services\" | \"GET /internal/apm/backends/{backendName}/metadata\" | \"GET /internal/apm/backends/{backendName}/charts/latency\" | \"GET /internal/apm/backends/{backendName}/charts/throughput\" | \"GET /internal/apm/backends/{backendName}/charts/error_rate\" | \"GET /internal/apm/fallback_to_transactions\" | \"GET /internal/apm/has_data\" | \"GET /internal/apm/event_metadata/{processorEvent}/{id}\"" + "\"POST /internal/apm/data_view/static\" | \"GET /internal/apm/data_view/dynamic\" | \"GET /internal/apm/environments\" | \"GET /internal/apm/services/{serviceName}/errors\" | \"GET /internal/apm/services/{serviceName}/errors/{groupId}\" | \"GET /internal/apm/services/{serviceName}/errors/distribution\" | \"POST /internal/apm/latency/overall_distribution\" | \"GET /internal/apm/services/{serviceName}/metrics/charts\" | \"GET /internal/apm/observability_overview\" | \"GET /internal/apm/observability_overview/has_data\" | \"GET /api/apm/rum/client-metrics\" | \"GET /api/apm/rum-client/page-load-distribution\" | \"GET /api/apm/rum-client/page-load-distribution/breakdown\" | \"GET /api/apm/rum-client/page-view-trends\" | \"GET /api/apm/rum-client/services\" | \"GET /api/apm/rum-client/visitor-breakdown\" | \"GET /api/apm/rum-client/web-core-vitals\" | \"GET /api/apm/rum-client/long-task-metrics\" | \"GET /api/apm/rum-client/url-search\" | \"GET /api/apm/rum-client/js-errors\" | \"GET /api/apm/observability_overview/has_rum_data\" | \"GET /internal/apm/service-map\" | \"GET /internal/apm/service-map/service/{serviceName}\" | \"GET /internal/apm/service-map/backend\" | \"GET /internal/apm/services/{serviceName}/serviceNodes\" | \"GET /internal/apm/services\" | \"GET /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\" | \"POST /api/apm/services/{serviceName}/annotation\" | \"GET /internal/apm/services/{serviceName}/error_groups/main_statistics\" | \"GET /internal/apm/services/{serviceName}/error_groups/detailed_statistics\" | \"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}/profiling/timeline\" | \"GET /internal/apm/services/{serviceName}/profiling/statistics\" | \"GET /internal/apm/services/{serviceName}/alerts\" | \"GET /internal/apm/services/{serviceName}/infrastructure\" | \"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/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/alerts/chart_preview/transaction_error_rate\" | \"GET /internal/apm/alerts/chart_preview/transaction_duration\" | \"GET /internal/apm/alerts/chart_preview/transaction_error_count\" | \"GET /api/apm/settings/agent-configuration\" | \"GET /api/apm/settings/agent-configuration/view\" | \"DELETE /api/apm/settings/agent-configuration\" | \"PUT /api/apm/settings/agent-configuration\" | \"POST /api/apm/settings/agent-configuration/search\" | \"GET /api/apm/settings/agent-configuration/services\" | \"GET /api/apm/settings/agent-configuration/environments\" | \"GET /api/apm/settings/agent-configuration/agent_name\" | \"GET /internal/apm/settings/anomaly-detection/jobs\" | \"POST /internal/apm/settings/anomaly-detection/jobs\" | \"GET /internal/apm/settings/anomaly-detection/environments\" | \"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\" | \"POST /api/apm/sourcemaps\" | \"DELETE /api/apm/sourcemaps/{id}\" | \"GET /internal/apm/fleet/has_data\" | \"GET /internal/apm/fleet/agents\" | \"POST /api/apm/fleet/apm_server_schema\" | \"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/backends/top_backends\" | \"GET /internal/apm/backends/upstream_services\" | \"GET /internal/apm/backends/metadata\" | \"GET /internal/apm/backends/charts/latency\" | \"GET /internal/apm/backends/charts/throughput\" | \"GET /internal/apm/backends/charts/error_rate\" | \"GET /internal/apm/fallback_to_transactions\" | \"GET /internal/apm/has_data\" | \"GET /internal/apm/event_metadata/{processorEvent}/{id}\"" ], "path": "x-pack/plugins/apm/server/routes/get_global_apm_server_route_repository.ts", "deprecated": false, @@ -765,7 +765,7 @@ "label": "APMConfig", "description": [], "signature": [ - "{ readonly enabled: boolean; readonly indices: Readonly<{} & { error: string; metric: string; span: string; transaction: string; sourcemap: string; onboarding: string; }>; readonly serviceMapEnabled: boolean; readonly serviceMapFingerprintBucketSize: number; readonly serviceMapTraceIdBucketSize: number; readonly serviceMapFingerprintGlobalBucketSize: number; readonly serviceMapTraceIdGlobalBucketSize: number; readonly serviceMapMaxTracesPerRequest: number; readonly autocreateApmIndexPattern: boolean; readonly ui: Readonly<{} & { enabled: boolean; transactionGroupBucketSize: number; maxTraceItems: number; }>; readonly searchAggregatedTransactions: ", + "{ readonly indices: Readonly<{} & { metric: string; error: string; span: string; transaction: string; sourcemap: string; onboarding: string; }>; readonly serviceMapEnabled: boolean; readonly serviceMapFingerprintBucketSize: number; readonly serviceMapTraceIdBucketSize: number; readonly serviceMapFingerprintGlobalBucketSize: number; readonly serviceMapTraceIdGlobalBucketSize: number; readonly serviceMapMaxTracesPerRequest: number; readonly autocreateApmIndexPattern: boolean; readonly ui: Readonly<{} & { enabled: boolean; transactionGroupBucketSize: number; maxTraceItems: number; }>; readonly searchAggregatedTransactions: ", "SearchAggregatedTransactionSetting", "; readonly telemetryCollectionEnabled: boolean; readonly metricsInterval: number; readonly profilingEnabled: boolean; readonly agent: Readonly<{} & { migrations: Readonly<{} & { enabled: boolean; }>; }>; }" ], @@ -781,7 +781,7 @@ "label": "ApmIndicesConfigName", "description": [], "signature": [ - "\"error\" | \"metric\" | \"span\" | \"transaction\" | \"sourcemap\" | \"onboarding\"" + "\"metric\" | \"error\" | \"span\" | \"transaction\" | \"sourcemap\" | \"onboarding\"" ], "path": "x-pack/plugins/apm/server/index.ts", "deprecated": false, @@ -812,7 +812,7 @@ }, ", ", "APMRouteCreateOptions", - ", { \"POST /internal/apm/index_pattern/static\": ", + ", { \"POST /internal/apm/data_view/static\": ", { "pluginId": "@kbn/server-route-repository", "scope": "server", @@ -820,7 +820,7 @@ "section": "def-server.ServerRoute", "text": "ServerRoute" }, - "<\"POST /internal/apm/index_pattern/static\", undefined, ", + "<\"POST /internal/apm/data_view/static\", undefined, ", { "pluginId": "apm", "scope": "server", @@ -830,7 +830,7 @@ }, ", { created: boolean; }, ", "APMRouteCreateOptions", - ">; } & { \"GET /internal/apm/index_pattern/dynamic\": ", + ">; } & { \"GET /internal/apm/data_view/dynamic\": ", { "pluginId": "@kbn/server-route-repository", "scope": "server", @@ -838,7 +838,7 @@ "section": "def-server.ServerRoute", "text": "ServerRoute" }, - "<\"GET /internal/apm/index_pattern/dynamic\", undefined, ", + "<\"GET /internal/apm/data_view/dynamic\", undefined, ", { "pluginId": "apm", "scope": "server", @@ -846,8 +846,8 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", { dynamicIndexPattern: ", - "IndexPatternTitleAndFields", + ", { dynamicDataView: ", + "DataViewTitleAndFields", " | undefined; }, ", "APMRouteCreateOptions", ">; } & { \"GET /internal/apm/environments\": ", @@ -1042,6 +1042,12 @@ "Type", "; end: ", "Type", + "; }>, ", + "PartialC", + "<{ comparisonStart: ", + "Type", + "; comparisonEnd: ", + "Type", "; }>]>; }>, ", { "pluginId": "apm", @@ -1050,7 +1056,79 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", { noHits: boolean; buckets: { key: number; count: number; }[]; bucketSize: number; }, ", + ", { currentPeriod: { x: number; y: number; }[]; previousPeriod: { x: number; y: number | null | undefined; }[]; bucketSize: number; }, ", + "APMRouteCreateOptions", + ">; } & { \"POST /internal/apm/latency/overall_distribution\": ", + { + "pluginId": "@kbn/server-route-repository", + "scope": "server", + "docId": "kibKbnServerRouteRepositoryPluginApi", + "section": "def-server.ServerRoute", + "text": "ServerRoute" + }, + "<\"POST /internal/apm/latency/overall_distribution\", ", + "TypeC", + "<{ body: ", + "IntersectionC", + "<[", + "PartialC", + "<{ serviceName: ", + "StringC", + "; transactionName: ", + "StringC", + "; transactionType: ", + "StringC", + "; termFilters: ", + "ArrayC", + "<", + "TypeC", + "<{ fieldName: ", + "StringC", + "; fieldValue: ", + "UnionC", + "<[", + "StringC", + ", ", + "Type", + "]>; }>>; }>, ", + "TypeC", + "<{ environment: ", + "UnionC", + "<[", + "LiteralC", + "<\"ENVIRONMENT_NOT_DEFINED\">, ", + "LiteralC", + "<\"ENVIRONMENT_ALL\">, ", + "BrandC", + "<", + "StringC", + ", ", + "NonEmptyStringBrand", + ">]>; }>, ", + "TypeC", + "<{ kuery: ", + "StringC", + "; }>, ", + "TypeC", + "<{ start: ", + "Type", + "; end: ", + "Type", + "; }>, ", + "TypeC", + "<{ percentileThreshold: ", + "Type", + "; }>]>; }>, ", + { + "pluginId": "apm", + "scope": "server", + "docId": "kibApmPluginApi", + "section": "def-server.APMRouteHandlerResources", + "text": "APMRouteHandlerResources" + }, + ", ", + "OverallLatencyDistributionResponse", + ", ", "APMRouteCreateOptions", ">; } & { \"GET /internal/apm/services/{serviceName}/metrics/charts\": ", { @@ -1133,6 +1211,8 @@ "; }>, ", "TypeC", "<{ bucketSize: ", + "Type", + "; intervalString: ", "StringC", "; }>]>; }>, ", { @@ -1142,7 +1222,7 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", { serviceCount: number; transactionPerMinute: { value: undefined; timeseries: never[]; } | { value: number; timeseries: { x: number; y: number | null; }[]; }; }, ", + ", { serviceCount: number; transactionPerMinute: { value: undefined; timeseries: never[]; } | { value: number; timeseries: { x: number; y: number; }[]; }; }, ", "APMRouteCreateOptions", ">; } & { \"GET /internal/apm/observability_overview/has_data\": ", { @@ -1692,7 +1772,7 @@ }, ", { avgMemoryUsage: number | null; avgCpuUsage: number | null; transactionStats: { avgTransactionDuration: number | null; avgRequestsPerMinute: number | null; }; avgErrorRate: number | null; }, ", "APMRouteCreateOptions", - ">; } & { \"GET /internal/apm/service-map/backend/{backendName}\": ", + ">; } & { \"GET /internal/apm/service-map/backend\": ", { "pluginId": "@kbn/server-route-repository", "scope": "server", @@ -1700,15 +1780,15 @@ "section": "def-server.ServerRoute", "text": "ServerRoute" }, - "<\"GET /internal/apm/service-map/backend/{backendName}\", ", + "<\"GET /internal/apm/service-map/backend\", ", "TypeC", - "<{ path: ", + "<{ query: ", + "IntersectionC", + "<[", "TypeC", "<{ backendName: ", "StringC", - "; }>; query: ", - "IntersectionC", - "<[", + "; }>, ", "TypeC", "<{ environment: ", "UnionC", @@ -2398,9 +2478,7 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", { currentPeriod: { x: number; y: number | null; }[]; previousPeriod: { x: number; y: number | null | undefined; }[]; throughputUnit: ", - "ThroughputUnit", - "; }, ", + ", { currentPeriod: { x: number; y: number; }[]; previousPeriod: { x: number; y: number | null | undefined; }[]; }, ", "APMRouteCreateOptions", ">; } & { \"GET /internal/apm/services/{serviceName}/service_overview_instances/main_statistics\": ", { @@ -4000,7 +4078,7 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", { apmIndexSettings: { configurationName: \"error\" | \"metric\" | \"span\" | \"transaction\" | \"sourcemap\" | \"onboarding\"; defaultValue: string; savedValue: string | undefined; }[]; }, ", + ", { apmIndexSettings: { configurationName: \"metric\" | \"error\" | \"span\" | \"transaction\" | \"sourcemap\" | \"onboarding\"; defaultValue: string; savedValue: string | undefined; }[]; }, ", "APMRouteCreateOptions", ">; } & { \"GET /internal/apm/settings/apm-indices\": ", { @@ -4360,7 +4438,7 @@ }, ", { cloudStandaloneSetup: { apmServerUrl: string | undefined; secretToken: string | undefined; } | undefined; isFleetEnabled: boolean; fleetAgents: { id: string; name: string; apmServerUrl: any; secretToken: any; }[]; }, ", "APMRouteCreateOptions", - ">; } & { \"POST /internal/apm/fleet/apm_server_schema\": ", + ">; } & { \"POST /api/apm/fleet/apm_server_schema\": ", { "pluginId": "@kbn/server-route-repository", "scope": "server", @@ -4368,7 +4446,7 @@ "section": "def-server.ServerRoute", "text": "ServerRoute" }, - "<\"POST /internal/apm/fleet/apm_server_schema\", ", + "<\"POST /api/apm/fleet/apm_server_schema\", ", "TypeC", "<{ body: ", "TypeC", @@ -4422,7 +4500,15 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", { has_cloud_agent_policy: boolean; has_cloud_apm_package_policy: boolean; cloud_apm_migration_enabled: boolean; has_required_role: boolean | undefined; }, ", + ", { has_cloud_agent_policy: boolean; has_cloud_apm_package_policy: boolean; cloud_apm_migration_enabled: boolean; has_required_role: boolean | undefined; cloud_apm_package_policy: ", + { + "pluginId": "fleet", + "scope": "common", + "docId": "kibFleetPluginApi", + "section": "def-common.PackagePolicy", + "text": "PackagePolicy" + }, + " | undefined; }, ", "APMRouteCreateOptions", ">; } & { \"POST /internal/apm/fleet/cloud_apm_package_policy\": ", { @@ -4526,7 +4612,7 @@ "Node", "; }[]; }, ", "APMRouteCreateOptions", - ">; } & { \"GET /internal/apm/backends/{backendName}/upstream_services\": ", + ">; } & { \"GET /internal/apm/backends/upstream_services\": ", { "pluginId": "@kbn/server-route-repository", "scope": "server", @@ -4534,17 +4620,17 @@ "section": "def-server.ServerRoute", "text": "ServerRoute" }, - "<\"GET /internal/apm/backends/{backendName}/upstream_services\", ", + "<\"GET /internal/apm/backends/upstream_services\", ", "IntersectionC", "<[", "TypeC", - "<{ path: ", + "<{ query: ", + "IntersectionC", + "<[", "TypeC", "<{ backendName: ", "StringC", - "; }>; query: ", - "IntersectionC", - "<[", + "; }>, ", "TypeC", "<{ start: ", "Type", @@ -4608,7 +4694,7 @@ "Node", "; }[]; }, ", "APMRouteCreateOptions", - ">; } & { \"GET /internal/apm/backends/{backendName}/metadata\": ", + ">; } & { \"GET /internal/apm/backends/metadata\": ", { "pluginId": "@kbn/server-route-repository", "scope": "server", @@ -4616,19 +4702,21 @@ "section": "def-server.ServerRoute", "text": "ServerRoute" }, - "<\"GET /internal/apm/backends/{backendName}/metadata\", ", + "<\"GET /internal/apm/backends/metadata\", ", "TypeC", - "<{ path: ", + "<{ query: ", + "IntersectionC", + "<[", "TypeC", "<{ backendName: ", "StringC", - "; }>; query: ", + "; }>, ", "TypeC", "<{ start: ", "Type", "; end: ", "Type", - "; }>; }>, ", + "; }>]>; }>, ", { "pluginId": "apm", "scope": "server", @@ -4638,7 +4726,7 @@ }, ", { metadata: { spanType: string | undefined; spanSubtype: string | undefined; }; }, ", "APMRouteCreateOptions", - ">; } & { \"GET /internal/apm/backends/{backendName}/charts/latency\": ", + ">; } & { \"GET /internal/apm/backends/charts/latency\": ", { "pluginId": "@kbn/server-route-repository", "scope": "server", @@ -4646,15 +4734,15 @@ "section": "def-server.ServerRoute", "text": "ServerRoute" }, - "<\"GET /internal/apm/backends/{backendName}/charts/latency\", ", + "<\"GET /internal/apm/backends/charts/latency\", ", "TypeC", - "<{ path: ", + "<{ query: ", + "IntersectionC", + "<[", "TypeC", "<{ backendName: ", "StringC", - "; }>; query: ", - "IntersectionC", - "<[", + "; }>, ", "TypeC", "<{ start: ", "Type", @@ -4692,7 +4780,7 @@ }, ", { currentTimeseries: { x: number; y: number; }[]; comparisonTimeseries: { x: number; y: number; }[] | null; }, ", "APMRouteCreateOptions", - ">; } & { \"GET /internal/apm/backends/{backendName}/charts/throughput\": ", + ">; } & { \"GET /internal/apm/backends/charts/throughput\": ", { "pluginId": "@kbn/server-route-repository", "scope": "server", @@ -4700,15 +4788,15 @@ "section": "def-server.ServerRoute", "text": "ServerRoute" }, - "<\"GET /internal/apm/backends/{backendName}/charts/throughput\", ", + "<\"GET /internal/apm/backends/charts/throughput\", ", "TypeC", - "<{ path: ", + "<{ query: ", + "IntersectionC", + "<[", "TypeC", "<{ backendName: ", "StringC", - "; }>; query: ", - "IntersectionC", - "<[", + "; }>, ", "TypeC", "<{ start: ", "Type", @@ -4744,9 +4832,9 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", { currentTimeseries: { x: number; y: number | null; }[]; comparisonTimeseries: { x: number; y: number | null; }[] | null; }, ", + ", { currentTimeseries: { x: number; y: number; }[]; comparisonTimeseries: { x: number; y: number; }[] | null; }, ", "APMRouteCreateOptions", - ">; } & { \"GET /internal/apm/backends/{backendName}/charts/error_rate\": ", + ">; } & { \"GET /internal/apm/backends/charts/error_rate\": ", { "pluginId": "@kbn/server-route-repository", "scope": "server", @@ -4754,15 +4842,15 @@ "section": "def-server.ServerRoute", "text": "ServerRoute" }, - "<\"GET /internal/apm/backends/{backendName}/charts/error_rate\", ", + "<\"GET /internal/apm/backends/charts/error_rate\", ", "TypeC", - "<{ path: ", + "<{ query: ", + "IntersectionC", + "<[", "TypeC", "<{ backendName: ", "StringC", - "; }>; query: ", - "IntersectionC", - "<[", + "; }>, ", "TypeC", "<{ start: ", "Type", @@ -4923,7 +5011,7 @@ "description": [], "signature": [ "Observable", - "; serviceMapEnabled: boolean; serviceMapFingerprintBucketSize: number; serviceMapTraceIdBucketSize: number; serviceMapFingerprintGlobalBucketSize: number; serviceMapTraceIdGlobalBucketSize: number; serviceMapMaxTracesPerRequest: number; autocreateApmIndexPattern: boolean; ui: Readonly<{} & { enabled: boolean; transactionGroupBucketSize: number; maxTraceItems: number; }>; searchAggregatedTransactions: ", + "; serviceMapEnabled: boolean; serviceMapFingerprintBucketSize: number; serviceMapTraceIdBucketSize: number; serviceMapFingerprintGlobalBucketSize: number; serviceMapTraceIdGlobalBucketSize: number; serviceMapMaxTracesPerRequest: number; autocreateApmIndexPattern: boolean; ui: Readonly<{} & { enabled: boolean; transactionGroupBucketSize: number; maxTraceItems: number; }>; searchAggregatedTransactions: ", "SearchAggregatedTransactionSetting", "; telemetryCollectionEnabled: boolean; metricsInterval: number; profilingEnabled: boolean; agent: Readonly<{} & { migrations: Readonly<{} & { enabled: boolean; }>; }>; }>>" ], diff --git a/api_docs/cases.json b/api_docs/cases.json index aedf69d28559f9..e38f156b031d7e 100644 --- a/api_docs/cases.json +++ b/api_docs/cases.json @@ -3512,7 +3512,7 @@ "label": "outcome", "description": [], "signature": [ - "\"conflict\" | \"exactMatch\" | \"aliasMatch\"" + "\"conflict\" | \"aliasMatch\" | \"exactMatch\"" ], "path": "x-pack/plugins/cases/common/ui/types.ts", "deprecated": false @@ -5492,7 +5492,7 @@ "section": "def-common.AssociationType", "text": "AssociationType" }, - "; created_at: string; created_by: { email: string | null | undefined; full_name: string | null | undefined; username: string | null | undefined; }; owner: string; pushed_at: string | null; pushed_by: { email: string | null | undefined; full_name: string | null | undefined; username: string | null | undefined; } | null; updated_at: string | null; updated_by: { email: string | null | undefined; full_name: string | null | undefined; username: string | null | undefined; } | null; } & { id: string; version: string; }))[] | undefined; }; outcome: \"conflict\" | \"exactMatch\" | \"aliasMatch\"; } & { alias_target_id?: string | undefined; }" + "; created_at: string; created_by: { email: string | null | undefined; full_name: string | null | undefined; username: string | null | undefined; }; owner: string; pushed_at: string | null; pushed_by: { email: string | null | undefined; full_name: string | null | undefined; username: string | null | undefined; } | null; updated_at: string | null; updated_by: { email: string | null | undefined; full_name: string | null | undefined; username: string | null | undefined; } | null; } & { id: string; version: string; }))[] | undefined; }; outcome: \"conflict\" | \"aliasMatch\" | \"exactMatch\"; } & { alias_target_id?: string | undefined; }" ], "path": "x-pack/plugins/cases/common/api/cases/case.ts", "deprecated": false, diff --git a/api_docs/charts.json b/api_docs/charts.json index d6ad087ad16014..e53f10c5397900 100644 --- a/api_docs/charts.json +++ b/api_docs/charts.json @@ -3842,6 +3842,20 @@ "deprecated": false, "initialIsOpen": false }, + { + "parentPluginId": "charts", + "id": "def-common.LEGACY_TIME_AXIS", + "type": "string", + "tags": [], + "label": "LEGACY_TIME_AXIS", + "description": [], + "signature": [ + "\"visualization:useLegacyTimeAxis\"" + ], + "path": "src/plugins/charts/common/index.ts", + "deprecated": false, + "initialIsOpen": false + }, { "parentPluginId": "charts", "id": "def-common.paletteIds", diff --git a/api_docs/charts.mdx b/api_docs/charts.mdx index 8d31f6ad1d640c..32f7fc46723ad5 100644 --- a/api_docs/charts.mdx +++ b/api_docs/charts.mdx @@ -18,7 +18,7 @@ Contact [Vis Editors](https://github.com/orgs/elastic/teams/kibana-vis-editors) | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 285 | 4 | 253 | 3 | +| 286 | 4 | 254 | 3 | ## Client diff --git a/api_docs/console.json b/api_docs/console.json index 6bbad02c909405..cfb40c9833259a 100644 --- a/api_docs/console.json +++ b/api_docs/console.json @@ -32,6 +32,43 @@ "path": "src/plugins/console/public/plugin.ts", "deprecated": false, "children": [ + { + "parentPluginId": "console", + "id": "def-public.ConsoleUIPlugin.Unnamed", + "type": "Function", + "tags": [], + "label": "Constructor", + "description": [], + "signature": [ + "any" + ], + "path": "src/plugins/console/public/plugin.ts", + "deprecated": false, + "children": [ + { + "parentPluginId": "console", + "id": "def-public.ConsoleUIPlugin.Unnamed.$1", + "type": "Object", + "tags": [], + "label": "ctx", + "description": [], + "signature": [ + { + "pluginId": "core", + "scope": "public", + "docId": "kibCorePluginApi", + "section": "def-public.PluginInitializerContext", + "text": "PluginInitializerContext" + }, + "" + ], + "path": "src/plugins/console/public/plugin.ts", + "deprecated": false, + "isRequired": true + } + ], + "returnComment": [] + }, { "parentPluginId": "console", "id": "def-public.ConsoleUIPlugin.setup", @@ -50,23 +87,14 @@ }, ", { devTools, home, share, usageCollection }: ", "AppSetupUIPluginDependencies", - ") => { locator: ", - { - "pluginId": "share", - "scope": "common", - "docId": "kibSharePluginApi", - "section": "def-common.LocatorPublic", - "text": "LocatorPublic" - }, - "<", + ") => ", { "pluginId": "console", "scope": "public", "docId": "kibConsolePluginApi", - "section": "def-public.ConsoleUILocatorParams", - "text": "ConsoleUILocatorParams" - }, - ">; }" + "section": "def-public.ConsolePluginSetup", + "text": "ConsolePluginSetup" + } ], "path": "src/plugins/console/public/plugin.ts", "deprecated": false, @@ -130,6 +158,47 @@ ], "functions": [], "interfaces": [ + { + "parentPluginId": "console", + "id": "def-public.ConsolePluginSetup", + "type": "Interface", + "tags": [], + "label": "ConsolePluginSetup", + "description": [], + "path": "src/plugins/console/public/types/plugin_dependencies.ts", + "deprecated": false, + "children": [ + { + "parentPluginId": "console", + "id": "def-public.ConsolePluginSetup.locator", + "type": "Object", + "tags": [], + "label": "locator", + "description": [], + "signature": [ + { + "pluginId": "share", + "scope": "common", + "docId": "kibSharePluginApi", + "section": "def-common.LocatorPublic", + "text": "LocatorPublic" + }, + "<", + { + "pluginId": "console", + "scope": "public", + "docId": "kibConsolePluginApi", + "section": "def-public.ConsoleUILocatorParams", + "text": "ConsoleUILocatorParams" + }, + "> | undefined" + ], + "path": "src/plugins/console/public/types/plugin_dependencies.ts", + "deprecated": false + } + ], + "initialIsOpen": false + }, { "parentPluginId": "console", "id": "def-public.ConsoleUILocatorParams", @@ -154,7 +223,7 @@ "text": "SerializableRecord" } ], - "path": "src/plugins/console/public/plugin.ts", + "path": "src/plugins/console/public/types/locator.ts", "deprecated": false, "children": [ { @@ -167,7 +236,7 @@ "signature": [ "string | undefined" ], - "path": "src/plugins/console/public/plugin.ts", + "path": "src/plugins/console/public/types/locator.ts", "deprecated": false } ], diff --git a/api_docs/console.mdx b/api_docs/console.mdx index 48a1654296affa..fcfa1afbee4906 100644 --- a/api_docs/console.mdx +++ b/api_docs/console.mdx @@ -18,7 +18,7 @@ Contact [Stack Management](https://github.com/orgs/elastic/teams/kibana-stack-ma | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 9 | 0 | 9 | 1 | +| 13 | 0 | 13 | 1 | ## Client diff --git a/api_docs/core.json b/api_docs/core.json index e09641530635e9..93a0d2007f651d 100644 --- a/api_docs/core.json +++ b/api_docs/core.json @@ -1506,7 +1506,7 @@ { "parentPluginId": "core", "id": "def-public.DeprecationsServiceStart.isDeprecationResolvable.$1", - "type": "Object", + "type": "CompoundType", "tags": [], "label": "details", "description": [], @@ -1548,7 +1548,7 @@ { "parentPluginId": "core", "id": "def-public.DeprecationsServiceStart.resolveDeprecation.$1", - "type": "Object", + "type": "CompoundType", "tags": [], "label": "details", "description": [], @@ -1603,7 +1603,7 @@ "label": "links", "description": [], "signature": [ - "{ readonly settings: string; readonly elasticStackGetStarted: string; readonly apm: { readonly kibanaSettings: string; readonly supportedServiceMaps: string; readonly customLinks: string; readonly droppedTransactionSpans: string; readonly upgrading: string; readonly metaData: string; }; readonly canvas: { readonly guide: string; }; readonly dashboard: { readonly guide: string; readonly drilldowns: string; readonly drilldownsTriggerPicker: string; readonly urlDrilldownTemplateSyntax: string; readonly urlDrilldownVariables: string; }; readonly discover: Record; readonly filebeat: { readonly base: string; readonly installation: string; readonly configuration: string; readonly elasticsearchOutput: string; readonly elasticsearchModule: string; readonly startup: string; readonly exportedFields: string; readonly suricataModule: string; readonly zeekModule: string; }; readonly auditbeat: { readonly base: string; readonly auditdModule: string; readonly systemModule: string; }; readonly metricbeat: { readonly base: string; readonly configure: string; readonly httpEndpoint: string; readonly install: string; readonly start: string; }; readonly enterpriseSearch: { readonly base: string; readonly appSearchBase: string; readonly workplaceSearchBase: string; }; readonly heartbeat: { readonly base: string; }; readonly libbeat: { readonly getStarted: string; }; readonly logstash: { readonly base: string; }; readonly functionbeat: { readonly base: string; }; readonly winlogbeat: { readonly base: string; }; readonly aggs: { readonly composite: string; readonly composite_missing_bucket: string; readonly date_histogram: string; readonly date_range: string; readonly date_format_pattern: string; readonly filter: string; readonly filters: string; readonly geohash_grid: string; readonly histogram: string; readonly ip_range: string; readonly range: string; readonly significant_terms: string; readonly terms: string; readonly avg: string; readonly avg_bucket: string; readonly max_bucket: string; readonly min_bucket: string; readonly sum_bucket: string; readonly cardinality: string; readonly count: string; readonly cumulative_sum: string; readonly derivative: string; readonly geo_bounds: string; readonly geo_centroid: string; readonly max: string; readonly median: string; readonly min: string; readonly moving_avg: string; readonly percentile_ranks: string; readonly serial_diff: string; readonly std_dev: string; readonly sum: string; readonly top_hits: string; }; readonly runtimeFields: { readonly overview: string; readonly mapping: string; }; readonly scriptedFields: { readonly scriptFields: string; readonly scriptAggs: string; readonly painless: string; readonly painlessApi: string; readonly painlessLangSpec: string; readonly painlessSyntax: string; readonly painlessWalkthrough: string; readonly luceneExpressions: string; }; readonly search: { readonly sessions: string; readonly sessionLimits: string; }; readonly indexPatterns: { readonly introduction: string; readonly fieldFormattersNumber: string; readonly fieldFormattersString: string; readonly runtimeFields: string; }; readonly addData: string; readonly kibana: string; readonly upgradeAssistant: string; readonly rollupJobs: string; readonly elasticsearch: Record; readonly siem: { readonly privileges: string; readonly guide: string; readonly gettingStarted: string; readonly ml: string; readonly ruleChangeLog: string; readonly detectionsReq: string; readonly networkMap: string; readonly troubleshootGaps: string; }; readonly securitySolution: { readonly trustedApps: string; }; readonly query: { readonly eql: string; readonly kueryQuerySyntax: string; readonly luceneQuerySyntax: string; readonly percolate: string; readonly queryDsl: string; readonly autocompleteChanges: string; }; readonly date: { readonly dateMath: string; readonly dateMathIndexNames: string; }; readonly management: Record; readonly ml: Record; readonly transforms: Record; readonly visualize: Record; readonly apis: Readonly<{ bulkIndexAlias: string; byteSizeUnits: string; createAutoFollowPattern: string; createFollower: string; createIndex: string; createSnapshotLifecyclePolicy: string; createRoleMapping: string; createRoleMappingTemplates: string; createRollupJobsRequest: string; createApiKey: string; createPipeline: string; createTransformRequest: string; cronExpressions: string; executeWatchActionModes: string; indexExists: string; openIndex: string; putComponentTemplate: string; painlessExecute: string; painlessExecuteAPIContexts: string; putComponentTemplateMetadata: string; putSnapshotLifecyclePolicy: string; putIndexTemplateV1: string; putWatch: string; simulatePipeline: string; timeUnits: string; updateTransform: string; }>; readonly observability: Readonly<{ guide: string; infrastructureThreshold: string; logsThreshold: string; metricsThreshold: string; monitorStatus: string; monitorUptime: string; tlsCertificate: string; uptimeDurationAnomaly: string; }>; readonly alerting: Record; readonly maps: Record; readonly monitoring: Record; readonly security: Readonly<{ apiKeyServiceSettings: string; clusterPrivileges: string; elasticsearchSettings: string; elasticsearchEnableSecurity: string; indicesPrivileges: string; kibanaTLS: string; kibanaPrivileges: string; mappingRoles: string; mappingRolesFieldRules: string; runAsPrivilege: string; }>; readonly spaces: Readonly<{ kibanaLegacyUrlAliases: string; kibanaDisableLegacyUrlAliasesApi: string; }>; readonly watcher: Record; readonly ccs: Record; readonly plugins: Record; readonly snapshotRestore: Record; readonly ingest: Record; readonly fleet: Readonly<{ guide: string; fleetServer: string; fleetServerAddFleetServer: string; settings: string; settingsFleetServerHostSettings: string; troubleshooting: string; elasticAgent: string; datastreams: string; datastreamsNamingScheme: string; upgradeElasticAgent: string; upgradeElasticAgent712lower: string; learnMoreBlog: string; apiKeysLearnMore: string; }>; readonly ecs: { readonly guide: string; }; readonly clients: { readonly guide: string; readonly goOverview: string; readonly javaIndex: string; readonly jsIntro: string; readonly netGuide: string; readonly perlGuide: string; readonly phpGuide: string; readonly pythonGuide: string; readonly rubyOverview: string; readonly rustGuide: string; }; }" + "{ readonly settings: string; readonly elasticStackGetStarted: string; readonly apm: { readonly kibanaSettings: string; readonly supportedServiceMaps: string; readonly customLinks: string; readonly droppedTransactionSpans: string; readonly upgrading: string; readonly metaData: string; }; readonly canvas: { readonly guide: string; }; readonly dashboard: { readonly guide: string; readonly drilldowns: string; readonly drilldownsTriggerPicker: string; readonly urlDrilldownTemplateSyntax: string; readonly urlDrilldownVariables: string; }; readonly discover: Record; readonly filebeat: { readonly base: string; readonly installation: string; readonly configuration: string; readonly elasticsearchOutput: string; readonly elasticsearchModule: string; readonly startup: string; readonly exportedFields: string; readonly suricataModule: string; readonly zeekModule: string; }; readonly auditbeat: { readonly base: string; readonly auditdModule: string; readonly systemModule: string; }; readonly metricbeat: { readonly base: string; readonly configure: string; readonly httpEndpoint: string; readonly install: string; readonly start: string; }; readonly enterpriseSearch: { readonly base: string; readonly appSearchBase: string; readonly workplaceSearchBase: string; }; readonly heartbeat: { readonly base: string; }; readonly libbeat: { readonly getStarted: string; }; readonly logstash: { readonly base: string; }; readonly functionbeat: { readonly base: string; }; readonly winlogbeat: { readonly base: string; }; readonly aggs: { readonly composite: string; readonly composite_missing_bucket: string; readonly date_histogram: string; readonly date_range: string; readonly date_format_pattern: string; readonly filter: string; readonly filters: string; readonly geohash_grid: string; readonly histogram: string; readonly ip_range: string; readonly range: string; readonly significant_terms: string; readonly terms: string; readonly avg: string; readonly avg_bucket: string; readonly max_bucket: string; readonly min_bucket: string; readonly sum_bucket: string; readonly cardinality: string; readonly count: string; readonly cumulative_sum: string; readonly derivative: string; readonly geo_bounds: string; readonly geo_centroid: string; readonly max: string; readonly median: string; readonly min: string; readonly moving_avg: string; readonly percentile_ranks: string; readonly serial_diff: string; readonly std_dev: string; readonly sum: string; readonly top_hits: string; }; readonly runtimeFields: { readonly overview: string; readonly mapping: string; }; readonly scriptedFields: { readonly scriptFields: string; readonly scriptAggs: string; readonly painless: string; readonly painlessApi: string; readonly painlessLangSpec: string; readonly painlessSyntax: string; readonly painlessWalkthrough: string; readonly luceneExpressions: string; }; readonly search: { readonly sessions: string; readonly sessionLimits: string; }; readonly indexPatterns: { readonly introduction: string; readonly fieldFormattersNumber: string; readonly fieldFormattersString: string; readonly runtimeFields: string; }; readonly addData: string; readonly kibana: string; readonly upgradeAssistant: string; readonly rollupJobs: string; readonly elasticsearch: Record; readonly siem: { readonly privileges: string; readonly guide: string; readonly gettingStarted: string; readonly ml: string; readonly ruleChangeLog: string; readonly detectionsReq: string; readonly networkMap: string; readonly troubleshootGaps: string; }; readonly securitySolution: { readonly trustedApps: string; }; readonly query: { readonly eql: string; readonly kueryQuerySyntax: string; readonly luceneQuerySyntax: string; readonly percolate: string; readonly queryDsl: string; readonly autocompleteChanges: string; }; readonly date: { readonly dateMath: string; readonly dateMathIndexNames: string; }; readonly management: Record; readonly ml: Record; readonly transforms: Record; readonly visualize: Record; readonly apis: Readonly<{ bulkIndexAlias: string; byteSizeUnits: string; createAutoFollowPattern: string; createFollower: string; createIndex: string; createSnapshotLifecyclePolicy: string; createRoleMapping: string; createRoleMappingTemplates: string; createRollupJobsRequest: string; createApiKey: string; createPipeline: string; createTransformRequest: string; cronExpressions: string; executeWatchActionModes: string; indexExists: string; openIndex: string; putComponentTemplate: string; painlessExecute: string; painlessExecuteAPIContexts: string; putComponentTemplateMetadata: string; putSnapshotLifecyclePolicy: string; putIndexTemplateV1: string; putWatch: string; simulatePipeline: string; timeUnits: string; updateTransform: string; }>; readonly observability: Readonly<{ guide: string; infrastructureThreshold: string; logsThreshold: string; metricsThreshold: string; monitorStatus: string; monitorUptime: string; tlsCertificate: string; uptimeDurationAnomaly: string; }>; readonly alerting: Record; readonly maps: Record; readonly monitoring: Record; readonly security: Readonly<{ apiKeyServiceSettings: string; clusterPrivileges: string; elasticsearchSettings: string; elasticsearchEnableSecurity: string; elasticsearchEnableApiKeys: string; indicesPrivileges: string; kibanaTLS: string; kibanaPrivileges: string; mappingRoles: string; mappingRolesFieldRules: string; runAsPrivilege: string; }>; readonly spaces: Readonly<{ kibanaLegacyUrlAliases: string; kibanaDisableLegacyUrlAliasesApi: string; }>; readonly watcher: Record; readonly ccs: Record; readonly plugins: Record; readonly snapshotRestore: Record; readonly ingest: Record; readonly fleet: Readonly<{ datastreamsILM: string; beatsAgentComparison: string; guide: string; fleetServer: string; fleetServerAddFleetServer: string; settings: string; settingsFleetServerHostSettings: string; troubleshooting: string; elasticAgent: string; datastreams: string; datastreamsNamingScheme: string; installElasticAgent: string; upgradeElasticAgent: string; upgradeElasticAgent712lower: string; learnMoreBlog: string; apiKeysLearnMore: string; }>; readonly ecs: { readonly guide: string; }; readonly clients: { readonly guide: string; readonly goOverview: string; readonly javaIndex: string; readonly jsIntro: string; readonly netGuide: string; readonly perlGuide: string; readonly phpGuide: string; readonly pythonGuide: string; readonly rubyOverview: string; readonly rustGuide: string; }; }" ], "path": "src/core/public/doc_links/doc_links_service.ts", "deprecated": false @@ -5890,7 +5890,7 @@ "\nThe outcome for a successful `resolve` call is one of the following values:\n\n * `'exactMatch'` -- One document exactly matched the given ID.\n * `'aliasMatch'` -- One document with a legacy URL alias matched the given ID; in this case the `saved_object.id` field is different\n than the given ID.\n * `'conflict'` -- Two documents matched the given ID, one was an exact match and another with a legacy URL alias; in this case the\n `saved_object` object is the exact match, and the `saved_object.id` field is the same as the given ID." ], "signature": [ - "\"conflict\" | \"exactMatch\" | \"aliasMatch\"" + "\"conflict\" | \"aliasMatch\" | \"exactMatch\"" ], "path": "src/core/server/saved_objects/service/saved_objects_client.ts", "deprecated": false @@ -6193,6 +6193,10 @@ "plugin": "discover", "path": "src/plugins/discover/server/ui_settings.ts" }, + { + "plugin": "discover", + "path": "src/plugins/discover/server/ui_settings.ts" + }, { "plugin": "discover", "path": "src/plugins/discover/server/ui_settings.ts" @@ -7959,6 +7963,120 @@ ], "initialIsOpen": false }, + { + "parentPluginId": "core", + "id": "def-server.BaseDeprecationDetails", + "type": "Interface", + "tags": [], + "label": "BaseDeprecationDetails", + "description": [ + "\nBase properties shared by all types of deprecations\n" + ], + "path": "src/core/server/deprecations/types.ts", + "deprecated": false, + "children": [ + { + "parentPluginId": "core", + "id": "def-server.BaseDeprecationDetails.title", + "type": "string", + "tags": [], + "label": "title", + "description": [ + "\nThe title of the deprecation.\nCheck the README for writing deprecations in `src/core/server/deprecations/README.mdx`" + ], + "path": "src/core/server/deprecations/types.ts", + "deprecated": false + }, + { + "parentPluginId": "core", + "id": "def-server.BaseDeprecationDetails.message", + "type": "string", + "tags": [], + "label": "message", + "description": [ + "\nThe description message to be displayed for the deprecation.\nCheck the README for writing deprecations in `src/core/server/deprecations/README.mdx`" + ], + "path": "src/core/server/deprecations/types.ts", + "deprecated": false + }, + { + "parentPluginId": "core", + "id": "def-server.BaseDeprecationDetails.level", + "type": "CompoundType", + "tags": [], + "label": "level", + "description": [ + "\nlevels:\n- warning: will not break deployment upon upgrade\n- critical: needs to be addressed before upgrade.\n- fetch_error: Deprecations service failed to grab the deprecation details for the domain." + ], + "signature": [ + "\"warning\" | \"critical\" | \"fetch_error\"" + ], + "path": "src/core/server/deprecations/types.ts", + "deprecated": false + }, + { + "parentPluginId": "core", + "id": "def-server.BaseDeprecationDetails.deprecationType", + "type": "CompoundType", + "tags": [], + "label": "deprecationType", + "description": [ + "\n(optional) Used to identify between different deprecation types.\nExample use case: in Upgrade Assistant, we may want to allow the user to sort by\ndeprecation type or show each type in a separate tab.\n\nFeel free to add new types if necessary.\nPredefined types are necessary to reduce having similar definitions with different keywords\nacross kibana deprecations." + ], + "signature": [ + "\"config\" | \"feature\" | undefined" + ], + "path": "src/core/server/deprecations/types.ts", + "deprecated": false + }, + { + "parentPluginId": "core", + "id": "def-server.BaseDeprecationDetails.documentationUrl", + "type": "string", + "tags": [], + "label": "documentationUrl", + "description": [ + "(optional) link to the documentation for more details on the deprecation." + ], + "signature": [ + "string | undefined" + ], + "path": "src/core/server/deprecations/types.ts", + "deprecated": false + }, + { + "parentPluginId": "core", + "id": "def-server.BaseDeprecationDetails.requireRestart", + "type": "CompoundType", + "tags": [], + "label": "requireRestart", + "description": [ + "(optional) specify the fix for this deprecation requires a full kibana restart." + ], + "signature": [ + "boolean | undefined" + ], + "path": "src/core/server/deprecations/types.ts", + "deprecated": false + }, + { + "parentPluginId": "core", + "id": "def-server.BaseDeprecationDetails.correctiveActions", + "type": "Object", + "tags": [], + "label": "correctiveActions", + "description": [ + "corrective action needed to fix this deprecation." + ], + "signature": [ + "{ api?: { path: string; method: \"PUT\" | \"POST\"; body?: { [key: string]: any; } | undefined; omitContextFromBody?: boolean | undefined; } | undefined; manualSteps: string[]; }" + ], + "path": "src/core/server/deprecations/types.ts", + "deprecated": false + } + ], + "initialIsOpen": false + }, { "parentPluginId": "core", "id": "def-server.Capabilities", @@ -8273,6 +8391,59 @@ ], "initialIsOpen": false }, + { + "parentPluginId": "core", + "id": "def-server.ConfigDeprecationDetails", + "type": "Interface", + "tags": [], + "label": "ConfigDeprecationDetails", + "description": [], + "signature": [ + { + "pluginId": "core", + "scope": "server", + "docId": "kibCorePluginApi", + "section": "def-server.ConfigDeprecationDetails", + "text": "ConfigDeprecationDetails" + }, + " extends ", + { + "pluginId": "core", + "scope": "server", + "docId": "kibCorePluginApi", + "section": "def-server.BaseDeprecationDetails", + "text": "BaseDeprecationDetails" + } + ], + "path": "src/core/server/deprecations/types.ts", + "deprecated": false, + "children": [ + { + "parentPluginId": "core", + "id": "def-server.ConfigDeprecationDetails.configPath", + "type": "string", + "tags": [], + "label": "configPath", + "description": [], + "path": "src/core/server/deprecations/types.ts", + "deprecated": false + }, + { + "parentPluginId": "core", + "id": "def-server.ConfigDeprecationDetails.deprecationType", + "type": "string", + "tags": [], + "label": "deprecationType", + "description": [], + "signature": [ + "\"config\"" + ], + "path": "src/core/server/deprecations/types.ts", + "deprecated": false + } + ], + "initialIsOpen": false + }, { "parentPluginId": "core", "id": "def-server.ConfigDeprecationFactory", @@ -9510,118 +9681,6 @@ ], "initialIsOpen": false }, - { - "parentPluginId": "core", - "id": "def-server.DeprecationsDetails", - "type": "Interface", - "tags": [], - "label": "DeprecationsDetails", - "description": [], - "path": "src/core/server/deprecations/types.ts", - "deprecated": false, - "children": [ - { - "parentPluginId": "core", - "id": "def-server.DeprecationsDetails.title", - "type": "string", - "tags": [], - "label": "title", - "description": [ - "\nThe title of the deprecation.\nCheck the README for writing deprecations in `src/core/server/deprecations/README.mdx`" - ], - "path": "src/core/server/deprecations/types.ts", - "deprecated": false - }, - { - "parentPluginId": "core", - "id": "def-server.DeprecationsDetails.message", - "type": "string", - "tags": [], - "label": "message", - "description": [ - "\nThe description message to be displayed for the deprecation.\nCheck the README for writing deprecations in `src/core/server/deprecations/README.mdx`" - ], - "path": "src/core/server/deprecations/types.ts", - "deprecated": false - }, - { - "parentPluginId": "core", - "id": "def-server.DeprecationsDetails.level", - "type": "CompoundType", - "tags": [], - "label": "level", - "description": [ - "\nlevels:\n- warning: will not break deployment upon upgrade\n- critical: needs to be addressed before upgrade.\n- fetch_error: Deprecations service failed to grab the deprecation details for the domain." - ], - "signature": [ - "\"warning\" | \"critical\" | \"fetch_error\"" - ], - "path": "src/core/server/deprecations/types.ts", - "deprecated": false - }, - { - "parentPluginId": "core", - "id": "def-server.DeprecationsDetails.deprecationType", - "type": "CompoundType", - "tags": [], - "label": "deprecationType", - "description": [ - "\n(optional) Used to identify between different deprecation types.\nExample use case: in Upgrade Assistant, we may want to allow the user to sort by\ndeprecation type or show each type in a separate tab.\n\nFeel free to add new types if necessary.\nPredefined types are necessary to reduce having similar definitions with different keywords\nacross kibana deprecations." - ], - "signature": [ - "\"config\" | \"feature\" | undefined" - ], - "path": "src/core/server/deprecations/types.ts", - "deprecated": false - }, - { - "parentPluginId": "core", - "id": "def-server.DeprecationsDetails.documentationUrl", - "type": "string", - "tags": [], - "label": "documentationUrl", - "description": [ - "(optional) link to the documentation for more details on the deprecation." - ], - "signature": [ - "string | undefined" - ], - "path": "src/core/server/deprecations/types.ts", - "deprecated": false - }, - { - "parentPluginId": "core", - "id": "def-server.DeprecationsDetails.requireRestart", - "type": "CompoundType", - "tags": [], - "label": "requireRestart", - "description": [ - "(optional) specify the fix for this deprecation requires a full kibana restart." - ], - "signature": [ - "boolean | undefined" - ], - "path": "src/core/server/deprecations/types.ts", - "deprecated": false - }, - { - "parentPluginId": "core", - "id": "def-server.DeprecationsDetails.correctiveActions", - "type": "Object", - "tags": [], - "label": "correctiveActions", - "description": [ - "corrective action needed to fix this deprecation." - ], - "signature": [ - "{ api?: { path: string; method: \"PUT\" | \"POST\"; body?: { [key: string]: any; } | undefined; omitContextFromBody?: boolean | undefined; } | undefined; manualSteps: string[]; }" - ], - "path": "src/core/server/deprecations/types.ts", - "deprecated": false - } - ], - "initialIsOpen": false - }, { "parentPluginId": "core", "id": "def-server.DeprecationSettings", @@ -9872,6 +9931,32 @@ ], "initialIsOpen": false }, + { + "parentPluginId": "core", + "id": "def-server.ElasticsearchErrorDetails", + "type": "Interface", + "tags": [], + "label": "ElasticsearchErrorDetails", + "description": [], + "path": "src/core/server/elasticsearch/client/types.ts", + "deprecated": false, + "children": [ + { + "parentPluginId": "core", + "id": "def-server.ElasticsearchErrorDetails.error", + "type": "Object", + "tags": [], + "label": "error", + "description": [], + "signature": [ + "{ type: string; reason?: string | undefined; } | undefined" + ], + "path": "src/core/server/elasticsearch/client/types.ts", + "deprecated": false + } + ], + "initialIsOpen": false + }, { "parentPluginId": "core", "id": "def-server.ElasticsearchServicePreboot", @@ -10332,7 +10417,7 @@ "Headers used for authentication against Elasticsearch" ], "signature": [ - "{ from?: string | string[] | undefined; date?: string | string[] | undefined; origin?: string | string[] | undefined; range?: string | string[] | undefined; warning?: string | string[] | undefined; location?: string | string[] | undefined; allow?: string | string[] | undefined; accept?: string | string[] | undefined; \"accept-language\"?: string | string[] | undefined; \"accept-patch\"?: string | string[] | undefined; \"accept-ranges\"?: string | string[] | undefined; \"access-control-allow-credentials\"?: string | string[] | undefined; \"access-control-allow-headers\"?: string | string[] | undefined; \"access-control-allow-methods\"?: string | string[] | undefined; \"access-control-allow-origin\"?: string | string[] | undefined; \"access-control-expose-headers\"?: string | string[] | undefined; \"access-control-max-age\"?: string | string[] | undefined; \"access-control-request-headers\"?: string | string[] | undefined; \"access-control-request-method\"?: string | string[] | undefined; age?: string | string[] | undefined; \"alt-svc\"?: string | string[] | undefined; authorization?: string | string[] | undefined; \"cache-control\"?: string | string[] | undefined; connection?: string | string[] | undefined; \"content-disposition\"?: string | string[] | undefined; \"content-encoding\"?: string | string[] | undefined; \"content-language\"?: string | string[] | undefined; \"content-length\"?: string | string[] | undefined; \"content-location\"?: string | string[] | undefined; \"content-range\"?: string | string[] | undefined; \"content-type\"?: string | string[] | undefined; cookie?: string | string[] | undefined; expect?: string | string[] | undefined; expires?: string | string[] | undefined; forwarded?: string | string[] | undefined; host?: string | string[] | undefined; \"if-match\"?: string | string[] | undefined; \"if-modified-since\"?: string | string[] | undefined; \"if-none-match\"?: string | string[] | undefined; \"if-unmodified-since\"?: string | string[] | undefined; \"last-modified\"?: string | string[] | undefined; pragma?: string | string[] | undefined; \"proxy-authenticate\"?: string | string[] | undefined; \"proxy-authorization\"?: string | string[] | undefined; \"public-key-pins\"?: string | string[] | undefined; referer?: string | string[] | undefined; \"retry-after\"?: string | string[] | undefined; \"sec-websocket-accept\"?: string | string[] | undefined; \"sec-websocket-extensions\"?: string | string[] | undefined; \"sec-websocket-key\"?: string | string[] | undefined; \"sec-websocket-protocol\"?: string | string[] | undefined; \"sec-websocket-version\"?: string | string[] | undefined; \"set-cookie\"?: string | string[] | undefined; \"strict-transport-security\"?: string | string[] | undefined; tk?: string | string[] | undefined; trailer?: string | string[] | undefined; \"transfer-encoding\"?: string | string[] | undefined; upgrade?: string | string[] | undefined; \"user-agent\"?: string | string[] | undefined; vary?: string | string[] | undefined; via?: string | string[] | undefined; \"www-authenticate\"?: string | string[] | undefined; } & { [header: string]: string | string[] | undefined; }" + "{ from?: string | string[] | undefined; date?: string | string[] | undefined; origin?: string | string[] | undefined; range?: string | string[] | undefined; warning?: string | string[] | undefined; location?: string | string[] | undefined; allow?: string | string[] | undefined; accept?: string | string[] | undefined; \"accept-language\"?: string | string[] | undefined; \"accept-patch\"?: string | string[] | undefined; \"accept-ranges\"?: string | string[] | undefined; \"access-control-allow-credentials\"?: string | string[] | undefined; \"access-control-allow-headers\"?: string | string[] | undefined; \"access-control-allow-methods\"?: string | string[] | undefined; \"access-control-allow-origin\"?: string | string[] | undefined; \"access-control-expose-headers\"?: string | string[] | undefined; \"access-control-max-age\"?: string | string[] | undefined; \"access-control-request-headers\"?: string | string[] | undefined; \"access-control-request-method\"?: string | string[] | undefined; age?: string | string[] | undefined; \"alt-svc\"?: string | string[] | undefined; authorization?: string | string[] | undefined; \"cache-control\"?: string | string[] | undefined; connection?: string | string[] | undefined; \"content-disposition\"?: string | string[] | undefined; \"content-encoding\"?: string | string[] | undefined; \"content-language\"?: string | string[] | undefined; \"content-length\"?: string | string[] | undefined; \"content-location\"?: string | string[] | undefined; \"content-range\"?: string | string[] | undefined; \"content-type\"?: string | string[] | undefined; cookie?: string | string[] | undefined; etag?: string | string[] | undefined; expect?: string | string[] | undefined; expires?: string | string[] | undefined; forwarded?: string | string[] | undefined; host?: string | string[] | undefined; \"if-match\"?: string | string[] | undefined; \"if-modified-since\"?: string | string[] | undefined; \"if-none-match\"?: string | string[] | undefined; \"if-unmodified-since\"?: string | string[] | undefined; \"last-modified\"?: string | string[] | undefined; pragma?: string | string[] | undefined; \"proxy-authenticate\"?: string | string[] | undefined; \"proxy-authorization\"?: string | string[] | undefined; \"public-key-pins\"?: string | string[] | undefined; referer?: string | string[] | undefined; \"retry-after\"?: string | string[] | undefined; \"sec-websocket-accept\"?: string | string[] | undefined; \"sec-websocket-extensions\"?: string | string[] | undefined; \"sec-websocket-key\"?: string | string[] | undefined; \"sec-websocket-protocol\"?: string | string[] | undefined; \"sec-websocket-version\"?: string | string[] | undefined; \"set-cookie\"?: string | string[] | undefined; \"strict-transport-security\"?: string | string[] | undefined; tk?: string | string[] | undefined; trailer?: string | string[] | undefined; \"transfer-encoding\"?: string | string[] | undefined; upgrade?: string | string[] | undefined; \"user-agent\"?: string | string[] | undefined; vary?: string | string[] | undefined; via?: string | string[] | undefined; \"www-authenticate\"?: string | string[] | undefined; } & { [header: string]: string | string[] | undefined; }" ], "path": "src/core/server/elasticsearch/types.ts", "deprecated": false @@ -10340,6 +10425,49 @@ ], "initialIsOpen": false }, + { + "parentPluginId": "core", + "id": "def-server.FeatureDeprecationDetails", + "type": "Interface", + "tags": [], + "label": "FeatureDeprecationDetails", + "description": [], + "signature": [ + { + "pluginId": "core", + "scope": "server", + "docId": "kibCorePluginApi", + "section": "def-server.FeatureDeprecationDetails", + "text": "FeatureDeprecationDetails" + }, + " extends ", + { + "pluginId": "core", + "scope": "server", + "docId": "kibCorePluginApi", + "section": "def-server.BaseDeprecationDetails", + "text": "BaseDeprecationDetails" + } + ], + "path": "src/core/server/deprecations/types.ts", + "deprecated": false, + "children": [ + { + "parentPluginId": "core", + "id": "def-server.FeatureDeprecationDetails.deprecationType", + "type": "string", + "tags": [], + "label": "deprecationType", + "description": [], + "signature": [ + "\"feature\" | undefined" + ], + "path": "src/core/server/deprecations/types.ts", + "deprecated": false + } + ], + "initialIsOpen": false + }, { "parentPluginId": "core", "id": "def-server.GetDeprecationsContext", @@ -11321,7 +11449,7 @@ "\nHTTP Headers with additional information about response." ], "signature": [ - "Record<\"from\" | \"date\" | \"origin\" | \"range\" | \"warning\" | \"location\" | \"allow\" | \"accept\" | \"accept-language\" | \"accept-patch\" | \"accept-ranges\" | \"access-control-allow-credentials\" | \"access-control-allow-headers\" | \"access-control-allow-methods\" | \"access-control-allow-origin\" | \"access-control-expose-headers\" | \"access-control-max-age\" | \"access-control-request-headers\" | \"access-control-request-method\" | \"age\" | \"alt-svc\" | \"authorization\" | \"cache-control\" | \"connection\" | \"content-disposition\" | \"content-encoding\" | \"content-language\" | \"content-length\" | \"content-location\" | \"content-range\" | \"content-type\" | \"cookie\" | \"expect\" | \"expires\" | \"forwarded\" | \"host\" | \"if-match\" | \"if-modified-since\" | \"if-none-match\" | \"if-unmodified-since\" | \"last-modified\" | \"pragma\" | \"proxy-authenticate\" | \"proxy-authorization\" | \"public-key-pins\" | \"referer\" | \"retry-after\" | \"sec-websocket-accept\" | \"sec-websocket-extensions\" | \"sec-websocket-key\" | \"sec-websocket-protocol\" | \"sec-websocket-version\" | \"set-cookie\" | \"strict-transport-security\" | \"tk\" | \"trailer\" | \"transfer-encoding\" | \"upgrade\" | \"user-agent\" | \"vary\" | \"via\" | \"www-authenticate\", string | string[]> | Record | undefined" + "Record<\"from\" | \"date\" | \"origin\" | \"range\" | \"warning\" | \"location\" | \"allow\" | \"accept\" | \"accept-language\" | \"accept-patch\" | \"accept-ranges\" | \"access-control-allow-credentials\" | \"access-control-allow-headers\" | \"access-control-allow-methods\" | \"access-control-allow-origin\" | \"access-control-expose-headers\" | \"access-control-max-age\" | \"access-control-request-headers\" | \"access-control-request-method\" | \"age\" | \"alt-svc\" | \"authorization\" | \"cache-control\" | \"connection\" | \"content-disposition\" | \"content-encoding\" | \"content-language\" | \"content-length\" | \"content-location\" | \"content-range\" | \"content-type\" | \"cookie\" | \"etag\" | \"expect\" | \"expires\" | \"forwarded\" | \"host\" | \"if-match\" | \"if-modified-since\" | \"if-none-match\" | \"if-unmodified-since\" | \"last-modified\" | \"pragma\" | \"proxy-authenticate\" | \"proxy-authorization\" | \"public-key-pins\" | \"referer\" | \"retry-after\" | \"sec-websocket-accept\" | \"sec-websocket-extensions\" | \"sec-websocket-key\" | \"sec-websocket-protocol\" | \"sec-websocket-version\" | \"set-cookie\" | \"strict-transport-security\" | \"tk\" | \"trailer\" | \"transfer-encoding\" | \"upgrade\" | \"user-agent\" | \"vary\" | \"via\" | \"www-authenticate\", string | string[]> | Record | undefined" ], "path": "src/core/server/http_resources/types.ts", "deprecated": false @@ -11633,15 +11761,13 @@ "signature": [ "Pick<", "KibanaClient", - ", \"monitoring\" | \"security\" | \"create\" | \"index\" | \"delete\" | \"get\" | \"update\" | \"closePointInTime\" | \"search\" | \"transform\" | \"eql\" | \"helpers\" | \"emit\" | \"on\" | \"once\" | \"off\" | \"asyncSearch\" | \"autoscaling\" | \"bulk\" | \"cat\" | \"ccr\" | \"clearScroll\" | \"cluster\" | \"count\" | \"danglingIndices\" | \"dataFrameTransformDeprecated\" | \"deleteByQuery\" | \"deleteByQueryRethrottle\" | \"deleteScript\" | \"enrich\" | \"exists\" | \"existsSource\" | \"explain\" | \"features\" | \"fieldCaps\" | \"fleet\" | \"getScript\" | \"getScriptContext\" | \"getScriptLanguages\" | \"getSource\" | \"graph\" | \"ilm\" | \"indices\" | \"info\" | \"ingest\" | \"license\" | \"logstash\" | \"mget\" | \"migration\" | \"ml\" | \"msearch\" | \"msearchTemplate\" | \"mtermvectors\" | \"nodes\" | \"openPointInTime\" | \"ping\" | \"putScript\" | \"rankEval\" | \"reindex\" | \"reindexRethrottle\" | \"renderSearchTemplate\" | \"rollup\" | \"scriptsPainlessExecute\" | \"scroll\" | \"searchShards\" | \"searchTemplate\" | \"searchableSnapshots\" | \"shutdown\" | \"slm\" | \"snapshot\" | \"sql\" | \"ssl\" | \"tasks\" | \"termsEnum\" | \"termvectors\" | \"textStructure\" | \"updateByQuery\" | \"updateByQueryRethrottle\" | \"watcher\" | \"xpack\"> & { transport: { request(params: ", + ", \"monitoring\" | \"security\" | \"create\" | \"name\" | \"index\" | \"delete\" | \"get\" | \"update\" | \"closePointInTime\" | \"search\" | \"transform\" | \"eql\" | \"helpers\" | \"asyncSearch\" | \"autoscaling\" | \"bulk\" | \"cat\" | \"ccr\" | \"clearScroll\" | \"cluster\" | \"count\" | \"danglingIndices\" | \"deleteByQuery\" | \"deleteByQueryRethrottle\" | \"deleteScript\" | \"enrich\" | \"exists\" | \"existsSource\" | \"explain\" | \"features\" | \"fieldCaps\" | \"fleet\" | \"getScript\" | \"getScriptContext\" | \"getScriptLanguages\" | \"getSource\" | \"graph\" | \"ilm\" | \"indices\" | \"info\" | \"ingest\" | \"knnSearch\" | \"license\" | \"logstash\" | \"mget\" | \"migration\" | \"ml\" | \"msearch\" | \"msearchTemplate\" | \"mtermvectors\" | \"nodes\" | \"openPointInTime\" | \"ping\" | \"putScript\" | \"rankEval\" | \"reindex\" | \"reindexRethrottle\" | \"renderSearchTemplate\" | \"rollup\" | \"scriptsPainlessExecute\" | \"scroll\" | \"searchMvt\" | \"searchShards\" | \"searchTemplate\" | \"searchableSnapshots\" | \"shutdown\" | \"slm\" | \"snapshot\" | \"sql\" | \"ssl\" | \"tasks\" | \"termsEnum\" | \"termvectors\" | \"textStructure\" | \"updateByQuery\" | \"updateByQueryRethrottle\" | \"watcher\" | \"xpack\"> & { transport: { request(params: ", "TransportRequestParams", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", unknown>>; }; }" + " | undefined): Promise<", + "TransportResult", + ">; }; }" ], "path": "src/core/server/elasticsearch/client/cluster_client.ts", "deprecated": false @@ -12830,15 +12956,13 @@ "signature": [ "Pick<", "KibanaClient", - ", \"monitoring\" | \"security\" | \"create\" | \"index\" | \"delete\" | \"get\" | \"update\" | \"closePointInTime\" | \"search\" | \"transform\" | \"eql\" | \"helpers\" | \"emit\" | \"on\" | \"once\" | \"off\" | \"asyncSearch\" | \"autoscaling\" | \"bulk\" | \"cat\" | \"ccr\" | \"clearScroll\" | \"cluster\" | \"count\" | \"danglingIndices\" | \"dataFrameTransformDeprecated\" | \"deleteByQuery\" | \"deleteByQueryRethrottle\" | \"deleteScript\" | \"enrich\" | \"exists\" | \"existsSource\" | \"explain\" | \"features\" | \"fieldCaps\" | \"fleet\" | \"getScript\" | \"getScriptContext\" | \"getScriptLanguages\" | \"getSource\" | \"graph\" | \"ilm\" | \"indices\" | \"info\" | \"ingest\" | \"license\" | \"logstash\" | \"mget\" | \"migration\" | \"ml\" | \"msearch\" | \"msearchTemplate\" | \"mtermvectors\" | \"nodes\" | \"openPointInTime\" | \"ping\" | \"putScript\" | \"rankEval\" | \"reindex\" | \"reindexRethrottle\" | \"renderSearchTemplate\" | \"rollup\" | \"scriptsPainlessExecute\" | \"scroll\" | \"searchShards\" | \"searchTemplate\" | \"searchableSnapshots\" | \"shutdown\" | \"slm\" | \"snapshot\" | \"sql\" | \"ssl\" | \"tasks\" | \"termsEnum\" | \"termvectors\" | \"textStructure\" | \"updateByQuery\" | \"updateByQueryRethrottle\" | \"watcher\" | \"xpack\"> & { transport: { request(params: ", + ", \"monitoring\" | \"security\" | \"create\" | \"name\" | \"index\" | \"delete\" | \"get\" | \"update\" | \"closePointInTime\" | \"search\" | \"transform\" | \"eql\" | \"helpers\" | \"asyncSearch\" | \"autoscaling\" | \"bulk\" | \"cat\" | \"ccr\" | \"clearScroll\" | \"cluster\" | \"count\" | \"danglingIndices\" | \"deleteByQuery\" | \"deleteByQueryRethrottle\" | \"deleteScript\" | \"enrich\" | \"exists\" | \"existsSource\" | \"explain\" | \"features\" | \"fieldCaps\" | \"fleet\" | \"getScript\" | \"getScriptContext\" | \"getScriptLanguages\" | \"getSource\" | \"graph\" | \"ilm\" | \"indices\" | \"info\" | \"ingest\" | \"knnSearch\" | \"license\" | \"logstash\" | \"mget\" | \"migration\" | \"ml\" | \"msearch\" | \"msearchTemplate\" | \"mtermvectors\" | \"nodes\" | \"openPointInTime\" | \"ping\" | \"putScript\" | \"rankEval\" | \"reindex\" | \"reindexRethrottle\" | \"renderSearchTemplate\" | \"rollup\" | \"scriptsPainlessExecute\" | \"scroll\" | \"searchMvt\" | \"searchShards\" | \"searchTemplate\" | \"searchableSnapshots\" | \"shutdown\" | \"slm\" | \"snapshot\" | \"sql\" | \"ssl\" | \"tasks\" | \"termsEnum\" | \"termvectors\" | \"textStructure\" | \"updateByQuery\" | \"updateByQueryRethrottle\" | \"watcher\" | \"xpack\"> & { transport: { request(params: ", "TransportRequestParams", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", unknown>>; }; }" + " | undefined): Promise<", + "TransportResult", + ">; }; }" ], "path": "src/core/server/elasticsearch/client/scoped_cluster_client.ts", "deprecated": false @@ -12855,15 +12979,13 @@ "signature": [ "Pick<", "KibanaClient", - ", \"monitoring\" | \"security\" | \"create\" | \"index\" | \"delete\" | \"get\" | \"update\" | \"closePointInTime\" | \"search\" | \"transform\" | \"eql\" | \"helpers\" | \"emit\" | \"on\" | \"once\" | \"off\" | \"asyncSearch\" | \"autoscaling\" | \"bulk\" | \"cat\" | \"ccr\" | \"clearScroll\" | \"cluster\" | \"count\" | \"danglingIndices\" | \"dataFrameTransformDeprecated\" | \"deleteByQuery\" | \"deleteByQueryRethrottle\" | \"deleteScript\" | \"enrich\" | \"exists\" | \"existsSource\" | \"explain\" | \"features\" | \"fieldCaps\" | \"fleet\" | \"getScript\" | \"getScriptContext\" | \"getScriptLanguages\" | \"getSource\" | \"graph\" | \"ilm\" | \"indices\" | \"info\" | \"ingest\" | \"license\" | \"logstash\" | \"mget\" | \"migration\" | \"ml\" | \"msearch\" | \"msearchTemplate\" | \"mtermvectors\" | \"nodes\" | \"openPointInTime\" | \"ping\" | \"putScript\" | \"rankEval\" | \"reindex\" | \"reindexRethrottle\" | \"renderSearchTemplate\" | \"rollup\" | \"scriptsPainlessExecute\" | \"scroll\" | \"searchShards\" | \"searchTemplate\" | \"searchableSnapshots\" | \"shutdown\" | \"slm\" | \"snapshot\" | \"sql\" | \"ssl\" | \"tasks\" | \"termsEnum\" | \"termvectors\" | \"textStructure\" | \"updateByQuery\" | \"updateByQueryRethrottle\" | \"watcher\" | \"xpack\"> & { transport: { request(params: ", + ", \"monitoring\" | \"security\" | \"create\" | \"name\" | \"index\" | \"delete\" | \"get\" | \"update\" | \"closePointInTime\" | \"search\" | \"transform\" | \"eql\" | \"helpers\" | \"asyncSearch\" | \"autoscaling\" | \"bulk\" | \"cat\" | \"ccr\" | \"clearScroll\" | \"cluster\" | \"count\" | \"danglingIndices\" | \"deleteByQuery\" | \"deleteByQueryRethrottle\" | \"deleteScript\" | \"enrich\" | \"exists\" | \"existsSource\" | \"explain\" | \"features\" | \"fieldCaps\" | \"fleet\" | \"getScript\" | \"getScriptContext\" | \"getScriptLanguages\" | \"getSource\" | \"graph\" | \"ilm\" | \"indices\" | \"info\" | \"ingest\" | \"knnSearch\" | \"license\" | \"logstash\" | \"mget\" | \"migration\" | \"ml\" | \"msearch\" | \"msearchTemplate\" | \"mtermvectors\" | \"nodes\" | \"openPointInTime\" | \"ping\" | \"putScript\" | \"rankEval\" | \"reindex\" | \"reindexRethrottle\" | \"renderSearchTemplate\" | \"rollup\" | \"scriptsPainlessExecute\" | \"scroll\" | \"searchMvt\" | \"searchShards\" | \"searchTemplate\" | \"searchableSnapshots\" | \"shutdown\" | \"slm\" | \"snapshot\" | \"sql\" | \"ssl\" | \"tasks\" | \"termsEnum\" | \"termvectors\" | \"textStructure\" | \"updateByQuery\" | \"updateByQueryRethrottle\" | \"watcher\" | \"xpack\"> & { transport: { request(params: ", "TransportRequestParams", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", unknown>>; }; }" + " | undefined): Promise<", + "TransportResult", + ">; }; }" ], "path": "src/core/server/elasticsearch/client/scoped_cluster_client.ts", "deprecated": false @@ -14117,7 +14239,7 @@ "The os platform" ], "signature": [ - "\"linux\" | \"aix\" | \"android\" | \"darwin\" | \"freebsd\" | \"openbsd\" | \"sunos\" | \"win32\" | \"cygwin\" | \"netbsd\"" + "\"linux\" | \"aix\" | \"android\" | \"darwin\" | \"freebsd\" | \"haiku\" | \"openbsd\" | \"sunos\" | \"win32\" | \"cygwin\" | \"netbsd\"" ], "path": "src/core/server/metrics/collectors/types.ts", "deprecated": false @@ -14806,7 +14928,7 @@ "signature": [ "{ legacy: { globalConfig$: ", "Observable", - "; elasticsearch: Readonly<{ readonly requestTimeout: Readonly<{ clone: () => moment.Duration; humanize: { (argWithSuffix?: boolean | undefined, argThresholds?: moment.argThresholdOpts | undefined): string; (argThresholds?: moment.argThresholdOpts | undefined): string; }; abs: () => moment.Duration; as: (units: moment.unitOfTime.Base) => number; get: (units: moment.unitOfTime.Base) => number; milliseconds: () => number; asMilliseconds: () => number; seconds: () => number; asSeconds: () => number; minutes: () => number; asMinutes: () => number; hours: () => number; asHours: () => number; days: () => number; asDays: () => number; weeks: () => number; asWeeks: () => number; months: () => number; asMonths: () => number; years: () => number; asYears: () => number; add: (inp?: moment.DurationInputArg1, unit?: \"year\" | \"years\" | \"y\" | \"month\" | \"months\" | \"M\" | \"week\" | \"weeks\" | \"w\" | \"day\" | \"days\" | \"d\" | \"hour\" | \"hours\" | \"h\" | \"minute\" | \"minutes\" | \"m\" | \"second\" | \"seconds\" | \"s\" | \"millisecond\" | \"milliseconds\" | \"ms\" | \"quarter\" | \"quarters\" | \"Q\" | undefined) => moment.Duration; subtract: (inp?: moment.DurationInputArg1, unit?: \"year\" | \"years\" | \"y\" | \"month\" | \"months\" | \"M\" | \"week\" | \"weeks\" | \"w\" | \"day\" | \"days\" | \"d\" | \"hour\" | \"hours\" | \"h\" | \"minute\" | \"minutes\" | \"m\" | \"second\" | \"seconds\" | \"s\" | \"millisecond\" | \"milliseconds\" | \"ms\" | \"quarter\" | \"quarters\" | \"Q\" | undefined) => moment.Duration; locale: { (): string; (locale: moment.LocaleSpecifier): moment.Duration; }; localeData: () => moment.Locale; toISOString: () => string; toJSON: () => string; isValid: () => boolean; lang: { (locale: moment.LocaleSpecifier): moment.Moment; (): moment.Locale; }; toIsoString: () => string; }>; readonly shardTimeout: Readonly<{ clone: () => moment.Duration; humanize: { (argWithSuffix?: boolean | undefined, argThresholds?: moment.argThresholdOpts | undefined): string; (argThresholds?: moment.argThresholdOpts | undefined): string; }; abs: () => moment.Duration; as: (units: moment.unitOfTime.Base) => number; get: (units: moment.unitOfTime.Base) => number; milliseconds: () => number; asMilliseconds: () => number; seconds: () => number; asSeconds: () => number; minutes: () => number; asMinutes: () => number; hours: () => number; asHours: () => number; days: () => number; asDays: () => number; weeks: () => number; asWeeks: () => number; months: () => number; asMonths: () => number; years: () => number; asYears: () => number; add: (inp?: moment.DurationInputArg1, unit?: \"year\" | \"years\" | \"y\" | \"month\" | \"months\" | \"M\" | \"week\" | \"weeks\" | \"w\" | \"day\" | \"days\" | \"d\" | \"hour\" | \"hours\" | \"h\" | \"minute\" | \"minutes\" | \"m\" | \"second\" | \"seconds\" | \"s\" | \"millisecond\" | \"milliseconds\" | \"ms\" | \"quarter\" | \"quarters\" | \"Q\" | undefined) => moment.Duration; subtract: (inp?: moment.DurationInputArg1, unit?: \"year\" | \"years\" | \"y\" | \"month\" | \"months\" | \"M\" | \"week\" | \"weeks\" | \"w\" | \"day\" | \"days\" | \"d\" | \"hour\" | \"hours\" | \"h\" | \"minute\" | \"minutes\" | \"m\" | \"second\" | \"seconds\" | \"s\" | \"millisecond\" | \"milliseconds\" | \"ms\" | \"quarter\" | \"quarters\" | \"Q\" | undefined) => moment.Duration; locale: { (): string; (locale: moment.LocaleSpecifier): moment.Duration; }; localeData: () => moment.Locale; toISOString: () => string; toJSON: () => string; isValid: () => boolean; lang: { (locale: moment.LocaleSpecifier): moment.Moment; (): moment.Locale; }; toIsoString: () => string; }>; readonly pingTimeout: Readonly<{ clone: () => moment.Duration; humanize: { (argWithSuffix?: boolean | undefined, argThresholds?: moment.argThresholdOpts | undefined): string; (argThresholds?: moment.argThresholdOpts | undefined): string; }; abs: () => moment.Duration; as: (units: moment.unitOfTime.Base) => number; get: (units: moment.unitOfTime.Base) => number; milliseconds: () => number; asMilliseconds: () => number; seconds: () => number; asSeconds: () => number; minutes: () => number; asMinutes: () => number; hours: () => number; asHours: () => number; days: () => number; asDays: () => number; weeks: () => number; asWeeks: () => number; months: () => number; asMonths: () => number; years: () => number; asYears: () => number; add: (inp?: moment.DurationInputArg1, unit?: \"year\" | \"years\" | \"y\" | \"month\" | \"months\" | \"M\" | \"week\" | \"weeks\" | \"w\" | \"day\" | \"days\" | \"d\" | \"hour\" | \"hours\" | \"h\" | \"minute\" | \"minutes\" | \"m\" | \"second\" | \"seconds\" | \"s\" | \"millisecond\" | \"milliseconds\" | \"ms\" | \"quarter\" | \"quarters\" | \"Q\" | undefined) => moment.Duration; subtract: (inp?: moment.DurationInputArg1, unit?: \"year\" | \"years\" | \"y\" | \"month\" | \"months\" | \"M\" | \"week\" | \"weeks\" | \"w\" | \"day\" | \"days\" | \"d\" | \"hour\" | \"hours\" | \"h\" | \"minute\" | \"minutes\" | \"m\" | \"second\" | \"seconds\" | \"s\" | \"millisecond\" | \"milliseconds\" | \"ms\" | \"quarter\" | \"quarters\" | \"Q\" | undefined) => moment.Duration; locale: { (): string; (locale: moment.LocaleSpecifier): moment.Duration; }; localeData: () => moment.Locale; toISOString: () => string; toJSON: () => string; isValid: () => boolean; lang: { (locale: moment.LocaleSpecifier): moment.Moment; (): moment.Locale; }; toIsoString: () => string; }>; }>; path: Readonly<{ readonly data: string; }>; savedObjects: Readonly<{ readonly maxImportPayloadBytes: Readonly<{ isGreaterThan: (other: ", + " moment.Duration; humanize: { (argWithSuffix?: boolean | undefined, argThresholds?: moment.argThresholdOpts | undefined): string; (argThresholds?: moment.argThresholdOpts | undefined): string; }; abs: () => moment.Duration; as: (units: moment.unitOfTime.Base) => number; get: (units: moment.unitOfTime.Base) => number; milliseconds: () => number; asMilliseconds: () => number; seconds: () => number; asSeconds: () => number; minutes: () => number; asMinutes: () => number; hours: () => number; asHours: () => number; days: () => number; asDays: () => number; weeks: () => number; asWeeks: () => number; months: () => number; asMonths: () => number; years: () => number; asYears: () => number; add: (inp?: moment.DurationInputArg1, unit?: \"year\" | \"years\" | \"y\" | \"month\" | \"months\" | \"M\" | \"week\" | \"weeks\" | \"w\" | \"day\" | \"days\" | \"d\" | \"hour\" | \"hours\" | \"h\" | \"minute\" | \"minutes\" | \"m\" | \"second\" | \"seconds\" | \"s\" | \"millisecond\" | \"milliseconds\" | \"ms\" | \"quarter\" | \"quarters\" | \"Q\" | undefined) => moment.Duration; subtract: (inp?: moment.DurationInputArg1, unit?: \"year\" | \"years\" | \"y\" | \"month\" | \"months\" | \"M\" | \"week\" | \"weeks\" | \"w\" | \"day\" | \"days\" | \"d\" | \"hour\" | \"hours\" | \"h\" | \"minute\" | \"minutes\" | \"m\" | \"second\" | \"seconds\" | \"s\" | \"millisecond\" | \"milliseconds\" | \"ms\" | \"quarter\" | \"quarters\" | \"Q\" | undefined) => moment.Duration; locale: { (): string; (locale: moment.LocaleSpecifier): moment.Duration; }; localeData: () => moment.Locale; toISOString: () => string; toJSON: () => string; isValid: () => boolean; lang: { (locale: moment.LocaleSpecifier): moment.Moment; (): moment.Locale; }; toIsoString: () => string; }>; readonly shardTimeout: Readonly<{ clone: () => moment.Duration; humanize: { (argWithSuffix?: boolean | undefined, argThresholds?: moment.argThresholdOpts | undefined): string; (argThresholds?: moment.argThresholdOpts | undefined): string; }; abs: () => moment.Duration; as: (units: moment.unitOfTime.Base) => number; get: (units: moment.unitOfTime.Base) => number; milliseconds: () => number; asMilliseconds: () => number; seconds: () => number; asSeconds: () => number; minutes: () => number; asMinutes: () => number; hours: () => number; asHours: () => number; days: () => number; asDays: () => number; weeks: () => number; asWeeks: () => number; months: () => number; asMonths: () => number; years: () => number; asYears: () => number; add: (inp?: moment.DurationInputArg1, unit?: \"year\" | \"years\" | \"y\" | \"month\" | \"months\" | \"M\" | \"week\" | \"weeks\" | \"w\" | \"day\" | \"days\" | \"d\" | \"hour\" | \"hours\" | \"h\" | \"minute\" | \"minutes\" | \"m\" | \"second\" | \"seconds\" | \"s\" | \"millisecond\" | \"milliseconds\" | \"ms\" | \"quarter\" | \"quarters\" | \"Q\" | undefined) => moment.Duration; subtract: (inp?: moment.DurationInputArg1, unit?: \"year\" | \"years\" | \"y\" | \"month\" | \"months\" | \"M\" | \"week\" | \"weeks\" | \"w\" | \"day\" | \"days\" | \"d\" | \"hour\" | \"hours\" | \"h\" | \"minute\" | \"minutes\" | \"m\" | \"second\" | \"seconds\" | \"s\" | \"millisecond\" | \"milliseconds\" | \"ms\" | \"quarter\" | \"quarters\" | \"Q\" | undefined) => moment.Duration; locale: { (): string; (locale: moment.LocaleSpecifier): moment.Duration; }; localeData: () => moment.Locale; toISOString: () => string; toJSON: () => string; isValid: () => boolean; lang: { (locale: moment.LocaleSpecifier): moment.Moment; (): moment.Locale; }; toIsoString: () => string; }>; readonly pingTimeout: Readonly<{ clone: () => moment.Duration; humanize: { (argWithSuffix?: boolean | undefined, argThresholds?: moment.argThresholdOpts | undefined): string; (argThresholds?: moment.argThresholdOpts | undefined): string; }; abs: () => moment.Duration; as: (units: moment.unitOfTime.Base) => number; get: (units: moment.unitOfTime.Base) => number; milliseconds: () => number; asMilliseconds: () => number; seconds: () => number; asSeconds: () => number; minutes: () => number; asMinutes: () => number; hours: () => number; asHours: () => number; days: () => number; asDays: () => number; weeks: () => number; asWeeks: () => number; months: () => number; asMonths: () => number; years: () => number; asYears: () => number; add: (inp?: moment.DurationInputArg1, unit?: \"year\" | \"years\" | \"y\" | \"month\" | \"months\" | \"M\" | \"week\" | \"weeks\" | \"w\" | \"day\" | \"days\" | \"d\" | \"hour\" | \"hours\" | \"h\" | \"minute\" | \"minutes\" | \"m\" | \"second\" | \"seconds\" | \"s\" | \"millisecond\" | \"milliseconds\" | \"ms\" | \"quarter\" | \"quarters\" | \"Q\" | undefined) => moment.Duration; subtract: (inp?: moment.DurationInputArg1, unit?: \"year\" | \"years\" | \"y\" | \"month\" | \"months\" | \"M\" | \"week\" | \"weeks\" | \"w\" | \"day\" | \"days\" | \"d\" | \"hour\" | \"hours\" | \"h\" | \"minute\" | \"minutes\" | \"m\" | \"second\" | \"seconds\" | \"s\" | \"millisecond\" | \"milliseconds\" | \"ms\" | \"quarter\" | \"quarters\" | \"Q\" | undefined) => moment.Duration; locale: { (): string; (locale: moment.LocaleSpecifier): moment.Duration; }; localeData: () => moment.Locale; toISOString: () => string; toJSON: () => string; isValid: () => boolean; lang: { (locale: moment.LocaleSpecifier): moment.Moment; (): moment.Locale; }; toIsoString: () => string; }>; }>; path: Readonly<{ readonly data: string; }>; savedObjects: Readonly<{ readonly maxImportPayloadBytes: Readonly<{ isGreaterThan: (other: ", { "pluginId": "@kbn/config-schema", "scope": "server", @@ -14830,7 +14952,7 @@ "section": "def-server.ByteSizeValue", "text": "ByteSizeValue" }, - ") => boolean; getValueInBytes: () => number; toString: (returnUnit?: \"b\" | \"kb\" | \"mb\" | \"gb\" | undefined) => string; }>; }>; }>>; get: () => Readonly<{ kibana: Readonly<{ readonly index: string; }>; elasticsearch: Readonly<{ readonly requestTimeout: Readonly<{ clone: () => moment.Duration; humanize: { (argWithSuffix?: boolean | undefined, argThresholds?: moment.argThresholdOpts | undefined): string; (argThresholds?: moment.argThresholdOpts | undefined): string; }; abs: () => moment.Duration; as: (units: moment.unitOfTime.Base) => number; get: (units: moment.unitOfTime.Base) => number; milliseconds: () => number; asMilliseconds: () => number; seconds: () => number; asSeconds: () => number; minutes: () => number; asMinutes: () => number; hours: () => number; asHours: () => number; days: () => number; asDays: () => number; weeks: () => number; asWeeks: () => number; months: () => number; asMonths: () => number; years: () => number; asYears: () => number; add: (inp?: moment.DurationInputArg1, unit?: \"year\" | \"years\" | \"y\" | \"month\" | \"months\" | \"M\" | \"week\" | \"weeks\" | \"w\" | \"day\" | \"days\" | \"d\" | \"hour\" | \"hours\" | \"h\" | \"minute\" | \"minutes\" | \"m\" | \"second\" | \"seconds\" | \"s\" | \"millisecond\" | \"milliseconds\" | \"ms\" | \"quarter\" | \"quarters\" | \"Q\" | undefined) => moment.Duration; subtract: (inp?: moment.DurationInputArg1, unit?: \"year\" | \"years\" | \"y\" | \"month\" | \"months\" | \"M\" | \"week\" | \"weeks\" | \"w\" | \"day\" | \"days\" | \"d\" | \"hour\" | \"hours\" | \"h\" | \"minute\" | \"minutes\" | \"m\" | \"second\" | \"seconds\" | \"s\" | \"millisecond\" | \"milliseconds\" | \"ms\" | \"quarter\" | \"quarters\" | \"Q\" | undefined) => moment.Duration; locale: { (): string; (locale: moment.LocaleSpecifier): moment.Duration; }; localeData: () => moment.Locale; toISOString: () => string; toJSON: () => string; isValid: () => boolean; lang: { (locale: moment.LocaleSpecifier): moment.Moment; (): moment.Locale; }; toIsoString: () => string; }>; readonly shardTimeout: Readonly<{ clone: () => moment.Duration; humanize: { (argWithSuffix?: boolean | undefined, argThresholds?: moment.argThresholdOpts | undefined): string; (argThresholds?: moment.argThresholdOpts | undefined): string; }; abs: () => moment.Duration; as: (units: moment.unitOfTime.Base) => number; get: (units: moment.unitOfTime.Base) => number; milliseconds: () => number; asMilliseconds: () => number; seconds: () => number; asSeconds: () => number; minutes: () => number; asMinutes: () => number; hours: () => number; asHours: () => number; days: () => number; asDays: () => number; weeks: () => number; asWeeks: () => number; months: () => number; asMonths: () => number; years: () => number; asYears: () => number; add: (inp?: moment.DurationInputArg1, unit?: \"year\" | \"years\" | \"y\" | \"month\" | \"months\" | \"M\" | \"week\" | \"weeks\" | \"w\" | \"day\" | \"days\" | \"d\" | \"hour\" | \"hours\" | \"h\" | \"minute\" | \"minutes\" | \"m\" | \"second\" | \"seconds\" | \"s\" | \"millisecond\" | \"milliseconds\" | \"ms\" | \"quarter\" | \"quarters\" | \"Q\" | undefined) => moment.Duration; subtract: (inp?: moment.DurationInputArg1, unit?: \"year\" | \"years\" | \"y\" | \"month\" | \"months\" | \"M\" | \"week\" | \"weeks\" | \"w\" | \"day\" | \"days\" | \"d\" | \"hour\" | \"hours\" | \"h\" | \"minute\" | \"minutes\" | \"m\" | \"second\" | \"seconds\" | \"s\" | \"millisecond\" | \"milliseconds\" | \"ms\" | \"quarter\" | \"quarters\" | \"Q\" | undefined) => moment.Duration; locale: { (): string; (locale: moment.LocaleSpecifier): moment.Duration; }; localeData: () => moment.Locale; toISOString: () => string; toJSON: () => string; isValid: () => boolean; lang: { (locale: moment.LocaleSpecifier): moment.Moment; (): moment.Locale; }; toIsoString: () => string; }>; readonly pingTimeout: Readonly<{ clone: () => moment.Duration; humanize: { (argWithSuffix?: boolean | undefined, argThresholds?: moment.argThresholdOpts | undefined): string; (argThresholds?: moment.argThresholdOpts | undefined): string; }; abs: () => moment.Duration; as: (units: moment.unitOfTime.Base) => number; get: (units: moment.unitOfTime.Base) => number; milliseconds: () => number; asMilliseconds: () => number; seconds: () => number; asSeconds: () => number; minutes: () => number; asMinutes: () => number; hours: () => number; asHours: () => number; days: () => number; asDays: () => number; weeks: () => number; asWeeks: () => number; months: () => number; asMonths: () => number; years: () => number; asYears: () => number; add: (inp?: moment.DurationInputArg1, unit?: \"year\" | \"years\" | \"y\" | \"month\" | \"months\" | \"M\" | \"week\" | \"weeks\" | \"w\" | \"day\" | \"days\" | \"d\" | \"hour\" | \"hours\" | \"h\" | \"minute\" | \"minutes\" | \"m\" | \"second\" | \"seconds\" | \"s\" | \"millisecond\" | \"milliseconds\" | \"ms\" | \"quarter\" | \"quarters\" | \"Q\" | undefined) => moment.Duration; subtract: (inp?: moment.DurationInputArg1, unit?: \"year\" | \"years\" | \"y\" | \"month\" | \"months\" | \"M\" | \"week\" | \"weeks\" | \"w\" | \"day\" | \"days\" | \"d\" | \"hour\" | \"hours\" | \"h\" | \"minute\" | \"minutes\" | \"m\" | \"second\" | \"seconds\" | \"s\" | \"millisecond\" | \"milliseconds\" | \"ms\" | \"quarter\" | \"quarters\" | \"Q\" | undefined) => moment.Duration; locale: { (): string; (locale: moment.LocaleSpecifier): moment.Duration; }; localeData: () => moment.Locale; toISOString: () => string; toJSON: () => string; isValid: () => boolean; lang: { (locale: moment.LocaleSpecifier): moment.Moment; (): moment.Locale; }; toIsoString: () => string; }>; }>; path: Readonly<{ readonly data: string; }>; savedObjects: Readonly<{ readonly maxImportPayloadBytes: Readonly<{ isGreaterThan: (other: ", + ") => boolean; getValueInBytes: () => number; toString: (returnUnit?: \"b\" | \"kb\" | \"mb\" | \"gb\" | undefined) => string; }>; }>; }>>; get: () => Readonly<{ elasticsearch: Readonly<{ readonly requestTimeout: Readonly<{ clone: () => moment.Duration; humanize: { (argWithSuffix?: boolean | undefined, argThresholds?: moment.argThresholdOpts | undefined): string; (argThresholds?: moment.argThresholdOpts | undefined): string; }; abs: () => moment.Duration; as: (units: moment.unitOfTime.Base) => number; get: (units: moment.unitOfTime.Base) => number; milliseconds: () => number; asMilliseconds: () => number; seconds: () => number; asSeconds: () => number; minutes: () => number; asMinutes: () => number; hours: () => number; asHours: () => number; days: () => number; asDays: () => number; weeks: () => number; asWeeks: () => number; months: () => number; asMonths: () => number; years: () => number; asYears: () => number; add: (inp?: moment.DurationInputArg1, unit?: \"year\" | \"years\" | \"y\" | \"month\" | \"months\" | \"M\" | \"week\" | \"weeks\" | \"w\" | \"day\" | \"days\" | \"d\" | \"hour\" | \"hours\" | \"h\" | \"minute\" | \"minutes\" | \"m\" | \"second\" | \"seconds\" | \"s\" | \"millisecond\" | \"milliseconds\" | \"ms\" | \"quarter\" | \"quarters\" | \"Q\" | undefined) => moment.Duration; subtract: (inp?: moment.DurationInputArg1, unit?: \"year\" | \"years\" | \"y\" | \"month\" | \"months\" | \"M\" | \"week\" | \"weeks\" | \"w\" | \"day\" | \"days\" | \"d\" | \"hour\" | \"hours\" | \"h\" | \"minute\" | \"minutes\" | \"m\" | \"second\" | \"seconds\" | \"s\" | \"millisecond\" | \"milliseconds\" | \"ms\" | \"quarter\" | \"quarters\" | \"Q\" | undefined) => moment.Duration; locale: { (): string; (locale: moment.LocaleSpecifier): moment.Duration; }; localeData: () => moment.Locale; toISOString: () => string; toJSON: () => string; isValid: () => boolean; lang: { (locale: moment.LocaleSpecifier): moment.Moment; (): moment.Locale; }; toIsoString: () => string; }>; readonly shardTimeout: Readonly<{ clone: () => moment.Duration; humanize: { (argWithSuffix?: boolean | undefined, argThresholds?: moment.argThresholdOpts | undefined): string; (argThresholds?: moment.argThresholdOpts | undefined): string; }; abs: () => moment.Duration; as: (units: moment.unitOfTime.Base) => number; get: (units: moment.unitOfTime.Base) => number; milliseconds: () => number; asMilliseconds: () => number; seconds: () => number; asSeconds: () => number; minutes: () => number; asMinutes: () => number; hours: () => number; asHours: () => number; days: () => number; asDays: () => number; weeks: () => number; asWeeks: () => number; months: () => number; asMonths: () => number; years: () => number; asYears: () => number; add: (inp?: moment.DurationInputArg1, unit?: \"year\" | \"years\" | \"y\" | \"month\" | \"months\" | \"M\" | \"week\" | \"weeks\" | \"w\" | \"day\" | \"days\" | \"d\" | \"hour\" | \"hours\" | \"h\" | \"minute\" | \"minutes\" | \"m\" | \"second\" | \"seconds\" | \"s\" | \"millisecond\" | \"milliseconds\" | \"ms\" | \"quarter\" | \"quarters\" | \"Q\" | undefined) => moment.Duration; subtract: (inp?: moment.DurationInputArg1, unit?: \"year\" | \"years\" | \"y\" | \"month\" | \"months\" | \"M\" | \"week\" | \"weeks\" | \"w\" | \"day\" | \"days\" | \"d\" | \"hour\" | \"hours\" | \"h\" | \"minute\" | \"minutes\" | \"m\" | \"second\" | \"seconds\" | \"s\" | \"millisecond\" | \"milliseconds\" | \"ms\" | \"quarter\" | \"quarters\" | \"Q\" | undefined) => moment.Duration; locale: { (): string; (locale: moment.LocaleSpecifier): moment.Duration; }; localeData: () => moment.Locale; toISOString: () => string; toJSON: () => string; isValid: () => boolean; lang: { (locale: moment.LocaleSpecifier): moment.Moment; (): moment.Locale; }; toIsoString: () => string; }>; readonly pingTimeout: Readonly<{ clone: () => moment.Duration; humanize: { (argWithSuffix?: boolean | undefined, argThresholds?: moment.argThresholdOpts | undefined): string; (argThresholds?: moment.argThresholdOpts | undefined): string; }; abs: () => moment.Duration; as: (units: moment.unitOfTime.Base) => number; get: (units: moment.unitOfTime.Base) => number; milliseconds: () => number; asMilliseconds: () => number; seconds: () => number; asSeconds: () => number; minutes: () => number; asMinutes: () => number; hours: () => number; asHours: () => number; days: () => number; asDays: () => number; weeks: () => number; asWeeks: () => number; months: () => number; asMonths: () => number; years: () => number; asYears: () => number; add: (inp?: moment.DurationInputArg1, unit?: \"year\" | \"years\" | \"y\" | \"month\" | \"months\" | \"M\" | \"week\" | \"weeks\" | \"w\" | \"day\" | \"days\" | \"d\" | \"hour\" | \"hours\" | \"h\" | \"minute\" | \"minutes\" | \"m\" | \"second\" | \"seconds\" | \"s\" | \"millisecond\" | \"milliseconds\" | \"ms\" | \"quarter\" | \"quarters\" | \"Q\" | undefined) => moment.Duration; subtract: (inp?: moment.DurationInputArg1, unit?: \"year\" | \"years\" | \"y\" | \"month\" | \"months\" | \"M\" | \"week\" | \"weeks\" | \"w\" | \"day\" | \"days\" | \"d\" | \"hour\" | \"hours\" | \"h\" | \"minute\" | \"minutes\" | \"m\" | \"second\" | \"seconds\" | \"s\" | \"millisecond\" | \"milliseconds\" | \"ms\" | \"quarter\" | \"quarters\" | \"Q\" | undefined) => moment.Duration; locale: { (): string; (locale: moment.LocaleSpecifier): moment.Duration; }; localeData: () => moment.Locale; toISOString: () => string; toJSON: () => string; isValid: () => boolean; lang: { (locale: moment.LocaleSpecifier): moment.Moment; (): moment.Locale; }; toIsoString: () => string; }>; }>; path: Readonly<{ readonly data: string; }>; savedObjects: Readonly<{ readonly maxImportPayloadBytes: Readonly<{ isGreaterThan: (other: ", { "pluginId": "@kbn/config-schema", "scope": "server", @@ -15287,7 +15409,15 @@ "section": "def-server.GetDeprecationsContext", "text": "GetDeprecationsContext" }, - ") => MaybePromise<", + ") => ", + { + "pluginId": "@kbn/utility-types", + "scope": "server", + "docId": "kibKbnUtilityTypesPluginApi", + "section": "def-server.MaybePromise", + "text": "MaybePromise" + }, + "<", { "pluginId": "core", "scope": "server", @@ -16497,6 +16627,10 @@ "plugin": "discover", "path": "src/plugins/discover/server/ui_settings.ts" }, + { + "plugin": "discover", + "path": "src/plugins/discover/server/ui_settings.ts" + }, { "plugin": "discover", "path": "src/plugins/discover/server/ui_settings.ts" @@ -17034,6 +17168,34 @@ "deprecated": false, "initialIsOpen": false }, + { + "parentPluginId": "core", + "id": "def-server.DeprecationsDetails", + "type": "Type", + "tags": [], + "label": "DeprecationsDetails", + "description": [], + "signature": [ + { + "pluginId": "core", + "scope": "server", + "docId": "kibCorePluginApi", + "section": "def-server.ConfigDeprecationDetails", + "text": "ConfigDeprecationDetails" + }, + " | ", + { + "pluginId": "core", + "scope": "server", + "docId": "kibCorePluginApi", + "section": "def-server.FeatureDeprecationDetails", + "text": "FeatureDeprecationDetails" + } + ], + "path": "src/core/server/deprecations/types.ts", + "deprecated": false, + "initialIsOpen": false + }, { "parentPluginId": "core", "id": "def-server.Ecs", @@ -17171,7 +17333,7 @@ "label": "EcsEventType", "description": [], "signature": [ - "\"start\" | \"end\" | \"user\" | \"error\" | \"info\" | \"connection\" | \"group\" | \"protocol\" | \"access\" | \"admin\" | \"allowed\" | \"change\" | \"creation\" | \"deletion\" | \"denied\" | \"installation\"" + "\"start\" | \"end\" | \"user\" | \"info\" | \"group\" | \"error\" | \"connection\" | \"protocol\" | \"access\" | \"admin\" | \"allowed\" | \"change\" | \"creation\" | \"deletion\" | \"denied\" | \"installation\"" ], "path": "node_modules/@kbn/logging/target_types/ecs/event.d.ts", "deprecated": false, @@ -17189,15 +17351,13 @@ "signature": [ "Pick<", "KibanaClient", - ", \"monitoring\" | \"security\" | \"create\" | \"index\" | \"delete\" | \"get\" | \"update\" | \"closePointInTime\" | \"search\" | \"transform\" | \"eql\" | \"helpers\" | \"emit\" | \"on\" | \"once\" | \"off\" | \"asyncSearch\" | \"autoscaling\" | \"bulk\" | \"cat\" | \"ccr\" | \"clearScroll\" | \"cluster\" | \"count\" | \"danglingIndices\" | \"dataFrameTransformDeprecated\" | \"deleteByQuery\" | \"deleteByQueryRethrottle\" | \"deleteScript\" | \"enrich\" | \"exists\" | \"existsSource\" | \"explain\" | \"features\" | \"fieldCaps\" | \"fleet\" | \"getScript\" | \"getScriptContext\" | \"getScriptLanguages\" | \"getSource\" | \"graph\" | \"ilm\" | \"indices\" | \"info\" | \"ingest\" | \"license\" | \"logstash\" | \"mget\" | \"migration\" | \"ml\" | \"msearch\" | \"msearchTemplate\" | \"mtermvectors\" | \"nodes\" | \"openPointInTime\" | \"ping\" | \"putScript\" | \"rankEval\" | \"reindex\" | \"reindexRethrottle\" | \"renderSearchTemplate\" | \"rollup\" | \"scriptsPainlessExecute\" | \"scroll\" | \"searchShards\" | \"searchTemplate\" | \"searchableSnapshots\" | \"shutdown\" | \"slm\" | \"snapshot\" | \"sql\" | \"ssl\" | \"tasks\" | \"termsEnum\" | \"termvectors\" | \"textStructure\" | \"updateByQuery\" | \"updateByQueryRethrottle\" | \"watcher\" | \"xpack\"> & { transport: { request(params: ", + ", \"monitoring\" | \"security\" | \"create\" | \"name\" | \"index\" | \"delete\" | \"get\" | \"update\" | \"closePointInTime\" | \"search\" | \"transform\" | \"eql\" | \"helpers\" | \"asyncSearch\" | \"autoscaling\" | \"bulk\" | \"cat\" | \"ccr\" | \"clearScroll\" | \"cluster\" | \"count\" | \"danglingIndices\" | \"deleteByQuery\" | \"deleteByQueryRethrottle\" | \"deleteScript\" | \"enrich\" | \"exists\" | \"existsSource\" | \"explain\" | \"features\" | \"fieldCaps\" | \"fleet\" | \"getScript\" | \"getScriptContext\" | \"getScriptLanguages\" | \"getSource\" | \"graph\" | \"ilm\" | \"indices\" | \"info\" | \"ingest\" | \"knnSearch\" | \"license\" | \"logstash\" | \"mget\" | \"migration\" | \"ml\" | \"msearch\" | \"msearchTemplate\" | \"mtermvectors\" | \"nodes\" | \"openPointInTime\" | \"ping\" | \"putScript\" | \"rankEval\" | \"reindex\" | \"reindexRethrottle\" | \"renderSearchTemplate\" | \"rollup\" | \"scriptsPainlessExecute\" | \"scroll\" | \"searchMvt\" | \"searchShards\" | \"searchTemplate\" | \"searchableSnapshots\" | \"shutdown\" | \"slm\" | \"snapshot\" | \"sql\" | \"ssl\" | \"tasks\" | \"termsEnum\" | \"termvectors\" | \"textStructure\" | \"updateByQuery\" | \"updateByQueryRethrottle\" | \"watcher\" | \"xpack\"> & { transport: { request(params: ", "TransportRequestParams", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", unknown>>; }; }" + " | undefined): Promise<", + "TransportResult", + ">; }; }" ], "path": "src/core/server/elasticsearch/client/types.ts", "deprecated": false, @@ -18444,7 +18604,7 @@ "label": "SharedGlobalConfig", "description": [], "signature": [ - "{ readonly kibana: Readonly<{ readonly index: string; }>; readonly elasticsearch: Readonly<{ readonly requestTimeout: Readonly<{ clone: () => moment.Duration; humanize: { (argWithSuffix?: boolean | undefined, argThresholds?: moment.argThresholdOpts | undefined): string; (argThresholds?: moment.argThresholdOpts | undefined): string; }; abs: () => moment.Duration; as: (units: moment.unitOfTime.Base) => number; get: (units: moment.unitOfTime.Base) => number; milliseconds: () => number; asMilliseconds: () => number; seconds: () => number; asSeconds: () => number; minutes: () => number; asMinutes: () => number; hours: () => number; asHours: () => number; days: () => number; asDays: () => number; weeks: () => number; asWeeks: () => number; months: () => number; asMonths: () => number; years: () => number; asYears: () => number; add: (inp?: moment.DurationInputArg1, unit?: \"year\" | \"years\" | \"y\" | \"month\" | \"months\" | \"M\" | \"week\" | \"weeks\" | \"w\" | \"day\" | \"days\" | \"d\" | \"hour\" | \"hours\" | \"h\" | \"minute\" | \"minutes\" | \"m\" | \"second\" | \"seconds\" | \"s\" | \"millisecond\" | \"milliseconds\" | \"ms\" | \"quarter\" | \"quarters\" | \"Q\" | undefined) => moment.Duration; subtract: (inp?: moment.DurationInputArg1, unit?: \"year\" | \"years\" | \"y\" | \"month\" | \"months\" | \"M\" | \"week\" | \"weeks\" | \"w\" | \"day\" | \"days\" | \"d\" | \"hour\" | \"hours\" | \"h\" | \"minute\" | \"minutes\" | \"m\" | \"second\" | \"seconds\" | \"s\" | \"millisecond\" | \"milliseconds\" | \"ms\" | \"quarter\" | \"quarters\" | \"Q\" | undefined) => moment.Duration; locale: { (): string; (locale: moment.LocaleSpecifier): moment.Duration; }; localeData: () => moment.Locale; toISOString: () => string; toJSON: () => string; isValid: () => boolean; lang: { (locale: moment.LocaleSpecifier): moment.Moment; (): moment.Locale; }; toIsoString: () => string; }>; readonly shardTimeout: Readonly<{ clone: () => moment.Duration; humanize: { (argWithSuffix?: boolean | undefined, argThresholds?: moment.argThresholdOpts | undefined): string; (argThresholds?: moment.argThresholdOpts | undefined): string; }; abs: () => moment.Duration; as: (units: moment.unitOfTime.Base) => number; get: (units: moment.unitOfTime.Base) => number; milliseconds: () => number; asMilliseconds: () => number; seconds: () => number; asSeconds: () => number; minutes: () => number; asMinutes: () => number; hours: () => number; asHours: () => number; days: () => number; asDays: () => number; weeks: () => number; asWeeks: () => number; months: () => number; asMonths: () => number; years: () => number; asYears: () => number; add: (inp?: moment.DurationInputArg1, unit?: \"year\" | \"years\" | \"y\" | \"month\" | \"months\" | \"M\" | \"week\" | \"weeks\" | \"w\" | \"day\" | \"days\" | \"d\" | \"hour\" | \"hours\" | \"h\" | \"minute\" | \"minutes\" | \"m\" | \"second\" | \"seconds\" | \"s\" | \"millisecond\" | \"milliseconds\" | \"ms\" | \"quarter\" | \"quarters\" | \"Q\" | undefined) => moment.Duration; subtract: (inp?: moment.DurationInputArg1, unit?: \"year\" | \"years\" | \"y\" | \"month\" | \"months\" | \"M\" | \"week\" | \"weeks\" | \"w\" | \"day\" | \"days\" | \"d\" | \"hour\" | \"hours\" | \"h\" | \"minute\" | \"minutes\" | \"m\" | \"second\" | \"seconds\" | \"s\" | \"millisecond\" | \"milliseconds\" | \"ms\" | \"quarter\" | \"quarters\" | \"Q\" | undefined) => moment.Duration; locale: { (): string; (locale: moment.LocaleSpecifier): moment.Duration; }; localeData: () => moment.Locale; toISOString: () => string; toJSON: () => string; isValid: () => boolean; lang: { (locale: moment.LocaleSpecifier): moment.Moment; (): moment.Locale; }; toIsoString: () => string; }>; readonly pingTimeout: Readonly<{ clone: () => moment.Duration; humanize: { (argWithSuffix?: boolean | undefined, argThresholds?: moment.argThresholdOpts | undefined): string; (argThresholds?: moment.argThresholdOpts | undefined): string; }; abs: () => moment.Duration; as: (units: moment.unitOfTime.Base) => number; get: (units: moment.unitOfTime.Base) => number; milliseconds: () => number; asMilliseconds: () => number; seconds: () => number; asSeconds: () => number; minutes: () => number; asMinutes: () => number; hours: () => number; asHours: () => number; days: () => number; asDays: () => number; weeks: () => number; asWeeks: () => number; months: () => number; asMonths: () => number; years: () => number; asYears: () => number; add: (inp?: moment.DurationInputArg1, unit?: \"year\" | \"years\" | \"y\" | \"month\" | \"months\" | \"M\" | \"week\" | \"weeks\" | \"w\" | \"day\" | \"days\" | \"d\" | \"hour\" | \"hours\" | \"h\" | \"minute\" | \"minutes\" | \"m\" | \"second\" | \"seconds\" | \"s\" | \"millisecond\" | \"milliseconds\" | \"ms\" | \"quarter\" | \"quarters\" | \"Q\" | undefined) => moment.Duration; subtract: (inp?: moment.DurationInputArg1, unit?: \"year\" | \"years\" | \"y\" | \"month\" | \"months\" | \"M\" | \"week\" | \"weeks\" | \"w\" | \"day\" | \"days\" | \"d\" | \"hour\" | \"hours\" | \"h\" | \"minute\" | \"minutes\" | \"m\" | \"second\" | \"seconds\" | \"s\" | \"millisecond\" | \"milliseconds\" | \"ms\" | \"quarter\" | \"quarters\" | \"Q\" | undefined) => moment.Duration; locale: { (): string; (locale: moment.LocaleSpecifier): moment.Duration; }; localeData: () => moment.Locale; toISOString: () => string; toJSON: () => string; isValid: () => boolean; lang: { (locale: moment.LocaleSpecifier): moment.Moment; (): moment.Locale; }; toIsoString: () => string; }>; }>; readonly path: Readonly<{ readonly data: string; }>; readonly savedObjects: Readonly<{ readonly maxImportPayloadBytes: Readonly<{ isGreaterThan: (other: ", + "{ readonly elasticsearch: Readonly<{ readonly requestTimeout: Readonly<{ clone: () => moment.Duration; humanize: { (argWithSuffix?: boolean | undefined, argThresholds?: moment.argThresholdOpts | undefined): string; (argThresholds?: moment.argThresholdOpts | undefined): string; }; abs: () => moment.Duration; as: (units: moment.unitOfTime.Base) => number; get: (units: moment.unitOfTime.Base) => number; milliseconds: () => number; asMilliseconds: () => number; seconds: () => number; asSeconds: () => number; minutes: () => number; asMinutes: () => number; hours: () => number; asHours: () => number; days: () => number; asDays: () => number; weeks: () => number; asWeeks: () => number; months: () => number; asMonths: () => number; years: () => number; asYears: () => number; add: (inp?: moment.DurationInputArg1, unit?: \"year\" | \"years\" | \"y\" | \"month\" | \"months\" | \"M\" | \"week\" | \"weeks\" | \"w\" | \"day\" | \"days\" | \"d\" | \"hour\" | \"hours\" | \"h\" | \"minute\" | \"minutes\" | \"m\" | \"second\" | \"seconds\" | \"s\" | \"millisecond\" | \"milliseconds\" | \"ms\" | \"quarter\" | \"quarters\" | \"Q\" | undefined) => moment.Duration; subtract: (inp?: moment.DurationInputArg1, unit?: \"year\" | \"years\" | \"y\" | \"month\" | \"months\" | \"M\" | \"week\" | \"weeks\" | \"w\" | \"day\" | \"days\" | \"d\" | \"hour\" | \"hours\" | \"h\" | \"minute\" | \"minutes\" | \"m\" | \"second\" | \"seconds\" | \"s\" | \"millisecond\" | \"milliseconds\" | \"ms\" | \"quarter\" | \"quarters\" | \"Q\" | undefined) => moment.Duration; locale: { (): string; (locale: moment.LocaleSpecifier): moment.Duration; }; localeData: () => moment.Locale; toISOString: () => string; toJSON: () => string; isValid: () => boolean; lang: { (locale: moment.LocaleSpecifier): moment.Moment; (): moment.Locale; }; toIsoString: () => string; }>; readonly shardTimeout: Readonly<{ clone: () => moment.Duration; humanize: { (argWithSuffix?: boolean | undefined, argThresholds?: moment.argThresholdOpts | undefined): string; (argThresholds?: moment.argThresholdOpts | undefined): string; }; abs: () => moment.Duration; as: (units: moment.unitOfTime.Base) => number; get: (units: moment.unitOfTime.Base) => number; milliseconds: () => number; asMilliseconds: () => number; seconds: () => number; asSeconds: () => number; minutes: () => number; asMinutes: () => number; hours: () => number; asHours: () => number; days: () => number; asDays: () => number; weeks: () => number; asWeeks: () => number; months: () => number; asMonths: () => number; years: () => number; asYears: () => number; add: (inp?: moment.DurationInputArg1, unit?: \"year\" | \"years\" | \"y\" | \"month\" | \"months\" | \"M\" | \"week\" | \"weeks\" | \"w\" | \"day\" | \"days\" | \"d\" | \"hour\" | \"hours\" | \"h\" | \"minute\" | \"minutes\" | \"m\" | \"second\" | \"seconds\" | \"s\" | \"millisecond\" | \"milliseconds\" | \"ms\" | \"quarter\" | \"quarters\" | \"Q\" | undefined) => moment.Duration; subtract: (inp?: moment.DurationInputArg1, unit?: \"year\" | \"years\" | \"y\" | \"month\" | \"months\" | \"M\" | \"week\" | \"weeks\" | \"w\" | \"day\" | \"days\" | \"d\" | \"hour\" | \"hours\" | \"h\" | \"minute\" | \"minutes\" | \"m\" | \"second\" | \"seconds\" | \"s\" | \"millisecond\" | \"milliseconds\" | \"ms\" | \"quarter\" | \"quarters\" | \"Q\" | undefined) => moment.Duration; locale: { (): string; (locale: moment.LocaleSpecifier): moment.Duration; }; localeData: () => moment.Locale; toISOString: () => string; toJSON: () => string; isValid: () => boolean; lang: { (locale: moment.LocaleSpecifier): moment.Moment; (): moment.Locale; }; toIsoString: () => string; }>; readonly pingTimeout: Readonly<{ clone: () => moment.Duration; humanize: { (argWithSuffix?: boolean | undefined, argThresholds?: moment.argThresholdOpts | undefined): string; (argThresholds?: moment.argThresholdOpts | undefined): string; }; abs: () => moment.Duration; as: (units: moment.unitOfTime.Base) => number; get: (units: moment.unitOfTime.Base) => number; milliseconds: () => number; asMilliseconds: () => number; seconds: () => number; asSeconds: () => number; minutes: () => number; asMinutes: () => number; hours: () => number; asHours: () => number; days: () => number; asDays: () => number; weeks: () => number; asWeeks: () => number; months: () => number; asMonths: () => number; years: () => number; asYears: () => number; add: (inp?: moment.DurationInputArg1, unit?: \"year\" | \"years\" | \"y\" | \"month\" | \"months\" | \"M\" | \"week\" | \"weeks\" | \"w\" | \"day\" | \"days\" | \"d\" | \"hour\" | \"hours\" | \"h\" | \"minute\" | \"minutes\" | \"m\" | \"second\" | \"seconds\" | \"s\" | \"millisecond\" | \"milliseconds\" | \"ms\" | \"quarter\" | \"quarters\" | \"Q\" | undefined) => moment.Duration; subtract: (inp?: moment.DurationInputArg1, unit?: \"year\" | \"years\" | \"y\" | \"month\" | \"months\" | \"M\" | \"week\" | \"weeks\" | \"w\" | \"day\" | \"days\" | \"d\" | \"hour\" | \"hours\" | \"h\" | \"minute\" | \"minutes\" | \"m\" | \"second\" | \"seconds\" | \"s\" | \"millisecond\" | \"milliseconds\" | \"ms\" | \"quarter\" | \"quarters\" | \"Q\" | undefined) => moment.Duration; locale: { (): string; (locale: moment.LocaleSpecifier): moment.Duration; }; localeData: () => moment.Locale; toISOString: () => string; toJSON: () => string; isValid: () => boolean; lang: { (locale: moment.LocaleSpecifier): moment.Moment; (): moment.Locale; }; toIsoString: () => string; }>; }>; readonly path: Readonly<{ readonly data: string; }>; readonly savedObjects: Readonly<{ readonly maxImportPayloadBytes: Readonly<{ isGreaterThan: (other: ", { "pluginId": "@kbn/config-schema", "scope": "server", diff --git a/api_docs/core.mdx b/api_docs/core.mdx index 11a95ef59976f0..4f2f4806d4a1eb 100644 --- a/api_docs/core.mdx +++ b/api_docs/core.mdx @@ -18,7 +18,7 @@ Contact [Kibana Core](https://github.com/orgs/elastic/teams/kibana-core) for que | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 2298 | 27 | 1018 | 29 | +| 2304 | 27 | 1022 | 29 | ## Client diff --git a/api_docs/core_application.mdx b/api_docs/core_application.mdx index 78431e5a91867c..3f0a60c42fe9ff 100644 --- a/api_docs/core_application.mdx +++ b/api_docs/core_application.mdx @@ -18,7 +18,7 @@ Contact [Kibana Core](https://github.com/orgs/elastic/teams/kibana-core) for que | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 2298 | 27 | 1018 | 29 | +| 2304 | 27 | 1022 | 29 | ## Client diff --git a/api_docs/core_chrome.mdx b/api_docs/core_chrome.mdx index 305f1041a09236..b88dcb91dd555a 100644 --- a/api_docs/core_chrome.mdx +++ b/api_docs/core_chrome.mdx @@ -18,7 +18,7 @@ Contact [Kibana Core](https://github.com/orgs/elastic/teams/kibana-core) for que | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 2298 | 27 | 1018 | 29 | +| 2304 | 27 | 1022 | 29 | ## Client diff --git a/api_docs/core_http.json b/api_docs/core_http.json index 285e246099952d..b73187fe291b61 100644 --- a/api_docs/core_http.json +++ b/api_docs/core_http.json @@ -2286,7 +2286,7 @@ "\nReadonly copy of incoming request headers." ], "signature": [ - "{ from?: string | string[] | undefined; date?: string | string[] | undefined; origin?: string | string[] | undefined; range?: string | string[] | undefined; warning?: string | string[] | undefined; location?: string | string[] | undefined; allow?: string | string[] | undefined; accept?: string | string[] | undefined; \"accept-language\"?: string | string[] | undefined; \"accept-patch\"?: string | string[] | undefined; \"accept-ranges\"?: string | string[] | undefined; \"access-control-allow-credentials\"?: string | string[] | undefined; \"access-control-allow-headers\"?: string | string[] | undefined; \"access-control-allow-methods\"?: string | string[] | undefined; \"access-control-allow-origin\"?: string | string[] | undefined; \"access-control-expose-headers\"?: string | string[] | undefined; \"access-control-max-age\"?: string | string[] | undefined; \"access-control-request-headers\"?: string | string[] | undefined; \"access-control-request-method\"?: string | string[] | undefined; age?: string | string[] | undefined; \"alt-svc\"?: string | string[] | undefined; authorization?: string | string[] | undefined; \"cache-control\"?: string | string[] | undefined; connection?: string | string[] | undefined; \"content-disposition\"?: string | string[] | undefined; \"content-encoding\"?: string | string[] | undefined; \"content-language\"?: string | string[] | undefined; \"content-length\"?: string | string[] | undefined; \"content-location\"?: string | string[] | undefined; \"content-range\"?: string | string[] | undefined; \"content-type\"?: string | string[] | undefined; cookie?: string | string[] | undefined; expect?: string | string[] | undefined; expires?: string | string[] | undefined; forwarded?: string | string[] | undefined; host?: string | string[] | undefined; \"if-match\"?: string | string[] | undefined; \"if-modified-since\"?: string | string[] | undefined; \"if-none-match\"?: string | string[] | undefined; \"if-unmodified-since\"?: string | string[] | undefined; \"last-modified\"?: string | string[] | undefined; pragma?: string | string[] | undefined; \"proxy-authenticate\"?: string | string[] | undefined; \"proxy-authorization\"?: string | string[] | undefined; \"public-key-pins\"?: string | string[] | undefined; referer?: string | string[] | undefined; \"retry-after\"?: string | string[] | undefined; \"sec-websocket-accept\"?: string | string[] | undefined; \"sec-websocket-extensions\"?: string | string[] | undefined; \"sec-websocket-key\"?: string | string[] | undefined; \"sec-websocket-protocol\"?: string | string[] | undefined; \"sec-websocket-version\"?: string | string[] | undefined; \"set-cookie\"?: string | string[] | undefined; \"strict-transport-security\"?: string | string[] | undefined; tk?: string | string[] | undefined; trailer?: string | string[] | undefined; \"transfer-encoding\"?: string | string[] | undefined; upgrade?: string | string[] | undefined; \"user-agent\"?: string | string[] | undefined; vary?: string | string[] | undefined; via?: string | string[] | undefined; \"www-authenticate\"?: string | string[] | undefined; } & { [header: string]: string | string[] | undefined; }" + "{ from?: string | string[] | undefined; date?: string | string[] | undefined; origin?: string | string[] | undefined; range?: string | string[] | undefined; warning?: string | string[] | undefined; location?: string | string[] | undefined; allow?: string | string[] | undefined; accept?: string | string[] | undefined; \"accept-language\"?: string | string[] | undefined; \"accept-patch\"?: string | string[] | undefined; \"accept-ranges\"?: string | string[] | undefined; \"access-control-allow-credentials\"?: string | string[] | undefined; \"access-control-allow-headers\"?: string | string[] | undefined; \"access-control-allow-methods\"?: string | string[] | undefined; \"access-control-allow-origin\"?: string | string[] | undefined; \"access-control-expose-headers\"?: string | string[] | undefined; \"access-control-max-age\"?: string | string[] | undefined; \"access-control-request-headers\"?: string | string[] | undefined; \"access-control-request-method\"?: string | string[] | undefined; age?: string | string[] | undefined; \"alt-svc\"?: string | string[] | undefined; authorization?: string | string[] | undefined; \"cache-control\"?: string | string[] | undefined; connection?: string | string[] | undefined; \"content-disposition\"?: string | string[] | undefined; \"content-encoding\"?: string | string[] | undefined; \"content-language\"?: string | string[] | undefined; \"content-length\"?: string | string[] | undefined; \"content-location\"?: string | string[] | undefined; \"content-range\"?: string | string[] | undefined; \"content-type\"?: string | string[] | undefined; cookie?: string | string[] | undefined; etag?: string | string[] | undefined; expect?: string | string[] | undefined; expires?: string | string[] | undefined; forwarded?: string | string[] | undefined; host?: string | string[] | undefined; \"if-match\"?: string | string[] | undefined; \"if-modified-since\"?: string | string[] | undefined; \"if-none-match\"?: string | string[] | undefined; \"if-unmodified-since\"?: string | string[] | undefined; \"last-modified\"?: string | string[] | undefined; pragma?: string | string[] | undefined; \"proxy-authenticate\"?: string | string[] | undefined; \"proxy-authorization\"?: string | string[] | undefined; \"public-key-pins\"?: string | string[] | undefined; referer?: string | string[] | undefined; \"retry-after\"?: string | string[] | undefined; \"sec-websocket-accept\"?: string | string[] | undefined; \"sec-websocket-extensions\"?: string | string[] | undefined; \"sec-websocket-key\"?: string | string[] | undefined; \"sec-websocket-protocol\"?: string | string[] | undefined; \"sec-websocket-version\"?: string | string[] | undefined; \"set-cookie\"?: string | string[] | undefined; \"strict-transport-security\"?: string | string[] | undefined; tk?: string | string[] | undefined; trailer?: string | string[] | undefined; \"transfer-encoding\"?: string | string[] | undefined; upgrade?: string | string[] | undefined; \"user-agent\"?: string | string[] | undefined; vary?: string | string[] | undefined; via?: string | string[] | undefined; \"www-authenticate\"?: string | string[] | undefined; } & { [header: string]: string | string[] | undefined; }" ], "path": "src/core/server/http/router/request.ts", "deprecated": false @@ -2697,7 +2697,7 @@ "\nHeaders to attach for auth redirect.\nMust include \"location\" header" ], "signature": [ - "({ location: string; } & Record<\"from\" | \"date\" | \"origin\" | \"range\" | \"warning\" | \"location\" | \"allow\" | \"accept\" | \"accept-language\" | \"accept-patch\" | \"accept-ranges\" | \"access-control-allow-credentials\" | \"access-control-allow-headers\" | \"access-control-allow-methods\" | \"access-control-allow-origin\" | \"access-control-expose-headers\" | \"access-control-max-age\" | \"access-control-request-headers\" | \"access-control-request-method\" | \"age\" | \"alt-svc\" | \"authorization\" | \"cache-control\" | \"connection\" | \"content-disposition\" | \"content-encoding\" | \"content-language\" | \"content-length\" | \"content-location\" | \"content-range\" | \"content-type\" | \"cookie\" | \"expect\" | \"expires\" | \"forwarded\" | \"host\" | \"if-match\" | \"if-modified-since\" | \"if-none-match\" | \"if-unmodified-since\" | \"last-modified\" | \"pragma\" | \"proxy-authenticate\" | \"proxy-authorization\" | \"public-key-pins\" | \"referer\" | \"retry-after\" | \"sec-websocket-accept\" | \"sec-websocket-extensions\" | \"sec-websocket-key\" | \"sec-websocket-protocol\" | \"sec-websocket-version\" | \"set-cookie\" | \"strict-transport-security\" | \"tk\" | \"trailer\" | \"transfer-encoding\" | \"upgrade\" | \"user-agent\" | \"vary\" | \"via\" | \"www-authenticate\", string | string[]>) | ({ location: string; } & Record)" + "({ location: string; } & Record<\"from\" | \"date\" | \"origin\" | \"range\" | \"warning\" | \"location\" | \"allow\" | \"accept\" | \"accept-language\" | \"accept-patch\" | \"accept-ranges\" | \"access-control-allow-credentials\" | \"access-control-allow-headers\" | \"access-control-allow-methods\" | \"access-control-allow-origin\" | \"access-control-expose-headers\" | \"access-control-max-age\" | \"access-control-request-headers\" | \"access-control-request-method\" | \"age\" | \"alt-svc\" | \"authorization\" | \"cache-control\" | \"connection\" | \"content-disposition\" | \"content-encoding\" | \"content-language\" | \"content-length\" | \"content-location\" | \"content-range\" | \"content-type\" | \"cookie\" | \"etag\" | \"expect\" | \"expires\" | \"forwarded\" | \"host\" | \"if-match\" | \"if-modified-since\" | \"if-none-match\" | \"if-unmodified-since\" | \"last-modified\" | \"pragma\" | \"proxy-authenticate\" | \"proxy-authorization\" | \"public-key-pins\" | \"referer\" | \"retry-after\" | \"sec-websocket-accept\" | \"sec-websocket-extensions\" | \"sec-websocket-key\" | \"sec-websocket-protocol\" | \"sec-websocket-version\" | \"set-cookie\" | \"strict-transport-security\" | \"tk\" | \"trailer\" | \"transfer-encoding\" | \"upgrade\" | \"user-agent\" | \"vary\" | \"via\" | \"www-authenticate\", string | string[]>) | ({ location: string; } & Record)" ], "path": "src/core/server/http/lifecycle/auth.ts", "deprecated": false @@ -2863,7 +2863,7 @@ "\nRedirects user to another location to complete authentication when authRequired: true\nAllows user to access a resource without redirection when authRequired: 'optional'" ], "signature": [ - "(headers: ({ location: string; } & Record<\"from\" | \"date\" | \"origin\" | \"range\" | \"warning\" | \"location\" | \"allow\" | \"accept\" | \"accept-language\" | \"accept-patch\" | \"accept-ranges\" | \"access-control-allow-credentials\" | \"access-control-allow-headers\" | \"access-control-allow-methods\" | \"access-control-allow-origin\" | \"access-control-expose-headers\" | \"access-control-max-age\" | \"access-control-request-headers\" | \"access-control-request-method\" | \"age\" | \"alt-svc\" | \"authorization\" | \"cache-control\" | \"connection\" | \"content-disposition\" | \"content-encoding\" | \"content-language\" | \"content-length\" | \"content-location\" | \"content-range\" | \"content-type\" | \"cookie\" | \"expect\" | \"expires\" | \"forwarded\" | \"host\" | \"if-match\" | \"if-modified-since\" | \"if-none-match\" | \"if-unmodified-since\" | \"last-modified\" | \"pragma\" | \"proxy-authenticate\" | \"proxy-authorization\" | \"public-key-pins\" | \"referer\" | \"retry-after\" | \"sec-websocket-accept\" | \"sec-websocket-extensions\" | \"sec-websocket-key\" | \"sec-websocket-protocol\" | \"sec-websocket-version\" | \"set-cookie\" | \"strict-transport-security\" | \"tk\" | \"trailer\" | \"transfer-encoding\" | \"upgrade\" | \"user-agent\" | \"vary\" | \"via\" | \"www-authenticate\", string | string[]>) | ({ location: string; } & Record)) => ", + "(headers: ({ location: string; } & Record<\"from\" | \"date\" | \"origin\" | \"range\" | \"warning\" | \"location\" | \"allow\" | \"accept\" | \"accept-language\" | \"accept-patch\" | \"accept-ranges\" | \"access-control-allow-credentials\" | \"access-control-allow-headers\" | \"access-control-allow-methods\" | \"access-control-allow-origin\" | \"access-control-expose-headers\" | \"access-control-max-age\" | \"access-control-request-headers\" | \"access-control-request-method\" | \"age\" | \"alt-svc\" | \"authorization\" | \"cache-control\" | \"connection\" | \"content-disposition\" | \"content-encoding\" | \"content-language\" | \"content-length\" | \"content-location\" | \"content-range\" | \"content-type\" | \"cookie\" | \"etag\" | \"expect\" | \"expires\" | \"forwarded\" | \"host\" | \"if-match\" | \"if-modified-since\" | \"if-none-match\" | \"if-unmodified-since\" | \"last-modified\" | \"pragma\" | \"proxy-authenticate\" | \"proxy-authorization\" | \"public-key-pins\" | \"referer\" | \"retry-after\" | \"sec-websocket-accept\" | \"sec-websocket-extensions\" | \"sec-websocket-key\" | \"sec-websocket-protocol\" | \"sec-websocket-version\" | \"set-cookie\" | \"strict-transport-security\" | \"tk\" | \"trailer\" | \"transfer-encoding\" | \"upgrade\" | \"user-agent\" | \"vary\" | \"via\" | \"www-authenticate\", string | string[]>) | ({ location: string; } & Record)) => ", { "pluginId": "core", "scope": "server", @@ -2883,7 +2883,7 @@ "label": "headers", "description": [], "signature": [ - "({ location: string; } & Record<\"from\" | \"date\" | \"origin\" | \"range\" | \"warning\" | \"location\" | \"allow\" | \"accept\" | \"accept-language\" | \"accept-patch\" | \"accept-ranges\" | \"access-control-allow-credentials\" | \"access-control-allow-headers\" | \"access-control-allow-methods\" | \"access-control-allow-origin\" | \"access-control-expose-headers\" | \"access-control-max-age\" | \"access-control-request-headers\" | \"access-control-request-method\" | \"age\" | \"alt-svc\" | \"authorization\" | \"cache-control\" | \"connection\" | \"content-disposition\" | \"content-encoding\" | \"content-language\" | \"content-length\" | \"content-location\" | \"content-range\" | \"content-type\" | \"cookie\" | \"expect\" | \"expires\" | \"forwarded\" | \"host\" | \"if-match\" | \"if-modified-since\" | \"if-none-match\" | \"if-unmodified-since\" | \"last-modified\" | \"pragma\" | \"proxy-authenticate\" | \"proxy-authorization\" | \"public-key-pins\" | \"referer\" | \"retry-after\" | \"sec-websocket-accept\" | \"sec-websocket-extensions\" | \"sec-websocket-key\" | \"sec-websocket-protocol\" | \"sec-websocket-version\" | \"set-cookie\" | \"strict-transport-security\" | \"tk\" | \"trailer\" | \"transfer-encoding\" | \"upgrade\" | \"user-agent\" | \"vary\" | \"via\" | \"www-authenticate\", string | string[]>) | ({ location: string; } & Record)" + "({ location: string; } & Record<\"from\" | \"date\" | \"origin\" | \"range\" | \"warning\" | \"location\" | \"allow\" | \"accept\" | \"accept-language\" | \"accept-patch\" | \"accept-ranges\" | \"access-control-allow-credentials\" | \"access-control-allow-headers\" | \"access-control-allow-methods\" | \"access-control-allow-origin\" | \"access-control-expose-headers\" | \"access-control-max-age\" | \"access-control-request-headers\" | \"access-control-request-method\" | \"age\" | \"alt-svc\" | \"authorization\" | \"cache-control\" | \"connection\" | \"content-disposition\" | \"content-encoding\" | \"content-language\" | \"content-length\" | \"content-location\" | \"content-range\" | \"content-type\" | \"cookie\" | \"etag\" | \"expect\" | \"expires\" | \"forwarded\" | \"host\" | \"if-match\" | \"if-modified-since\" | \"if-none-match\" | \"if-unmodified-since\" | \"last-modified\" | \"pragma\" | \"proxy-authenticate\" | \"proxy-authorization\" | \"public-key-pins\" | \"referer\" | \"retry-after\" | \"sec-websocket-accept\" | \"sec-websocket-extensions\" | \"sec-websocket-key\" | \"sec-websocket-protocol\" | \"sec-websocket-version\" | \"set-cookie\" | \"strict-transport-security\" | \"tk\" | \"trailer\" | \"transfer-encoding\" | \"upgrade\" | \"user-agent\" | \"vary\" | \"via\" | \"www-authenticate\", string | string[]>) | ({ location: string; } & Record)" ], "path": "src/core/server/http/lifecycle/auth.ts", "deprecated": false, @@ -2942,7 +2942,7 @@ "HTTP Headers with additional information about response" ], "signature": [ - "Record<\"from\" | \"date\" | \"origin\" | \"range\" | \"warning\" | \"location\" | \"allow\" | \"accept\" | \"accept-language\" | \"accept-patch\" | \"accept-ranges\" | \"access-control-allow-credentials\" | \"access-control-allow-headers\" | \"access-control-allow-methods\" | \"access-control-allow-origin\" | \"access-control-expose-headers\" | \"access-control-max-age\" | \"access-control-request-headers\" | \"access-control-request-method\" | \"age\" | \"alt-svc\" | \"authorization\" | \"cache-control\" | \"connection\" | \"content-disposition\" | \"content-encoding\" | \"content-language\" | \"content-length\" | \"content-location\" | \"content-range\" | \"content-type\" | \"cookie\" | \"expect\" | \"expires\" | \"forwarded\" | \"host\" | \"if-match\" | \"if-modified-since\" | \"if-none-match\" | \"if-unmodified-since\" | \"last-modified\" | \"pragma\" | \"proxy-authenticate\" | \"proxy-authorization\" | \"public-key-pins\" | \"referer\" | \"retry-after\" | \"sec-websocket-accept\" | \"sec-websocket-extensions\" | \"sec-websocket-key\" | \"sec-websocket-protocol\" | \"sec-websocket-version\" | \"set-cookie\" | \"strict-transport-security\" | \"tk\" | \"trailer\" | \"transfer-encoding\" | \"upgrade\" | \"user-agent\" | \"vary\" | \"via\" | \"www-authenticate\", string | string[]> | Record | undefined" + "Record<\"from\" | \"date\" | \"origin\" | \"range\" | \"warning\" | \"location\" | \"allow\" | \"accept\" | \"accept-language\" | \"accept-patch\" | \"accept-ranges\" | \"access-control-allow-credentials\" | \"access-control-allow-headers\" | \"access-control-allow-methods\" | \"access-control-allow-origin\" | \"access-control-expose-headers\" | \"access-control-max-age\" | \"access-control-request-headers\" | \"access-control-request-method\" | \"age\" | \"alt-svc\" | \"authorization\" | \"cache-control\" | \"connection\" | \"content-disposition\" | \"content-encoding\" | \"content-language\" | \"content-length\" | \"content-location\" | \"content-range\" | \"content-type\" | \"cookie\" | \"etag\" | \"expect\" | \"expires\" | \"forwarded\" | \"host\" | \"if-match\" | \"if-modified-since\" | \"if-none-match\" | \"if-unmodified-since\" | \"last-modified\" | \"pragma\" | \"proxy-authenticate\" | \"proxy-authorization\" | \"public-key-pins\" | \"referer\" | \"retry-after\" | \"sec-websocket-accept\" | \"sec-websocket-extensions\" | \"sec-websocket-key\" | \"sec-websocket-protocol\" | \"sec-websocket-version\" | \"set-cookie\" | \"strict-transport-security\" | \"tk\" | \"trailer\" | \"transfer-encoding\" | \"upgrade\" | \"user-agent\" | \"vary\" | \"via\" | \"www-authenticate\", string | string[]> | Record | undefined" ], "path": "src/core/server/http/router/response.ts", "deprecated": false @@ -3012,7 +3012,7 @@ "HTTP Headers with additional information about response" ], "signature": [ - "Record<\"from\" | \"date\" | \"origin\" | \"range\" | \"warning\" | \"location\" | \"allow\" | \"accept\" | \"accept-language\" | \"accept-patch\" | \"accept-ranges\" | \"access-control-allow-credentials\" | \"access-control-allow-headers\" | \"access-control-allow-methods\" | \"access-control-allow-origin\" | \"access-control-expose-headers\" | \"access-control-max-age\" | \"access-control-request-headers\" | \"access-control-request-method\" | \"age\" | \"alt-svc\" | \"authorization\" | \"cache-control\" | \"connection\" | \"content-disposition\" | \"content-encoding\" | \"content-language\" | \"content-length\" | \"content-location\" | \"content-range\" | \"content-type\" | \"cookie\" | \"expect\" | \"expires\" | \"forwarded\" | \"host\" | \"if-match\" | \"if-modified-since\" | \"if-none-match\" | \"if-unmodified-since\" | \"last-modified\" | \"pragma\" | \"proxy-authenticate\" | \"proxy-authorization\" | \"public-key-pins\" | \"referer\" | \"retry-after\" | \"sec-websocket-accept\" | \"sec-websocket-extensions\" | \"sec-websocket-key\" | \"sec-websocket-protocol\" | \"sec-websocket-version\" | \"set-cookie\" | \"strict-transport-security\" | \"tk\" | \"trailer\" | \"transfer-encoding\" | \"upgrade\" | \"user-agent\" | \"vary\" | \"via\" | \"www-authenticate\", string | string[]> | Record | undefined" + "Record<\"from\" | \"date\" | \"origin\" | \"range\" | \"warning\" | \"location\" | \"allow\" | \"accept\" | \"accept-language\" | \"accept-patch\" | \"accept-ranges\" | \"access-control-allow-credentials\" | \"access-control-allow-headers\" | \"access-control-allow-methods\" | \"access-control-allow-origin\" | \"access-control-expose-headers\" | \"access-control-max-age\" | \"access-control-request-headers\" | \"access-control-request-method\" | \"age\" | \"alt-svc\" | \"authorization\" | \"cache-control\" | \"connection\" | \"content-disposition\" | \"content-encoding\" | \"content-language\" | \"content-length\" | \"content-location\" | \"content-range\" | \"content-type\" | \"cookie\" | \"etag\" | \"expect\" | \"expires\" | \"forwarded\" | \"host\" | \"if-match\" | \"if-modified-since\" | \"if-none-match\" | \"if-unmodified-since\" | \"last-modified\" | \"pragma\" | \"proxy-authenticate\" | \"proxy-authorization\" | \"public-key-pins\" | \"referer\" | \"retry-after\" | \"sec-websocket-accept\" | \"sec-websocket-extensions\" | \"sec-websocket-key\" | \"sec-websocket-protocol\" | \"sec-websocket-version\" | \"set-cookie\" | \"strict-transport-security\" | \"tk\" | \"trailer\" | \"transfer-encoding\" | \"upgrade\" | \"user-agent\" | \"vary\" | \"via\" | \"www-authenticate\", string | string[]> | Record | undefined" ], "path": "src/core/server/http/router/response.ts", "deprecated": false @@ -3172,7 +3172,7 @@ "HTTP Headers with additional information about response" ], "signature": [ - "Record<\"from\" | \"date\" | \"origin\" | \"range\" | \"warning\" | \"location\" | \"allow\" | \"accept\" | \"accept-language\" | \"accept-patch\" | \"accept-ranges\" | \"access-control-allow-credentials\" | \"access-control-allow-headers\" | \"access-control-allow-methods\" | \"access-control-allow-origin\" | \"access-control-expose-headers\" | \"access-control-max-age\" | \"access-control-request-headers\" | \"access-control-request-method\" | \"age\" | \"alt-svc\" | \"authorization\" | \"cache-control\" | \"connection\" | \"content-disposition\" | \"content-encoding\" | \"content-language\" | \"content-length\" | \"content-location\" | \"content-range\" | \"content-type\" | \"cookie\" | \"expect\" | \"expires\" | \"forwarded\" | \"host\" | \"if-match\" | \"if-modified-since\" | \"if-none-match\" | \"if-unmodified-since\" | \"last-modified\" | \"pragma\" | \"proxy-authenticate\" | \"proxy-authorization\" | \"public-key-pins\" | \"referer\" | \"retry-after\" | \"sec-websocket-accept\" | \"sec-websocket-extensions\" | \"sec-websocket-key\" | \"sec-websocket-protocol\" | \"sec-websocket-version\" | \"set-cookie\" | \"strict-transport-security\" | \"tk\" | \"trailer\" | \"transfer-encoding\" | \"upgrade\" | \"user-agent\" | \"vary\" | \"via\" | \"www-authenticate\", string | string[]> | Record | undefined" + "Record<\"from\" | \"date\" | \"origin\" | \"range\" | \"warning\" | \"location\" | \"allow\" | \"accept\" | \"accept-language\" | \"accept-patch\" | \"accept-ranges\" | \"access-control-allow-credentials\" | \"access-control-allow-headers\" | \"access-control-allow-methods\" | \"access-control-allow-origin\" | \"access-control-expose-headers\" | \"access-control-max-age\" | \"access-control-request-headers\" | \"access-control-request-method\" | \"age\" | \"alt-svc\" | \"authorization\" | \"cache-control\" | \"connection\" | \"content-disposition\" | \"content-encoding\" | \"content-language\" | \"content-length\" | \"content-location\" | \"content-range\" | \"content-type\" | \"cookie\" | \"etag\" | \"expect\" | \"expires\" | \"forwarded\" | \"host\" | \"if-match\" | \"if-modified-since\" | \"if-none-match\" | \"if-unmodified-since\" | \"last-modified\" | \"pragma\" | \"proxy-authenticate\" | \"proxy-authorization\" | \"public-key-pins\" | \"referer\" | \"retry-after\" | \"sec-websocket-accept\" | \"sec-websocket-extensions\" | \"sec-websocket-key\" | \"sec-websocket-protocol\" | \"sec-websocket-version\" | \"set-cookie\" | \"strict-transport-security\" | \"tk\" | \"trailer\" | \"transfer-encoding\" | \"upgrade\" | \"user-agent\" | \"vary\" | \"via\" | \"www-authenticate\", string | string[]> | Record | undefined" ], "path": "src/core/server/http/router/response.ts", "deprecated": false @@ -7505,7 +7505,7 @@ "additional headers to attach to the response" ], "signature": [ - "Record<\"from\" | \"date\" | \"origin\" | \"range\" | \"warning\" | \"location\" | \"allow\" | \"accept\" | \"accept-language\" | \"accept-patch\" | \"accept-ranges\" | \"access-control-allow-credentials\" | \"access-control-allow-headers\" | \"access-control-allow-methods\" | \"access-control-allow-origin\" | \"access-control-expose-headers\" | \"access-control-max-age\" | \"access-control-request-headers\" | \"access-control-request-method\" | \"age\" | \"alt-svc\" | \"authorization\" | \"cache-control\" | \"connection\" | \"content-disposition\" | \"content-encoding\" | \"content-language\" | \"content-length\" | \"content-location\" | \"content-range\" | \"content-type\" | \"cookie\" | \"expect\" | \"expires\" | \"forwarded\" | \"host\" | \"if-match\" | \"if-modified-since\" | \"if-none-match\" | \"if-unmodified-since\" | \"last-modified\" | \"pragma\" | \"proxy-authenticate\" | \"proxy-authorization\" | \"public-key-pins\" | \"referer\" | \"retry-after\" | \"sec-websocket-accept\" | \"sec-websocket-extensions\" | \"sec-websocket-key\" | \"sec-websocket-protocol\" | \"sec-websocket-version\" | \"set-cookie\" | \"strict-transport-security\" | \"tk\" | \"trailer\" | \"transfer-encoding\" | \"upgrade\" | \"user-agent\" | \"vary\" | \"via\" | \"www-authenticate\", string | string[]> | Record | undefined" + "Record<\"from\" | \"date\" | \"origin\" | \"range\" | \"warning\" | \"location\" | \"allow\" | \"accept\" | \"accept-language\" | \"accept-patch\" | \"accept-ranges\" | \"access-control-allow-credentials\" | \"access-control-allow-headers\" | \"access-control-allow-methods\" | \"access-control-allow-origin\" | \"access-control-expose-headers\" | \"access-control-max-age\" | \"access-control-request-headers\" | \"access-control-request-method\" | \"age\" | \"alt-svc\" | \"authorization\" | \"cache-control\" | \"connection\" | \"content-disposition\" | \"content-encoding\" | \"content-language\" | \"content-length\" | \"content-location\" | \"content-range\" | \"content-type\" | \"cookie\" | \"etag\" | \"expect\" | \"expires\" | \"forwarded\" | \"host\" | \"if-match\" | \"if-modified-since\" | \"if-none-match\" | \"if-unmodified-since\" | \"last-modified\" | \"pragma\" | \"proxy-authenticate\" | \"proxy-authorization\" | \"public-key-pins\" | \"referer\" | \"retry-after\" | \"sec-websocket-accept\" | \"sec-websocket-extensions\" | \"sec-websocket-key\" | \"sec-websocket-protocol\" | \"sec-websocket-version\" | \"set-cookie\" | \"strict-transport-security\" | \"tk\" | \"trailer\" | \"transfer-encoding\" | \"upgrade\" | \"user-agent\" | \"vary\" | \"via\" | \"www-authenticate\", string | string[]> | Record | undefined" ], "path": "src/core/server/http/lifecycle/on_pre_response.ts", "deprecated": false @@ -7560,7 +7560,7 @@ "additional headers to attach to the response" ], "signature": [ - "Record<\"from\" | \"date\" | \"origin\" | \"range\" | \"warning\" | \"location\" | \"allow\" | \"accept\" | \"accept-language\" | \"accept-patch\" | \"accept-ranges\" | \"access-control-allow-credentials\" | \"access-control-allow-headers\" | \"access-control-allow-methods\" | \"access-control-allow-origin\" | \"access-control-expose-headers\" | \"access-control-max-age\" | \"access-control-request-headers\" | \"access-control-request-method\" | \"age\" | \"alt-svc\" | \"authorization\" | \"cache-control\" | \"connection\" | \"content-disposition\" | \"content-encoding\" | \"content-language\" | \"content-length\" | \"content-location\" | \"content-range\" | \"content-type\" | \"cookie\" | \"expect\" | \"expires\" | \"forwarded\" | \"host\" | \"if-match\" | \"if-modified-since\" | \"if-none-match\" | \"if-unmodified-since\" | \"last-modified\" | \"pragma\" | \"proxy-authenticate\" | \"proxy-authorization\" | \"public-key-pins\" | \"referer\" | \"retry-after\" | \"sec-websocket-accept\" | \"sec-websocket-extensions\" | \"sec-websocket-key\" | \"sec-websocket-protocol\" | \"sec-websocket-version\" | \"set-cookie\" | \"strict-transport-security\" | \"tk\" | \"trailer\" | \"transfer-encoding\" | \"upgrade\" | \"user-agent\" | \"vary\" | \"via\" | \"www-authenticate\", string | string[]> | Record | undefined" + "Record<\"from\" | \"date\" | \"origin\" | \"range\" | \"warning\" | \"location\" | \"allow\" | \"accept\" | \"accept-language\" | \"accept-patch\" | \"accept-ranges\" | \"access-control-allow-credentials\" | \"access-control-allow-headers\" | \"access-control-allow-methods\" | \"access-control-allow-origin\" | \"access-control-expose-headers\" | \"access-control-max-age\" | \"access-control-request-headers\" | \"access-control-request-method\" | \"age\" | \"alt-svc\" | \"authorization\" | \"cache-control\" | \"connection\" | \"content-disposition\" | \"content-encoding\" | \"content-language\" | \"content-length\" | \"content-location\" | \"content-range\" | \"content-type\" | \"cookie\" | \"etag\" | \"expect\" | \"expires\" | \"forwarded\" | \"host\" | \"if-match\" | \"if-modified-since\" | \"if-none-match\" | \"if-unmodified-since\" | \"last-modified\" | \"pragma\" | \"proxy-authenticate\" | \"proxy-authorization\" | \"public-key-pins\" | \"referer\" | \"retry-after\" | \"sec-websocket-accept\" | \"sec-websocket-extensions\" | \"sec-websocket-key\" | \"sec-websocket-protocol\" | \"sec-websocket-version\" | \"set-cookie\" | \"strict-transport-security\" | \"tk\" | \"trailer\" | \"transfer-encoding\" | \"upgrade\" | \"user-agent\" | \"vary\" | \"via\" | \"www-authenticate\", string | string[]> | Record | undefined" ], "path": "src/core/server/http/lifecycle/on_pre_response.ts", "deprecated": false @@ -9252,7 +9252,7 @@ "\nHttp request headers to read." ], "signature": [ - "{ from?: string | string[] | undefined; date?: string | string[] | undefined; origin?: string | string[] | undefined; range?: string | string[] | undefined; warning?: string | string[] | undefined; location?: string | string[] | undefined; allow?: string | string[] | undefined; accept?: string | string[] | undefined; \"accept-language\"?: string | string[] | undefined; \"accept-patch\"?: string | string[] | undefined; \"accept-ranges\"?: string | string[] | undefined; \"access-control-allow-credentials\"?: string | string[] | undefined; \"access-control-allow-headers\"?: string | string[] | undefined; \"access-control-allow-methods\"?: string | string[] | undefined; \"access-control-allow-origin\"?: string | string[] | undefined; \"access-control-expose-headers\"?: string | string[] | undefined; \"access-control-max-age\"?: string | string[] | undefined; \"access-control-request-headers\"?: string | string[] | undefined; \"access-control-request-method\"?: string | string[] | undefined; age?: string | string[] | undefined; \"alt-svc\"?: string | string[] | undefined; authorization?: string | string[] | undefined; \"cache-control\"?: string | string[] | undefined; connection?: string | string[] | undefined; \"content-disposition\"?: string | string[] | undefined; \"content-encoding\"?: string | string[] | undefined; \"content-language\"?: string | string[] | undefined; \"content-length\"?: string | string[] | undefined; \"content-location\"?: string | string[] | undefined; \"content-range\"?: string | string[] | undefined; \"content-type\"?: string | string[] | undefined; cookie?: string | string[] | undefined; expect?: string | string[] | undefined; expires?: string | string[] | undefined; forwarded?: string | string[] | undefined; host?: string | string[] | undefined; \"if-match\"?: string | string[] | undefined; \"if-modified-since\"?: string | string[] | undefined; \"if-none-match\"?: string | string[] | undefined; \"if-unmodified-since\"?: string | string[] | undefined; \"last-modified\"?: string | string[] | undefined; pragma?: string | string[] | undefined; \"proxy-authenticate\"?: string | string[] | undefined; \"proxy-authorization\"?: string | string[] | undefined; \"public-key-pins\"?: string | string[] | undefined; referer?: string | string[] | undefined; \"retry-after\"?: string | string[] | undefined; \"sec-websocket-accept\"?: string | string[] | undefined; \"sec-websocket-extensions\"?: string | string[] | undefined; \"sec-websocket-key\"?: string | string[] | undefined; \"sec-websocket-protocol\"?: string | string[] | undefined; \"sec-websocket-version\"?: string | string[] | undefined; \"set-cookie\"?: string | string[] | undefined; \"strict-transport-security\"?: string | string[] | undefined; tk?: string | string[] | undefined; trailer?: string | string[] | undefined; \"transfer-encoding\"?: string | string[] | undefined; upgrade?: string | string[] | undefined; \"user-agent\"?: string | string[] | undefined; vary?: string | string[] | undefined; via?: string | string[] | undefined; \"www-authenticate\"?: string | string[] | undefined; } & { [header: string]: string | string[] | undefined; }" + "{ from?: string | string[] | undefined; date?: string | string[] | undefined; origin?: string | string[] | undefined; range?: string | string[] | undefined; warning?: string | string[] | undefined; location?: string | string[] | undefined; allow?: string | string[] | undefined; accept?: string | string[] | undefined; \"accept-language\"?: string | string[] | undefined; \"accept-patch\"?: string | string[] | undefined; \"accept-ranges\"?: string | string[] | undefined; \"access-control-allow-credentials\"?: string | string[] | undefined; \"access-control-allow-headers\"?: string | string[] | undefined; \"access-control-allow-methods\"?: string | string[] | undefined; \"access-control-allow-origin\"?: string | string[] | undefined; \"access-control-expose-headers\"?: string | string[] | undefined; \"access-control-max-age\"?: string | string[] | undefined; \"access-control-request-headers\"?: string | string[] | undefined; \"access-control-request-method\"?: string | string[] | undefined; age?: string | string[] | undefined; \"alt-svc\"?: string | string[] | undefined; authorization?: string | string[] | undefined; \"cache-control\"?: string | string[] | undefined; connection?: string | string[] | undefined; \"content-disposition\"?: string | string[] | undefined; \"content-encoding\"?: string | string[] | undefined; \"content-language\"?: string | string[] | undefined; \"content-length\"?: string | string[] | undefined; \"content-location\"?: string | string[] | undefined; \"content-range\"?: string | string[] | undefined; \"content-type\"?: string | string[] | undefined; cookie?: string | string[] | undefined; etag?: string | string[] | undefined; expect?: string | string[] | undefined; expires?: string | string[] | undefined; forwarded?: string | string[] | undefined; host?: string | string[] | undefined; \"if-match\"?: string | string[] | undefined; \"if-modified-since\"?: string | string[] | undefined; \"if-none-match\"?: string | string[] | undefined; \"if-unmodified-since\"?: string | string[] | undefined; \"last-modified\"?: string | string[] | undefined; pragma?: string | string[] | undefined; \"proxy-authenticate\"?: string | string[] | undefined; \"proxy-authorization\"?: string | string[] | undefined; \"public-key-pins\"?: string | string[] | undefined; referer?: string | string[] | undefined; \"retry-after\"?: string | string[] | undefined; \"sec-websocket-accept\"?: string | string[] | undefined; \"sec-websocket-extensions\"?: string | string[] | undefined; \"sec-websocket-key\"?: string | string[] | undefined; \"sec-websocket-protocol\"?: string | string[] | undefined; \"sec-websocket-version\"?: string | string[] | undefined; \"set-cookie\"?: string | string[] | undefined; \"strict-transport-security\"?: string | string[] | undefined; tk?: string | string[] | undefined; trailer?: string | string[] | undefined; \"transfer-encoding\"?: string | string[] | undefined; upgrade?: string | string[] | undefined; \"user-agent\"?: string | string[] | undefined; vary?: string | string[] | undefined; via?: string | string[] | undefined; \"www-authenticate\"?: string | string[] | undefined; } & { [header: string]: string | string[] | undefined; }" ], "path": "src/core/server/http/router/headers.ts", "deprecated": false, @@ -9595,7 +9595,7 @@ "\nSet of well-known HTTP headers." ], "signature": [ - "\"from\" | \"date\" | \"origin\" | \"range\" | \"warning\" | \"location\" | \"allow\" | \"accept\" | \"accept-language\" | \"accept-patch\" | \"accept-ranges\" | \"access-control-allow-credentials\" | \"access-control-allow-headers\" | \"access-control-allow-methods\" | \"access-control-allow-origin\" | \"access-control-expose-headers\" | \"access-control-max-age\" | \"access-control-request-headers\" | \"access-control-request-method\" | \"age\" | \"alt-svc\" | \"authorization\" | \"cache-control\" | \"connection\" | \"content-disposition\" | \"content-encoding\" | \"content-language\" | \"content-length\" | \"content-location\" | \"content-range\" | \"content-type\" | \"cookie\" | \"expect\" | \"expires\" | \"forwarded\" | \"host\" | \"if-match\" | \"if-modified-since\" | \"if-none-match\" | \"if-unmodified-since\" | \"last-modified\" | \"pragma\" | \"proxy-authenticate\" | \"proxy-authorization\" | \"public-key-pins\" | \"referer\" | \"retry-after\" | \"sec-websocket-accept\" | \"sec-websocket-extensions\" | \"sec-websocket-key\" | \"sec-websocket-protocol\" | \"sec-websocket-version\" | \"set-cookie\" | \"strict-transport-security\" | \"tk\" | \"trailer\" | \"transfer-encoding\" | \"upgrade\" | \"user-agent\" | \"vary\" | \"via\" | \"www-authenticate\"" + "\"from\" | \"date\" | \"origin\" | \"range\" | \"warning\" | \"location\" | \"allow\" | \"accept\" | \"accept-language\" | \"accept-patch\" | \"accept-ranges\" | \"access-control-allow-credentials\" | \"access-control-allow-headers\" | \"access-control-allow-methods\" | \"access-control-allow-origin\" | \"access-control-expose-headers\" | \"access-control-max-age\" | \"access-control-request-headers\" | \"access-control-request-method\" | \"age\" | \"alt-svc\" | \"authorization\" | \"cache-control\" | \"connection\" | \"content-disposition\" | \"content-encoding\" | \"content-language\" | \"content-length\" | \"content-location\" | \"content-range\" | \"content-type\" | \"cookie\" | \"etag\" | \"expect\" | \"expires\" | \"forwarded\" | \"host\" | \"if-match\" | \"if-modified-since\" | \"if-none-match\" | \"if-unmodified-since\" | \"last-modified\" | \"pragma\" | \"proxy-authenticate\" | \"proxy-authorization\" | \"public-key-pins\" | \"referer\" | \"retry-after\" | \"sec-websocket-accept\" | \"sec-websocket-extensions\" | \"sec-websocket-key\" | \"sec-websocket-protocol\" | \"sec-websocket-version\" | \"set-cookie\" | \"strict-transport-security\" | \"tk\" | \"trailer\" | \"transfer-encoding\" | \"upgrade\" | \"user-agent\" | \"vary\" | \"via\" | \"www-authenticate\"" ], "path": "src/core/server/http/router/headers.ts", "deprecated": false, @@ -11965,7 +11965,7 @@ "\nHttp response headers to set." ], "signature": [ - "Record<\"from\" | \"date\" | \"origin\" | \"range\" | \"warning\" | \"location\" | \"allow\" | \"accept\" | \"accept-language\" | \"accept-patch\" | \"accept-ranges\" | \"access-control-allow-credentials\" | \"access-control-allow-headers\" | \"access-control-allow-methods\" | \"access-control-allow-origin\" | \"access-control-expose-headers\" | \"access-control-max-age\" | \"access-control-request-headers\" | \"access-control-request-method\" | \"age\" | \"alt-svc\" | \"authorization\" | \"cache-control\" | \"connection\" | \"content-disposition\" | \"content-encoding\" | \"content-language\" | \"content-length\" | \"content-location\" | \"content-range\" | \"content-type\" | \"cookie\" | \"expect\" | \"expires\" | \"forwarded\" | \"host\" | \"if-match\" | \"if-modified-since\" | \"if-none-match\" | \"if-unmodified-since\" | \"last-modified\" | \"pragma\" | \"proxy-authenticate\" | \"proxy-authorization\" | \"public-key-pins\" | \"referer\" | \"retry-after\" | \"sec-websocket-accept\" | \"sec-websocket-extensions\" | \"sec-websocket-key\" | \"sec-websocket-protocol\" | \"sec-websocket-version\" | \"set-cookie\" | \"strict-transport-security\" | \"tk\" | \"trailer\" | \"transfer-encoding\" | \"upgrade\" | \"user-agent\" | \"vary\" | \"via\" | \"www-authenticate\", string | string[]> | Record" + "Record<\"from\" | \"date\" | \"origin\" | \"range\" | \"warning\" | \"location\" | \"allow\" | \"accept\" | \"accept-language\" | \"accept-patch\" | \"accept-ranges\" | \"access-control-allow-credentials\" | \"access-control-allow-headers\" | \"access-control-allow-methods\" | \"access-control-allow-origin\" | \"access-control-expose-headers\" | \"access-control-max-age\" | \"access-control-request-headers\" | \"access-control-request-method\" | \"age\" | \"alt-svc\" | \"authorization\" | \"cache-control\" | \"connection\" | \"content-disposition\" | \"content-encoding\" | \"content-language\" | \"content-length\" | \"content-location\" | \"content-range\" | \"content-type\" | \"cookie\" | \"etag\" | \"expect\" | \"expires\" | \"forwarded\" | \"host\" | \"if-match\" | \"if-modified-since\" | \"if-none-match\" | \"if-unmodified-since\" | \"last-modified\" | \"pragma\" | \"proxy-authenticate\" | \"proxy-authorization\" | \"public-key-pins\" | \"referer\" | \"retry-after\" | \"sec-websocket-accept\" | \"sec-websocket-extensions\" | \"sec-websocket-key\" | \"sec-websocket-protocol\" | \"sec-websocket-version\" | \"set-cookie\" | \"strict-transport-security\" | \"tk\" | \"trailer\" | \"transfer-encoding\" | \"upgrade\" | \"user-agent\" | \"vary\" | \"via\" | \"www-authenticate\", string | string[]> | Record" ], "path": "src/core/server/http/router/headers.ts", "deprecated": false, diff --git a/api_docs/core_http.mdx b/api_docs/core_http.mdx index d0f9967052fba9..7d982a7068dacd 100644 --- a/api_docs/core_http.mdx +++ b/api_docs/core_http.mdx @@ -18,7 +18,7 @@ Contact [Kibana Core](https://github.com/orgs/elastic/teams/kibana-core) for que | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 2298 | 27 | 1018 | 29 | +| 2304 | 27 | 1022 | 29 | ## Client diff --git a/api_docs/core_saved_objects.json b/api_docs/core_saved_objects.json index 9fbd4881680857..bd9b903ee0b5a7 100644 --- a/api_docs/core_saved_objects.json +++ b/api_docs/core_saved_objects.json @@ -1073,7 +1073,7 @@ "\nThe outcome for a successful `resolve` call is one of the following values:\n\n * `'exactMatch'` -- One document exactly matched the given ID.\n * `'aliasMatch'` -- One document with a legacy URL alias matched the given ID; in this case the `saved_object.id` field is different\n than the given ID.\n * `'conflict'` -- Two documents matched the given ID, one was an exact match and another with a legacy URL alias; in this case the\n `saved_object` object is the exact match, and the `saved_object.id` field is the same as the given ID." ], "signature": [ - "\"conflict\" | \"exactMatch\" | \"aliasMatch\"" + "\"conflict\" | \"aliasMatch\" | \"exactMatch\"" ], "path": "src/core/public/saved_objects/types.ts", "deprecated": false @@ -4426,51 +4426,6 @@ } ], "returnComment": [] - }, - { - "parentPluginId": "core", - "id": "def-server.SavedObjectsErrorHelpers.createGenericNotFoundEsUnavailableError", - "type": "Function", - "tags": [], - "label": "createGenericNotFoundEsUnavailableError", - "description": [], - "signature": [ - "(type?: string | null, id?: string | null) => ", - "DecoratedError" - ], - "path": "src/core/server/saved_objects/service/lib/errors.ts", - "deprecated": false, - "children": [ - { - "parentPluginId": "core", - "id": "def-server.SavedObjectsErrorHelpers.createGenericNotFoundEsUnavailableError.$1", - "type": "CompoundType", - "tags": [], - "label": "type", - "description": [], - "signature": [ - "string | null" - ], - "path": "src/core/server/saved_objects/service/lib/errors.ts", - "deprecated": false, - "isRequired": false - }, - { - "parentPluginId": "core", - "id": "def-server.SavedObjectsErrorHelpers.createGenericNotFoundEsUnavailableError.$2", - "type": "CompoundType", - "tags": [], - "label": "id", - "description": [], - "signature": [ - "string | null" - ], - "path": "src/core/server/saved_objects/service/lib/errors.ts", - "deprecated": false, - "isRequired": false - } - ], - "returnComment": [] } ], "initialIsOpen": false @@ -14079,7 +14034,7 @@ "\nThe outcome for a successful `resolve` call is one of the following values:\n\n * `'exactMatch'` -- One document exactly matched the given ID.\n * `'aliasMatch'` -- One document with a legacy URL alias matched the given ID; in this case the `saved_object.id` field is different\n than the given ID.\n * `'conflict'` -- Two documents matched the given ID, one was an exact match and another with a legacy URL alias; in this case the\n `saved_object` object is the exact match, and the `saved_object.id` field is the same as the given ID." ], "signature": [ - "\"conflict\" | \"exactMatch\" | \"aliasMatch\"" + "\"conflict\" | \"aliasMatch\" | \"exactMatch\"" ], "path": "src/core/server/saved_objects/service/saved_objects_client.ts", "deprecated": false @@ -14280,6 +14235,23 @@ } ], "returnComment": [] + }, + { + "parentPluginId": "core", + "id": "def-server.SavedObjectsServiceSetup.getKibanaIndex", + "type": "Function", + "tags": [], + "label": "getKibanaIndex", + "description": [ + "\nReturns the default index used for saved objects." + ], + "signature": [ + "() => string" + ], + "path": "src/core/server/saved_objects/saved_objects_service.ts", + "deprecated": false, + "children": [], + "returnComment": [] } ], "initialIsOpen": false @@ -15510,7 +15482,7 @@ }, " extends Pick<", "SavedObject", - ", \"type\" | \"id\" | \"version\" | \"namespaces\" | \"updated_at\" | \"error\" | \"migrationVersion\" | \"coreMigrationVersion\" | \"originId\">" + ", \"type\" | \"id\" | \"version\" | \"namespaces\" | \"migrationVersion\" | \"coreMigrationVersion\" | \"error\" | \"updated_at\" | \"originId\">" ], "path": "src/core/server/saved_objects/service/saved_objects_client.ts", "deprecated": false, @@ -16789,6 +16761,10 @@ " & { dynamic?: false | \"strict\" | undefined; }) | (", "MappingHistogramProperty", " & { dynamic?: false | \"strict\" | undefined; }) | (", + "MappingDenseVectorProperty", + " & { dynamic?: false | \"strict\" | undefined; }) | (", + "MappingAggregateMetricDoubleProperty", + " & { dynamic?: false | \"strict\" | undefined; }) | (", "MappingObjectProperty", " & { dynamic?: false | \"strict\" | undefined; }) | (", "MappingNestedProperty", @@ -16807,7 +16783,23 @@ " & { dynamic?: false | \"strict\" | undefined; }) | (", "MappingKeywordProperty", " & { dynamic?: false | \"strict\" | undefined; }) | (", - "MappingNumberProperty", + "MappingFloatNumberProperty", + " & { dynamic?: false | \"strict\" | undefined; }) | (", + "MappingHalfFloatNumberProperty", + " & { dynamic?: false | \"strict\" | undefined; }) | (", + "MappingDoubleNumberProperty", + " & { dynamic?: false | \"strict\" | undefined; }) | (", + "MappingIntegerNumberProperty", + " & { dynamic?: false | \"strict\" | undefined; }) | (", + "MappingLongNumberProperty", + " & { dynamic?: false | \"strict\" | undefined; }) | (", + "MappingShortNumberProperty", + " & { dynamic?: false | \"strict\" | undefined; }) | (", + "MappingByteNumberProperty", + " & { dynamic?: false | \"strict\" | undefined; }) | (", + "MappingUnsignedLongNumberProperty", + " & { dynamic?: false | \"strict\" | undefined; }) | (", + "MappingScaledFloatNumberProperty", " & { dynamic?: false | \"strict\" | undefined; }) | (", "MappingLongRangeProperty", " & { dynamic?: false | \"strict\" | undefined; }) | (", diff --git a/api_docs/core_saved_objects.mdx b/api_docs/core_saved_objects.mdx index 3d2d82e9f18214..10df368c8caedd 100644 --- a/api_docs/core_saved_objects.mdx +++ b/api_docs/core_saved_objects.mdx @@ -18,7 +18,7 @@ Contact [Kibana Core](https://github.com/orgs/elastic/teams/kibana-core) for que | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 2298 | 27 | 1018 | 29 | +| 2304 | 27 | 1022 | 29 | ## Client diff --git a/api_docs/custom_integrations.json b/api_docs/custom_integrations.json index 3a693af2b696ae..5436d086513006 100644 --- a/api_docs/custom_integrations.json +++ b/api_docs/custom_integrations.json @@ -387,7 +387,7 @@ "label": "categories", "description": [], "signature": [ - "(\"custom\" | \"sample_data\" | \"aws\" | \"azure\" | \"cloud\" | \"config_management\" | \"containers\" | \"crm\" | \"datastore\" | \"elastic_stack\" | \"google_cloud\" | \"kubernetes\" | \"languages\" | \"message_queue\" | \"monitoring\" | \"network\" | \"notification\" | \"os_system\" | \"productivity\" | \"security\" | \"support\" | \"ticketing\" | \"version_control\" | \"web\" | \"upload_file\" | \"language_client\")[]" + "(\"custom\" | \"sample_data\" | \"aws\" | \"azure\" | \"cloud\" | \"config_management\" | \"containers\" | \"crm\" | \"datastore\" | \"elastic_stack\" | \"google_cloud\" | \"kubernetes\" | \"languages\" | \"message_queue\" | \"monitoring\" | \"network\" | \"notification\" | \"os_system\" | \"productivity\" | \"security\" | \"support\" | \"ticketing\" | \"version_control\" | \"web\" | \"communication\" | \"customer_support\" | \"document_storage\" | \"enterprise_management\" | \"knowledge_platform\" | \"language_client\" | \"project_management\" | \"software_development\" | \"upload_file\" | \"website_search\")[]" ], "path": "src/plugins/custom_integrations/common/index.ts", "deprecated": false @@ -400,7 +400,7 @@ "label": "shipper", "description": [], "signature": [ - "\"beats\" | \"language_clients\" | \"other\" | \"sample_data\" | \"tests\" | \"tutorial\"" + "\"beats\" | \"enterprise_search\" | \"language_clients\" | \"other\" | \"sample_data\" | \"tests\" | \"tutorial\"" ], "path": "src/plugins/custom_integrations/common/index.ts", "deprecated": false @@ -434,7 +434,7 @@ "\nA category applicable to an Integration." ], "signature": [ - "\"custom\" | \"sample_data\" | \"aws\" | \"azure\" | \"cloud\" | \"config_management\" | \"containers\" | \"crm\" | \"datastore\" | \"elastic_stack\" | \"google_cloud\" | \"kubernetes\" | \"languages\" | \"message_queue\" | \"monitoring\" | \"network\" | \"notification\" | \"os_system\" | \"productivity\" | \"security\" | \"support\" | \"ticketing\" | \"version_control\" | \"web\" | \"upload_file\" | \"language_client\"" + "\"custom\" | \"sample_data\" | \"aws\" | \"azure\" | \"cloud\" | \"config_management\" | \"containers\" | \"crm\" | \"datastore\" | \"elastic_stack\" | \"google_cloud\" | \"kubernetes\" | \"languages\" | \"message_queue\" | \"monitoring\" | \"network\" | \"notification\" | \"os_system\" | \"productivity\" | \"security\" | \"support\" | \"ticketing\" | \"version_control\" | \"web\" | \"communication\" | \"customer_support\" | \"document_storage\" | \"enterprise_management\" | \"knowledge_platform\" | \"language_client\" | \"project_management\" | \"software_development\" | \"upload_file\" | \"website_search\"" ], "path": "src/plugins/custom_integrations/common/index.ts", "deprecated": false, @@ -646,7 +646,7 @@ "label": "categories", "description": [], "signature": [ - "(\"custom\" | \"sample_data\" | \"aws\" | \"azure\" | \"cloud\" | \"config_management\" | \"containers\" | \"crm\" | \"datastore\" | \"elastic_stack\" | \"google_cloud\" | \"kubernetes\" | \"languages\" | \"message_queue\" | \"monitoring\" | \"network\" | \"notification\" | \"os_system\" | \"productivity\" | \"security\" | \"support\" | \"ticketing\" | \"version_control\" | \"web\" | \"upload_file\" | \"language_client\")[]" + "(\"custom\" | \"sample_data\" | \"aws\" | \"azure\" | \"cloud\" | \"config_management\" | \"containers\" | \"crm\" | \"datastore\" | \"elastic_stack\" | \"google_cloud\" | \"kubernetes\" | \"languages\" | \"message_queue\" | \"monitoring\" | \"network\" | \"notification\" | \"os_system\" | \"productivity\" | \"security\" | \"support\" | \"ticketing\" | \"version_control\" | \"web\" | \"communication\" | \"customer_support\" | \"document_storage\" | \"enterprise_management\" | \"knowledge_platform\" | \"language_client\" | \"project_management\" | \"software_development\" | \"upload_file\" | \"website_search\")[]" ], "path": "src/plugins/custom_integrations/common/index.ts", "deprecated": false @@ -659,7 +659,7 @@ "label": "shipper", "description": [], "signature": [ - "\"beats\" | \"language_clients\" | \"other\" | \"sample_data\" | \"tests\" | \"tutorial\"" + "\"beats\" | \"enterprise_search\" | \"language_clients\" | \"other\" | \"sample_data\" | \"tests\" | \"tutorial\"" ], "path": "src/plugins/custom_integrations/common/index.ts", "deprecated": false @@ -748,7 +748,7 @@ "label": "id", "description": [], "signature": [ - "\"custom\" | \"sample_data\" | \"aws\" | \"azure\" | \"cloud\" | \"config_management\" | \"containers\" | \"crm\" | \"datastore\" | \"elastic_stack\" | \"google_cloud\" | \"kubernetes\" | \"languages\" | \"message_queue\" | \"monitoring\" | \"network\" | \"notification\" | \"os_system\" | \"productivity\" | \"security\" | \"support\" | \"ticketing\" | \"version_control\" | \"web\" | \"upload_file\" | \"language_client\"" + "\"custom\" | \"sample_data\" | \"aws\" | \"azure\" | \"cloud\" | \"config_management\" | \"containers\" | \"crm\" | \"datastore\" | \"elastic_stack\" | \"google_cloud\" | \"kubernetes\" | \"languages\" | \"message_queue\" | \"monitoring\" | \"network\" | \"notification\" | \"os_system\" | \"productivity\" | \"security\" | \"support\" | \"ticketing\" | \"version_control\" | \"web\" | \"communication\" | \"customer_support\" | \"document_storage\" | \"enterprise_management\" | \"knowledge_platform\" | \"language_client\" | \"project_management\" | \"software_development\" | \"upload_file\" | \"website_search\"" ], "path": "src/plugins/custom_integrations/common/index.ts", "deprecated": false @@ -769,7 +769,7 @@ "\nThe list of all available categories." ], "signature": [ - "(\"custom\" | \"sample_data\" | \"aws\" | \"azure\" | \"cloud\" | \"config_management\" | \"containers\" | \"crm\" | \"datastore\" | \"elastic_stack\" | \"google_cloud\" | \"kubernetes\" | \"languages\" | \"message_queue\" | \"monitoring\" | \"network\" | \"notification\" | \"os_system\" | \"productivity\" | \"security\" | \"support\" | \"ticketing\" | \"version_control\" | \"web\" | \"upload_file\" | \"language_client\")[]" + "(\"custom\" | \"sample_data\" | \"aws\" | \"azure\" | \"cloud\" | \"config_management\" | \"containers\" | \"crm\" | \"datastore\" | \"elastic_stack\" | \"google_cloud\" | \"kubernetes\" | \"languages\" | \"message_queue\" | \"monitoring\" | \"network\" | \"notification\" | \"os_system\" | \"productivity\" | \"security\" | \"support\" | \"ticketing\" | \"version_control\" | \"web\" | \"communication\" | \"customer_support\" | \"document_storage\" | \"enterprise_management\" | \"knowledge_platform\" | \"language_client\" | \"project_management\" | \"software_development\" | \"upload_file\" | \"website_search\")[]" ], "path": "src/plugins/custom_integrations/common/index.ts", "deprecated": false, @@ -785,7 +785,7 @@ "\nA category applicable to an Integration." ], "signature": [ - "\"custom\" | \"sample_data\" | \"aws\" | \"azure\" | \"cloud\" | \"config_management\" | \"containers\" | \"crm\" | \"datastore\" | \"elastic_stack\" | \"google_cloud\" | \"kubernetes\" | \"languages\" | \"message_queue\" | \"monitoring\" | \"network\" | \"notification\" | \"os_system\" | \"productivity\" | \"security\" | \"support\" | \"ticketing\" | \"version_control\" | \"web\" | \"upload_file\" | \"language_client\"" + "\"custom\" | \"sample_data\" | \"aws\" | \"azure\" | \"cloud\" | \"config_management\" | \"containers\" | \"crm\" | \"datastore\" | \"elastic_stack\" | \"google_cloud\" | \"kubernetes\" | \"languages\" | \"message_queue\" | \"monitoring\" | \"network\" | \"notification\" | \"os_system\" | \"productivity\" | \"security\" | \"support\" | \"ticketing\" | \"version_control\" | \"web\" | \"communication\" | \"customer_support\" | \"document_storage\" | \"enterprise_management\" | \"knowledge_platform\" | \"language_client\" | \"project_management\" | \"software_development\" | \"upload_file\" | \"website_search\"" ], "path": "src/plugins/custom_integrations/common/index.ts", "deprecated": false, @@ -851,7 +851,7 @@ "\nThe list of all known shippers." ], "signature": [ - "(\"beats\" | \"language_clients\" | \"other\" | \"sample_data\" | \"tests\" | \"tutorial\")[]" + "(\"beats\" | \"enterprise_search\" | \"language_clients\" | \"other\" | \"sample_data\" | \"tests\" | \"tutorial\")[]" ], "path": "src/plugins/custom_integrations/common/index.ts", "deprecated": false, @@ -867,7 +867,7 @@ "\nA shipper-- an internal or external system capable of storing data in ES/Kibana-- applicable to an Integration." ], "signature": [ - "\"beats\" | \"language_clients\" | \"other\" | \"sample_data\" | \"tests\" | \"tutorial\"" + "\"beats\" | \"enterprise_search\" | \"language_clients\" | \"other\" | \"sample_data\" | \"tests\" | \"tutorial\"" ], "path": "src/plugins/custom_integrations/common/index.ts", "deprecated": false, @@ -1129,16 +1129,56 @@ }, { "parentPluginId": "customIntegrations", - "id": "def-common.INTEGRATION_CATEGORY_DISPLAY.upload_file", + "id": "def-common.INTEGRATION_CATEGORY_DISPLAY.communication", "type": "string", "tags": [], - "label": "upload_file", + "label": "communication", "description": [ "// Kibana added" ], "path": "src/plugins/custom_integrations/common/index.ts", "deprecated": false }, + { + "parentPluginId": "customIntegrations", + "id": "def-common.INTEGRATION_CATEGORY_DISPLAY.customer_support", + "type": "string", + "tags": [], + "label": "customer_support", + "description": [], + "path": "src/plugins/custom_integrations/common/index.ts", + "deprecated": false + }, + { + "parentPluginId": "customIntegrations", + "id": "def-common.INTEGRATION_CATEGORY_DISPLAY.document_storage", + "type": "string", + "tags": [], + "label": "document_storage", + "description": [], + "path": "src/plugins/custom_integrations/common/index.ts", + "deprecated": false + }, + { + "parentPluginId": "customIntegrations", + "id": "def-common.INTEGRATION_CATEGORY_DISPLAY.enterprise_management", + "type": "string", + "tags": [], + "label": "enterprise_management", + "description": [], + "path": "src/plugins/custom_integrations/common/index.ts", + "deprecated": false + }, + { + "parentPluginId": "customIntegrations", + "id": "def-common.INTEGRATION_CATEGORY_DISPLAY.knowledge_platform", + "type": "string", + "tags": [], + "label": "knowledge_platform", + "description": [], + "path": "src/plugins/custom_integrations/common/index.ts", + "deprecated": false + }, { "parentPluginId": "customIntegrations", "id": "def-common.INTEGRATION_CATEGORY_DISPLAY.language_client", @@ -1148,6 +1188,46 @@ "description": [], "path": "src/plugins/custom_integrations/common/index.ts", "deprecated": false + }, + { + "parentPluginId": "customIntegrations", + "id": "def-common.INTEGRATION_CATEGORY_DISPLAY.project_management", + "type": "string", + "tags": [], + "label": "project_management", + "description": [], + "path": "src/plugins/custom_integrations/common/index.ts", + "deprecated": false + }, + { + "parentPluginId": "customIntegrations", + "id": "def-common.INTEGRATION_CATEGORY_DISPLAY.software_development", + "type": "string", + "tags": [], + "label": "software_development", + "description": [], + "path": "src/plugins/custom_integrations/common/index.ts", + "deprecated": false + }, + { + "parentPluginId": "customIntegrations", + "id": "def-common.INTEGRATION_CATEGORY_DISPLAY.upload_file", + "type": "string", + "tags": [], + "label": "upload_file", + "description": [], + "path": "src/plugins/custom_integrations/common/index.ts", + "deprecated": false + }, + { + "parentPluginId": "customIntegrations", + "id": "def-common.INTEGRATION_CATEGORY_DISPLAY.website_search", + "type": "string", + "tags": [], + "label": "website_search", + "description": [], + "path": "src/plugins/custom_integrations/common/index.ts", + "deprecated": false } ], "initialIsOpen": false @@ -1174,6 +1254,16 @@ "path": "src/plugins/custom_integrations/common/index.ts", "deprecated": false }, + { + "parentPluginId": "customIntegrations", + "id": "def-common.SHIPPER_DISPLAY.enterprise_search", + "type": "string", + "tags": [], + "label": "enterprise_search", + "description": [], + "path": "src/plugins/custom_integrations/common/index.ts", + "deprecated": false + }, { "parentPluginId": "customIntegrations", "id": "def-common.SHIPPER_DISPLAY.language_clients", diff --git a/api_docs/custom_integrations.mdx b/api_docs/custom_integrations.mdx index a5c470066ad71d..bf6e0a07226989 100644 --- a/api_docs/custom_integrations.mdx +++ b/api_docs/custom_integrations.mdx @@ -18,7 +18,7 @@ Contact [Fleet](https://github.com/orgs/elastic/teams/fleet) for questions regar | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 91 | 1 | 75 | 1 | +| 100 | 1 | 84 | 1 | ## Client diff --git a/api_docs/dashboard.json b/api_docs/dashboard.json index 48be2a07d8236d..9383105dd7f9d0 100644 --- a/api_docs/dashboard.json +++ b/api_docs/dashboard.json @@ -61,6 +61,26 @@ "path": "src/plugins/dashboard/public/application/embeddable/dashboard_container.tsx", "deprecated": false }, + { + "parentPluginId": "dashboard", + "id": "def-public.DashboardContainer.controlGroup", + "type": "Object", + "tags": [], + "label": "controlGroup", + "description": [], + "signature": [ + { + "pluginId": "presentationUtil", + "scope": "public", + "docId": "kibPresentationUtilPluginApi", + "section": "def-public.ControlGroupContainer", + "text": "ControlGroupContainer" + }, + " | undefined" + ], + "path": "src/plugins/dashboard/public/application/embeddable/dashboard_container.tsx", + "deprecated": false + }, { "parentPluginId": "dashboard", "id": "def-public.DashboardContainer.getPanelCount", @@ -159,6 +179,35 @@ "path": "src/plugins/dashboard/public/application/embeddable/dashboard_container.tsx", "deprecated": false, "isRequired": false + }, + { + "parentPluginId": "dashboard", + "id": "def-public.DashboardContainer.Unnamed.$4", + "type": "CompoundType", + "tags": [], + "label": "controlGroup", + "description": [], + "signature": [ + { + "pluginId": "presentationUtil", + "scope": "public", + "docId": "kibPresentationUtilPluginApi", + "section": "def-public.ControlGroupContainer", + "text": "ControlGroupContainer" + }, + " | ", + { + "pluginId": "embeddable", + "scope": "public", + "docId": "kibEmbeddablePluginApi", + "section": "def-public.ErrorEmbeddable", + "text": "ErrorEmbeddable" + }, + " | undefined" + ], + "path": "src/plugins/dashboard/public/application/embeddable/dashboard_container.tsx", + "deprecated": false, + "isRequired": false } ], "returnComment": [] @@ -472,7 +521,7 @@ "section": "def-public.IEmbeddable", "text": "IEmbeddable" }, - ">(type: string, explicitInput: Partial, embeddableId?: string | undefined) => Promise>(type: string, explicitInput: Partial, embeddableId?: string | undefined) => Promise" + " | E>" ], "path": "src/plugins/dashboard/public/application/embeddable/dashboard_container.tsx", "deprecated": false, @@ -560,6 +609,21 @@ ], "returnComment": [] }, + { + "parentPluginId": "dashboard", + "id": "def-public.DashboardContainer.destroy", + "type": "Function", + "tags": [], + "label": "destroy", + "description": [], + "signature": [ + "() => void" + ], + "path": "src/plugins/dashboard/public/application/embeddable/dashboard_container.tsx", + "deprecated": false, + "children": [], + "returnComment": [] + }, { "parentPluginId": "dashboard", "id": "def-public.DashboardContainer.getInheritedInput", @@ -1159,6 +1223,20 @@ "path": "src/plugins/dashboard/public/types.ts", "deprecated": false }, + { + "parentPluginId": "dashboard", + "id": "def-public.DashboardContainerInput.controlGroupInput", + "type": "Object", + "tags": [], + "label": "controlGroupInput", + "description": [], + "signature": [ + "DashboardControlGroupInput", + " | undefined" + ], + "path": "src/plugins/dashboard/public/types.ts", + "deprecated": false + }, { "parentPluginId": "dashboard", "id": "def-public.DashboardContainerInput.refreshConfig", @@ -1807,6 +1885,45 @@ } ], "returnComment": [] + }, + { + "parentPluginId": "dashboard", + "id": "def-public.DashboardSavedObject.outcome", + "type": "string", + "tags": [], + "label": "outcome", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "src/plugins/dashboard/public/saved_dashboards/saved_dashboard.ts", + "deprecated": false + }, + { + "parentPluginId": "dashboard", + "id": "def-public.DashboardSavedObject.aliasId", + "type": "string", + "tags": [], + "label": "aliasId", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "src/plugins/dashboard/public/saved_dashboards/saved_dashboard.ts", + "deprecated": false + }, + { + "parentPluginId": "dashboard", + "id": "def-public.DashboardSavedObject.controlGroupInput", + "type": "Object", + "tags": [], + "label": "controlGroupInput", + "description": [], + "signature": [ + "{ controlStyle?: \"twoLine\" | \"oneLine\" | undefined; panelsJSON?: string | undefined; } | undefined" + ], + "path": "src/plugins/dashboard/public/saved_dashboards/saved_dashboard.ts", + "deprecated": false } ], "initialIsOpen": false @@ -2820,6 +2937,20 @@ ], "path": "src/plugins/dashboard/common/types.ts", "deprecated": false + }, + { + "parentPluginId": "dashboard", + "id": "def-common.DashboardContainerStateWithType.controlGroupInput", + "type": "Object", + "tags": [], + "label": "controlGroupInput", + "description": [], + "signature": [ + "DashboardContainerControlGroupInput", + " | undefined" + ], + "path": "src/plugins/dashboard/common/types.ts", + "deprecated": false } ], "initialIsOpen": false diff --git a/api_docs/dashboard.mdx b/api_docs/dashboard.mdx index a1dd9651f17fb7..26b6125601aae4 100644 --- a/api_docs/dashboard.mdx +++ b/api_docs/dashboard.mdx @@ -18,7 +18,7 @@ Contact [Kibana Presentation](https://github.com/orgs/elastic/teams/kibana-prese | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 145 | 1 | 132 | 10 | +| 153 | 1 | 140 | 12 | ## Client diff --git a/api_docs/data.json b/api_docs/data.json index 532c629784c385..244d61d1f2ad2b 100644 --- a/api_docs/data.json +++ b/api_docs/data.json @@ -2922,19 +2922,19 @@ }, { "plugin": "discover", - "path": "src/plugins/discover/public/application/embeddable/saved_search_embeddable.tsx" + "path": "src/plugins/discover/public/application/components/data_visualizer_grid/data_visualizer_grid.tsx" }, { "plugin": "discover", - "path": "src/plugins/discover/public/application/embeddable/saved_search_embeddable.tsx" + "path": "src/plugins/discover/public/application/components/data_visualizer_grid/data_visualizer_grid.tsx" }, { "plugin": "discover", - "path": "src/plugins/discover/public/application/services/use_es_doc_search.ts" + "path": "src/plugins/discover/public/application/embeddable/saved_search_embeddable.tsx" }, { "plugin": "discover", - "path": "src/plugins/discover/public/application/services/use_es_doc_search.ts" + "path": "src/plugins/discover/public/application/embeddable/saved_search_embeddable.tsx" }, { "plugin": "discover", @@ -3286,11 +3286,11 @@ }, { "plugin": "dataVisualizer", - "path": "x-pack/plugins/data_visualizer/public/application/index_data_visualizer/index_data_visualizer.tsx" + "path": "x-pack/plugins/data_visualizer/public/application/index_data_visualizer/embeddables/grid_embeddable/grid_embeddable.tsx" }, { "plugin": "dataVisualizer", - "path": "x-pack/plugins/data_visualizer/public/application/index_data_visualizer/index_data_visualizer.tsx" + "path": "x-pack/plugins/data_visualizer/public/application/index_data_visualizer/embeddables/grid_embeddable/grid_embeddable.tsx" }, { "plugin": "apm", @@ -3300,14 +3300,6 @@ "plugin": "apm", "path": "x-pack/plugins/apm/public/components/app/RumDashboard/LocalUIFilters/SelectedFilters.tsx" }, - { - "plugin": "apm", - "path": "x-pack/plugins/apm/public/components/app/RumDashboard/LocalUIFilters/use_index_pattern.ts" - }, - { - "plugin": "apm", - "path": "x-pack/plugins/apm/public/components/app/RumDashboard/LocalUIFilters/use_index_pattern.ts" - }, { "plugin": "lens", "path": "x-pack/plugins/lens/server/routes/existing_fields.ts" @@ -3326,27 +3318,27 @@ }, { "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/scheduled_query_groups/use_scheduled_query_group_query_errors.ts" + "path": "x-pack/plugins/osquery/public/packs/use_pack_query_errors.ts" }, { "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/scheduled_query_groups/use_scheduled_query_group_query_errors.ts" + "path": "x-pack/plugins/osquery/public/packs/use_pack_query_errors.ts" }, { "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/scheduled_query_groups/use_scheduled_query_group_query_last_results.ts" + "path": "x-pack/plugins/osquery/public/packs/use_pack_query_last_results.ts" }, { "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/scheduled_query_groups/use_scheduled_query_group_query_last_results.ts" + "path": "x-pack/plugins/osquery/public/packs/use_pack_query_last_results.ts" }, { "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/scheduled_query_groups/scheduled_query_group_queries_status_table.tsx" + "path": "x-pack/plugins/osquery/public/packs/pack_queries_status_table.tsx" }, { "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/scheduled_query_groups/scheduled_query_group_queries_status_table.tsx" + "path": "x-pack/plugins/osquery/public/packs/pack_queries_status_table.tsx" }, { "plugin": "securitySolution", @@ -3568,14 +3560,6 @@ "plugin": "discover", "path": "src/plugins/discover/target/types/public/application/apps/main/components/doc_table/components/table_header/helpers.d.ts" }, - { - "plugin": "discover", - "path": "src/plugins/discover/target/types/public/application/components/discover_grid/discover_grid.d.ts" - }, - { - "plugin": "discover", - "path": "src/plugins/discover/target/types/public/application/components/discover_grid/discover_grid.d.ts" - }, { "plugin": "discover", "path": "src/plugins/discover/target/types/public/application/apps/main/components/doc_table/doc_table_wrapper.d.ts" @@ -3656,14 +3640,6 @@ "plugin": "discover", "path": "src/plugins/discover/target/types/public/application/apps/context/services/utils/sorting.d.ts" }, - { - "plugin": "discover", - "path": "src/plugins/discover/target/types/public/application/apps/main/utils/calc_field_counts.d.ts" - }, - { - "plugin": "discover", - "path": "src/plugins/discover/target/types/public/application/apps/main/utils/calc_field_counts.d.ts" - }, { "plugin": "discover", "path": "src/plugins/discover/target/types/public/application/apps/main/utils/get_switch_index_pattern_app_state.d.ts" @@ -3740,6 +3716,22 @@ "plugin": "discover", "path": "src/plugins/discover/target/types/public/application/apps/main/components/doc_table/components/table_header/table_header.d.ts" }, + { + "plugin": "discover", + "path": "src/plugins/discover/public/application/components/source_viewer/source_viewer.tsx" + }, + { + "plugin": "discover", + "path": "src/plugins/discover/public/application/components/source_viewer/source_viewer.tsx" + }, + { + "plugin": "apm", + "path": "x-pack/plugins/apm/public/components/app/RumDashboard/LocalUIFilters/selected_wildcards.tsx" + }, + { + "plugin": "apm", + "path": "x-pack/plugins/apm/public/components/app/RumDashboard/LocalUIFilters/selected_wildcards.tsx" + }, { "plugin": "dataViews", "path": "src/plugins/data_views/common/fields/data_view_field.test.ts" @@ -3944,6 +3936,14 @@ "plugin": "discover", "path": "src/plugins/discover/public/application/components/table/table.tsx" }, + { + "plugin": "discover", + "path": "src/plugins/discover/public/application/apps/doc/components/doc.tsx" + }, + { + "plugin": "discover", + "path": "src/plugins/discover/public/application/apps/doc/components/doc.tsx" + }, { "plugin": "discover", "path": "src/plugins/discover/public/application/apps/context/services/anchor.ts" @@ -4066,15 +4066,15 @@ }, { "plugin": "visualizations", - "path": "src/plugins/visualizations/public/embeddable/visualize_embeddable.ts" + "path": "src/plugins/visualizations/public/embeddable/visualize_embeddable.tsx" }, { "plugin": "visualizations", - "path": "src/plugins/visualizations/public/embeddable/visualize_embeddable.ts" + "path": "src/plugins/visualizations/public/embeddable/visualize_embeddable.tsx" }, { "plugin": "visualizations", - "path": "src/plugins/visualizations/public/embeddable/visualize_embeddable.ts" + "path": "src/plugins/visualizations/public/embeddable/visualize_embeddable.tsx" }, { "plugin": "dashboard", @@ -4188,6 +4188,22 @@ "plugin": "observability", "path": "x-pack/plugins/observability/public/components/shared/exploratory_view/components/filter_label.tsx" }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/public/index_pattern_util.ts" + }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/public/index_pattern_util.ts" + }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/public/index_pattern_util.ts" + }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/public/index_pattern_util.ts" + }, { "plugin": "maps", "path": "x-pack/plugins/maps/public/classes/tooltips/es_tooltip_property.ts" @@ -4252,22 +4268,6 @@ "plugin": "maps", "path": "x-pack/plugins/maps/public/classes/sources/es_source/es_source.ts" }, - { - "plugin": "maps", - "path": "x-pack/plugins/maps/public/index_pattern_util.ts" - }, - { - "plugin": "maps", - "path": "x-pack/plugins/maps/public/index_pattern_util.ts" - }, - { - "plugin": "maps", - "path": "x-pack/plugins/maps/public/index_pattern_util.ts" - }, - { - "plugin": "maps", - "path": "x-pack/plugins/maps/public/index_pattern_util.ts" - }, { "plugin": "maps", "path": "x-pack/plugins/maps/public/components/geo_index_pattern_select.tsx" @@ -4388,18 +4388,6 @@ "plugin": "dataVisualizer", "path": "x-pack/plugins/data_visualizer/public/application/index_data_visualizer/components/full_time_range_selector/full_time_range_selector.tsx" }, - { - "plugin": "apm", - "path": "x-pack/plugins/apm/public/components/shared/kuery_bar/index.tsx" - }, - { - "plugin": "apm", - "path": "x-pack/plugins/apm/public/components/shared/kuery_bar/index.tsx" - }, - { - "plugin": "apm", - "path": "x-pack/plugins/apm/public/components/shared/kuery_bar/index.tsx" - }, { "plugin": "graph", "path": "x-pack/plugins/graph/public/types/app_state.ts" @@ -5304,6 +5292,14 @@ "plugin": "discover", "path": "src/plugins/discover/public/application/apps/main/utils/get_sharing_data.test.ts" }, + { + "plugin": "discover", + "path": "src/plugins/discover/target/types/public/application/apps/doc/components/doc.d.ts" + }, + { + "plugin": "discover", + "path": "src/plugins/discover/target/types/public/application/apps/doc/components/doc.d.ts" + }, { "plugin": "inputControlVis", "path": "src/plugins/input_control_vis/target/types/public/components/editor/controls_tab.d.ts" @@ -5461,6 +5457,18 @@ "plugin": "discover", "path": "src/plugins/discover/public/application/apps/main/components/doc_table/doc_table_wrapper.tsx" }, + { + "plugin": "discover", + "path": "src/plugins/discover/public/application/components/data_visualizer_grid/data_visualizer_grid.tsx" + }, + { + "plugin": "discover", + "path": "src/plugins/discover/public/application/components/data_visualizer_grid/data_visualizer_grid.tsx" + }, + { + "plugin": "discover", + "path": "src/plugins/discover/public/application/components/data_visualizer_grid/data_visualizer_grid.tsx" + }, { "plugin": "discover", "path": "src/plugins/discover/public/application/embeddable/saved_search_embeddable.tsx" @@ -5545,6 +5553,14 @@ "plugin": "dataVisualizer", "path": "x-pack/plugins/data_visualizer/public/application/index_data_visualizer/components/index_data_visualizer_view/index_data_visualizer_view.tsx" }, + { + "plugin": "dataVisualizer", + "path": "x-pack/plugins/data_visualizer/public/application/index_data_visualizer/embeddables/grid_embeddable/grid_embeddable.tsx" + }, + { + "plugin": "dataVisualizer", + "path": "x-pack/plugins/data_visualizer/public/application/index_data_visualizer/embeddables/grid_embeddable/grid_embeddable.tsx" + }, { "plugin": "lens", "path": "x-pack/plugins/lens/server/routes/field_stats.ts" @@ -5967,27 +5983,55 @@ }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/classes/tooltips/es_tooltip_property.ts" + "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/classes/tooltips/es_tooltip_property.ts" + "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/classes/fields/es_doc_field.ts" + "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/classes/fields/es_doc_field.ts" + "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/classes/sources/es_source/es_source.ts" + "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/classes/sources/es_source/es_source.ts" + "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" }, { "plugin": "maps", @@ -6051,55 +6095,55 @@ }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + "path": "x-pack/plugins/maps/public/components/metrics_editor/metric_editor.tsx" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + "path": "x-pack/plugins/maps/public/components/metrics_editor/metric_editor.tsx" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + "path": "x-pack/plugins/maps/public/components/metrics_editor/metric_editor.tsx" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + "path": "x-pack/plugins/maps/public/classes/tooltips/es_tooltip_property.ts" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + "path": "x-pack/plugins/maps/public/classes/tooltips/es_tooltip_property.ts" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + "path": "x-pack/plugins/maps/public/classes/fields/es_doc_field.ts" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + "path": "x-pack/plugins/maps/public/classes/fields/es_doc_field.ts" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + "path": "x-pack/plugins/maps/public/components/metrics_editor/metrics_editor.tsx" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + "path": "x-pack/plugins/maps/public/components/metrics_editor/metrics_editor.tsx" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + "path": "x-pack/plugins/maps/public/classes/sources/es_geo_grid_source/update_source_editor.tsx" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + "path": "x-pack/plugins/maps/public/classes/sources/es_geo_grid_source/update_source_editor.tsx" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + "path": "x-pack/plugins/maps/public/classes/sources/es_source/es_source.ts" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + "path": "x-pack/plugins/maps/public/classes/sources/es_source/es_source.ts" }, { "plugin": "maps", @@ -6169,26 +6213,6 @@ "plugin": "maps", "path": "x-pack/plugins/maps/public/connected_components/edit_layer_panel/join_editor/resources/join_expression.tsx" }, - { - "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/metrics_editor/metric_editor.tsx" - }, - { - "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/metrics_editor/metric_editor.tsx" - }, - { - "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/metrics_editor/metric_editor.tsx" - }, - { - "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/metrics_editor/metrics_editor.tsx" - }, - { - "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/metrics_editor/metrics_editor.tsx" - }, { "plugin": "maps", "path": "x-pack/plugins/maps/public/connected_components/edit_layer_panel/join_editor/resources/metrics_expression.tsx" @@ -12861,14 +12885,6 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/types.ts" }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/action.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/action.ts" - }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/common/containers/source/index.tsx" @@ -12977,6 +12993,14 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.ts" }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/action.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/action.ts" + }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/common/components/search_bar/index.tsx" @@ -15556,15 +15580,15 @@ }, { "plugin": "visualizations", - "path": "src/plugins/visualizations/public/embeddable/visualize_embeddable.ts" + "path": "src/plugins/visualizations/public/embeddable/visualize_embeddable.tsx" }, { "plugin": "visualizations", - "path": "src/plugins/visualizations/public/embeddable/visualize_embeddable.ts" + "path": "src/plugins/visualizations/public/embeddable/visualize_embeddable.tsx" }, { "plugin": "visualizations", - "path": "src/plugins/visualizations/public/embeddable/visualize_embeddable.ts" + "path": "src/plugins/visualizations/public/embeddable/visualize_embeddable.tsx" }, { "plugin": "dashboard", @@ -15746,6 +15770,14 @@ "plugin": "observability", "path": "x-pack/plugins/observability/public/components/shared/filter_value_label/filter_value_label.tsx" }, + { + "plugin": "timelines", + "path": "x-pack/plugins/timelines/common/types/timeline/cells/index.ts" + }, + { + "plugin": "timelines", + "path": "x-pack/plugins/timelines/common/types/timeline/cells/index.ts" + }, { "plugin": "timelines", "path": "x-pack/plugins/timelines/common/types/timeline/store.ts" @@ -16106,14 +16138,6 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/common/store/inputs/actions.ts" }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/common/store/inputs/selectors.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/common/store/inputs/selectors.ts" - }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/timelines/store/timeline/actions.ts" @@ -16256,11 +16280,27 @@ }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/common/lib/cell_actions/default_cell_actions.tsx" + "path": "x-pack/plugins/security_solution/public/timelines/components/timeline/body/renderers/column_renderer.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/public/timelines/components/timeline/body/renderers/column_renderer.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/public/timelines/components/timeline/body/renderers/plain_column_renderer.tsx" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/public/timelines/components/timeline/body/renderers/plain_column_renderer.tsx" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/public/common/lib/cell_actions/expanded_cell_value_actions.tsx" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/common/lib/cell_actions/default_cell_actions.tsx" + "path": "x-pack/plugins/security_solution/public/common/lib/cell_actions/expanded_cell_value_actions.tsx" }, { "plugin": "securitySolution", @@ -16310,14 +16350,6 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/detections/components/alerts_kpis/alerts_histogram_panel/index.tsx" }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/overview/components/signals_by_category/index.tsx" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/overview/components/signals_by_category/index.tsx" - }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/common/components/top_n/top_n.tsx" @@ -16358,6 +16390,14 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/timelines/store/timeline/helpers.ts" }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/public/common/store/inputs/selectors.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/public/common/store/inputs/selectors.ts" + }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/common/components/search_bar/index.tsx" @@ -17038,14 +17078,6 @@ "plugin": "discover", "path": "src/plugins/discover/public/application/embeddable/saved_search_embeddable.tsx" }, - { - "plugin": "timelines", - "path": "x-pack/plugins/timelines/common/types/timeline/columns/index.tsx" - }, - { - "plugin": "timelines", - "path": "x-pack/plugins/timelines/common/types/timeline/columns/index.tsx" - }, { "plugin": "maps", "path": "x-pack/plugins/maps/common/descriptor_types/data_request_descriptor_types.ts" @@ -17280,11 +17312,11 @@ }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/detections/components/rules/query_preview/helpers.ts" + "path": "x-pack/plugins/security_solution/public/detections/components/rules/rule_preview/helpers.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/detections/components/rules/query_preview/helpers.ts" + "path": "x-pack/plugins/security_solution/public/detections/components/rules/rule_preview/helpers.ts" }, { "plugin": "securitySolution", @@ -18064,22 +18096,6 @@ "plugin": "discover", "path": "src/plugins/discover/public/application/apps/main/components/doc_table/actions/columns.ts" }, - { - "plugin": "discover", - "path": "src/plugins/discover/public/application/apps/doc/components/doc.tsx" - }, - { - "plugin": "discover", - "path": "src/plugins/discover/public/application/apps/doc/components/doc.tsx" - }, - { - "plugin": "visualizations", - "path": "src/plugins/visualizations/public/saved_visualizations/_saved_vis.ts" - }, - { - "plugin": "visualizations", - "path": "src/plugins/visualizations/public/saved_visualizations/_saved_vis.ts" - }, { "plugin": "dashboard", "path": "src/plugins/dashboard/public/application/lib/sync_dashboard_index_patterns.ts" @@ -18192,6 +18208,10 @@ "plugin": "lens", "path": "x-pack/plugins/lens/public/indexpattern_datasource/loader.test.ts" }, + { + "plugin": "lens", + "path": "x-pack/plugins/lens/public/indexpattern_datasource/loader.test.ts" + }, { "plugin": "lens", "path": "x-pack/plugins/lens/target/types/public/utils.d.ts" @@ -18343,14 +18363,6 @@ { "plugin": "indexPatternManagement", "path": "src/plugins/index_pattern_management/target/types/public/components/utils.d.ts" - }, - { - "plugin": "discover", - "path": "src/plugins/discover/target/types/public/application/apps/doc/components/doc.d.ts" - }, - { - "plugin": "discover", - "path": "src/plugins/discover/target/types/public/application/apps/doc/components/doc.d.ts" } ], "initialIsOpen": false @@ -18419,14 +18431,6 @@ { "plugin": "indexPatternEditor", "path": "src/plugins/index_pattern_editor/public/components/index_pattern_flyout_content_container.tsx" - }, - { - "plugin": "apm", - "path": "x-pack/plugins/apm/public/components/app/RumDashboard/LocalUIFilters/use_index_pattern.ts" - }, - { - "plugin": "apm", - "path": "x-pack/plugins/apm/public/components/app/RumDashboard/LocalUIFilters/use_index_pattern.ts" } ], "initialIsOpen": false @@ -19022,11 +19026,11 @@ }, " & { meta: ", "PhraseFilterMeta", - "; query: { match_phrase?: Record | undefined; match?: Record> | undefined; match?: Partial | undefined; }; }" + ">> | undefined; }; }" ], "path": "src/plugins/data/common/es_query/index.ts", "deprecated": true, @@ -19412,11 +19416,11 @@ }, { "plugin": "visualizations", - "path": "src/plugins/visualizations/public/embeddable/visualize_embeddable.ts" + "path": "src/plugins/visualizations/public/embeddable/visualize_embeddable.tsx" }, { "plugin": "visualizations", - "path": "src/plugins/visualizations/public/embeddable/visualize_embeddable.ts" + "path": "src/plugins/visualizations/public/embeddable/visualize_embeddable.tsx" }, { "plugin": "dashboard", @@ -19684,11 +19688,11 @@ }, { "plugin": "lens", - "path": "x-pack/plugins/lens/public/mocks.tsx" + "path": "x-pack/plugins/lens/public/mocks/data_plugin_mock.ts" }, { "plugin": "lens", - "path": "x-pack/plugins/lens/public/mocks.tsx" + "path": "x-pack/plugins/lens/public/mocks/data_plugin_mock.ts" }, { "plugin": "securitySolution", @@ -19781,14 +19785,6 @@ { "plugin": "visualize", "path": "src/plugins/visualize/public/application/utils/get_visualize_list_item_link.test.ts" - }, - { - "plugin": "presentationUtil", - "path": "src/plugins/presentation_util/public/components/controls/control_types/options_list/options_list_embeddable.tsx" - }, - { - "plugin": "presentationUtil", - "path": "src/plugins/presentation_util/public/components/controls/control_types/options_list/options_list_embeddable.tsx" } ], "children": [ @@ -20813,7 +20809,7 @@ "section": "def-common.Filter", "text": "Filter" }, - ") => { meta: { negate: boolean; alias?: string | null | undefined; disabled?: boolean | undefined; controlledBy?: string | undefined; index?: string | undefined; isMultiIndex?: boolean | undefined; type?: string | undefined; key?: string | undefined; params?: any; value?: string | undefined; }; $state?: { store: ", + ") => { meta: { negate: boolean; alias?: string | null | undefined; disabled?: boolean | undefined; controlledBy?: string | undefined; group?: string | undefined; index?: string | undefined; isMultiIndex?: boolean | undefined; type?: string | undefined; key?: string | undefined; params?: any; value?: string | undefined; }; $state?: { store: ", { "pluginId": "@kbn/es-query", "scope": "common", @@ -20957,11 +20953,11 @@ }, " & { meta: ", "PhraseFilterMeta", - "; query: { match_phrase?: Record | undefined; match?: Record> | undefined; match?: Partial | undefined; }; }" + ">> | undefined; }; }" ], "path": "node_modules/@kbn/es-query/target_types/filters/build_filters/phrase_filter.d.ts", "deprecated": false @@ -22337,26 +22333,6 @@ "plugin": "timelines", "path": "x-pack/plugins/timelines/public/components/t_grid/standalone/index.tsx" }, - { - "plugin": "infra", - "path": "x-pack/plugins/infra/public/containers/logs/log_stream/index.ts" - }, - { - "plugin": "infra", - "path": "x-pack/plugins/infra/public/containers/logs/log_stream/index.ts" - }, - { - "plugin": "infra", - "path": "x-pack/plugins/infra/public/containers/logs/log_filter/log_filter_state.ts" - }, - { - "plugin": "infra", - "path": "x-pack/plugins/infra/public/containers/logs/log_filter/log_filter_state.ts" - }, - { - "plugin": "infra", - "path": "x-pack/plugins/infra/public/containers/logs/log_filter/log_filter_state.ts" - }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/timelines/components/side_panel/network_details/expandable_network.tsx" @@ -23454,75 +23430,6 @@ "deprecated": false } ] - }, - { - "parentPluginId": "data", - "id": "def-public.indexPatterns.flattenHitWrapper", - "type": "Function", - "tags": [], - "label": "flattenHitWrapper", - "description": [], - "signature": [ - "(dataView: ", - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataView", - "text": "DataView" - }, - ", metaFields?: {}, cache?: WeakMap) => (hit: Record, deep?: boolean) => Record" - ], - "path": "src/plugins/data/public/index.ts", - "deprecated": false, - "returnComment": [], - "children": [ - { - "parentPluginId": "data", - "id": "def-public.indexPatterns.flattenHitWrapper.$1", - "type": "Object", - "tags": [], - "label": "dataView", - "description": [], - "signature": [ - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataView", - "text": "DataView" - } - ], - "path": "src/plugins/data_views/common/data_views/flatten_hit.ts", - "deprecated": false - }, - { - "parentPluginId": "data", - "id": "def-public.indexPatterns.flattenHitWrapper.$2", - "type": "Object", - "tags": [], - "label": "metaFields", - "description": [], - "signature": [ - "{}" - ], - "path": "src/plugins/data_views/common/data_views/flatten_hit.ts", - "deprecated": false - }, - { - "parentPluginId": "data", - "id": "def-public.indexPatterns.flattenHitWrapper.$3", - "type": "Object", - "tags": [], - "label": "cache", - "description": [], - "signature": [ - "WeakMap" - ], - "path": "src/plugins/data_views/common/data_views/flatten_hit.ts", - "deprecated": false - } - ] } ], "initialIsOpen": false @@ -24394,7 +24301,7 @@ "label": "UI_SETTINGS", "description": [], "signature": [ - "{ readonly META_FIELDS: \"metaFields\"; readonly DOC_HIGHLIGHT: \"doc_table:highlight\"; readonly QUERY_STRING_OPTIONS: \"query:queryString:options\"; readonly QUERY_ALLOW_LEADING_WILDCARDS: \"query:allowLeadingWildcards\"; readonly SEARCH_QUERY_LANGUAGE: \"search:queryLanguage\"; readonly SORT_OPTIONS: \"sort:options\"; readonly COURIER_IGNORE_FILTER_IF_FIELD_NOT_IN_INDEX: \"courier:ignoreFilterIfFieldNotInIndex\"; readonly COURIER_SET_REQUEST_PREFERENCE: \"courier:setRequestPreference\"; readonly COURIER_CUSTOM_REQUEST_PREFERENCE: \"courier:customRequestPreference\"; readonly COURIER_MAX_CONCURRENT_SHARD_REQUESTS: \"courier:maxConcurrentShardRequests\"; readonly SEARCH_INCLUDE_FROZEN: \"search:includeFrozen\"; readonly SEARCH_TIMEOUT: \"search:timeout\"; readonly HISTOGRAM_BAR_TARGET: \"histogram:barTarget\"; readonly HISTOGRAM_MAX_BARS: \"histogram:maxBars\"; readonly HISTORY_LIMIT: \"history:limit\"; readonly TIMEPICKER_REFRESH_INTERVAL_DEFAULTS: \"timepicker:refreshIntervalDefaults\"; readonly TIMEPICKER_QUICK_RANGES: \"timepicker:quickRanges\"; readonly TIMEPICKER_TIME_DEFAULTS: \"timepicker:timeDefaults\"; readonly FILTERS_PINNED_BY_DEFAULT: \"filters:pinnedByDefault\"; readonly FILTERS_EDITOR_SUGGEST_VALUES: \"filterEditor:suggestValues\"; readonly AUTOCOMPLETE_USE_TIMERANGE: \"autocomplete:useTimeRange\"; readonly AUTOCOMPLETE_VALUE_SUGGESTION_METHOD: \"autocomplete:valueSuggestionMethod\"; }" + "{ readonly META_FIELDS: \"metaFields\"; readonly DOC_HIGHLIGHT: \"doc_table:highlight\"; readonly QUERY_STRING_OPTIONS: \"query:queryString:options\"; readonly QUERY_ALLOW_LEADING_WILDCARDS: \"query:allowLeadingWildcards\"; readonly SEARCH_QUERY_LANGUAGE: \"search:queryLanguage\"; readonly SORT_OPTIONS: \"sort:options\"; readonly COURIER_IGNORE_FILTER_IF_FIELD_NOT_IN_INDEX: \"courier:ignoreFilterIfFieldNotInIndex\"; readonly COURIER_SET_REQUEST_PREFERENCE: \"courier:setRequestPreference\"; readonly COURIER_CUSTOM_REQUEST_PREFERENCE: \"courier:customRequestPreference\"; readonly COURIER_MAX_CONCURRENT_SHARD_REQUESTS: \"courier:maxConcurrentShardRequests\"; readonly SEARCH_INCLUDE_FROZEN: \"search:includeFrozen\"; readonly SEARCH_TIMEOUT: \"search:timeout\"; readonly HISTOGRAM_BAR_TARGET: \"histogram:barTarget\"; readonly HISTOGRAM_MAX_BARS: \"histogram:maxBars\"; readonly HISTORY_LIMIT: \"history:limit\"; readonly TIMEPICKER_REFRESH_INTERVAL_DEFAULTS: \"timepicker:refreshIntervalDefaults\"; readonly TIMEPICKER_QUICK_RANGES: \"timepicker:quickRanges\"; readonly TIMEPICKER_TIME_DEFAULTS: \"timepicker:timeDefaults\"; readonly FILTERS_PINNED_BY_DEFAULT: \"filters:pinnedByDefault\"; readonly FILTERS_EDITOR_SUGGEST_VALUES: \"filterEditor:suggestValues\"; readonly AUTOCOMPLETE_USE_TIMERANGE: \"autocomplete:useTimeRange\"; readonly AUTOCOMPLETE_VALUE_SUGGESTION_METHOD: \"autocomplete:valueSuggestionMethod\"; readonly DATE_FORMAT: \"dateFormat\"; readonly DATEFORMAT_TZ: \"dateFormat:tz\"; }" ], "path": "src/plugins/data/common/constants.ts", "deprecated": false, @@ -25002,10 +24909,6 @@ "plugin": "discover", "path": "src/plugins/discover/public/build_services.ts" }, - { - "plugin": "discover", - "path": "src/plugins/discover/public/application/components/source_viewer/source_viewer.tsx" - }, { "plugin": "discover", "path": "src/plugins/discover/public/application/apps/main/discover_main_route.tsx" @@ -25022,10 +24925,6 @@ "plugin": "discover", "path": "src/plugins/discover/public/plugin.tsx" }, - { - "plugin": "visualizations", - "path": "src/plugins/visualizations/public/plugin.ts" - }, { "plugin": "dashboard", "path": "src/plugins/dashboard/public/application/dashboard_router.tsx" @@ -25162,10 +25061,6 @@ "plugin": "fleet", "path": "x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_details_page/components/agent_logs/query_bar.tsx" }, - { - "plugin": "apm", - "path": "x-pack/plugins/apm/public/components/app/RumDashboard/LocalUIFilters/use_index_pattern.ts" - }, { "plugin": "graph", "path": "x-pack/plugins/graph/public/plugin.ts" @@ -25180,11 +25075,11 @@ }, { "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/scheduled_query_groups/scheduled_query_group_queries_status_table.tsx" + "path": "x-pack/plugins/osquery/public/packs/pack_queries_status_table.tsx" }, { "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/scheduled_query_groups/scheduled_query_group_queries_status_table.tsx" + "path": "x-pack/plugins/osquery/public/packs/pack_queries_status_table.tsx" }, { "plugin": "securitySolution", @@ -25302,6 +25197,14 @@ "plugin": "indexPatternEditor", "path": "src/plugins/index_pattern_editor/public/plugin.tsx" }, + { + "plugin": "indexPatternManagement", + "path": "src/plugins/index_pattern_management/public/components/edit_index_pattern/scripted_fields_table/scripted_fields_table.tsx" + }, + { + "plugin": "indexPatternManagement", + "path": "src/plugins/index_pattern_management/public/components/edit_index_pattern/tabs/tabs.tsx" + }, { "plugin": "indexPatternManagement", "path": "src/plugins/index_pattern_management/public/components/edit_index_pattern/edit_index_pattern.tsx" @@ -25694,15 +25597,47 @@ }, "; queryString: Pick<", "QueryStringManager", - ", \"getDefaultQuery\" | \"formatQuery\" | \"getUpdates$\" | \"getQuery\" | \"setQuery\" | \"clearQuery\">; savedQueries: ", + ", \"getDefaultQuery\" | \"formatQuery\" | \"getUpdates$\" | \"getQuery\" | \"setQuery\" | \"clearQuery\">; savedQueries: { createQuery: (attributes: ", + { + "pluginId": "data", + "scope": "common", + "docId": "kibDataQueryPluginApi", + "section": "def-common.SavedQueryAttributes", + "text": "SavedQueryAttributes" + }, + ", { overwrite }?: { overwrite?: boolean | undefined; }) => Promise; updateQuery: (id: string, attributes: ", + { + "pluginId": "data", + "scope": "common", + "docId": "kibDataQueryPluginApi", + "section": "def-common.SavedQueryAttributes", + "text": "SavedQueryAttributes" + }, + ") => Promise; getAllSavedQueries: () => Promise<", + { + "pluginId": "data", + "scope": "public", + "docId": "kibDataQueryPluginApi", + "section": "def-public.SavedQuery", + "text": "SavedQuery" + }, + "[]>; findSavedQueries: (search?: string, perPage?: number, page?: number) => Promise<{ total: number; queries: ", { "pluginId": "data", "scope": "public", "docId": "kibDataQueryPluginApi", - "section": "def-public.SavedQueryService", - "text": "SavedQueryService" + "section": "def-public.SavedQuery", + "text": "SavedQuery" }, - "; state$: ", + "[]; }>; getSavedQuery: (id: string) => Promise<", + { + "pluginId": "data", + "scope": "public", + "docId": "kibDataQueryPluginApi", + "section": "def-public.SavedQuery", + "text": "SavedQuery" + }, + ">; deleteSavedQuery: (id: string) => Promise; getSavedQueryCount: () => Promise; }; state$: ", "Observable", "<{ changes: ", { @@ -26263,97 +26198,32 @@ }, { "parentPluginId": "data", - "id": "def-server.DataView.formatHit", + "id": "def-server.DataView.flattenHit", "type": "Function", - "tags": [], - "label": "formatHit", + "tags": [ + "deprecated" + ], + "label": "flattenHit", "description": [], "signature": [ - "{ (hit: Record, type?: string | undefined): any; formatField: FormatFieldFn; }" + "(hit: Record, deep?: boolean | undefined) => Record" ], "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "returnComment": [], - "children": [ + "deprecated": true, + "references": [ { - "parentPluginId": "data", - "id": "def-server.DataView.formatHit.$1", - "type": "Object", - "tags": [], - "label": "hit", - "description": [], - "signature": [ - "{ [x: string]: any; }" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false + "plugin": "dataViews", + "path": "src/plugins/data_views/common/data_views/data_view.ts" }, { - "parentPluginId": "data", - "id": "def-server.DataView.formatHit.$2", - "type": "string", - "tags": [], - "label": "type", - "description": [], - "signature": [ - "string | undefined" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false - } - ] - }, - { - "parentPluginId": "data", - "id": "def-server.DataView.formatField", - "type": "Function", - "tags": [], - "label": "formatField", - "description": [], - "signature": [ - "(hit: Record, fieldName: string) => any" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "returnComment": [], - "children": [ - { - "parentPluginId": "data", - "id": "def-server.DataView.formatField.$1", - "type": "Object", - "tags": [], - "label": "hit", - "description": [], - "signature": [ - "{ [x: string]: any; }" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false + "plugin": "maps", + "path": "x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.tsx" }, { - "parentPluginId": "data", - "id": "def-server.DataView.formatField.$2", - "type": "string", - "tags": [], - "label": "fieldName", - "description": [], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false + "plugin": "maps", + "path": "x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.tsx" } - ] - }, - { - "parentPluginId": "data", - "id": "def-server.DataView.flattenHit", - "type": "Function", - "tags": [], - "label": "flattenHit", - "description": [], - "signature": [ - "(hit: Record, deep?: boolean | undefined) => Record" ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, "returnComment": [], "children": [ { @@ -26619,6 +26489,10 @@ "plugin": "dataViews", "path": "src/plugins/data_views/common/data_views/data_view.test.ts" }, + { + "plugin": "dataViews", + "path": "src/plugins/data_views/common/data_views/data_view.test.ts" + }, { "plugin": "dataViews", "path": "src/plugins/data_views/common/data_views/data_view.test.ts" @@ -27800,19 +27674,19 @@ }, { "plugin": "discover", - "path": "src/plugins/discover/public/application/embeddable/saved_search_embeddable.tsx" + "path": "src/plugins/discover/public/application/components/data_visualizer_grid/data_visualizer_grid.tsx" }, { "plugin": "discover", - "path": "src/plugins/discover/public/application/embeddable/saved_search_embeddable.tsx" + "path": "src/plugins/discover/public/application/components/data_visualizer_grid/data_visualizer_grid.tsx" }, { "plugin": "discover", - "path": "src/plugins/discover/public/application/services/use_es_doc_search.ts" + "path": "src/plugins/discover/public/application/embeddable/saved_search_embeddable.tsx" }, { "plugin": "discover", - "path": "src/plugins/discover/public/application/services/use_es_doc_search.ts" + "path": "src/plugins/discover/public/application/embeddable/saved_search_embeddable.tsx" }, { "plugin": "discover", @@ -28164,11 +28038,11 @@ }, { "plugin": "dataVisualizer", - "path": "x-pack/plugins/data_visualizer/public/application/index_data_visualizer/index_data_visualizer.tsx" + "path": "x-pack/plugins/data_visualizer/public/application/index_data_visualizer/embeddables/grid_embeddable/grid_embeddable.tsx" }, { "plugin": "dataVisualizer", - "path": "x-pack/plugins/data_visualizer/public/application/index_data_visualizer/index_data_visualizer.tsx" + "path": "x-pack/plugins/data_visualizer/public/application/index_data_visualizer/embeddables/grid_embeddable/grid_embeddable.tsx" }, { "plugin": "apm", @@ -28178,14 +28052,6 @@ "plugin": "apm", "path": "x-pack/plugins/apm/public/components/app/RumDashboard/LocalUIFilters/SelectedFilters.tsx" }, - { - "plugin": "apm", - "path": "x-pack/plugins/apm/public/components/app/RumDashboard/LocalUIFilters/use_index_pattern.ts" - }, - { - "plugin": "apm", - "path": "x-pack/plugins/apm/public/components/app/RumDashboard/LocalUIFilters/use_index_pattern.ts" - }, { "plugin": "lens", "path": "x-pack/plugins/lens/server/routes/existing_fields.ts" @@ -28204,27 +28070,27 @@ }, { "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/scheduled_query_groups/use_scheduled_query_group_query_errors.ts" + "path": "x-pack/plugins/osquery/public/packs/use_pack_query_errors.ts" }, { "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/scheduled_query_groups/use_scheduled_query_group_query_errors.ts" + "path": "x-pack/plugins/osquery/public/packs/use_pack_query_errors.ts" }, { "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/scheduled_query_groups/use_scheduled_query_group_query_last_results.ts" + "path": "x-pack/plugins/osquery/public/packs/use_pack_query_last_results.ts" }, { "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/scheduled_query_groups/use_scheduled_query_group_query_last_results.ts" + "path": "x-pack/plugins/osquery/public/packs/use_pack_query_last_results.ts" }, { "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/scheduled_query_groups/scheduled_query_group_queries_status_table.tsx" + "path": "x-pack/plugins/osquery/public/packs/pack_queries_status_table.tsx" }, { "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/scheduled_query_groups/scheduled_query_group_queries_status_table.tsx" + "path": "x-pack/plugins/osquery/public/packs/pack_queries_status_table.tsx" }, { "plugin": "securitySolution", @@ -28446,14 +28312,6 @@ "plugin": "discover", "path": "src/plugins/discover/target/types/public/application/apps/main/components/doc_table/components/table_header/helpers.d.ts" }, - { - "plugin": "discover", - "path": "src/plugins/discover/target/types/public/application/components/discover_grid/discover_grid.d.ts" - }, - { - "plugin": "discover", - "path": "src/plugins/discover/target/types/public/application/components/discover_grid/discover_grid.d.ts" - }, { "plugin": "discover", "path": "src/plugins/discover/target/types/public/application/apps/main/components/doc_table/doc_table_wrapper.d.ts" @@ -28534,14 +28392,6 @@ "plugin": "discover", "path": "src/plugins/discover/target/types/public/application/apps/context/services/utils/sorting.d.ts" }, - { - "plugin": "discover", - "path": "src/plugins/discover/target/types/public/application/apps/main/utils/calc_field_counts.d.ts" - }, - { - "plugin": "discover", - "path": "src/plugins/discover/target/types/public/application/apps/main/utils/calc_field_counts.d.ts" - }, { "plugin": "discover", "path": "src/plugins/discover/target/types/public/application/apps/main/utils/get_switch_index_pattern_app_state.d.ts" @@ -28618,6 +28468,22 @@ "plugin": "discover", "path": "src/plugins/discover/target/types/public/application/apps/main/components/doc_table/components/table_header/table_header.d.ts" }, + { + "plugin": "discover", + "path": "src/plugins/discover/public/application/components/source_viewer/source_viewer.tsx" + }, + { + "plugin": "discover", + "path": "src/plugins/discover/public/application/components/source_viewer/source_viewer.tsx" + }, + { + "plugin": "apm", + "path": "x-pack/plugins/apm/public/components/app/RumDashboard/LocalUIFilters/selected_wildcards.tsx" + }, + { + "plugin": "apm", + "path": "x-pack/plugins/apm/public/components/app/RumDashboard/LocalUIFilters/selected_wildcards.tsx" + }, { "plugin": "dataViews", "path": "src/plugins/data_views/common/fields/data_view_field.test.ts" @@ -28822,6 +28688,14 @@ "plugin": "discover", "path": "src/plugins/discover/public/application/components/table/table.tsx" }, + { + "plugin": "discover", + "path": "src/plugins/discover/public/application/apps/doc/components/doc.tsx" + }, + { + "plugin": "discover", + "path": "src/plugins/discover/public/application/apps/doc/components/doc.tsx" + }, { "plugin": "discover", "path": "src/plugins/discover/public/application/apps/context/services/anchor.ts" @@ -28944,15 +28818,15 @@ }, { "plugin": "visualizations", - "path": "src/plugins/visualizations/public/embeddable/visualize_embeddable.ts" + "path": "src/plugins/visualizations/public/embeddable/visualize_embeddable.tsx" }, { "plugin": "visualizations", - "path": "src/plugins/visualizations/public/embeddable/visualize_embeddable.ts" + "path": "src/plugins/visualizations/public/embeddable/visualize_embeddable.tsx" }, { "plugin": "visualizations", - "path": "src/plugins/visualizations/public/embeddable/visualize_embeddable.ts" + "path": "src/plugins/visualizations/public/embeddable/visualize_embeddable.tsx" }, { "plugin": "dashboard", @@ -29066,6 +28940,22 @@ "plugin": "observability", "path": "x-pack/plugins/observability/public/components/shared/exploratory_view/components/filter_label.tsx" }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/public/index_pattern_util.ts" + }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/public/index_pattern_util.ts" + }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/public/index_pattern_util.ts" + }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/public/index_pattern_util.ts" + }, { "plugin": "maps", "path": "x-pack/plugins/maps/public/classes/tooltips/es_tooltip_property.ts" @@ -29130,22 +29020,6 @@ "plugin": "maps", "path": "x-pack/plugins/maps/public/classes/sources/es_source/es_source.ts" }, - { - "plugin": "maps", - "path": "x-pack/plugins/maps/public/index_pattern_util.ts" - }, - { - "plugin": "maps", - "path": "x-pack/plugins/maps/public/index_pattern_util.ts" - }, - { - "plugin": "maps", - "path": "x-pack/plugins/maps/public/index_pattern_util.ts" - }, - { - "plugin": "maps", - "path": "x-pack/plugins/maps/public/index_pattern_util.ts" - }, { "plugin": "maps", "path": "x-pack/plugins/maps/public/components/geo_index_pattern_select.tsx" @@ -29266,18 +29140,6 @@ "plugin": "dataVisualizer", "path": "x-pack/plugins/data_visualizer/public/application/index_data_visualizer/components/full_time_range_selector/full_time_range_selector.tsx" }, - { - "plugin": "apm", - "path": "x-pack/plugins/apm/public/components/shared/kuery_bar/index.tsx" - }, - { - "plugin": "apm", - "path": "x-pack/plugins/apm/public/components/shared/kuery_bar/index.tsx" - }, - { - "plugin": "apm", - "path": "x-pack/plugins/apm/public/components/shared/kuery_bar/index.tsx" - }, { "plugin": "graph", "path": "x-pack/plugins/graph/public/types/app_state.ts" @@ -30182,6 +30044,14 @@ "plugin": "discover", "path": "src/plugins/discover/public/application/apps/main/utils/get_sharing_data.test.ts" }, + { + "plugin": "discover", + "path": "src/plugins/discover/target/types/public/application/apps/doc/components/doc.d.ts" + }, + { + "plugin": "discover", + "path": "src/plugins/discover/target/types/public/application/apps/doc/components/doc.d.ts" + }, { "plugin": "inputControlVis", "path": "src/plugins/input_control_vis/target/types/public/components/editor/controls_tab.d.ts" @@ -30339,6 +30209,18 @@ "plugin": "discover", "path": "src/plugins/discover/public/application/apps/main/components/doc_table/doc_table_wrapper.tsx" }, + { + "plugin": "discover", + "path": "src/plugins/discover/public/application/components/data_visualizer_grid/data_visualizer_grid.tsx" + }, + { + "plugin": "discover", + "path": "src/plugins/discover/public/application/components/data_visualizer_grid/data_visualizer_grid.tsx" + }, + { + "plugin": "discover", + "path": "src/plugins/discover/public/application/components/data_visualizer_grid/data_visualizer_grid.tsx" + }, { "plugin": "discover", "path": "src/plugins/discover/public/application/embeddable/saved_search_embeddable.tsx" @@ -30423,6 +30305,14 @@ "plugin": "dataVisualizer", "path": "x-pack/plugins/data_visualizer/public/application/index_data_visualizer/components/index_data_visualizer_view/index_data_visualizer_view.tsx" }, + { + "plugin": "dataVisualizer", + "path": "x-pack/plugins/data_visualizer/public/application/index_data_visualizer/embeddables/grid_embeddable/grid_embeddable.tsx" + }, + { + "plugin": "dataVisualizer", + "path": "x-pack/plugins/data_visualizer/public/application/index_data_visualizer/embeddables/grid_embeddable/grid_embeddable.tsx" + }, { "plugin": "lens", "path": "x-pack/plugins/lens/server/routes/field_stats.ts" @@ -30845,27 +30735,55 @@ }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/classes/tooltips/es_tooltip_property.ts" + "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/classes/tooltips/es_tooltip_property.ts" + "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/classes/fields/es_doc_field.ts" + "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/classes/fields/es_doc_field.ts" + "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/classes/sources/es_source/es_source.ts" + "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/classes/sources/es_source/es_source.ts" + "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" }, { "plugin": "maps", @@ -30929,55 +30847,55 @@ }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + "path": "x-pack/plugins/maps/public/components/metrics_editor/metric_editor.tsx" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + "path": "x-pack/plugins/maps/public/components/metrics_editor/metric_editor.tsx" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + "path": "x-pack/plugins/maps/public/components/metrics_editor/metric_editor.tsx" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + "path": "x-pack/plugins/maps/public/classes/tooltips/es_tooltip_property.ts" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + "path": "x-pack/plugins/maps/public/classes/tooltips/es_tooltip_property.ts" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + "path": "x-pack/plugins/maps/public/classes/fields/es_doc_field.ts" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + "path": "x-pack/plugins/maps/public/classes/fields/es_doc_field.ts" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + "path": "x-pack/plugins/maps/public/components/metrics_editor/metrics_editor.tsx" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + "path": "x-pack/plugins/maps/public/components/metrics_editor/metrics_editor.tsx" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + "path": "x-pack/plugins/maps/public/classes/sources/es_geo_grid_source/update_source_editor.tsx" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + "path": "x-pack/plugins/maps/public/classes/sources/es_geo_grid_source/update_source_editor.tsx" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + "path": "x-pack/plugins/maps/public/classes/sources/es_source/es_source.ts" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + "path": "x-pack/plugins/maps/public/classes/sources/es_source/es_source.ts" }, { "plugin": "maps", @@ -31047,26 +30965,6 @@ "plugin": "maps", "path": "x-pack/plugins/maps/public/connected_components/edit_layer_panel/join_editor/resources/join_expression.tsx" }, - { - "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/metrics_editor/metric_editor.tsx" - }, - { - "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/metrics_editor/metric_editor.tsx" - }, - { - "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/metrics_editor/metric_editor.tsx" - }, - { - "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/metrics_editor/metrics_editor.tsx" - }, - { - "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/metrics_editor/metrics_editor.tsx" - }, { "plugin": "maps", "path": "x-pack/plugins/maps/public/connected_components/edit_layer_panel/join_editor/resources/metrics_expression.tsx" @@ -34094,15 +33992,15 @@ }, { "plugin": "visualizations", - "path": "src/plugins/visualizations/public/embeddable/visualize_embeddable.ts" + "path": "src/plugins/visualizations/public/embeddable/visualize_embeddable.tsx" }, { "plugin": "visualizations", - "path": "src/plugins/visualizations/public/embeddable/visualize_embeddable.ts" + "path": "src/plugins/visualizations/public/embeddable/visualize_embeddable.tsx" }, { "plugin": "visualizations", - "path": "src/plugins/visualizations/public/embeddable/visualize_embeddable.ts" + "path": "src/plugins/visualizations/public/embeddable/visualize_embeddable.tsx" }, { "plugin": "dashboard", @@ -34284,6 +34182,14 @@ "plugin": "observability", "path": "x-pack/plugins/observability/public/components/shared/filter_value_label/filter_value_label.tsx" }, + { + "plugin": "timelines", + "path": "x-pack/plugins/timelines/common/types/timeline/cells/index.ts" + }, + { + "plugin": "timelines", + "path": "x-pack/plugins/timelines/common/types/timeline/cells/index.ts" + }, { "plugin": "timelines", "path": "x-pack/plugins/timelines/common/types/timeline/store.ts" @@ -34644,14 +34550,6 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/common/store/inputs/actions.ts" }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/common/store/inputs/selectors.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/common/store/inputs/selectors.ts" - }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/timelines/store/timeline/actions.ts" @@ -34794,11 +34692,27 @@ }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/common/lib/cell_actions/default_cell_actions.tsx" + "path": "x-pack/plugins/security_solution/public/timelines/components/timeline/body/renderers/column_renderer.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/public/timelines/components/timeline/body/renderers/column_renderer.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/public/timelines/components/timeline/body/renderers/plain_column_renderer.tsx" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/common/lib/cell_actions/default_cell_actions.tsx" + "path": "x-pack/plugins/security_solution/public/timelines/components/timeline/body/renderers/plain_column_renderer.tsx" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/public/common/lib/cell_actions/expanded_cell_value_actions.tsx" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/public/common/lib/cell_actions/expanded_cell_value_actions.tsx" }, { "plugin": "securitySolution", @@ -34848,14 +34762,6 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/detections/components/alerts_kpis/alerts_histogram_panel/index.tsx" }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/overview/components/signals_by_category/index.tsx" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/overview/components/signals_by_category/index.tsx" - }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/common/components/top_n/top_n.tsx" @@ -34896,6 +34802,14 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/timelines/store/timeline/helpers.ts" }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/public/common/store/inputs/selectors.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/public/common/store/inputs/selectors.ts" + }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/common/components/search_bar/index.tsx" @@ -35576,14 +35490,6 @@ "plugin": "discover", "path": "src/plugins/discover/public/application/embeddable/saved_search_embeddable.tsx" }, - { - "plugin": "timelines", - "path": "x-pack/plugins/timelines/common/types/timeline/columns/index.tsx" - }, - { - "plugin": "timelines", - "path": "x-pack/plugins/timelines/common/types/timeline/columns/index.tsx" - }, { "plugin": "maps", "path": "x-pack/plugins/maps/common/descriptor_types/data_request_descriptor_types.ts" @@ -35818,11 +35724,11 @@ }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/detections/components/rules/query_preview/helpers.ts" + "path": "x-pack/plugins/security_solution/public/detections/components/rules/rule_preview/helpers.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/detections/components/rules/query_preview/helpers.ts" + "path": "x-pack/plugins/security_solution/public/detections/components/rules/rule_preview/helpers.ts" }, { "plugin": "securitySolution", @@ -37964,7 +37870,7 @@ "label": "UI_SETTINGS", "description": [], "signature": [ - "{ readonly META_FIELDS: \"metaFields\"; readonly DOC_HIGHLIGHT: \"doc_table:highlight\"; readonly QUERY_STRING_OPTIONS: \"query:queryString:options\"; readonly QUERY_ALLOW_LEADING_WILDCARDS: \"query:allowLeadingWildcards\"; readonly SEARCH_QUERY_LANGUAGE: \"search:queryLanguage\"; readonly SORT_OPTIONS: \"sort:options\"; readonly COURIER_IGNORE_FILTER_IF_FIELD_NOT_IN_INDEX: \"courier:ignoreFilterIfFieldNotInIndex\"; readonly COURIER_SET_REQUEST_PREFERENCE: \"courier:setRequestPreference\"; readonly COURIER_CUSTOM_REQUEST_PREFERENCE: \"courier:customRequestPreference\"; readonly COURIER_MAX_CONCURRENT_SHARD_REQUESTS: \"courier:maxConcurrentShardRequests\"; readonly SEARCH_INCLUDE_FROZEN: \"search:includeFrozen\"; readonly SEARCH_TIMEOUT: \"search:timeout\"; readonly HISTOGRAM_BAR_TARGET: \"histogram:barTarget\"; readonly HISTOGRAM_MAX_BARS: \"histogram:maxBars\"; readonly HISTORY_LIMIT: \"history:limit\"; readonly TIMEPICKER_REFRESH_INTERVAL_DEFAULTS: \"timepicker:refreshIntervalDefaults\"; readonly TIMEPICKER_QUICK_RANGES: \"timepicker:quickRanges\"; readonly TIMEPICKER_TIME_DEFAULTS: \"timepicker:timeDefaults\"; readonly FILTERS_PINNED_BY_DEFAULT: \"filters:pinnedByDefault\"; readonly FILTERS_EDITOR_SUGGEST_VALUES: \"filterEditor:suggestValues\"; readonly AUTOCOMPLETE_USE_TIMERANGE: \"autocomplete:useTimeRange\"; readonly AUTOCOMPLETE_VALUE_SUGGESTION_METHOD: \"autocomplete:valueSuggestionMethod\"; }" + "{ readonly META_FIELDS: \"metaFields\"; readonly DOC_HIGHLIGHT: \"doc_table:highlight\"; readonly QUERY_STRING_OPTIONS: \"query:queryString:options\"; readonly QUERY_ALLOW_LEADING_WILDCARDS: \"query:allowLeadingWildcards\"; readonly SEARCH_QUERY_LANGUAGE: \"search:queryLanguage\"; readonly SORT_OPTIONS: \"sort:options\"; readonly COURIER_IGNORE_FILTER_IF_FIELD_NOT_IN_INDEX: \"courier:ignoreFilterIfFieldNotInIndex\"; readonly COURIER_SET_REQUEST_PREFERENCE: \"courier:setRequestPreference\"; readonly COURIER_CUSTOM_REQUEST_PREFERENCE: \"courier:customRequestPreference\"; readonly COURIER_MAX_CONCURRENT_SHARD_REQUESTS: \"courier:maxConcurrentShardRequests\"; readonly SEARCH_INCLUDE_FROZEN: \"search:includeFrozen\"; readonly SEARCH_TIMEOUT: \"search:timeout\"; readonly HISTOGRAM_BAR_TARGET: \"histogram:barTarget\"; readonly HISTOGRAM_MAX_BARS: \"histogram:maxBars\"; readonly HISTORY_LIMIT: \"history:limit\"; readonly TIMEPICKER_REFRESH_INTERVAL_DEFAULTS: \"timepicker:refreshIntervalDefaults\"; readonly TIMEPICKER_QUICK_RANGES: \"timepicker:quickRanges\"; readonly TIMEPICKER_TIME_DEFAULTS: \"timepicker:timeDefaults\"; readonly FILTERS_PINNED_BY_DEFAULT: \"filters:pinnedByDefault\"; readonly FILTERS_EDITOR_SUGGEST_VALUES: \"filterEditor:suggestValues\"; readonly AUTOCOMPLETE_USE_TIMERANGE: \"autocomplete:useTimeRange\"; readonly AUTOCOMPLETE_VALUE_SUGGESTION_METHOD: \"autocomplete:valueSuggestionMethod\"; readonly DATE_FORMAT: \"dateFormat\"; readonly DATEFORMAT_TZ: \"dateFormat:tz\"; }" ], "path": "src/plugins/data/common/constants.ts", "deprecated": false, @@ -38298,97 +38204,32 @@ }, { "parentPluginId": "data", - "id": "def-common.DataView.formatHit", + "id": "def-common.DataView.flattenHit", "type": "Function", - "tags": [], - "label": "formatHit", + "tags": [ + "deprecated" + ], + "label": "flattenHit", "description": [], "signature": [ - "{ (hit: Record, type?: string | undefined): any; formatField: FormatFieldFn; }" + "(hit: Record, deep?: boolean | undefined) => Record" ], "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "returnComment": [], - "children": [ + "deprecated": true, + "references": [ { - "parentPluginId": "data", - "id": "def-common.DataView.formatHit.$1", - "type": "Object", - "tags": [], - "label": "hit", - "description": [], - "signature": [ - "{ [x: string]: any; }" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false + "plugin": "dataViews", + "path": "src/plugins/data_views/common/data_views/data_view.ts" }, { - "parentPluginId": "data", - "id": "def-common.DataView.formatHit.$2", - "type": "string", - "tags": [], - "label": "type", - "description": [], - "signature": [ - "string | undefined" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false - } - ] - }, - { - "parentPluginId": "data", - "id": "def-common.DataView.formatField", - "type": "Function", - "tags": [], - "label": "formatField", - "description": [], - "signature": [ - "(hit: Record, fieldName: string) => any" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "returnComment": [], - "children": [ - { - "parentPluginId": "data", - "id": "def-common.DataView.formatField.$1", - "type": "Object", - "tags": [], - "label": "hit", - "description": [], - "signature": [ - "{ [x: string]: any; }" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false + "plugin": "maps", + "path": "x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.tsx" }, { - "parentPluginId": "data", - "id": "def-common.DataView.formatField.$2", - "type": "string", - "tags": [], - "label": "fieldName", - "description": [], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false + "plugin": "maps", + "path": "x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.tsx" } - ] - }, - { - "parentPluginId": "data", - "id": "def-common.DataView.flattenHit", - "type": "Function", - "tags": [], - "label": "flattenHit", - "description": [], - "signature": [ - "(hit: Record, deep?: boolean | undefined) => Record" ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, "returnComment": [], "children": [ { @@ -38654,6 +38495,10 @@ "plugin": "dataViews", "path": "src/plugins/data_views/common/data_views/data_view.test.ts" }, + { + "plugin": "dataViews", + "path": "src/plugins/data_views/common/data_views/data_view.test.ts" + }, { "plugin": "dataViews", "path": "src/plugins/data_views/common/data_views/data_view.test.ts" @@ -41714,19 +41559,19 @@ }, { "plugin": "discover", - "path": "src/plugins/discover/public/application/embeddable/saved_search_embeddable.tsx" + "path": "src/plugins/discover/public/application/components/data_visualizer_grid/data_visualizer_grid.tsx" }, { "plugin": "discover", - "path": "src/plugins/discover/public/application/embeddable/saved_search_embeddable.tsx" + "path": "src/plugins/discover/public/application/components/data_visualizer_grid/data_visualizer_grid.tsx" }, { "plugin": "discover", - "path": "src/plugins/discover/public/application/services/use_es_doc_search.ts" + "path": "src/plugins/discover/public/application/embeddable/saved_search_embeddable.tsx" }, { "plugin": "discover", - "path": "src/plugins/discover/public/application/services/use_es_doc_search.ts" + "path": "src/plugins/discover/public/application/embeddable/saved_search_embeddable.tsx" }, { "plugin": "discover", @@ -42078,11 +41923,11 @@ }, { "plugin": "dataVisualizer", - "path": "x-pack/plugins/data_visualizer/public/application/index_data_visualizer/index_data_visualizer.tsx" + "path": "x-pack/plugins/data_visualizer/public/application/index_data_visualizer/embeddables/grid_embeddable/grid_embeddable.tsx" }, { "plugin": "dataVisualizer", - "path": "x-pack/plugins/data_visualizer/public/application/index_data_visualizer/index_data_visualizer.tsx" + "path": "x-pack/plugins/data_visualizer/public/application/index_data_visualizer/embeddables/grid_embeddable/grid_embeddable.tsx" }, { "plugin": "apm", @@ -42092,14 +41937,6 @@ "plugin": "apm", "path": "x-pack/plugins/apm/public/components/app/RumDashboard/LocalUIFilters/SelectedFilters.tsx" }, - { - "plugin": "apm", - "path": "x-pack/plugins/apm/public/components/app/RumDashboard/LocalUIFilters/use_index_pattern.ts" - }, - { - "plugin": "apm", - "path": "x-pack/plugins/apm/public/components/app/RumDashboard/LocalUIFilters/use_index_pattern.ts" - }, { "plugin": "lens", "path": "x-pack/plugins/lens/server/routes/existing_fields.ts" @@ -42118,27 +41955,27 @@ }, { "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/scheduled_query_groups/use_scheduled_query_group_query_errors.ts" + "path": "x-pack/plugins/osquery/public/packs/use_pack_query_errors.ts" }, { "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/scheduled_query_groups/use_scheduled_query_group_query_errors.ts" + "path": "x-pack/plugins/osquery/public/packs/use_pack_query_errors.ts" }, { "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/scheduled_query_groups/use_scheduled_query_group_query_last_results.ts" + "path": "x-pack/plugins/osquery/public/packs/use_pack_query_last_results.ts" }, { "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/scheduled_query_groups/use_scheduled_query_group_query_last_results.ts" + "path": "x-pack/plugins/osquery/public/packs/use_pack_query_last_results.ts" }, { "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/scheduled_query_groups/scheduled_query_group_queries_status_table.tsx" + "path": "x-pack/plugins/osquery/public/packs/pack_queries_status_table.tsx" }, { "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/scheduled_query_groups/scheduled_query_group_queries_status_table.tsx" + "path": "x-pack/plugins/osquery/public/packs/pack_queries_status_table.tsx" }, { "plugin": "securitySolution", @@ -42360,14 +42197,6 @@ "plugin": "discover", "path": "src/plugins/discover/target/types/public/application/apps/main/components/doc_table/components/table_header/helpers.d.ts" }, - { - "plugin": "discover", - "path": "src/plugins/discover/target/types/public/application/components/discover_grid/discover_grid.d.ts" - }, - { - "plugin": "discover", - "path": "src/plugins/discover/target/types/public/application/components/discover_grid/discover_grid.d.ts" - }, { "plugin": "discover", "path": "src/plugins/discover/target/types/public/application/apps/main/components/doc_table/doc_table_wrapper.d.ts" @@ -42448,14 +42277,6 @@ "plugin": "discover", "path": "src/plugins/discover/target/types/public/application/apps/context/services/utils/sorting.d.ts" }, - { - "plugin": "discover", - "path": "src/plugins/discover/target/types/public/application/apps/main/utils/calc_field_counts.d.ts" - }, - { - "plugin": "discover", - "path": "src/plugins/discover/target/types/public/application/apps/main/utils/calc_field_counts.d.ts" - }, { "plugin": "discover", "path": "src/plugins/discover/target/types/public/application/apps/main/utils/get_switch_index_pattern_app_state.d.ts" @@ -42532,6 +42353,22 @@ "plugin": "discover", "path": "src/plugins/discover/target/types/public/application/apps/main/components/doc_table/components/table_header/table_header.d.ts" }, + { + "plugin": "discover", + "path": "src/plugins/discover/public/application/components/source_viewer/source_viewer.tsx" + }, + { + "plugin": "discover", + "path": "src/plugins/discover/public/application/components/source_viewer/source_viewer.tsx" + }, + { + "plugin": "apm", + "path": "x-pack/plugins/apm/public/components/app/RumDashboard/LocalUIFilters/selected_wildcards.tsx" + }, + { + "plugin": "apm", + "path": "x-pack/plugins/apm/public/components/app/RumDashboard/LocalUIFilters/selected_wildcards.tsx" + }, { "plugin": "dataViews", "path": "src/plugins/data_views/common/fields/data_view_field.test.ts" @@ -42736,6 +42573,14 @@ "plugin": "discover", "path": "src/plugins/discover/public/application/components/table/table.tsx" }, + { + "plugin": "discover", + "path": "src/plugins/discover/public/application/apps/doc/components/doc.tsx" + }, + { + "plugin": "discover", + "path": "src/plugins/discover/public/application/apps/doc/components/doc.tsx" + }, { "plugin": "discover", "path": "src/plugins/discover/public/application/apps/context/services/anchor.ts" @@ -42858,15 +42703,15 @@ }, { "plugin": "visualizations", - "path": "src/plugins/visualizations/public/embeddable/visualize_embeddable.ts" + "path": "src/plugins/visualizations/public/embeddable/visualize_embeddable.tsx" }, { "plugin": "visualizations", - "path": "src/plugins/visualizations/public/embeddable/visualize_embeddable.ts" + "path": "src/plugins/visualizations/public/embeddable/visualize_embeddable.tsx" }, { "plugin": "visualizations", - "path": "src/plugins/visualizations/public/embeddable/visualize_embeddable.ts" + "path": "src/plugins/visualizations/public/embeddable/visualize_embeddable.tsx" }, { "plugin": "dashboard", @@ -42980,6 +42825,22 @@ "plugin": "observability", "path": "x-pack/plugins/observability/public/components/shared/exploratory_view/components/filter_label.tsx" }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/public/index_pattern_util.ts" + }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/public/index_pattern_util.ts" + }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/public/index_pattern_util.ts" + }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/public/index_pattern_util.ts" + }, { "plugin": "maps", "path": "x-pack/plugins/maps/public/classes/tooltips/es_tooltip_property.ts" @@ -43044,22 +42905,6 @@ "plugin": "maps", "path": "x-pack/plugins/maps/public/classes/sources/es_source/es_source.ts" }, - { - "plugin": "maps", - "path": "x-pack/plugins/maps/public/index_pattern_util.ts" - }, - { - "plugin": "maps", - "path": "x-pack/plugins/maps/public/index_pattern_util.ts" - }, - { - "plugin": "maps", - "path": "x-pack/plugins/maps/public/index_pattern_util.ts" - }, - { - "plugin": "maps", - "path": "x-pack/plugins/maps/public/index_pattern_util.ts" - }, { "plugin": "maps", "path": "x-pack/plugins/maps/public/components/geo_index_pattern_select.tsx" @@ -43180,18 +43025,6 @@ "plugin": "dataVisualizer", "path": "x-pack/plugins/data_visualizer/public/application/index_data_visualizer/components/full_time_range_selector/full_time_range_selector.tsx" }, - { - "plugin": "apm", - "path": "x-pack/plugins/apm/public/components/shared/kuery_bar/index.tsx" - }, - { - "plugin": "apm", - "path": "x-pack/plugins/apm/public/components/shared/kuery_bar/index.tsx" - }, - { - "plugin": "apm", - "path": "x-pack/plugins/apm/public/components/shared/kuery_bar/index.tsx" - }, { "plugin": "graph", "path": "x-pack/plugins/graph/public/types/app_state.ts" @@ -44096,6 +43929,14 @@ "plugin": "discover", "path": "src/plugins/discover/public/application/apps/main/utils/get_sharing_data.test.ts" }, + { + "plugin": "discover", + "path": "src/plugins/discover/target/types/public/application/apps/doc/components/doc.d.ts" + }, + { + "plugin": "discover", + "path": "src/plugins/discover/target/types/public/application/apps/doc/components/doc.d.ts" + }, { "plugin": "inputControlVis", "path": "src/plugins/input_control_vis/target/types/public/components/editor/controls_tab.d.ts" @@ -44253,6 +44094,18 @@ "plugin": "discover", "path": "src/plugins/discover/public/application/apps/main/components/doc_table/doc_table_wrapper.tsx" }, + { + "plugin": "discover", + "path": "src/plugins/discover/public/application/components/data_visualizer_grid/data_visualizer_grid.tsx" + }, + { + "plugin": "discover", + "path": "src/plugins/discover/public/application/components/data_visualizer_grid/data_visualizer_grid.tsx" + }, + { + "plugin": "discover", + "path": "src/plugins/discover/public/application/components/data_visualizer_grid/data_visualizer_grid.tsx" + }, { "plugin": "discover", "path": "src/plugins/discover/public/application/embeddable/saved_search_embeddable.tsx" @@ -44337,6 +44190,14 @@ "plugin": "dataVisualizer", "path": "x-pack/plugins/data_visualizer/public/application/index_data_visualizer/components/index_data_visualizer_view/index_data_visualizer_view.tsx" }, + { + "plugin": "dataVisualizer", + "path": "x-pack/plugins/data_visualizer/public/application/index_data_visualizer/embeddables/grid_embeddable/grid_embeddable.tsx" + }, + { + "plugin": "dataVisualizer", + "path": "x-pack/plugins/data_visualizer/public/application/index_data_visualizer/embeddables/grid_embeddable/grid_embeddable.tsx" + }, { "plugin": "lens", "path": "x-pack/plugins/lens/server/routes/field_stats.ts" @@ -44759,27 +44620,55 @@ }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/classes/tooltips/es_tooltip_property.ts" + "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/classes/tooltips/es_tooltip_property.ts" + "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/classes/fields/es_doc_field.ts" + "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/classes/fields/es_doc_field.ts" + "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/classes/sources/es_source/es_source.ts" + "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/classes/sources/es_source/es_source.ts" + "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" }, { "plugin": "maps", @@ -44843,55 +44732,55 @@ }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + "path": "x-pack/plugins/maps/public/components/metrics_editor/metric_editor.tsx" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + "path": "x-pack/plugins/maps/public/components/metrics_editor/metric_editor.tsx" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + "path": "x-pack/plugins/maps/public/components/metrics_editor/metric_editor.tsx" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + "path": "x-pack/plugins/maps/public/classes/tooltips/es_tooltip_property.ts" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + "path": "x-pack/plugins/maps/public/classes/tooltips/es_tooltip_property.ts" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + "path": "x-pack/plugins/maps/public/classes/fields/es_doc_field.ts" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + "path": "x-pack/plugins/maps/public/classes/fields/es_doc_field.ts" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + "path": "x-pack/plugins/maps/public/components/metrics_editor/metrics_editor.tsx" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + "path": "x-pack/plugins/maps/public/components/metrics_editor/metrics_editor.tsx" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + "path": "x-pack/plugins/maps/public/classes/sources/es_geo_grid_source/update_source_editor.tsx" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + "path": "x-pack/plugins/maps/public/classes/sources/es_geo_grid_source/update_source_editor.tsx" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + "path": "x-pack/plugins/maps/public/classes/sources/es_source/es_source.ts" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + "path": "x-pack/plugins/maps/public/classes/sources/es_source/es_source.ts" }, { "plugin": "maps", @@ -44961,26 +44850,6 @@ "plugin": "maps", "path": "x-pack/plugins/maps/public/connected_components/edit_layer_panel/join_editor/resources/join_expression.tsx" }, - { - "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/metrics_editor/metric_editor.tsx" - }, - { - "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/metrics_editor/metric_editor.tsx" - }, - { - "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/metrics_editor/metric_editor.tsx" - }, - { - "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/metrics_editor/metrics_editor.tsx" - }, - { - "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/metrics_editor/metrics_editor.tsx" - }, { "plugin": "maps", "path": "x-pack/plugins/maps/public/connected_components/edit_layer_panel/join_editor/resources/metrics_expression.tsx" @@ -48037,7 +47906,7 @@ "section": "def-common.IndexPatternLoadExpressionFunctionDefinition", "text": "IndexPatternLoadExpressionFunctionDefinition" }, - ", \"telemetry\" | \"inject\" | \"extract\" | \"migrations\" | \"type\" | \"name\" | \"disabled\" | \"help\" | \"inputTypes\" | \"args\" | \"aliases\" | \"context\">" + ", \"type\" | \"telemetry\" | \"extract\" | \"inject\" | \"migrations\" | \"name\" | \"disabled\" | \"help\" | \"inputTypes\" | \"args\" | \"aliases\" | \"context\">" ], "path": "src/plugins/data_views/common/expressions/load_index_pattern.ts", "deprecated": false, @@ -48155,11 +48024,11 @@ }, " & { meta: ", "PhraseFilterMeta", - "; query: { match_phrase?: Record | undefined; match?: Record> | undefined; match?: Partial | undefined; }; }" + ">> | undefined; }; }" ], "path": "node_modules/@kbn/es-query/target_types/filters/build_filters/phrase_filter.d.ts", "deprecated": false @@ -49339,7 +49208,7 @@ "section": "def-common.Filter", "text": "Filter" }, - ") => { meta: { disabled: boolean; alias?: string | null | undefined; negate?: boolean | undefined; controlledBy?: string | undefined; index?: string | undefined; isMultiIndex?: boolean | undefined; type?: string | undefined; key?: string | undefined; params?: any; value?: string | undefined; }; $state?: { store: ", + ") => { meta: { disabled: boolean; alias?: string | null | undefined; negate?: boolean | undefined; controlledBy?: string | undefined; group?: string | undefined; index?: string | undefined; isMultiIndex?: boolean | undefined; type?: string | undefined; key?: string | undefined; params?: any; value?: string | undefined; }; $state?: { store: ", { "pluginId": "@kbn/es-query", "scope": "common", @@ -49405,7 +49274,7 @@ "section": "def-common.Filter", "text": "Filter" }, - ") => { meta: { negate: boolean; alias?: string | null | undefined; disabled?: boolean | undefined; controlledBy?: string | undefined; index?: string | undefined; isMultiIndex?: boolean | undefined; type?: string | undefined; key?: string | undefined; params?: any; value?: string | undefined; }; $state?: { store: ", + ") => { meta: { negate: boolean; alias?: string | null | undefined; disabled?: boolean | undefined; controlledBy?: string | undefined; group?: string | undefined; index?: string | undefined; isMultiIndex?: boolean | undefined; type?: string | undefined; key?: string | undefined; params?: any; value?: string | undefined; }; $state?: { store: ", { "pluginId": "@kbn/es-query", "scope": "common", @@ -51695,14 +51564,6 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/types.ts" }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/action.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/action.ts" - }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/common/containers/source/index.tsx" @@ -51811,6 +51672,14 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.ts" }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/action.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/action.ts" + }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/common/components/search_bar/index.tsx" @@ -54299,15 +54168,15 @@ }, { "plugin": "visualizations", - "path": "src/plugins/visualizations/public/embeddable/visualize_embeddable.ts" + "path": "src/plugins/visualizations/public/embeddable/visualize_embeddable.tsx" }, { "plugin": "visualizations", - "path": "src/plugins/visualizations/public/embeddable/visualize_embeddable.ts" + "path": "src/plugins/visualizations/public/embeddable/visualize_embeddable.tsx" }, { "plugin": "visualizations", - "path": "src/plugins/visualizations/public/embeddable/visualize_embeddable.ts" + "path": "src/plugins/visualizations/public/embeddable/visualize_embeddable.tsx" }, { "plugin": "dashboard", @@ -54489,6 +54358,14 @@ "plugin": "observability", "path": "x-pack/plugins/observability/public/components/shared/filter_value_label/filter_value_label.tsx" }, + { + "plugin": "timelines", + "path": "x-pack/plugins/timelines/common/types/timeline/cells/index.ts" + }, + { + "plugin": "timelines", + "path": "x-pack/plugins/timelines/common/types/timeline/cells/index.ts" + }, { "plugin": "timelines", "path": "x-pack/plugins/timelines/common/types/timeline/store.ts" @@ -54849,14 +54726,6 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/common/store/inputs/actions.ts" }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/common/store/inputs/selectors.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/common/store/inputs/selectors.ts" - }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/timelines/store/timeline/actions.ts" @@ -54999,11 +54868,27 @@ }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/common/lib/cell_actions/default_cell_actions.tsx" + "path": "x-pack/plugins/security_solution/public/timelines/components/timeline/body/renderers/column_renderer.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/common/lib/cell_actions/default_cell_actions.tsx" + "path": "x-pack/plugins/security_solution/public/timelines/components/timeline/body/renderers/column_renderer.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/public/timelines/components/timeline/body/renderers/plain_column_renderer.tsx" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/public/timelines/components/timeline/body/renderers/plain_column_renderer.tsx" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/public/common/lib/cell_actions/expanded_cell_value_actions.tsx" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/public/common/lib/cell_actions/expanded_cell_value_actions.tsx" }, { "plugin": "securitySolution", @@ -55053,14 +54938,6 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/detections/components/alerts_kpis/alerts_histogram_panel/index.tsx" }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/overview/components/signals_by_category/index.tsx" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/overview/components/signals_by_category/index.tsx" - }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/common/components/top_n/top_n.tsx" @@ -55101,6 +54978,14 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/timelines/store/timeline/helpers.ts" }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/public/common/store/inputs/selectors.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/public/common/store/inputs/selectors.ts" + }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/common/components/search_bar/index.tsx" @@ -55781,14 +55666,6 @@ "plugin": "discover", "path": "src/plugins/discover/public/application/embeddable/saved_search_embeddable.tsx" }, - { - "plugin": "timelines", - "path": "x-pack/plugins/timelines/common/types/timeline/columns/index.tsx" - }, - { - "plugin": "timelines", - "path": "x-pack/plugins/timelines/common/types/timeline/columns/index.tsx" - }, { "plugin": "maps", "path": "x-pack/plugins/maps/common/descriptor_types/data_request_descriptor_types.ts" @@ -56023,11 +55900,11 @@ }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/detections/components/rules/query_preview/helpers.ts" + "path": "x-pack/plugins/security_solution/public/detections/components/rules/rule_preview/helpers.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/detections/components/rules/query_preview/helpers.ts" + "path": "x-pack/plugins/security_solution/public/detections/components/rules/rule_preview/helpers.ts" }, { "plugin": "securitySolution", @@ -56102,7 +55979,7 @@ "label": "FilterMeta", "description": [], "signature": [ - "{ alias?: string | null | undefined; disabled?: boolean | undefined; negate?: boolean | undefined; controlledBy?: string | undefined; index?: string | undefined; isMultiIndex?: boolean | undefined; type?: string | undefined; key?: string | undefined; params?: any; value?: string | undefined; }" + "{ alias?: string | null | undefined; disabled?: boolean | undefined; negate?: boolean | undefined; controlledBy?: string | undefined; group?: string | undefined; index?: string | undefined; isMultiIndex?: boolean | undefined; type?: string | undefined; key?: string | undefined; params?: any; value?: string | undefined; }" ], "path": "src/plugins/data/common/es_query/index.ts", "deprecated": true, @@ -56871,22 +56748,6 @@ "plugin": "discover", "path": "src/plugins/discover/public/application/apps/main/components/doc_table/actions/columns.ts" }, - { - "plugin": "discover", - "path": "src/plugins/discover/public/application/apps/doc/components/doc.tsx" - }, - { - "plugin": "discover", - "path": "src/plugins/discover/public/application/apps/doc/components/doc.tsx" - }, - { - "plugin": "visualizations", - "path": "src/plugins/visualizations/public/saved_visualizations/_saved_vis.ts" - }, - { - "plugin": "visualizations", - "path": "src/plugins/visualizations/public/saved_visualizations/_saved_vis.ts" - }, { "plugin": "dashboard", "path": "src/plugins/dashboard/public/application/lib/sync_dashboard_index_patterns.ts" @@ -56999,6 +56860,10 @@ "plugin": "lens", "path": "x-pack/plugins/lens/public/indexpattern_datasource/loader.test.ts" }, + { + "plugin": "lens", + "path": "x-pack/plugins/lens/public/indexpattern_datasource/loader.test.ts" + }, { "plugin": "lens", "path": "x-pack/plugins/lens/target/types/public/utils.d.ts" @@ -57150,14 +57015,6 @@ { "plugin": "indexPatternManagement", "path": "src/plugins/index_pattern_management/target/types/public/components/utils.d.ts" - }, - { - "plugin": "discover", - "path": "src/plugins/discover/target/types/public/application/apps/doc/components/doc.d.ts" - }, - { - "plugin": "discover", - "path": "src/plugins/discover/target/types/public/application/apps/doc/components/doc.d.ts" } ], "initialIsOpen": false @@ -57226,14 +57083,6 @@ { "plugin": "indexPatternEditor", "path": "src/plugins/index_pattern_editor/public/components/index_pattern_flyout_content_container.tsx" - }, - { - "plugin": "apm", - "path": "x-pack/plugins/apm/public/components/app/RumDashboard/LocalUIFilters/use_index_pattern.ts" - }, - { - "plugin": "apm", - "path": "x-pack/plugins/apm/public/components/app/RumDashboard/LocalUIFilters/use_index_pattern.ts" } ], "initialIsOpen": false @@ -57643,11 +57492,11 @@ }, " & { meta: ", "PhraseFilterMeta", - "; query: { match_phrase?: Record | undefined; match?: Record> | undefined; match?: Partial | undefined; }; }" + ">> | undefined; }; }" ], "path": "src/plugins/data/common/es_query/index.ts", "deprecated": true, @@ -58330,7 +58179,7 @@ "label": "UI_SETTINGS", "description": [], "signature": [ - "{ readonly META_FIELDS: \"metaFields\"; readonly DOC_HIGHLIGHT: \"doc_table:highlight\"; readonly QUERY_STRING_OPTIONS: \"query:queryString:options\"; readonly QUERY_ALLOW_LEADING_WILDCARDS: \"query:allowLeadingWildcards\"; readonly SEARCH_QUERY_LANGUAGE: \"search:queryLanguage\"; readonly SORT_OPTIONS: \"sort:options\"; readonly COURIER_IGNORE_FILTER_IF_FIELD_NOT_IN_INDEX: \"courier:ignoreFilterIfFieldNotInIndex\"; readonly COURIER_SET_REQUEST_PREFERENCE: \"courier:setRequestPreference\"; readonly COURIER_CUSTOM_REQUEST_PREFERENCE: \"courier:customRequestPreference\"; readonly COURIER_MAX_CONCURRENT_SHARD_REQUESTS: \"courier:maxConcurrentShardRequests\"; readonly SEARCH_INCLUDE_FROZEN: \"search:includeFrozen\"; readonly SEARCH_TIMEOUT: \"search:timeout\"; readonly HISTOGRAM_BAR_TARGET: \"histogram:barTarget\"; readonly HISTOGRAM_MAX_BARS: \"histogram:maxBars\"; readonly HISTORY_LIMIT: \"history:limit\"; readonly TIMEPICKER_REFRESH_INTERVAL_DEFAULTS: \"timepicker:refreshIntervalDefaults\"; readonly TIMEPICKER_QUICK_RANGES: \"timepicker:quickRanges\"; readonly TIMEPICKER_TIME_DEFAULTS: \"timepicker:timeDefaults\"; readonly FILTERS_PINNED_BY_DEFAULT: \"filters:pinnedByDefault\"; readonly FILTERS_EDITOR_SUGGEST_VALUES: \"filterEditor:suggestValues\"; readonly AUTOCOMPLETE_USE_TIMERANGE: \"autocomplete:useTimeRange\"; readonly AUTOCOMPLETE_VALUE_SUGGESTION_METHOD: \"autocomplete:valueSuggestionMethod\"; }" + "{ readonly META_FIELDS: \"metaFields\"; readonly DOC_HIGHLIGHT: \"doc_table:highlight\"; readonly QUERY_STRING_OPTIONS: \"query:queryString:options\"; readonly QUERY_ALLOW_LEADING_WILDCARDS: \"query:allowLeadingWildcards\"; readonly SEARCH_QUERY_LANGUAGE: \"search:queryLanguage\"; readonly SORT_OPTIONS: \"sort:options\"; readonly COURIER_IGNORE_FILTER_IF_FIELD_NOT_IN_INDEX: \"courier:ignoreFilterIfFieldNotInIndex\"; readonly COURIER_SET_REQUEST_PREFERENCE: \"courier:setRequestPreference\"; readonly COURIER_CUSTOM_REQUEST_PREFERENCE: \"courier:customRequestPreference\"; readonly COURIER_MAX_CONCURRENT_SHARD_REQUESTS: \"courier:maxConcurrentShardRequests\"; readonly SEARCH_INCLUDE_FROZEN: \"search:includeFrozen\"; readonly SEARCH_TIMEOUT: \"search:timeout\"; readonly HISTOGRAM_BAR_TARGET: \"histogram:barTarget\"; readonly HISTOGRAM_MAX_BARS: \"histogram:maxBars\"; readonly HISTORY_LIMIT: \"history:limit\"; readonly TIMEPICKER_REFRESH_INTERVAL_DEFAULTS: \"timepicker:refreshIntervalDefaults\"; readonly TIMEPICKER_QUICK_RANGES: \"timepicker:quickRanges\"; readonly TIMEPICKER_TIME_DEFAULTS: \"timepicker:timeDefaults\"; readonly FILTERS_PINNED_BY_DEFAULT: \"filters:pinnedByDefault\"; readonly FILTERS_EDITOR_SUGGEST_VALUES: \"filterEditor:suggestValues\"; readonly AUTOCOMPLETE_USE_TIMERANGE: \"autocomplete:useTimeRange\"; readonly AUTOCOMPLETE_VALUE_SUGGESTION_METHOD: \"autocomplete:valueSuggestionMethod\"; readonly DATE_FORMAT: \"dateFormat\"; readonly DATEFORMAT_TZ: \"dateFormat:tz\"; }" ], "path": "src/plugins/data/common/constants.ts", "deprecated": false, diff --git a/api_docs/data.mdx b/api_docs/data.mdx index 597810c06e8f43..09da06cd903127 100644 --- a/api_docs/data.mdx +++ b/api_docs/data.mdx @@ -18,7 +18,7 @@ Contact [App Services](https://github.com/orgs/elastic/teams/kibana-app-services | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 3193 | 43 | 2807 | 48 | +| 3238 | 40 | 2848 | 48 | ## Client diff --git a/api_docs/data_autocomplete.mdx b/api_docs/data_autocomplete.mdx index 022bb799670dae..1ab5f0813963c7 100644 --- a/api_docs/data_autocomplete.mdx +++ b/api_docs/data_autocomplete.mdx @@ -18,7 +18,7 @@ Contact [App Services](https://github.com/orgs/elastic/teams/kibana-app-services | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 3193 | 43 | 2807 | 48 | +| 3238 | 40 | 2848 | 48 | ## Client diff --git a/api_docs/data_query.json b/api_docs/data_query.json index 858e25ebb2b09f..a2c70fc6b1c3b0 100644 --- a/api_docs/data_query.json +++ b/api_docs/data_query.json @@ -27,13 +27,13 @@ }, "<", { - "pluginId": "@kbn/utility-types", - "scope": "server", - "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", - "text": "SerializableRecord" + "pluginId": "@kbn/es-query", + "scope": "common", + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.Filter", + "text": "Filter" }, - ">" + "[]>" ], "path": "src/plugins/data/public/query/filter_manager/filter_manager.ts", "deprecated": false, @@ -570,28 +570,124 @@ { "parentPluginId": "data", "id": "def-public.FilterManager.extract", - "type": "Any", + "type": "Function", "tags": [], "label": "extract", "description": [], "signature": [ - "any" + "(filters: ", + { + "pluginId": "@kbn/es-query", + "scope": "common", + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.Filter", + "text": "Filter" + }, + "[]) => { state: ", + { + "pluginId": "@kbn/es-query", + "scope": "common", + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.Filter", + "text": "Filter" + }, + "[]; references: ", + "SavedObjectReference", + "[]; }" ], "path": "src/plugins/data/public/query/filter_manager/filter_manager.ts", - "deprecated": false + "deprecated": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "data", + "id": "def-public.FilterManager.extract.$1", + "type": "Array", + "tags": [], + "label": "filters", + "description": [], + "signature": [ + { + "pluginId": "@kbn/es-query", + "scope": "common", + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.Filter", + "text": "Filter" + }, + "[]" + ], + "path": "src/plugins/data/common/query/persistable_state.ts", + "deprecated": false + } + ] }, { "parentPluginId": "data", "id": "def-public.FilterManager.inject", - "type": "Any", + "type": "Function", "tags": [], "label": "inject", "description": [], "signature": [ - "any" + "(filters: ", + { + "pluginId": "@kbn/es-query", + "scope": "common", + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.Filter", + "text": "Filter" + }, + "[], references: ", + "SavedObjectReference", + "[]) => ", + { + "pluginId": "@kbn/es-query", + "scope": "common", + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.Filter", + "text": "Filter" + }, + "[]" ], "path": "src/plugins/data/public/query/filter_manager/filter_manager.ts", - "deprecated": false + "deprecated": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "data", + "id": "def-public.FilterManager.inject.$1", + "type": "Array", + "tags": [], + "label": "filters", + "description": [], + "signature": [ + { + "pluginId": "@kbn/es-query", + "scope": "common", + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.Filter", + "text": "Filter" + }, + "[]" + ], + "path": "src/plugins/data/common/query/persistable_state.ts", + "deprecated": false + }, + { + "parentPluginId": "data", + "id": "def-public.FilterManager.inject.$2", + "type": "Array", + "tags": [], + "label": "references", + "description": [], + "signature": [ + "SavedObjectReference", + "[]" + ], + "path": "src/plugins/data/common/query/persistable_state.ts", + "deprecated": false + } + ] }, { "parentPluginId": "data", @@ -603,13 +699,13 @@ "signature": [ "(filters: ", { - "pluginId": "@kbn/utility-types", - "scope": "server", - "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", - "text": "SerializableRecord" + "pluginId": "@kbn/es-query", + "scope": "common", + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.Filter", + "text": "Filter" }, - ", collector: unknown) => {}" + "[], collector: unknown) => {}" ], "path": "src/plugins/data/public/query/filter_manager/filter_manager.ts", "deprecated": false, @@ -618,18 +714,19 @@ { "parentPluginId": "data", "id": "def-public.FilterManager.telemetry.$1", - "type": "Object", + "type": "Array", "tags": [], "label": "filters", "description": [], "signature": [ { - "pluginId": "@kbn/utility-types", - "scope": "server", - "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", - "text": "SerializableRecord" - } + "pluginId": "@kbn/es-query", + "scope": "common", + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.Filter", + "text": "Filter" + }, + "[]" ], "path": "src/plugins/data/common/query/persistable_state.ts", "deprecated": false @@ -649,19 +746,6 @@ } ] }, - { - "parentPluginId": "data", - "id": "def-public.FilterManager.migrateToLatest", - "type": "Any", - "tags": [], - "label": "migrateToLatest", - "description": [], - "signature": [ - "any" - ], - "path": "src/plugins/data/public/query/filter_manager/filter_manager.ts", - "deprecated": false - }, { "parentPluginId": "data", "id": "def-public.FilterManager.getAllMigrations", @@ -670,7 +754,14 @@ "label": "getAllMigrations", "description": [], "signature": [ - "() => {}" + "() => ", + { + "pluginId": "kibanaUtils", + "scope": "common", + "docId": "kibKibanaUtilsPluginApi", + "section": "def-common.MigrateFunctionsObject", + "text": "MigrateFunctionsObject" + } ], "path": "src/plugins/data/public/query/filter_manager/filter_manager.ts", "deprecated": false, @@ -835,15 +926,47 @@ }, "; queryString: Pick<", "QueryStringManager", - ", \"getDefaultQuery\" | \"formatQuery\" | \"getUpdates$\" | \"getQuery\" | \"setQuery\" | \"clearQuery\">; savedQueries: ", + ", \"getDefaultQuery\" | \"formatQuery\" | \"getUpdates$\" | \"getQuery\" | \"setQuery\" | \"clearQuery\">; savedQueries: { createQuery: (attributes: ", + { + "pluginId": "data", + "scope": "common", + "docId": "kibDataQueryPluginApi", + "section": "def-common.SavedQueryAttributes", + "text": "SavedQueryAttributes" + }, + ", { overwrite }?: { overwrite?: boolean | undefined; }) => Promise; updateQuery: (id: string, attributes: ", + { + "pluginId": "data", + "scope": "common", + "docId": "kibDataQueryPluginApi", + "section": "def-common.SavedQueryAttributes", + "text": "SavedQueryAttributes" + }, + ") => Promise; getAllSavedQueries: () => Promise<", + { + "pluginId": "data", + "scope": "public", + "docId": "kibDataQueryPluginApi", + "section": "def-public.SavedQuery", + "text": "SavedQuery" + }, + "[]>; findSavedQueries: (search?: string, perPage?: number, page?: number) => Promise<{ total: number; queries: ", { "pluginId": "data", "scope": "public", "docId": "kibDataQueryPluginApi", - "section": "def-public.SavedQueryService", - "text": "SavedQueryService" + "section": "def-public.SavedQuery", + "text": "SavedQuery" }, - "; state$: ", + "[]; }>; getSavedQuery: (id: string) => Promise<", + { + "pluginId": "data", + "scope": "public", + "docId": "kibDataQueryPluginApi", + "section": "def-public.SavedQuery", + "text": "SavedQuery" + }, + ">; deleteSavedQuery: (id: string) => Promise; getSavedQueryCount: () => Promise; }; state$: ", "Observable", "<{ changes: ", { @@ -964,15 +1087,47 @@ }, "; queryString: Pick<", "QueryStringManager", - ", \"getDefaultQuery\" | \"formatQuery\" | \"getUpdates$\" | \"getQuery\" | \"setQuery\" | \"clearQuery\">; savedQueries: ", + ", \"getDefaultQuery\" | \"formatQuery\" | \"getUpdates$\" | \"getQuery\" | \"setQuery\" | \"clearQuery\">; savedQueries: { createQuery: (attributes: ", + { + "pluginId": "data", + "scope": "common", + "docId": "kibDataQueryPluginApi", + "section": "def-common.SavedQueryAttributes", + "text": "SavedQueryAttributes" + }, + ", { overwrite }?: { overwrite?: boolean | undefined; }) => Promise; updateQuery: (id: string, attributes: ", + { + "pluginId": "data", + "scope": "common", + "docId": "kibDataQueryPluginApi", + "section": "def-common.SavedQueryAttributes", + "text": "SavedQueryAttributes" + }, + ") => Promise; getAllSavedQueries: () => Promise<", + { + "pluginId": "data", + "scope": "public", + "docId": "kibDataQueryPluginApi", + "section": "def-public.SavedQuery", + "text": "SavedQuery" + }, + "[]>; findSavedQueries: (search?: string, perPage?: number, page?: number) => Promise<{ total: number; queries: ", + { + "pluginId": "data", + "scope": "public", + "docId": "kibDataQueryPluginApi", + "section": "def-public.SavedQuery", + "text": "SavedQuery" + }, + "[]; }>; getSavedQuery: (id: string) => Promise<", { "pluginId": "data", "scope": "public", "docId": "kibDataQueryPluginApi", - "section": "def-public.SavedQueryService", - "text": "SavedQueryService" + "section": "def-public.SavedQuery", + "text": "SavedQuery" }, - "; state$: ", + ">; deleteSavedQuery: (id: string) => Promise; getSavedQueryCount: () => Promise; }; state$: ", "Observable", "<{ changes: ", { @@ -1159,22 +1314,55 @@ "label": "createSavedQueryService", "description": [], "signature": [ - "(savedObjectsClient: Pick<", + "(http: ", { "pluginId": "core", "scope": "public", - "docId": "kibCoreSavedObjectsPluginApi", - "section": "def-public.SavedObjectsClient", - "text": "SavedObjectsClient" + "docId": "kibCoreHttpPluginApi", + "section": "def-public.HttpSetup", + "text": "HttpSetup" }, - ", \"create\" | \"bulkCreate\" | \"delete\" | \"find\" | \"bulkGet\" | \"bulkResolve\" | \"get\" | \"resolve\" | \"update\" | \"bulkUpdate\">) => ", + ") => { createQuery: (attributes: ", + { + "pluginId": "data", + "scope": "common", + "docId": "kibDataQueryPluginApi", + "section": "def-common.SavedQueryAttributes", + "text": "SavedQueryAttributes" + }, + ", { overwrite }?: { overwrite?: boolean | undefined; }) => Promise; updateQuery: (id: string, attributes: ", + { + "pluginId": "data", + "scope": "common", + "docId": "kibDataQueryPluginApi", + "section": "def-common.SavedQueryAttributes", + "text": "SavedQueryAttributes" + }, + ") => Promise; getAllSavedQueries: () => Promise<", { "pluginId": "data", "scope": "public", "docId": "kibDataQueryPluginApi", - "section": "def-public.SavedQueryService", - "text": "SavedQueryService" - } + "section": "def-public.SavedQuery", + "text": "SavedQuery" + }, + "[]>; findSavedQueries: (search?: string, perPage?: number, page?: number) => Promise<{ total: number; queries: ", + { + "pluginId": "data", + "scope": "public", + "docId": "kibDataQueryPluginApi", + "section": "def-public.SavedQuery", + "text": "SavedQuery" + }, + "[]; }>; getSavedQuery: (id: string) => Promise<", + { + "pluginId": "data", + "scope": "public", + "docId": "kibDataQueryPluginApi", + "section": "def-public.SavedQuery", + "text": "SavedQuery" + }, + ">; deleteSavedQuery: (id: string) => Promise; getSavedQueryCount: () => Promise; }" ], "path": "src/plugins/data/public/query/saved_query/saved_query_service.ts", "deprecated": false, @@ -1184,18 +1372,16 @@ "id": "def-public.createSavedQueryService.$1", "type": "Object", "tags": [], - "label": "savedObjectsClient", + "label": "http", "description": [], "signature": [ - "Pick<", { "pluginId": "core", "scope": "public", - "docId": "kibCoreSavedObjectsPluginApi", - "section": "def-public.SavedObjectsClient", - "text": "SavedObjectsClient" - }, - ", \"create\" | \"bulkCreate\" | \"delete\" | \"find\" | \"bulkGet\" | \"bulkResolve\" | \"get\" | \"resolve\" | \"update\" | \"bulkUpdate\">" + "docId": "kibCoreHttpPluginApi", + "section": "def-public.HttpSetup", + "text": "HttpSetup" + } ], "path": "src/plugins/data/public/query/saved_query/saved_query_service.ts", "deprecated": false, @@ -1556,15 +1742,47 @@ }, "; queryString: Pick<", "QueryStringManager", - ", \"getDefaultQuery\" | \"formatQuery\" | \"getUpdates$\" | \"getQuery\" | \"setQuery\" | \"clearQuery\">; savedQueries: ", + ", \"getDefaultQuery\" | \"formatQuery\" | \"getUpdates$\" | \"getQuery\" | \"setQuery\" | \"clearQuery\">; savedQueries: { createQuery: (attributes: ", + { + "pluginId": "data", + "scope": "common", + "docId": "kibDataQueryPluginApi", + "section": "def-common.SavedQueryAttributes", + "text": "SavedQueryAttributes" + }, + ", { overwrite }?: { overwrite?: boolean | undefined; }) => Promise; updateQuery: (id: string, attributes: ", + { + "pluginId": "data", + "scope": "common", + "docId": "kibDataQueryPluginApi", + "section": "def-common.SavedQueryAttributes", + "text": "SavedQueryAttributes" + }, + ") => Promise; getAllSavedQueries: () => Promise<", { "pluginId": "data", "scope": "public", "docId": "kibDataQueryPluginApi", - "section": "def-public.SavedQueryService", - "text": "SavedQueryService" + "section": "def-public.SavedQuery", + "text": "SavedQuery" }, - "; state$: ", + "[]>; findSavedQueries: (search?: string, perPage?: number, page?: number) => Promise<{ total: number; queries: ", + { + "pluginId": "data", + "scope": "public", + "docId": "kibDataQueryPluginApi", + "section": "def-public.SavedQuery", + "text": "SavedQuery" + }, + "[]; }>; getSavedQuery: (id: string) => Promise<", + { + "pluginId": "data", + "scope": "public", + "docId": "kibDataQueryPluginApi", + "section": "def-public.SavedQuery", + "text": "SavedQuery" + }, + ">; deleteSavedQuery: (id: string) => Promise; getSavedQueryCount: () => Promise; }; state$: ", "Observable", "<{ changes: ", { @@ -1677,15 +1895,47 @@ }, "; queryString: Pick<", "QueryStringManager", - ", \"getDefaultQuery\" | \"formatQuery\" | \"getUpdates$\" | \"getQuery\" | \"setQuery\" | \"clearQuery\">; savedQueries: ", + ", \"getDefaultQuery\" | \"formatQuery\" | \"getUpdates$\" | \"getQuery\" | \"setQuery\" | \"clearQuery\">; savedQueries: { createQuery: (attributes: ", + { + "pluginId": "data", + "scope": "common", + "docId": "kibDataQueryPluginApi", + "section": "def-common.SavedQueryAttributes", + "text": "SavedQueryAttributes" + }, + ", { overwrite }?: { overwrite?: boolean | undefined; }) => Promise; updateQuery: (id: string, attributes: ", + { + "pluginId": "data", + "scope": "common", + "docId": "kibDataQueryPluginApi", + "section": "def-common.SavedQueryAttributes", + "text": "SavedQueryAttributes" + }, + ") => Promise; getAllSavedQueries: () => Promise<", + { + "pluginId": "data", + "scope": "public", + "docId": "kibDataQueryPluginApi", + "section": "def-public.SavedQuery", + "text": "SavedQuery" + }, + "[]>; findSavedQueries: (search?: string, perPage?: number, page?: number) => Promise<{ total: number; queries: ", { "pluginId": "data", "scope": "public", "docId": "kibDataQueryPluginApi", - "section": "def-public.SavedQueryService", - "text": "SavedQueryService" + "section": "def-public.SavedQuery", + "text": "SavedQuery" }, - "; state$: ", + "[]; }>; getSavedQuery: (id: string) => Promise<", + { + "pluginId": "data", + "scope": "public", + "docId": "kibDataQueryPluginApi", + "section": "def-public.SavedQuery", + "text": "SavedQuery" + }, + ">; deleteSavedQuery: (id: string) => Promise; getSavedQueryCount: () => Promise; }; state$: ", "Observable", "<{ changes: ", { @@ -1985,15 +2235,15 @@ "children": [ { "parentPluginId": "data", - "id": "def-public.SavedQueryService.saveQuery", + "id": "def-public.SavedQueryService.createQuery", "type": "Function", "tags": [], - "label": "saveQuery", + "label": "createQuery", "description": [], "signature": [ "(attributes: ", "SavedQueryAttributes", - ", config?: { overwrite: boolean; } | undefined) => Promise<", + ") => Promise<", { "pluginId": "data", "scope": "public", @@ -2008,7 +2258,7 @@ "children": [ { "parentPluginId": "data", - "id": "def-public.SavedQueryService.saveQuery.$1", + "id": "def-public.SavedQueryService.createQuery.$1", "type": "Object", "tags": [], "label": "attributes", @@ -2019,28 +2269,60 @@ "path": "src/plugins/data/public/query/saved_query/types.ts", "deprecated": false, "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "data", + "id": "def-public.SavedQueryService.updateQuery", + "type": "Function", + "tags": [], + "label": "updateQuery", + "description": [], + "signature": [ + "(id: string, attributes: ", + "SavedQueryAttributes", + ") => Promise<", + { + "pluginId": "data", + "scope": "public", + "docId": "kibDataQueryPluginApi", + "section": "def-public.SavedQuery", + "text": "SavedQuery" + }, + ">" + ], + "path": "src/plugins/data/public/query/saved_query/types.ts", + "deprecated": false, + "children": [ + { + "parentPluginId": "data", + "id": "def-public.SavedQueryService.updateQuery.$1", + "type": "string", + "tags": [], + "label": "id", + "description": [], + "signature": [ + "string" + ], + "path": "src/plugins/data/public/query/saved_query/types.ts", + "deprecated": false, + "isRequired": true }, { "parentPluginId": "data", - "id": "def-public.SavedQueryService.saveQuery.$2", + "id": "def-public.SavedQueryService.updateQuery.$2", "type": "Object", "tags": [], - "label": "config", + "label": "attributes", "description": [], + "signature": [ + "SavedQueryAttributes" + ], "path": "src/plugins/data/public/query/saved_query/types.ts", "deprecated": false, - "children": [ - { - "parentPluginId": "data", - "id": "def-public.SavedQueryService.saveQuery.$2.overwrite", - "type": "boolean", - "tags": [], - "label": "overwrite", - "description": [], - "path": "src/plugins/data/public/query/saved_query/types.ts", - "deprecated": false - } - ] + "isRequired": true } ], "returnComment": [] @@ -2265,15 +2547,47 @@ }, "; queryString: Pick<", "QueryStringManager", - ", \"getDefaultQuery\" | \"formatQuery\" | \"getUpdates$\" | \"getQuery\" | \"setQuery\" | \"clearQuery\">; savedQueries: ", + ", \"getDefaultQuery\" | \"formatQuery\" | \"getUpdates$\" | \"getQuery\" | \"setQuery\" | \"clearQuery\">; savedQueries: { createQuery: (attributes: ", + { + "pluginId": "data", + "scope": "common", + "docId": "kibDataQueryPluginApi", + "section": "def-common.SavedQueryAttributes", + "text": "SavedQueryAttributes" + }, + ", { overwrite }?: { overwrite?: boolean | undefined; }) => Promise; updateQuery: (id: string, attributes: ", + { + "pluginId": "data", + "scope": "common", + "docId": "kibDataQueryPluginApi", + "section": "def-common.SavedQueryAttributes", + "text": "SavedQueryAttributes" + }, + ") => Promise; getAllSavedQueries: () => Promise<", { "pluginId": "data", "scope": "public", "docId": "kibDataQueryPluginApi", - "section": "def-public.SavedQueryService", - "text": "SavedQueryService" + "section": "def-public.SavedQuery", + "text": "SavedQuery" }, - "; state$: ", + "[]>; findSavedQueries: (search?: string, perPage?: number, page?: number) => Promise<{ total: number; queries: ", + { + "pluginId": "data", + "scope": "public", + "docId": "kibDataQueryPluginApi", + "section": "def-public.SavedQuery", + "text": "SavedQuery" + }, + "[]; }>; getSavedQuery: (id: string) => Promise<", + { + "pluginId": "data", + "scope": "public", + "docId": "kibDataQueryPluginApi", + "section": "def-public.SavedQuery", + "text": "SavedQuery" + }, + ">; deleteSavedQuery: (id: string) => Promise; getSavedQueryCount: () => Promise; }; state$: ", "Observable", "<{ changes: ", { @@ -3059,6 +3373,134 @@ } ], "interfaces": [ + { + "parentPluginId": "data", + "id": "def-common.SavedQuery", + "type": "Interface", + "tags": [], + "label": "SavedQuery", + "description": [], + "path": "src/plugins/data/common/query/types.ts", + "deprecated": false, + "children": [ + { + "parentPluginId": "data", + "id": "def-common.SavedQuery.id", + "type": "string", + "tags": [], + "label": "id", + "description": [], + "path": "src/plugins/data/common/query/types.ts", + "deprecated": false + }, + { + "parentPluginId": "data", + "id": "def-common.SavedQuery.attributes", + "type": "Object", + "tags": [], + "label": "attributes", + "description": [], + "signature": [ + { + "pluginId": "data", + "scope": "common", + "docId": "kibDataQueryPluginApi", + "section": "def-common.SavedQueryAttributes", + "text": "SavedQueryAttributes" + } + ], + "path": "src/plugins/data/common/query/types.ts", + "deprecated": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "data", + "id": "def-common.SavedQueryAttributes", + "type": "Interface", + "tags": [], + "label": "SavedQueryAttributes", + "description": [], + "path": "src/plugins/data/common/query/types.ts", + "deprecated": false, + "children": [ + { + "parentPluginId": "data", + "id": "def-common.SavedQueryAttributes.title", + "type": "string", + "tags": [], + "label": "title", + "description": [], + "path": "src/plugins/data/common/query/types.ts", + "deprecated": false + }, + { + "parentPluginId": "data", + "id": "def-common.SavedQueryAttributes.description", + "type": "string", + "tags": [], + "label": "description", + "description": [], + "path": "src/plugins/data/common/query/types.ts", + "deprecated": false + }, + { + "parentPluginId": "data", + "id": "def-common.SavedQueryAttributes.query", + "type": "Object", + "tags": [], + "label": "query", + "description": [], + "signature": [ + "{ query: string | { [key: string]: any; }; language: string; }" + ], + "path": "src/plugins/data/common/query/types.ts", + "deprecated": false + }, + { + "parentPluginId": "data", + "id": "def-common.SavedQueryAttributes.filters", + "type": "Array", + "tags": [], + "label": "filters", + "description": [], + "signature": [ + { + "pluginId": "@kbn/es-query", + "scope": "common", + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.Filter", + "text": "Filter" + }, + "[] | undefined" + ], + "path": "src/plugins/data/common/query/types.ts", + "deprecated": false + }, + { + "parentPluginId": "data", + "id": "def-common.SavedQueryAttributes.timefilter", + "type": "CompoundType", + "tags": [], + "label": "timefilter", + "description": [], + "signature": [ + { + "pluginId": "data", + "scope": "common", + "docId": "kibDataQueryPluginApi", + "section": "def-common.SavedQueryTimeFilter", + "text": "SavedQueryTimeFilter" + }, + " | undefined" + ], + "path": "src/plugins/data/common/query/types.ts", + "deprecated": false + } + ], + "initialIsOpen": false + }, { "parentPluginId": "data", "id": "def-common.TimeRangeBounds", @@ -3115,6 +3557,35 @@ "deprecated": false, "initialIsOpen": false }, + { + "parentPluginId": "data", + "id": "def-common.SavedQueryTimeFilter", + "type": "Type", + "tags": [], + "label": "SavedQueryTimeFilter", + "description": [], + "signature": [ + { + "pluginId": "data", + "scope": "common", + "docId": "kibDataQueryPluginApi", + "section": "def-common.TimeRange", + "text": "TimeRange" + }, + " & { refreshInterval: ", + { + "pluginId": "data", + "scope": "common", + "docId": "kibDataQueryPluginApi", + "section": "def-common.RefreshInterval", + "text": "RefreshInterval" + }, + "; }" + ], + "path": "src/plugins/data/common/query/types.ts", + "deprecated": false, + "initialIsOpen": false + }, { "parentPluginId": "data", "id": "def-common.TimeRange", diff --git a/api_docs/data_query.mdx b/api_docs/data_query.mdx index e83e8043e970d3..72e44bc9b5ac21 100644 --- a/api_docs/data_query.mdx +++ b/api_docs/data_query.mdx @@ -18,7 +18,7 @@ Contact [App Services](https://github.com/orgs/elastic/teams/kibana-app-services | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 3193 | 43 | 2807 | 48 | +| 3238 | 40 | 2848 | 48 | ## Client diff --git a/api_docs/data_search.json b/api_docs/data_search.json index 01cfaaa5d781b7..6a7a9e1f72aa00 100644 --- a/api_docs/data_search.json +++ b/api_docs/data_search.json @@ -190,7 +190,15 @@ "section": "def-common.ISearchOptions", "text": "ISearchOptions" }, - ", \"isStored\" | \"isRestore\" | \"sessionId\">> | null; enableStorage: (searchSessionInfoProvider: ", + ", \"isStored\" | \"isRestore\" | \"sessionId\">> | null; enableStorage:

(searchSessionInfoProvider: ", { "pluginId": "data", "scope": "public", @@ -198,7 +206,7 @@ "section": "def-public.SearchSessionInfoProvider", "text": "SearchSessionInfoProvider" }, - ", searchSessionIndicatorUiConfig?: ", + "

, searchSessionIndicatorUiConfig?: ", "SearchSessionIndicatorUiConfig", " | undefined) => void; isSessionStorageReady: () => boolean; getSearchSessionIndicatorUiConfig: () => ", "SearchSessionIndicatorUiConfig", @@ -217,7 +225,7 @@ "\nSearch sessions SO CRUD\n{@link ISessionsClient}" ], "signature": [ - "{ create: ({ name, appId, urlGeneratorId, initialState, restoreState, sessionId, }: { name: string; appId: string; initialState: Record; restoreState: Record; urlGeneratorId: string; sessionId: string; }) => Promise<", + "{ create: ({ name, appId, locatorId, initialState, restoreState, sessionId, }: { name: string; appId: string; locatorId: string; initialState: Record; restoreState: Record; sessionId: string; }) => Promise<", "SearchSessionSavedObject", ">; delete: (sessionId: string) => Promise; find: (options: Pick<", { @@ -590,7 +598,15 @@ "section": "def-common.ISearchOptions", "text": "ISearchOptions" }, - ", \"isStored\" | \"isRestore\" | \"sessionId\">> | null; enableStorage: (searchSessionInfoProvider: ", + ", \"isStored\" | \"isRestore\" | \"sessionId\">> | null; enableStorage:

(searchSessionInfoProvider: ", { "pluginId": "data", "scope": "public", @@ -598,7 +614,7 @@ "section": "def-public.SearchSessionInfoProvider", "text": "SearchSessionInfoProvider" }, - ", searchSessionIndicatorUiConfig?: ", + "

, searchSessionIndicatorUiConfig?: ", "SearchSessionIndicatorUiConfig", " | undefined) => void; isSessionStorageReady: () => boolean; getSearchSessionIndicatorUiConfig: () => ", "SearchSessionIndicatorUiConfig", @@ -617,7 +633,7 @@ "\nSearch sessions SO CRUD\n{@link ISessionsClient}" ], "signature": [ - "{ create: ({ name, appId, urlGeneratorId, initialState, restoreState, sessionId, }: { name: string; appId: string; initialState: Record; restoreState: Record; urlGeneratorId: string; sessionId: string; }) => Promise<", + "{ create: ({ name, appId, locatorId, initialState, restoreState, sessionId, }: { name: string; appId: string; locatorId: string; initialState: Record; restoreState: Record; sessionId: string; }) => Promise<", "SearchSessionSavedObject", ">; delete: (sessionId: string) => Promise; find: (options: Pick<", { @@ -808,7 +824,7 @@ "section": "def-public.SearchSessionInfoProvider", "text": "SearchSessionInfoProvider" }, - "" + "

" ], "path": "src/plugins/data/public/search/session/session_service.ts", "deprecated": false, @@ -847,29 +863,13 @@ }, { "parentPluginId": "data", - "id": "def-public.SearchSessionInfoProvider.getUrlGeneratorData", + "id": "def-public.SearchSessionInfoProvider.getLocatorData", "type": "Function", "tags": [], - "label": "getUrlGeneratorData", + "label": "getLocatorData", "description": [], "signature": [ - "() => Promise<{ urlGeneratorId: ID; initialState: ", - { - "pluginId": "share", - "scope": "public", - "docId": "kibSharePluginApi", - "section": "def-public.UrlGeneratorStateMapping", - "text": "UrlGeneratorStateMapping" - }, - "[ID][\"State\"]; restoreState: ", - { - "pluginId": "share", - "scope": "public", - "docId": "kibSharePluginApi", - "section": "def-public.UrlGeneratorStateMapping", - "text": "UrlGeneratorStateMapping" - }, - "[ID][\"State\"]; }>" + "() => Promise<{ id: string; initialState: P; restoreState: P; }>" ], "path": "src/plugins/data/public/search/session/session_service.ts", "deprecated": false, @@ -957,7 +957,7 @@ "label": "ISessionsClient", "description": [], "signature": [ - "{ create: ({ name, appId, urlGeneratorId, initialState, restoreState, sessionId, }: { name: string; appId: string; initialState: Record; restoreState: Record; urlGeneratorId: string; sessionId: string; }) => Promise<", + "{ create: ({ name, appId, locatorId, initialState, restoreState, sessionId, }: { name: string; appId: string; locatorId: string; initialState: Record; restoreState: Record; sessionId: string; }) => Promise<", "SearchSessionSavedObject", ">; delete: (sessionId: string) => Promise; find: (options: Pick<", { @@ -1065,7 +1065,15 @@ "section": "def-common.ISearchOptions", "text": "ISearchOptions" }, - ", \"isStored\" | \"isRestore\" | \"sessionId\">> | null; enableStorage: (searchSessionInfoProvider: ", + ", \"isStored\" | \"isRestore\" | \"sessionId\">> | null; enableStorage:

(searchSessionInfoProvider: ", { "pluginId": "data", "scope": "public", @@ -1073,7 +1081,7 @@ "section": "def-public.SearchSessionInfoProvider", "text": "SearchSessionInfoProvider" }, - ", searchSessionIndicatorUiConfig?: ", + "

, searchSessionIndicatorUiConfig?: ", "SearchSessionIndicatorUiConfig", " | undefined) => void; isSessionStorageReady: () => boolean; getSearchSessionIndicatorUiConfig: () => ", "SearchSessionIndicatorUiConfig", @@ -9739,6 +9747,91 @@ "returnComment": [], "initialIsOpen": false }, + { + "parentPluginId": "data", + "id": "def-common.flattenHit", + "type": "Function", + "tags": [], + "label": "flattenHit", + "description": [ + "\nFlattens an individual hit (from an ES response) into an object. This will\ncreate flattened field names, like `user.name`.\n" + ], + "signature": [ + "(hit: Hit, indexPattern: ", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.IndexPattern", + "text": "IndexPattern" + }, + " | undefined, params: ", + "TabifyDocsOptions", + " | undefined) => Record" + ], + "path": "src/plugins/data/common/search/tabify/tabify_docs.ts", + "deprecated": false, + "children": [ + { + "parentPluginId": "data", + "id": "def-common.flattenHit.$1", + "type": "CompoundType", + "tags": [], + "label": "hit", + "description": [ + "The hit from an ES reponse's hits.hits[]" + ], + "signature": [ + "Hit" + ], + "path": "src/plugins/data/common/search/tabify/tabify_docs.ts", + "deprecated": false, + "isRequired": true + }, + { + "parentPluginId": "data", + "id": "def-common.flattenHit.$2", + "type": "Object", + "tags": [], + "label": "indexPattern", + "description": [ + "The index pattern for the requested index if available." + ], + "signature": [ + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.IndexPattern", + "text": "IndexPattern" + }, + " | undefined" + ], + "path": "src/plugins/data/common/search/tabify/tabify_docs.ts", + "deprecated": false, + "isRequired": false + }, + { + "parentPluginId": "data", + "id": "def-common.flattenHit.$3", + "type": "Object", + "tags": [], + "label": "params", + "description": [ + "Parameters how to flatten the hit" + ], + "signature": [ + "TabifyDocsOptions", + " | undefined" + ], + "path": "src/plugins/data/common/search/tabify/tabify_docs.ts", + "deprecated": false, + "isRequired": false + } + ], + "returnComment": [], + "initialIsOpen": false + }, { "parentPluginId": "data", "id": "def-common.functionWrapper", @@ -18963,13 +19056,7 @@ "text": "IKibanaSearchRequest" }, "<", - { - "pluginId": "data", - "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.EqlRequestParams", - "text": "EqlRequestParams" - }, + "EqlSearchRequest", ">" ], "path": "src/plugins/data/common/search/strategies/eql_search/types.ts", @@ -21359,12 +21446,12 @@ }, { "parentPluginId": "data", - "id": "def-common.SearchSessionSavedObjectAttributes.urlGeneratorId", + "id": "def-common.SearchSessionSavedObjectAttributes.locatorId", "type": "string", "tags": [], - "label": "urlGeneratorId", + "label": "locatorId", "description": [ - "\nurlGeneratorId" + "\nlocatorId (see share.url.locators service)" ], "signature": [ "string | undefined" @@ -21382,7 +21469,14 @@ "\nThe application state that was used to create the session.\nShould be used, for example, to re-load an expired search session." ], "signature": [ - "Record | undefined" + { + "pluginId": "@kbn/utility-types", + "scope": "server", + "docId": "kibKbnUtilityTypesPluginApi", + "section": "def-server.SerializableRecord", + "text": "SerializableRecord" + }, + " | undefined" ], "path": "src/plugins/data/common/search/session/types.ts", "deprecated": false @@ -21397,7 +21491,14 @@ "\nApplication state that should be used to restore the session.\nFor example, relative dates are conveted to absolute ones." ], "signature": [ - "Record | undefined" + { + "pluginId": "@kbn/utility-types", + "scope": "server", + "docId": "kibKbnUtilityTypesPluginApi", + "section": "def-server.SerializableRecord", + "text": "SerializableRecord" + }, + " | undefined" ], "path": "src/plugins/data/common/search/session/types.ts", "deprecated": false @@ -23219,8 +23320,7 @@ "label": "EqlRequestParams", "description": [], "signature": [ - "EqlSearch", - ">" + "EqlSearchRequest" ], "path": "src/plugins/data/common/search/strategies/eql_search/types.ts", "deprecated": false, @@ -23242,7 +23342,7 @@ "text": "IKibanaSearchResponse" }, "<", - "ApiResponse", + "TransportResult", ">" ], "path": "src/plugins/data/common/search/strategies/eql_search/types.ts", @@ -24689,62 +24789,216 @@ }, { "parentPluginId": "data", - "id": "def-common.ExpressionValueSearchContext", + "id": "def-common.ExpressionFunctionRemoveFilter", "type": "Type", "tags": [], - "label": "ExpressionValueSearchContext", + "label": "ExpressionFunctionRemoveFilter", "description": [], "signature": [ - "{ type: \"kibana_context\"; } & ", + { + "pluginId": "expressions", + "scope": "common", + "docId": "kibExpressionsPluginApi", + "section": "def-common.ExpressionFunctionDefinition", + "text": "ExpressionFunctionDefinition" + }, + "<\"removeFilter\", ", + { + "pluginId": "expressions", + "scope": "common", + "docId": "kibExpressionsPluginApi", + "section": "def-common.ExpressionValueBoxed", + "text": "ExpressionValueBoxed" + }, + "<\"kibana_context\", ", { "pluginId": "data", "scope": "common", "docId": "kibDataSearchPluginApi", "section": "def-common.ExecutionContextSearch", "text": "ExecutionContextSearch" - } + }, + ">, Arguments, ", + { + "pluginId": "expressions", + "scope": "common", + "docId": "kibExpressionsPluginApi", + "section": "def-common.ExpressionValueBoxed", + "text": "ExpressionValueBoxed" + }, + "<\"kibana_context\", ", + { + "pluginId": "data", + "scope": "common", + "docId": "kibDataSearchPluginApi", + "section": "def-common.ExecutionContextSearch", + "text": "ExecutionContextSearch" + }, + ">, ", + { + "pluginId": "expressions", + "scope": "common", + "docId": "kibExpressionsPluginApi", + "section": "def-common.ExecutionContext", + "text": "ExecutionContext" + }, + "<", + { + "pluginId": "inspector", + "scope": "common", + "docId": "kibInspectorPluginApi", + "section": "def-common.Adapters", + "text": "Adapters" + }, + ", ", + { + "pluginId": "@kbn/utility-types", + "scope": "server", + "docId": "kibKbnUtilityTypesPluginApi", + "section": "def-server.SerializableRecord", + "text": "SerializableRecord" + }, + ">>" ], - "path": "src/plugins/data/common/search/expressions/kibana_context_type.ts", + "path": "src/plugins/data/common/search/expressions/remove_filter.ts", "deprecated": false, "initialIsOpen": false }, { "parentPluginId": "data", - "id": "def-common.ExtendedBoundsOutput", + "id": "def-common.ExpressionFunctionSelectFilter", "type": "Type", "tags": [], - "label": "ExtendedBoundsOutput", + "label": "ExpressionFunctionSelectFilter", "description": [], "signature": [ - "{ type: \"extended_bounds\"; } & ", + { + "pluginId": "expressions", + "scope": "common", + "docId": "kibExpressionsPluginApi", + "section": "def-common.ExpressionFunctionDefinition", + "text": "ExpressionFunctionDefinition" + }, + "<\"selectFilter\", ", + { + "pluginId": "expressions", + "scope": "common", + "docId": "kibExpressionsPluginApi", + "section": "def-common.ExpressionValueBoxed", + "text": "ExpressionValueBoxed" + }, + "<\"kibana_context\", ", { "pluginId": "data", "scope": "common", "docId": "kibDataSearchPluginApi", - "section": "def-common.ExtendedBounds", - "text": "ExtendedBounds" - } + "section": "def-common.ExecutionContextSearch", + "text": "ExecutionContextSearch" + }, + ">, Arguments, ", + { + "pluginId": "expressions", + "scope": "common", + "docId": "kibExpressionsPluginApi", + "section": "def-common.ExpressionValueBoxed", + "text": "ExpressionValueBoxed" + }, + "<\"kibana_context\", ", + { + "pluginId": "data", + "scope": "common", + "docId": "kibDataSearchPluginApi", + "section": "def-common.ExecutionContextSearch", + "text": "ExecutionContextSearch" + }, + ">, ", + { + "pluginId": "expressions", + "scope": "common", + "docId": "kibExpressionsPluginApi", + "section": "def-common.ExecutionContext", + "text": "ExecutionContext" + }, + "<", + { + "pluginId": "inspector", + "scope": "common", + "docId": "kibInspectorPluginApi", + "section": "def-common.Adapters", + "text": "Adapters" + }, + ", ", + { + "pluginId": "@kbn/utility-types", + "scope": "server", + "docId": "kibKbnUtilityTypesPluginApi", + "section": "def-server.SerializableRecord", + "text": "SerializableRecord" + }, + ">>" ], - "path": "src/plugins/data/common/search/expressions/extended_bounds.ts", + "path": "src/plugins/data/common/search/expressions/select_filter.ts", "deprecated": false, "initialIsOpen": false }, { "parentPluginId": "data", - "id": "def-common.FieldTypes", + "id": "def-common.ExpressionValueSearchContext", "type": "Type", "tags": [], - "label": "FieldTypes", + "label": "ExpressionValueSearchContext", "description": [], "signature": [ + "{ type: \"kibana_context\"; } & ", { - "pluginId": "@kbn/field-types", - "scope": "server", - "docId": "kibKbnFieldTypesPluginApi", - "section": "def-server.KBN_FIELD_TYPES", - "text": "KBN_FIELD_TYPES" - }, - " | \"*\" | ", + "pluginId": "data", + "scope": "common", + "docId": "kibDataSearchPluginApi", + "section": "def-common.ExecutionContextSearch", + "text": "ExecutionContextSearch" + } + ], + "path": "src/plugins/data/common/search/expressions/kibana_context_type.ts", + "deprecated": false, + "initialIsOpen": false + }, + { + "parentPluginId": "data", + "id": "def-common.ExtendedBoundsOutput", + "type": "Type", + "tags": [], + "label": "ExtendedBoundsOutput", + "description": [], + "signature": [ + "{ type: \"extended_bounds\"; } & ", + { + "pluginId": "data", + "scope": "common", + "docId": "kibDataSearchPluginApi", + "section": "def-common.ExtendedBounds", + "text": "ExtendedBounds" + } + ], + "path": "src/plugins/data/common/search/expressions/extended_bounds.ts", + "deprecated": false, + "initialIsOpen": false + }, + { + "parentPluginId": "data", + "id": "def-common.FieldTypes", + "type": "Type", + "tags": [], + "label": "FieldTypes", + "description": [], + "signature": [ + { + "pluginId": "@kbn/field-types", + "scope": "server", + "docId": "kibKbnFieldTypesPluginApi", + "section": "def-server.KBN_FIELD_TYPES", + "text": "KBN_FIELD_TYPES" + }, + " | \"*\" | ", { "pluginId": "@kbn/field-types", "scope": "server", @@ -30794,6 +31048,656 @@ ], "initialIsOpen": false }, + { + "parentPluginId": "data", + "id": "def-common.removeFilterFunction", + "type": "Object", + "tags": [], + "label": "removeFilterFunction", + "description": [], + "path": "src/plugins/data/common/search/expressions/remove_filter.ts", + "deprecated": false, + "children": [ + { + "parentPluginId": "data", + "id": "def-common.removeFilterFunction.name", + "type": "string", + "tags": [], + "label": "name", + "description": [], + "signature": [ + "\"removeFilter\"" + ], + "path": "src/plugins/data/common/search/expressions/remove_filter.ts", + "deprecated": false + }, + { + "parentPluginId": "data", + "id": "def-common.removeFilterFunction.type", + "type": "string", + "tags": [], + "label": "type", + "description": [], + "signature": [ + "\"kibana_context\"" + ], + "path": "src/plugins/data/common/search/expressions/remove_filter.ts", + "deprecated": false + }, + { + "parentPluginId": "data", + "id": "def-common.removeFilterFunction.inputTypes", + "type": "Array", + "tags": [], + "label": "inputTypes", + "description": [], + "signature": [ + "\"kibana_context\"[]" + ], + "path": "src/plugins/data/common/search/expressions/remove_filter.ts", + "deprecated": false + }, + { + "parentPluginId": "data", + "id": "def-common.removeFilterFunction.help", + "type": "string", + "tags": [], + "label": "help", + "description": [], + "path": "src/plugins/data/common/search/expressions/remove_filter.ts", + "deprecated": false + }, + { + "parentPluginId": "data", + "id": "def-common.removeFilterFunction.args", + "type": "Object", + "tags": [], + "label": "args", + "description": [], + "path": "src/plugins/data/common/search/expressions/remove_filter.ts", + "deprecated": false, + "children": [ + { + "parentPluginId": "data", + "id": "def-common.removeFilterFunction.args.group", + "type": "Object", + "tags": [], + "label": "group", + "description": [], + "path": "src/plugins/data/common/search/expressions/remove_filter.ts", + "deprecated": false, + "children": [ + { + "parentPluginId": "data", + "id": "def-common.removeFilterFunction.args.group.types", + "type": "Array", + "tags": [], + "label": "types", + "description": [], + "signature": [ + "\"string\"[]" + ], + "path": "src/plugins/data/common/search/expressions/remove_filter.ts", + "deprecated": false + }, + { + "parentPluginId": "data", + "id": "def-common.removeFilterFunction.args.group.aliases", + "type": "Array", + "tags": [], + "label": "aliases", + "description": [], + "signature": [ + "string[]" + ], + "path": "src/plugins/data/common/search/expressions/remove_filter.ts", + "deprecated": false + }, + { + "parentPluginId": "data", + "id": "def-common.removeFilterFunction.args.group.help", + "type": "string", + "tags": [], + "label": "help", + "description": [], + "path": "src/plugins/data/common/search/expressions/remove_filter.ts", + "deprecated": false + } + ] + }, + { + "parentPluginId": "data", + "id": "def-common.removeFilterFunction.args.from", + "type": "Object", + "tags": [], + "label": "from", + "description": [], + "path": "src/plugins/data/common/search/expressions/remove_filter.ts", + "deprecated": false, + "children": [ + { + "parentPluginId": "data", + "id": "def-common.removeFilterFunction.args.from.types", + "type": "Array", + "tags": [], + "label": "types", + "description": [], + "signature": [ + "\"string\"[]" + ], + "path": "src/plugins/data/common/search/expressions/remove_filter.ts", + "deprecated": false + }, + { + "parentPluginId": "data", + "id": "def-common.removeFilterFunction.args.from.help", + "type": "string", + "tags": [], + "label": "help", + "description": [], + "path": "src/plugins/data/common/search/expressions/remove_filter.ts", + "deprecated": false + } + ] + }, + { + "parentPluginId": "data", + "id": "def-common.removeFilterFunction.args.ungrouped", + "type": "Object", + "tags": [], + "label": "ungrouped", + "description": [], + "path": "src/plugins/data/common/search/expressions/remove_filter.ts", + "deprecated": false, + "children": [ + { + "parentPluginId": "data", + "id": "def-common.removeFilterFunction.args.ungrouped.types", + "type": "Array", + "tags": [], + "label": "types", + "description": [], + "signature": [ + "\"boolean\"[]" + ], + "path": "src/plugins/data/common/search/expressions/remove_filter.ts", + "deprecated": false + }, + { + "parentPluginId": "data", + "id": "def-common.removeFilterFunction.args.ungrouped.aliases", + "type": "Array", + "tags": [], + "label": "aliases", + "description": [], + "signature": [ + "string[]" + ], + "path": "src/plugins/data/common/search/expressions/remove_filter.ts", + "deprecated": false + }, + { + "parentPluginId": "data", + "id": "def-common.removeFilterFunction.args.ungrouped.default", + "type": "boolean", + "tags": [], + "label": "default", + "description": [], + "signature": [ + "false" + ], + "path": "src/plugins/data/common/search/expressions/remove_filter.ts", + "deprecated": false + }, + { + "parentPluginId": "data", + "id": "def-common.removeFilterFunction.args.ungrouped.help", + "type": "string", + "tags": [], + "label": "help", + "description": [], + "path": "src/plugins/data/common/search/expressions/remove_filter.ts", + "deprecated": false + } + ] + } + ] + }, + { + "parentPluginId": "data", + "id": "def-common.removeFilterFunction.fn", + "type": "Function", + "tags": [], + "label": "fn", + "description": [], + "signature": [ + "(input: ", + { + "pluginId": "expressions", + "scope": "common", + "docId": "kibExpressionsPluginApi", + "section": "def-common.ExpressionValueBoxed", + "text": "ExpressionValueBoxed" + }, + "<\"kibana_context\", ", + { + "pluginId": "data", + "scope": "common", + "docId": "kibDataSearchPluginApi", + "section": "def-common.ExecutionContextSearch", + "text": "ExecutionContextSearch" + }, + ">, { group, from, ungrouped }: Arguments) => { filters: ", + { + "pluginId": "@kbn/es-query", + "scope": "common", + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.Filter", + "text": "Filter" + }, + "[]; type: \"kibana_context\"; query?: ", + { + "pluginId": "@kbn/es-query", + "scope": "common", + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.Query", + "text": "Query" + }, + " | ", + { + "pluginId": "@kbn/es-query", + "scope": "common", + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.Query", + "text": "Query" + }, + "[] | undefined; timeRange?: ", + { + "pluginId": "data", + "scope": "common", + "docId": "kibDataQueryPluginApi", + "section": "def-common.TimeRange", + "text": "TimeRange" + }, + " | undefined; }" + ], + "path": "src/plugins/data/common/search/expressions/remove_filter.ts", + "deprecated": false, + "children": [ + { + "parentPluginId": "data", + "id": "def-common.removeFilterFunction.fn.$1", + "type": "CompoundType", + "tags": [], + "label": "input", + "description": [], + "signature": [ + { + "pluginId": "expressions", + "scope": "common", + "docId": "kibExpressionsPluginApi", + "section": "def-common.ExpressionValueBoxed", + "text": "ExpressionValueBoxed" + }, + "<\"kibana_context\", ", + { + "pluginId": "data", + "scope": "common", + "docId": "kibDataSearchPluginApi", + "section": "def-common.ExecutionContextSearch", + "text": "ExecutionContextSearch" + }, + ">" + ], + "path": "src/plugins/data/common/search/expressions/remove_filter.ts", + "deprecated": false, + "isRequired": true + }, + { + "parentPluginId": "data", + "id": "def-common.removeFilterFunction.fn.$2", + "type": "Object", + "tags": [], + "label": "{ group, from, ungrouped }", + "description": [], + "signature": [ + "Arguments" + ], + "path": "src/plugins/data/common/search/expressions/remove_filter.ts", + "deprecated": false, + "isRequired": true + } + ], + "returnComment": [] + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "data", + "id": "def-common.selectFilterFunction", + "type": "Object", + "tags": [], + "label": "selectFilterFunction", + "description": [], + "path": "src/plugins/data/common/search/expressions/select_filter.ts", + "deprecated": false, + "children": [ + { + "parentPluginId": "data", + "id": "def-common.selectFilterFunction.name", + "type": "string", + "tags": [], + "label": "name", + "description": [], + "signature": [ + "\"selectFilter\"" + ], + "path": "src/plugins/data/common/search/expressions/select_filter.ts", + "deprecated": false + }, + { + "parentPluginId": "data", + "id": "def-common.selectFilterFunction.type", + "type": "string", + "tags": [], + "label": "type", + "description": [], + "signature": [ + "\"kibana_context\"" + ], + "path": "src/plugins/data/common/search/expressions/select_filter.ts", + "deprecated": false + }, + { + "parentPluginId": "data", + "id": "def-common.selectFilterFunction.inputTypes", + "type": "Array", + "tags": [], + "label": "inputTypes", + "description": [], + "signature": [ + "\"kibana_context\"[]" + ], + "path": "src/plugins/data/common/search/expressions/select_filter.ts", + "deprecated": false + }, + { + "parentPluginId": "data", + "id": "def-common.selectFilterFunction.help", + "type": "string", + "tags": [], + "label": "help", + "description": [], + "path": "src/plugins/data/common/search/expressions/select_filter.ts", + "deprecated": false + }, + { + "parentPluginId": "data", + "id": "def-common.selectFilterFunction.args", + "type": "Object", + "tags": [], + "label": "args", + "description": [], + "path": "src/plugins/data/common/search/expressions/select_filter.ts", + "deprecated": false, + "children": [ + { + "parentPluginId": "data", + "id": "def-common.selectFilterFunction.args.group", + "type": "Object", + "tags": [], + "label": "group", + "description": [], + "path": "src/plugins/data/common/search/expressions/select_filter.ts", + "deprecated": false, + "children": [ + { + "parentPluginId": "data", + "id": "def-common.selectFilterFunction.args.group.types", + "type": "Array", + "tags": [], + "label": "types", + "description": [], + "signature": [ + "\"string\"[]" + ], + "path": "src/plugins/data/common/search/expressions/select_filter.ts", + "deprecated": false + }, + { + "parentPluginId": "data", + "id": "def-common.selectFilterFunction.args.group.aliases", + "type": "Array", + "tags": [], + "label": "aliases", + "description": [], + "signature": [ + "string[]" + ], + "path": "src/plugins/data/common/search/expressions/select_filter.ts", + "deprecated": false + }, + { + "parentPluginId": "data", + "id": "def-common.selectFilterFunction.args.group.help", + "type": "string", + "tags": [], + "label": "help", + "description": [], + "path": "src/plugins/data/common/search/expressions/select_filter.ts", + "deprecated": false + } + ] + }, + { + "parentPluginId": "data", + "id": "def-common.selectFilterFunction.args.from", + "type": "Object", + "tags": [], + "label": "from", + "description": [], + "path": "src/plugins/data/common/search/expressions/select_filter.ts", + "deprecated": false, + "children": [ + { + "parentPluginId": "data", + "id": "def-common.selectFilterFunction.args.from.types", + "type": "Array", + "tags": [], + "label": "types", + "description": [], + "signature": [ + "\"string\"[]" + ], + "path": "src/plugins/data/common/search/expressions/select_filter.ts", + "deprecated": false + }, + { + "parentPluginId": "data", + "id": "def-common.selectFilterFunction.args.from.help", + "type": "string", + "tags": [], + "label": "help", + "description": [], + "path": "src/plugins/data/common/search/expressions/select_filter.ts", + "deprecated": false + } + ] + }, + { + "parentPluginId": "data", + "id": "def-common.selectFilterFunction.args.ungrouped", + "type": "Object", + "tags": [], + "label": "ungrouped", + "description": [], + "path": "src/plugins/data/common/search/expressions/select_filter.ts", + "deprecated": false, + "children": [ + { + "parentPluginId": "data", + "id": "def-common.selectFilterFunction.args.ungrouped.types", + "type": "Array", + "tags": [], + "label": "types", + "description": [], + "signature": [ + "\"boolean\"[]" + ], + "path": "src/plugins/data/common/search/expressions/select_filter.ts", + "deprecated": false + }, + { + "parentPluginId": "data", + "id": "def-common.selectFilterFunction.args.ungrouped.aliases", + "type": "Array", + "tags": [], + "label": "aliases", + "description": [], + "signature": [ + "string[]" + ], + "path": "src/plugins/data/common/search/expressions/select_filter.ts", + "deprecated": false + }, + { + "parentPluginId": "data", + "id": "def-common.selectFilterFunction.args.ungrouped.default", + "type": "boolean", + "tags": [], + "label": "default", + "description": [], + "signature": [ + "false" + ], + "path": "src/plugins/data/common/search/expressions/select_filter.ts", + "deprecated": false + }, + { + "parentPluginId": "data", + "id": "def-common.selectFilterFunction.args.ungrouped.help", + "type": "string", + "tags": [], + "label": "help", + "description": [], + "path": "src/plugins/data/common/search/expressions/select_filter.ts", + "deprecated": false + } + ] + } + ] + }, + { + "parentPluginId": "data", + "id": "def-common.selectFilterFunction.fn", + "type": "Function", + "tags": [], + "label": "fn", + "description": [], + "signature": [ + "(input: ", + { + "pluginId": "expressions", + "scope": "common", + "docId": "kibExpressionsPluginApi", + "section": "def-common.ExpressionValueBoxed", + "text": "ExpressionValueBoxed" + }, + "<\"kibana_context\", ", + { + "pluginId": "data", + "scope": "common", + "docId": "kibDataSearchPluginApi", + "section": "def-common.ExecutionContextSearch", + "text": "ExecutionContextSearch" + }, + ">, { group, ungrouped, from }: Arguments) => { filters: ", + { + "pluginId": "@kbn/es-query", + "scope": "common", + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.Filter", + "text": "Filter" + }, + "[]; type: \"kibana_context\"; query?: ", + { + "pluginId": "@kbn/es-query", + "scope": "common", + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.Query", + "text": "Query" + }, + " | ", + { + "pluginId": "@kbn/es-query", + "scope": "common", + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.Query", + "text": "Query" + }, + "[] | undefined; timeRange?: ", + { + "pluginId": "data", + "scope": "common", + "docId": "kibDataQueryPluginApi", + "section": "def-common.TimeRange", + "text": "TimeRange" + }, + " | undefined; }" + ], + "path": "src/plugins/data/common/search/expressions/select_filter.ts", + "deprecated": false, + "children": [ + { + "parentPluginId": "data", + "id": "def-common.selectFilterFunction.fn.$1", + "type": "CompoundType", + "tags": [], + "label": "input", + "description": [], + "signature": [ + { + "pluginId": "expressions", + "scope": "common", + "docId": "kibExpressionsPluginApi", + "section": "def-common.ExpressionValueBoxed", + "text": "ExpressionValueBoxed" + }, + "<\"kibana_context\", ", + { + "pluginId": "data", + "scope": "common", + "docId": "kibDataSearchPluginApi", + "section": "def-common.ExecutionContextSearch", + "text": "ExecutionContextSearch" + }, + ">" + ], + "path": "src/plugins/data/common/search/expressions/select_filter.ts", + "deprecated": false, + "isRequired": true + }, + { + "parentPluginId": "data", + "id": "def-common.selectFilterFunction.fn.$2", + "type": "Object", + "tags": [], + "label": "{ group, ungrouped, from }", + "description": [], + "signature": [ + "Arguments" + ], + "path": "src/plugins/data/common/search/expressions/select_filter.ts", + "deprecated": false, + "isRequired": true + } + ], + "returnComment": [] + } + ], + "initialIsOpen": false + }, { "parentPluginId": "data", "id": "def-common.siblingPipelineAggHelper", diff --git a/api_docs/data_search.mdx b/api_docs/data_search.mdx index d4d521164f6ce3..a8aa1bfaeea25b 100644 --- a/api_docs/data_search.mdx +++ b/api_docs/data_search.mdx @@ -18,7 +18,7 @@ Contact [App Services](https://github.com/orgs/elastic/teams/kibana-app-services | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 3193 | 43 | 2807 | 48 | +| 3238 | 40 | 2848 | 48 | ## Client diff --git a/api_docs/data_ui.mdx b/api_docs/data_ui.mdx index 81fec9e59c0dab..4b6d1482646501 100644 --- a/api_docs/data_ui.mdx +++ b/api_docs/data_ui.mdx @@ -18,7 +18,7 @@ Contact [App Services](https://github.com/orgs/elastic/teams/kibana-app-services | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 3193 | 43 | 2807 | 48 | +| 3238 | 40 | 2848 | 48 | ## Client diff --git a/api_docs/data_views.json b/api_docs/data_views.json index 1d6f430c302c25..3cd0d35e518909 100644 --- a/api_docs/data_views.json +++ b/api_docs/data_views.json @@ -162,97 +162,28 @@ }, { "parentPluginId": "dataViews", - "id": "def-public.DataView.formatHit", + "id": "def-public.DataView.flattenHit", "type": "Function", - "tags": [], - "label": "formatHit", - "description": [], - "signature": [ - "{ (hit: Record, type?: string | undefined): any; formatField: FormatFieldFn; }" + "tags": [ + "deprecated" ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "returnComment": [], - "children": [ - { - "parentPluginId": "dataViews", - "id": "def-public.DataView.formatHit.$1", - "type": "Object", - "tags": [], - "label": "hit", - "description": [], - "signature": [ - "{ [x: string]: any; }" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false - }, - { - "parentPluginId": "dataViews", - "id": "def-public.DataView.formatHit.$2", - "type": "string", - "tags": [], - "label": "type", - "description": [], - "signature": [ - "string | undefined" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false - } - ] - }, - { - "parentPluginId": "dataViews", - "id": "def-public.DataView.formatField", - "type": "Function", - "tags": [], - "label": "formatField", + "label": "flattenHit", "description": [], "signature": [ - "(hit: Record, fieldName: string) => any" + "(hit: Record, deep?: boolean | undefined) => Record" ], "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "returnComment": [], - "children": [ + "deprecated": true, + "references": [ { - "parentPluginId": "dataViews", - "id": "def-public.DataView.formatField.$1", - "type": "Object", - "tags": [], - "label": "hit", - "description": [], - "signature": [ - "{ [x: string]: any; }" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false + "plugin": "maps", + "path": "x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.tsx" }, { - "parentPluginId": "dataViews", - "id": "def-public.DataView.formatField.$2", - "type": "string", - "tags": [], - "label": "fieldName", - "description": [], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false + "plugin": "maps", + "path": "x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.tsx" } - ] - }, - { - "parentPluginId": "dataViews", - "id": "def-public.DataView.flattenHit", - "type": "Function", - "tags": [], - "label": "flattenHit", - "description": [], - "signature": [ - "(hit: Record, deep?: boolean | undefined) => Record" ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, "returnComment": [], "children": [ { @@ -3311,19 +3242,19 @@ }, { "plugin": "discover", - "path": "src/plugins/discover/public/application/embeddable/saved_search_embeddable.tsx" + "path": "src/plugins/discover/public/application/components/data_visualizer_grid/data_visualizer_grid.tsx" }, { "plugin": "discover", - "path": "src/plugins/discover/public/application/embeddable/saved_search_embeddable.tsx" + "path": "src/plugins/discover/public/application/components/data_visualizer_grid/data_visualizer_grid.tsx" }, { "plugin": "discover", - "path": "src/plugins/discover/public/application/services/use_es_doc_search.ts" + "path": "src/plugins/discover/public/application/embeddable/saved_search_embeddable.tsx" }, { "plugin": "discover", - "path": "src/plugins/discover/public/application/services/use_es_doc_search.ts" + "path": "src/plugins/discover/public/application/embeddable/saved_search_embeddable.tsx" }, { "plugin": "discover", @@ -3675,11 +3606,11 @@ }, { "plugin": "dataVisualizer", - "path": "x-pack/plugins/data_visualizer/public/application/index_data_visualizer/index_data_visualizer.tsx" + "path": "x-pack/plugins/data_visualizer/public/application/index_data_visualizer/embeddables/grid_embeddable/grid_embeddable.tsx" }, { "plugin": "dataVisualizer", - "path": "x-pack/plugins/data_visualizer/public/application/index_data_visualizer/index_data_visualizer.tsx" + "path": "x-pack/plugins/data_visualizer/public/application/index_data_visualizer/embeddables/grid_embeddable/grid_embeddable.tsx" }, { "plugin": "apm", @@ -3689,14 +3620,6 @@ "plugin": "apm", "path": "x-pack/plugins/apm/public/components/app/RumDashboard/LocalUIFilters/SelectedFilters.tsx" }, - { - "plugin": "apm", - "path": "x-pack/plugins/apm/public/components/app/RumDashboard/LocalUIFilters/use_index_pattern.ts" - }, - { - "plugin": "apm", - "path": "x-pack/plugins/apm/public/components/app/RumDashboard/LocalUIFilters/use_index_pattern.ts" - }, { "plugin": "lens", "path": "x-pack/plugins/lens/server/routes/existing_fields.ts" @@ -3715,27 +3638,27 @@ }, { "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/scheduled_query_groups/use_scheduled_query_group_query_errors.ts" + "path": "x-pack/plugins/osquery/public/packs/use_pack_query_errors.ts" }, { "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/scheduled_query_groups/use_scheduled_query_group_query_errors.ts" + "path": "x-pack/plugins/osquery/public/packs/use_pack_query_errors.ts" }, { "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/scheduled_query_groups/use_scheduled_query_group_query_last_results.ts" + "path": "x-pack/plugins/osquery/public/packs/use_pack_query_last_results.ts" }, { "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/scheduled_query_groups/use_scheduled_query_group_query_last_results.ts" + "path": "x-pack/plugins/osquery/public/packs/use_pack_query_last_results.ts" }, { "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/scheduled_query_groups/scheduled_query_group_queries_status_table.tsx" + "path": "x-pack/plugins/osquery/public/packs/pack_queries_status_table.tsx" }, { "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/scheduled_query_groups/scheduled_query_group_queries_status_table.tsx" + "path": "x-pack/plugins/osquery/public/packs/pack_queries_status_table.tsx" }, { "plugin": "securitySolution", @@ -4133,14 +4056,6 @@ "plugin": "discover", "path": "src/plugins/discover/target/types/public/application/apps/main/components/doc_table/components/table_header/helpers.d.ts" }, - { - "plugin": "discover", - "path": "src/plugins/discover/target/types/public/application/components/discover_grid/discover_grid.d.ts" - }, - { - "plugin": "discover", - "path": "src/plugins/discover/target/types/public/application/components/discover_grid/discover_grid.d.ts" - }, { "plugin": "discover", "path": "src/plugins/discover/target/types/public/application/apps/main/components/doc_table/doc_table_wrapper.d.ts" @@ -4273,14 +4188,6 @@ "plugin": "discover", "path": "src/plugins/discover/target/types/public/application/apps/context/services/utils/sorting.d.ts" }, - { - "plugin": "discover", - "path": "src/plugins/discover/target/types/public/application/apps/main/utils/calc_field_counts.d.ts" - }, - { - "plugin": "discover", - "path": "src/plugins/discover/target/types/public/application/apps/main/utils/calc_field_counts.d.ts" - }, { "plugin": "discover", "path": "src/plugins/discover/target/types/public/application/apps/main/utils/get_switch_index_pattern_app_state.d.ts" @@ -4357,6 +4264,22 @@ "plugin": "discover", "path": "src/plugins/discover/target/types/public/application/apps/main/components/doc_table/components/table_header/table_header.d.ts" }, + { + "plugin": "discover", + "path": "src/plugins/discover/public/application/components/source_viewer/source_viewer.tsx" + }, + { + "plugin": "discover", + "path": "src/plugins/discover/public/application/components/source_viewer/source_viewer.tsx" + }, + { + "plugin": "apm", + "path": "x-pack/plugins/apm/public/components/app/RumDashboard/LocalUIFilters/selected_wildcards.tsx" + }, + { + "plugin": "apm", + "path": "x-pack/plugins/apm/public/components/app/RumDashboard/LocalUIFilters/selected_wildcards.tsx" + }, { "plugin": "discover", "path": "src/plugins/discover/public/application/apps/context/utils/use_context_app_fetch.test.ts" @@ -4573,6 +4496,14 @@ "plugin": "discover", "path": "src/plugins/discover/public/application/components/table/table.tsx" }, + { + "plugin": "discover", + "path": "src/plugins/discover/public/application/apps/doc/components/doc.tsx" + }, + { + "plugin": "discover", + "path": "src/plugins/discover/public/application/apps/doc/components/doc.tsx" + }, { "plugin": "discover", "path": "src/plugins/discover/public/application/apps/context/services/anchor.ts" @@ -4695,15 +4626,15 @@ }, { "plugin": "visualizations", - "path": "src/plugins/visualizations/public/embeddable/visualize_embeddable.ts" + "path": "src/plugins/visualizations/public/embeddable/visualize_embeddable.tsx" }, { "plugin": "visualizations", - "path": "src/plugins/visualizations/public/embeddable/visualize_embeddable.ts" + "path": "src/plugins/visualizations/public/embeddable/visualize_embeddable.tsx" }, { "plugin": "visualizations", - "path": "src/plugins/visualizations/public/embeddable/visualize_embeddable.ts" + "path": "src/plugins/visualizations/public/embeddable/visualize_embeddable.tsx" }, { "plugin": "dashboard", @@ -4817,6 +4748,22 @@ "plugin": "observability", "path": "x-pack/plugins/observability/public/components/shared/exploratory_view/components/filter_label.tsx" }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/public/index_pattern_util.ts" + }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/public/index_pattern_util.ts" + }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/public/index_pattern_util.ts" + }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/public/index_pattern_util.ts" + }, { "plugin": "maps", "path": "x-pack/plugins/maps/public/classes/tooltips/es_tooltip_property.ts" @@ -4881,22 +4828,6 @@ "plugin": "maps", "path": "x-pack/plugins/maps/public/classes/sources/es_source/es_source.ts" }, - { - "plugin": "maps", - "path": "x-pack/plugins/maps/public/index_pattern_util.ts" - }, - { - "plugin": "maps", - "path": "x-pack/plugins/maps/public/index_pattern_util.ts" - }, - { - "plugin": "maps", - "path": "x-pack/plugins/maps/public/index_pattern_util.ts" - }, - { - "plugin": "maps", - "path": "x-pack/plugins/maps/public/index_pattern_util.ts" - }, { "plugin": "maps", "path": "x-pack/plugins/maps/public/components/geo_index_pattern_select.tsx" @@ -5017,18 +4948,6 @@ "plugin": "dataVisualizer", "path": "x-pack/plugins/data_visualizer/public/application/index_data_visualizer/components/full_time_range_selector/full_time_range_selector.tsx" }, - { - "plugin": "apm", - "path": "x-pack/plugins/apm/public/components/shared/kuery_bar/index.tsx" - }, - { - "plugin": "apm", - "path": "x-pack/plugins/apm/public/components/shared/kuery_bar/index.tsx" - }, - { - "plugin": "apm", - "path": "x-pack/plugins/apm/public/components/shared/kuery_bar/index.tsx" - }, { "plugin": "graph", "path": "x-pack/plugins/graph/public/types/app_state.ts" @@ -5933,6 +5852,14 @@ "plugin": "discover", "path": "src/plugins/discover/public/application/apps/main/utils/get_sharing_data.test.ts" }, + { + "plugin": "discover", + "path": "src/plugins/discover/target/types/public/application/apps/doc/components/doc.d.ts" + }, + { + "plugin": "discover", + "path": "src/plugins/discover/target/types/public/application/apps/doc/components/doc.d.ts" + }, { "plugin": "inputControlVis", "path": "src/plugins/input_control_vis/target/types/public/components/editor/controls_tab.d.ts" @@ -6098,6 +6025,18 @@ "plugin": "discover", "path": "src/plugins/discover/public/application/apps/main/components/doc_table/doc_table_wrapper.tsx" }, + { + "plugin": "discover", + "path": "src/plugins/discover/public/application/components/data_visualizer_grid/data_visualizer_grid.tsx" + }, + { + "plugin": "discover", + "path": "src/plugins/discover/public/application/components/data_visualizer_grid/data_visualizer_grid.tsx" + }, + { + "plugin": "discover", + "path": "src/plugins/discover/public/application/components/data_visualizer_grid/data_visualizer_grid.tsx" + }, { "plugin": "discover", "path": "src/plugins/discover/public/application/embeddable/saved_search_embeddable.tsx" @@ -6182,6 +6121,14 @@ "plugin": "dataVisualizer", "path": "x-pack/plugins/data_visualizer/public/application/index_data_visualizer/components/index_data_visualizer_view/index_data_visualizer_view.tsx" }, + { + "plugin": "dataVisualizer", + "path": "x-pack/plugins/data_visualizer/public/application/index_data_visualizer/embeddables/grid_embeddable/grid_embeddable.tsx" + }, + { + "plugin": "dataVisualizer", + "path": "x-pack/plugins/data_visualizer/public/application/index_data_visualizer/embeddables/grid_embeddable/grid_embeddable.tsx" + }, { "plugin": "lens", "path": "x-pack/plugins/lens/server/routes/field_stats.ts" @@ -6640,27 +6587,55 @@ }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/classes/tooltips/es_tooltip_property.ts" + "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/classes/tooltips/es_tooltip_property.ts" + "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/classes/fields/es_doc_field.ts" + "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/classes/fields/es_doc_field.ts" + "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/classes/sources/es_source/es_source.ts" + "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/classes/sources/es_source/es_source.ts" + "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" }, { "plugin": "maps", @@ -6724,55 +6699,55 @@ }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + "path": "x-pack/plugins/maps/public/components/metrics_editor/metric_editor.tsx" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + "path": "x-pack/plugins/maps/public/components/metrics_editor/metric_editor.tsx" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + "path": "x-pack/plugins/maps/public/components/metrics_editor/metric_editor.tsx" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + "path": "x-pack/plugins/maps/public/classes/tooltips/es_tooltip_property.ts" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + "path": "x-pack/plugins/maps/public/classes/tooltips/es_tooltip_property.ts" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + "path": "x-pack/plugins/maps/public/classes/fields/es_doc_field.ts" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + "path": "x-pack/plugins/maps/public/classes/fields/es_doc_field.ts" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + "path": "x-pack/plugins/maps/public/components/metrics_editor/metrics_editor.tsx" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + "path": "x-pack/plugins/maps/public/components/metrics_editor/metrics_editor.tsx" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + "path": "x-pack/plugins/maps/public/classes/sources/es_geo_grid_source/update_source_editor.tsx" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + "path": "x-pack/plugins/maps/public/classes/sources/es_geo_grid_source/update_source_editor.tsx" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + "path": "x-pack/plugins/maps/public/classes/sources/es_source/es_source.ts" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + "path": "x-pack/plugins/maps/public/classes/sources/es_source/es_source.ts" }, { "plugin": "maps", @@ -6842,26 +6817,6 @@ "plugin": "maps", "path": "x-pack/plugins/maps/public/connected_components/edit_layer_panel/join_editor/resources/join_expression.tsx" }, - { - "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/metrics_editor/metric_editor.tsx" - }, - { - "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/metrics_editor/metric_editor.tsx" - }, - { - "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/metrics_editor/metric_editor.tsx" - }, - { - "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/metrics_editor/metrics_editor.tsx" - }, - { - "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/metrics_editor/metrics_editor.tsx" - }, { "plugin": "maps", "path": "x-pack/plugins/maps/public/connected_components/edit_layer_panel/join_editor/resources/metrics_expression.tsx" @@ -8276,65 +8231,6 @@ } ], "functions": [ - { - "parentPluginId": "dataViews", - "id": "def-public.formatHitProvider", - "type": "Function", - "tags": [], - "label": "formatHitProvider", - "description": [], - "signature": [ - "(dataView: ", - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataView", - "text": "DataView" - }, - ", defaultFormat: any) => { (hit: Record, type?: string): any; formatField(hit: Record, fieldName: string): any; }" - ], - "path": "src/plugins/data_views/common/data_views/format_hit.ts", - "deprecated": false, - "children": [ - { - "parentPluginId": "dataViews", - "id": "def-public.formatHitProvider.$1", - "type": "Object", - "tags": [], - "label": "dataView", - "description": [], - "signature": [ - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataView", - "text": "DataView" - } - ], - "path": "src/plugins/data_views/common/data_views/format_hit.ts", - "deprecated": false, - "isRequired": true - }, - { - "parentPluginId": "dataViews", - "id": "def-public.formatHitProvider.$2", - "type": "Any", - "tags": [], - "label": "defaultFormat", - "description": [], - "signature": [ - "any" - ], - "path": "src/plugins/data_views/common/data_views/format_hit.ts", - "deprecated": false, - "isRequired": true - } - ], - "returnComment": [], - "initialIsOpen": false - }, { "parentPluginId": "dataViews", "id": "def-public.onRedirectNoIndexPattern", @@ -10768,15 +10664,13 @@ "signature": [ "Pick<", "KibanaClient", - ", \"monitoring\" | \"security\" | \"create\" | \"index\" | \"delete\" | \"get\" | \"update\" | \"closePointInTime\" | \"search\" | \"transform\" | \"eql\" | \"helpers\" | \"emit\" | \"on\" | \"once\" | \"off\" | \"asyncSearch\" | \"autoscaling\" | \"bulk\" | \"cat\" | \"ccr\" | \"clearScroll\" | \"cluster\" | \"count\" | \"danglingIndices\" | \"dataFrameTransformDeprecated\" | \"deleteByQuery\" | \"deleteByQueryRethrottle\" | \"deleteScript\" | \"enrich\" | \"exists\" | \"existsSource\" | \"explain\" | \"features\" | \"fieldCaps\" | \"fleet\" | \"getScript\" | \"getScriptContext\" | \"getScriptLanguages\" | \"getSource\" | \"graph\" | \"ilm\" | \"indices\" | \"info\" | \"ingest\" | \"license\" | \"logstash\" | \"mget\" | \"migration\" | \"ml\" | \"msearch\" | \"msearchTemplate\" | \"mtermvectors\" | \"nodes\" | \"openPointInTime\" | \"ping\" | \"putScript\" | \"rankEval\" | \"reindex\" | \"reindexRethrottle\" | \"renderSearchTemplate\" | \"rollup\" | \"scriptsPainlessExecute\" | \"scroll\" | \"searchShards\" | \"searchTemplate\" | \"searchableSnapshots\" | \"shutdown\" | \"slm\" | \"snapshot\" | \"sql\" | \"ssl\" | \"tasks\" | \"termsEnum\" | \"termvectors\" | \"textStructure\" | \"updateByQuery\" | \"updateByQueryRethrottle\" | \"watcher\" | \"xpack\"> & { transport: { request(params: ", + ", \"monitoring\" | \"security\" | \"create\" | \"name\" | \"index\" | \"delete\" | \"get\" | \"update\" | \"closePointInTime\" | \"search\" | \"transform\" | \"eql\" | \"helpers\" | \"asyncSearch\" | \"autoscaling\" | \"bulk\" | \"cat\" | \"ccr\" | \"clearScroll\" | \"cluster\" | \"count\" | \"danglingIndices\" | \"deleteByQuery\" | \"deleteByQueryRethrottle\" | \"deleteScript\" | \"enrich\" | \"exists\" | \"existsSource\" | \"explain\" | \"features\" | \"fieldCaps\" | \"fleet\" | \"getScript\" | \"getScriptContext\" | \"getScriptLanguages\" | \"getSource\" | \"graph\" | \"ilm\" | \"indices\" | \"info\" | \"ingest\" | \"knnSearch\" | \"license\" | \"logstash\" | \"mget\" | \"migration\" | \"ml\" | \"msearch\" | \"msearchTemplate\" | \"mtermvectors\" | \"nodes\" | \"openPointInTime\" | \"ping\" | \"putScript\" | \"rankEval\" | \"reindex\" | \"reindexRethrottle\" | \"renderSearchTemplate\" | \"rollup\" | \"scriptsPainlessExecute\" | \"scroll\" | \"searchMvt\" | \"searchShards\" | \"searchTemplate\" | \"searchableSnapshots\" | \"shutdown\" | \"slm\" | \"snapshot\" | \"sql\" | \"ssl\" | \"tasks\" | \"termsEnum\" | \"termvectors\" | \"textStructure\" | \"updateByQuery\" | \"updateByQueryRethrottle\" | \"watcher\" | \"xpack\"> & { transport: { request(params: ", "TransportRequestParams", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", unknown>>; }; }" + " | undefined): Promise<", + "TransportResult", + ">; }; }" ], "path": "src/plugins/data_views/server/types.ts", "deprecated": false @@ -11224,15 +11118,13 @@ "signature": [ "Pick<", "KibanaClient", - ", \"monitoring\" | \"security\" | \"create\" | \"index\" | \"delete\" | \"get\" | \"update\" | \"closePointInTime\" | \"search\" | \"transform\" | \"eql\" | \"helpers\" | \"emit\" | \"on\" | \"once\" | \"off\" | \"asyncSearch\" | \"autoscaling\" | \"bulk\" | \"cat\" | \"ccr\" | \"clearScroll\" | \"cluster\" | \"count\" | \"danglingIndices\" | \"dataFrameTransformDeprecated\" | \"deleteByQuery\" | \"deleteByQueryRethrottle\" | \"deleteScript\" | \"enrich\" | \"exists\" | \"existsSource\" | \"explain\" | \"features\" | \"fieldCaps\" | \"fleet\" | \"getScript\" | \"getScriptContext\" | \"getScriptLanguages\" | \"getSource\" | \"graph\" | \"ilm\" | \"indices\" | \"info\" | \"ingest\" | \"license\" | \"logstash\" | \"mget\" | \"migration\" | \"ml\" | \"msearch\" | \"msearchTemplate\" | \"mtermvectors\" | \"nodes\" | \"openPointInTime\" | \"ping\" | \"putScript\" | \"rankEval\" | \"reindex\" | \"reindexRethrottle\" | \"renderSearchTemplate\" | \"rollup\" | \"scriptsPainlessExecute\" | \"scroll\" | \"searchShards\" | \"searchTemplate\" | \"searchableSnapshots\" | \"shutdown\" | \"slm\" | \"snapshot\" | \"sql\" | \"ssl\" | \"tasks\" | \"termsEnum\" | \"termvectors\" | \"textStructure\" | \"updateByQuery\" | \"updateByQueryRethrottle\" | \"watcher\" | \"xpack\"> & { transport: { request(params: ", + ", \"monitoring\" | \"security\" | \"create\" | \"name\" | \"index\" | \"delete\" | \"get\" | \"update\" | \"closePointInTime\" | \"search\" | \"transform\" | \"eql\" | \"helpers\" | \"asyncSearch\" | \"autoscaling\" | \"bulk\" | \"cat\" | \"ccr\" | \"clearScroll\" | \"cluster\" | \"count\" | \"danglingIndices\" | \"deleteByQuery\" | \"deleteByQueryRethrottle\" | \"deleteScript\" | \"enrich\" | \"exists\" | \"existsSource\" | \"explain\" | \"features\" | \"fieldCaps\" | \"fleet\" | \"getScript\" | \"getScriptContext\" | \"getScriptLanguages\" | \"getSource\" | \"graph\" | \"ilm\" | \"indices\" | \"info\" | \"ingest\" | \"knnSearch\" | \"license\" | \"logstash\" | \"mget\" | \"migration\" | \"ml\" | \"msearch\" | \"msearchTemplate\" | \"mtermvectors\" | \"nodes\" | \"openPointInTime\" | \"ping\" | \"putScript\" | \"rankEval\" | \"reindex\" | \"reindexRethrottle\" | \"renderSearchTemplate\" | \"rollup\" | \"scriptsPainlessExecute\" | \"scroll\" | \"searchMvt\" | \"searchShards\" | \"searchTemplate\" | \"searchableSnapshots\" | \"shutdown\" | \"slm\" | \"snapshot\" | \"sql\" | \"ssl\" | \"tasks\" | \"termsEnum\" | \"termvectors\" | \"textStructure\" | \"updateByQuery\" | \"updateByQueryRethrottle\" | \"watcher\" | \"xpack\"> & { transport: { request(params: ", "TransportRequestParams", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", unknown>>; }; }" + " | undefined): Promise<", + "TransportResult", + ">; }; }" ], "path": "src/plugins/data_views/server/types.ts", "deprecated": false @@ -11412,104 +11304,35 @@ "\nType is used to identify rollup index patterns" ], "signature": [ - "string | undefined" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false - }, - { - "parentPluginId": "dataViews", - "id": "def-common.DataView.formatHit", - "type": "Function", - "tags": [], - "label": "formatHit", - "description": [], - "signature": [ - "{ (hit: Record, type?: string | undefined): any; formatField: FormatFieldFn; }" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "returnComment": [], - "children": [ - { - "parentPluginId": "dataViews", - "id": "def-common.DataView.formatHit.$1", - "type": "Object", - "tags": [], - "label": "hit", - "description": [], - "signature": [ - "{ [x: string]: any; }" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false - }, - { - "parentPluginId": "dataViews", - "id": "def-common.DataView.formatHit.$2", - "type": "string", - "tags": [], - "label": "type", - "description": [], - "signature": [ - "string | undefined" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false - } - ] - }, - { - "parentPluginId": "dataViews", - "id": "def-common.DataView.formatField", - "type": "Function", - "tags": [], - "label": "formatField", - "description": [], - "signature": [ - "(hit: Record, fieldName: string) => any" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "returnComment": [], - "children": [ - { - "parentPluginId": "dataViews", - "id": "def-common.DataView.formatField.$1", - "type": "Object", - "tags": [], - "label": "hit", - "description": [], - "signature": [ - "{ [x: string]: any; }" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false - }, - { - "parentPluginId": "dataViews", - "id": "def-common.DataView.formatField.$2", - "type": "string", - "tags": [], - "label": "fieldName", - "description": [], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false - } - ] + "string | undefined" + ], + "path": "src/plugins/data_views/common/data_views/data_view.ts", + "deprecated": false }, { "parentPluginId": "dataViews", "id": "def-common.DataView.flattenHit", "type": "Function", - "tags": [], + "tags": [ + "deprecated" + ], "label": "flattenHit", "description": [], "signature": [ "(hit: Record, deep?: boolean | undefined) => Record" ], "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, + "deprecated": true, + "references": [ + { + "plugin": "maps", + "path": "x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.tsx" + }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.tsx" + } + ], "returnComment": [], "children": [ { @@ -14906,19 +14729,19 @@ }, { "plugin": "discover", - "path": "src/plugins/discover/public/application/embeddable/saved_search_embeddable.tsx" + "path": "src/plugins/discover/public/application/components/data_visualizer_grid/data_visualizer_grid.tsx" }, { "plugin": "discover", - "path": "src/plugins/discover/public/application/embeddable/saved_search_embeddable.tsx" + "path": "src/plugins/discover/public/application/components/data_visualizer_grid/data_visualizer_grid.tsx" }, { "plugin": "discover", - "path": "src/plugins/discover/public/application/services/use_es_doc_search.ts" + "path": "src/plugins/discover/public/application/embeddable/saved_search_embeddable.tsx" }, { "plugin": "discover", - "path": "src/plugins/discover/public/application/services/use_es_doc_search.ts" + "path": "src/plugins/discover/public/application/embeddable/saved_search_embeddable.tsx" }, { "plugin": "discover", @@ -15270,11 +15093,11 @@ }, { "plugin": "dataVisualizer", - "path": "x-pack/plugins/data_visualizer/public/application/index_data_visualizer/index_data_visualizer.tsx" + "path": "x-pack/plugins/data_visualizer/public/application/index_data_visualizer/embeddables/grid_embeddable/grid_embeddable.tsx" }, { "plugin": "dataVisualizer", - "path": "x-pack/plugins/data_visualizer/public/application/index_data_visualizer/index_data_visualizer.tsx" + "path": "x-pack/plugins/data_visualizer/public/application/index_data_visualizer/embeddables/grid_embeddable/grid_embeddable.tsx" }, { "plugin": "apm", @@ -15284,14 +15107,6 @@ "plugin": "apm", "path": "x-pack/plugins/apm/public/components/app/RumDashboard/LocalUIFilters/SelectedFilters.tsx" }, - { - "plugin": "apm", - "path": "x-pack/plugins/apm/public/components/app/RumDashboard/LocalUIFilters/use_index_pattern.ts" - }, - { - "plugin": "apm", - "path": "x-pack/plugins/apm/public/components/app/RumDashboard/LocalUIFilters/use_index_pattern.ts" - }, { "plugin": "lens", "path": "x-pack/plugins/lens/server/routes/existing_fields.ts" @@ -15310,27 +15125,27 @@ }, { "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/scheduled_query_groups/use_scheduled_query_group_query_errors.ts" + "path": "x-pack/plugins/osquery/public/packs/use_pack_query_errors.ts" }, { "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/scheduled_query_groups/use_scheduled_query_group_query_errors.ts" + "path": "x-pack/plugins/osquery/public/packs/use_pack_query_errors.ts" }, { "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/scheduled_query_groups/use_scheduled_query_group_query_last_results.ts" + "path": "x-pack/plugins/osquery/public/packs/use_pack_query_last_results.ts" }, { "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/scheduled_query_groups/use_scheduled_query_group_query_last_results.ts" + "path": "x-pack/plugins/osquery/public/packs/use_pack_query_last_results.ts" }, { "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/scheduled_query_groups/scheduled_query_group_queries_status_table.tsx" + "path": "x-pack/plugins/osquery/public/packs/pack_queries_status_table.tsx" }, { "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/scheduled_query_groups/scheduled_query_group_queries_status_table.tsx" + "path": "x-pack/plugins/osquery/public/packs/pack_queries_status_table.tsx" }, { "plugin": "securitySolution", @@ -15728,14 +15543,6 @@ "plugin": "discover", "path": "src/plugins/discover/target/types/public/application/apps/main/components/doc_table/components/table_header/helpers.d.ts" }, - { - "plugin": "discover", - "path": "src/plugins/discover/target/types/public/application/components/discover_grid/discover_grid.d.ts" - }, - { - "plugin": "discover", - "path": "src/plugins/discover/target/types/public/application/components/discover_grid/discover_grid.d.ts" - }, { "plugin": "discover", "path": "src/plugins/discover/target/types/public/application/apps/main/components/doc_table/doc_table_wrapper.d.ts" @@ -15868,14 +15675,6 @@ "plugin": "discover", "path": "src/plugins/discover/target/types/public/application/apps/context/services/utils/sorting.d.ts" }, - { - "plugin": "discover", - "path": "src/plugins/discover/target/types/public/application/apps/main/utils/calc_field_counts.d.ts" - }, - { - "plugin": "discover", - "path": "src/plugins/discover/target/types/public/application/apps/main/utils/calc_field_counts.d.ts" - }, { "plugin": "discover", "path": "src/plugins/discover/target/types/public/application/apps/main/utils/get_switch_index_pattern_app_state.d.ts" @@ -15952,6 +15751,22 @@ "plugin": "discover", "path": "src/plugins/discover/target/types/public/application/apps/main/components/doc_table/components/table_header/table_header.d.ts" }, + { + "plugin": "discover", + "path": "src/plugins/discover/public/application/components/source_viewer/source_viewer.tsx" + }, + { + "plugin": "discover", + "path": "src/plugins/discover/public/application/components/source_viewer/source_viewer.tsx" + }, + { + "plugin": "apm", + "path": "x-pack/plugins/apm/public/components/app/RumDashboard/LocalUIFilters/selected_wildcards.tsx" + }, + { + "plugin": "apm", + "path": "x-pack/plugins/apm/public/components/app/RumDashboard/LocalUIFilters/selected_wildcards.tsx" + }, { "plugin": "discover", "path": "src/plugins/discover/public/application/apps/context/utils/use_context_app_fetch.test.ts" @@ -16168,6 +15983,14 @@ "plugin": "discover", "path": "src/plugins/discover/public/application/components/table/table.tsx" }, + { + "plugin": "discover", + "path": "src/plugins/discover/public/application/apps/doc/components/doc.tsx" + }, + { + "plugin": "discover", + "path": "src/plugins/discover/public/application/apps/doc/components/doc.tsx" + }, { "plugin": "discover", "path": "src/plugins/discover/public/application/apps/context/services/anchor.ts" @@ -16290,15 +16113,15 @@ }, { "plugin": "visualizations", - "path": "src/plugins/visualizations/public/embeddable/visualize_embeddable.ts" + "path": "src/plugins/visualizations/public/embeddable/visualize_embeddable.tsx" }, { "plugin": "visualizations", - "path": "src/plugins/visualizations/public/embeddable/visualize_embeddable.ts" + "path": "src/plugins/visualizations/public/embeddable/visualize_embeddable.tsx" }, { "plugin": "visualizations", - "path": "src/plugins/visualizations/public/embeddable/visualize_embeddable.ts" + "path": "src/plugins/visualizations/public/embeddable/visualize_embeddable.tsx" }, { "plugin": "dashboard", @@ -16412,6 +16235,22 @@ "plugin": "observability", "path": "x-pack/plugins/observability/public/components/shared/exploratory_view/components/filter_label.tsx" }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/public/index_pattern_util.ts" + }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/public/index_pattern_util.ts" + }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/public/index_pattern_util.ts" + }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/public/index_pattern_util.ts" + }, { "plugin": "maps", "path": "x-pack/plugins/maps/public/classes/tooltips/es_tooltip_property.ts" @@ -16476,22 +16315,6 @@ "plugin": "maps", "path": "x-pack/plugins/maps/public/classes/sources/es_source/es_source.ts" }, - { - "plugin": "maps", - "path": "x-pack/plugins/maps/public/index_pattern_util.ts" - }, - { - "plugin": "maps", - "path": "x-pack/plugins/maps/public/index_pattern_util.ts" - }, - { - "plugin": "maps", - "path": "x-pack/plugins/maps/public/index_pattern_util.ts" - }, - { - "plugin": "maps", - "path": "x-pack/plugins/maps/public/index_pattern_util.ts" - }, { "plugin": "maps", "path": "x-pack/plugins/maps/public/components/geo_index_pattern_select.tsx" @@ -16612,18 +16435,6 @@ "plugin": "dataVisualizer", "path": "x-pack/plugins/data_visualizer/public/application/index_data_visualizer/components/full_time_range_selector/full_time_range_selector.tsx" }, - { - "plugin": "apm", - "path": "x-pack/plugins/apm/public/components/shared/kuery_bar/index.tsx" - }, - { - "plugin": "apm", - "path": "x-pack/plugins/apm/public/components/shared/kuery_bar/index.tsx" - }, - { - "plugin": "apm", - "path": "x-pack/plugins/apm/public/components/shared/kuery_bar/index.tsx" - }, { "plugin": "graph", "path": "x-pack/plugins/graph/public/types/app_state.ts" @@ -17528,6 +17339,14 @@ "plugin": "discover", "path": "src/plugins/discover/public/application/apps/main/utils/get_sharing_data.test.ts" }, + { + "plugin": "discover", + "path": "src/plugins/discover/target/types/public/application/apps/doc/components/doc.d.ts" + }, + { + "plugin": "discover", + "path": "src/plugins/discover/target/types/public/application/apps/doc/components/doc.d.ts" + }, { "plugin": "inputControlVis", "path": "src/plugins/input_control_vis/target/types/public/components/editor/controls_tab.d.ts" @@ -17693,6 +17512,18 @@ "plugin": "discover", "path": "src/plugins/discover/public/application/apps/main/components/doc_table/doc_table_wrapper.tsx" }, + { + "plugin": "discover", + "path": "src/plugins/discover/public/application/components/data_visualizer_grid/data_visualizer_grid.tsx" + }, + { + "plugin": "discover", + "path": "src/plugins/discover/public/application/components/data_visualizer_grid/data_visualizer_grid.tsx" + }, + { + "plugin": "discover", + "path": "src/plugins/discover/public/application/components/data_visualizer_grid/data_visualizer_grid.tsx" + }, { "plugin": "discover", "path": "src/plugins/discover/public/application/embeddable/saved_search_embeddable.tsx" @@ -17777,6 +17608,14 @@ "plugin": "dataVisualizer", "path": "x-pack/plugins/data_visualizer/public/application/index_data_visualizer/components/index_data_visualizer_view/index_data_visualizer_view.tsx" }, + { + "plugin": "dataVisualizer", + "path": "x-pack/plugins/data_visualizer/public/application/index_data_visualizer/embeddables/grid_embeddable/grid_embeddable.tsx" + }, + { + "plugin": "dataVisualizer", + "path": "x-pack/plugins/data_visualizer/public/application/index_data_visualizer/embeddables/grid_embeddable/grid_embeddable.tsx" + }, { "plugin": "lens", "path": "x-pack/plugins/lens/server/routes/field_stats.ts" @@ -18235,27 +18074,55 @@ }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/classes/tooltips/es_tooltip_property.ts" + "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/classes/tooltips/es_tooltip_property.ts" + "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/classes/fields/es_doc_field.ts" + "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/classes/fields/es_doc_field.ts" + "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/classes/sources/es_source/es_source.ts" + "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/classes/sources/es_source/es_source.ts" + "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" }, { "plugin": "maps", @@ -18319,55 +18186,55 @@ }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + "path": "x-pack/plugins/maps/public/components/metrics_editor/metric_editor.tsx" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + "path": "x-pack/plugins/maps/public/components/metrics_editor/metric_editor.tsx" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + "path": "x-pack/plugins/maps/public/components/metrics_editor/metric_editor.tsx" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + "path": "x-pack/plugins/maps/public/classes/tooltips/es_tooltip_property.ts" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + "path": "x-pack/plugins/maps/public/classes/tooltips/es_tooltip_property.ts" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + "path": "x-pack/plugins/maps/public/classes/fields/es_doc_field.ts" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + "path": "x-pack/plugins/maps/public/classes/fields/es_doc_field.ts" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + "path": "x-pack/plugins/maps/public/components/metrics_editor/metrics_editor.tsx" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + "path": "x-pack/plugins/maps/public/components/metrics_editor/metrics_editor.tsx" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + "path": "x-pack/plugins/maps/public/classes/sources/es_geo_grid_source/update_source_editor.tsx" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + "path": "x-pack/plugins/maps/public/classes/sources/es_geo_grid_source/update_source_editor.tsx" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + "path": "x-pack/plugins/maps/public/classes/sources/es_source/es_source.ts" }, { "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/single_field_select.tsx" + "path": "x-pack/plugins/maps/public/classes/sources/es_source/es_source.ts" }, { "plugin": "maps", @@ -18437,26 +18304,6 @@ "plugin": "maps", "path": "x-pack/plugins/maps/public/connected_components/edit_layer_panel/join_editor/resources/join_expression.tsx" }, - { - "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/metrics_editor/metric_editor.tsx" - }, - { - "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/metrics_editor/metric_editor.tsx" - }, - { - "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/metrics_editor/metric_editor.tsx" - }, - { - "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/metrics_editor/metrics_editor.tsx" - }, - { - "plugin": "maps", - "path": "x-pack/plugins/maps/public/components/metrics_editor/metrics_editor.tsx" - }, { "plugin": "maps", "path": "x-pack/plugins/maps/public/connected_components/edit_layer_panel/join_editor/resources/metrics_expression.tsx" @@ -19527,7 +19374,7 @@ "section": "def-common.IndexPatternLoadExpressionFunctionDefinition", "text": "IndexPatternLoadExpressionFunctionDefinition" }, - ", \"telemetry\" | \"inject\" | \"extract\" | \"migrations\" | \"type\" | \"name\" | \"disabled\" | \"help\" | \"inputTypes\" | \"args\" | \"aliases\" | \"context\">" + ", \"type\" | \"telemetry\" | \"extract\" | \"inject\" | \"migrations\" | \"name\" | \"disabled\" | \"help\" | \"inputTypes\" | \"args\" | \"aliases\" | \"context\">" ], "path": "src/plugins/data_views/common/expressions/load_index_pattern.ts", "deprecated": false, @@ -22048,14 +21895,6 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/types.ts" }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/action.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/action.ts" - }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/common/containers/source/index.tsx" @@ -22164,6 +22003,14 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.ts" }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/action.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/action.ts" + }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/common/components/search_bar/index.tsx" @@ -25118,22 +24965,6 @@ "plugin": "discover", "path": "src/plugins/discover/public/application/apps/main/components/doc_table/actions/columns.ts" }, - { - "plugin": "discover", - "path": "src/plugins/discover/public/application/apps/doc/components/doc.tsx" - }, - { - "plugin": "discover", - "path": "src/plugins/discover/public/application/apps/doc/components/doc.tsx" - }, - { - "plugin": "visualizations", - "path": "src/plugins/visualizations/public/saved_visualizations/_saved_vis.ts" - }, - { - "plugin": "visualizations", - "path": "src/plugins/visualizations/public/saved_visualizations/_saved_vis.ts" - }, { "plugin": "dashboard", "path": "src/plugins/dashboard/public/application/lib/sync_dashboard_index_patterns.ts" @@ -25246,6 +25077,10 @@ "plugin": "lens", "path": "x-pack/plugins/lens/public/indexpattern_datasource/loader.test.ts" }, + { + "plugin": "lens", + "path": "x-pack/plugins/lens/public/indexpattern_datasource/loader.test.ts" + }, { "plugin": "lens", "path": "x-pack/plugins/lens/target/types/public/utils.d.ts" @@ -25429,14 +25264,6 @@ { "plugin": "indexPatternManagement", "path": "src/plugins/index_pattern_management/target/types/public/components/utils.d.ts" - }, - { - "plugin": "discover", - "path": "src/plugins/discover/target/types/public/application/apps/doc/components/doc.d.ts" - }, - { - "plugin": "discover", - "path": "src/plugins/discover/target/types/public/application/apps/doc/components/doc.d.ts" } ], "initialIsOpen": false @@ -25501,14 +25328,6 @@ { "plugin": "indexPatternEditor", "path": "src/plugins/index_pattern_editor/public/components/index_pattern_flyout_content_container.tsx" - }, - { - "plugin": "apm", - "path": "x-pack/plugins/apm/public/components/app/RumDashboard/LocalUIFilters/use_index_pattern.ts" - }, - { - "plugin": "apm", - "path": "x-pack/plugins/apm/public/components/app/RumDashboard/LocalUIFilters/use_index_pattern.ts" } ], "initialIsOpen": false diff --git a/api_docs/data_views.mdx b/api_docs/data_views.mdx index 77f14d3d39a259..cd2a24ba8f81cc 100644 --- a/api_docs/data_views.mdx +++ b/api_docs/data_views.mdx @@ -18,7 +18,7 @@ Contact [App Services](https://github.com/orgs/elastic/teams/kibana-app-services | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 683 | 6 | 541 | 5 | +| 668 | 5 | 526 | 5 | ## Client diff --git a/api_docs/data_visualizer.json b/api_docs/data_visualizer.json index 4a0e41ac2318c6..2ea93ccfcadb58 100644 --- a/api_docs/data_visualizer.json +++ b/api_docs/data_visualizer.json @@ -954,6 +954,56 @@ "deprecated": false, "initialIsOpen": false }, + { + "parentPluginId": "dataVisualizer", + "id": "def-common.applicationPath", + "type": "string", + "tags": [], + "label": "applicationPath", + "description": [], + "path": "x-pack/plugins/data_visualizer/common/constants.ts", + "deprecated": false, + "initialIsOpen": false + }, + { + "parentPluginId": "dataVisualizer", + "id": "def-common.featureId", + "type": "string", + "tags": [], + "label": "featureId", + "description": [], + "signature": [ + "\"file_data_visualizer\"" + ], + "path": "x-pack/plugins/data_visualizer/common/constants.ts", + "deprecated": false, + "initialIsOpen": false + }, + { + "parentPluginId": "dataVisualizer", + "id": "def-common.featureTitle", + "type": "string", + "tags": [], + "label": "featureTitle", + "description": [], + "path": "x-pack/plugins/data_visualizer/common/constants.ts", + "deprecated": false, + "initialIsOpen": false + }, + { + "parentPluginId": "dataVisualizer", + "id": "def-common.FILE_DATA_VIS_TAB_ID", + "type": "string", + "tags": [], + "label": "FILE_DATA_VIS_TAB_ID", + "description": [], + "signature": [ + "\"fileDataViz\"" + ], + "path": "x-pack/plugins/data_visualizer/common/constants.ts", + "deprecated": false, + "initialIsOpen": false + }, { "parentPluginId": "dataVisualizer", "id": "def-common.FILE_SIZE_DISPLAY_FORMAT", diff --git a/api_docs/data_visualizer.mdx b/api_docs/data_visualizer.mdx index d2fe5cb5e70977..d3ea59bfd1371a 100644 --- a/api_docs/data_visualizer.mdx +++ b/api_docs/data_visualizer.mdx @@ -18,7 +18,7 @@ Contact [Machine Learning UI](https://github.com/orgs/elastic/teams/ml-ui) for q | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 80 | 5 | 80 | 0 | +| 84 | 5 | 84 | 0 | ## Client diff --git a/api_docs/deprecations_by_api.mdx b/api_docs/deprecations_by_api.mdx index fda6834f9b4e9c..7ff55c5ddc95d5 100644 --- a/api_docs/deprecations_by_api.mdx +++ b/api_docs/deprecations_by_api.mdx @@ -16,9 +16,9 @@ warning: This document is auto-generated and is meant to be viewed inside our ex | | securitySolution | - | | | dataViews, visTypeTimeseries, reporting, discover, observability, maps, dataVisualizer, apm, lens, osquery, securitySolution, transform, savedObjects, indexPatternFieldEditor, visualizations, dashboard, graph, stackAlerts, uptime, indexPatternEditor, indexPatternManagement, inputControlVis, savedObjectsManagement, visualize, visDefaultEditor, visTypeVega, data | - | | | dataViews, discover, maps, dataVisualizer, lens, indexPatternFieldEditor, securitySolution, indexPatternEditor, indexPatternManagement, inputControlVis, visDefaultEditor, visTypeTimeseries, data | - | -| | dataViews, timelines, monitoring, securitySolution, indexPatternManagement, presentationUtil, stackAlerts, transform | - | +| | dataViews, timelines, monitoring, securitySolution, indexPatternManagement, stackAlerts, transform | - | | | home, savedObjects, security, fleet, indexPatternFieldEditor, discover, dashboard, lens, observability, maps, fileUpload, dataVisualizer, ml, infra, graph, monitoring, osquery, securitySolution, stackAlerts, transform, upgradeAssistant, uptime, indexPatternEditor, indexPatternManagement, inputControlVis, kibanaOverview, savedObjectsManagement, visualize, visTypeTimelion, visTypeTimeseries, visTypeVega | - | -| | dataViews, timelines, monitoring, securitySolution, indexPatternManagement, presentationUtil, stackAlerts, transform, data | - | +| | dataViews, timelines, monitoring, securitySolution, indexPatternManagement, stackAlerts, transform, data | - | | | dataViews, discover, maps, dataVisualizer, lens, indexPatternFieldEditor, securitySolution, indexPatternEditor, indexPatternManagement, inputControlVis, visDefaultEditor, visTypeTimeseries, data | - | | | dataViews, visTypeTimeseries, reporting, discover, observability, maps, dataVisualizer, apm, lens, osquery, securitySolution, transform, savedObjects, indexPatternFieldEditor, visualizations, dashboard, graph, stackAlerts, uptime, indexPatternEditor, indexPatternManagement, inputControlVis, savedObjectsManagement, visualize, visDefaultEditor, visTypeVega, data | - | | | dataViews, discover, maps, dataVisualizer, lens, indexPatternFieldEditor, securitySolution, indexPatternEditor, indexPatternManagement, inputControlVis, visDefaultEditor, visTypeTimeseries | - | @@ -94,25 +94,24 @@ warning: This document is auto-generated and is meant to be viewed inside our ex | | canvas, visTypeXy | - | | | actions, ml, enterpriseSearch, savedObjectsTagging | - | | | ml | - | -| | encryptedSavedObjects, actions, alerting | - | | | actions | - | | | console | - | | | security, reporting, apm, infra, securitySolution | 7.16 | | | security, reporting, apm, infra, securitySolution | 7.16 | | | security | 7.16 | -| | discover, visualizations, dashboard, lens, observability, maps, dashboardEnhanced, discoverEnhanced, securitySolution, visualize, presentationUtil | 8.1 | -| | lens, timelines, infra, securitySolution, stackAlerts, transform, indexPatternManagement, visTypeTimelion, visTypeVega | 8.1 | +| | discover, visualizations, dashboard, lens, observability, maps, dashboardEnhanced, discoverEnhanced, securitySolution, visualize | 8.1 | +| | lens, timelines, securitySolution, stackAlerts, transform, indexPatternManagement, visTypeTimelion, visTypeVega | 8.1 | | | discover, visualizations, dashboard, lens, observability, timelines, maps, infra, dashboardEnhanced, discoverEnhanced, securitySolution, urlDrilldown, inputControlVis, visualize, visTypeTimelion, visTypeVega, ml, visTypeTimeseries | 8.1 | | | discover, visualizations, dashboard, lens, observability, timelines, maps, infra, dashboardEnhanced, discoverEnhanced, securitySolution, urlDrilldown, inputControlVis, visualize, visTypeTimelion, visTypeVega, ml, visTypeTimeseries | 8.1 | | | discover, visualizations, dashboard, lens, observability, timelines, maps, infra, dashboardEnhanced, discoverEnhanced, securitySolution, urlDrilldown, inputControlVis, visualize, visTypeTimelion, visTypeVega, ml, visTypeTimeseries | 8.1 | -| | dataViews, fleet, infra, monitoring, stackAlerts, indexPatternManagement, presentationUtil | 8.1 | -| | dataViews, fleet, infra, monitoring, stackAlerts, indexPatternManagement, presentationUtil, data | 8.1 | +| | dataViews, fleet, infra, monitoring, stackAlerts, indexPatternManagement | 8.1 | +| | dataViews, fleet, infra, monitoring, stackAlerts, indexPatternManagement, data | 8.1 | | | dataViews | 8.1 | | | dataViews | 8.1 | | | indexPatternManagement, dataViews | 8.1 | | | visTypeTimeseries, graph, indexPatternManagement, dataViews | 8.1 | | | dataViews, indexPatternManagement | 8.1 | -| | dataViews, fleet, infra, monitoring, stackAlerts, indexPatternManagement, presentationUtil | 8.1 | +| | dataViews, fleet, infra, monitoring, stackAlerts, indexPatternManagement | 8.1 | | | dataViews | 8.1 | | | dataViews | 8.1 | | | indexPatternManagement, dataViews | 8.1 | @@ -231,7 +230,6 @@ Safe to remove. | | | | | | -| | | | | | | | diff --git a/api_docs/deprecations_by_plugin.mdx b/api_docs/deprecations_by_plugin.mdx index d405da72f959cf..ef22bf4c497eef 100644 --- a/api_docs/deprecations_by_plugin.mdx +++ b/api_docs/deprecations_by_plugin.mdx @@ -15,7 +15,6 @@ warning: This document is auto-generated and is meant to be viewed inside our ex | ---------------|-----------|-----------| | | [find_and_cleanup_tasks.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/actions/server/cleanup_failed_executions/find_and_cleanup_tasks.ts#:~:text=nodeBuilder), [find_and_cleanup_tasks.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/actions/server/cleanup_failed_executions/find_and_cleanup_tasks.ts#:~:text=nodeBuilder), [find_and_cleanup_tasks.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/actions/server/cleanup_failed_executions/find_and_cleanup_tasks.ts#:~:text=nodeBuilder), [find_and_cleanup_tasks.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/actions/server/cleanup_failed_executions/find_and_cleanup_tasks.ts#:~:text=nodeBuilder), [find_and_cleanup_tasks.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/actions/server/cleanup_failed_executions/find_and_cleanup_tasks.ts#:~:text=nodeBuilder) | 8.1 | | | [plugin.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/actions/server/plugin.ts#:~:text=license%24), [license_state.test.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/actions/server/lib/license_state.test.ts#:~:text=license%24), [license_state.test.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/actions/server/lib/license_state.test.ts#:~:text=license%24) | - | -| | [audit_logger.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/actions/server/authorization/audit_logger.ts#:~:text=LegacyAuditLogger), [audit_logger.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/actions/server/authorization/audit_logger.ts#:~:text=LegacyAuditLogger), [audit_logger.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/actions/server/authorization/audit_logger.ts#:~:text=LegacyAuditLogger) | - | | | [plugin.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/actions/server/plugin.ts#:~:text=authc) | - | | | [plugin.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/actions/server/plugin.ts#:~:text=authz) | - | | | [plugin.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/actions/server/plugin.ts#:~:text=index), [plugin.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/actions/server/plugin.ts#:~:text=index) | - | @@ -40,7 +39,6 @@ warning: This document is auto-generated and is meant to be viewed inside our ex | | [rules_client.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/alerting/server/rules_client/rules_client.ts#:~:text=KueryNode), [rules_client.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/alerting/server/rules_client/rules_client.ts#:~:text=KueryNode), [rules_client.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/alerting/server/rules_client/rules_client.ts#:~:text=KueryNode) | 8.1 | | | [rules_client.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/alerting/server/rules_client/rules_client.ts#:~:text=KueryNode), [rules_client.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/alerting/server/rules_client/rules_client.ts#:~:text=KueryNode), [rules_client.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/alerting/server/rules_client/rules_client.ts#:~:text=KueryNode) | 8.1 | | | [plugin.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/alerting/server/plugin.ts#:~:text=license%24), [license_state.test.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/alerting/server/lib/license_state.test.ts#:~:text=license%24), [license_state.test.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/alerting/server/lib/license_state.test.ts#:~:text=license%24) | - | -| | [audit_logger.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/alerting/server/authorization/audit_logger.ts#:~:text=LegacyAuditLogger), [audit_logger.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/alerting/server/authorization/audit_logger.ts#:~:text=LegacyAuditLogger), [audit_logger.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/alerting/server/authorization/audit_logger.ts#:~:text=LegacyAuditLogger), [rules_client_factory.test.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/alerting/server/rules_client_factory.test.ts#:~:text=LegacyAuditLogger), [rules_client_factory.test.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/alerting/server/rules_client_factory.test.ts#:~:text=LegacyAuditLogger) | - | @@ -226,7 +224,7 @@ warning: This document is auto-generated and is meant to be viewed inside our ex | | [data_views.ts](https://github.com/elastic/kibana/tree/master/src/plugins/data_views/common/data_views/data_views.ts#:~:text=IndexPatternListItem), [index.ts](https://github.com/elastic/kibana/tree/master/src/plugins/data_views/common/index.ts#:~:text=IndexPatternListItem) | - | | | [data_view.ts](https://github.com/elastic/kibana/tree/master/src/plugins/data_views/common/data_views/data_view.ts#:~:text=intervalName), [data_view.ts](https://github.com/elastic/kibana/tree/master/src/plugins/data_views/common/data_views/data_view.ts#:~:text=intervalName), [data_view.ts](https://github.com/elastic/kibana/tree/master/src/plugins/data_views/common/data_views/data_view.ts#:~:text=intervalName), [update_index_pattern.ts](https://github.com/elastic/kibana/tree/master/src/plugins/data_views/server/routes/update_index_pattern.ts#:~:text=intervalName), [update_index_pattern.ts](https://github.com/elastic/kibana/tree/master/src/plugins/data_views/server/routes/update_index_pattern.ts#:~:text=intervalName) | 8.1 | | | [data_view.ts](https://github.com/elastic/kibana/tree/master/src/plugins/data_views/common/data_views/data_view.ts#:~:text=flattenHit) | - | -| | [data_view.test.ts](https://github.com/elastic/kibana/tree/master/src/plugins/data_views/common/data_views/data_view.test.ts#:~:text=addScriptedField), [data_view.test.ts](https://github.com/elastic/kibana/tree/master/src/plugins/data_views/common/data_views/data_view.test.ts#:~:text=addScriptedField) | 8.1 | +| | [data_view.test.ts](https://github.com/elastic/kibana/tree/master/src/plugins/data_views/common/data_views/data_view.test.ts#:~:text=addScriptedField), [data_view.test.ts](https://github.com/elastic/kibana/tree/master/src/plugins/data_views/common/data_views/data_view.test.ts#:~:text=addScriptedField), [data_view.test.ts](https://github.com/elastic/kibana/tree/master/src/plugins/data_views/common/data_views/data_view.test.ts#:~:text=addScriptedField) | 8.1 | | | [data_view.test.ts](https://github.com/elastic/kibana/tree/master/src/plugins/data_views/common/data_views/data_view.test.ts#:~:text=removeScriptedField) | 8.1 | | | [data_view.test.ts](https://github.com/elastic/kibana/tree/master/src/plugins/data_views/common/data_views/data_view.test.ts#:~:text=getNonScriptedFields) | 8.1 | | | [data_view.ts](https://github.com/elastic/kibana/tree/master/src/plugins/data_views/common/data_views/data_view.ts#:~:text=getScriptedFields), [data_view.ts](https://github.com/elastic/kibana/tree/master/src/plugins/data_views/common/data_views/data_view.ts#:~:text=getScriptedFields), [data_view.ts](https://github.com/elastic/kibana/tree/master/src/plugins/data_views/common/data_views/data_view.ts#:~:text=getScriptedFields), [data_views.ts](https://github.com/elastic/kibana/tree/master/src/plugins/data_views/common/data_views/data_views.ts#:~:text=getScriptedFields), [register_index_pattern_usage_collection.ts](https://github.com/elastic/kibana/tree/master/src/plugins/data_views/server/register_index_pattern_usage_collection.ts#:~:text=getScriptedFields), [data_view.test.ts](https://github.com/elastic/kibana/tree/master/src/plugins/data_views/common/data_views/data_view.test.ts#:~:text=getScriptedFields), [data_view.test.ts](https://github.com/elastic/kibana/tree/master/src/plugins/data_views/common/data_views/data_view.test.ts#:~:text=getScriptedFields), [data_view.test.ts](https://github.com/elastic/kibana/tree/master/src/plugins/data_views/common/data_views/data_view.test.ts#:~:text=getScriptedFields), [data_view.test.ts](https://github.com/elastic/kibana/tree/master/src/plugins/data_views/common/data_views/data_view.test.ts#:~:text=getScriptedFields), [data_view.test.ts](https://github.com/elastic/kibana/tree/master/src/plugins/data_views/common/data_views/data_view.test.ts#:~:text=getScriptedFields)+ 1 more | 8.1 | @@ -237,7 +235,7 @@ warning: This document is auto-generated and is meant to be viewed inside our ex | | [index.ts](https://github.com/elastic/kibana/tree/master/src/plugins/data_views/common/index.ts#:~:text=IndexPatternsService), [index.ts](https://github.com/elastic/kibana/tree/master/src/plugins/data_views/public/index.ts#:~:text=IndexPatternsService), [index.ts](https://github.com/elastic/kibana/tree/master/src/plugins/data_views/common/index.ts#:~:text=IndexPatternsService), [index.ts](https://github.com/elastic/kibana/tree/master/src/plugins/data_views/public/index.ts#:~:text=IndexPatternsService) | - | | | [data_view.ts](https://github.com/elastic/kibana/tree/master/src/plugins/data_views/common/data_views/data_view.ts#:~:text=intervalName), [data_view.ts](https://github.com/elastic/kibana/tree/master/src/plugins/data_views/common/data_views/data_view.ts#:~:text=intervalName), [data_view.ts](https://github.com/elastic/kibana/tree/master/src/plugins/data_views/common/data_views/data_view.ts#:~:text=intervalName), [update_index_pattern.ts](https://github.com/elastic/kibana/tree/master/src/plugins/data_views/server/routes/update_index_pattern.ts#:~:text=intervalName), [update_index_pattern.ts](https://github.com/elastic/kibana/tree/master/src/plugins/data_views/server/routes/update_index_pattern.ts#:~:text=intervalName) | 8.1 | | | [data_view.ts](https://github.com/elastic/kibana/tree/master/src/plugins/data_views/common/data_views/data_view.ts#:~:text=flattenHit) | - | -| | [data_view.test.ts](https://github.com/elastic/kibana/tree/master/src/plugins/data_views/common/data_views/data_view.test.ts#:~:text=addScriptedField), [data_view.test.ts](https://github.com/elastic/kibana/tree/master/src/plugins/data_views/common/data_views/data_view.test.ts#:~:text=addScriptedField) | 8.1 | +| | [data_view.test.ts](https://github.com/elastic/kibana/tree/master/src/plugins/data_views/common/data_views/data_view.test.ts#:~:text=addScriptedField), [data_view.test.ts](https://github.com/elastic/kibana/tree/master/src/plugins/data_views/common/data_views/data_view.test.ts#:~:text=addScriptedField), [data_view.test.ts](https://github.com/elastic/kibana/tree/master/src/plugins/data_views/common/data_views/data_view.test.ts#:~:text=addScriptedField) | 8.1 | | | [data_view.test.ts](https://github.com/elastic/kibana/tree/master/src/plugins/data_views/common/data_views/data_view.test.ts#:~:text=removeScriptedField) | 8.1 | | | [data_view.test.ts](https://github.com/elastic/kibana/tree/master/src/plugins/data_views/common/data_views/data_view.test.ts#:~:text=getNonScriptedFields) | 8.1 | | | [data_view.ts](https://github.com/elastic/kibana/tree/master/src/plugins/data_views/common/data_views/data_view.ts#:~:text=getScriptedFields), [data_view.ts](https://github.com/elastic/kibana/tree/master/src/plugins/data_views/common/data_views/data_view.ts#:~:text=getScriptedFields), [data_view.ts](https://github.com/elastic/kibana/tree/master/src/plugins/data_views/common/data_views/data_view.ts#:~:text=getScriptedFields), [data_views.ts](https://github.com/elastic/kibana/tree/master/src/plugins/data_views/common/data_views/data_views.ts#:~:text=getScriptedFields), [register_index_pattern_usage_collection.ts](https://github.com/elastic/kibana/tree/master/src/plugins/data_views/server/register_index_pattern_usage_collection.ts#:~:text=getScriptedFields), [data_view.test.ts](https://github.com/elastic/kibana/tree/master/src/plugins/data_views/common/data_views/data_view.test.ts#:~:text=getScriptedFields), [data_view.test.ts](https://github.com/elastic/kibana/tree/master/src/plugins/data_views/common/data_views/data_view.test.ts#:~:text=getScriptedFields), [data_view.test.ts](https://github.com/elastic/kibana/tree/master/src/plugins/data_views/common/data_views/data_view.test.ts#:~:text=getScriptedFields), [data_view.test.ts](https://github.com/elastic/kibana/tree/master/src/plugins/data_views/common/data_views/data_view.test.ts#:~:text=getScriptedFields), [data_view.test.ts](https://github.com/elastic/kibana/tree/master/src/plugins/data_views/common/data_views/data_view.test.ts#:~:text=getScriptedFields)+ 1 more | 8.1 | @@ -321,7 +319,6 @@ warning: This document is auto-generated and is meant to be viewed inside our ex | Deprecated API | Reference location(s) | Remove By | | ---------------|-----------|-----------| -| | [audit_logger.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/encrypted_saved_objects/server/audit/audit_logger.ts#:~:text=LegacyAuditLogger), [audit_logger.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/encrypted_saved_objects/server/audit/audit_logger.ts#:~:text=LegacyAuditLogger) | - | | | [encryption_key_rotation_service.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/encrypted_saved_objects/server/crypto/encryption_key_rotation_service.ts#:~:text=authc), [index.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/encrypted_saved_objects/server/saved_objects/index.ts#:~:text=authc) | - | @@ -471,7 +468,6 @@ warning: This document is auto-generated and is meant to be viewed inside our ex | | [custom_metric_form.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/infra/public/pages/metrics/inventory_view/components/waffle/metric_control/custom_metric_form.tsx#:~:text=IFieldType), [custom_metric_form.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/infra/public/pages/metrics/inventory_view/components/waffle/metric_control/custom_metric_form.tsx#:~:text=IFieldType), [index.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/infra/public/pages/metrics/inventory_view/components/waffle/metric_control/index.tsx#:~:text=IFieldType), [index.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/infra/public/pages/metrics/inventory_view/components/waffle/metric_control/index.tsx#:~:text=IFieldType), [custom_field_panel.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/infra/public/pages/metrics/inventory_view/components/waffle/custom_field_panel.tsx#:~:text=IFieldType), [custom_field_panel.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/infra/public/pages/metrics/inventory_view/components/waffle/custom_field_panel.tsx#:~:text=IFieldType), [waffle_group_by_controls.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/infra/public/pages/metrics/inventory_view/components/waffle/waffle_group_by_controls.tsx#:~:text=IFieldType), [waffle_group_by_controls.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/infra/public/pages/metrics/inventory_view/components/waffle/waffle_group_by_controls.tsx#:~:text=IFieldType), [metric.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/infra/public/alerting/inventory/components/metric.tsx#:~:text=IFieldType), [metric.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/infra/public/alerting/inventory/components/metric.tsx#:~:text=IFieldType)+ 46 more | 8.1 | | | [editor.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/infra/public/alerting/log_threshold/components/expression_editor/editor.tsx#:~:text=indexPatterns), [log_stream.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/infra/public/components/log_stream/log_stream.tsx#:~:text=indexPatterns), [log_stream.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/infra/public/components/log_stream/log_stream.tsx#:~:text=indexPatterns), [logs_overview_fetchers.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/infra/public/utils/logs_overview_fetchers.ts#:~:text=indexPatterns), [redirect_to_node_logs.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/infra/public/pages/link_to/redirect_to_node_logs.tsx#:~:text=indexPatterns), [use_kibana_index_patterns.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/infra/public/hooks/use_kibana_index_patterns.ts#:~:text=indexPatterns), [page_providers.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/infra/public/pages/logs/page_providers.tsx#:~:text=indexPatterns), [logs_overview_fetches.test.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/infra/public/utils/logs_overview_fetches.test.ts#:~:text=indexPatterns) | - | | | [kuery_bar.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/infra/public/pages/metrics/metrics_explorer/components/kuery_bar.tsx#:~:text=esKuery), [kuery_bar.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/infra/public/pages/metrics/metrics_explorer/components/kuery_bar.tsx#:~:text=esKuery), [kuery.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/infra/public/utils/kuery.ts#:~:text=esKuery), [kuery.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/infra/public/utils/kuery.ts#:~:text=esKuery), [kuery.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/infra/public/utils/kuery.ts#:~:text=esKuery), [use_waffle_filters.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/infra/public/pages/metrics/inventory_view/hooks/use_waffle_filters.ts#:~:text=esKuery), [use_waffle_filters.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/infra/public/pages/metrics/inventory_view/hooks/use_waffle_filters.ts#:~:text=esKuery) | 8.1 | -| | [index.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/infra/public/containers/logs/log_stream/index.ts#:~:text=esQuery), [index.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/infra/public/containers/logs/log_stream/index.ts#:~:text=esQuery), [log_filter_state.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/infra/public/containers/logs/log_filter/log_filter_state.ts#:~:text=esQuery), [log_filter_state.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/infra/public/containers/logs/log_filter/log_filter_state.ts#:~:text=esQuery), [log_filter_state.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/infra/public/containers/logs/log_filter/log_filter_state.ts#:~:text=esQuery) | 8.1 | | | [log_stream_embeddable.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/infra/public/components/log_stream/log_stream_embeddable.tsx#:~:text=Filter), [log_stream_embeddable.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/infra/public/components/log_stream/log_stream_embeddable.tsx#:~:text=Filter), [use_dataset_filtering.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/infra/public/pages/logs/log_entry_rate/use_dataset_filtering.ts#:~:text=Filter), [use_dataset_filtering.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/infra/public/pages/logs/log_entry_rate/use_dataset_filtering.ts#:~:text=Filter), [use_dataset_filtering.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/infra/public/pages/logs/log_entry_rate/use_dataset_filtering.ts#:~:text=Filter) | 8.1 | | | [custom_metric_form.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/infra/public/pages/metrics/inventory_view/components/waffle/metric_control/custom_metric_form.tsx#:~:text=IFieldType), [custom_metric_form.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/infra/public/pages/metrics/inventory_view/components/waffle/metric_control/custom_metric_form.tsx#:~:text=IFieldType), [index.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/infra/public/pages/metrics/inventory_view/components/waffle/metric_control/index.tsx#:~:text=IFieldType), [index.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/infra/public/pages/metrics/inventory_view/components/waffle/metric_control/index.tsx#:~:text=IFieldType), [custom_field_panel.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/infra/public/pages/metrics/inventory_view/components/waffle/custom_field_panel.tsx#:~:text=IFieldType), [custom_field_panel.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/infra/public/pages/metrics/inventory_view/components/waffle/custom_field_panel.tsx#:~:text=IFieldType), [waffle_group_by_controls.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/infra/public/pages/metrics/inventory_view/components/waffle/waffle_group_by_controls.tsx#:~:text=IFieldType), [waffle_group_by_controls.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/infra/public/pages/metrics/inventory_view/components/waffle/waffle_group_by_controls.tsx#:~:text=IFieldType), [metric.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/infra/public/alerting/inventory/components/metric.tsx#:~:text=IFieldType), [metric.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/infra/public/alerting/inventory/components/metric.tsx#:~:text=IFieldType)+ 102 more | 8.1 | | | [log_stream_embeddable.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/infra/public/components/log_stream/log_stream_embeddable.tsx#:~:text=Filter), [log_stream_embeddable.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/infra/public/components/log_stream/log_stream_embeddable.tsx#:~:text=Filter), [use_dataset_filtering.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/infra/public/pages/logs/log_entry_rate/use_dataset_filtering.ts#:~:text=Filter), [use_dataset_filtering.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/infra/public/pages/logs/log_entry_rate/use_dataset_filtering.ts#:~:text=Filter), [use_dataset_filtering.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/infra/public/pages/logs/log_entry_rate/use_dataset_filtering.ts#:~:text=Filter) | 8.1 | @@ -595,19 +591,19 @@ warning: This document is auto-generated and is meant to be viewed inside our ex | | [kibana_server_services.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/server/kibana_server_services.ts#:~:text=IndexPatternsService), [kibana_server_services.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/server/kibana_server_services.ts#:~:text=IndexPatternsService), [create_doc_source.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/server/data_indexing/create_doc_source.ts#:~:text=IndexPatternsService), [create_doc_source.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/server/data_indexing/create_doc_source.ts#:~:text=IndexPatternsService), [kibana_server_services.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/server/kibana_server_services.ts#:~:text=IndexPatternsService), [kibana_server_services.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/server/kibana_server_services.ts#:~:text=IndexPatternsService), [create_doc_source.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/server/data_indexing/create_doc_source.ts#:~:text=IndexPatternsService), [create_doc_source.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/server/data_indexing/create_doc_source.ts#:~:text=IndexPatternsService) | - | | | [index.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/lazy_load_bundle/index.ts#:~:text=IndexPatternsContract), [index.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/lazy_load_bundle/index.ts#:~:text=IndexPatternsContract), [index.d.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/target/types/public/lazy_load_bundle/index.d.ts#:~:text=IndexPatternsContract), [index.d.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/target/types/public/lazy_load_bundle/index.d.ts#:~:text=IndexPatternsContract), [index.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/lazy_load_bundle/index.ts#:~:text=IndexPatternsContract), [index.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/lazy_load_bundle/index.ts#:~:text=IndexPatternsContract), [index.d.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/target/types/public/lazy_load_bundle/index.d.ts#:~:text=IndexPatternsContract), [index.d.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/target/types/public/lazy_load_bundle/index.d.ts#:~:text=IndexPatternsContract) | - | | | [types.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/embeddable/types.ts#:~:text=IndexPattern), [types.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/embeddable/types.ts#:~:text=IndexPattern), [es_agg_utils.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/common/elasticsearch_util/es_agg_utils.ts#:~:text=IndexPattern), [es_agg_utils.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/common/elasticsearch_util/es_agg_utils.ts#:~:text=IndexPattern), [agg_field_types.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/classes/fields/agg/agg_field_types.ts#:~:text=IndexPattern), [agg_field_types.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/classes/fields/agg/agg_field_types.ts#:~:text=IndexPattern), [percentile_agg_field.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/classes/fields/agg/percentile_agg_field.ts#:~:text=IndexPattern), [percentile_agg_field.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/classes/fields/agg/percentile_agg_field.ts#:~:text=IndexPattern), [es_geo_grid_source.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/classes/sources/es_geo_grid_source/es_geo_grid_source.tsx#:~:text=IndexPattern), [es_geo_grid_source.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/classes/sources/es_geo_grid_source/es_geo_grid_source.tsx#:~:text=IndexPattern)+ 206 more | - | -| | [es_agg_utils.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/common/elasticsearch_util/es_agg_utils.ts#:~:text=IndexPatternField), [es_agg_utils.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/common/elasticsearch_util/es_agg_utils.ts#:~:text=IndexPatternField), [es_agg_utils.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/common/elasticsearch_util/es_agg_utils.ts#:~:text=IndexPatternField), [es_agg_utils.d.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/target/types/common/elasticsearch_util/es_agg_utils.d.ts#:~:text=IndexPatternField), [es_agg_utils.d.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/target/types/common/elasticsearch_util/es_agg_utils.d.ts#:~:text=IndexPatternField), [es_agg_utils.d.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/target/types/common/elasticsearch_util/es_agg_utils.d.ts#:~:text=IndexPatternField), [es_tooltip_property.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/classes/tooltips/es_tooltip_property.ts#:~:text=IndexPatternField), [es_tooltip_property.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/classes/tooltips/es_tooltip_property.ts#:~:text=IndexPatternField), [es_doc_field.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/classes/fields/es_doc_field.ts#:~:text=IndexPatternField), [es_doc_field.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/classes/fields/es_doc_field.ts#:~:text=IndexPatternField)+ 268 more | - | +| | [es_agg_utils.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/common/elasticsearch_util/es_agg_utils.ts#:~:text=IndexPatternField), [es_agg_utils.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/common/elasticsearch_util/es_agg_utils.ts#:~:text=IndexPatternField), [es_agg_utils.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/common/elasticsearch_util/es_agg_utils.ts#:~:text=IndexPatternField), [es_agg_utils.d.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/target/types/common/elasticsearch_util/es_agg_utils.d.ts#:~:text=IndexPatternField), [es_agg_utils.d.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/target/types/common/elasticsearch_util/es_agg_utils.d.ts#:~:text=IndexPatternField), [es_agg_utils.d.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/target/types/common/elasticsearch_util/es_agg_utils.d.ts#:~:text=IndexPatternField), [single_field_select.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/components/single_field_select.tsx#:~:text=IndexPatternField), [single_field_select.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/components/single_field_select.tsx#:~:text=IndexPatternField), [single_field_select.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/components/single_field_select.tsx#:~:text=IndexPatternField), [single_field_select.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/components/single_field_select.tsx#:~:text=IndexPatternField)+ 272 more | - | | | [es_source.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/classes/sources/es_source/es_source.ts#:~:text=fetch), [es_search_source.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.tsx#:~:text=fetch), [es_search_source.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.tsx#:~:text=fetch) | 8.1 | | | [kibana_services.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/kibana_services.ts#:~:text=indexPatterns) | - | | | [es_tooltip_property.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/classes/tooltips/es_tooltip_property.ts#:~:text=esFilters), [es_tooltip_property.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/classes/tooltips/es_tooltip_property.ts#:~:text=esFilters), [es_tooltip_property.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/classes/tooltips/es_tooltip_property.ts#:~:text=esFilters), [es_search_source.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.tsx#:~:text=esFilters), [es_search_source.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.tsx#:~:text=esFilters), [es_geo_line_source.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/classes/sources/es_geo_line_source/es_geo_line_source.tsx#:~:text=esFilters), [es_geo_line_source.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/classes/sources/es_geo_line_source/es_geo_line_source.tsx#:~:text=esFilters), [es_geo_line_source.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/classes/sources/es_geo_line_source/es_geo_line_source.tsx#:~:text=esFilters), [app_sync.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/routes/map_page/url_state/app_sync.ts#:~:text=esFilters), [app_sync.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/routes/map_page/url_state/app_sync.ts#:~:text=esFilters)+ 9 more | 8.1 | | | [types.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/reducers/map/types.ts#:~:text=Filter), [types.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/reducers/map/types.ts#:~:text=Filter), [tooltip_property.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/classes/tooltips/tooltip_property.ts#:~:text=Filter), [tooltip_property.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/classes/tooltips/tooltip_property.ts#:~:text=Filter), [tooltip_property.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/classes/tooltips/tooltip_property.ts#:~:text=Filter), [tooltip_property.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/classes/tooltips/tooltip_property.ts#:~:text=Filter), [vector_source.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/classes/sources/vector_source/vector_source.tsx#:~:text=Filter), [vector_source.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/classes/sources/vector_source/vector_source.tsx#:~:text=Filter), [es_tooltip_property.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/classes/tooltips/es_tooltip_property.ts#:~:text=Filter), [es_tooltip_property.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/classes/tooltips/es_tooltip_property.ts#:~:text=Filter)+ 115 more | 8.1 | -| | [es_agg_utils.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/common/elasticsearch_util/es_agg_utils.ts#:~:text=IndexPatternField), [es_agg_utils.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/common/elasticsearch_util/es_agg_utils.ts#:~:text=IndexPatternField), [es_agg_utils.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/common/elasticsearch_util/es_agg_utils.ts#:~:text=IndexPatternField), [es_agg_utils.d.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/target/types/common/elasticsearch_util/es_agg_utils.d.ts#:~:text=IndexPatternField), [es_agg_utils.d.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/target/types/common/elasticsearch_util/es_agg_utils.d.ts#:~:text=IndexPatternField), [es_agg_utils.d.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/target/types/common/elasticsearch_util/es_agg_utils.d.ts#:~:text=IndexPatternField), [es_tooltip_property.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/classes/tooltips/es_tooltip_property.ts#:~:text=IndexPatternField), [es_tooltip_property.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/classes/tooltips/es_tooltip_property.ts#:~:text=IndexPatternField), [es_doc_field.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/classes/fields/es_doc_field.ts#:~:text=IndexPatternField), [es_doc_field.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/classes/fields/es_doc_field.ts#:~:text=IndexPatternField)+ 268 more | - | +| | [es_agg_utils.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/common/elasticsearch_util/es_agg_utils.ts#:~:text=IndexPatternField), [es_agg_utils.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/common/elasticsearch_util/es_agg_utils.ts#:~:text=IndexPatternField), [es_agg_utils.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/common/elasticsearch_util/es_agg_utils.ts#:~:text=IndexPatternField), [es_agg_utils.d.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/target/types/common/elasticsearch_util/es_agg_utils.d.ts#:~:text=IndexPatternField), [es_agg_utils.d.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/target/types/common/elasticsearch_util/es_agg_utils.d.ts#:~:text=IndexPatternField), [es_agg_utils.d.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/target/types/common/elasticsearch_util/es_agg_utils.d.ts#:~:text=IndexPatternField), [single_field_select.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/components/single_field_select.tsx#:~:text=IndexPatternField), [single_field_select.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/components/single_field_select.tsx#:~:text=IndexPatternField), [single_field_select.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/components/single_field_select.tsx#:~:text=IndexPatternField), [single_field_select.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/components/single_field_select.tsx#:~:text=IndexPatternField)+ 272 more | - | | | [kibana_server_services.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/server/kibana_server_services.ts#:~:text=IndexPatternsService), [kibana_server_services.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/server/kibana_server_services.ts#:~:text=IndexPatternsService), [create_doc_source.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/server/data_indexing/create_doc_source.ts#:~:text=IndexPatternsService), [create_doc_source.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/server/data_indexing/create_doc_source.ts#:~:text=IndexPatternsService), [kibana_server_services.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/server/kibana_server_services.ts#:~:text=IndexPatternsService), [kibana_server_services.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/server/kibana_server_services.ts#:~:text=IndexPatternsService), [create_doc_source.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/server/data_indexing/create_doc_source.ts#:~:text=IndexPatternsService), [create_doc_source.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/server/data_indexing/create_doc_source.ts#:~:text=IndexPatternsService) | - | | | [index.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/lazy_load_bundle/index.ts#:~:text=IndexPatternsContract), [index.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/lazy_load_bundle/index.ts#:~:text=IndexPatternsContract), [index.d.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/target/types/public/lazy_load_bundle/index.d.ts#:~:text=IndexPatternsContract), [index.d.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/target/types/public/lazy_load_bundle/index.d.ts#:~:text=IndexPatternsContract), [index.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/lazy_load_bundle/index.ts#:~:text=IndexPatternsContract), [index.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/lazy_load_bundle/index.ts#:~:text=IndexPatternsContract), [index.d.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/target/types/public/lazy_load_bundle/index.d.ts#:~:text=IndexPatternsContract), [index.d.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/target/types/public/lazy_load_bundle/index.d.ts#:~:text=IndexPatternsContract) | - | | | [types.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/embeddable/types.ts#:~:text=IndexPattern), [types.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/embeddable/types.ts#:~:text=IndexPattern), [es_agg_utils.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/common/elasticsearch_util/es_agg_utils.ts#:~:text=IndexPattern), [es_agg_utils.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/common/elasticsearch_util/es_agg_utils.ts#:~:text=IndexPattern), [agg_field_types.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/classes/fields/agg/agg_field_types.ts#:~:text=IndexPattern), [agg_field_types.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/classes/fields/agg/agg_field_types.ts#:~:text=IndexPattern), [percentile_agg_field.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/classes/fields/agg/percentile_agg_field.ts#:~:text=IndexPattern), [percentile_agg_field.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/classes/fields/agg/percentile_agg_field.ts#:~:text=IndexPattern), [es_geo_grid_source.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/classes/sources/es_geo_grid_source/es_geo_grid_source.tsx#:~:text=IndexPattern), [es_geo_grid_source.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/classes/sources/es_geo_grid_source/es_geo_grid_source.tsx#:~:text=IndexPattern)+ 206 more | - | | | [es_search_source.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.tsx#:~:text=flattenHit), [es_search_source.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.tsx#:~:text=flattenHit), [es_search_source.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.tsx#:~:text=flattenHit), [es_search_source.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.tsx#:~:text=flattenHit) | - | | | [types.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/reducers/map/types.ts#:~:text=Filter), [types.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/reducers/map/types.ts#:~:text=Filter), [tooltip_property.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/classes/tooltips/tooltip_property.ts#:~:text=Filter), [tooltip_property.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/classes/tooltips/tooltip_property.ts#:~:text=Filter), [tooltip_property.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/classes/tooltips/tooltip_property.ts#:~:text=Filter), [tooltip_property.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/classes/tooltips/tooltip_property.ts#:~:text=Filter), [vector_source.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/classes/sources/vector_source/vector_source.tsx#:~:text=Filter), [vector_source.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/classes/sources/vector_source/vector_source.tsx#:~:text=Filter), [es_tooltip_property.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/classes/tooltips/es_tooltip_property.ts#:~:text=Filter), [es_tooltip_property.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/classes/tooltips/es_tooltip_property.ts#:~:text=Filter)+ 115 more | 8.1 | | | [es_source.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/classes/sources/es_source/es_source.ts#:~:text=fetch), [es_search_source.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.tsx#:~:text=fetch), [es_search_source.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.tsx#:~:text=fetch) | 8.1 | -| | [es_agg_utils.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/common/elasticsearch_util/es_agg_utils.ts#:~:text=IndexPatternField), [es_agg_utils.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/common/elasticsearch_util/es_agg_utils.ts#:~:text=IndexPatternField), [es_agg_utils.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/common/elasticsearch_util/es_agg_utils.ts#:~:text=IndexPatternField), [es_agg_utils.d.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/target/types/common/elasticsearch_util/es_agg_utils.d.ts#:~:text=IndexPatternField), [es_agg_utils.d.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/target/types/common/elasticsearch_util/es_agg_utils.d.ts#:~:text=IndexPatternField), [es_agg_utils.d.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/target/types/common/elasticsearch_util/es_agg_utils.d.ts#:~:text=IndexPatternField), [es_tooltip_property.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/classes/tooltips/es_tooltip_property.ts#:~:text=IndexPatternField), [es_tooltip_property.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/classes/tooltips/es_tooltip_property.ts#:~:text=IndexPatternField), [es_doc_field.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/classes/fields/es_doc_field.ts#:~:text=IndexPatternField), [es_doc_field.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/classes/fields/es_doc_field.ts#:~:text=IndexPatternField)+ 129 more | - | +| | [es_agg_utils.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/common/elasticsearch_util/es_agg_utils.ts#:~:text=IndexPatternField), [es_agg_utils.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/common/elasticsearch_util/es_agg_utils.ts#:~:text=IndexPatternField), [es_agg_utils.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/common/elasticsearch_util/es_agg_utils.ts#:~:text=IndexPatternField), [es_agg_utils.d.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/target/types/common/elasticsearch_util/es_agg_utils.d.ts#:~:text=IndexPatternField), [es_agg_utils.d.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/target/types/common/elasticsearch_util/es_agg_utils.d.ts#:~:text=IndexPatternField), [es_agg_utils.d.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/target/types/common/elasticsearch_util/es_agg_utils.d.ts#:~:text=IndexPatternField), [single_field_select.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/components/single_field_select.tsx#:~:text=IndexPatternField), [single_field_select.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/components/single_field_select.tsx#:~:text=IndexPatternField), [single_field_select.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/components/single_field_select.tsx#:~:text=IndexPatternField), [single_field_select.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/components/single_field_select.tsx#:~:text=IndexPatternField)+ 131 more | - | | | [types.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/embeddable/types.ts#:~:text=IndexPattern), [types.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/embeddable/types.ts#:~:text=IndexPattern), [es_agg_utils.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/common/elasticsearch_util/es_agg_utils.ts#:~:text=IndexPattern), [es_agg_utils.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/common/elasticsearch_util/es_agg_utils.ts#:~:text=IndexPattern), [agg_field_types.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/classes/fields/agg/agg_field_types.ts#:~:text=IndexPattern), [agg_field_types.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/classes/fields/agg/agg_field_types.ts#:~:text=IndexPattern), [percentile_agg_field.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/classes/fields/agg/percentile_agg_field.ts#:~:text=IndexPattern), [percentile_agg_field.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/classes/fields/agg/percentile_agg_field.ts#:~:text=IndexPattern), [es_geo_grid_source.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/classes/sources/es_geo_grid_source/es_geo_grid_source.tsx#:~:text=IndexPattern), [es_geo_grid_source.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/classes/sources/es_geo_grid_source/es_geo_grid_source.tsx#:~:text=IndexPattern)+ 98 more | - | | | [kibana_server_services.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/server/kibana_server_services.ts#:~:text=IndexPatternsService), [kibana_server_services.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/server/kibana_server_services.ts#:~:text=IndexPatternsService), [create_doc_source.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/server/data_indexing/create_doc_source.ts#:~:text=IndexPatternsService), [create_doc_source.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/server/data_indexing/create_doc_source.ts#:~:text=IndexPatternsService), [kibana_server_services.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/server/kibana_server_services.ts#:~:text=IndexPatternsService), [kibana_server_services.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/server/kibana_server_services.ts#:~:text=IndexPatternsService), [create_doc_source.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/server/data_indexing/create_doc_source.ts#:~:text=IndexPatternsService), [create_doc_source.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/server/data_indexing/create_doc_source.ts#:~:text=IndexPatternsService) | - | | | [es_search_source.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.tsx#:~:text=flattenHit), [es_search_source.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.tsx#:~:text=flattenHit) | - | @@ -703,12 +699,6 @@ warning: This document is auto-generated and is meant to be viewed inside our ex | Deprecated API | Reference location(s) | Remove By | | ---------------|-----------|-----------| -| | [options_list_embeddable.tsx](https://github.com/elastic/kibana/tree/master/src/plugins/presentation_util/public/components/controls/control_types/options_list/options_list_embeddable.tsx#:~:text=IIndexPattern), [options_list_embeddable.tsx](https://github.com/elastic/kibana/tree/master/src/plugins/presentation_util/public/components/controls/control_types/options_list/options_list_embeddable.tsx#:~:text=IIndexPattern), [options_list_embeddable.tsx](https://github.com/elastic/kibana/tree/master/src/plugins/presentation_util/public/components/controls/control_types/options_list/options_list_embeddable.tsx#:~:text=IIndexPattern), [options_list_embeddable.tsx](https://github.com/elastic/kibana/tree/master/src/plugins/presentation_util/public/components/controls/control_types/options_list/options_list_embeddable.tsx#:~:text=IIndexPattern), [options_list_embeddable.tsx](https://github.com/elastic/kibana/tree/master/src/plugins/presentation_util/public/components/controls/control_types/options_list/options_list_embeddable.tsx#:~:text=IIndexPattern), [options_list_editor.tsx](https://github.com/elastic/kibana/tree/master/src/plugins/presentation_util/public/components/controls/control_types/options_list/options_list_editor.tsx#:~:text=IIndexPattern), [options_list_editor.tsx](https://github.com/elastic/kibana/tree/master/src/plugins/presentation_util/public/components/controls/control_types/options_list/options_list_editor.tsx#:~:text=IIndexPattern), [options_list_editor.tsx](https://github.com/elastic/kibana/tree/master/src/plugins/presentation_util/public/components/controls/control_types/options_list/options_list_editor.tsx#:~:text=IIndexPattern), [options_list_editor.tsx](https://github.com/elastic/kibana/tree/master/src/plugins/presentation_util/public/components/controls/control_types/options_list/options_list_editor.tsx#:~:text=IIndexPattern), [options_list_editor.tsx](https://github.com/elastic/kibana/tree/master/src/plugins/presentation_util/public/components/controls/control_types/options_list/options_list_editor.tsx#:~:text=IIndexPattern) | - | -| | [options_list_embeddable.tsx](https://github.com/elastic/kibana/tree/master/src/plugins/presentation_util/public/components/controls/control_types/options_list/options_list_embeddable.tsx#:~:text=IFieldType), [options_list_embeddable.tsx](https://github.com/elastic/kibana/tree/master/src/plugins/presentation_util/public/components/controls/control_types/options_list/options_list_embeddable.tsx#:~:text=IFieldType), [options_list_embeddable.tsx](https://github.com/elastic/kibana/tree/master/src/plugins/presentation_util/public/components/controls/control_types/options_list/options_list_embeddable.tsx#:~:text=IFieldType), [options_list_embeddable.tsx](https://github.com/elastic/kibana/tree/master/src/plugins/presentation_util/public/components/controls/control_types/options_list/options_list_embeddable.tsx#:~:text=IFieldType), [options_list_editor.tsx](https://github.com/elastic/kibana/tree/master/src/plugins/presentation_util/public/components/controls/control_types/options_list/options_list_editor.tsx#:~:text=IFieldType), [options_list_editor.tsx](https://github.com/elastic/kibana/tree/master/src/plugins/presentation_util/public/components/controls/control_types/options_list/options_list_editor.tsx#:~:text=IFieldType), [options_list_editor.tsx](https://github.com/elastic/kibana/tree/master/src/plugins/presentation_util/public/components/controls/control_types/options_list/options_list_editor.tsx#:~:text=IFieldType), [options_list_editor.tsx](https://github.com/elastic/kibana/tree/master/src/plugins/presentation_util/public/components/controls/control_types/options_list/options_list_editor.tsx#:~:text=IFieldType), [options_list_editor.tsx](https://github.com/elastic/kibana/tree/master/src/plugins/presentation_util/public/components/controls/control_types/options_list/options_list_editor.tsx#:~:text=IFieldType), [options_list_editor.tsx](https://github.com/elastic/kibana/tree/master/src/plugins/presentation_util/public/components/controls/control_types/options_list/options_list_editor.tsx#:~:text=IFieldType) | 8.1 | -| | [options_list_embeddable.tsx](https://github.com/elastic/kibana/tree/master/src/plugins/presentation_util/public/components/controls/control_types/options_list/options_list_embeddable.tsx#:~:text=esFilters), [options_list_embeddable.tsx](https://github.com/elastic/kibana/tree/master/src/plugins/presentation_util/public/components/controls/control_types/options_list/options_list_embeddable.tsx#:~:text=esFilters) | 8.1 | -| | [options_list_embeddable.tsx](https://github.com/elastic/kibana/tree/master/src/plugins/presentation_util/public/components/controls/control_types/options_list/options_list_embeddable.tsx#:~:text=IFieldType), [options_list_embeddable.tsx](https://github.com/elastic/kibana/tree/master/src/plugins/presentation_util/public/components/controls/control_types/options_list/options_list_embeddable.tsx#:~:text=IFieldType), [options_list_embeddable.tsx](https://github.com/elastic/kibana/tree/master/src/plugins/presentation_util/public/components/controls/control_types/options_list/options_list_embeddable.tsx#:~:text=IFieldType), [options_list_embeddable.tsx](https://github.com/elastic/kibana/tree/master/src/plugins/presentation_util/public/components/controls/control_types/options_list/options_list_embeddable.tsx#:~:text=IFieldType), [options_list_editor.tsx](https://github.com/elastic/kibana/tree/master/src/plugins/presentation_util/public/components/controls/control_types/options_list/options_list_editor.tsx#:~:text=IFieldType), [options_list_editor.tsx](https://github.com/elastic/kibana/tree/master/src/plugins/presentation_util/public/components/controls/control_types/options_list/options_list_editor.tsx#:~:text=IFieldType), [options_list_editor.tsx](https://github.com/elastic/kibana/tree/master/src/plugins/presentation_util/public/components/controls/control_types/options_list/options_list_editor.tsx#:~:text=IFieldType), [options_list_editor.tsx](https://github.com/elastic/kibana/tree/master/src/plugins/presentation_util/public/components/controls/control_types/options_list/options_list_editor.tsx#:~:text=IFieldType), [options_list_editor.tsx](https://github.com/elastic/kibana/tree/master/src/plugins/presentation_util/public/components/controls/control_types/options_list/options_list_editor.tsx#:~:text=IFieldType), [options_list_editor.tsx](https://github.com/elastic/kibana/tree/master/src/plugins/presentation_util/public/components/controls/control_types/options_list/options_list_editor.tsx#:~:text=IFieldType)+ 10 more | 8.1 | -| | [options_list_embeddable.tsx](https://github.com/elastic/kibana/tree/master/src/plugins/presentation_util/public/components/controls/control_types/options_list/options_list_embeddable.tsx#:~:text=IIndexPattern), [options_list_embeddable.tsx](https://github.com/elastic/kibana/tree/master/src/plugins/presentation_util/public/components/controls/control_types/options_list/options_list_embeddable.tsx#:~:text=IIndexPattern), [options_list_embeddable.tsx](https://github.com/elastic/kibana/tree/master/src/plugins/presentation_util/public/components/controls/control_types/options_list/options_list_embeddable.tsx#:~:text=IIndexPattern), [options_list_embeddable.tsx](https://github.com/elastic/kibana/tree/master/src/plugins/presentation_util/public/components/controls/control_types/options_list/options_list_embeddable.tsx#:~:text=IIndexPattern), [options_list_embeddable.tsx](https://github.com/elastic/kibana/tree/master/src/plugins/presentation_util/public/components/controls/control_types/options_list/options_list_embeddable.tsx#:~:text=IIndexPattern), [options_list_editor.tsx](https://github.com/elastic/kibana/tree/master/src/plugins/presentation_util/public/components/controls/control_types/options_list/options_list_editor.tsx#:~:text=IIndexPattern), [options_list_editor.tsx](https://github.com/elastic/kibana/tree/master/src/plugins/presentation_util/public/components/controls/control_types/options_list/options_list_editor.tsx#:~:text=IIndexPattern), [options_list_editor.tsx](https://github.com/elastic/kibana/tree/master/src/plugins/presentation_util/public/components/controls/control_types/options_list/options_list_editor.tsx#:~:text=IIndexPattern), [options_list_editor.tsx](https://github.com/elastic/kibana/tree/master/src/plugins/presentation_util/public/components/controls/control_types/options_list/options_list_editor.tsx#:~:text=IIndexPattern), [options_list_editor.tsx](https://github.com/elastic/kibana/tree/master/src/plugins/presentation_util/public/components/controls/control_types/options_list/options_list_editor.tsx#:~:text=IIndexPattern)+ 10 more | - | -| | [options_list_embeddable.tsx](https://github.com/elastic/kibana/tree/master/src/plugins/presentation_util/public/components/controls/control_types/options_list/options_list_embeddable.tsx#:~:text=IFieldType), [options_list_embeddable.tsx](https://github.com/elastic/kibana/tree/master/src/plugins/presentation_util/public/components/controls/control_types/options_list/options_list_embeddable.tsx#:~:text=IFieldType), [options_list_embeddable.tsx](https://github.com/elastic/kibana/tree/master/src/plugins/presentation_util/public/components/controls/control_types/options_list/options_list_embeddable.tsx#:~:text=IFieldType), [options_list_embeddable.tsx](https://github.com/elastic/kibana/tree/master/src/plugins/presentation_util/public/components/controls/control_types/options_list/options_list_embeddable.tsx#:~:text=IFieldType), [options_list_editor.tsx](https://github.com/elastic/kibana/tree/master/src/plugins/presentation_util/public/components/controls/control_types/options_list/options_list_editor.tsx#:~:text=IFieldType), [options_list_editor.tsx](https://github.com/elastic/kibana/tree/master/src/plugins/presentation_util/public/components/controls/control_types/options_list/options_list_editor.tsx#:~:text=IFieldType), [options_list_editor.tsx](https://github.com/elastic/kibana/tree/master/src/plugins/presentation_util/public/components/controls/control_types/options_list/options_list_editor.tsx#:~:text=IFieldType), [options_list_editor.tsx](https://github.com/elastic/kibana/tree/master/src/plugins/presentation_util/public/components/controls/control_types/options_list/options_list_editor.tsx#:~:text=IFieldType), [options_list_editor.tsx](https://github.com/elastic/kibana/tree/master/src/plugins/presentation_util/public/components/controls/control_types/options_list/options_list_editor.tsx#:~:text=IFieldType), [options_list_editor.tsx](https://github.com/elastic/kibana/tree/master/src/plugins/presentation_util/public/components/controls/control_types/options_list/options_list_editor.tsx#:~:text=IFieldType) | 8.1 | | | [saved_object_save_modal_dashboard.tsx](https://github.com/elastic/kibana/tree/master/src/plugins/presentation_util/public/components/saved_object_save_modal_dashboard.tsx#:~:text=SavedObjectSaveModal), [saved_object_save_modal_dashboard.tsx](https://github.com/elastic/kibana/tree/master/src/plugins/presentation_util/public/components/saved_object_save_modal_dashboard.tsx#:~:text=SavedObjectSaveModal) | - | @@ -811,9 +801,9 @@ warning: This document is auto-generated and is meant to be viewed inside our ex | | [edit_role_page.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security/public/management/roles/edit_role/edit_role_page.tsx#:~:text=IndexPatternsContract), [edit_role_page.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security/public/management/roles/edit_role/edit_role_page.tsx#:~:text=IndexPatternsContract), [edit_role_page.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security/public/management/roles/edit_role/edit_role_page.tsx#:~:text=IndexPatternsContract), [edit_role_page.d.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security/target/types/public/management/roles/edit_role/edit_role_page.d.ts#:~:text=IndexPatternsContract), [edit_role_page.d.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security/target/types/public/management/roles/edit_role/edit_role_page.d.ts#:~:text=IndexPatternsContract), [edit_role_page.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security/public/management/roles/edit_role/edit_role_page.tsx#:~:text=IndexPatternsContract), [edit_role_page.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security/public/management/roles/edit_role/edit_role_page.tsx#:~:text=IndexPatternsContract), [edit_role_page.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security/public/management/roles/edit_role/edit_role_page.tsx#:~:text=IndexPatternsContract), [edit_role_page.d.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security/target/types/public/management/roles/edit_role/edit_role_page.d.ts#:~:text=IndexPatternsContract), [edit_role_page.d.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security/target/types/public/management/roles/edit_role/edit_role_page.d.ts#:~:text=IndexPatternsContract) | - | | | [disable_ui_capabilities.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security/server/authorization/disable_ui_capabilities.ts#:~:text=requiredRoles) | - | | | [disable_ui_capabilities.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security/server/authorization/disable_ui_capabilities.ts#:~:text=requiredRoles) | - | -| | [license_service.test.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security/common/licensing/license_service.test.ts#:~:text=mode), [license_service.test.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security/common/licensing/license_service.test.ts#:~:text=mode), [license_service.test.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security/common/licensing/license_service.test.ts#:~:text=mode) | - | +| | [license_service.test.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security/common/licensing/license_service.test.ts#:~:text=mode), [license_service.test.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security/common/licensing/license_service.test.ts#:~:text=mode) | - | | | [plugin.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security/public/plugin.tsx#:~:text=license%24) | - | -| | [license_service.test.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security/common/licensing/license_service.test.ts#:~:text=mode), [license_service.test.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security/common/licensing/license_service.test.ts#:~:text=mode), [license_service.test.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security/common/licensing/license_service.test.ts#:~:text=mode) | - | +| | [license_service.test.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security/common/licensing/license_service.test.ts#:~:text=mode), [license_service.test.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security/common/licensing/license_service.test.ts#:~:text=mode) | - | | | [plugin.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security/server/plugin.ts#:~:text=license%24) | - | | | [plugin.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security/server/plugin.ts#:~:text=spacesService), [plugin.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security/server/plugin.ts#:~:text=spacesService), [plugin.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security/server/plugin.ts#:~:text=spacesService), [plugin.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security/server/plugin.ts#:~:text=spacesService) | 7.16 | | | [audit_service.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security/server/audit/audit_service.ts#:~:text=getSpaceId), [check_privileges_dynamically.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security/server/authorization/check_privileges_dynamically.ts#:~:text=getSpaceId), [plugin.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security/server/plugin.ts#:~:text=getSpaceId), [check_privileges_dynamically.test.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security/server/authorization/check_privileges_dynamically.test.ts#:~:text=getSpaceId) | 7.16 | @@ -844,9 +834,9 @@ warning: This document is auto-generated and is meant to be viewed inside our ex | | [store.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security_solution/common/types/timeline/store.ts#:~:text=Filter), [store.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security_solution/common/types/timeline/store.ts#:~:text=Filter), [model.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security_solution/public/common/store/inputs/model.ts#:~:text=Filter), [model.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security_solution/public/common/store/inputs/model.ts#:~:text=Filter), [actions.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security_solution/public/common/store/inputs/actions.ts#:~:text=Filter), [actions.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security_solution/public/common/store/inputs/actions.ts#:~:text=Filter), [actions.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security_solution/public/timelines/store/timeline/actions.ts#:~:text=Filter), [actions.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security_solution/public/timelines/store/timeline/actions.ts#:~:text=Filter), [helpers.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security_solution/public/detections/pages/detection_engine/rules/helpers.tsx#:~:text=Filter), [helpers.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security_solution/public/detections/pages/detection_engine/rules/helpers.tsx#:~:text=Filter)+ 165 more | 8.1 | | | [policy_config.test.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security_solution/common/license/policy_config.test.ts#:~:text=mode), [policy_config.test.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security_solution/common/license/policy_config.test.ts#:~:text=mode), [policy_config.test.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security_solution/common/license/policy_config.test.ts#:~:text=mode), [fleet_integration.test.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security_solution/server/fleet_integration/fleet_integration.test.ts#:~:text=mode), [fleet_integration.test.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security_solution/server/fleet_integration/fleet_integration.test.ts#:~:text=mode), [license_watch.test.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security_solution/server/endpoint/lib/policy/license_watch.test.ts#:~:text=mode), [license_watch.test.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security_solution/server/endpoint/lib/policy/license_watch.test.ts#:~:text=mode), [license_watch.test.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security_solution/server/endpoint/lib/policy/license_watch.test.ts#:~:text=mode), [isolation.test.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security_solution/server/endpoint/routes/actions/isolation.test.ts#:~:text=mode), [isolation.test.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security_solution/server/endpoint/routes/actions/isolation.test.ts#:~:text=mode)+ 4 more | - | | | [policy_config.test.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security_solution/common/license/policy_config.test.ts#:~:text=mode), [policy_config.test.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security_solution/common/license/policy_config.test.ts#:~:text=mode), [policy_config.test.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security_solution/common/license/policy_config.test.ts#:~:text=mode), [fleet_integration.test.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security_solution/server/fleet_integration/fleet_integration.test.ts#:~:text=mode), [fleet_integration.test.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security_solution/server/fleet_integration/fleet_integration.test.ts#:~:text=mode), [license_watch.test.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security_solution/server/endpoint/lib/policy/license_watch.test.ts#:~:text=mode), [license_watch.test.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security_solution/server/endpoint/lib/policy/license_watch.test.ts#:~:text=mode), [license_watch.test.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security_solution/server/endpoint/lib/policy/license_watch.test.ts#:~:text=mode), [isolation.test.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security_solution/server/endpoint/routes/actions/isolation.test.ts#:~:text=mode), [isolation.test.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security_solution/server/endpoint/routes/actions/isolation.test.ts#:~:text=mode)+ 4 more | - | -| | [create_signals_migration_route.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security_solution/server/lib/detection_engine/routes/signals/create_signals_migration_route.ts#:~:text=authc), [delete_signals_migration_route.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security_solution/server/lib/detection_engine/routes/signals/delete_signals_migration_route.ts#:~:text=authc), [finalize_signals_migration_route.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security_solution/server/lib/detection_engine/routes/signals/finalize_signals_migration_route.ts#:~:text=authc), [preview_rules_route.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/preview_rules_route.ts#:~:text=authc), [request_context_factory.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security_solution/server/request_context_factory.ts#:~:text=authc), [common.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security_solution/server/lib/timeline/utils/common.ts#:~:text=authc) | - | -| | [plugin.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security_solution/server/plugin.ts#:~:text=spacesService), [request_context_factory.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security_solution/server/request_context_factory.ts#:~:text=spacesService), [request_context_factory.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security_solution/server/request_context_factory.ts#:~:text=spacesService) | 7.16 | -| | [plugin.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security_solution/server/plugin.ts#:~:text=getSpaceId), [request_context_factory.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security_solution/server/request_context_factory.ts#:~:text=getSpaceId), [request_context_factory.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security_solution/server/request_context_factory.ts#:~:text=getSpaceId) | 7.16 | +| | [request_context_factory.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security_solution/server/request_context_factory.ts#:~:text=authc), [create_signals_migration_route.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security_solution/server/lib/detection_engine/routes/signals/create_signals_migration_route.ts#:~:text=authc), [delete_signals_migration_route.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security_solution/server/lib/detection_engine/routes/signals/delete_signals_migration_route.ts#:~:text=authc), [finalize_signals_migration_route.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security_solution/server/lib/detection_engine/routes/signals/finalize_signals_migration_route.ts#:~:text=authc), [open_close_signals_route.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security_solution/server/lib/detection_engine/routes/signals/open_close_signals_route.ts#:~:text=authc), [preview_rules_route.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/preview_rules_route.ts#:~:text=authc), [common.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security_solution/server/lib/timeline/utils/common.ts#:~:text=authc) | - | +| | [request_context_factory.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security_solution/server/request_context_factory.ts#:~:text=spacesService), [request_context_factory.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security_solution/server/request_context_factory.ts#:~:text=spacesService), [plugin.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security_solution/server/plugin.ts#:~:text=spacesService) | 7.16 | +| | [request_context_factory.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security_solution/server/request_context_factory.ts#:~:text=getSpaceId), [request_context_factory.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security_solution/server/request_context_factory.ts#:~:text=getSpaceId), [plugin.ts](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security_solution/server/plugin.ts#:~:text=getSpaceId) | 7.16 | | | [index.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security_solution/public/app/index.tsx#:~:text=onAppLeave) | - | | | [index.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security_solution/public/timelines/components/flyout/index.tsx#:~:text=AppLeaveHandler), [index.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security_solution/public/timelines/components/flyout/index.tsx#:~:text=AppLeaveHandler), [index.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security_solution/public/app/home/template_wrapper/bottom_bar/index.tsx#:~:text=AppLeaveHandler), [index.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security_solution/public/app/home/template_wrapper/bottom_bar/index.tsx#:~:text=AppLeaveHandler), [index.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security_solution/public/app/home/template_wrapper/index.tsx#:~:text=AppLeaveHandler), [index.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security_solution/public/app/home/template_wrapper/index.tsx#:~:text=AppLeaveHandler), [index.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security_solution/public/app/home/index.tsx#:~:text=AppLeaveHandler), [index.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security_solution/public/app/home/index.tsx#:~:text=AppLeaveHandler), [routes.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security_solution/public/app/routes.tsx#:~:text=AppLeaveHandler), [routes.tsx](https://github.com/elastic/kibana/tree/master/x-pack/plugins/security_solution/public/app/routes.tsx#:~:text=AppLeaveHandler)+ 3 more | - | @@ -1077,16 +1067,16 @@ warning: This document is auto-generated and is meant to be viewed inside our ex | Deprecated API | Reference location(s) | Remove By | | ---------------|-----------|-----------| -| | [vis.ts](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/vis.ts#:~:text=IndexPattern), [vis.ts](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/vis.ts#:~:text=IndexPattern), [types.ts](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/vis_types/types.ts#:~:text=IndexPattern), [types.ts](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/vis_types/types.ts#:~:text=IndexPattern), [types.ts](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/vis_types/types.ts#:~:text=IndexPattern), [create_vis_embeddable_from_object.ts](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/embeddable/create_vis_embeddable_from_object.ts#:~:text=IndexPattern), [create_vis_embeddable_from_object.ts](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/embeddable/create_vis_embeddable_from_object.ts#:~:text=IndexPattern), [visualize_embeddable.ts](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/embeddable/visualize_embeddable.ts#:~:text=IndexPattern), [visualize_embeddable.ts](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/embeddable/visualize_embeddable.ts#:~:text=IndexPattern), [visualize_embeddable.ts](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/embeddable/visualize_embeddable.ts#:~:text=IndexPattern)+ 10 more | - | +| | [vis.ts](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/vis.ts#:~:text=IndexPattern), [vis.ts](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/vis.ts#:~:text=IndexPattern), [types.ts](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/vis_types/types.ts#:~:text=IndexPattern), [types.ts](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/vis_types/types.ts#:~:text=IndexPattern), [types.ts](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/vis_types/types.ts#:~:text=IndexPattern), [create_vis_embeddable_from_object.ts](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/embeddable/create_vis_embeddable_from_object.ts#:~:text=IndexPattern), [create_vis_embeddable_from_object.ts](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/embeddable/create_vis_embeddable_from_object.ts#:~:text=IndexPattern), [visualize_embeddable.tsx](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/embeddable/visualize_embeddable.tsx#:~:text=IndexPattern), [visualize_embeddable.tsx](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/embeddable/visualize_embeddable.tsx#:~:text=IndexPattern), [visualize_embeddable.tsx](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/embeddable/visualize_embeddable.tsx#:~:text=IndexPattern)+ 10 more | - | | | [vis.ts](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/vis.ts#:~:text=toJSON) | 8.1 | -| | [visualize_embeddable.ts](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/embeddable/visualize_embeddable.ts#:~:text=esFilters), [visualize_embeddable.ts](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/embeddable/visualize_embeddable.ts#:~:text=esFilters) | 8.1 | -| | [visualize_embeddable.ts](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/embeddable/visualize_embeddable.ts#:~:text=Filter), [visualize_embeddable.ts](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/embeddable/visualize_embeddable.ts#:~:text=Filter), [visualize_embeddable.ts](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/embeddable/visualize_embeddable.ts#:~:text=Filter) | 8.1 | +| | [visualize_embeddable.tsx](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/embeddable/visualize_embeddable.tsx#:~:text=esFilters), [visualize_embeddable.tsx](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/embeddable/visualize_embeddable.tsx#:~:text=esFilters) | 8.1 | +| | [visualize_embeddable.tsx](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/embeddable/visualize_embeddable.tsx#:~:text=Filter), [visualize_embeddable.tsx](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/embeddable/visualize_embeddable.tsx#:~:text=Filter), [visualize_embeddable.tsx](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/embeddable/visualize_embeddable.tsx#:~:text=Filter) | 8.1 | | | [controls_references.ts](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/utils/saved_visualization_references/controls_references.ts#:~:text=INDEX_PATTERN_SAVED_OBJECT_TYPE), [controls_references.ts](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/utils/saved_visualization_references/controls_references.ts#:~:text=INDEX_PATTERN_SAVED_OBJECT_TYPE), [timeseries_references.ts](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/utils/saved_visualization_references/timeseries_references.ts#:~:text=INDEX_PATTERN_SAVED_OBJECT_TYPE), [timeseries_references.ts](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/utils/saved_visualization_references/timeseries_references.ts#:~:text=INDEX_PATTERN_SAVED_OBJECT_TYPE), [visualization_saved_object_migrations.ts](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/server/migrations/visualization_saved_object_migrations.ts#:~:text=INDEX_PATTERN_SAVED_OBJECT_TYPE), [visualization_saved_object_migrations.ts](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/server/migrations/visualization_saved_object_migrations.ts#:~:text=INDEX_PATTERN_SAVED_OBJECT_TYPE), [visualization_saved_object_migrations.ts](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/server/migrations/visualization_saved_object_migrations.ts#:~:text=INDEX_PATTERN_SAVED_OBJECT_TYPE), [visualization_saved_object_migrations.ts](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/server/migrations/visualization_saved_object_migrations.ts#:~:text=INDEX_PATTERN_SAVED_OBJECT_TYPE), [visualization_saved_object_migrations.ts](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/server/migrations/visualization_saved_object_migrations.ts#:~:text=INDEX_PATTERN_SAVED_OBJECT_TYPE), [controls_references.ts](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/utils/saved_visualization_references/controls_references.ts#:~:text=INDEX_PATTERN_SAVED_OBJECT_TYPE)+ 8 more | - | -| | [vis.ts](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/vis.ts#:~:text=IndexPattern), [vis.ts](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/vis.ts#:~:text=IndexPattern), [types.ts](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/vis_types/types.ts#:~:text=IndexPattern), [types.ts](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/vis_types/types.ts#:~:text=IndexPattern), [types.ts](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/vis_types/types.ts#:~:text=IndexPattern), [create_vis_embeddable_from_object.ts](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/embeddable/create_vis_embeddable_from_object.ts#:~:text=IndexPattern), [create_vis_embeddable_from_object.ts](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/embeddable/create_vis_embeddable_from_object.ts#:~:text=IndexPattern), [visualize_embeddable.ts](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/embeddable/visualize_embeddable.ts#:~:text=IndexPattern), [visualize_embeddable.ts](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/embeddable/visualize_embeddable.ts#:~:text=IndexPattern), [visualize_embeddable.ts](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/embeddable/visualize_embeddable.ts#:~:text=IndexPattern)+ 10 more | - | -| | [visualize_embeddable.ts](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/embeddable/visualize_embeddable.ts#:~:text=Filter), [visualize_embeddable.ts](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/embeddable/visualize_embeddable.ts#:~:text=Filter), [visualize_embeddable.ts](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/embeddable/visualize_embeddable.ts#:~:text=Filter) | 8.1 | +| | [vis.ts](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/vis.ts#:~:text=IndexPattern), [vis.ts](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/vis.ts#:~:text=IndexPattern), [types.ts](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/vis_types/types.ts#:~:text=IndexPattern), [types.ts](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/vis_types/types.ts#:~:text=IndexPattern), [types.ts](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/vis_types/types.ts#:~:text=IndexPattern), [create_vis_embeddable_from_object.ts](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/embeddable/create_vis_embeddable_from_object.ts#:~:text=IndexPattern), [create_vis_embeddable_from_object.ts](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/embeddable/create_vis_embeddable_from_object.ts#:~:text=IndexPattern), [visualize_embeddable.tsx](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/embeddable/visualize_embeddable.tsx#:~:text=IndexPattern), [visualize_embeddable.tsx](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/embeddable/visualize_embeddable.tsx#:~:text=IndexPattern), [visualize_embeddable.tsx](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/embeddable/visualize_embeddable.tsx#:~:text=IndexPattern)+ 10 more | - | +| | [visualize_embeddable.tsx](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/embeddable/visualize_embeddable.tsx#:~:text=Filter), [visualize_embeddable.tsx](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/embeddable/visualize_embeddable.tsx#:~:text=Filter), [visualize_embeddable.tsx](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/embeddable/visualize_embeddable.tsx#:~:text=Filter) | 8.1 | | | [vis.ts](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/vis.ts#:~:text=toJSON) | 8.1 | -| | [vis.ts](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/vis.ts#:~:text=IndexPattern), [vis.ts](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/vis.ts#:~:text=IndexPattern), [types.ts](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/vis_types/types.ts#:~:text=IndexPattern), [types.ts](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/vis_types/types.ts#:~:text=IndexPattern), [types.ts](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/vis_types/types.ts#:~:text=IndexPattern), [create_vis_embeddable_from_object.ts](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/embeddable/create_vis_embeddable_from_object.ts#:~:text=IndexPattern), [create_vis_embeddable_from_object.ts](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/embeddable/create_vis_embeddable_from_object.ts#:~:text=IndexPattern), [visualize_embeddable.ts](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/embeddable/visualize_embeddable.ts#:~:text=IndexPattern), [visualize_embeddable.ts](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/embeddable/visualize_embeddable.ts#:~:text=IndexPattern), [visualize_embeddable.ts](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/embeddable/visualize_embeddable.ts#:~:text=IndexPattern) | - | -| | [visualize_embeddable.ts](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/embeddable/visualize_embeddable.ts#:~:text=Filter), [visualize_embeddable.ts](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/embeddable/visualize_embeddable.ts#:~:text=Filter), [visualize_embeddable.ts](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/embeddable/visualize_embeddable.ts#:~:text=Filter) | 8.1 | +| | [vis.ts](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/vis.ts#:~:text=IndexPattern), [vis.ts](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/vis.ts#:~:text=IndexPattern), [types.ts](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/vis_types/types.ts#:~:text=IndexPattern), [types.ts](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/vis_types/types.ts#:~:text=IndexPattern), [types.ts](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/vis_types/types.ts#:~:text=IndexPattern), [create_vis_embeddable_from_object.ts](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/embeddable/create_vis_embeddable_from_object.ts#:~:text=IndexPattern), [create_vis_embeddable_from_object.ts](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/embeddable/create_vis_embeddable_from_object.ts#:~:text=IndexPattern), [visualize_embeddable.tsx](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/embeddable/visualize_embeddable.tsx#:~:text=IndexPattern), [visualize_embeddable.tsx](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/embeddable/visualize_embeddable.tsx#:~:text=IndexPattern), [visualize_embeddable.tsx](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/embeddable/visualize_embeddable.tsx#:~:text=IndexPattern) | - | +| | [visualize_embeddable.tsx](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/embeddable/visualize_embeddable.tsx#:~:text=Filter), [visualize_embeddable.tsx](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/embeddable/visualize_embeddable.tsx#:~:text=Filter), [visualize_embeddable.tsx](https://github.com/elastic/kibana/tree/master/src/plugins/visualizations/public/embeddable/visualize_embeddable.tsx#:~:text=Filter) | 8.1 | diff --git a/api_docs/discover.json b/api_docs/discover.json index 2e8dd6a450e7ad..d1c21d5e5b82f8 100644 --- a/api_docs/discover.json +++ b/api_docs/discover.json @@ -445,22 +445,14 @@ { "parentPluginId": "discover", "id": "def-public.DiscoverAppLocatorParams.sort", - "type": "CompoundType", + "type": "Array", "tags": [], "label": "sort", "description": [ "\nArray of the used sorting [[field,direction],...]" ], "signature": [ - "(string[][] & ", - { - "pluginId": "@kbn/utility-types", - "scope": "server", - "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", - "text": "SerializableRecord" - }, - ") | undefined" + "string[][] | undefined" ], "path": "src/plugins/discover/public/locator.ts", "deprecated": false @@ -767,369 +759,6 @@ ], "initialIsOpen": false }, - { - "parentPluginId": "discover", - "id": "def-public.LegacySavedSearch", - "type": "Interface", - "tags": [ - "deprecated" - ], - "label": "LegacySavedSearch", - "description": [], - "path": "src/plugins/discover/public/saved_searches/legacy/types.ts", - "deprecated": true, - "references": [], - "children": [ - { - "parentPluginId": "discover", - "id": "def-public.LegacySavedSearch.id", - "type": "string", - "tags": [], - "label": "id", - "description": [], - "path": "src/plugins/discover/public/saved_searches/legacy/types.ts", - "deprecated": false - }, - { - "parentPluginId": "discover", - "id": "def-public.LegacySavedSearch.title", - "type": "string", - "tags": [], - "label": "title", - "description": [], - "path": "src/plugins/discover/public/saved_searches/legacy/types.ts", - "deprecated": false - }, - { - "parentPluginId": "discover", - "id": "def-public.LegacySavedSearch.searchSource", - "type": "Object", - "tags": [], - "label": "searchSource", - "description": [], - "signature": [ - "{ create: () => ", - { - "pluginId": "data", - "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.SearchSource", - "text": "SearchSource" - }, - "; history: Record[]; setPreferredSearchStrategyId: (searchStrategyId: string) => void; setField: (field: K, value: ", - { - "pluginId": "data", - "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.SearchSourceFields", - "text": "SearchSourceFields" - }, - "[K]) => ", - { - "pluginId": "data", - "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.SearchSource", - "text": "SearchSource" - }, - "; removeField: (field: K) => ", - { - "pluginId": "data", - "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.SearchSource", - "text": "SearchSource" - }, - "; setFields: (newFields: ", - { - "pluginId": "data", - "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.SearchSourceFields", - "text": "SearchSourceFields" - }, - ") => ", - { - "pluginId": "data", - "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.SearchSource", - "text": "SearchSource" - }, - "; getId: () => string; getFields: () => ", - { - "pluginId": "data", - "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.SearchSourceFields", - "text": "SearchSourceFields" - }, - "; getField: (field: K, recurse?: boolean) => ", - { - "pluginId": "data", - "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.SearchSourceFields", - "text": "SearchSourceFields" - }, - "[K]; getOwnField: (field: K) => ", - { - "pluginId": "data", - "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.SearchSourceFields", - "text": "SearchSourceFields" - }, - "[K]; createCopy: () => ", - { - "pluginId": "data", - "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.SearchSource", - "text": "SearchSource" - }, - "; createChild: (options?: {}) => ", - { - "pluginId": "data", - "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.SearchSource", - "text": "SearchSource" - }, - "; setParent: (parent?: Pick<", - { - "pluginId": "data", - "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.SearchSource", - "text": "SearchSource" - }, - ", \"create\" | \"history\" | \"setPreferredSearchStrategyId\" | \"setField\" | \"removeField\" | \"setFields\" | \"getId\" | \"getFields\" | \"getField\" | \"getOwnField\" | \"createCopy\" | \"createChild\" | \"setParent\" | \"getParent\" | \"fetch$\" | \"fetch\" | \"onRequestStart\" | \"getSearchRequestBody\" | \"destroy\" | \"getSerializedFields\" | \"serialize\"> | undefined, options?: ", - { - "pluginId": "data", - "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.SearchSourceOptions", - "text": "SearchSourceOptions" - }, - ") => ", - { - "pluginId": "data", - "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.SearchSource", - "text": "SearchSource" - }, - "; getParent: () => ", - { - "pluginId": "data", - "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.SearchSource", - "text": "SearchSource" - }, - " | undefined; fetch$: (options?: ", - { - "pluginId": "data", - "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.ISearchOptions", - "text": "ISearchOptions" - }, - ") => ", - "Observable", - "<", - { - "pluginId": "data", - "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.IKibanaSearchResponse", - "text": "IKibanaSearchResponse" - }, - "<", - "SearchResponse", - ">>; fetch: (options?: ", - { - "pluginId": "data", - "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.ISearchOptions", - "text": "ISearchOptions" - }, - ") => Promise<", - "SearchResponse", - ">; onRequestStart: (handler: (searchSource: ", - { - "pluginId": "data", - "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.SearchSource", - "text": "SearchSource" - }, - ", options?: ", - { - "pluginId": "data", - "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.ISearchOptions", - "text": "ISearchOptions" - }, - " | undefined) => Promise) => void; getSearchRequestBody: () => any; destroy: () => void; getSerializedFields: (recurse?: boolean) => ", - { - "pluginId": "data", - "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.SearchSourceFields", - "text": "SearchSourceFields" - }, - "; serialize: () => { searchSourceJSON: string; references: ", - "SavedObjectReference", - "[]; }; }" - ], - "path": "src/plugins/discover/public/saved_searches/legacy/types.ts", - "deprecated": false - }, - { - "parentPluginId": "discover", - "id": "def-public.LegacySavedSearch.description", - "type": "string", - "tags": [], - "label": "description", - "description": [], - "signature": [ - "string | undefined" - ], - "path": "src/plugins/discover/public/saved_searches/legacy/types.ts", - "deprecated": false - }, - { - "parentPluginId": "discover", - "id": "def-public.LegacySavedSearch.columns", - "type": "Array", - "tags": [], - "label": "columns", - "description": [], - "signature": [ - "string[]" - ], - "path": "src/plugins/discover/public/saved_searches/legacy/types.ts", - "deprecated": false - }, - { - "parentPluginId": "discover", - "id": "def-public.LegacySavedSearch.sort", - "type": "Array", - "tags": [], - "label": "sort", - "description": [], - "signature": [ - "SortOrder", - "[]" - ], - "path": "src/plugins/discover/public/saved_searches/legacy/types.ts", - "deprecated": false - }, - { - "parentPluginId": "discover", - "id": "def-public.LegacySavedSearch.grid", - "type": "Object", - "tags": [], - "label": "grid", - "description": [], - "signature": [ - "DiscoverGridSettings" - ], - "path": "src/plugins/discover/public/saved_searches/legacy/types.ts", - "deprecated": false - }, - { - "parentPluginId": "discover", - "id": "def-public.LegacySavedSearch.destroy", - "type": "Function", - "tags": [], - "label": "destroy", - "description": [], - "signature": [ - "() => void" - ], - "path": "src/plugins/discover/public/saved_searches/legacy/types.ts", - "deprecated": false, - "children": [], - "returnComment": [] - }, - { - "parentPluginId": "discover", - "id": "def-public.LegacySavedSearch.save", - "type": "Function", - "tags": [], - "label": "save", - "description": [], - "signature": [ - "(saveOptions: ", - { - "pluginId": "savedObjects", - "scope": "public", - "docId": "kibSavedObjectsPluginApi", - "section": "def-public.SavedObjectSaveOpts", - "text": "SavedObjectSaveOpts" - }, - ") => Promise" - ], - "path": "src/plugins/discover/public/saved_searches/legacy/types.ts", - "deprecated": false, - "children": [ - { - "parentPluginId": "discover", - "id": "def-public.LegacySavedSearch.save.$1", - "type": "Object", - "tags": [], - "label": "saveOptions", - "description": [], - "signature": [ - { - "pluginId": "savedObjects", - "scope": "public", - "docId": "kibSavedObjectsPluginApi", - "section": "def-public.SavedObjectSaveOpts", - "text": "SavedObjectSaveOpts" - } - ], - "path": "src/plugins/discover/public/saved_searches/legacy/types.ts", - "deprecated": false, - "isRequired": true - } - ], - "returnComment": [] - }, - { - "parentPluginId": "discover", - "id": "def-public.LegacySavedSearch.copyOnSave", - "type": "CompoundType", - "tags": [], - "label": "copyOnSave", - "description": [], - "signature": [ - "boolean | undefined" - ], - "path": "src/plugins/discover/public/saved_searches/legacy/types.ts", - "deprecated": false - }, - { - "parentPluginId": "discover", - "id": "def-public.LegacySavedSearch.hideChart", - "type": "CompoundType", - "tags": [], - "label": "hideChart", - "description": [], - "signature": [ - "boolean | undefined" - ], - "path": "src/plugins/discover/public/saved_searches/legacy/types.ts", - "deprecated": false - } - ], - "initialIsOpen": false - }, { "parentPluginId": "discover", "id": "def-public.SavedSearch", @@ -1363,7 +992,8 @@ "label": "sort", "description": [], "signature": [ - "[string, string][] | undefined" + "SortOrder", + "[] | undefined" ], "path": "src/plugins/discover/public/saved_searches/types.ts", "deprecated": false @@ -1430,94 +1060,37 @@ "label": "sharingSavedObjectProps", "description": [], "signature": [ - "{ outcome?: \"conflict\" | \"exactMatch\" | \"aliasMatch\" | undefined; aliasTargetId?: string | undefined; errorJSON?: string | undefined; } | undefined" + "{ outcome?: \"conflict\" | \"aliasMatch\" | \"exactMatch\" | undefined; aliasTargetId?: string | undefined; errorJSON?: string | undefined; } | undefined" ], "path": "src/plugins/discover/public/saved_searches/types.ts", "deprecated": false - } - ], - "initialIsOpen": false - }, - { - "parentPluginId": "discover", - "id": "def-public.SavedSearchLoader", - "type": "Interface", - "tags": [ - "deprecated" - ], - "label": "SavedSearchLoader", - "description": [], - "path": "src/plugins/discover/public/saved_searches/legacy/types.ts", - "deprecated": true, - "references": [], - "children": [ + }, { "parentPluginId": "discover", - "id": "def-public.SavedSearchLoader.get", - "type": "Function", + "id": "def-public.SavedSearch.viewMode", + "type": "CompoundType", "tags": [], - "label": "get", + "label": "viewMode", "description": [], "signature": [ - "(id: string) => Promise<", - { - "pluginId": "discover", - "scope": "public", - "docId": "kibDiscoverPluginApi", - "section": "def-public.LegacySavedSearch", - "text": "LegacySavedSearch" - }, - ">" - ], - "path": "src/plugins/discover/public/saved_searches/legacy/types.ts", - "deprecated": false, - "children": [ - { - "parentPluginId": "discover", - "id": "def-public.SavedSearchLoader.get.$1", - "type": "string", - "tags": [], - "label": "id", - "description": [], - "signature": [ - "string" - ], - "path": "src/plugins/discover/public/saved_searches/legacy/types.ts", - "deprecated": false, - "isRequired": true - } + "VIEW_MODE", + " | undefined" ], - "returnComment": [] + "path": "src/plugins/discover/public/saved_searches/types.ts", + "deprecated": false }, { "parentPluginId": "discover", - "id": "def-public.SavedSearchLoader.urlFor", - "type": "Function", + "id": "def-public.SavedSearch.hideAggregatedPreview", + "type": "CompoundType", "tags": [], - "label": "urlFor", + "label": "hideAggregatedPreview", "description": [], "signature": [ - "(id: string) => string" - ], - "path": "src/plugins/discover/public/saved_searches/legacy/types.ts", - "deprecated": false, - "children": [ - { - "parentPluginId": "discover", - "id": "def-public.SavedSearchLoader.urlFor.$1", - "type": "string", - "tags": [], - "label": "id", - "description": [], - "signature": [ - "string" - ], - "path": "src/plugins/discover/public/saved_searches/legacy/types.ts", - "deprecated": false, - "isRequired": true - } + "boolean | undefined" ], - "returnComment": [] + "path": "src/plugins/discover/public/saved_searches/types.ts", + "deprecated": false } ], "initialIsOpen": false @@ -1706,69 +1279,7 @@ "initialIsOpen": false } ], - "objects": [ - { - "parentPluginId": "discover", - "id": "def-public.__LEGACY", - "type": "Object", - "tags": [ - "deprecated" - ], - "label": "__LEGACY", - "description": [], - "path": "src/plugins/discover/public/saved_searches/index.ts", - "deprecated": true, - "references": [ - { - "plugin": "visualizations", - "path": "src/plugins/visualizations/public/saved_visualizations/_saved_vis.ts" - }, - { - "plugin": "visualizations", - "path": "src/plugins/visualizations/public/saved_visualizations/_saved_vis.ts" - } - ], - "children": [ - { - "parentPluginId": "discover", - "id": "def-public.__LEGACY.createSavedSearchesLoader", - "type": "Function", - "tags": [], - "label": "createSavedSearchesLoader", - "description": [], - "signature": [ - "({ savedObjectsClient, savedObjects }: Services) => ", - { - "pluginId": "savedObjects", - "scope": "public", - "docId": "kibSavedObjectsPluginApi", - "section": "def-public.SavedObjectLoader", - "text": "SavedObjectLoader" - } - ], - "path": "src/plugins/discover/public/saved_searches/index.ts", - "deprecated": false, - "returnComment": [], - "children": [ - { - "parentPluginId": "discover", - "id": "def-public.__LEGACY.createSavedSearchesLoader.$1", - "type": "Object", - "tags": [], - "label": "__0", - "description": [], - "signature": [ - "Services" - ], - "path": "src/plugins/discover/public/saved_searches/legacy/saved_searches.ts", - "deprecated": false - } - ] - } - ], - "initialIsOpen": false - } - ], + "objects": [], "setup": { "parentPluginId": "discover", "id": "def-public.DiscoverSetup", @@ -1832,27 +1343,6 @@ "path": "src/plugins/discover/public/plugin.tsx", "deprecated": false, "children": [ - { - "parentPluginId": "discover", - "id": "def-public.DiscoverStart.__LEGACY", - "type": "Object", - "tags": [], - "label": "__LEGACY", - "description": [], - "signature": [ - "{ savedSearchLoader: ", - { - "pluginId": "savedObjects", - "scope": "public", - "docId": "kibSavedObjectsPluginApi", - "section": "def-public.SavedObjectLoader", - "text": "SavedObjectLoader" - }, - "; }" - ], - "path": "src/plugins/discover/public/plugin.tsx", - "deprecated": false - }, { "parentPluginId": "discover", "id": "def-public.DiscoverStart.urlGenerator", @@ -1881,7 +1371,7 @@ }, { "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/scheduled_query_groups/scheduled_query_group_queries_status_table.tsx" + "path": "x-pack/plugins/osquery/public/packs/pack_queries_status_table.tsx" }, { "plugin": "osquery", @@ -2112,6 +1602,20 @@ "deprecated": false, "initialIsOpen": false }, + { + "parentPluginId": "discover", + "id": "def-common.SHOW_FIELD_STATISTICS", + "type": "string", + "tags": [], + "label": "SHOW_FIELD_STATISTICS", + "description": [], + "signature": [ + "\"discover:showFieldStatistics\"" + ], + "path": "src/plugins/discover/common/index.ts", + "deprecated": false, + "initialIsOpen": false + }, { "parentPluginId": "discover", "id": "def-common.SHOW_MULTIFIELDS", diff --git a/api_docs/discover.mdx b/api_docs/discover.mdx index 46e681aabc0a66..11185327d4d359 100644 --- a/api_docs/discover.mdx +++ b/api_docs/discover.mdx @@ -18,7 +18,7 @@ Contact [Data Discovery](https://github.com/orgs/elastic/teams/kibana-data-disco | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 103 | 0 | 77 | 7 | +| 84 | 0 | 58 | 7 | ## Client @@ -28,9 +28,6 @@ Contact [Data Discovery](https://github.com/orgs/elastic/teams/kibana-data-disco ### Start -### Objects - - ### Functions diff --git a/api_docs/embeddable.json b/api_docs/embeddable.json index 0baa18a0640a48..8e6bc29a0f5a82 100644 --- a/api_docs/embeddable.json +++ b/api_docs/embeddable.json @@ -1276,7 +1276,7 @@ "section": "def-public.IEmbeddable", "text": "IEmbeddable" }, - ">(type: string, explicitInput: Partial) => Promise>(type: string, explicitInput: Partial) => Promise<", { "pluginId": "embeddable", "scope": "public", @@ -1284,7 +1284,7 @@ "section": "def-public.ErrorEmbeddable", "text": "ErrorEmbeddable" }, - ">" + " | E>" ], "path": "src/plugins/embeddable/public/lib/containers/container.ts", "deprecated": false, @@ -6150,7 +6150,7 @@ "section": "def-public.ContainerOutput", "text": "ContainerOutput" }, - "> | undefined) => Promise | undefined) => Promise<", { "pluginId": "embeddable", "scope": "public", @@ -6158,7 +6158,7 @@ "section": "def-public.ErrorEmbeddable", "text": "ErrorEmbeddable" }, - ">" + " | TEmbeddable>" ], "path": "src/plugins/embeddable/public/lib/embeddables/embeddable_factory.ts", "deprecated": false, @@ -6267,7 +6267,7 @@ "section": "def-public.ContainerOutput", "text": "ContainerOutput" }, - "> | undefined) => Promise | undefined) => Promise<", { "pluginId": "embeddable", "scope": "public", @@ -6275,7 +6275,7 @@ "section": "def-public.ErrorEmbeddable", "text": "ErrorEmbeddable" }, - " | undefined>" + " | TEmbeddable | undefined>" ], "path": "src/plugins/embeddable/public/lib/embeddables/embeddable_factory.ts", "deprecated": false, @@ -8307,7 +8307,7 @@ "section": "def-public.EmbeddableFactory", "text": "EmbeddableFactory" }, - ", \"telemetry\" | \"inject\" | \"extract\" | \"migrations\" | \"createFromSavedObject\" | \"isContainerType\" | \"getExplicitInput\" | \"savedObjectMetaData\" | \"canCreateNew\" | \"getDefaultInput\" | \"grouping\" | \"getIconType\" | \"getDescription\">>" + ", \"createFromSavedObject\" | \"isContainerType\" | \"getExplicitInput\" | \"savedObjectMetaData\" | \"canCreateNew\" | \"getDefaultInput\" | \"telemetry\" | \"extract\" | \"inject\" | \"migrations\" | \"grouping\" | \"getIconType\" | \"getDescription\">>" ], "path": "src/plugins/embeddable/public/lib/embeddables/embeddable_factory_definition.ts", "deprecated": false, diff --git a/api_docs/enterprise_search.json b/api_docs/enterprise_search.json index 4de69e72b978ac..5a35f0358641c8 100644 --- a/api_docs/enterprise_search.json +++ b/api_docs/enterprise_search.json @@ -22,7 +22,7 @@ "label": "ConfigType", "description": [], "signature": [ - "{ readonly host?: string | undefined; readonly enabled: boolean; readonly ssl: Readonly<{ certificateAuthorities?: string | string[] | undefined; } & { verificationMode: \"none\" | \"certificate\" | \"full\"; }>; readonly accessCheckTimeout: number; readonly accessCheckTimeoutWarning: number; }" + "{ readonly host?: string | undefined; readonly ssl: Readonly<{ certificateAuthorities?: string | string[] | undefined; } & { verificationMode: \"none\" | \"certificate\" | \"full\"; }>; readonly accessCheckTimeout: number; readonly accessCheckTimeoutWarning: number; }" ], "path": "x-pack/plugins/enterprise_search/server/index.ts", "deprecated": false, @@ -53,15 +53,7 @@ "section": "def-server.Type", "text": "Type" }, - "; enabled: ", - { - "pluginId": "@kbn/config-schema", - "scope": "server", - "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-server.Type", - "text": "Type" - }, - "; accessCheckTimeout: ", + "; accessCheckTimeout: ", { "pluginId": "@kbn/config-schema", "scope": "server", diff --git a/api_docs/expressions.json b/api_docs/expressions.json index 952184350bc79e..d6a5667f352f8e 100644 --- a/api_docs/expressions.json +++ b/api_docs/expressions.json @@ -55,7 +55,7 @@ "section": "def-common.ExecutionResult", "text": "ExecutionResult" }, - ">>, ", + " | undefined; }> | Output>>, ", { "pluginId": "expressions", "scope": "common", @@ -95,7 +95,7 @@ "section": "def-common.ExecutionResult", "text": "ExecutionResult" }, - ">>, {}>" + " | undefined; }> | Output>>, {}>" ], "path": "src/plugins/expressions/common/execution/execution.ts", "deprecated": false @@ -188,7 +188,7 @@ "section": "def-common.ExecutionResult", "text": "ExecutionResult" }, - ">>" + " | undefined; }> | Output>>" ], "path": "src/plugins/expressions/common/execution/execution.ts", "deprecated": false @@ -335,7 +335,7 @@ "section": "def-common.ExecutionResult", "text": "ExecutionResult" }, - ">>" + " | undefined; }> | Output>>" ], "path": "src/plugins/expressions/common/execution/execution.ts", "deprecated": false, @@ -829,7 +829,7 @@ "section": "def-common.ExecutionResult", "text": "ExecutionResult" }, - "<", + " | Output>>" + " | undefined; }>>>" ], "path": "src/plugins/expressions/common/execution/execution_contract.ts", "deprecated": false, @@ -911,7 +911,14 @@ "\nGet Inspector adapters provided to all functions of expression through\nexecution context." ], "signature": [ - "() => InspectorAdapters" + "() => ", + { + "pluginId": "inspector", + "scope": "common", + "docId": "kibInspectorPluginApi", + "section": "def-common.Adapters", + "text": "Adapters" + } ], "path": "src/plugins/expressions/common/execution/execution_contract.ts", "deprecated": false, @@ -1901,8 +1908,8 @@ "pluginId": "@kbn/utility-types", "scope": "server", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", - "text": "SerializableRecord" + "section": "def-server.Serializable", + "text": "Serializable" }, ">) => ", { @@ -1936,8 +1943,8 @@ "pluginId": "@kbn/utility-types", "scope": "server", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", - "text": "SerializableRecord" + "section": "def-server.Serializable", + "text": "Serializable" }, ">" ], @@ -2650,6 +2657,359 @@ ], "initialIsOpen": false }, + { + "parentPluginId": "expressions", + "id": "def-public.ExpressionLoader", + "type": "Class", + "tags": [], + "label": "ExpressionLoader", + "description": [], + "path": "src/plugins/expressions/public/loader.ts", + "deprecated": false, + "children": [ + { + "parentPluginId": "expressions", + "id": "def-public.ExpressionLoader.data$", + "type": "Object", + "tags": [], + "label": "data$", + "description": [], + "signature": [ + "Observable", + "<", + { + "pluginId": "expressions", + "scope": "common", + "docId": "kibExpressionsPluginApi", + "section": "def-common.ExecutionResult", + "text": "ExecutionResult" + }, + ">" + ], + "path": "src/plugins/expressions/public/loader.ts", + "deprecated": false + }, + { + "parentPluginId": "expressions", + "id": "def-public.ExpressionLoader.update$", + "type": "Object", + "tags": [], + "label": "update$", + "description": [], + "signature": [ + "Observable", + "" + ], + "path": "src/plugins/expressions/public/loader.ts", + "deprecated": false + }, + { + "parentPluginId": "expressions", + "id": "def-public.ExpressionLoader.render$", + "type": "Object", + "tags": [], + "label": "render$", + "description": [], + "signature": [ + "Observable", + "" + ], + "path": "src/plugins/expressions/public/loader.ts", + "deprecated": false + }, + { + "parentPluginId": "expressions", + "id": "def-public.ExpressionLoader.events$", + "type": "Object", + "tags": [], + "label": "events$", + "description": [], + "signature": [ + "Observable", + "<", + { + "pluginId": "expressions", + "scope": "public", + "docId": "kibExpressionsPluginApi", + "section": "def-public.ExpressionRendererEvent", + "text": "ExpressionRendererEvent" + }, + ">" + ], + "path": "src/plugins/expressions/public/loader.ts", + "deprecated": false + }, + { + "parentPluginId": "expressions", + "id": "def-public.ExpressionLoader.loading$", + "type": "Object", + "tags": [], + "label": "loading$", + "description": [], + "signature": [ + "Observable", + "" + ], + "path": "src/plugins/expressions/public/loader.ts", + "deprecated": false + }, + { + "parentPluginId": "expressions", + "id": "def-public.ExpressionLoader.Unnamed", + "type": "Function", + "tags": [], + "label": "Constructor", + "description": [], + "signature": [ + "any" + ], + "path": "src/plugins/expressions/public/loader.ts", + "deprecated": false, + "children": [ + { + "parentPluginId": "expressions", + "id": "def-public.ExpressionLoader.Unnamed.$1", + "type": "Object", + "tags": [], + "label": "element", + "description": [], + "signature": [ + "HTMLElement" + ], + "path": "src/plugins/expressions/public/loader.ts", + "deprecated": false, + "isRequired": true + }, + { + "parentPluginId": "expressions", + "id": "def-public.ExpressionLoader.Unnamed.$2", + "type": "CompoundType", + "tags": [], + "label": "expression", + "description": [], + "signature": [ + "string | ", + { + "pluginId": "expressions", + "scope": "common", + "docId": "kibExpressionsPluginApi", + "section": "def-common.ExpressionAstExpression", + "text": "ExpressionAstExpression" + }, + " | undefined" + ], + "path": "src/plugins/expressions/public/loader.ts", + "deprecated": false, + "isRequired": false + }, + { + "parentPluginId": "expressions", + "id": "def-public.ExpressionLoader.Unnamed.$3", + "type": "Object", + "tags": [], + "label": "params", + "description": [], + "signature": [ + { + "pluginId": "expressions", + "scope": "public", + "docId": "kibExpressionsPluginApi", + "section": "def-public.IExpressionLoaderParams", + "text": "IExpressionLoaderParams" + }, + " | undefined" + ], + "path": "src/plugins/expressions/public/loader.ts", + "deprecated": false, + "isRequired": false + } + ], + "returnComment": [] + }, + { + "parentPluginId": "expressions", + "id": "def-public.ExpressionLoader.destroy", + "type": "Function", + "tags": [], + "label": "destroy", + "description": [], + "signature": [ + "() => void" + ], + "path": "src/plugins/expressions/public/loader.ts", + "deprecated": false, + "children": [], + "returnComment": [] + }, + { + "parentPluginId": "expressions", + "id": "def-public.ExpressionLoader.cancel", + "type": "Function", + "tags": [], + "label": "cancel", + "description": [], + "signature": [ + "() => void" + ], + "path": "src/plugins/expressions/public/loader.ts", + "deprecated": false, + "children": [], + "returnComment": [] + }, + { + "parentPluginId": "expressions", + "id": "def-public.ExpressionLoader.getExpression", + "type": "Function", + "tags": [], + "label": "getExpression", + "description": [], + "signature": [ + "() => string | undefined" + ], + "path": "src/plugins/expressions/public/loader.ts", + "deprecated": false, + "children": [], + "returnComment": [] + }, + { + "parentPluginId": "expressions", + "id": "def-public.ExpressionLoader.getAst", + "type": "Function", + "tags": [], + "label": "getAst", + "description": [], + "signature": [ + "() => ", + { + "pluginId": "expressions", + "scope": "common", + "docId": "kibExpressionsPluginApi", + "section": "def-common.ExpressionAstExpression", + "text": "ExpressionAstExpression" + }, + " | undefined" + ], + "path": "src/plugins/expressions/public/loader.ts", + "deprecated": false, + "children": [], + "returnComment": [] + }, + { + "parentPluginId": "expressions", + "id": "def-public.ExpressionLoader.getElement", + "type": "Function", + "tags": [], + "label": "getElement", + "description": [], + "signature": [ + "() => HTMLElement" + ], + "path": "src/plugins/expressions/public/loader.ts", + "deprecated": false, + "children": [], + "returnComment": [] + }, + { + "parentPluginId": "expressions", + "id": "def-public.ExpressionLoader.inspect", + "type": "Function", + "tags": [], + "label": "inspect", + "description": [], + "signature": [ + "() => ", + { + "pluginId": "inspector", + "scope": "common", + "docId": "kibInspectorPluginApi", + "section": "def-common.Adapters", + "text": "Adapters" + }, + " | undefined" + ], + "path": "src/plugins/expressions/public/loader.ts", + "deprecated": false, + "children": [], + "returnComment": [] + }, + { + "parentPluginId": "expressions", + "id": "def-public.ExpressionLoader.update", + "type": "Function", + "tags": [], + "label": "update", + "description": [], + "signature": [ + "(expression?: string | ", + { + "pluginId": "expressions", + "scope": "common", + "docId": "kibExpressionsPluginApi", + "section": "def-common.ExpressionAstExpression", + "text": "ExpressionAstExpression" + }, + " | undefined, params?: ", + { + "pluginId": "expressions", + "scope": "public", + "docId": "kibExpressionsPluginApi", + "section": "def-public.IExpressionLoaderParams", + "text": "IExpressionLoaderParams" + }, + " | undefined) => void" + ], + "path": "src/plugins/expressions/public/loader.ts", + "deprecated": false, + "children": [ + { + "parentPluginId": "expressions", + "id": "def-public.ExpressionLoader.update.$1", + "type": "CompoundType", + "tags": [], + "label": "expression", + "description": [], + "signature": [ + "string | ", + { + "pluginId": "expressions", + "scope": "common", + "docId": "kibExpressionsPluginApi", + "section": "def-common.ExpressionAstExpression", + "text": "ExpressionAstExpression" + }, + " | undefined" + ], + "path": "src/plugins/expressions/public/loader.ts", + "deprecated": false, + "isRequired": false + }, + { + "parentPluginId": "expressions", + "id": "def-public.ExpressionLoader.update.$2", + "type": "Object", + "tags": [], + "label": "params", + "description": [], + "signature": [ + { + "pluginId": "expressions", + "scope": "public", + "docId": "kibExpressionsPluginApi", + "section": "def-public.IExpressionLoaderParams", + "text": "IExpressionLoaderParams" + }, + " | undefined" + ], + "path": "src/plugins/expressions/public/loader.ts", + "deprecated": false, + "isRequired": false + } + ], + "returnComment": [] + } + ], + "initialIsOpen": false + }, { "parentPluginId": "expressions", "id": "def-public.ExpressionRenderer", @@ -3257,101 +3617,6 @@ ], "initialIsOpen": false }, - { - "parentPluginId": "expressions", - "id": "def-public.ExpressionsInspectorAdapter", - "type": "Class", - "tags": [], - "label": "ExpressionsInspectorAdapter", - "description": [], - "signature": [ - { - "pluginId": "expressions", - "scope": "common", - "docId": "kibExpressionsPluginApi", - "section": "def-common.ExpressionsInspectorAdapter", - "text": "ExpressionsInspectorAdapter" - }, - " extends EventEmitter" - ], - "path": "src/plugins/expressions/common/util/expressions_inspector_adapter.ts", - "deprecated": false, - "children": [ - { - "parentPluginId": "expressions", - "id": "def-public.ExpressionsInspectorAdapter.logAST", - "type": "Function", - "tags": [], - "label": "logAST", - "description": [], - "signature": [ - "(ast: ", - { - "pluginId": "expressions", - "scope": "common", - "docId": "kibExpressionsPluginApi", - "section": "def-common.ExpressionAstNode", - "text": "ExpressionAstNode" - }, - ") => void" - ], - "path": "src/plugins/expressions/common/util/expressions_inspector_adapter.ts", - "deprecated": false, - "children": [ - { - "parentPluginId": "expressions", - "id": "def-public.ExpressionsInspectorAdapter.logAST.$1", - "type": "CompoundType", - "tags": [], - "label": "ast", - "description": [], - "signature": [ - { - "pluginId": "expressions", - "scope": "common", - "docId": "kibExpressionsPluginApi", - "section": "def-common.ExpressionAstNode", - "text": "ExpressionAstNode" - } - ], - "path": "src/plugins/expressions/common/util/expressions_inspector_adapter.ts", - "deprecated": false, - "isRequired": true - } - ], - "returnComment": [] - }, - { - "parentPluginId": "expressions", - "id": "def-public.ExpressionsInspectorAdapter.ast", - "type": "CompoundType", - "tags": [], - "label": "ast", - "description": [], - "signature": [ - "string | number | boolean | ", - { - "pluginId": "expressions", - "scope": "common", - "docId": "kibExpressionsPluginApi", - "section": "def-common.ExpressionAstExpression", - "text": "ExpressionAstExpression" - }, - " | ", - { - "pluginId": "expressions", - "scope": "common", - "docId": "kibExpressionsPluginApi", - "section": "def-common.ExpressionAstFunction", - "text": "ExpressionAstFunction" - } - ], - "path": "src/plugins/expressions/common/util/expressions_inspector_adapter.ts", - "deprecated": false - } - ], - "initialIsOpen": false - }, { "parentPluginId": "expressions", "id": "def-public.ExpressionsPublicPlugin", @@ -4747,8 +5012,8 @@ "pluginId": "@kbn/utility-types", "scope": "server", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", - "text": "SerializableRecord" + "section": "def-server.Serializable", + "text": "Serializable" }, ">) => ", { @@ -4782,8 +5047,8 @@ "pluginId": "@kbn/utility-types", "scope": "server", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", - "text": "SerializableRecord" + "section": "def-server.Serializable", + "text": "Serializable" }, ">" ], @@ -6124,67 +6389,6 @@ "returnComment": [], "initialIsOpen": false }, - { - "parentPluginId": "expressions", - "id": "def-public.format", - "type": "Function", - "tags": [], - "label": "format", - "description": [], - "signature": [ - "(ast: T, type: T extends ", - { - "pluginId": "expressions", - "scope": "common", - "docId": "kibExpressionsPluginApi", - "section": "def-common.ExpressionAstExpression", - "text": "ExpressionAstExpression" - }, - " ? \"expression\" : \"argument\") => string" - ], - "path": "src/plugins/expressions/common/ast/format.ts", - "deprecated": false, - "children": [ - { - "parentPluginId": "expressions", - "id": "def-public.format.$1", - "type": "Uncategorized", - "tags": [], - "label": "ast", - "description": [], - "signature": [ - "T" - ], - "path": "src/plugins/expressions/common/ast/format.ts", - "deprecated": false, - "isRequired": true - }, - { - "parentPluginId": "expressions", - "id": "def-public.format.$2", - "type": "Uncategorized", - "tags": [], - "label": "type", - "description": [], - "signature": [ - "T extends ", - { - "pluginId": "expressions", - "scope": "common", - "docId": "kibExpressionsPluginApi", - "section": "def-common.ExpressionAstExpression", - "text": "ExpressionAstExpression" - }, - " ? \"expression\" : \"argument\"" - ], - "path": "src/plugins/expressions/common/ast/format.ts", - "deprecated": false, - "isRequired": true - } - ], - "returnComment": [], - "initialIsOpen": false - }, { "parentPluginId": "expressions", "id": "def-public.formatExpression", @@ -6273,66 +6477,6 @@ ], "initialIsOpen": false }, - { - "parentPluginId": "expressions", - "id": "def-public.parse", - "type": "Function", - "tags": [], - "label": "parse", - "description": [], - "signature": [ - "(expression: E, startRule: S) => S extends \"expression\" ? ", - { - "pluginId": "expressions", - "scope": "common", - "docId": "kibExpressionsPluginApi", - "section": "def-common.ExpressionAstExpression", - "text": "ExpressionAstExpression" - }, - " : ", - { - "pluginId": "expressions", - "scope": "common", - "docId": "kibExpressionsPluginApi", - "section": "def-common.ExpressionAstArgument", - "text": "ExpressionAstArgument" - } - ], - "path": "src/plugins/expressions/common/ast/parse.ts", - "deprecated": false, - "children": [ - { - "parentPluginId": "expressions", - "id": "def-public.parse.$1", - "type": "Uncategorized", - "tags": [], - "label": "expression", - "description": [], - "signature": [ - "E" - ], - "path": "src/plugins/expressions/common/ast/parse.ts", - "deprecated": false, - "isRequired": true - }, - { - "parentPluginId": "expressions", - "id": "def-public.parse.$2", - "type": "Uncategorized", - "tags": [], - "label": "startRule", - "description": [], - "signature": [ - "S" - ], - "path": "src/plugins/expressions/common/ast/parse.ts", - "deprecated": false, - "isRequired": true - } - ], - "returnComment": [], - "initialIsOpen": false - }, { "parentPluginId": "expressions", "id": "def-public.parseExpression", @@ -6374,51 +6518,6 @@ ], "returnComment": [], "initialIsOpen": false - }, - { - "parentPluginId": "expressions", - "id": "def-public.ReactExpressionRenderer", - "type": "Function", - "tags": [], - "label": "ReactExpressionRenderer", - "description": [], - "signature": [ - "({ className, dataAttrs, padding, renderError, expression, onEvent, onData$, reload$, debounce, ...expressionLoaderOptions }: ", - { - "pluginId": "expressions", - "scope": "public", - "docId": "kibExpressionsPluginApi", - "section": "def-public.ReactExpressionRendererProps", - "text": "ReactExpressionRendererProps" - }, - ") => JSX.Element" - ], - "path": "src/plugins/expressions/public/react_expression_renderer.tsx", - "deprecated": false, - "children": [ - { - "parentPluginId": "expressions", - "id": "def-public.ReactExpressionRenderer.$1", - "type": "Object", - "tags": [], - "label": "{\n className,\n dataAttrs,\n padding,\n renderError,\n expression,\n onEvent,\n onData$,\n reload$,\n debounce,\n ...expressionLoaderOptions\n}", - "description": [], - "signature": [ - { - "pluginId": "expressions", - "scope": "public", - "docId": "kibExpressionsPluginApi", - "section": "def-public.ReactExpressionRendererProps", - "text": "ReactExpressionRendererProps" - } - ], - "path": "src/plugins/expressions/public/react_expression_renderer.tsx", - "deprecated": false, - "isRequired": true - } - ], - "returnComment": [], - "initialIsOpen": false } ], "interfaces": [ @@ -8189,7 +8288,7 @@ "section": "def-common.CumulativeSumArgs", "text": "CumulativeSumArgs" }, - ", ", + ", Promise<", { "pluginId": "expressions", "scope": "common", @@ -8197,7 +8296,7 @@ "section": "def-common.Datatable", "text": "Datatable" }, - ", ", + ">, ", { "pluginId": "expressions", "scope": "common", @@ -8257,7 +8356,7 @@ "section": "def-common.OverallMetricArgs", "text": "OverallMetricArgs" }, - ", ", + ", Promise<", { "pluginId": "expressions", "scope": "common", @@ -8265,7 +8364,7 @@ "section": "def-common.Datatable", "text": "Datatable" }, - ", ", + ">, ", { "pluginId": "expressions", "scope": "common", @@ -8325,7 +8424,7 @@ "section": "def-common.DerivativeArgs", "text": "DerivativeArgs" }, - ", ", + ", Promise<", { "pluginId": "expressions", "scope": "common", @@ -8333,7 +8432,7 @@ "section": "def-common.Datatable", "text": "Datatable" }, - ", ", + ">, ", { "pluginId": "expressions", "scope": "common", @@ -8393,7 +8492,7 @@ "section": "def-common.MovingAverageArgs", "text": "MovingAverageArgs" }, - ", ", + ", Promise<", { "pluginId": "expressions", "scope": "common", @@ -8401,7 +8500,7 @@ "section": "def-common.Datatable", "text": "Datatable" }, - ", ", + ">, ", { "pluginId": "expressions", "scope": "common", @@ -10915,7 +11014,7 @@ }, "" ], - "path": "src/plugins/expressions/public/render.ts", + "path": "src/plugins/expressions/public/types/index.ts", "deprecated": false, "initialIsOpen": false }, @@ -11591,40 +11690,6 @@ "path": "src/plugins/expressions/public/plugin.ts", "deprecated": false, "children": [ - { - "parentPluginId": "expressions", - "id": "def-public.ExpressionsStart.ExpressionLoader", - "type": "Object", - "tags": [], - "label": "ExpressionLoader", - "description": [], - "signature": [ - "typeof ", - "ExpressionLoader" - ], - "path": "src/plugins/expressions/public/plugin.ts", - "deprecated": false - }, - { - "parentPluginId": "expressions", - "id": "def-public.ExpressionsStart.ExpressionRenderHandler", - "type": "Object", - "tags": [], - "label": "ExpressionRenderHandler", - "description": [], - "signature": [ - "typeof ", - { - "pluginId": "expressions", - "scope": "public", - "docId": "kibExpressionsPluginApi", - "section": "def-public.ExpressionRenderHandler", - "text": "ExpressionRenderHandler" - } - ], - "path": "src/plugins/expressions/public/plugin.ts", - "deprecated": false - }, { "parentPluginId": "expressions", "id": "def-public.ExpressionsStart.loader", @@ -11633,7 +11698,7 @@ "label": "loader", "description": [], "signature": [ - "(element: HTMLElement, expression: string | ", + "(element: HTMLElement, expression?: string | ", { "pluginId": "expressions", "scope": "common", @@ -11641,7 +11706,7 @@ "section": "def-common.ExpressionAstExpression", "text": "ExpressionAstExpression" }, - ", params: ", + " | undefined, params?: ", { "pluginId": "expressions", "scope": "public", @@ -11649,8 +11714,15 @@ "section": "def-public.IExpressionLoaderParams", "text": "IExpressionLoaderParams" }, - ") => ", - "ExpressionLoader" + " | undefined) => Promise<", + { + "pluginId": "expressions", + "scope": "public", + "docId": "kibExpressionsPluginApi", + "section": "def-public.ExpressionLoader", + "text": "ExpressionLoader" + }, + ">" ], "path": "src/plugins/expressions/public/plugin.ts", "deprecated": false, @@ -11684,7 +11756,8 @@ "docId": "kibExpressionsPluginApi", "section": "def-common.ExpressionAstExpression", "text": "ExpressionAstExpression" - } + }, + " | undefined" ], "path": "src/plugins/expressions/public/loader.ts", "deprecated": false @@ -11703,56 +11776,14 @@ "docId": "kibExpressionsPluginApi", "section": "def-public.IExpressionLoaderParams", "text": "IExpressionLoaderParams" - } + }, + " | undefined" ], "path": "src/plugins/expressions/public/loader.ts", "deprecated": false } ] }, - { - "parentPluginId": "expressions", - "id": "def-public.ExpressionsStart.ReactExpressionRenderer", - "type": "Function", - "tags": [], - "label": "ReactExpressionRenderer", - "description": [], - "signature": [ - "({ className, dataAttrs, padding, renderError, expression, onEvent, onData$, reload$, debounce, ...expressionLoaderOptions }: ", - { - "pluginId": "expressions", - "scope": "public", - "docId": "kibExpressionsPluginApi", - "section": "def-public.ReactExpressionRendererProps", - "text": "ReactExpressionRendererProps" - }, - ") => JSX.Element" - ], - "path": "src/plugins/expressions/public/plugin.ts", - "deprecated": false, - "returnComment": [], - "children": [ - { - "parentPluginId": "expressions", - "id": "def-public.ExpressionsStart.ReactExpressionRenderer.$1", - "type": "Object", - "tags": [], - "label": "__0", - "description": [], - "signature": [ - { - "pluginId": "expressions", - "scope": "public", - "docId": "kibExpressionsPluginApi", - "section": "def-public.ReactExpressionRendererProps", - "text": "ReactExpressionRendererProps" - } - ], - "path": "src/plugins/expressions/public/react_expression_renderer.tsx", - "deprecated": false - } - ] - }, { "parentPluginId": "expressions", "id": "def-public.ExpressionsStart.render", @@ -11763,14 +11794,15 @@ "signature": [ "(element: HTMLElement, data: unknown, options?: ", "ExpressionRenderHandlerParams", - " | undefined) => ", + " | undefined) => Promise<", { "pluginId": "expressions", "scope": "public", "docId": "kibExpressionsPluginApi", "section": "def-public.ExpressionRenderHandler", "text": "ExpressionRenderHandler" - } + }, + ">" ], "path": "src/plugins/expressions/public/plugin.ts", "deprecated": false, @@ -11817,6 +11849,49 @@ "deprecated": false } ] + }, + { + "parentPluginId": "expressions", + "id": "def-public.ExpressionsStart.ReactExpressionRenderer", + "type": "Function", + "tags": [], + "label": "ReactExpressionRenderer", + "description": [], + "signature": [ + "(props: ", + { + "pluginId": "expressions", + "scope": "public", + "docId": "kibExpressionsPluginApi", + "section": "def-public.ReactExpressionRendererProps", + "text": "ReactExpressionRendererProps" + }, + ") => JSX.Element" + ], + "path": "src/plugins/expressions/public/plugin.ts", + "deprecated": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "expressions", + "id": "def-public.ExpressionsStart.ReactExpressionRenderer.$1", + "type": "Object", + "tags": [], + "label": "props", + "description": [], + "signature": [ + { + "pluginId": "expressions", + "scope": "public", + "docId": "kibExpressionsPluginApi", + "section": "def-public.ReactExpressionRendererProps", + "text": "ReactExpressionRendererProps" + } + ], + "path": "src/plugins/expressions/public/react_expression_renderer_wrapper.tsx", + "deprecated": false + } + ] } ], "lifecycle": "start", @@ -11878,7 +11953,7 @@ "section": "def-common.ExecutionResult", "text": "ExecutionResult" }, - ">>, ", + " | undefined; }> | Output>>, ", { "pluginId": "expressions", "scope": "common", @@ -11918,7 +11993,7 @@ "section": "def-common.ExecutionResult", "text": "ExecutionResult" }, - ">>, {}>" + " | undefined; }> | Output>>, {}>" ], "path": "src/plugins/expressions/common/execution/execution.ts", "deprecated": false @@ -12011,7 +12086,7 @@ "section": "def-common.ExecutionResult", "text": "ExecutionResult" }, - ">>" + " | undefined; }> | Output>>" ], "path": "src/plugins/expressions/common/execution/execution.ts", "deprecated": false @@ -12158,7 +12233,7 @@ "section": "def-common.ExecutionResult", "text": "ExecutionResult" }, - ">>" + " | undefined; }> | Output>>" ], "path": "src/plugins/expressions/common/execution/execution.ts", "deprecated": false, @@ -13526,8 +13601,8 @@ "pluginId": "@kbn/utility-types", "scope": "server", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", - "text": "SerializableRecord" + "section": "def-server.Serializable", + "text": "Serializable" }, ">) => ", { @@ -13561,8 +13636,8 @@ "pluginId": "@kbn/utility-types", "scope": "server", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", - "text": "SerializableRecord" + "section": "def-server.Serializable", + "text": "Serializable" }, ">" ], @@ -18185,7 +18260,7 @@ "section": "def-common.CumulativeSumArgs", "text": "CumulativeSumArgs" }, - ", ", + ", Promise<", { "pluginId": "expressions", "scope": "common", @@ -18193,7 +18268,7 @@ "section": "def-common.Datatable", "text": "Datatable" }, - ", ", + ">, ", { "pluginId": "expressions", "scope": "common", @@ -18253,7 +18328,7 @@ "section": "def-common.OverallMetricArgs", "text": "OverallMetricArgs" }, - ", ", + ", Promise<", { "pluginId": "expressions", "scope": "common", @@ -18261,7 +18336,7 @@ "section": "def-common.Datatable", "text": "Datatable" }, - ", ", + ">, ", { "pluginId": "expressions", "scope": "common", @@ -18321,7 +18396,7 @@ "section": "def-common.DerivativeArgs", "text": "DerivativeArgs" }, - ", ", + ", Promise<", { "pluginId": "expressions", "scope": "common", @@ -18329,7 +18404,7 @@ "section": "def-common.Datatable", "text": "Datatable" }, - ", ", + ">, ", { "pluginId": "expressions", "scope": "common", @@ -18389,7 +18464,7 @@ "section": "def-common.MovingAverageArgs", "text": "MovingAverageArgs" }, - ", ", + ", Promise<", { "pluginId": "expressions", "scope": "common", @@ -18397,7 +18472,7 @@ "section": "def-common.Datatable", "text": "Datatable" }, - ", ", + ">, ", { "pluginId": "expressions", "scope": "common", @@ -20496,7 +20571,7 @@ "section": "def-common.ExecutionResult", "text": "ExecutionResult" }, - ">>, ", + " | undefined; }> | Output>>, ", { "pluginId": "expressions", "scope": "common", @@ -20536,7 +20611,7 @@ "section": "def-common.ExecutionResult", "text": "ExecutionResult" }, - ">>, {}>" + " | undefined; }> | Output>>, {}>" ], "path": "src/plugins/expressions/common/execution/execution.ts", "deprecated": false @@ -20629,7 +20704,7 @@ "section": "def-common.ExecutionResult", "text": "ExecutionResult" }, - ">>" + " | undefined; }> | Output>>" ], "path": "src/plugins/expressions/common/execution/execution.ts", "deprecated": false @@ -20776,7 +20851,7 @@ "section": "def-common.ExecutionResult", "text": "ExecutionResult" }, - ">>" + " | undefined; }> | Output>>" ], "path": "src/plugins/expressions/common/execution/execution.ts", "deprecated": false, @@ -21270,7 +21345,7 @@ "section": "def-common.ExecutionResult", "text": "ExecutionResult" }, - "<", + " | Output>>" + " | undefined; }>>>" ], "path": "src/plugins/expressions/common/execution/execution_contract.ts", "deprecated": false, @@ -21352,7 +21427,14 @@ "\nGet Inspector adapters provided to all functions of expression through\nexecution context." ], "signature": [ - "() => InspectorAdapters" + "() => ", + { + "pluginId": "inspector", + "scope": "common", + "docId": "kibInspectorPluginApi", + "section": "def-common.Adapters", + "text": "Adapters" + } ], "path": "src/plugins/expressions/common/execution/execution_contract.ts", "deprecated": false, @@ -22342,8 +22424,8 @@ "pluginId": "@kbn/utility-types", "scope": "server", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", - "text": "SerializableRecord" + "section": "def-server.Serializable", + "text": "Serializable" }, ">) => ", { @@ -22377,8 +22459,8 @@ "pluginId": "@kbn/utility-types", "scope": "server", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", - "text": "SerializableRecord" + "section": "def-server.Serializable", + "text": "Serializable" }, ">" ], @@ -24545,8 +24627,8 @@ "pluginId": "@kbn/utility-types", "scope": "server", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", - "text": "SerializableRecord" + "section": "def-server.Serializable", + "text": "Serializable" }, ">) => ", { @@ -24580,8 +24662,8 @@ "pluginId": "@kbn/utility-types", "scope": "server", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", - "text": "SerializableRecord" + "section": "def-server.Serializable", + "text": "Serializable" }, ">" ], @@ -27556,23 +27638,6 @@ "description": [ "\nDefault inspector adapters created if inspector adapters are not set explicitly." ], - "signature": [ - { - "pluginId": "expressions", - "scope": "common", - "docId": "kibExpressionsPluginApi", - "section": "def-common.DefaultInspectorAdapters", - "text": "DefaultInspectorAdapters" - }, - " extends ", - { - "pluginId": "inspector", - "scope": "common", - "docId": "kibInspectorPluginApi", - "section": "def-common.Adapters", - "text": "Adapters" - } - ], "path": "src/plugins/expressions/common/execution/types.ts", "deprecated": false, "children": [ @@ -27613,6 +27678,25 @@ ], "path": "src/plugins/expressions/common/execution/types.ts", "deprecated": false + }, + { + "parentPluginId": "expressions", + "id": "def-common.DefaultInspectorAdapters.expression", + "type": "Object", + "tags": [], + "label": "expression", + "description": [], + "signature": [ + { + "pluginId": "expressions", + "scope": "common", + "docId": "kibExpressionsPluginApi", + "section": "def-common.ExpressionsInspectorAdapter", + "text": "ExpressionsInspectorAdapter" + } + ], + "path": "src/plugins/expressions/common/execution/types.ts", + "deprecated": false } ], "initialIsOpen": false @@ -30069,7 +30153,7 @@ "section": "def-common.CumulativeSumArgs", "text": "CumulativeSumArgs" }, - ", ", + ", Promise<", { "pluginId": "expressions", "scope": "common", @@ -30077,7 +30161,7 @@ "section": "def-common.Datatable", "text": "Datatable" }, - ", ", + ">, ", { "pluginId": "expressions", "scope": "common", @@ -30137,7 +30221,7 @@ "section": "def-common.OverallMetricArgs", "text": "OverallMetricArgs" }, - ", ", + ", Promise<", { "pluginId": "expressions", "scope": "common", @@ -30145,7 +30229,7 @@ "section": "def-common.Datatable", "text": "Datatable" }, - ", ", + ">, ", { "pluginId": "expressions", "scope": "common", @@ -30205,7 +30289,7 @@ "section": "def-common.DerivativeArgs", "text": "DerivativeArgs" }, - ", ", + ", Promise<", { "pluginId": "expressions", "scope": "common", @@ -30213,7 +30297,7 @@ "section": "def-common.Datatable", "text": "Datatable" }, - ", ", + ">, ", { "pluginId": "expressions", "scope": "common", @@ -30273,7 +30357,7 @@ "section": "def-common.MovingAverageArgs", "text": "MovingAverageArgs" }, - ", ", + ", Promise<", { "pluginId": "expressions", "scope": "common", @@ -30281,7 +30365,7 @@ "section": "def-common.Datatable", "text": "Datatable" }, - ", ", + ">, ", { "pluginId": "expressions", "scope": "common", @@ -33252,7 +33336,7 @@ "section": "def-common.CumulativeSumArgs", "text": "CumulativeSumArgs" }, - ", ", + ", Promise<", { "pluginId": "expressions", "scope": "common", @@ -33260,7 +33344,7 @@ "section": "def-common.Datatable", "text": "Datatable" }, - ", ", + ">, ", { "pluginId": "expressions", "scope": "common", @@ -33321,7 +33405,7 @@ "section": "def-common.DerivativeArgs", "text": "DerivativeArgs" }, - ", ", + ", Promise<", { "pluginId": "expressions", "scope": "common", @@ -33329,7 +33413,7 @@ "section": "def-common.Datatable", "text": "Datatable" }, - ", ", + ">, ", { "pluginId": "expressions", "scope": "common", @@ -33451,7 +33535,7 @@ "section": "def-common.MovingAverageArgs", "text": "MovingAverageArgs" }, - ", ", + ", Promise<", { "pluginId": "expressions", "scope": "common", @@ -33459,7 +33543,7 @@ "section": "def-common.Datatable", "text": "Datatable" }, - ", ", + ">, ", { "pluginId": "expressions", "scope": "common", @@ -33520,7 +33604,7 @@ "section": "def-common.OverallMetricArgs", "text": "OverallMetricArgs" }, - ", ", + ", Promise<", { "pluginId": "expressions", "scope": "common", @@ -33528,7 +33612,7 @@ "section": "def-common.Datatable", "text": "Datatable" }, - ", ", + ">, ", { "pluginId": "expressions", "scope": "common", @@ -35560,7 +35644,7 @@ "section": "def-common.Datatable", "text": "Datatable" }, - ", { by, inputColumnId, outputColumnId, outputColumnName }: ", + ", args: ", { "pluginId": "expressions", "scope": "common", @@ -35568,14 +35652,15 @@ "section": "def-common.CumulativeSumArgs", "text": "CumulativeSumArgs" }, - ") => ", + ") => Promise<", { "pluginId": "expressions", "scope": "common", "docId": "kibExpressionsPluginApi", "section": "def-common.Datatable", "text": "Datatable" - } + }, + ">" ], "path": "src/plugins/expressions/common/expression_functions/specs/cumulative_sum.ts", "deprecated": false, @@ -35605,7 +35690,7 @@ "id": "def-common.cumulativeSum.fn.$2", "type": "Object", "tags": [], - "label": "{ by, inputColumnId, outputColumnId, outputColumnName }", + "label": "args", "description": [], "signature": [ { @@ -36338,7 +36423,7 @@ "section": "def-common.Datatable", "text": "Datatable" }, - ", { by, inputColumnId, outputColumnId, outputColumnName }: ", + ", args: ", { "pluginId": "expressions", "scope": "common", @@ -36346,14 +36431,15 @@ "section": "def-common.DerivativeArgs", "text": "DerivativeArgs" }, - ") => ", + ") => Promise<", { "pluginId": "expressions", "scope": "common", "docId": "kibExpressionsPluginApi", "section": "def-common.Datatable", "text": "Datatable" - } + }, + ">" ], "path": "src/plugins/expressions/common/expression_functions/specs/derivative.ts", "deprecated": false, @@ -36383,7 +36469,7 @@ "id": "def-common.derivative.fn.$2", "type": "Object", "tags": [], - "label": "{ by, inputColumnId, outputColumnId, outputColumnName }", + "label": "args", "description": [], "signature": [ { @@ -36515,7 +36601,7 @@ "section": "def-server.SerializableRecord", "text": "SerializableRecord" }, - " | undefined; }>, \"error\" | \"info\">; }>" + " | undefined; }>, \"info\" | \"error\">; }>" ], "path": "src/plugins/expressions/common/expression_types/specs/error.ts", "deprecated": false, @@ -38215,7 +38301,7 @@ "section": "def-common.MathArguments", "text": "MathArguments" }, - ") => number | false | null" + ") => Promise" ], "path": "src/plugins/expressions/common/expression_functions/specs/math.ts", "deprecated": false, @@ -38568,14 +38654,15 @@ "section": "def-server.SerializableRecord", "text": "SerializableRecord" }, - ">) => ", + ">) => Promise<", { "pluginId": "expressions", "scope": "common", "docId": "kibExpressionsPluginApi", "section": "def-common.Datatable", "text": "Datatable" - } + }, + ">" ], "path": "src/plugins/expressions/common/expression_functions/specs/math_column.ts", "deprecated": false, @@ -39002,7 +39089,7 @@ "section": "def-common.Datatable", "text": "Datatable" }, - ", { by, inputColumnId, outputColumnId, outputColumnName, window }: ", + ", args: ", { "pluginId": "expressions", "scope": "common", @@ -39010,14 +39097,15 @@ "section": "def-common.MovingAverageArgs", "text": "MovingAverageArgs" }, - ") => ", + ") => Promise<", { "pluginId": "expressions", "scope": "common", "docId": "kibExpressionsPluginApi", "section": "def-common.Datatable", "text": "Datatable" - } + }, + ">" ], "path": "src/plugins/expressions/common/expression_functions/specs/moving_average.ts", "deprecated": false, @@ -39047,7 +39135,7 @@ "id": "def-common.movingAverage.fn.$2", "type": "Object", "tags": [], - "label": "{ by, inputColumnId, outputColumnId, outputColumnName, window }", + "label": "args", "description": [], "signature": [ { @@ -39965,7 +40053,7 @@ "section": "def-common.Datatable", "text": "Datatable" }, - ", { by, inputColumnId, outputColumnId, outputColumnName, metric }: ", + ", args: ", { "pluginId": "expressions", "scope": "common", @@ -39973,14 +40061,15 @@ "section": "def-common.OverallMetricArgs", "text": "OverallMetricArgs" }, - ") => ", + ") => Promise<", { "pluginId": "expressions", "scope": "common", "docId": "kibExpressionsPluginApi", "section": "def-common.Datatable", "text": "Datatable" - } + }, + ">" ], "path": "src/plugins/expressions/common/expression_functions/specs/overall_metric.ts", "deprecated": false, @@ -40010,7 +40099,7 @@ "id": "def-common.overallMetric.fn.$2", "type": "Object", "tags": [], - "label": "{ by, inputColumnId, outputColumnId, outputColumnName, metric }", + "label": "args", "description": [], "signature": [ { diff --git a/api_docs/expressions.mdx b/api_docs/expressions.mdx index 9f086cc496faf7..bb31b4a579d133 100644 --- a/api_docs/expressions.mdx +++ b/api_docs/expressions.mdx @@ -18,7 +18,7 @@ Contact [App Services](https://github.com/orgs/elastic/teams/kibana-app-services | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 2086 | 27 | 1640 | 4 | +| 2092 | 27 | 1646 | 3 | ## Client diff --git a/api_docs/field_formats.json b/api_docs/field_formats.json index 2cd5beb47d67e7..5d7f31781d0004 100644 --- a/api_docs/field_formats.json +++ b/api_docs/field_formats.json @@ -3860,65 +3860,6 @@ } ], "returnComment": [] - }, - { - "parentPluginId": "fieldFormats", - "id": "def-common.SourceFormat.htmlConvert", - "type": "Function", - "tags": [], - "label": "htmlConvert", - "description": [], - "signature": [ - "(value: string, options?: ", - { - "pluginId": "fieldFormats", - "scope": "common", - "docId": "kibFieldFormatsPluginApi", - "section": "def-common.HtmlContextTypeOptions", - "text": "HtmlContextTypeOptions" - }, - " | undefined) => string" - ], - "path": "src/plugins/field_formats/common/converters/source.tsx", - "deprecated": false, - "children": [ - { - "parentPluginId": "fieldFormats", - "id": "def-common.SourceFormat.htmlConvert.$1", - "type": "string", - "tags": [], - "label": "value", - "description": [], - "signature": [ - "string" - ], - "path": "src/plugins/field_formats/common/converters/source.tsx", - "deprecated": false, - "isRequired": true - }, - { - "parentPluginId": "fieldFormats", - "id": "def-common.SourceFormat.htmlConvert.$2", - "type": "Object", - "tags": [], - "label": "options", - "description": [], - "signature": [ - { - "pluginId": "fieldFormats", - "scope": "common", - "docId": "kibFieldFormatsPluginApi", - "section": "def-common.HtmlContextTypeOptions", - "text": "HtmlContextTypeOptions" - }, - " | undefined" - ], - "path": "src/plugins/field_formats/common/converters/source.tsx", - "deprecated": false, - "isRequired": false - } - ], - "returnComment": [] } ], "initialIsOpen": false @@ -4874,19 +4815,6 @@ "path": "src/plugins/field_formats/common/types.ts", "deprecated": false }, - { - "parentPluginId": "fieldFormats", - "id": "def-common.HtmlContextTypeOptions.indexPattern", - "type": "Object", - "tags": [], - "label": "indexPattern", - "description": [], - "signature": [ - "{ formatHit: (hit: { highlight: Record; }) => Record; } | undefined" - ], - "path": "src/plugins/field_formats/common/types.ts", - "deprecated": false - }, { "parentPluginId": "fieldFormats", "id": "def-common.HtmlContextTypeOptions.hit", diff --git a/api_docs/field_formats.mdx b/api_docs/field_formats.mdx index 047e31418a17c1..37adeb9bc2bb78 100644 --- a/api_docs/field_formats.mdx +++ b/api_docs/field_formats.mdx @@ -18,7 +18,7 @@ Contact [App Services](https://github.com/orgs/elastic/teams/kibana-app-services | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 288 | 7 | 250 | 3 | +| 284 | 7 | 246 | 3 | ## Client diff --git a/api_docs/fleet.json b/api_docs/fleet.json index b50a2f598b9267..b951a5feea6335 100644 --- a/api_docs/fleet.json +++ b/api_docs/fleet.json @@ -233,7 +233,7 @@ { "parentPluginId": "fleet", "id": "def-public.CreatePackagePolicyRouteState.onSaveNavigateTo", - "type": "CompoundType", + "type": "Object", "tags": [], "label": "onSaveNavigateTo", "description": [ @@ -248,23 +248,7 @@ "section": "def-public.NavigateToAppOptions", "text": "NavigateToAppOptions" }, - " | undefined] | ((newPackagePolicy: ", - { - "pluginId": "fleet", - "scope": "common", - "docId": "kibFleetPluginApi", - "section": "def-common.PackagePolicy", - "text": "PackagePolicy" - }, - ") => [appId: string, options?: ", - { - "pluginId": "core", - "scope": "public", - "docId": "kibCoreApplicationPluginApi", - "section": "def-public.NavigateToAppOptions", - "text": "NavigateToAppOptions" - }, - " | undefined]) | undefined" + " | undefined] | undefined" ], "path": "x-pack/plugins/fleet/public/types/intra_app_route_state.ts", "deprecated": false @@ -306,6 +290,21 @@ ], "path": "x-pack/plugins/fleet/public/types/intra_app_route_state.ts", "deprecated": false + }, + { + "parentPluginId": "fleet", + "id": "def-public.CreatePackagePolicyRouteState.onSaveQueryParams", + "type": "Object", + "tags": [], + "label": "onSaveQueryParams", + "description": [ + "supported query params for onSaveNavigateTo path" + ], + "signature": [ + "{ showAddAgentHelp?: boolean | { renameKey?: string | undefined; policyIdAsValue?: boolean | undefined; } | undefined; openEnrollmentFlyout?: boolean | { renameKey?: string | undefined; policyIdAsValue?: boolean | undefined; } | undefined; } | undefined" + ], + "path": "x-pack/plugins/fleet/public/types/intra_app_route_state.ts", + "deprecated": false } ], "initialIsOpen": false @@ -507,6 +506,19 @@ ], "path": "x-pack/plugins/fleet/common/types/models/package_policy.ts", "deprecated": false + }, + { + "parentPluginId": "fleet", + "id": "def-public.NewPackagePolicy.elasticsearch", + "type": "Object", + "tags": [], + "label": "elasticsearch", + "description": [], + "signature": [ + "{ privileges?: { cluster?: string[] | undefined; } | undefined; } | undefined" + ], + "path": "x-pack/plugins/fleet/common/types/models/package_policy.ts", + "deprecated": false } ], "initialIsOpen": false @@ -1145,6 +1157,19 @@ "path": "x-pack/plugins/fleet/public/types/ui_extensions.ts", "deprecated": false }, + { + "parentPluginId": "fleet", + "id": "def-public.PackagePolicyEditExtension.useLatestPackageVersion", + "type": "CompoundType", + "tags": [], + "label": "useLatestPackageVersion", + "description": [], + "signature": [ + "boolean | undefined" + ], + "path": "x-pack/plugins/fleet/public/types/ui_extensions.ts", + "deprecated": false + }, { "parentPluginId": "fleet", "id": "def-public.PackagePolicyEditExtension.Component", @@ -1340,7 +1365,7 @@ "section": "def-common.PackagePolicyConfigRecordEntry", "text": "PackagePolicyConfigRecordEntry" }, - "> | undefined; }" + "> | undefined; elasticsearch?: { privileges?: { cluster?: string[] | undefined; } | undefined; } | undefined; }" ], "path": "x-pack/plugins/fleet/public/types/ui_extensions.ts", "deprecated": false @@ -1481,6 +1506,38 @@ "deprecated": false, "initialIsOpen": false }, + { + "parentPluginId": "fleet", + "id": "def-public.OnSaveQueryParamKeys", + "type": "Type", + "tags": [], + "label": "OnSaveQueryParamKeys", + "description": [ + "\nSupported query parameters for CreatePackagePolicyRouteState" + ], + "signature": [ + "\"showAddAgentHelp\" | \"openEnrollmentFlyout\"" + ], + "path": "x-pack/plugins/fleet/public/types/intra_app_route_state.ts", + "deprecated": false, + "initialIsOpen": false + }, + { + "parentPluginId": "fleet", + "id": "def-public.OnSaveQueryParamOpts", + "type": "Type", + "tags": [], + "label": "OnSaveQueryParamOpts", + "description": [ + "\nQuery string parameter options for CreatePackagePolicyRouteState" + ], + "signature": [ + "boolean | { renameKey?: string | undefined; policyIdAsValue?: boolean | undefined; }" + ], + "path": "x-pack/plugins/fleet/public/types/intra_app_route_state.ts", + "deprecated": false, + "initialIsOpen": false + }, { "parentPluginId": "fleet", "id": "def-public.PackageAssetsComponent", @@ -4584,15 +4641,13 @@ "signature": [ "Pick<", "KibanaClient", - ", \"monitoring\" | \"security\" | \"create\" | \"index\" | \"delete\" | \"get\" | \"update\" | \"closePointInTime\" | \"search\" | \"transform\" | \"eql\" | \"helpers\" | \"emit\" | \"on\" | \"once\" | \"off\" | \"asyncSearch\" | \"autoscaling\" | \"bulk\" | \"cat\" | \"ccr\" | \"clearScroll\" | \"cluster\" | \"count\" | \"danglingIndices\" | \"dataFrameTransformDeprecated\" | \"deleteByQuery\" | \"deleteByQueryRethrottle\" | \"deleteScript\" | \"enrich\" | \"exists\" | \"existsSource\" | \"explain\" | \"features\" | \"fieldCaps\" | \"fleet\" | \"getScript\" | \"getScriptContext\" | \"getScriptLanguages\" | \"getSource\" | \"graph\" | \"ilm\" | \"indices\" | \"info\" | \"ingest\" | \"license\" | \"logstash\" | \"mget\" | \"migration\" | \"ml\" | \"msearch\" | \"msearchTemplate\" | \"mtermvectors\" | \"nodes\" | \"openPointInTime\" | \"ping\" | \"putScript\" | \"rankEval\" | \"reindex\" | \"reindexRethrottle\" | \"renderSearchTemplate\" | \"rollup\" | \"scriptsPainlessExecute\" | \"scroll\" | \"searchShards\" | \"searchTemplate\" | \"searchableSnapshots\" | \"shutdown\" | \"slm\" | \"snapshot\" | \"sql\" | \"ssl\" | \"tasks\" | \"termsEnum\" | \"termvectors\" | \"textStructure\" | \"updateByQuery\" | \"updateByQueryRethrottle\" | \"watcher\" | \"xpack\"> & { transport: { request(params: ", + ", \"monitoring\" | \"security\" | \"create\" | \"name\" | \"index\" | \"delete\" | \"get\" | \"update\" | \"closePointInTime\" | \"search\" | \"transform\" | \"eql\" | \"helpers\" | \"asyncSearch\" | \"autoscaling\" | \"bulk\" | \"cat\" | \"ccr\" | \"clearScroll\" | \"cluster\" | \"count\" | \"danglingIndices\" | \"deleteByQuery\" | \"deleteByQueryRethrottle\" | \"deleteScript\" | \"enrich\" | \"exists\" | \"existsSource\" | \"explain\" | \"features\" | \"fieldCaps\" | \"fleet\" | \"getScript\" | \"getScriptContext\" | \"getScriptLanguages\" | \"getSource\" | \"graph\" | \"ilm\" | \"indices\" | \"info\" | \"ingest\" | \"knnSearch\" | \"license\" | \"logstash\" | \"mget\" | \"migration\" | \"ml\" | \"msearch\" | \"msearchTemplate\" | \"mtermvectors\" | \"nodes\" | \"openPointInTime\" | \"ping\" | \"putScript\" | \"rankEval\" | \"reindex\" | \"reindexRethrottle\" | \"renderSearchTemplate\" | \"rollup\" | \"scriptsPainlessExecute\" | \"scroll\" | \"searchMvt\" | \"searchShards\" | \"searchTemplate\" | \"searchableSnapshots\" | \"shutdown\" | \"slm\" | \"snapshot\" | \"sql\" | \"ssl\" | \"tasks\" | \"termsEnum\" | \"termvectors\" | \"textStructure\" | \"updateByQuery\" | \"updateByQueryRethrottle\" | \"watcher\" | \"xpack\"> & { transport: { request(params: ", "TransportRequestParams", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", unknown>>; }; }" + " | undefined): Promise<", + "TransportResult", + ">; }; }" ], "path": "x-pack/plugins/fleet/server/services/agents/crud.ts", "deprecated": false @@ -4609,89 +4664,6 @@ } ] }, - { - "parentPluginId": "fleet", - "id": "def-server.AgentService.authenticateAgentWithAccessToken", - "type": "Function", - "tags": [], - "label": "authenticateAgentWithAccessToken", - "description": [ - "\nAuthenticate an agent with access toekn" - ], - "signature": [ - "(esClient: ", - { - "pluginId": "core", - "scope": "server", - "docId": "kibCorePluginApi", - "section": "def-server.ElasticsearchClient", - "text": "ElasticsearchClient" - }, - ", request: ", - { - "pluginId": "core", - "scope": "server", - "docId": "kibCoreHttpPluginApi", - "section": "def-server.KibanaRequest", - "text": "KibanaRequest" - }, - ") => Promise<", - { - "pluginId": "fleet", - "scope": "common", - "docId": "kibFleetPluginApi", - "section": "def-common.Agent", - "text": "Agent" - }, - ">" - ], - "path": "x-pack/plugins/fleet/server/services/index.ts", - "deprecated": false, - "children": [ - { - "parentPluginId": "fleet", - "id": "def-server.AgentService.authenticateAgentWithAccessToken.$1", - "type": "CompoundType", - "tags": [], - "label": "esClient", - "description": [], - "signature": [ - { - "pluginId": "core", - "scope": "server", - "docId": "kibCorePluginApi", - "section": "def-server.ElasticsearchClient", - "text": "ElasticsearchClient" - } - ], - "path": "x-pack/plugins/fleet/server/services/index.ts", - "deprecated": false, - "isRequired": true - }, - { - "parentPluginId": "fleet", - "id": "def-server.AgentService.authenticateAgentWithAccessToken.$2", - "type": "Object", - "tags": [], - "label": "request", - "description": [], - "signature": [ - { - "pluginId": "core", - "scope": "server", - "docId": "kibCoreHttpPluginApi", - "section": "def-server.KibanaRequest", - "text": "KibanaRequest" - }, - "" - ], - "path": "x-pack/plugins/fleet/server/services/index.ts", - "deprecated": false, - "isRequired": true - } - ], - "returnComment": [] - }, { "parentPluginId": "fleet", "id": "def-server.AgentService.getAgentStatusById", @@ -4876,15 +4848,13 @@ "signature": [ "Pick<", "KibanaClient", - ", \"monitoring\" | \"security\" | \"create\" | \"index\" | \"delete\" | \"get\" | \"update\" | \"closePointInTime\" | \"search\" | \"transform\" | \"eql\" | \"helpers\" | \"emit\" | \"on\" | \"once\" | \"off\" | \"asyncSearch\" | \"autoscaling\" | \"bulk\" | \"cat\" | \"ccr\" | \"clearScroll\" | \"cluster\" | \"count\" | \"danglingIndices\" | \"dataFrameTransformDeprecated\" | \"deleteByQuery\" | \"deleteByQueryRethrottle\" | \"deleteScript\" | \"enrich\" | \"exists\" | \"existsSource\" | \"explain\" | \"features\" | \"fieldCaps\" | \"fleet\" | \"getScript\" | \"getScriptContext\" | \"getScriptLanguages\" | \"getSource\" | \"graph\" | \"ilm\" | \"indices\" | \"info\" | \"ingest\" | \"license\" | \"logstash\" | \"mget\" | \"migration\" | \"ml\" | \"msearch\" | \"msearchTemplate\" | \"mtermvectors\" | \"nodes\" | \"openPointInTime\" | \"ping\" | \"putScript\" | \"rankEval\" | \"reindex\" | \"reindexRethrottle\" | \"renderSearchTemplate\" | \"rollup\" | \"scriptsPainlessExecute\" | \"scroll\" | \"searchShards\" | \"searchTemplate\" | \"searchableSnapshots\" | \"shutdown\" | \"slm\" | \"snapshot\" | \"sql\" | \"ssl\" | \"tasks\" | \"termsEnum\" | \"termvectors\" | \"textStructure\" | \"updateByQuery\" | \"updateByQueryRethrottle\" | \"watcher\" | \"xpack\"> & { transport: { request(params: ", + ", \"monitoring\" | \"security\" | \"create\" | \"name\" | \"index\" | \"delete\" | \"get\" | \"update\" | \"closePointInTime\" | \"search\" | \"transform\" | \"eql\" | \"helpers\" | \"asyncSearch\" | \"autoscaling\" | \"bulk\" | \"cat\" | \"ccr\" | \"clearScroll\" | \"cluster\" | \"count\" | \"danglingIndices\" | \"deleteByQuery\" | \"deleteByQueryRethrottle\" | \"deleteScript\" | \"enrich\" | \"exists\" | \"existsSource\" | \"explain\" | \"features\" | \"fieldCaps\" | \"fleet\" | \"getScript\" | \"getScriptContext\" | \"getScriptLanguages\" | \"getSource\" | \"graph\" | \"ilm\" | \"indices\" | \"info\" | \"ingest\" | \"knnSearch\" | \"license\" | \"logstash\" | \"mget\" | \"migration\" | \"ml\" | \"msearch\" | \"msearchTemplate\" | \"mtermvectors\" | \"nodes\" | \"openPointInTime\" | \"ping\" | \"putScript\" | \"rankEval\" | \"reindex\" | \"reindexRethrottle\" | \"renderSearchTemplate\" | \"rollup\" | \"scriptsPainlessExecute\" | \"scroll\" | \"searchMvt\" | \"searchShards\" | \"searchTemplate\" | \"searchableSnapshots\" | \"shutdown\" | \"slm\" | \"snapshot\" | \"sql\" | \"ssl\" | \"tasks\" | \"termsEnum\" | \"termvectors\" | \"textStructure\" | \"updateByQuery\" | \"updateByQueryRethrottle\" | \"watcher\" | \"xpack\"> & { transport: { request(params: ", "TransportRequestParams", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", unknown>>; }; }" + " | undefined): Promise<", + "TransportResult", + ">; }; }" ], "path": "x-pack/plugins/fleet/server/services/agents/crud.ts", "deprecated": false @@ -5487,6 +5457,75 @@ "deprecated": false } ] + }, + { + "parentPluginId": "fleet", + "id": "def-server.PackageService.ensureInstalledPackage", + "type": "Function", + "tags": [], + "label": "ensureInstalledPackage", + "description": [], + "signature": [ + "(options: { savedObjectsClient: Pick<", + { + "pluginId": "core", + "scope": "server", + "docId": "kibCoreSavedObjectsPluginApi", + "section": "def-server.SavedObjectsClient", + "text": "SavedObjectsClient" + }, + ", \"create\" | \"bulkCreate\" | \"checkConflicts\" | \"delete\" | \"find\" | \"bulkGet\" | \"bulkResolve\" | \"get\" | \"resolve\" | \"update\" | \"collectMultiNamespaceReferences\" | \"updateObjectsSpaces\" | \"bulkUpdate\" | \"removeReferencesTo\" | \"openPointInTimeForType\" | \"closePointInTime\" | \"createPointInTimeFinder\" | \"errors\">; pkgName: string; esClient: ", + { + "pluginId": "core", + "scope": "server", + "docId": "kibCorePluginApi", + "section": "def-server.ElasticsearchClient", + "text": "ElasticsearchClient" + }, + "; pkgVersion?: string | undefined; }) => Promise<", + { + "pluginId": "fleet", + "scope": "common", + "docId": "kibFleetPluginApi", + "section": "def-common.Installation", + "text": "Installation" + }, + ">" + ], + "path": "x-pack/plugins/fleet/server/services/index.ts", + "deprecated": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "fleet", + "id": "def-server.PackageService.ensureInstalledPackage.$1", + "type": "Object", + "tags": [], + "label": "options", + "description": [], + "signature": [ + "{ savedObjectsClient: Pick<", + { + "pluginId": "core", + "scope": "server", + "docId": "kibCoreSavedObjectsPluginApi", + "section": "def-server.SavedObjectsClient", + "text": "SavedObjectsClient" + }, + ", \"create\" | \"bulkCreate\" | \"checkConflicts\" | \"delete\" | \"find\" | \"bulkGet\" | \"bulkResolve\" | \"get\" | \"resolve\" | \"update\" | \"collectMultiNamespaceReferences\" | \"updateObjectsSpaces\" | \"bulkUpdate\" | \"removeReferencesTo\" | \"openPointInTimeForType\" | \"closePointInTime\" | \"createPointInTimeFinder\" | \"errors\">; pkgName: string; esClient: ", + { + "pluginId": "core", + "scope": "server", + "docId": "kibCorePluginApi", + "section": "def-server.ElasticsearchClient", + "text": "ElasticsearchClient" + }, + "; pkgVersion?: string | undefined; }" + ], + "path": "x-pack/plugins/fleet/server/services/epm/packages/install.ts", + "deprecated": false + } + ] } ], "initialIsOpen": false @@ -6198,6 +6237,36 @@ "deprecated": false, "children": [], "returnComment": [] + }, + { + "parentPluginId": "fleet", + "id": "def-common.LicenseService.hasAtLeast", + "type": "Function", + "tags": [], + "label": "hasAtLeast", + "description": [], + "signature": [ + "(licenseType: \"basic\" | \"standard\" | \"gold\" | \"platinum\" | \"enterprise\" | \"trial\") => boolean | undefined" + ], + "path": "x-pack/plugins/fleet/common/services/license.ts", + "deprecated": false, + "children": [ + { + "parentPluginId": "fleet", + "id": "def-common.LicenseService.hasAtLeast.$1", + "type": "CompoundType", + "tags": [], + "label": "licenseType", + "description": [], + "signature": [ + "\"basic\" | \"standard\" | \"gold\" | \"platinum\" | \"enterprise\" | \"trial\"" + ], + "path": "x-pack/plugins/fleet/common/services/license.ts", + "deprecated": false, + "isRequired": true + } + ], + "returnComment": [] } ], "initialIsOpen": false @@ -9506,6 +9575,19 @@ ], "path": "x-pack/plugins/fleet/common/types/index.ts", "deprecated": false + }, + { + "parentPluginId": "fleet", + "id": "def-common.FleetConfigType.developer", + "type": "Object", + "tags": [], + "label": "developer", + "description": [], + "signature": [ + "{ disableRegistryVersionCheck?: boolean | undefined; } | undefined" + ], + "path": "x-pack/plugins/fleet/common/types/index.ts", + "deprecated": false } ], "initialIsOpen": false @@ -11249,6 +11331,29 @@ ], "initialIsOpen": false }, + { + "parentPluginId": "fleet", + "id": "def-common.GetFullAgentConfigMapResponse", + "type": "Interface", + "tags": [], + "label": "GetFullAgentConfigMapResponse", + "description": [], + "path": "x-pack/plugins/fleet/common/types/rest_spec/agent_policy.ts", + "deprecated": false, + "children": [ + { + "parentPluginId": "fleet", + "id": "def-common.GetFullAgentConfigMapResponse.item", + "type": "string", + "tags": [], + "label": "item", + "description": [], + "path": "x-pack/plugins/fleet/common/types/rest_spec/agent_policy.ts", + "deprecated": false + } + ], + "initialIsOpen": false + }, { "parentPluginId": "fleet", "id": "def-common.GetFullAgentPolicyRequest", @@ -13442,6 +13547,19 @@ ], "path": "x-pack/plugins/fleet/common/types/models/package_policy.ts", "deprecated": false + }, + { + "parentPluginId": "fleet", + "id": "def-common.NewPackagePolicy.elasticsearch", + "type": "Object", + "tags": [], + "label": "elasticsearch", + "description": [], + "signature": [ + "{ privileges?: { cluster?: string[] | undefined; } | undefined; } | undefined" + ], + "path": "x-pack/plugins/fleet/common/types/models/package_policy.ts", + "deprecated": false } ], "initialIsOpen": false @@ -13681,7 +13799,7 @@ "section": "def-common.NewPackagePolicy", "text": "NewPackagePolicy" }, - ", \"description\" | \"name\" | \"enabled\" | \"package\" | \"policy_id\" | \"namespace\" | \"output_id\" | \"vars\">" + ", \"description\" | \"name\" | \"enabled\" | \"package\" | \"policy_id\" | \"namespace\" | \"output_id\" | \"vars\" | \"elasticsearch\">" ], "path": "x-pack/plugins/fleet/common/types/models/package_policy.ts", "deprecated": false, @@ -14870,7 +14988,7 @@ "section": "def-common.NewPackagePolicy", "text": "NewPackagePolicy" }, - ", \"description\" | \"name\" | \"enabled\" | \"policy_id\" | \"namespace\" | \"output_id\" | \"vars\">> & { name: string; package: Partial<", + ", \"description\" | \"name\" | \"enabled\" | \"policy_id\" | \"namespace\" | \"output_id\" | \"vars\" | \"elasticsearch\">> & { name: string; package: Partial<", { "pluginId": "fleet", "scope": "common", @@ -17564,6 +17682,14 @@ "section": "def-common.ElasticsearchAssetParts", "text": "ElasticsearchAssetParts" }, + "[]; ml_model: ", + { + "pluginId": "fleet", + "scope": "common", + "docId": "kibFleetPluginApi", + "section": "def-common.ElasticsearchAssetParts", + "text": "ElasticsearchAssetParts" + }, "[]; }" ], "path": "x-pack/plugins/fleet/common/types/models/epm.ts", @@ -17717,6 +17843,20 @@ "deprecated": false, "initialIsOpen": false }, + { + "parentPluginId": "fleet", + "id": "def-common.FLEET_KUBERNETES_PACKAGE", + "type": "string", + "tags": [], + "label": "FLEET_KUBERNETES_PACKAGE", + "description": [], + "signature": [ + "\"kubernetes\"" + ], + "path": "x-pack/plugins/fleet/common/constants/epm.ts", + "deprecated": false, + "initialIsOpen": false + }, { "parentPluginId": "fleet", "id": "def-common.FLEET_SERVER_ARTIFACTS_INDEX", @@ -18243,6 +18383,20 @@ "deprecated": false, "initialIsOpen": false }, + { + "parentPluginId": "fleet", + "id": "def-common.KUBERNETES_RUN_INSTRUCTIONS", + "type": "string", + "tags": [], + "label": "KUBERNETES_RUN_INSTRUCTIONS", + "description": [], + "signature": [ + "\"kubectl apply -f elastic-agent-standalone-kubernetes.yaml\"" + ], + "path": "x-pack/plugins/fleet/common/constants/epm.ts", + "deprecated": false, + "initialIsOpen": false + }, { "parentPluginId": "fleet", "id": "def-common.LIMITED_CONCURRENCY_ROUTE_TAG", @@ -18813,7 +18967,7 @@ "section": "def-common.PackagePolicyConfigRecordEntry", "text": "PackagePolicyConfigRecordEntry" }, - "> | undefined; created_at: string; created_by: string; updated_by: string; revision: number; }" + "> | undefined; elasticsearch?: { privileges?: { cluster?: string[] | undefined; } | undefined; } | undefined; created_at: string; created_by: string; updated_by: string; revision: number; }" ], "path": "x-pack/plugins/fleet/common/types/models/package_policy.ts", "deprecated": false, @@ -19296,6 +19450,20 @@ "deprecated": false, "initialIsOpen": false }, + { + "parentPluginId": "fleet", + "id": "def-common.STANDALONE_RUN_INSTRUCTIONS", + "type": "string", + "tags": [], + "label": "STANDALONE_RUN_INSTRUCTIONS", + "description": [], + "signature": [ + "\"./elastic-agent install\"" + ], + "path": "x-pack/plugins/fleet/common/constants/epm.ts", + "deprecated": false, + "initialIsOpen": false + }, { "parentPluginId": "fleet", "id": "def-common.unremovablePackages", diff --git a/api_docs/fleet.mdx b/api_docs/fleet.mdx index 3d01ccbb559a17..a118b318a46512 100644 --- a/api_docs/fleet.mdx +++ b/api_docs/fleet.mdx @@ -18,7 +18,7 @@ Contact [Fleet](https://github.com/orgs/elastic/teams/fleet) for questions regar | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 1210 | 15 | 1110 | 10 | +| 1223 | 15 | 1121 | 10 | ## Client diff --git a/api_docs/home.json b/api_docs/home.json index 1bda24024cf7c3..f8056623d33879 100644 --- a/api_docs/home.json +++ b/api_docs/home.json @@ -461,49 +461,6 @@ ], "initialIsOpen": false }, - { - "parentPluginId": "home", - "id": "def-public.TutorialDirectoryNoticeComponent", - "type": "Type", - "tags": [], - "label": "TutorialDirectoryNoticeComponent", - "description": [], - "signature": [ - "React.FunctionComponent<{}>" - ], - "path": "src/plugins/home/public/services/tutorials/tutorial_service.ts", - "deprecated": false, - "returnComment": [], - "children": [ - { - "parentPluginId": "home", - "id": "def-public.TutorialDirectoryNoticeComponent.$1", - "type": "CompoundType", - "tags": [], - "label": "props", - "description": [], - "signature": [ - "P & { children?: React.ReactNode; }" - ], - "path": "node_modules/@types/react/index.d.ts", - "deprecated": false - }, - { - "parentPluginId": "home", - "id": "def-public.TutorialDirectoryNoticeComponent.$2", - "type": "Any", - "tags": [], - "label": "context", - "description": [], - "signature": [ - "any" - ], - "path": "node_modules/@types/react/index.d.ts", - "deprecated": false - } - ], - "initialIsOpen": false - }, { "parentPluginId": "home", "id": "def-public.TutorialModuleNoticeComponent", @@ -555,7 +512,7 @@ "label": "TutorialSetup", "description": [], "signature": [ - "{ setVariable: (key: string, value: unknown) => void; registerDirectoryNotice: (id: string, component: React.FC<{}>) => void; registerDirectoryHeaderLink: (id: string, component: React.FC<{}>) => void; registerModuleNotice: (id: string, component: React.FC<{ moduleName: string; }>) => void; registerCustomStatusCheck: (name: string, fnCallback: CustomStatusCheckCallback) => void; registerCustomComponent: (name: string, component: CustomComponent) => void; }" + "{ setVariable: (key: string, value: unknown) => void; registerDirectoryHeaderLink: (id: string, component: React.FC<{}>) => void; registerModuleNotice: (id: string, component: React.FC<{ moduleName: string; }>) => void; registerCustomStatusCheck: (name: string, fnCallback: CustomStatusCheckCallback) => void; registerCustomComponent: (name: string, component: CustomComponent) => void; }" ], "path": "src/plugins/home/public/plugin.ts", "deprecated": false, @@ -789,7 +746,7 @@ "label": "tutorials", "description": [], "signature": [ - "{ setVariable: (key: string, value: unknown) => void; registerDirectoryNotice: (id: string, component: React.FC<{}>) => void; registerDirectoryHeaderLink: (id: string, component: React.FC<{}>) => void; registerModuleNotice: (id: string, component: React.FC<{ moduleName: string; }>) => void; registerCustomStatusCheck: (name: string, fnCallback: CustomStatusCheckCallback) => void; registerCustomComponent: (name: string, component: CustomComponent) => void; }" + "{ setVariable: (key: string, value: unknown) => void; registerDirectoryHeaderLink: (id: string, component: React.FC<{}>) => void; registerModuleNotice: (id: string, component: React.FC<{ moduleName: string; }>) => void; registerCustomStatusCheck: (name: string, fnCallback: CustomStatusCheckCallback) => void; registerCustomComponent: (name: string, component: CustomComponent) => void; }" ], "path": "src/plugins/home/public/plugin.ts", "deprecated": false diff --git a/api_docs/home.mdx b/api_docs/home.mdx index 025374fc8dc34f..73526e517647cf 100644 --- a/api_docs/home.mdx +++ b/api_docs/home.mdx @@ -18,7 +18,7 @@ Contact [Kibana Core](https://github.com/orgs/elastic/teams/kibana-core) for que | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 99 | 3 | 77 | 5 | +| 96 | 2 | 74 | 5 | ## Client diff --git a/api_docs/index_management.json b/api_docs/index_management.json index 251438a7d7d811..522cc732fa34b3 100644 --- a/api_docs/index_management.json +++ b/api_docs/index_management.json @@ -641,7 +641,7 @@ "label": "IndexManagementConfig", "description": [], "signature": [ - "{ readonly enabled: boolean; }" + "{ readonly ui: Readonly<{} & { enabled: boolean; }>; }" ], "path": "x-pack/plugins/index_management/server/config.ts", "deprecated": false, @@ -2324,7 +2324,7 @@ "label": "MAJOR_VERSION", "description": [], "signature": [ - "\"8.0.0\"" + "\"8.1.0\"" ], "path": "x-pack/plugins/index_management/common/constants/plugin.ts", "deprecated": false, diff --git a/api_docs/interactive_setup.json b/api_docs/interactive_setup.json index bfccfd28388c4c..98469965ad838e 100644 --- a/api_docs/interactive_setup.json +++ b/api_docs/interactive_setup.json @@ -167,33 +167,44 @@ }, { "parentPluginId": "interactiveSetup", - "id": "def-common.InteractiveSetupViewState", + "id": "def-common.PingResult", "type": "Interface", "tags": [], - "label": "InteractiveSetupViewState", - "description": [ - "\nA set of state details that interactive setup view retrieves from the Kibana server." - ], + "label": "PingResult", + "description": [], "path": "src/plugins/interactive_setup/common/types.ts", "deprecated": false, "children": [ { "parentPluginId": "interactiveSetup", - "id": "def-common.InteractiveSetupViewState.elasticsearchConnectionStatus", - "type": "Enum", + "id": "def-common.PingResult.authRequired", + "type": "boolean", "tags": [], - "label": "elasticsearchConnectionStatus", + "label": "authRequired", "description": [ - "\nCurrent status of the Elasticsearch connection." + "\nIndicates whether the cluster requires authentication." + ], + "path": "src/plugins/interactive_setup/common/types.ts", + "deprecated": false + }, + { + "parentPluginId": "interactiveSetup", + "id": "def-common.PingResult.certificateChain", + "type": "Array", + "tags": [], + "label": "certificateChain", + "description": [ + "\nFull certificate chain of cluster at requested address. Only present if cluster uses HTTPS." ], "signature": [ { "pluginId": "interactiveSetup", "scope": "common", "docId": "kibInteractiveSetupPluginApi", - "section": "def-common.ElasticsearchConnectionStatus", - "text": "ElasticsearchConnectionStatus" - } + "section": "def-common.Certificate", + "text": "Certificate" + }, + "[] | undefined" ], "path": "src/plugins/interactive_setup/common/types.ts", "deprecated": false @@ -203,44 +214,43 @@ }, { "parentPluginId": "interactiveSetup", - "id": "def-common.PingResult", + "id": "def-common.StatusResult", "type": "Interface", "tags": [], - "label": "PingResult", + "label": "StatusResult", "description": [], "path": "src/plugins/interactive_setup/common/types.ts", "deprecated": false, "children": [ { "parentPluginId": "interactiveSetup", - "id": "def-common.PingResult.authRequired", - "type": "boolean", + "id": "def-common.StatusResult.connectionStatus", + "type": "Enum", "tags": [], - "label": "authRequired", + "label": "connectionStatus", "description": [ - "\nIndicates whether the cluster requires authentication." + "\nFull certificate chain of cluster at requested address. Only present if cluster uses HTTPS." + ], + "signature": [ + { + "pluginId": "interactiveSetup", + "scope": "common", + "docId": "kibInteractiveSetupPluginApi", + "section": "def-common.ElasticsearchConnectionStatus", + "text": "ElasticsearchConnectionStatus" + } ], "path": "src/plugins/interactive_setup/common/types.ts", "deprecated": false }, { "parentPluginId": "interactiveSetup", - "id": "def-common.PingResult.certificateChain", - "type": "Array", + "id": "def-common.StatusResult.isSetupOnHold", + "type": "boolean", "tags": [], - "label": "certificateChain", + "label": "isSetupOnHold", "description": [ - "\nFull certificate chain of cluster at requested address. Only present if cluster uses HTTPS." - ], - "signature": [ - { - "pluginId": "interactiveSetup", - "scope": "common", - "docId": "kibInteractiveSetupPluginApi", - "section": "def-common.Certificate", - "text": "Certificate" - }, - "[] | undefined" + "\nIndicates whether Kibana is currently on hold and cannot proceed to `setup` yet." ], "path": "src/plugins/interactive_setup/common/types.ts", "deprecated": false diff --git a/api_docs/interactive_setup.mdx b/api_docs/interactive_setup.mdx index b954d2c4235432..0a31dfef397e96 100644 --- a/api_docs/interactive_setup.mdx +++ b/api_docs/interactive_setup.mdx @@ -18,7 +18,7 @@ Contact [Platform Security](https://github.com/orgs/elastic/teams/kibana-securit | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 26 | 0 | 16 | 0 | +| 27 | 0 | 17 | 0 | ## Common diff --git a/api_docs/kbn_dev_utils.json b/api_docs/kbn_dev_utils.json index 1fea3bfd21ae85..53225a845e3bc8 100644 --- a/api_docs/kbn_dev_utils.json +++ b/api_docs/kbn_dev_utils.json @@ -1185,7 +1185,7 @@ "label": "level", "description": [], "signature": [ - "\"error\" | \"info\" | \"success\" | \"warning\" | \"debug\" | \"silent\" | \"verbose\"" + "\"info\" | \"error\" | \"success\" | \"warning\" | \"debug\" | \"silent\" | \"verbose\"" ], "path": "packages/kbn-dev-utils/src/tooling_log/tooling_log_collecting_writer.ts", "deprecated": false, @@ -1278,7 +1278,7 @@ "label": "level", "description": [], "signature": [ - "{ name: \"error\" | \"info\" | \"success\" | \"warning\" | \"debug\" | \"silent\" | \"verbose\"; flags: { error: boolean; info: boolean; success: boolean; warning: boolean; debug: boolean; silent: boolean; verbose: boolean; }; }" + "{ name: \"info\" | \"error\" | \"success\" | \"warning\" | \"debug\" | \"silent\" | \"verbose\"; flags: { info: boolean; error: boolean; success: boolean; warning: boolean; debug: boolean; silent: boolean; verbose: boolean; }; }" ], "path": "packages/kbn-dev-utils/src/tooling_log/tooling_log_text_writer.ts", "deprecated": false @@ -2695,7 +2695,7 @@ "label": "parseLogLevel", "description": [], "signature": [ - "(name: \"error\" | \"info\" | \"success\" | \"warning\" | \"debug\" | \"silent\" | \"verbose\") => { name: \"error\" | \"info\" | \"success\" | \"warning\" | \"debug\" | \"silent\" | \"verbose\"; flags: { error: boolean; info: boolean; success: boolean; warning: boolean; debug: boolean; silent: boolean; verbose: boolean; }; }" + "(name: \"info\" | \"error\" | \"success\" | \"warning\" | \"debug\" | \"silent\" | \"verbose\") => { name: \"info\" | \"error\" | \"success\" | \"warning\" | \"debug\" | \"silent\" | \"verbose\"; flags: { info: boolean; error: boolean; success: boolean; warning: boolean; debug: boolean; silent: boolean; verbose: boolean; }; }" ], "path": "packages/kbn-dev-utils/src/tooling_log/log_levels.ts", "deprecated": false, @@ -2708,7 +2708,7 @@ "label": "name", "description": [], "signature": [ - "\"error\" | \"info\" | \"success\" | \"warning\" | \"debug\" | \"silent\" | \"verbose\"" + "\"info\" | \"error\" | \"success\" | \"warning\" | \"debug\" | \"silent\" | \"verbose\"" ], "path": "packages/kbn-dev-utils/src/tooling_log/log_levels.ts", "deprecated": false, @@ -2726,7 +2726,7 @@ "label": "pickLevelFromFlags", "description": [], "signature": [ - "(flags: Record, options: { default?: \"error\" | \"info\" | \"success\" | \"warning\" | \"debug\" | \"silent\" | \"verbose\" | undefined; }) => \"error\" | \"info\" | \"success\" | \"warning\" | \"debug\" | \"silent\" | \"verbose\"" + "(flags: Record, options: { default?: \"info\" | \"error\" | \"success\" | \"warning\" | \"debug\" | \"silent\" | \"verbose\" | undefined; }) => \"info\" | \"error\" | \"success\" | \"warning\" | \"debug\" | \"silent\" | \"verbose\"" ], "path": "packages/kbn-dev-utils/src/tooling_log/log_levels.ts", "deprecated": false, @@ -2763,7 +2763,7 @@ "label": "default", "description": [], "signature": [ - "\"error\" | \"info\" | \"success\" | \"warning\" | \"debug\" | \"silent\" | \"verbose\" | undefined" + "\"info\" | \"error\" | \"success\" | \"warning\" | \"debug\" | \"silent\" | \"verbose\" | undefined" ], "path": "packages/kbn-dev-utils/src/tooling_log/log_levels.ts", "deprecated": false @@ -3821,7 +3821,7 @@ "level/type of message" ], "signature": [ - "\"write\" | \"error\" | \"info\" | \"success\" | \"warning\" | \"debug\" | \"verbose\"" + "\"write\" | \"info\" | \"error\" | \"success\" | \"warning\" | \"debug\" | \"verbose\"" ], "path": "packages/kbn-dev-utils/src/tooling_log/message.ts", "deprecated": false @@ -4079,7 +4079,7 @@ "label": "log", "description": [], "signature": [ - "{ defaultLevel?: \"error\" | \"info\" | \"success\" | \"warning\" | \"debug\" | \"silent\" | \"verbose\" | undefined; } | undefined" + "{ defaultLevel?: \"info\" | \"error\" | \"success\" | \"warning\" | \"debug\" | \"silent\" | \"verbose\" | undefined; } | undefined" ], "path": "packages/kbn-dev-utils/src/run/run.ts", "deprecated": false @@ -4135,7 +4135,7 @@ "label": "log", "description": [], "signature": [ - "{ defaultLevel?: \"error\" | \"info\" | \"success\" | \"warning\" | \"debug\" | \"silent\" | \"verbose\" | undefined; } | undefined" + "{ defaultLevel?: \"info\" | \"error\" | \"success\" | \"warning\" | \"debug\" | \"silent\" | \"verbose\" | undefined; } | undefined" ], "path": "packages/kbn-dev-utils/src/run/run_with_commands.ts", "deprecated": false @@ -4368,7 +4368,7 @@ "\nLog level, messages below this level will be ignored" ], "signature": [ - "\"error\" | \"info\" | \"success\" | \"warning\" | \"debug\" | \"silent\" | \"verbose\"" + "\"info\" | \"error\" | \"success\" | \"warning\" | \"debug\" | \"silent\" | \"verbose\"" ], "path": "packages/kbn-dev-utils/src/tooling_log/tooling_log_text_writer.ts", "deprecated": false @@ -4684,7 +4684,7 @@ "label": "LogLevel", "description": [], "signature": [ - "\"error\" | \"info\" | \"success\" | \"warning\" | \"debug\" | \"silent\" | \"verbose\"" + "\"info\" | \"error\" | \"success\" | \"warning\" | \"debug\" | \"silent\" | \"verbose\"" ], "path": "packages/kbn-dev-utils/src/tooling_log/log_levels.ts", "deprecated": false, @@ -4698,7 +4698,7 @@ "label": "ParsedLogLevel", "description": [], "signature": [ - "{ name: \"error\" | \"info\" | \"success\" | \"warning\" | \"debug\" | \"silent\" | \"verbose\"; flags: { error: boolean; info: boolean; success: boolean; warning: boolean; debug: boolean; silent: boolean; verbose: boolean; }; }" + "{ name: \"info\" | \"error\" | \"success\" | \"warning\" | \"debug\" | \"silent\" | \"verbose\"; flags: { info: boolean; error: boolean; success: boolean; warning: boolean; debug: boolean; silent: boolean; verbose: boolean; }; }" ], "path": "packages/kbn-dev-utils/src/tooling_log/log_levels.ts", "deprecated": false, diff --git a/api_docs/kbn_es_query.json b/api_docs/kbn_es_query.json index 0533bd7756849c..c912aa62390b2f 100644 --- a/api_docs/kbn_es_query.json +++ b/api_docs/kbn_es_query.json @@ -2812,7 +2812,7 @@ "section": "def-common.Filter", "text": "Filter" }, - ") => { meta: { disabled: boolean; alias?: string | null | undefined; negate?: boolean | undefined; controlledBy?: string | undefined; index?: string | undefined; isMultiIndex?: boolean | undefined; type?: string | undefined; key?: string | undefined; params?: any; value?: string | undefined; }; $state?: { store: ", + ") => { meta: { disabled: boolean; alias?: string | null | undefined; negate?: boolean | undefined; controlledBy?: string | undefined; group?: string | undefined; index?: string | undefined; isMultiIndex?: boolean | undefined; type?: string | undefined; key?: string | undefined; params?: any; value?: string | undefined; }; $state?: { store: ", { "pluginId": "@kbn/es-query", "scope": "common", @@ -2869,7 +2869,7 @@ "section": "def-common.Filter", "text": "Filter" }, - ") => { meta: { negate: boolean; alias?: string | null | undefined; disabled?: boolean | undefined; controlledBy?: string | undefined; index?: string | undefined; isMultiIndex?: boolean | undefined; type?: string | undefined; key?: string | undefined; params?: any; value?: string | undefined; }; $state?: { store: ", + ") => { meta: { negate: boolean; alias?: string | null | undefined; disabled?: boolean | undefined; controlledBy?: string | undefined; group?: string | undefined; index?: string | undefined; isMultiIndex?: boolean | undefined; type?: string | undefined; key?: string | undefined; params?: any; value?: string | undefined; }; $state?: { store: ", { "pluginId": "@kbn/es-query", "scope": "common", @@ -3240,9 +3240,6 @@ "tags": [], "label": "title", "description": [], - "signature": [ - "string | undefined" - ], "path": "packages/kbn-es-query/src/es_query/types.ts", "deprecated": false } @@ -3920,7 +3917,7 @@ "label": "FilterMeta", "description": [], "signature": [ - "{ alias?: string | null | undefined; disabled?: boolean | undefined; negate?: boolean | undefined; controlledBy?: string | undefined; index?: string | undefined; isMultiIndex?: boolean | undefined; type?: string | undefined; key?: string | undefined; params?: any; value?: string | undefined; }" + "{ alias?: string | null | undefined; disabled?: boolean | undefined; negate?: boolean | undefined; controlledBy?: string | undefined; group?: string | undefined; index?: string | undefined; isMultiIndex?: boolean | undefined; type?: string | undefined; key?: string | undefined; params?: any; value?: string | undefined; }" ], "path": "packages/kbn-es-query/src/filters/build_filters/types.ts", "deprecated": false, @@ -4032,11 +4029,11 @@ }, " & { meta: ", "PhraseFilterMeta", - "; query: { match_phrase?: Record | undefined; match?: Record> | undefined; match?: Partial | undefined; }; }" + ">> | undefined; }; }" ], "path": "packages/kbn-es-query/src/filters/build_filters/phrase_filter.ts", "deprecated": false, diff --git a/api_docs/kbn_logging.json b/api_docs/kbn_logging.json index 7a72a785c57e0c..ca0d0f8a37ef66 100644 --- a/api_docs/kbn_logging.json +++ b/api_docs/kbn_logging.json @@ -658,7 +658,7 @@ "label": "EcsEventType", "description": [], "signature": [ - "\"start\" | \"end\" | \"user\" | \"error\" | \"info\" | \"connection\" | \"group\" | \"protocol\" | \"access\" | \"admin\" | \"allowed\" | \"change\" | \"creation\" | \"deletion\" | \"denied\" | \"installation\"" + "\"start\" | \"end\" | \"user\" | \"info\" | \"group\" | \"error\" | \"connection\" | \"protocol\" | \"access\" | \"admin\" | \"allowed\" | \"change\" | \"creation\" | \"deletion\" | \"denied\" | \"installation\"" ], "path": "packages/kbn-logging/src/ecs/event.ts", "deprecated": false, diff --git a/api_docs/kbn_optimizer.json b/api_docs/kbn_optimizer.json index e03d89f200ba47..4cbec9e2815277 100644 --- a/api_docs/kbn_optimizer.json +++ b/api_docs/kbn_optimizer.json @@ -595,6 +595,22 @@ "returnComment": [], "initialIsOpen": false }, + { + "parentPluginId": "@kbn/optimizer", + "id": "def-server.runFindBabelHelpersInEntryBundlesCli", + "type": "Function", + "tags": [], + "label": "runFindBabelHelpersInEntryBundlesCli", + "description": [], + "signature": [ + "() => Promise" + ], + "path": "packages/kbn-optimizer/src/babel_runtime_helpers/find_babel_runtime_helpers_in_entry_bundles.ts", + "deprecated": false, + "children": [], + "returnComment": [], + "initialIsOpen": false + }, { "parentPluginId": "@kbn/optimizer", "id": "def-server.runKbnOptimizerCli", diff --git a/api_docs/kbn_optimizer.mdx b/api_docs/kbn_optimizer.mdx index e4af57faa79076..b45876bf4e4a6a 100644 --- a/api_docs/kbn_optimizer.mdx +++ b/api_docs/kbn_optimizer.mdx @@ -18,7 +18,7 @@ Contact [Owner missing] for questions regarding this plugin. | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 44 | 0 | 44 | 9 | +| 45 | 0 | 45 | 9 | ## Server diff --git a/api_docs/kbn_rule_data_utils.json b/api_docs/kbn_rule_data_utils.json index a29fb27fbbfe06..e277f5bbf5ef9c 100644 --- a/api_docs/kbn_rule_data_utils.json +++ b/api_docs/kbn_rule_data_utils.json @@ -943,6 +943,20 @@ "deprecated": false, "initialIsOpen": false }, + { + "parentPluginId": "@kbn/rule-data-utils", + "id": "def-server.EVENT_MODULE", + "type": "string", + "tags": [], + "label": "EVENT_MODULE", + "description": [], + "signature": [ + "\"event.module\"" + ], + "path": "packages/kbn-rule-data-utils/src/technical_field_names.ts", + "deprecated": false, + "initialIsOpen": false + }, { "parentPluginId": "@kbn/rule-data-utils", "id": "def-server.KIBANA_NAMESPACE", @@ -1007,7 +1021,7 @@ "label": "TechnicalRuleDataFieldName", "description": [], "signature": [ - "\"tags\" | \"kibana\" | \"@timestamp\" | \"event.kind\" | \"kibana.consumers\" | \"ecs.version\" | \"event.action\" | \"kibana.alert.action_group\" | \"kibana.alert.duration.us\" | \"kibana.alert.end\" | \"kibana.alert.evaluation.threshold\" | \"kibana.alert.evaluation.value\" | \"kibana.alert.instance.id\" | \"kibana.alert.rule.consumer\" | \"kibana.alert.rule.producer\" | \"kibana.alert.reason\" | \"kibana.alert.risk_score\" | \"kibana.alert.rule.author\" | \"kibana.alert.rule.created_at\" | \"kibana.alert.rule.created_by\" | \"kibana.alert.rule.description\" | \"kibana.alert.rule.enabled\" | \"kibana.alert.rule.from\" | \"kibana.alert.rule.interval\" | \"kibana.alert.rule.license\" | \"kibana.alert.rule.name\" | \"kibana.alert.rule.note\" | \"kibana.alert.rule.params\" | \"kibana.alert.rule.references\" | \"kibana.alert.rule.risk_score\" | \"kibana.alert.rule.risk_score_mapping\" | \"kibana.alert.rule.rule_id\" | \"kibana.alert.rule.rule_name_override\" | \"kibana.alert.rule.severity\" | \"kibana.alert.rule.severity_mapping\" | \"kibana.alert.rule.tags\" | \"kibana.alert.rule.to\" | \"kibana.alert.rule.type\" | \"kibana.alert.rule.rule_type_id\" | \"kibana.alert.rule.updated_at\" | \"kibana.alert.rule.updated_by\" | \"kibana.alert.rule.version\" | \"kibana.alert.start\" | \"kibana.alert.severity\" | \"kibana.alert.status\" | \"kibana.alert.system_status\" | \"kibana.alert.uuid\" | \"kibana.alert.workflow_reason\" | \"kibana.alert.workflow_status\" | \"kibana.alert.workflow_user\" | \"kibana.alert.rule.uuid\" | \"kibana.alert.rule.category\" | \"kibana.space_ids\" | \"kibana.version\" | \"kibana.alert\" | \"kibana.alert.rule\"" + "\"tags\" | \"kibana\" | \"@timestamp\" | \"event.kind\" | \"kibana.consumers\" | \"ecs.version\" | \"event.action\" | \"event.module\" | \"kibana.alert.action_group\" | \"kibana.alert.duration.us\" | \"kibana.alert.end\" | \"kibana.alert.evaluation.threshold\" | \"kibana.alert.evaluation.value\" | \"kibana.alert.instance.id\" | \"kibana.alert.rule.consumer\" | \"kibana.alert.rule.producer\" | \"kibana.alert.reason\" | \"kibana.alert.risk_score\" | \"kibana.alert.rule.author\" | \"kibana.alert.rule.created_at\" | \"kibana.alert.rule.created_by\" | \"kibana.alert.rule.description\" | \"kibana.alert.rule.enabled\" | \"kibana.alert.rule.from\" | \"kibana.alert.rule.interval\" | \"kibana.alert.rule.license\" | \"kibana.alert.rule.name\" | \"kibana.alert.rule.note\" | \"kibana.alert.rule.params\" | \"kibana.alert.rule.references\" | \"kibana.alert.rule.risk_score\" | \"kibana.alert.rule.risk_score_mapping\" | \"kibana.alert.rule.rule_id\" | \"kibana.alert.rule.rule_name_override\" | \"kibana.alert.rule.severity\" | \"kibana.alert.rule.severity_mapping\" | \"kibana.alert.rule.tags\" | \"kibana.alert.rule.to\" | \"kibana.alert.rule.type\" | \"kibana.alert.rule.rule_type_id\" | \"kibana.alert.rule.updated_at\" | \"kibana.alert.rule.updated_by\" | \"kibana.alert.rule.version\" | \"kibana.alert.start\" | \"kibana.alert.severity\" | \"kibana.alert.status\" | \"kibana.alert.system_status\" | \"kibana.alert.uuid\" | \"kibana.alert.workflow_reason\" | \"kibana.alert.workflow_status\" | \"kibana.alert.workflow_user\" | \"kibana.alert.rule.uuid\" | \"kibana.alert.rule.category\" | \"kibana.space_ids\" | \"kibana.version\" | \"kibana.alert\" | \"kibana.alert.rule\"" ], "path": "packages/kbn-rule-data-utils/src/technical_field_names.ts", "deprecated": false, diff --git a/api_docs/kbn_rule_data_utils.mdx b/api_docs/kbn_rule_data_utils.mdx index 3d10e43666558c..265859d66ced24 100644 --- a/api_docs/kbn_rule_data_utils.mdx +++ b/api_docs/kbn_rule_data_utils.mdx @@ -18,7 +18,7 @@ Contact [Owner missing] for questions regarding this plugin. | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 74 | 0 | 71 | 0 | +| 75 | 0 | 72 | 0 | ## Server diff --git a/api_docs/kbn_securitysolution_es_utils.json b/api_docs/kbn_securitysolution_es_utils.json index 3a5bb6e97e90d8..556032d999ffde 100644 --- a/api_docs/kbn_securitysolution_es_utils.json +++ b/api_docs/kbn_securitysolution_es_utils.json @@ -44,7 +44,7 @@ "signature": [ "(esClient: Pick<", "KibanaClient", - ", \"monitoring\" | \"security\" | \"create\" | \"index\" | \"delete\" | \"get\" | \"update\" | \"closePointInTime\" | \"search\" | \"transform\" | \"eql\" | \"helpers\" | \"emit\" | \"on\" | \"once\" | \"off\" | \"asyncSearch\" | \"autoscaling\" | \"bulk\" | \"cat\" | \"ccr\" | \"clearScroll\" | \"cluster\" | \"count\" | \"danglingIndices\" | \"dataFrameTransformDeprecated\" | \"deleteByQuery\" | \"deleteByQueryRethrottle\" | \"deleteScript\" | \"enrich\" | \"exists\" | \"existsSource\" | \"explain\" | \"features\" | \"fieldCaps\" | \"fleet\" | \"getScript\" | \"getScriptContext\" | \"getScriptLanguages\" | \"getSource\" | \"graph\" | \"ilm\" | \"indices\" | \"info\" | \"ingest\" | \"license\" | \"logstash\" | \"mget\" | \"migration\" | \"ml\" | \"msearch\" | \"msearchTemplate\" | \"mtermvectors\" | \"nodes\" | \"openPointInTime\" | \"ping\" | \"putScript\" | \"rankEval\" | \"reindex\" | \"reindexRethrottle\" | \"renderSearchTemplate\" | \"rollup\" | \"scriptsPainlessExecute\" | \"scroll\" | \"searchShards\" | \"searchTemplate\" | \"searchableSnapshots\" | \"shutdown\" | \"slm\" | \"snapshot\" | \"sql\" | \"ssl\" | \"tasks\" | \"termsEnum\" | \"termvectors\" | \"textStructure\" | \"updateByQuery\" | \"updateByQueryRethrottle\" | \"watcher\" | \"xpack\">, index: string) => Promise" + ", \"monitoring\" | \"security\" | \"create\" | \"name\" | \"index\" | \"delete\" | \"get\" | \"update\" | \"closePointInTime\" | \"search\" | \"transform\" | \"eql\" | \"helpers\" | \"asyncSearch\" | \"autoscaling\" | \"bulk\" | \"cat\" | \"ccr\" | \"clearScroll\" | \"cluster\" | \"count\" | \"danglingIndices\" | \"deleteByQuery\" | \"deleteByQueryRethrottle\" | \"deleteScript\" | \"enrich\" | \"exists\" | \"existsSource\" | \"explain\" | \"features\" | \"fieldCaps\" | \"fleet\" | \"getScript\" | \"getScriptContext\" | \"getScriptLanguages\" | \"getSource\" | \"graph\" | \"ilm\" | \"indices\" | \"info\" | \"ingest\" | \"knnSearch\" | \"license\" | \"logstash\" | \"mget\" | \"migration\" | \"ml\" | \"msearch\" | \"msearchTemplate\" | \"mtermvectors\" | \"nodes\" | \"openPointInTime\" | \"ping\" | \"putScript\" | \"rankEval\" | \"reindex\" | \"reindexRethrottle\" | \"renderSearchTemplate\" | \"rollup\" | \"scriptsPainlessExecute\" | \"scroll\" | \"searchMvt\" | \"searchShards\" | \"searchTemplate\" | \"searchableSnapshots\" | \"shutdown\" | \"slm\" | \"snapshot\" | \"sql\" | \"ssl\" | \"tasks\" | \"termsEnum\" | \"termvectors\" | \"textStructure\" | \"updateByQuery\" | \"updateByQueryRethrottle\" | \"watcher\" | \"xpack\">, index: string) => Promise" ], "path": "packages/kbn-securitysolution-es-utils/src/create_boostrap_index/index.ts", "deprecated": false, @@ -59,7 +59,7 @@ "signature": [ "Pick<", "KibanaClient", - ", \"monitoring\" | \"security\" | \"create\" | \"index\" | \"delete\" | \"get\" | \"update\" | \"closePointInTime\" | \"search\" | \"transform\" | \"eql\" | \"helpers\" | \"emit\" | \"on\" | \"once\" | \"off\" | \"asyncSearch\" | \"autoscaling\" | \"bulk\" | \"cat\" | \"ccr\" | \"clearScroll\" | \"cluster\" | \"count\" | \"danglingIndices\" | \"dataFrameTransformDeprecated\" | \"deleteByQuery\" | \"deleteByQueryRethrottle\" | \"deleteScript\" | \"enrich\" | \"exists\" | \"existsSource\" | \"explain\" | \"features\" | \"fieldCaps\" | \"fleet\" | \"getScript\" | \"getScriptContext\" | \"getScriptLanguages\" | \"getSource\" | \"graph\" | \"ilm\" | \"indices\" | \"info\" | \"ingest\" | \"license\" | \"logstash\" | \"mget\" | \"migration\" | \"ml\" | \"msearch\" | \"msearchTemplate\" | \"mtermvectors\" | \"nodes\" | \"openPointInTime\" | \"ping\" | \"putScript\" | \"rankEval\" | \"reindex\" | \"reindexRethrottle\" | \"renderSearchTemplate\" | \"rollup\" | \"scriptsPainlessExecute\" | \"scroll\" | \"searchShards\" | \"searchTemplate\" | \"searchableSnapshots\" | \"shutdown\" | \"slm\" | \"snapshot\" | \"sql\" | \"ssl\" | \"tasks\" | \"termsEnum\" | \"termvectors\" | \"textStructure\" | \"updateByQuery\" | \"updateByQueryRethrottle\" | \"watcher\" | \"xpack\">" + ", \"monitoring\" | \"security\" | \"create\" | \"name\" | \"index\" | \"delete\" | \"get\" | \"update\" | \"closePointInTime\" | \"search\" | \"transform\" | \"eql\" | \"helpers\" | \"asyncSearch\" | \"autoscaling\" | \"bulk\" | \"cat\" | \"ccr\" | \"clearScroll\" | \"cluster\" | \"count\" | \"danglingIndices\" | \"deleteByQuery\" | \"deleteByQueryRethrottle\" | \"deleteScript\" | \"enrich\" | \"exists\" | \"existsSource\" | \"explain\" | \"features\" | \"fieldCaps\" | \"fleet\" | \"getScript\" | \"getScriptContext\" | \"getScriptLanguages\" | \"getSource\" | \"graph\" | \"ilm\" | \"indices\" | \"info\" | \"ingest\" | \"knnSearch\" | \"license\" | \"logstash\" | \"mget\" | \"migration\" | \"ml\" | \"msearch\" | \"msearchTemplate\" | \"mtermvectors\" | \"nodes\" | \"openPointInTime\" | \"ping\" | \"putScript\" | \"rankEval\" | \"reindex\" | \"reindexRethrottle\" | \"renderSearchTemplate\" | \"rollup\" | \"scriptsPainlessExecute\" | \"scroll\" | \"searchMvt\" | \"searchShards\" | \"searchTemplate\" | \"searchableSnapshots\" | \"shutdown\" | \"slm\" | \"snapshot\" | \"sql\" | \"ssl\" | \"tasks\" | \"termsEnum\" | \"termvectors\" | \"textStructure\" | \"updateByQuery\" | \"updateByQueryRethrottle\" | \"watcher\" | \"xpack\">" ], "path": "packages/kbn-securitysolution-es-utils/src/create_boostrap_index/index.ts", "deprecated": false, @@ -124,7 +124,7 @@ "signature": [ "(esClient: Pick<", "KibanaClient", - ", \"monitoring\" | \"security\" | \"create\" | \"index\" | \"delete\" | \"get\" | \"update\" | \"closePointInTime\" | \"search\" | \"transform\" | \"eql\" | \"helpers\" | \"emit\" | \"on\" | \"once\" | \"off\" | \"asyncSearch\" | \"autoscaling\" | \"bulk\" | \"cat\" | \"ccr\" | \"clearScroll\" | \"cluster\" | \"count\" | \"danglingIndices\" | \"dataFrameTransformDeprecated\" | \"deleteByQuery\" | \"deleteByQueryRethrottle\" | \"deleteScript\" | \"enrich\" | \"exists\" | \"existsSource\" | \"explain\" | \"features\" | \"fieldCaps\" | \"fleet\" | \"getScript\" | \"getScriptContext\" | \"getScriptLanguages\" | \"getSource\" | \"graph\" | \"ilm\" | \"indices\" | \"info\" | \"ingest\" | \"license\" | \"logstash\" | \"mget\" | \"migration\" | \"ml\" | \"msearch\" | \"msearchTemplate\" | \"mtermvectors\" | \"nodes\" | \"openPointInTime\" | \"ping\" | \"putScript\" | \"rankEval\" | \"reindex\" | \"reindexRethrottle\" | \"renderSearchTemplate\" | \"rollup\" | \"scriptsPainlessExecute\" | \"scroll\" | \"searchShards\" | \"searchTemplate\" | \"searchableSnapshots\" | \"shutdown\" | \"slm\" | \"snapshot\" | \"sql\" | \"ssl\" | \"tasks\" | \"termsEnum\" | \"termvectors\" | \"textStructure\" | \"updateByQuery\" | \"updateByQueryRethrottle\" | \"watcher\" | \"xpack\">, pattern: string, maxAttempts?: number) => Promise" + ", \"monitoring\" | \"security\" | \"create\" | \"name\" | \"index\" | \"delete\" | \"get\" | \"update\" | \"closePointInTime\" | \"search\" | \"transform\" | \"eql\" | \"helpers\" | \"asyncSearch\" | \"autoscaling\" | \"bulk\" | \"cat\" | \"ccr\" | \"clearScroll\" | \"cluster\" | \"count\" | \"danglingIndices\" | \"deleteByQuery\" | \"deleteByQueryRethrottle\" | \"deleteScript\" | \"enrich\" | \"exists\" | \"existsSource\" | \"explain\" | \"features\" | \"fieldCaps\" | \"fleet\" | \"getScript\" | \"getScriptContext\" | \"getScriptLanguages\" | \"getSource\" | \"graph\" | \"ilm\" | \"indices\" | \"info\" | \"ingest\" | \"knnSearch\" | \"license\" | \"logstash\" | \"mget\" | \"migration\" | \"ml\" | \"msearch\" | \"msearchTemplate\" | \"mtermvectors\" | \"nodes\" | \"openPointInTime\" | \"ping\" | \"putScript\" | \"rankEval\" | \"reindex\" | \"reindexRethrottle\" | \"renderSearchTemplate\" | \"rollup\" | \"scriptsPainlessExecute\" | \"scroll\" | \"searchMvt\" | \"searchShards\" | \"searchTemplate\" | \"searchableSnapshots\" | \"shutdown\" | \"slm\" | \"snapshot\" | \"sql\" | \"ssl\" | \"tasks\" | \"termsEnum\" | \"termvectors\" | \"textStructure\" | \"updateByQuery\" | \"updateByQueryRethrottle\" | \"watcher\" | \"xpack\">, pattern: string, maxAttempts?: number) => Promise" ], "path": "packages/kbn-securitysolution-es-utils/src/delete_all_index/index.ts", "deprecated": false, @@ -139,7 +139,7 @@ "signature": [ "Pick<", "KibanaClient", - ", \"monitoring\" | \"security\" | \"create\" | \"index\" | \"delete\" | \"get\" | \"update\" | \"closePointInTime\" | \"search\" | \"transform\" | \"eql\" | \"helpers\" | \"emit\" | \"on\" | \"once\" | \"off\" | \"asyncSearch\" | \"autoscaling\" | \"bulk\" | \"cat\" | \"ccr\" | \"clearScroll\" | \"cluster\" | \"count\" | \"danglingIndices\" | \"dataFrameTransformDeprecated\" | \"deleteByQuery\" | \"deleteByQueryRethrottle\" | \"deleteScript\" | \"enrich\" | \"exists\" | \"existsSource\" | \"explain\" | \"features\" | \"fieldCaps\" | \"fleet\" | \"getScript\" | \"getScriptContext\" | \"getScriptLanguages\" | \"getSource\" | \"graph\" | \"ilm\" | \"indices\" | \"info\" | \"ingest\" | \"license\" | \"logstash\" | \"mget\" | \"migration\" | \"ml\" | \"msearch\" | \"msearchTemplate\" | \"mtermvectors\" | \"nodes\" | \"openPointInTime\" | \"ping\" | \"putScript\" | \"rankEval\" | \"reindex\" | \"reindexRethrottle\" | \"renderSearchTemplate\" | \"rollup\" | \"scriptsPainlessExecute\" | \"scroll\" | \"searchShards\" | \"searchTemplate\" | \"searchableSnapshots\" | \"shutdown\" | \"slm\" | \"snapshot\" | \"sql\" | \"ssl\" | \"tasks\" | \"termsEnum\" | \"termvectors\" | \"textStructure\" | \"updateByQuery\" | \"updateByQueryRethrottle\" | \"watcher\" | \"xpack\">" + ", \"monitoring\" | \"security\" | \"create\" | \"name\" | \"index\" | \"delete\" | \"get\" | \"update\" | \"closePointInTime\" | \"search\" | \"transform\" | \"eql\" | \"helpers\" | \"asyncSearch\" | \"autoscaling\" | \"bulk\" | \"cat\" | \"ccr\" | \"clearScroll\" | \"cluster\" | \"count\" | \"danglingIndices\" | \"deleteByQuery\" | \"deleteByQueryRethrottle\" | \"deleteScript\" | \"enrich\" | \"exists\" | \"existsSource\" | \"explain\" | \"features\" | \"fieldCaps\" | \"fleet\" | \"getScript\" | \"getScriptContext\" | \"getScriptLanguages\" | \"getSource\" | \"graph\" | \"ilm\" | \"indices\" | \"info\" | \"ingest\" | \"knnSearch\" | \"license\" | \"logstash\" | \"mget\" | \"migration\" | \"ml\" | \"msearch\" | \"msearchTemplate\" | \"mtermvectors\" | \"nodes\" | \"openPointInTime\" | \"ping\" | \"putScript\" | \"rankEval\" | \"reindex\" | \"reindexRethrottle\" | \"renderSearchTemplate\" | \"rollup\" | \"scriptsPainlessExecute\" | \"scroll\" | \"searchMvt\" | \"searchShards\" | \"searchTemplate\" | \"searchableSnapshots\" | \"shutdown\" | \"slm\" | \"snapshot\" | \"sql\" | \"ssl\" | \"tasks\" | \"termsEnum\" | \"termvectors\" | \"textStructure\" | \"updateByQuery\" | \"updateByQueryRethrottle\" | \"watcher\" | \"xpack\">" ], "path": "packages/kbn-securitysolution-es-utils/src/delete_all_index/index.ts", "deprecated": false, @@ -187,7 +187,7 @@ "signature": [ "(esClient: Pick<", "KibanaClient", - ", \"monitoring\" | \"security\" | \"create\" | \"index\" | \"delete\" | \"get\" | \"update\" | \"closePointInTime\" | \"search\" | \"transform\" | \"eql\" | \"helpers\" | \"emit\" | \"on\" | \"once\" | \"off\" | \"asyncSearch\" | \"autoscaling\" | \"bulk\" | \"cat\" | \"ccr\" | \"clearScroll\" | \"cluster\" | \"count\" | \"danglingIndices\" | \"dataFrameTransformDeprecated\" | \"deleteByQuery\" | \"deleteByQueryRethrottle\" | \"deleteScript\" | \"enrich\" | \"exists\" | \"existsSource\" | \"explain\" | \"features\" | \"fieldCaps\" | \"fleet\" | \"getScript\" | \"getScriptContext\" | \"getScriptLanguages\" | \"getSource\" | \"graph\" | \"ilm\" | \"indices\" | \"info\" | \"ingest\" | \"license\" | \"logstash\" | \"mget\" | \"migration\" | \"ml\" | \"msearch\" | \"msearchTemplate\" | \"mtermvectors\" | \"nodes\" | \"openPointInTime\" | \"ping\" | \"putScript\" | \"rankEval\" | \"reindex\" | \"reindexRethrottle\" | \"renderSearchTemplate\" | \"rollup\" | \"scriptsPainlessExecute\" | \"scroll\" | \"searchShards\" | \"searchTemplate\" | \"searchableSnapshots\" | \"shutdown\" | \"slm\" | \"snapshot\" | \"sql\" | \"ssl\" | \"tasks\" | \"termsEnum\" | \"termvectors\" | \"textStructure\" | \"updateByQuery\" | \"updateByQueryRethrottle\" | \"watcher\" | \"xpack\">, policy: string) => Promise" + ", \"monitoring\" | \"security\" | \"create\" | \"name\" | \"index\" | \"delete\" | \"get\" | \"update\" | \"closePointInTime\" | \"search\" | \"transform\" | \"eql\" | \"helpers\" | \"asyncSearch\" | \"autoscaling\" | \"bulk\" | \"cat\" | \"ccr\" | \"clearScroll\" | \"cluster\" | \"count\" | \"danglingIndices\" | \"deleteByQuery\" | \"deleteByQueryRethrottle\" | \"deleteScript\" | \"enrich\" | \"exists\" | \"existsSource\" | \"explain\" | \"features\" | \"fieldCaps\" | \"fleet\" | \"getScript\" | \"getScriptContext\" | \"getScriptLanguages\" | \"getSource\" | \"graph\" | \"ilm\" | \"indices\" | \"info\" | \"ingest\" | \"knnSearch\" | \"license\" | \"logstash\" | \"mget\" | \"migration\" | \"ml\" | \"msearch\" | \"msearchTemplate\" | \"mtermvectors\" | \"nodes\" | \"openPointInTime\" | \"ping\" | \"putScript\" | \"rankEval\" | \"reindex\" | \"reindexRethrottle\" | \"renderSearchTemplate\" | \"rollup\" | \"scriptsPainlessExecute\" | \"scroll\" | \"searchMvt\" | \"searchShards\" | \"searchTemplate\" | \"searchableSnapshots\" | \"shutdown\" | \"slm\" | \"snapshot\" | \"sql\" | \"ssl\" | \"tasks\" | \"termsEnum\" | \"termvectors\" | \"textStructure\" | \"updateByQuery\" | \"updateByQueryRethrottle\" | \"watcher\" | \"xpack\">, name: string) => Promise" ], "path": "packages/kbn-securitysolution-es-utils/src/delete_policy/index.ts", "deprecated": false, @@ -202,7 +202,7 @@ "signature": [ "Pick<", "KibanaClient", - ", \"monitoring\" | \"security\" | \"create\" | \"index\" | \"delete\" | \"get\" | \"update\" | \"closePointInTime\" | \"search\" | \"transform\" | \"eql\" | \"helpers\" | \"emit\" | \"on\" | \"once\" | \"off\" | \"asyncSearch\" | \"autoscaling\" | \"bulk\" | \"cat\" | \"ccr\" | \"clearScroll\" | \"cluster\" | \"count\" | \"danglingIndices\" | \"dataFrameTransformDeprecated\" | \"deleteByQuery\" | \"deleteByQueryRethrottle\" | \"deleteScript\" | \"enrich\" | \"exists\" | \"existsSource\" | \"explain\" | \"features\" | \"fieldCaps\" | \"fleet\" | \"getScript\" | \"getScriptContext\" | \"getScriptLanguages\" | \"getSource\" | \"graph\" | \"ilm\" | \"indices\" | \"info\" | \"ingest\" | \"license\" | \"logstash\" | \"mget\" | \"migration\" | \"ml\" | \"msearch\" | \"msearchTemplate\" | \"mtermvectors\" | \"nodes\" | \"openPointInTime\" | \"ping\" | \"putScript\" | \"rankEval\" | \"reindex\" | \"reindexRethrottle\" | \"renderSearchTemplate\" | \"rollup\" | \"scriptsPainlessExecute\" | \"scroll\" | \"searchShards\" | \"searchTemplate\" | \"searchableSnapshots\" | \"shutdown\" | \"slm\" | \"snapshot\" | \"sql\" | \"ssl\" | \"tasks\" | \"termsEnum\" | \"termvectors\" | \"textStructure\" | \"updateByQuery\" | \"updateByQueryRethrottle\" | \"watcher\" | \"xpack\">" + ", \"monitoring\" | \"security\" | \"create\" | \"name\" | \"index\" | \"delete\" | \"get\" | \"update\" | \"closePointInTime\" | \"search\" | \"transform\" | \"eql\" | \"helpers\" | \"asyncSearch\" | \"autoscaling\" | \"bulk\" | \"cat\" | \"ccr\" | \"clearScroll\" | \"cluster\" | \"count\" | \"danglingIndices\" | \"deleteByQuery\" | \"deleteByQueryRethrottle\" | \"deleteScript\" | \"enrich\" | \"exists\" | \"existsSource\" | \"explain\" | \"features\" | \"fieldCaps\" | \"fleet\" | \"getScript\" | \"getScriptContext\" | \"getScriptLanguages\" | \"getSource\" | \"graph\" | \"ilm\" | \"indices\" | \"info\" | \"ingest\" | \"knnSearch\" | \"license\" | \"logstash\" | \"mget\" | \"migration\" | \"ml\" | \"msearch\" | \"msearchTemplate\" | \"mtermvectors\" | \"nodes\" | \"openPointInTime\" | \"ping\" | \"putScript\" | \"rankEval\" | \"reindex\" | \"reindexRethrottle\" | \"renderSearchTemplate\" | \"rollup\" | \"scriptsPainlessExecute\" | \"scroll\" | \"searchMvt\" | \"searchShards\" | \"searchTemplate\" | \"searchableSnapshots\" | \"shutdown\" | \"slm\" | \"snapshot\" | \"sql\" | \"ssl\" | \"tasks\" | \"termsEnum\" | \"termvectors\" | \"textStructure\" | \"updateByQuery\" | \"updateByQueryRethrottle\" | \"watcher\" | \"xpack\">" ], "path": "packages/kbn-securitysolution-es-utils/src/delete_policy/index.ts", "deprecated": false, @@ -213,7 +213,7 @@ "id": "def-server.deletePolicy.$2", "type": "string", "tags": [], - "label": "policy", + "label": "name", "description": [], "signature": [ "string" @@ -236,7 +236,7 @@ "signature": [ "(esClient: Pick<", "KibanaClient", - ", \"monitoring\" | \"security\" | \"create\" | \"index\" | \"delete\" | \"get\" | \"update\" | \"closePointInTime\" | \"search\" | \"transform\" | \"eql\" | \"helpers\" | \"emit\" | \"on\" | \"once\" | \"off\" | \"asyncSearch\" | \"autoscaling\" | \"bulk\" | \"cat\" | \"ccr\" | \"clearScroll\" | \"cluster\" | \"count\" | \"danglingIndices\" | \"dataFrameTransformDeprecated\" | \"deleteByQuery\" | \"deleteByQueryRethrottle\" | \"deleteScript\" | \"enrich\" | \"exists\" | \"existsSource\" | \"explain\" | \"features\" | \"fieldCaps\" | \"fleet\" | \"getScript\" | \"getScriptContext\" | \"getScriptLanguages\" | \"getSource\" | \"graph\" | \"ilm\" | \"indices\" | \"info\" | \"ingest\" | \"license\" | \"logstash\" | \"mget\" | \"migration\" | \"ml\" | \"msearch\" | \"msearchTemplate\" | \"mtermvectors\" | \"nodes\" | \"openPointInTime\" | \"ping\" | \"putScript\" | \"rankEval\" | \"reindex\" | \"reindexRethrottle\" | \"renderSearchTemplate\" | \"rollup\" | \"scriptsPainlessExecute\" | \"scroll\" | \"searchShards\" | \"searchTemplate\" | \"searchableSnapshots\" | \"shutdown\" | \"slm\" | \"snapshot\" | \"sql\" | \"ssl\" | \"tasks\" | \"termsEnum\" | \"termvectors\" | \"textStructure\" | \"updateByQuery\" | \"updateByQueryRethrottle\" | \"watcher\" | \"xpack\">, name: string) => Promise" + ", \"monitoring\" | \"security\" | \"create\" | \"name\" | \"index\" | \"delete\" | \"get\" | \"update\" | \"closePointInTime\" | \"search\" | \"transform\" | \"eql\" | \"helpers\" | \"asyncSearch\" | \"autoscaling\" | \"bulk\" | \"cat\" | \"ccr\" | \"clearScroll\" | \"cluster\" | \"count\" | \"danglingIndices\" | \"deleteByQuery\" | \"deleteByQueryRethrottle\" | \"deleteScript\" | \"enrich\" | \"exists\" | \"existsSource\" | \"explain\" | \"features\" | \"fieldCaps\" | \"fleet\" | \"getScript\" | \"getScriptContext\" | \"getScriptLanguages\" | \"getSource\" | \"graph\" | \"ilm\" | \"indices\" | \"info\" | \"ingest\" | \"knnSearch\" | \"license\" | \"logstash\" | \"mget\" | \"migration\" | \"ml\" | \"msearch\" | \"msearchTemplate\" | \"mtermvectors\" | \"nodes\" | \"openPointInTime\" | \"ping\" | \"putScript\" | \"rankEval\" | \"reindex\" | \"reindexRethrottle\" | \"renderSearchTemplate\" | \"rollup\" | \"scriptsPainlessExecute\" | \"scroll\" | \"searchMvt\" | \"searchShards\" | \"searchTemplate\" | \"searchableSnapshots\" | \"shutdown\" | \"slm\" | \"snapshot\" | \"sql\" | \"ssl\" | \"tasks\" | \"termsEnum\" | \"termvectors\" | \"textStructure\" | \"updateByQuery\" | \"updateByQueryRethrottle\" | \"watcher\" | \"xpack\">, name: string) => Promise" ], "path": "packages/kbn-securitysolution-es-utils/src/delete_template/index.ts", "deprecated": false, @@ -251,7 +251,7 @@ "signature": [ "Pick<", "KibanaClient", - ", \"monitoring\" | \"security\" | \"create\" | \"index\" | \"delete\" | \"get\" | \"update\" | \"closePointInTime\" | \"search\" | \"transform\" | \"eql\" | \"helpers\" | \"emit\" | \"on\" | \"once\" | \"off\" | \"asyncSearch\" | \"autoscaling\" | \"bulk\" | \"cat\" | \"ccr\" | \"clearScroll\" | \"cluster\" | \"count\" | \"danglingIndices\" | \"dataFrameTransformDeprecated\" | \"deleteByQuery\" | \"deleteByQueryRethrottle\" | \"deleteScript\" | \"enrich\" | \"exists\" | \"existsSource\" | \"explain\" | \"features\" | \"fieldCaps\" | \"fleet\" | \"getScript\" | \"getScriptContext\" | \"getScriptLanguages\" | \"getSource\" | \"graph\" | \"ilm\" | \"indices\" | \"info\" | \"ingest\" | \"license\" | \"logstash\" | \"mget\" | \"migration\" | \"ml\" | \"msearch\" | \"msearchTemplate\" | \"mtermvectors\" | \"nodes\" | \"openPointInTime\" | \"ping\" | \"putScript\" | \"rankEval\" | \"reindex\" | \"reindexRethrottle\" | \"renderSearchTemplate\" | \"rollup\" | \"scriptsPainlessExecute\" | \"scroll\" | \"searchShards\" | \"searchTemplate\" | \"searchableSnapshots\" | \"shutdown\" | \"slm\" | \"snapshot\" | \"sql\" | \"ssl\" | \"tasks\" | \"termsEnum\" | \"termvectors\" | \"textStructure\" | \"updateByQuery\" | \"updateByQueryRethrottle\" | \"watcher\" | \"xpack\">" + ", \"monitoring\" | \"security\" | \"create\" | \"name\" | \"index\" | \"delete\" | \"get\" | \"update\" | \"closePointInTime\" | \"search\" | \"transform\" | \"eql\" | \"helpers\" | \"asyncSearch\" | \"autoscaling\" | \"bulk\" | \"cat\" | \"ccr\" | \"clearScroll\" | \"cluster\" | \"count\" | \"danglingIndices\" | \"deleteByQuery\" | \"deleteByQueryRethrottle\" | \"deleteScript\" | \"enrich\" | \"exists\" | \"existsSource\" | \"explain\" | \"features\" | \"fieldCaps\" | \"fleet\" | \"getScript\" | \"getScriptContext\" | \"getScriptLanguages\" | \"getSource\" | \"graph\" | \"ilm\" | \"indices\" | \"info\" | \"ingest\" | \"knnSearch\" | \"license\" | \"logstash\" | \"mget\" | \"migration\" | \"ml\" | \"msearch\" | \"msearchTemplate\" | \"mtermvectors\" | \"nodes\" | \"openPointInTime\" | \"ping\" | \"putScript\" | \"rankEval\" | \"reindex\" | \"reindexRethrottle\" | \"renderSearchTemplate\" | \"rollup\" | \"scriptsPainlessExecute\" | \"scroll\" | \"searchMvt\" | \"searchShards\" | \"searchTemplate\" | \"searchableSnapshots\" | \"shutdown\" | \"slm\" | \"snapshot\" | \"sql\" | \"ssl\" | \"tasks\" | \"termsEnum\" | \"termvectors\" | \"textStructure\" | \"updateByQuery\" | \"updateByQueryRethrottle\" | \"watcher\" | \"xpack\">" ], "path": "packages/kbn-securitysolution-es-utils/src/delete_template/index.ts", "deprecated": false, @@ -308,6 +308,61 @@ "returnComment": [], "initialIsOpen": false }, + { + "parentPluginId": "@kbn/securitysolution-es-utils", + "id": "def-server.getBootstrapIndexExists", + "type": "Function", + "tags": [], + "label": "getBootstrapIndexExists", + "description": [ + "\nThis function is similar to getIndexExists, but is limited to searching indices that match\nthe index pattern used as concrete backing indices (e.g. .siem-signals-default-000001).\nThis allows us to separate the indices that are actually .siem-signals indices from\nalerts as data indices that only share the .siem-signals alias.\n" + ], + "signature": [ + "(esClient: Pick<", + "KibanaClient", + ", \"monitoring\" | \"security\" | \"create\" | \"name\" | \"index\" | \"delete\" | \"get\" | \"update\" | \"closePointInTime\" | \"search\" | \"transform\" | \"eql\" | \"helpers\" | \"asyncSearch\" | \"autoscaling\" | \"bulk\" | \"cat\" | \"ccr\" | \"clearScroll\" | \"cluster\" | \"count\" | \"danglingIndices\" | \"deleteByQuery\" | \"deleteByQueryRethrottle\" | \"deleteScript\" | \"enrich\" | \"exists\" | \"existsSource\" | \"explain\" | \"features\" | \"fieldCaps\" | \"fleet\" | \"getScript\" | \"getScriptContext\" | \"getScriptLanguages\" | \"getSource\" | \"graph\" | \"ilm\" | \"indices\" | \"info\" | \"ingest\" | \"knnSearch\" | \"license\" | \"logstash\" | \"mget\" | \"migration\" | \"ml\" | \"msearch\" | \"msearchTemplate\" | \"mtermvectors\" | \"nodes\" | \"openPointInTime\" | \"ping\" | \"putScript\" | \"rankEval\" | \"reindex\" | \"reindexRethrottle\" | \"renderSearchTemplate\" | \"rollup\" | \"scriptsPainlessExecute\" | \"scroll\" | \"searchMvt\" | \"searchShards\" | \"searchTemplate\" | \"searchableSnapshots\" | \"shutdown\" | \"slm\" | \"snapshot\" | \"sql\" | \"ssl\" | \"tasks\" | \"termsEnum\" | \"termvectors\" | \"textStructure\" | \"updateByQuery\" | \"updateByQueryRethrottle\" | \"watcher\" | \"xpack\">, index: string) => Promise" + ], + "path": "packages/kbn-securitysolution-es-utils/src/get_bootstrap_index_exists/index.ts", + "deprecated": false, + "children": [ + { + "parentPluginId": "@kbn/securitysolution-es-utils", + "id": "def-server.getBootstrapIndexExists.$1", + "type": "Object", + "tags": [], + "label": "esClient", + "description": [ + "Elasticsearch client to use to make the request" + ], + "signature": [ + "Pick<", + "KibanaClient", + ", \"monitoring\" | \"security\" | \"create\" | \"name\" | \"index\" | \"delete\" | \"get\" | \"update\" | \"closePointInTime\" | \"search\" | \"transform\" | \"eql\" | \"helpers\" | \"asyncSearch\" | \"autoscaling\" | \"bulk\" | \"cat\" | \"ccr\" | \"clearScroll\" | \"cluster\" | \"count\" | \"danglingIndices\" | \"deleteByQuery\" | \"deleteByQueryRethrottle\" | \"deleteScript\" | \"enrich\" | \"exists\" | \"existsSource\" | \"explain\" | \"features\" | \"fieldCaps\" | \"fleet\" | \"getScript\" | \"getScriptContext\" | \"getScriptLanguages\" | \"getSource\" | \"graph\" | \"ilm\" | \"indices\" | \"info\" | \"ingest\" | \"knnSearch\" | \"license\" | \"logstash\" | \"mget\" | \"migration\" | \"ml\" | \"msearch\" | \"msearchTemplate\" | \"mtermvectors\" | \"nodes\" | \"openPointInTime\" | \"ping\" | \"putScript\" | \"rankEval\" | \"reindex\" | \"reindexRethrottle\" | \"renderSearchTemplate\" | \"rollup\" | \"scriptsPainlessExecute\" | \"scroll\" | \"searchMvt\" | \"searchShards\" | \"searchTemplate\" | \"searchableSnapshots\" | \"shutdown\" | \"slm\" | \"snapshot\" | \"sql\" | \"ssl\" | \"tasks\" | \"termsEnum\" | \"termvectors\" | \"textStructure\" | \"updateByQuery\" | \"updateByQueryRethrottle\" | \"watcher\" | \"xpack\">" + ], + "path": "packages/kbn-securitysolution-es-utils/src/get_bootstrap_index_exists/index.ts", + "deprecated": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/securitysolution-es-utils", + "id": "def-server.getBootstrapIndexExists.$2", + "type": "string", + "tags": [], + "label": "index", + "description": [ + "Index alias name to check for existence" + ], + "signature": [ + "string" + ], + "path": "packages/kbn-securitysolution-es-utils/src/get_bootstrap_index_exists/index.ts", + "deprecated": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, { "parentPluginId": "@kbn/securitysolution-es-utils", "id": "def-server.getIndexAliases", @@ -320,7 +375,7 @@ "signature": [ "({ esClient, alias, }: { esClient: Pick<", "KibanaClient", - ", \"monitoring\" | \"security\" | \"create\" | \"index\" | \"delete\" | \"get\" | \"update\" | \"closePointInTime\" | \"search\" | \"transform\" | \"eql\" | \"helpers\" | \"emit\" | \"on\" | \"once\" | \"off\" | \"asyncSearch\" | \"autoscaling\" | \"bulk\" | \"cat\" | \"ccr\" | \"clearScroll\" | \"cluster\" | \"count\" | \"danglingIndices\" | \"dataFrameTransformDeprecated\" | \"deleteByQuery\" | \"deleteByQueryRethrottle\" | \"deleteScript\" | \"enrich\" | \"exists\" | \"existsSource\" | \"explain\" | \"features\" | \"fieldCaps\" | \"fleet\" | \"getScript\" | \"getScriptContext\" | \"getScriptLanguages\" | \"getSource\" | \"graph\" | \"ilm\" | \"indices\" | \"info\" | \"ingest\" | \"license\" | \"logstash\" | \"mget\" | \"migration\" | \"ml\" | \"msearch\" | \"msearchTemplate\" | \"mtermvectors\" | \"nodes\" | \"openPointInTime\" | \"ping\" | \"putScript\" | \"rankEval\" | \"reindex\" | \"reindexRethrottle\" | \"renderSearchTemplate\" | \"rollup\" | \"scriptsPainlessExecute\" | \"scroll\" | \"searchShards\" | \"searchTemplate\" | \"searchableSnapshots\" | \"shutdown\" | \"slm\" | \"snapshot\" | \"sql\" | \"ssl\" | \"tasks\" | \"termsEnum\" | \"termvectors\" | \"textStructure\" | \"updateByQuery\" | \"updateByQueryRethrottle\" | \"watcher\" | \"xpack\">; alias: string; }) => Promise" + ", \"monitoring\" | \"security\" | \"create\" | \"name\" | \"index\" | \"delete\" | \"get\" | \"update\" | \"closePointInTime\" | \"search\" | \"transform\" | \"eql\" | \"helpers\" | \"asyncSearch\" | \"autoscaling\" | \"bulk\" | \"cat\" | \"ccr\" | \"clearScroll\" | \"cluster\" | \"count\" | \"danglingIndices\" | \"deleteByQuery\" | \"deleteByQueryRethrottle\" | \"deleteScript\" | \"enrich\" | \"exists\" | \"existsSource\" | \"explain\" | \"features\" | \"fieldCaps\" | \"fleet\" | \"getScript\" | \"getScriptContext\" | \"getScriptLanguages\" | \"getSource\" | \"graph\" | \"ilm\" | \"indices\" | \"info\" | \"ingest\" | \"knnSearch\" | \"license\" | \"logstash\" | \"mget\" | \"migration\" | \"ml\" | \"msearch\" | \"msearchTemplate\" | \"mtermvectors\" | \"nodes\" | \"openPointInTime\" | \"ping\" | \"putScript\" | \"rankEval\" | \"reindex\" | \"reindexRethrottle\" | \"renderSearchTemplate\" | \"rollup\" | \"scriptsPainlessExecute\" | \"scroll\" | \"searchMvt\" | \"searchShards\" | \"searchTemplate\" | \"searchableSnapshots\" | \"shutdown\" | \"slm\" | \"snapshot\" | \"sql\" | \"ssl\" | \"tasks\" | \"termsEnum\" | \"termvectors\" | \"textStructure\" | \"updateByQuery\" | \"updateByQueryRethrottle\" | \"watcher\" | \"xpack\">; alias: string; }) => Promise" ], "path": "packages/kbn-securitysolution-es-utils/src/get_index_aliases/index.ts", "deprecated": false, @@ -343,3746 +398,3748 @@ "label": "esClient", "description": [], "signature": [ - "{ monitoring: { bulk(params?: Record | undefined, options?: ", + "{ monitoring: { bulk: (params: ", + "MonitoringBulkRequest", + " | ", + "MonitoringBulkRequest", + ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", + " | undefined) => Promise<", + "TransportResult", "<", - "ApiResponse", - ", TContext>>; }; security: { authenticate(params?: ", + "MonitoringBulkResponse", + ", TContext>>; }; security: { authenticate: (params?: ", + "SecurityAuthenticateRequest", + " | ", "SecurityAuthenticateRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SecurityAuthenticateResponse", - ", TContext>>; changePassword(params?: ", + ", TContext>>; changePassword: (params?: ", + "SecurityChangePasswordRequest", + " | ", "SecurityChangePasswordRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SecurityChangePasswordResponse", - ", TContext>>; clearApiKeyCache(params?: ", + ", TContext>>; clearApiKeyCache: (params: ", "SecurityClearApiKeyCacheRequest", - " | undefined, options?: ", + " | ", + "SecurityClearApiKeyCacheRequest", + ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SecurityClearApiKeyCacheResponse", - ", TContext>>; clearCachedPrivileges(params: ", + ", TContext>>; clearCachedPrivileges: (params: ", + "SecurityClearCachedPrivilegesRequest", + " | ", "SecurityClearCachedPrivilegesRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SecurityClearCachedPrivilegesResponse", - ", TContext>>; clearCachedRealms(params: ", + ", TContext>>; clearCachedRealms: (params: ", + "SecurityClearCachedRealmsRequest", + " | ", "SecurityClearCachedRealmsRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SecurityClearCachedRealmsResponse", - ", TContext>>; clearCachedRoles(params: ", + ", TContext>>; clearCachedRoles: (params: ", + "SecurityClearCachedRolesRequest", + " | ", "SecurityClearCachedRolesRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SecurityClearCachedRolesResponse", - ", TContext>>; clearCachedServiceTokens(params: ", + ", TContext>>; clearCachedServiceTokens: (params: ", + "SecurityClearCachedServiceTokensRequest", + " | ", "SecurityClearCachedServiceTokensRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SecurityClearCachedServiceTokensResponse", - ", TContext>>; createApiKey(params?: ", + ", TContext>>; createApiKey: (params?: ", + "SecurityCreateApiKeyRequest", + " | ", "SecurityCreateApiKeyRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SecurityCreateApiKeyResponse", - ", TContext>>; createServiceToken(params: ", + ", TContext>>; createServiceToken: (params: ", + "SecurityCreateServiceTokenRequest", + " | ", "SecurityCreateServiceTokenRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SecurityCreateServiceTokenResponse", - ", TContext>>; deletePrivileges(params: ", + ", TContext>>; deletePrivileges: (params: ", + "SecurityDeletePrivilegesRequest", + " | ", "SecurityDeletePrivilegesRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SecurityDeletePrivilegesResponse", - ", TContext>>; deleteRole(params: ", + ", TContext>>; deleteRole: (params: ", + "SecurityDeleteRoleRequest", + " | ", "SecurityDeleteRoleRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SecurityDeleteRoleResponse", - ", TContext>>; deleteRoleMapping(params: ", + ", TContext>>; deleteRoleMapping: (params: ", + "SecurityDeleteRoleMappingRequest", + " | ", "SecurityDeleteRoleMappingRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SecurityDeleteRoleMappingResponse", - ", TContext>>; deleteServiceToken(params: ", + ", TContext>>; deleteServiceToken: (params: ", + "SecurityDeleteServiceTokenRequest", + " | ", "SecurityDeleteServiceTokenRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SecurityDeleteServiceTokenResponse", - ", TContext>>; deleteUser(params: ", + ", TContext>>; deleteUser: (params: ", + "SecurityDeleteUserRequest", + " | ", "SecurityDeleteUserRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SecurityDeleteUserResponse", - ", TContext>>; disableUser(params: ", + ", TContext>>; disableUser: (params: ", + "SecurityDisableUserRequest", + " | ", "SecurityDisableUserRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SecurityDisableUserResponse", - ", TContext>>; enableUser(params: ", + ", TContext>>; enableUser: (params: ", + "SecurityEnableUserRequest", + " | ", "SecurityEnableUserRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SecurityEnableUserResponse", - ", TContext>>; getApiKey(params?: ", + ", TContext>>; enrollKibana: (params?: Record | undefined, options?: ", + "TransportRequestOptions", + " | undefined) => Promise<", + "TransportResult", + ", unknown>>; enrollNode: (params?: Record | undefined, options?: ", + "TransportRequestOptions", + " | undefined) => Promise<", + "TransportResult", + ", unknown>>; getApiKey: (params?: ", + "SecurityGetApiKeyRequest", + " | ", "SecurityGetApiKeyRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SecurityGetApiKeyResponse", - ", TContext>>; getBuiltinPrivileges(params?: ", + ", TContext>>; getBuiltinPrivileges: (params?: ", + "SecurityGetBuiltinPrivilegesRequest", + " | ", "SecurityGetBuiltinPrivilegesRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SecurityGetBuiltinPrivilegesResponse", - ", TContext>>; getPrivileges(params?: ", + ", TContext>>; getPrivileges: (params?: ", + "SecurityGetPrivilegesRequest", + " | ", "SecurityGetPrivilegesRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SecurityGetPrivilegesResponse", - ", TContext>>; getRole(params?: ", + ", TContext>>; getRole: (params?: ", + "SecurityGetRoleRequest", + " | ", "SecurityGetRoleRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SecurityGetRoleResponse", - ", TContext>>; getRoleMapping(params?: ", + ", TContext>>; getRoleMapping: (params?: ", + "SecurityGetRoleMappingRequest", + " | ", "SecurityGetRoleMappingRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SecurityGetRoleMappingResponse", - ", TContext>>; getServiceAccounts(params?: ", + ", TContext>>; getServiceAccounts: (params?: ", + "SecurityGetServiceAccountsRequest", + " | ", "SecurityGetServiceAccountsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SecurityGetServiceAccountsResponse", - ", TContext>>; getServiceCredentials(params: ", + ", TContext>>; getServiceCredentials: (params: ", + "SecurityGetServiceCredentialsRequest", + " | ", "SecurityGetServiceCredentialsRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SecurityGetServiceCredentialsResponse", - ", TContext>>; getToken(params?: ", + ", TContext>>; getToken: (params?: ", + "SecurityGetTokenRequest", + " | ", "SecurityGetTokenRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SecurityGetTokenResponse", - ", TContext>>; getUser(params?: ", + ", TContext>>; getUser: (params?: ", + "SecurityGetUserRequest", + " | ", "SecurityGetUserRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SecurityGetUserResponse", - ", TContext>>; getUserPrivileges(params?: ", + ", TContext>>; getUserPrivileges: (params?: ", + "SecurityGetUserPrivilegesRequest", + " | ", "SecurityGetUserPrivilegesRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SecurityGetUserPrivilegesResponse", - ", TContext>>; grantApiKey(params?: ", + ", TContext>>; grantApiKey: (params?: ", + "SecurityGrantApiKeyRequest", + " | ", "SecurityGrantApiKeyRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SecurityGrantApiKeyResponse", - ", TContext>>; hasPrivileges(params?: ", + ", TContext>>; hasPrivileges: (params?: ", + "SecurityHasPrivilegesRequest", + " | ", "SecurityHasPrivilegesRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SecurityHasPrivilegesResponse", - ", TContext>>; invalidateApiKey(params?: ", + ", TContext>>; invalidateApiKey: (params?: ", + "SecurityInvalidateApiKeyRequest", + " | ", "SecurityInvalidateApiKeyRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SecurityInvalidateApiKeyResponse", - ", TContext>>; invalidateToken(params?: ", + ", TContext>>; invalidateToken: (params?: ", + "SecurityInvalidateTokenRequest", + " | ", "SecurityInvalidateTokenRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SecurityInvalidateTokenResponse", - ", TContext>>; putPrivileges(params?: ", + ", TContext>>; putPrivileges: (params?: ", + "SecurityPutPrivilegesRequest", + " | ", "SecurityPutPrivilegesRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SecurityPutPrivilegesResponse", - ", TContext>>; putRole(params: ", + ", TContext>>; putRole: (params: ", + "SecurityPutRoleRequest", + " | ", "SecurityPutRoleRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SecurityPutRoleResponse", - ", TContext>>; putRoleMapping(params: ", + ", TContext>>; putRoleMapping: (params: ", + "SecurityPutRoleMappingRequest", + " | ", "SecurityPutRoleMappingRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SecurityPutRoleMappingResponse", - ", TContext>>; putUser(params: ", + ", TContext>>; putUser: (params: ", + "SecurityPutUserRequest", + " | ", "SecurityPutUserRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SecurityPutUserResponse", - ", TContext>>; samlAuthenticate(params?: Record | undefined, options?: ", + ", TContext>>; queryApiKeys: (params?: Record | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", TContext>>; samlCompleteLogout(params?: Record | undefined, options?: ", + " | undefined) => Promise<", + "TransportResult", + ", unknown>>; samlAuthenticate: (params?: Record | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", TContext>>; samlInvalidate(params?: Record | undefined, options?: ", + " | undefined) => Promise<", + "TransportResult", + ", unknown>>; samlCompleteLogout: (params?: Record | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", TContext>>; samlLogout(params?: Record | undefined, options?: ", + " | undefined) => Promise<", + "TransportResult", + ", unknown>>; samlInvalidate: (params?: Record | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", TContext>>; samlPrepareAuthentication(params?: Record | undefined, options?: ", + " | undefined) => Promise<", + "TransportResult", + ", unknown>>; samlLogout: (params?: Record | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", TContext>>; samlServiceProviderMetadata(params?: Record | undefined, options?: ", + " | undefined) => Promise<", + "TransportResult", + ", unknown>>; samlPrepareAuthentication: (params?: Record | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", TContext>>; }; create: (params: ", + " | undefined) => Promise<", + "TransportResult", + ", unknown>>; samlServiceProviderMetadata: (params?: Record | undefined, options?: ", + "TransportRequestOptions", + " | undefined) => Promise<", + "TransportResult", + ", unknown>>; }; create: (params: ", + "CreateRequest", + " | ", "CreateRequest", ", options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "CreateResponse", - ", TContext>>; index: (params: ", + ", TContext>>; name: string | symbol; index: (params: ", + "IndexRequest", + " | ", "IndexRequest", ", options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndexResponse", ", TContext>>; delete: (params: ", "DeleteRequest", + " | ", + "DeleteRequest", ", options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "DeleteResponse", ", TContext>>; get: (params: ", "GetRequest", + " | ", + "GetRequest", ", options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "GetResponse", ", TContext>>; update: (params: ", "UpdateRequest", + " | ", + "UpdateRequest", ", options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "UpdateResponse", ", TContext>>; closePointInTime: (params?: ", "ClosePointInTimeRequest", + " | ", + "ClosePointInTimeRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "ClosePointInTimeResponse", ", TContext>>; search: (params?: ", "SearchRequest", + " | ", + "SearchRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SearchResponse", - ", TContext>>; transform: { deleteTransform(params: ", + ", TContext>>; transform: { deleteTransform: (params: ", + "TransformDeleteTransformRequest", + " | ", "TransformDeleteTransformRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "TransformDeleteTransformResponse", - ", TContext>>; getTransform(params?: ", + ", TContext>>; getTransform: (params?: ", + "TransformGetTransformRequest", + " | ", "TransformGetTransformRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "TransformGetTransformResponse", - ", TContext>>; getTransformStats(params: ", + ", TContext>>; getTransformStats: (params: ", + "TransformGetTransformStatsRequest", + " | ", "TransformGetTransformStatsRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "TransformGetTransformStatsResponse", - ", TContext>>; previewTransform(params?: ", + ", TContext>>; previewTransform: (params?: ", + "TransformPreviewTransformRequest", + " | ", "TransformPreviewTransformRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "TransformPreviewTransformResponse", - ", TContext>>; putTransform(params: ", + ", TContext>>; putTransform: (params: ", + "TransformPutTransformRequest", + " | ", "TransformPutTransformRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "TransformPutTransformResponse", - ", TContext>>; startTransform(params: ", + ", TContext>>; startTransform: (params: ", + "TransformStartTransformRequest", + " | ", "TransformStartTransformRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "TransformStartTransformResponse", - ", TContext>>; stopTransform(params: ", + ", TContext>>; stopTransform: (params: ", + "TransformStopTransformRequest", + " | ", "TransformStopTransformRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "TransformStopTransformResponse", - ", TContext>>; updateTransform(params?: ", + ", TContext>>; updateTransform: (params: ", "TransformUpdateTransformRequest", - " | undefined, options?: ", + " | ", + "TransformUpdateTransformRequest", + ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "TransformUpdateTransformResponse", - ", TContext>>; }; eql: { delete(params: ", + ", TContext>>; upgradeTransforms: (params?: Record | undefined, options?: ", + "TransportRequestOptions", + " | undefined) => Promise<", + "TransportResult", + ", unknown>>; }; eql: { delete: (params: ", + "EqlDeleteRequest", + " | ", "EqlDeleteRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "EqlDeleteResponse", - ", TContext>>; get(params: ", + ", TContext>>; get: (params: ", + "EqlGetRequest", + " | ", "EqlGetRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "EqlGetResponse", - ", TContext>>; getStatus(params: ", + ", TContext>>; getStatus: (params: ", + "EqlGetStatusRequest", + " | ", "EqlGetStatusRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "EqlGetStatusResponse", - ", TContext>>; search(params: ", + ", TContext>>; search: (params: ", + "EqlSearchRequest", + " | ", "EqlSearchRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "EqlSearchResponse", ", TContext>>; }; helpers: ", "default", - "; emit: (event: string | symbol, ...args: any[]) => boolean; on: { (event: \"request\", listener: (err: ", - "ApiError", - ", meta: ", - "RequestEvent", - ", unknown>) => void): ", - "KibanaClient", - "; (event: \"response\", listener: (err: ", - "ApiError", - ", meta: ", - "RequestEvent", - ", unknown>) => void): ", - "KibanaClient", - "; (event: \"sniff\", listener: (err: ", - "ApiError", - ", meta: ", - "RequestEvent", - ", unknown>) => void): ", - "KibanaClient", - "; (event: \"resurrect\", listener: (err: null, meta: ", - "ResurrectEvent", - ") => void): ", - "KibanaClient", - "; }; once: { (event: \"request\", listener: (err: ", - "ApiError", - ", meta: ", - "RequestEvent", - ", unknown>) => void): ", - "KibanaClient", - "; (event: \"response\", listener: (err: ", - "ApiError", - ", meta: ", - "RequestEvent", - ", unknown>) => void): ", - "KibanaClient", - "; (event: \"sniff\", listener: (err: ", - "ApiError", - ", meta: ", - "RequestEvent", - ", unknown>) => void): ", - "KibanaClient", - "; (event: \"resurrect\", listener: (err: null, meta: ", - "ResurrectEvent", - ") => void): ", - "KibanaClient", - "; }; off: (event: string | symbol, listener: (...args: any[]) => void) => ", - "KibanaClient", - "; asyncSearch: { delete(params: ", + "; asyncSearch: { delete: (params: ", + "AsyncSearchDeleteRequest", + " | ", "AsyncSearchDeleteRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "AsyncSearchDeleteResponse", - ", TContext>>; get(params: ", + ", TContext>>; get: (params: ", + "AsyncSearchGetRequest", + " | ", "AsyncSearchGetRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "AsyncSearchGetResponse", - ", TContext>>; status(params: ", + ", TContext>>; status: (params: ", + "AsyncSearchStatusRequest", + " | ", "AsyncSearchStatusRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "AsyncSearchStatusResponse", - ", TContext>>; submit(params?: ", + ", TContext>>; submit: (params?: ", + "AsyncSearchSubmitRequest", + " | ", "AsyncSearchSubmitRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "AsyncSearchSubmitResponse", - ", TContext>>; }; autoscaling: { deleteAutoscalingPolicy(params?: Record | undefined, options?: ", + ", TContext>>; }; autoscaling: { deleteAutoscalingPolicy: (params: ", + "AutoscalingDeleteAutoscalingPolicyRequest", + " | ", + "AutoscalingDeleteAutoscalingPolicyRequest", + ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", + " | undefined) => Promise<", + "TransportResult", "<", - "ApiResponse", - ", TContext>>; getAutoscalingCapacity(params?: Record | undefined, options?: ", + "AutoscalingDeleteAutoscalingPolicyResponse", + ", TContext>>; getAutoscalingCapacity: (params?: ", + "AutoscalingGetAutoscalingCapacityRequest", + " | ", + "AutoscalingGetAutoscalingCapacityRequest", + " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", + " | undefined) => Promise<", + "TransportResult", "<", - "ApiResponse", - ", TContext>>; getAutoscalingPolicy(params?: Record | undefined, options?: ", + "AutoscalingGetAutoscalingCapacityResponse", + ", TContext>>; getAutoscalingPolicy: (params: ", + "AutoscalingGetAutoscalingPolicyRequest", + " | ", + "AutoscalingGetAutoscalingPolicyRequest", + ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", + " | undefined) => Promise<", + "TransportResult", "<", - "ApiResponse", - ", TContext>>; putAutoscalingPolicy(params?: Record | undefined, options?: ", + "AutoscalingAutoscalingPolicy", + ", TContext>>; putAutoscalingPolicy: (params: ", + "AutoscalingPutAutoscalingPolicyRequest", + " | ", + "AutoscalingPutAutoscalingPolicyRequest", + ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", + " | undefined) => Promise<", + "TransportResult", "<", - "ApiResponse", - ", TContext>>; }; bulk: (params: ", + "AutoscalingPutAutoscalingPolicyResponse", + ", TContext>>; }; bulk: (params: ", + "BulkRequest", + " | ", "BulkRequest", ", options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "BulkResponse", - ", TContext>>; cat: { aliases(params?: ", + ", TContext>>; cat: { aliases: (params?: ", + "CatAliasesRequest", + " | ", "CatAliasesRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "CatAliasesResponse", - ", TContext>>; allocation(params?: ", + ", TContext>>; allocation: (params?: ", + "CatAllocationRequest", + " | ", "CatAllocationRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "CatAllocationResponse", - ", TContext>>; count(params?: ", + ", TContext>>; count: (params?: ", + "CatCountRequest", + " | ", "CatCountRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "CatCountResponse", - ", TContext>>; fielddata(params?: ", + ", TContext>>; fielddata: (params?: ", + "CatFielddataRequest", + " | ", "CatFielddataRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "CatFielddataResponse", - ", TContext>>; health(params?: ", + ", TContext>>; health: (params?: ", + "CatHealthRequest", + " | ", "CatHealthRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "CatHealthResponse", - ", TContext>>; help(params?: ", + ", TContext>>; help: (params?: ", + "CatHelpRequest", + " | ", "CatHelpRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "CatHelpResponse", - ", TContext>>; indices(params?: ", + ", TContext>>; indices: (params?: ", + "CatIndicesRequest", + " | ", "CatIndicesRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "CatIndicesResponse", - ", TContext>>; master(params?: ", + ", TContext>>; master: (params?: ", + "CatMasterRequest", + " | ", "CatMasterRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "CatMasterResponse", - ", TContext>>; mlDataFrameAnalytics(params?: ", - "CatDataFrameAnalyticsRequest", + ", TContext>>; mlDataFrameAnalytics: (params?: ", + "CatMlDataFrameAnalyticsRequest", + " | ", + "CatMlDataFrameAnalyticsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", + " | undefined) => Promise<", + "TransportResult", "<", - "ApiResponse", - "<", - "CatDataFrameAnalyticsResponse", - ", TContext>>; mlDatafeeds(params?: ", - "CatDatafeedsRequest", + "CatMlDataFrameAnalyticsResponse", + ", TContext>>; mlDatafeeds: (params?: ", + "CatMlDatafeedsRequest", + " | ", + "CatMlDatafeedsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", - "CatDatafeedsResponse", - ", TContext>>; mlJobs(params?: ", - "CatJobsRequest", + "CatMlDatafeedsResponse", + ", TContext>>; mlJobs: (params?: ", + "CatMlJobsRequest", + " | ", + "CatMlJobsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", + " | undefined) => Promise<", + "TransportResult", "<", - "ApiResponse", - "<", - "CatJobsResponse", - ", TContext>>; mlTrainedModels(params?: ", - "CatTrainedModelsRequest", + "CatMlJobsResponse", + ", TContext>>; mlTrainedModels: (params?: ", + "CatMlTrainedModelsRequest", + " | ", + "CatMlTrainedModelsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", - "CatTrainedModelsResponse", - ", TContext>>; nodeattrs(params?: ", - "CatNodeAttributesRequest", + "CatMlTrainedModelsResponse", + ", TContext>>; nodeattrs: (params?: ", + "CatNodeattrsRequest", + " | ", + "CatNodeattrsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", + " | undefined) => Promise<", + "TransportResult", "<", - "ApiResponse", - "<", - "CatNodeAttributesResponse", - ", TContext>>; nodes(params?: ", + "CatNodeattrsResponse", + ", TContext>>; nodes: (params?: ", + "CatNodesRequest", + " | ", "CatNodesRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "CatNodesResponse", - ", TContext>>; pendingTasks(params?: ", + ", TContext>>; pendingTasks: (params?: ", + "CatPendingTasksRequest", + " | ", "CatPendingTasksRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "CatPendingTasksResponse", - ", TContext>>; plugins(params?: ", + ", TContext>>; plugins: (params?: ", + "CatPluginsRequest", + " | ", "CatPluginsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "CatPluginsResponse", - ", TContext>>; recovery(params?: ", + ", TContext>>; recovery: (params?: ", + "CatRecoveryRequest", + " | ", "CatRecoveryRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "CatRecoveryResponse", - ", TContext>>; repositories(params?: ", + ", TContext>>; repositories: (params?: ", + "CatRepositoriesRequest", + " | ", "CatRepositoriesRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "CatRepositoriesResponse", - ", TContext>>; segments(params?: ", + ", TContext>>; segments: (params?: ", + "CatSegmentsRequest", + " | ", "CatSegmentsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "CatSegmentsResponse", - ", TContext>>; shards(params?: ", + ", TContext>>; shards: (params?: ", + "CatShardsRequest", + " | ", "CatShardsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "CatShardsResponse", - ", TContext>>; snapshots(params?: ", + ", TContext>>; snapshots: (params?: ", + "CatSnapshotsRequest", + " | ", "CatSnapshotsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "CatSnapshotsResponse", - ", TContext>>; tasks(params?: ", + ", TContext>>; tasks: (params?: ", + "CatTasksRequest", + " | ", "CatTasksRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "CatTasksResponse", - ", TContext>>; templates(params?: ", + ", TContext>>; templates: (params?: ", + "CatTemplatesRequest", + " | ", "CatTemplatesRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "CatTemplatesResponse", - ", TContext>>; threadPool(params?: ", + ", TContext>>; threadPool: (params?: ", + "CatThreadPoolRequest", + " | ", "CatThreadPoolRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "CatThreadPoolResponse", - ", TContext>>; transforms(params?: ", + ", TContext>>; transforms: (params?: ", + "CatTransformsRequest", + " | ", "CatTransformsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "CatTransformsResponse", - ", TContext>>; }; ccr: { deleteAutoFollowPattern(params: ", + ", TContext>>; }; ccr: { deleteAutoFollowPattern: (params: ", + "CcrDeleteAutoFollowPatternRequest", + " | ", "CcrDeleteAutoFollowPatternRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "CcrDeleteAutoFollowPatternResponse", - ", TContext>>; follow(params: ", - "CcrCreateFollowIndexRequest", + ", TContext>>; follow: (params: ", + "CcrFollowRequest", + " | ", + "CcrFollowRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", - "CcrCreateFollowIndexResponse", - ", TContext>>; followInfo(params: ", + "CcrFollowResponse", + ", TContext>>; followInfo: (params: ", + "CcrFollowInfoRequest", + " | ", "CcrFollowInfoRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "CcrFollowInfoResponse", - ", TContext>>; followStats(params: ", - "CcrFollowIndexStatsRequest", + ", TContext>>; followStats: (params: ", + "CcrFollowStatsRequest", + " | ", + "CcrFollowStatsRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", + " | undefined) => Promise<", + "TransportResult", "<", - "ApiResponse", - "<", - "CcrFollowIndexStatsResponse", - ", TContext>>; forgetFollower(params: ", - "CcrForgetFollowerIndexRequest", + "CcrFollowStatsResponse", + ", TContext>>; forgetFollower: (params: ", + "CcrForgetFollowerRequest", + " | ", + "CcrForgetFollowerRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", - "CcrForgetFollowerIndexResponse", - ", TContext>>; getAutoFollowPattern(params?: ", + "CcrForgetFollowerResponse", + ", TContext>>; getAutoFollowPattern: (params?: ", + "CcrGetAutoFollowPatternRequest", + " | ", "CcrGetAutoFollowPatternRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "CcrGetAutoFollowPatternResponse", - ", TContext>>; pauseAutoFollowPattern(params: ", + ", TContext>>; pauseAutoFollowPattern: (params: ", + "CcrPauseAutoFollowPatternRequest", + " | ", "CcrPauseAutoFollowPatternRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "CcrPauseAutoFollowPatternResponse", - ", TContext>>; pauseFollow(params: ", - "CcrPauseFollowIndexRequest", + ", TContext>>; pauseFollow: (params: ", + "CcrPauseFollowRequest", + " | ", + "CcrPauseFollowRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", + " | undefined) => Promise<", + "TransportResult", "<", - "ApiResponse", - "<", - "CcrPauseFollowIndexResponse", - ", TContext>>; putAutoFollowPattern(params: ", + "CcrPauseFollowResponse", + ", TContext>>; putAutoFollowPattern: (params: ", + "CcrPutAutoFollowPatternRequest", + " | ", "CcrPutAutoFollowPatternRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "CcrPutAutoFollowPatternResponse", - ", TContext>>; resumeAutoFollowPattern(params: ", + ", TContext>>; resumeAutoFollowPattern: (params: ", + "CcrResumeAutoFollowPatternRequest", + " | ", "CcrResumeAutoFollowPatternRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "CcrResumeAutoFollowPatternResponse", - ", TContext>>; resumeFollow(params: ", - "CcrResumeFollowIndexRequest", + ", TContext>>; resumeFollow: (params: ", + "CcrResumeFollowRequest", + " | ", + "CcrResumeFollowRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", - "CcrResumeFollowIndexResponse", - ", TContext>>; stats(params?: ", + "CcrResumeFollowResponse", + ", TContext>>; stats: (params?: ", + "CcrStatsRequest", + " | ", "CcrStatsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "CcrStatsResponse", - ", TContext>>; unfollow(params: ", - "CcrUnfollowIndexRequest", + ", TContext>>; unfollow: (params: ", + "CcrUnfollowRequest", + " | ", + "CcrUnfollowRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", + " | undefined) => Promise<", + "TransportResult", "<", - "ApiResponse", - "<", - "CcrUnfollowIndexResponse", + "CcrUnfollowResponse", ", TContext>>; }; clearScroll: (params?: ", "ClearScrollRequest", + " | ", + "ClearScrollRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "ClearScrollResponse", - ", TContext>>; cluster: { allocationExplain(params?: ", + ", TContext>>; cluster: { allocationExplain: (params?: ", + "ClusterAllocationExplainRequest", + " | ", "ClusterAllocationExplainRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "ClusterAllocationExplainResponse", - ", TContext>>; deleteComponentTemplate(params: ", + ", TContext>>; deleteComponentTemplate: (params: ", + "ClusterDeleteComponentTemplateRequest", + " | ", "ClusterDeleteComponentTemplateRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "ClusterDeleteComponentTemplateResponse", - ", TContext>>; deleteVotingConfigExclusions(params?: Record | undefined, options?: ", + ", TContext>>; deleteVotingConfigExclusions: (params?: ", + "ClusterDeleteVotingConfigExclusionsRequest", + " | ", + "ClusterDeleteVotingConfigExclusionsRequest", + " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", TContext>>; existsComponentTemplate(params?: Record | undefined, options?: ", + " | undefined) => Promise<", + "TransportResult", + ">; existsComponentTemplate: (params: ", + "ClusterExistsComponentTemplateRequest", + " | ", + "ClusterExistsComponentTemplateRequest", + ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", TContext>>; getComponentTemplate(params?: ", + " | undefined) => Promise<", + "TransportResult", + ">; getComponentTemplate: (params?: ", + "ClusterGetComponentTemplateRequest", + " | ", "ClusterGetComponentTemplateRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "ClusterGetComponentTemplateResponse", - ", TContext>>; getSettings(params?: ", + ", TContext>>; getSettings: (params?: ", + "ClusterGetSettingsRequest", + " | ", "ClusterGetSettingsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "ClusterGetSettingsResponse", - ", TContext>>; health(params?: ", + ", TContext>>; health: (params?: ", + "ClusterHealthRequest", + " | ", "ClusterHealthRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "ClusterHealthResponse", - ", TContext>>; pendingTasks(params?: ", + ", TContext>>; pendingTasks: (params?: ", + "ClusterPendingTasksRequest", + " | ", "ClusterPendingTasksRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "ClusterPendingTasksResponse", - ", TContext>>; postVotingConfigExclusions(params?: Record | undefined, options?: ", + ", TContext>>; postVotingConfigExclusions: (params?: ", + "ClusterPostVotingConfigExclusionsRequest", + " | ", + "ClusterPostVotingConfigExclusionsRequest", + " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", TContext>>; putComponentTemplate(params: ", + " | undefined) => Promise<", + "TransportResult", + ">; putComponentTemplate: (params: ", + "ClusterPutComponentTemplateRequest", + " | ", "ClusterPutComponentTemplateRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "ClusterPutComponentTemplateResponse", - ", TContext>>; putSettings(params?: ", + ", TContext>>; putSettings: (params?: ", + "ClusterPutSettingsRequest", + " | ", "ClusterPutSettingsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "ClusterPutSettingsResponse", - ", TContext>>; remoteInfo(params?: ", + ", TContext>>; remoteInfo: (params?: ", + "ClusterRemoteInfoRequest", + " | ", "ClusterRemoteInfoRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "ClusterRemoteInfoResponse", - ", TContext>>; reroute(params?: ", + ", TContext>>; reroute: (params?: ", + "ClusterRerouteRequest", + " | ", "ClusterRerouteRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "ClusterRerouteResponse", - ", TContext>>; state(params?: ", + ", TContext>>; state: (params?: ", + "ClusterStateRequest", + " | ", "ClusterStateRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - "<", - "ClusterStateResponse", - ", TContext>>; stats(params?: ", + " | undefined) => Promise<", + "TransportResult", + ">; stats: (params?: ", + "ClusterStatsRequest", + " | ", "ClusterStatsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "ClusterStatsResponse", ", TContext>>; }; count: (params?: ", "CountRequest", + " | ", + "CountRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "CountResponse", - ", TContext>>; danglingIndices: { deleteDanglingIndex(params?: Record | undefined, options?: ", - "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", TContext>>; importDanglingIndex(params?: Record | undefined, options?: ", - "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", TContext>>; listDanglingIndices(params?: Record | undefined, options?: ", - "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", TContext>>; }; dataFrameTransformDeprecated: { deleteTransform(params?: Record | undefined, options?: ", - "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", TContext>>; getTransform(params?: Record | undefined, options?: ", - "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", TContext>>; getTransformStats(params?: Record | undefined, options?: ", - "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", TContext>>; previewTransform(params?: Record | undefined, options?: ", - "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", TContext>>; putTransform(params?: Record | undefined, options?: ", - "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", TContext>>; startTransform(params?: Record | undefined, options?: ", + ", TContext>>; danglingIndices: { deleteDanglingIndex: (params: ", + "DanglingIndicesDeleteDanglingIndexRequest", + " | ", + "DanglingIndicesDeleteDanglingIndexRequest", + ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", + " | undefined) => Promise<", + "TransportResult", "<", - "ApiResponse", - ", TContext>>; stopTransform(params?: Record | undefined, options?: ", + "DanglingIndicesDeleteDanglingIndexResponse", + ", TContext>>; importDanglingIndex: (params: ", + "DanglingIndicesImportDanglingIndexRequest", + " | ", + "DanglingIndicesImportDanglingIndexRequest", + ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", + " | undefined) => Promise<", + "TransportResult", "<", - "ApiResponse", - ", TContext>>; updateTransform(params?: Record | undefined, options?: ", + "DanglingIndicesImportDanglingIndexResponse", + ", TContext>>; listDanglingIndices: (params?: ", + "DanglingIndicesListDanglingIndicesRequest", + " | ", + "DanglingIndicesListDanglingIndicesRequest", + " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", + " | undefined) => Promise<", + "TransportResult", "<", - "ApiResponse", - ", TContext>>; }; deleteByQuery: (params: ", + "DanglingIndicesListDanglingIndicesResponse", + ", TContext>>; }; deleteByQuery: (params: ", + "DeleteByQueryRequest", + " | ", "DeleteByQueryRequest", ", options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "DeleteByQueryResponse", ", TContext>>; deleteByQueryRethrottle: (params: ", "DeleteByQueryRethrottleRequest", + " | ", + "DeleteByQueryRethrottleRequest", ", options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "DeleteByQueryRethrottleResponse", ", TContext>>; deleteScript: (params: ", "DeleteScriptRequest", + " | ", + "DeleteScriptRequest", ", options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "DeleteScriptResponse", - ", TContext>>; enrich: { deletePolicy(params: ", + ", TContext>>; enrich: { deletePolicy: (params: ", + "EnrichDeletePolicyRequest", + " | ", "EnrichDeletePolicyRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "EnrichDeletePolicyResponse", - ", TContext>>; executePolicy(params: ", + ", TContext>>; executePolicy: (params: ", + "EnrichExecutePolicyRequest", + " | ", "EnrichExecutePolicyRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "EnrichExecutePolicyResponse", - ", TContext>>; getPolicy(params?: ", + ", TContext>>; getPolicy: (params?: ", + "EnrichGetPolicyRequest", + " | ", "EnrichGetPolicyRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "EnrichGetPolicyResponse", - ", TContext>>; putPolicy(params: ", + ", TContext>>; putPolicy: (params: ", + "EnrichPutPolicyRequest", + " | ", "EnrichPutPolicyRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "EnrichPutPolicyResponse", - ", TContext>>; stats(params?: ", + ", TContext>>; stats: (params?: ", + "EnrichStatsRequest", + " | ", "EnrichStatsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "EnrichStatsResponse", ", TContext>>; }; exists: (params: ", "ExistsRequest", + " | ", + "ExistsRequest", ", options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", ">; existsSource: (params: ", "ExistsSourceRequest", + " | ", + "ExistsSourceRequest", ", options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", ">; explain: (params: ", "ExplainRequest", + " | ", + "ExplainRequest", ", options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "ExplainResponse", - ", TContext>>; features: { getFeatures(params?: Record | undefined, options?: ", + ", TContext>>; features: { getFeatures: (params?: ", + "FeaturesGetFeaturesRequest", + " | ", + "FeaturesGetFeaturesRequest", + " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", + " | undefined) => Promise<", + "TransportResult", "<", - "ApiResponse", - ", TContext>>; resetFeatures(params?: Record | undefined, options?: ", + "FeaturesGetFeaturesResponse", + ", TContext>>; resetFeatures: (params?: ", + "FeaturesResetFeaturesRequest", + " | ", + "FeaturesResetFeaturesRequest", + " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", + " | undefined) => Promise<", + "TransportResult", "<", - "ApiResponse", - ", TContext>>; }; fieldCaps: (params?: ", + "FeaturesResetFeaturesResponse", + ", TContext>>; }; fieldCaps: (params?: ", + "FieldCapsRequest", + " | ", "FieldCapsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "FieldCapsResponse", - ", TContext>>; fleet: { globalCheckpoints(params?: Record | undefined, options?: ", + ", TContext>>; fleet: { globalCheckpoints: (params?: Record | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", TContext>>; }; getScript: (params: ", + " | undefined) => Promise<", + "TransportResult", + ", unknown>>; msearch: (params?: Record | undefined, options?: ", + "TransportRequestOptions", + " | undefined) => Promise<", + "TransportResult", + ", unknown>>; search: (params?: Record | undefined, options?: ", + "TransportRequestOptions", + " | undefined) => Promise<", + "TransportResult", + ", unknown>>; }; getScript: (params: ", + "GetScriptRequest", + " | ", "GetScriptRequest", ", options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "GetScriptResponse", ", TContext>>; getScriptContext: (params?: ", "GetScriptContextRequest", + " | ", + "GetScriptContextRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "GetScriptContextResponse", ", TContext>>; getScriptLanguages: (params?: ", "GetScriptLanguagesRequest", + " | ", + "GetScriptLanguagesRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "GetScriptLanguagesResponse", - ", TContext>>; getSource: (params?: ", + ", TContext>>; getSource: (params: ", "GetSourceRequest", - " | undefined, options?: ", + " | ", + "GetSourceRequest", + ", options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", - ">; graph: { explore(params: ", + " | undefined) => Promise<", + "TransportResult", + ">; graph: { explore: (params: ", + "GraphExploreRequest", + " | ", "GraphExploreRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "GraphExploreResponse", - ", TContext>>; }; ilm: { deleteLifecycle(params: ", + ", TContext>>; }; ilm: { deleteLifecycle: (params: ", + "IlmDeleteLifecycleRequest", + " | ", "IlmDeleteLifecycleRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IlmDeleteLifecycleResponse", - ", TContext>>; explainLifecycle(params: ", + ", TContext>>; explainLifecycle: (params: ", + "IlmExplainLifecycleRequest", + " | ", "IlmExplainLifecycleRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IlmExplainLifecycleResponse", - ", TContext>>; getLifecycle(params?: ", + ", TContext>>; getLifecycle: (params?: ", + "IlmGetLifecycleRequest", + " | ", "IlmGetLifecycleRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IlmGetLifecycleResponse", - ", TContext>>; getStatus(params?: ", + ", TContext>>; getStatus: (params?: ", + "IlmGetStatusRequest", + " | ", "IlmGetStatusRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IlmGetStatusResponse", - ", TContext>>; migrateToDataTiers(params?: Record | undefined, options?: ", + ", TContext>>; migrateToDataTiers: (params?: Record | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", TContext>>; moveToStep(params: ", + " | undefined) => Promise<", + "TransportResult", + ", unknown>>; moveToStep: (params: ", + "IlmMoveToStepRequest", + " | ", "IlmMoveToStepRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IlmMoveToStepResponse", - ", TContext>>; putLifecycle(params?: ", + ", TContext>>; putLifecycle: (params: ", "IlmPutLifecycleRequest", - " | undefined, options?: ", + " | ", + "IlmPutLifecycleRequest", + ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IlmPutLifecycleResponse", - ", TContext>>; removePolicy(params: ", + ", TContext>>; removePolicy: (params: ", + "IlmRemovePolicyRequest", + " | ", "IlmRemovePolicyRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IlmRemovePolicyResponse", - ", TContext>>; retry(params: ", + ", TContext>>; retry: (params: ", + "IlmRetryRequest", + " | ", "IlmRetryRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IlmRetryResponse", - ", TContext>>; start(params?: ", + ", TContext>>; start: (params?: ", + "IlmStartRequest", + " | ", "IlmStartRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IlmStartResponse", - ", TContext>>; stop(params?: ", + ", TContext>>; stop: (params?: ", + "IlmStopRequest", + " | ", "IlmStopRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IlmStopResponse", - ", TContext>>; }; indices: { addBlock(params: ", + ", TContext>>; }; indices: { addBlock: (params: ", + "IndicesAddBlockRequest", + " | ", "IndicesAddBlockRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesAddBlockResponse", - ", TContext>>; analyze(params?: ", + ", TContext>>; analyze: (params?: ", + "IndicesAnalyzeRequest", + " | ", "IndicesAnalyzeRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesAnalyzeResponse", - ", TContext>>; clearCache(params?: ", + ", TContext>>; clearCache: (params?: ", + "IndicesClearCacheRequest", + " | ", "IndicesClearCacheRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesClearCacheResponse", - ", TContext>>; clone(params: ", + ", TContext>>; clone: (params: ", + "IndicesCloneRequest", + " | ", "IndicesCloneRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesCloneResponse", - ", TContext>>; close(params: ", + ", TContext>>; close: (params: ", + "IndicesCloseRequest", + " | ", "IndicesCloseRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesCloseResponse", - ", TContext>>; create(params: ", + ", TContext>>; create: (params: ", + "IndicesCreateRequest", + " | ", "IndicesCreateRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesCreateResponse", - ", TContext>>; createDataStream(params: ", + ", TContext>>; createDataStream: (params: ", + "IndicesCreateDataStreamRequest", + " | ", "IndicesCreateDataStreamRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesCreateDataStreamResponse", - ", TContext>>; dataStreamsStats(params?: ", + ", TContext>>; dataStreamsStats: (params?: ", + "IndicesDataStreamsStatsRequest", + " | ", "IndicesDataStreamsStatsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesDataStreamsStatsResponse", - ", TContext>>; delete(params: ", + ", TContext>>; delete: (params: ", + "IndicesDeleteRequest", + " | ", "IndicesDeleteRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesDeleteResponse", - ", TContext>>; deleteAlias(params: ", + ", TContext>>; deleteAlias: (params: ", + "IndicesDeleteAliasRequest", + " | ", "IndicesDeleteAliasRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesDeleteAliasResponse", - ", TContext>>; deleteDataStream(params: ", + ", TContext>>; deleteDataStream: (params: ", + "IndicesDeleteDataStreamRequest", + " | ", "IndicesDeleteDataStreamRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesDeleteDataStreamResponse", - ", TContext>>; deleteIndexTemplate(params: ", + ", TContext>>; deleteIndexTemplate: (params: ", + "IndicesDeleteIndexTemplateRequest", + " | ", "IndicesDeleteIndexTemplateRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesDeleteIndexTemplateResponse", - ", TContext>>; deleteTemplate(params: ", + ", TContext>>; deleteTemplate: (params: ", + "IndicesDeleteTemplateRequest", + " | ", "IndicesDeleteTemplateRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesDeleteTemplateResponse", - ", TContext>>; diskUsage(params?: Record | undefined, options?: ", + ", TContext>>; diskUsage: (params: ", + "IndicesDiskUsageRequest", + " | ", + "IndicesDiskUsageRequest", + ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", TContext>>; exists(params: ", + " | undefined) => Promise<", + "TransportResult", + ">; exists: (params: ", + "IndicesExistsRequest", + " | ", "IndicesExistsRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ">; existsAlias(params: ", + " | undefined) => Promise<", + "TransportResult", + ">; existsAlias: (params: ", + "IndicesExistsAliasRequest", + " | ", "IndicesExistsAliasRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ">; existsIndexTemplate(params: ", + " | undefined) => Promise<", + "TransportResult", + ">; existsIndexTemplate: (params: ", + "IndicesExistsIndexTemplateRequest", + " | ", "IndicesExistsIndexTemplateRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ">; existsTemplate(params: ", + " | undefined) => Promise<", + "TransportResult", + ">; existsTemplate: (params: ", + "IndicesExistsTemplateRequest", + " | ", "IndicesExistsTemplateRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ">; existsType(params: ", + " | undefined) => Promise<", + "TransportResult", + ">; existsType: (params: ", + "IndicesExistsTypeRequest", + " | ", "IndicesExistsTypeRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ">; fieldUsageStats(params?: Record | undefined, options?: ", + " | undefined) => Promise<", + "TransportResult", + ">; fieldUsageStats: (params?: Record | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", TContext>>; flush(params?: ", + " | undefined) => Promise<", + "TransportResult", + ", unknown>>; flush: (params?: ", + "IndicesFlushRequest", + " | ", "IndicesFlushRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesFlushResponse", - ", TContext>>; flushSynced(params?: ", - "IndicesFlushSyncedRequest", - " | undefined, options?: ", - "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - "<", - "IndicesFlushSyncedResponse", - ", TContext>>; forcemerge(params?: ", + ", TContext>>; forcemerge: (params?: ", + "IndicesForcemergeRequest", + " | ", "IndicesForcemergeRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesForcemergeResponse", - ", TContext>>; freeze(params: ", + ", TContext>>; freeze: (params: ", + "IndicesFreezeRequest", + " | ", "IndicesFreezeRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesFreezeResponse", - ", TContext>>; get(params: ", + ", TContext>>; get: (params: ", + "IndicesGetRequest", + " | ", "IndicesGetRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesGetResponse", - ", TContext>>; getAlias(params?: ", + ", TContext>>; getAlias: (params?: ", + "IndicesGetAliasRequest", + " | ", "IndicesGetAliasRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesGetAliasResponse", - ", TContext>>; getDataStream(params?: ", + ", TContext>>; getDataStream: (params?: ", + "IndicesGetDataStreamRequest", + " | ", "IndicesGetDataStreamRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesGetDataStreamResponse", - ", TContext>>; getFieldMapping(params: ", + ", TContext>>; getFieldMapping: (params: ", + "IndicesGetFieldMappingRequest", + " | ", "IndicesGetFieldMappingRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesGetFieldMappingResponse", - ", TContext>>; getIndexTemplate(params?: ", + ", TContext>>; getIndexTemplate: (params?: ", + "IndicesGetIndexTemplateRequest", + " | ", "IndicesGetIndexTemplateRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesGetIndexTemplateResponse", - ", TContext>>; getMapping(params?: ", + ", TContext>>; getMapping: (params?: ", + "IndicesGetMappingRequest", + " | ", "IndicesGetMappingRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesGetMappingResponse", - ", TContext>>; getSettings(params?: ", + ", TContext>>; getSettings: (params?: ", + "IndicesGetSettingsRequest", + " | ", "IndicesGetSettingsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesGetSettingsResponse", - ", TContext>>; getTemplate(params?: ", + ", TContext>>; getTemplate: (params?: ", + "IndicesGetTemplateRequest", + " | ", "IndicesGetTemplateRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesGetTemplateResponse", - ", TContext>>; getUpgrade(params?: Record | undefined, options?: ", - "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", TContext>>; migrateToDataStream(params: ", + ", TContext>>; migrateToDataStream: (params: ", + "IndicesMigrateToDataStreamRequest", + " | ", "IndicesMigrateToDataStreamRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesMigrateToDataStreamResponse", - ", TContext>>; open(params: ", + ", TContext>>; modifyDataStream: (params?: Record | undefined, options?: ", + "TransportRequestOptions", + " | undefined) => Promise<", + "TransportResult", + ", unknown>>; open: (params: ", + "IndicesOpenRequest", + " | ", "IndicesOpenRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesOpenResponse", - ", TContext>>; promoteDataStream(params?: Record | undefined, options?: ", + ", TContext>>; promoteDataStream: (params: ", + "IndicesPromoteDataStreamRequest", + " | ", + "IndicesPromoteDataStreamRequest", + ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", TContext>>; putAlias(params: ", + " | undefined) => Promise<", + "TransportResult", + ">; putAlias: (params: ", + "IndicesPutAliasRequest", + " | ", "IndicesPutAliasRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesPutAliasResponse", - ", TContext>>; putIndexTemplate(params: ", + ", TContext>>; putIndexTemplate: (params: ", + "IndicesPutIndexTemplateRequest", + " | ", "IndicesPutIndexTemplateRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesPutIndexTemplateResponse", - ", TContext>>; putMapping(params?: ", + ", TContext>>; putMapping: (params: ", "IndicesPutMappingRequest", - " | undefined, options?: ", + " | ", + "IndicesPutMappingRequest", + ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesPutMappingResponse", - ", TContext>>; putSettings(params?: ", + ", TContext>>; putSettings: (params?: ", + "IndicesPutSettingsRequest", + " | ", "IndicesPutSettingsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesPutSettingsResponse", - ", TContext>>; putTemplate(params: ", + ", TContext>>; putTemplate: (params: ", + "IndicesPutTemplateRequest", + " | ", "IndicesPutTemplateRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesPutTemplateResponse", - ", TContext>>; recovery(params?: ", + ", TContext>>; recovery: (params?: ", + "IndicesRecoveryRequest", + " | ", "IndicesRecoveryRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesRecoveryResponse", - ", TContext>>; refresh(params?: ", + ", TContext>>; refresh: (params?: ", + "IndicesRefreshRequest", + " | ", "IndicesRefreshRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesRefreshResponse", - ", TContext>>; reloadSearchAnalyzers(params: ", + ", TContext>>; reloadSearchAnalyzers: (params: ", + "IndicesReloadSearchAnalyzersRequest", + " | ", "IndicesReloadSearchAnalyzersRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesReloadSearchAnalyzersResponse", - ", TContext>>; resolveIndex(params: ", + ", TContext>>; resolveIndex: (params: ", + "IndicesResolveIndexRequest", + " | ", "IndicesResolveIndexRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesResolveIndexResponse", - ", TContext>>; rollover(params: ", + ", TContext>>; rollover: (params: ", + "IndicesRolloverRequest", + " | ", "IndicesRolloverRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesRolloverResponse", - ", TContext>>; segments(params?: ", + ", TContext>>; segments: (params?: ", + "IndicesSegmentsRequest", + " | ", "IndicesSegmentsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesSegmentsResponse", - ", TContext>>; shardStores(params?: ", + ", TContext>>; shardStores: (params?: ", + "IndicesShardStoresRequest", + " | ", "IndicesShardStoresRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesShardStoresResponse", - ", TContext>>; shrink(params: ", + ", TContext>>; shrink: (params: ", + "IndicesShrinkRequest", + " | ", "IndicesShrinkRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesShrinkResponse", - ", TContext>>; simulateIndexTemplate(params?: ", + ", TContext>>; simulateIndexTemplate: (params: ", "IndicesSimulateIndexTemplateRequest", - " | undefined, options?: ", + " | ", + "IndicesSimulateIndexTemplateRequest", + ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesSimulateIndexTemplateResponse", - ", TContext>>; simulateTemplate(params?: Record | undefined, options?: ", + ", TContext>>; simulateTemplate: (params?: ", + "IndicesSimulateTemplateRequest", + " | ", + "IndicesSimulateTemplateRequest", + " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", + " | undefined) => Promise<", + "TransportResult", "<", - "ApiResponse", - ", TContext>>; split(params: ", + "IndicesSimulateTemplateResponse", + ", TContext>>; split: (params: ", + "IndicesSplitRequest", + " | ", "IndicesSplitRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesSplitResponse", - ", TContext>>; stats(params?: ", + ", TContext>>; stats: (params?: ", + "IndicesStatsRequest", + " | ", "IndicesStatsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesStatsResponse", - ", TContext>>; unfreeze(params: ", + ", TContext>>; unfreeze: (params: ", + "IndicesUnfreezeRequest", + " | ", "IndicesUnfreezeRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesUnfreezeResponse", - ", TContext>>; updateAliases(params?: ", + ", TContext>>; updateAliases: (params?: ", + "IndicesUpdateAliasesRequest", + " | ", "IndicesUpdateAliasesRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesUpdateAliasesResponse", - ", TContext>>; upgrade(params?: Record | undefined, options?: ", - "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", TContext>>; validateQuery(params?: ", + ", TContext>>; validateQuery: (params?: ", + "IndicesValidateQueryRequest", + " | ", "IndicesValidateQueryRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesValidateQueryResponse", ", TContext>>; }; info: (params?: ", "InfoRequest", + " | ", + "InfoRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "InfoResponse", - ", TContext>>; ingest: { deletePipeline(params: ", + ", TContext>>; ingest: { deletePipeline: (params: ", + "IngestDeletePipelineRequest", + " | ", "IngestDeletePipelineRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IngestDeletePipelineResponse", - ", TContext>>; geoIpStats(params?: ", + ", TContext>>; geoIpStats: (params?: ", + "IngestGeoIpStatsRequest", + " | ", "IngestGeoIpStatsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IngestGeoIpStatsResponse", - ", TContext>>; getPipeline(params?: ", + ", TContext>>; getPipeline: (params?: ", + "IngestGetPipelineRequest", + " | ", "IngestGetPipelineRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IngestGetPipelineResponse", - ", TContext>>; processorGrok(params?: ", + ", TContext>>; processorGrok: (params?: ", + "IngestProcessorGrokRequest", + " | ", "IngestProcessorGrokRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IngestProcessorGrokResponse", - ", TContext>>; putPipeline(params: ", + ", TContext>>; putPipeline: (params: ", + "IngestPutPipelineRequest", + " | ", "IngestPutPipelineRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IngestPutPipelineResponse", - ", TContext>>; simulate(params?: ", - "IngestSimulatePipelineRequest", + ", TContext>>; simulate: (params?: ", + "IngestSimulateRequest", + " | ", + "IngestSimulateRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", - "IngestSimulatePipelineResponse", - ", TContext>>; }; license: { delete(params?: ", + "IngestSimulateResponse", + ", TContext>>; }; knnSearch: (params?: Record | undefined, options?: ", + "TransportRequestOptions", + " | undefined) => Promise<", + "TransportResult", + ", unknown>>; license: { delete: (params?: ", + "LicenseDeleteRequest", + " | ", "LicenseDeleteRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "LicenseDeleteResponse", - ", TContext>>; get(params?: ", + ", TContext>>; get: (params?: ", + "LicenseGetRequest", + " | ", "LicenseGetRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "LicenseGetResponse", - ", TContext>>; getBasicStatus(params?: ", + ", TContext>>; getBasicStatus: (params?: ", + "LicenseGetBasicStatusRequest", + " | ", "LicenseGetBasicStatusRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "LicenseGetBasicStatusResponse", - ", TContext>>; getTrialStatus(params?: ", + ", TContext>>; getTrialStatus: (params?: ", + "LicenseGetTrialStatusRequest", + " | ", "LicenseGetTrialStatusRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "LicenseGetTrialStatusResponse", - ", TContext>>; post(params?: ", + ", TContext>>; post: (params?: ", + "LicensePostRequest", + " | ", "LicensePostRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "LicensePostResponse", - ", TContext>>; postStartBasic(params?: ", + ", TContext>>; postStartBasic: (params?: ", + "LicensePostStartBasicRequest", + " | ", "LicensePostStartBasicRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "LicensePostStartBasicResponse", - ", TContext>>; postStartTrial(params?: ", + ", TContext>>; postStartTrial: (params?: ", + "LicensePostStartTrialRequest", + " | ", "LicensePostStartTrialRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "LicensePostStartTrialResponse", - ", TContext>>; }; logstash: { deletePipeline(params?: Record | undefined, options?: ", + ", TContext>>; }; logstash: { deletePipeline: (params: ", + "LogstashDeletePipelineRequest", + " | ", + "LogstashDeletePipelineRequest", + ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", TContext>>; getPipeline(params?: Record | undefined, options?: ", + " | undefined) => Promise<", + "TransportResult", + ">; getPipeline: (params: ", + "LogstashGetPipelineRequest", + " | ", + "LogstashGetPipelineRequest", + ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", TContext>>; putPipeline(params?: Record | undefined, options?: ", + " | undefined) => Promise<", + "TransportResult", + ", TContext>>; putPipeline: (params: ", + "LogstashPutPipelineRequest", + " | ", + "LogstashPutPipelineRequest", + ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", TContext>>; }; mget: (params?: ", + " | undefined) => Promise<", + "TransportResult", + ">; }; mget: (params?: ", + "MgetRequest", + " | ", "MgetRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MgetResponse", - ", TContext>>; migration: { deprecations(params?: ", - "MigrationDeprecationInfoRequest", + ", TContext>>; migration: { deprecations: (params?: ", + "MigrationDeprecationsRequest", + " | ", + "MigrationDeprecationsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", + " | undefined) => Promise<", + "TransportResult", "<", - "ApiResponse", - "<", - "MigrationDeprecationInfoResponse", - ", TContext>>; }; ml: { closeJob(params: ", + "MigrationDeprecationsResponse", + ", TContext>>; getFeatureUpgradeStatus: (params?: Record | undefined, options?: ", + "TransportRequestOptions", + " | undefined) => Promise<", + "TransportResult", + ", unknown>>; postFeatureUpgrade: (params?: Record | undefined, options?: ", + "TransportRequestOptions", + " | undefined) => Promise<", + "TransportResult", + ", unknown>>; }; ml: { closeJob: (params: ", + "MlCloseJobRequest", + " | ", "MlCloseJobRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlCloseJobResponse", - ", TContext>>; deleteCalendar(params: ", + ", TContext>>; deleteCalendar: (params: ", + "MlDeleteCalendarRequest", + " | ", "MlDeleteCalendarRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlDeleteCalendarResponse", - ", TContext>>; deleteCalendarEvent(params: ", + ", TContext>>; deleteCalendarEvent: (params: ", + "MlDeleteCalendarEventRequest", + " | ", "MlDeleteCalendarEventRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlDeleteCalendarEventResponse", - ", TContext>>; deleteCalendarJob(params: ", + ", TContext>>; deleteCalendarJob: (params: ", + "MlDeleteCalendarJobRequest", + " | ", "MlDeleteCalendarJobRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlDeleteCalendarJobResponse", - ", TContext>>; deleteDataFrameAnalytics(params: ", + ", TContext>>; deleteDataFrameAnalytics: (params: ", + "MlDeleteDataFrameAnalyticsRequest", + " | ", "MlDeleteDataFrameAnalyticsRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlDeleteDataFrameAnalyticsResponse", - ", TContext>>; deleteDatafeed(params: ", + ", TContext>>; deleteDatafeed: (params: ", + "MlDeleteDatafeedRequest", + " | ", "MlDeleteDatafeedRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlDeleteDatafeedResponse", - ", TContext>>; deleteExpiredData(params?: ", + ", TContext>>; deleteExpiredData: (params?: ", + "MlDeleteExpiredDataRequest", + " | ", "MlDeleteExpiredDataRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlDeleteExpiredDataResponse", - ", TContext>>; deleteFilter(params: ", + ", TContext>>; deleteFilter: (params: ", + "MlDeleteFilterRequest", + " | ", "MlDeleteFilterRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlDeleteFilterResponse", - ", TContext>>; deleteForecast(params: ", + ", TContext>>; deleteForecast: (params: ", + "MlDeleteForecastRequest", + " | ", "MlDeleteForecastRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlDeleteForecastResponse", - ", TContext>>; deleteJob(params: ", + ", TContext>>; deleteJob: (params: ", + "MlDeleteJobRequest", + " | ", "MlDeleteJobRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlDeleteJobResponse", - ", TContext>>; deleteModelSnapshot(params: ", + ", TContext>>; deleteModelSnapshot: (params: ", + "MlDeleteModelSnapshotRequest", + " | ", "MlDeleteModelSnapshotRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlDeleteModelSnapshotResponse", - ", TContext>>; deleteTrainedModel(params: ", + ", TContext>>; deleteTrainedModel: (params: ", + "MlDeleteTrainedModelRequest", + " | ", "MlDeleteTrainedModelRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlDeleteTrainedModelResponse", - ", TContext>>; deleteTrainedModelAlias(params: ", + ", TContext>>; deleteTrainedModelAlias: (params: ", + "MlDeleteTrainedModelAliasRequest", + " | ", "MlDeleteTrainedModelAliasRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlDeleteTrainedModelAliasResponse", - ", TContext>>; estimateModelMemory(params?: ", + ", TContext>>; estimateModelMemory: (params?: ", + "MlEstimateModelMemoryRequest", + " | ", "MlEstimateModelMemoryRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlEstimateModelMemoryResponse", - ", TContext>>; evaluateDataFrame(params?: ", + ", TContext>>; evaluateDataFrame: (params?: ", + "MlEvaluateDataFrameRequest", + " | ", "MlEvaluateDataFrameRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlEvaluateDataFrameResponse", - ", TContext>>; explainDataFrameAnalytics(params?: ", + ", TContext>>; explainDataFrameAnalytics: (params?: ", "MlExplainDataFrameAnalyticsRequest", - " | undefined, options?: ", - "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - "<", - "MlExplainDataFrameAnalyticsResponse", - ", TContext>>; findFileStructure(params?: Record | undefined, options?: ", + " | ", + "MlExplainDataFrameAnalyticsRequest", + " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", + " | undefined) => Promise<", + "TransportResult", "<", - "ApiResponse", - ", TContext>>; flushJob(params: ", + "MlExplainDataFrameAnalyticsResponse", + ", TContext>>; flushJob: (params: ", + "MlFlushJobRequest", + " | ", "MlFlushJobRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlFlushJobResponse", - ", TContext>>; forecast(params: ", - "MlForecastJobRequest", + ", TContext>>; forecast: (params: ", + "MlForecastRequest", + " | ", + "MlForecastRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", + " | undefined) => Promise<", + "TransportResult", "<", - "ApiResponse", - "<", - "MlForecastJobResponse", - ", TContext>>; getBuckets(params: ", + "MlForecastResponse", + ", TContext>>; getBuckets: (params: ", + "MlGetBucketsRequest", + " | ", "MlGetBucketsRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlGetBucketsResponse", - ", TContext>>; getCalendarEvents(params: ", + ", TContext>>; getCalendarEvents: (params: ", + "MlGetCalendarEventsRequest", + " | ", "MlGetCalendarEventsRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlGetCalendarEventsResponse", - ", TContext>>; getCalendars(params?: ", + ", TContext>>; getCalendars: (params?: ", + "MlGetCalendarsRequest", + " | ", "MlGetCalendarsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlGetCalendarsResponse", - ", TContext>>; getCategories(params: ", + ", TContext>>; getCategories: (params: ", + "MlGetCategoriesRequest", + " | ", "MlGetCategoriesRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlGetCategoriesResponse", - ", TContext>>; getDataFrameAnalytics(params?: ", + ", TContext>>; getDataFrameAnalytics: (params?: ", + "MlGetDataFrameAnalyticsRequest", + " | ", "MlGetDataFrameAnalyticsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlGetDataFrameAnalyticsResponse", - ", TContext>>; getDataFrameAnalyticsStats(params?: ", + ", TContext>>; getDataFrameAnalyticsStats: (params?: ", + "MlGetDataFrameAnalyticsStatsRequest", + " | ", "MlGetDataFrameAnalyticsStatsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlGetDataFrameAnalyticsStatsResponse", - ", TContext>>; getDatafeedStats(params?: ", + ", TContext>>; getDatafeedStats: (params?: ", + "MlGetDatafeedStatsRequest", + " | ", "MlGetDatafeedStatsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlGetDatafeedStatsResponse", - ", TContext>>; getDatafeeds(params?: ", + ", TContext>>; getDatafeeds: (params?: ", + "MlGetDatafeedsRequest", + " | ", "MlGetDatafeedsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlGetDatafeedsResponse", - ", TContext>>; getFilters(params?: ", + ", TContext>>; getFilters: (params?: ", + "MlGetFiltersRequest", + " | ", "MlGetFiltersRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlGetFiltersResponse", - ", TContext>>; getInfluencers(params: ", + ", TContext>>; getInfluencers: (params: ", + "MlGetInfluencersRequest", + " | ", "MlGetInfluencersRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlGetInfluencersResponse", - ", TContext>>; getJobStats(params?: ", + ", TContext>>; getJobStats: (params?: ", + "MlGetJobStatsRequest", + " | ", "MlGetJobStatsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlGetJobStatsResponse", - ", TContext>>; getJobs(params?: ", + ", TContext>>; getJobs: (params?: ", + "MlGetJobsRequest", + " | ", "MlGetJobsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlGetJobsResponse", - ", TContext>>; getModelSnapshots(params: ", + ", TContext>>; getModelSnapshots: (params: ", + "MlGetModelSnapshotsRequest", + " | ", "MlGetModelSnapshotsRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlGetModelSnapshotsResponse", - ", TContext>>; getOverallBuckets(params: ", + ", TContext>>; getOverallBuckets: (params: ", + "MlGetOverallBucketsRequest", + " | ", "MlGetOverallBucketsRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlGetOverallBucketsResponse", - ", TContext>>; getRecords(params: ", - "MlGetAnomalyRecordsRequest", + ", TContext>>; getRecords: (params: ", + "MlGetRecordsRequest", + " | ", + "MlGetRecordsRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", - "MlGetAnomalyRecordsResponse", - ", TContext>>; getTrainedModels(params?: ", + "MlGetRecordsResponse", + ", TContext>>; getTrainedModelDeploymentStats: (params?: Record | undefined, options?: ", + "TransportRequestOptions", + " | undefined) => Promise<", + "TransportResult", + ", unknown>>; getTrainedModels: (params?: ", + "MlGetTrainedModelsRequest", + " | ", "MlGetTrainedModelsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlGetTrainedModelsResponse", - ", TContext>>; getTrainedModelsStats(params?: ", + ", TContext>>; getTrainedModelsStats: (params?: ", + "MlGetTrainedModelsStatsRequest", + " | ", "MlGetTrainedModelsStatsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlGetTrainedModelsStatsResponse", - ", TContext>>; info(params?: ", + ", TContext>>; inferTrainedModelDeployment: (params?: Record | undefined, options?: ", + "TransportRequestOptions", + " | undefined) => Promise<", + "TransportResult", + ", unknown>>; info: (params?: ", + "MlInfoRequest", + " | ", "MlInfoRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlInfoResponse", - ", TContext>>; openJob(params: ", + ", TContext>>; openJob: (params: ", + "MlOpenJobRequest", + " | ", "MlOpenJobRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlOpenJobResponse", - ", TContext>>; postCalendarEvents(params?: ", + ", TContext>>; postCalendarEvents: (params: ", "MlPostCalendarEventsRequest", - " | undefined, options?: ", + " | ", + "MlPostCalendarEventsRequest", + ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlPostCalendarEventsResponse", - ", TContext>>; postData(params: ", - "MlPostJobDataRequest", - ", options?: ", + ", TContext>>; postData: (params: ", + "MlPostDataRequest", + " | ", + "MlPostDataRequest", + ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", - "MlPostJobDataResponse", - ", TContext>>; previewDataFrameAnalytics(params?: ", + "MlPostDataResponse", + ", TContext>>; previewDataFrameAnalytics: (params?: ", + "MlPreviewDataFrameAnalyticsRequest", + " | ", "MlPreviewDataFrameAnalyticsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlPreviewDataFrameAnalyticsResponse", - ", TContext>>; previewDatafeed(params?: ", + ", TContext>>; previewDatafeed: (params?: ", + "MlPreviewDatafeedRequest", + " | ", "MlPreviewDatafeedRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlPreviewDatafeedResponse", - ", TContext>>; putCalendar(params: ", + ", TContext>>; putCalendar: (params: ", + "MlPutCalendarRequest", + " | ", "MlPutCalendarRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlPutCalendarResponse", - ", TContext>>; putCalendarJob(params: ", + ", TContext>>; putCalendarJob: (params: ", + "MlPutCalendarJobRequest", + " | ", "MlPutCalendarJobRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlPutCalendarJobResponse", - ", TContext>>; putDataFrameAnalytics(params: ", + ", TContext>>; putDataFrameAnalytics: (params: ", + "MlPutDataFrameAnalyticsRequest", + " | ", "MlPutDataFrameAnalyticsRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlPutDataFrameAnalyticsResponse", - ", TContext>>; putDatafeed(params: ", + ", TContext>>; putDatafeed: (params: ", + "MlPutDatafeedRequest", + " | ", "MlPutDatafeedRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlPutDatafeedResponse", - ", TContext>>; putFilter(params: ", + ", TContext>>; putFilter: (params: ", + "MlPutFilterRequest", + " | ", "MlPutFilterRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlPutFilterResponse", - ", TContext>>; putJob(params: ", + ", TContext>>; putJob: (params: ", + "MlPutJobRequest", + " | ", "MlPutJobRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlPutJobResponse", - ", TContext>>; putTrainedModel(params?: Record | undefined, options?: ", + ", TContext>>; putTrainedModel: (params: ", + "MlPutTrainedModelRequest", + " | ", + "MlPutTrainedModelRequest", + ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", + " | undefined) => Promise<", + "TransportResult", "<", - "ApiResponse", - ", TContext>>; putTrainedModelAlias(params: ", + "MlTrainedModelConfig", + ", TContext>>; putTrainedModelAlias: (params: ", + "MlPutTrainedModelAliasRequest", + " | ", "MlPutTrainedModelAliasRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlPutTrainedModelAliasResponse", - ", TContext>>; resetJob(params: ", + ", TContext>>; putTrainedModelDefinitionPart: (params?: Record | undefined, options?: ", + "TransportRequestOptions", + " | undefined) => Promise<", + "TransportResult", + ", unknown>>; putTrainedModelVocabulary: (params?: Record | undefined, options?: ", + "TransportRequestOptions", + " | undefined) => Promise<", + "TransportResult", + ", unknown>>; resetJob: (params: ", + "MlResetJobRequest", + " | ", "MlResetJobRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlResetJobResponse", - ", TContext>>; revertModelSnapshot(params: ", + ", TContext>>; revertModelSnapshot: (params: ", + "MlRevertModelSnapshotRequest", + " | ", "MlRevertModelSnapshotRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlRevertModelSnapshotResponse", - ", TContext>>; setUpgradeMode(params?: ", + ", TContext>>; setUpgradeMode: (params?: ", + "MlSetUpgradeModeRequest", + " | ", "MlSetUpgradeModeRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlSetUpgradeModeResponse", - ", TContext>>; startDataFrameAnalytics(params: ", + ", TContext>>; startDataFrameAnalytics: (params: ", + "MlStartDataFrameAnalyticsRequest", + " | ", "MlStartDataFrameAnalyticsRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlStartDataFrameAnalyticsResponse", - ", TContext>>; startDatafeed(params: ", + ", TContext>>; startDatafeed: (params: ", + "MlStartDatafeedRequest", + " | ", "MlStartDatafeedRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlStartDatafeedResponse", - ", TContext>>; stopDataFrameAnalytics(params: ", + ", TContext>>; startTrainedModelDeployment: (params?: Record | undefined, options?: ", + "TransportRequestOptions", + " | undefined) => Promise<", + "TransportResult", + ", unknown>>; stopDataFrameAnalytics: (params: ", + "MlStopDataFrameAnalyticsRequest", + " | ", "MlStopDataFrameAnalyticsRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlStopDataFrameAnalyticsResponse", - ", TContext>>; stopDatafeed(params: ", + ", TContext>>; stopDatafeed: (params: ", + "MlStopDatafeedRequest", + " | ", "MlStopDatafeedRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlStopDatafeedResponse", - ", TContext>>; updateDataFrameAnalytics(params: ", + ", TContext>>; stopTrainedModelDeployment: (params?: Record | undefined, options?: ", + "TransportRequestOptions", + " | undefined) => Promise<", + "TransportResult", + ", unknown>>; updateDataFrameAnalytics: (params: ", + "MlUpdateDataFrameAnalyticsRequest", + " | ", "MlUpdateDataFrameAnalyticsRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlUpdateDataFrameAnalyticsResponse", - ", TContext>>; updateDatafeed(params?: Record | undefined, options?: ", + ", TContext>>; updateDatafeed: (params?: Record | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", TContext>>; updateFilter(params: ", + " | undefined) => Promise<", + "TransportResult", + ", unknown>>; updateFilter: (params: ", + "MlUpdateFilterRequest", + " | ", "MlUpdateFilterRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlUpdateFilterResponse", - ", TContext>>; updateJob(params?: Record | undefined, options?: ", + ", TContext>>; updateJob: (params: ", + "MlUpdateJobRequest", + " | ", + "MlUpdateJobRequest", + ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", + " | undefined) => Promise<", + "TransportResult", "<", - "ApiResponse", - ", TContext>>; updateModelSnapshot(params: ", + "MlUpdateJobResponse", + ", TContext>>; updateModelSnapshot: (params: ", + "MlUpdateModelSnapshotRequest", + " | ", "MlUpdateModelSnapshotRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlUpdateModelSnapshotResponse", - ", TContext>>; upgradeJobSnapshot(params: ", + ", TContext>>; upgradeJobSnapshot: (params: ", + "MlUpgradeJobSnapshotRequest", + " | ", "MlUpgradeJobSnapshotRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlUpgradeJobSnapshotResponse", - ", TContext>>; validate(params?: ", - "MlValidateJobRequest", + ", TContext>>; validate: (params?: ", + "MlValidateRequest", + " | ", + "MlValidateRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", - "MlValidateJobResponse", - ", TContext>>; validateDetector(params?: ", + "MlValidateResponse", + ", TContext>>; validateDetector: (params?: ", + "MlValidateDetectorRequest", + " | ", "MlValidateDetectorRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlValidateDetectorResponse", ", TContext>>; }; msearch: (params?: ", "MsearchRequest", + " | ", + "MsearchRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MsearchResponse", ", TContext>>; msearchTemplate: (params?: ", "MsearchTemplateRequest", + " | ", + "MsearchTemplateRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MsearchTemplateResponse", ", TContext>>; mtermvectors: (params?: ", "MtermvectorsRequest", + " | ", + "MtermvectorsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MtermvectorsResponse", - ", TContext>>; nodes: { clearMeteringArchive(params?: Record | undefined, options?: ", + ", TContext>>; nodes: { clearRepositoriesMeteringArchive: (params?: Record | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", TContext>>; getMeteringInfo(params?: Record | undefined, options?: ", + " | undefined) => Promise<", + "TransportResult", + ", unknown>>; getRepositoriesMeteringInfo: (params?: Record | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", TContext>>; hotThreads(params?: ", + " | undefined) => Promise<", + "TransportResult", + ", unknown>>; hotThreads: (params?: ", + "NodesHotThreadsRequest", + " | ", "NodesHotThreadsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "NodesHotThreadsResponse", - ", TContext>>; info(params?: ", + ", TContext>>; info: (params?: ", + "NodesInfoRequest", + " | ", "NodesInfoRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "NodesInfoResponse", - ", TContext>>; reloadSecureSettings(params?: ", + ", TContext>>; reloadSecureSettings: (params?: ", + "NodesReloadSecureSettingsRequest", + " | ", "NodesReloadSecureSettingsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "NodesReloadSecureSettingsResponse", - ", TContext>>; stats(params?: ", + ", TContext>>; stats: (params?: ", + "NodesStatsRequest", + " | ", "NodesStatsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "NodesStatsResponse", - ", TContext>>; usage(params?: ", + ", TContext>>; usage: (params?: ", + "NodesUsageRequest", + " | ", "NodesUsageRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "NodesUsageResponse", ", TContext>>; }; openPointInTime: (params: ", "OpenPointInTimeRequest", + " | ", + "OpenPointInTimeRequest", ", options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "OpenPointInTimeResponse", ", TContext>>; ping: (params?: ", "PingRequest", + " | ", + "PingRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", ">; putScript: (params: ", "PutScriptRequest", + " | ", + "PutScriptRequest", ", options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "PutScriptResponse", ", TContext>>; rankEval: (params: ", "RankEvalRequest", + " | ", + "RankEvalRequest", ", options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "RankEvalResponse", ", TContext>>; reindex: (params?: ", "ReindexRequest", + " | ", + "ReindexRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "ReindexResponse", ", TContext>>; reindexRethrottle: (params: ", "ReindexRethrottleRequest", + " | ", + "ReindexRethrottleRequest", ", options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "ReindexRethrottleResponse", ", TContext>>; renderSearchTemplate: (params?: ", "RenderSearchTemplateRequest", + " | ", + "RenderSearchTemplateRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "RenderSearchTemplateResponse", - ", TContext>>; rollup: { deleteJob(params: ", - "RollupDeleteRollupJobRequest", + ", TContext>>; rollup: { deleteJob: (params: ", + "RollupDeleteJobRequest", + " | ", + "RollupDeleteJobRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", + " | undefined) => Promise<", + "TransportResult", "<", - "ApiResponse", - "<", - "RollupDeleteRollupJobResponse", - ", TContext>>; getJobs(params?: ", - "RollupGetRollupJobRequest", + "RollupDeleteJobResponse", + ", TContext>>; getJobs: (params?: ", + "RollupGetJobsRequest", + " | ", + "RollupGetJobsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", - "RollupGetRollupJobResponse", - ", TContext>>; getRollupCaps(params?: ", - "RollupGetRollupCapabilitiesRequest", + "RollupGetJobsResponse", + ", TContext>>; getRollupCaps: (params?: ", + "RollupGetRollupCapsRequest", + " | ", + "RollupGetRollupCapsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", + " | undefined) => Promise<", + "TransportResult", "<", - "ApiResponse", - "<", - "RollupGetRollupCapabilitiesResponse", - ", TContext>>; getRollupIndexCaps(params: ", - "RollupGetRollupIndexCapabilitiesRequest", + "RollupGetRollupCapsResponse", + ", TContext>>; getRollupIndexCaps: (params: ", + "RollupGetRollupIndexCapsRequest", + " | ", + "RollupGetRollupIndexCapsRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", - "RollupGetRollupIndexCapabilitiesResponse", - ", TContext>>; putJob(params: ", - "RollupCreateRollupJobRequest", + "RollupGetRollupIndexCapsResponse", + ", TContext>>; putJob: (params: ", + "RollupPutJobRequest", + " | ", + "RollupPutJobRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", + " | undefined) => Promise<", + "TransportResult", "<", - "ApiResponse", - "<", - "RollupCreateRollupJobResponse", - ", TContext>>; rollup(params?: Record | undefined, options?: ", + "RollupPutJobResponse", + ", TContext>>; rollup: (params: ", + "RollupRollupRequest", + " | ", + "RollupRollupRequest", + ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", TContext>>; rollupSearch(params: ", + " | undefined) => Promise<", + "TransportResult", + ">; rollupSearch: (params: ", + "RollupRollupSearchRequest", + " | ", "RollupRollupSearchRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "RollupRollupSearchResponse", - ", TContext>>; startJob(params: ", - "RollupStartRollupJobRequest", + ", TContext>>; startJob: (params: ", + "RollupStartJobRequest", + " | ", + "RollupStartJobRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", - "RollupStartRollupJobResponse", - ", TContext>>; stopJob(params: ", - "RollupStopRollupJobRequest", + "RollupStartJobResponse", + ", TContext>>; stopJob: (params: ", + "RollupStopJobRequest", + " | ", + "RollupStopJobRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", + " | undefined) => Promise<", + "TransportResult", "<", - "ApiResponse", - "<", - "RollupStopRollupJobResponse", + "RollupStopJobResponse", ", TContext>>; }; scriptsPainlessExecute: (params?: ", "ScriptsPainlessExecuteRequest", + " | ", + "ScriptsPainlessExecuteRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "ScriptsPainlessExecuteResponse", ", TContext>>; scroll: (params?: ", "ScrollRequest", + " | ", + "ScrollRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "ScrollResponse", - ", TContext>>; searchShards: (params?: ", + ", TContext>>; searchMvt: (params: ", + "SearchMvtRequest", + " | ", + "SearchMvtRequest", + ", options?: ", + "TransportRequestOptions", + " | undefined) => Promise<", + "TransportResult", + ">; searchShards: (params?: ", + "SearchShardsRequest", + " | ", "SearchShardsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SearchShardsResponse", ", TContext>>; searchTemplate: (params?: ", "SearchTemplateRequest", + " | ", + "SearchTemplateRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SearchTemplateResponse", - ", TContext>>; searchableSnapshots: { cacheStats(params?: Record | undefined, options?: ", + ", TContext>>; searchableSnapshots: { cacheStats: (params?: Record | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", TContext>>; clearCache(params?: Record | undefined, options?: ", + " | undefined) => Promise<", + "TransportResult", + ", unknown>>; clearCache: (params?: ", + "SearchableSnapshotsClearCacheRequest", + " | ", + "SearchableSnapshotsClearCacheRequest", + " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", TContext>>; mount(params: ", + " | undefined) => Promise<", + "TransportResult", + ">; mount: (params: ", + "SearchableSnapshotsMountRequest", + " | ", "SearchableSnapshotsMountRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SearchableSnapshotsMountResponse", - ", TContext>>; repositoryStats(params?: Record | undefined, options?: ", - "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", TContext>>; stats(params?: Record | undefined, options?: ", + ", TContext>>; stats: (params?: ", + "SearchableSnapshotsStatsRequest", + " | ", + "SearchableSnapshotsStatsRequest", + " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", + " | undefined) => Promise<", + "TransportResult", "<", - "ApiResponse", - ", TContext>>; }; shutdown: { deleteNode(params?: Record | undefined, options?: ", + "SearchableSnapshotsStatsResponse", + ", TContext>>; }; shutdown: { deleteNode: (params: ", + "ShutdownDeleteNodeRequest", + " | ", + "ShutdownDeleteNodeRequest", + ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", + " | undefined) => Promise<", + "TransportResult", "<", - "ApiResponse", - ", TContext>>; getNode(params?: Record | undefined, options?: ", + "ShutdownDeleteNodeResponse", + ", TContext>>; getNode: (params?: ", + "ShutdownGetNodeRequest", + " | ", + "ShutdownGetNodeRequest", + " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", + " | undefined) => Promise<", + "TransportResult", "<", - "ApiResponse", - ", TContext>>; putNode(params?: Record | undefined, options?: ", + "ShutdownGetNodeResponse", + ", TContext>>; putNode: (params: ", + "ShutdownPutNodeRequest", + " | ", + "ShutdownPutNodeRequest", + ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", + " | undefined) => Promise<", + "TransportResult", "<", - "ApiResponse", - ", TContext>>; }; slm: { deleteLifecycle(params: ", + "ShutdownPutNodeResponse", + ", TContext>>; }; slm: { deleteLifecycle: (params: ", + "SlmDeleteLifecycleRequest", + " | ", "SlmDeleteLifecycleRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SlmDeleteLifecycleResponse", - ", TContext>>; executeLifecycle(params: ", + ", TContext>>; executeLifecycle: (params: ", + "SlmExecuteLifecycleRequest", + " | ", "SlmExecuteLifecycleRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SlmExecuteLifecycleResponse", - ", TContext>>; executeRetention(params?: ", + ", TContext>>; executeRetention: (params?: ", + "SlmExecuteRetentionRequest", + " | ", "SlmExecuteRetentionRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SlmExecuteRetentionResponse", - ", TContext>>; getLifecycle(params?: ", + ", TContext>>; getLifecycle: (params?: ", + "SlmGetLifecycleRequest", + " | ", "SlmGetLifecycleRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SlmGetLifecycleResponse", - ", TContext>>; getStats(params?: ", + ", TContext>>; getStats: (params?: ", + "SlmGetStatsRequest", + " | ", "SlmGetStatsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SlmGetStatsResponse", - ", TContext>>; getStatus(params?: ", + ", TContext>>; getStatus: (params?: ", + "SlmGetStatusRequest", + " | ", "SlmGetStatusRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SlmGetStatusResponse", - ", TContext>>; putLifecycle(params: ", + ", TContext>>; putLifecycle: (params: ", + "SlmPutLifecycleRequest", + " | ", "SlmPutLifecycleRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SlmPutLifecycleResponse", - ", TContext>>; start(params?: ", + ", TContext>>; start: (params?: ", + "SlmStartRequest", + " | ", "SlmStartRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SlmStartResponse", - ", TContext>>; stop(params?: ", + ", TContext>>; stop: (params?: ", + "SlmStopRequest", + " | ", "SlmStopRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SlmStopResponse", - ", TContext>>; }; snapshot: { cleanupRepository(params: ", + ", TContext>>; }; snapshot: { cleanupRepository: (params: ", + "SnapshotCleanupRepositoryRequest", + " | ", "SnapshotCleanupRepositoryRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SnapshotCleanupRepositoryResponse", - ", TContext>>; clone(params: ", + ", TContext>>; clone: (params: ", + "SnapshotCloneRequest", + " | ", "SnapshotCloneRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SnapshotCloneResponse", - ", TContext>>; create(params: ", + ", TContext>>; create: (params: ", + "SnapshotCreateRequest", + " | ", "SnapshotCreateRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SnapshotCreateResponse", - ", TContext>>; createRepository(params: ", + ", TContext>>; createRepository: (params: ", + "SnapshotCreateRepositoryRequest", + " | ", "SnapshotCreateRepositoryRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SnapshotCreateRepositoryResponse", - ", TContext>>; delete(params: ", + ", TContext>>; delete: (params: ", + "SnapshotDeleteRequest", + " | ", "SnapshotDeleteRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SnapshotDeleteResponse", - ", TContext>>; deleteRepository(params: ", + ", TContext>>; deleteRepository: (params: ", + "SnapshotDeleteRepositoryRequest", + " | ", "SnapshotDeleteRepositoryRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SnapshotDeleteRepositoryResponse", - ", TContext>>; get(params: ", + ", TContext>>; get: (params: ", + "SnapshotGetRequest", + " | ", "SnapshotGetRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SnapshotGetResponse", - ", TContext>>; getRepository(params?: ", + ", TContext>>; getRepository: (params?: ", + "SnapshotGetRepositoryRequest", + " | ", "SnapshotGetRepositoryRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SnapshotGetRepositoryResponse", - ", TContext>>; repositoryAnalyze(params?: Record | undefined, options?: ", + ", TContext>>; repositoryAnalyze: (params?: Record | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", TContext>>; restore(params: ", + " | undefined) => Promise<", + "TransportResult", + ", unknown>>; restore: (params: ", + "SnapshotRestoreRequest", + " | ", "SnapshotRestoreRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SnapshotRestoreResponse", - ", TContext>>; status(params?: ", + ", TContext>>; status: (params?: ", + "SnapshotStatusRequest", + " | ", "SnapshotStatusRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SnapshotStatusResponse", - ", TContext>>; verifyRepository(params: ", + ", TContext>>; verifyRepository: (params: ", + "SnapshotVerifyRepositoryRequest", + " | ", "SnapshotVerifyRepositoryRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SnapshotVerifyRepositoryResponse", - ", TContext>>; }; sql: { clearCursor(params?: ", + ", TContext>>; }; sql: { clearCursor: (params?: ", + "SqlClearCursorRequest", + " | ", "SqlClearCursorRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SqlClearCursorResponse", - ", TContext>>; deleteAsync(params?: Record | undefined, options?: ", + ", TContext>>; deleteAsync: (params?: Record | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", TContext>>; getAsync(params?: Record | undefined, options?: ", + " | undefined) => Promise<", + "TransportResult", + ", unknown>>; getAsync: (params?: Record | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", TContext>>; getAsyncStatus(params?: Record | undefined, options?: ", + " | undefined) => Promise<", + "TransportResult", + ", unknown>>; getAsyncStatus: (params?: Record | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", TContext>>; query(params?: ", + " | undefined) => Promise<", + "TransportResult", + ", unknown>>; query: (params?: ", + "SqlQueryRequest", + " | ", "SqlQueryRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SqlQueryResponse", - ", TContext>>; translate(params?: ", + ", TContext>>; translate: (params?: ", + "SqlTranslateRequest", + " | ", "SqlTranslateRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SqlTranslateResponse", - ", TContext>>; }; ssl: { certificates(params?: ", - "SslGetCertificatesRequest", + ", TContext>>; }; ssl: { certificates: (params?: ", + "SslCertificatesRequest", + " | ", + "SslCertificatesRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", - "SslGetCertificatesResponse", - ", TContext>>; }; tasks: { cancel(params?: ", - "TaskCancelRequest", + "SslCertificatesResponse", + ", TContext>>; }; tasks: { cancel: (params?: ", + "TasksCancelRequest", + " | ", + "TasksCancelRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", + " | undefined) => Promise<", + "TransportResult", "<", - "ApiResponse", - "<", - "TaskCancelResponse", - ", TContext>>; get(params: ", - "TaskGetRequest", + "TasksCancelResponse", + ", TContext>>; get: (params: ", + "TasksGetRequest", + " | ", + "TasksGetRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", - "TaskGetResponse", - ", TContext>>; list(params?: ", - "TaskListRequest", + "TasksGetResponse", + ", TContext>>; list: (params?: ", + "TasksListRequest", + " | ", + "TasksListRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", + " | undefined) => Promise<", + "TransportResult", "<", - "ApiResponse", - "<", - "TaskListResponse", + "TasksListResponse", ", TContext>>; }; termsEnum: (params: ", "TermsEnumRequest", + " | ", + "TermsEnumRequest", ", options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "TermsEnumResponse", ", TContext>>; termvectors: (params: ", "TermvectorsRequest", + " | ", + "TermvectorsRequest", ", options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "TermvectorsResponse", - ", TContext>>; textStructure: { findStructure(params: ", + ", TContext>>; textStructure: { findStructure: (params: ", + "TextStructureFindStructureRequest", + " | ", "TextStructureFindStructureRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "TextStructureFindStructureResponse", ", TContext>>; }; updateByQuery: (params: ", "UpdateByQueryRequest", + " | ", + "UpdateByQueryRequest", ", options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "UpdateByQueryResponse", ", TContext>>; updateByQueryRethrottle: (params: ", "UpdateByQueryRethrottleRequest", + " | ", + "UpdateByQueryRethrottleRequest", ", options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "UpdateByQueryRethrottleResponse", - ", TContext>>; watcher: { ackWatch(params: ", + ", TContext>>; watcher: { ackWatch: (params: ", + "WatcherAckWatchRequest", + " | ", "WatcherAckWatchRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "WatcherAckWatchResponse", - ", TContext>>; activateWatch(params: ", + ", TContext>>; activateWatch: (params: ", + "WatcherActivateWatchRequest", + " | ", "WatcherActivateWatchRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "WatcherActivateWatchResponse", - ", TContext>>; deactivateWatch(params: ", + ", TContext>>; deactivateWatch: (params: ", + "WatcherDeactivateWatchRequest", + " | ", "WatcherDeactivateWatchRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "WatcherDeactivateWatchResponse", - ", TContext>>; deleteWatch(params: ", + ", TContext>>; deleteWatch: (params: ", + "WatcherDeleteWatchRequest", + " | ", "WatcherDeleteWatchRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "WatcherDeleteWatchResponse", - ", TContext>>; executeWatch(params?: ", + ", TContext>>; executeWatch: (params?: ", + "WatcherExecuteWatchRequest", + " | ", "WatcherExecuteWatchRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "WatcherExecuteWatchResponse", - ", TContext>>; getWatch(params: ", + ", TContext>>; getWatch: (params: ", + "WatcherGetWatchRequest", + " | ", "WatcherGetWatchRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "WatcherGetWatchResponse", - ", TContext>>; putWatch(params: ", + ", TContext>>; putWatch: (params: ", + "WatcherPutWatchRequest", + " | ", "WatcherPutWatchRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "WatcherPutWatchResponse", - ", TContext>>; queryWatches(params?: Record | undefined, options?: ", + ", TContext>>; queryWatches: (params?: ", + "WatcherQueryWatchesRequest", + " | ", + "WatcherQueryWatchesRequest", + " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", + " | undefined) => Promise<", + "TransportResult", "<", - "ApiResponse", - ", TContext>>; start(params?: ", + "WatcherQueryWatchesResponse", + ", TContext>>; start: (params?: ", + "WatcherStartRequest", + " | ", "WatcherStartRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "WatcherStartResponse", - ", TContext>>; stats(params?: ", + ", TContext>>; stats: (params?: ", + "WatcherStatsRequest", + " | ", "WatcherStatsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "WatcherStatsResponse", - ", TContext>>; stop(params?: ", + ", TContext>>; stop: (params?: ", + "WatcherStopRequest", + " | ", "WatcherStopRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "WatcherStopResponse", - ", TContext>>; }; xpack: { info(params?: ", + ", TContext>>; }; xpack: { info: (params?: ", + "XpackInfoRequest", + " | ", "XpackInfoRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "XpackInfoResponse", - ", TContext>>; usage(params?: ", + ", TContext>>; usage: (params?: ", + "XpackUsageRequest", + " | ", "XpackUsageRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "XpackUsageResponse", ", TContext>>; }; }" @@ -4120,7 +4177,7 @@ "signature": [ "({ esClient, index, }: { esClient: Pick<", "KibanaClient", - ", \"monitoring\" | \"security\" | \"create\" | \"index\" | \"delete\" | \"get\" | \"update\" | \"closePointInTime\" | \"search\" | \"transform\" | \"eql\" | \"helpers\" | \"emit\" | \"on\" | \"once\" | \"off\" | \"asyncSearch\" | \"autoscaling\" | \"bulk\" | \"cat\" | \"ccr\" | \"clearScroll\" | \"cluster\" | \"count\" | \"danglingIndices\" | \"dataFrameTransformDeprecated\" | \"deleteByQuery\" | \"deleteByQueryRethrottle\" | \"deleteScript\" | \"enrich\" | \"exists\" | \"existsSource\" | \"explain\" | \"features\" | \"fieldCaps\" | \"fleet\" | \"getScript\" | \"getScriptContext\" | \"getScriptLanguages\" | \"getSource\" | \"graph\" | \"ilm\" | \"indices\" | \"info\" | \"ingest\" | \"license\" | \"logstash\" | \"mget\" | \"migration\" | \"ml\" | \"msearch\" | \"msearchTemplate\" | \"mtermvectors\" | \"nodes\" | \"openPointInTime\" | \"ping\" | \"putScript\" | \"rankEval\" | \"reindex\" | \"reindexRethrottle\" | \"renderSearchTemplate\" | \"rollup\" | \"scriptsPainlessExecute\" | \"scroll\" | \"searchShards\" | \"searchTemplate\" | \"searchableSnapshots\" | \"shutdown\" | \"slm\" | \"snapshot\" | \"sql\" | \"ssl\" | \"tasks\" | \"termsEnum\" | \"termvectors\" | \"textStructure\" | \"updateByQuery\" | \"updateByQueryRethrottle\" | \"watcher\" | \"xpack\">; index: string; }) => Promise" + ", \"monitoring\" | \"security\" | \"create\" | \"name\" | \"index\" | \"delete\" | \"get\" | \"update\" | \"closePointInTime\" | \"search\" | \"transform\" | \"eql\" | \"helpers\" | \"asyncSearch\" | \"autoscaling\" | \"bulk\" | \"cat\" | \"ccr\" | \"clearScroll\" | \"cluster\" | \"count\" | \"danglingIndices\" | \"deleteByQuery\" | \"deleteByQueryRethrottle\" | \"deleteScript\" | \"enrich\" | \"exists\" | \"existsSource\" | \"explain\" | \"features\" | \"fieldCaps\" | \"fleet\" | \"getScript\" | \"getScriptContext\" | \"getScriptLanguages\" | \"getSource\" | \"graph\" | \"ilm\" | \"indices\" | \"info\" | \"ingest\" | \"knnSearch\" | \"license\" | \"logstash\" | \"mget\" | \"migration\" | \"ml\" | \"msearch\" | \"msearchTemplate\" | \"mtermvectors\" | \"nodes\" | \"openPointInTime\" | \"ping\" | \"putScript\" | \"rankEval\" | \"reindex\" | \"reindexRethrottle\" | \"renderSearchTemplate\" | \"rollup\" | \"scriptsPainlessExecute\" | \"scroll\" | \"searchMvt\" | \"searchShards\" | \"searchTemplate\" | \"searchableSnapshots\" | \"shutdown\" | \"slm\" | \"snapshot\" | \"sql\" | \"ssl\" | \"tasks\" | \"termsEnum\" | \"termvectors\" | \"textStructure\" | \"updateByQuery\" | \"updateByQueryRethrottle\" | \"watcher\" | \"xpack\">; index: string; }) => Promise" ], "path": "packages/kbn-securitysolution-es-utils/src/get_index_count/index.ts", "deprecated": false, @@ -4143,3746 +4200,3748 @@ "label": "esClient", "description": [], "signature": [ - "{ monitoring: { bulk(params?: Record | undefined, options?: ", + "{ monitoring: { bulk: (params: ", + "MonitoringBulkRequest", + " | ", + "MonitoringBulkRequest", + ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", + " | undefined) => Promise<", + "TransportResult", "<", - "ApiResponse", - ", TContext>>; }; security: { authenticate(params?: ", + "MonitoringBulkResponse", + ", TContext>>; }; security: { authenticate: (params?: ", + "SecurityAuthenticateRequest", + " | ", "SecurityAuthenticateRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SecurityAuthenticateResponse", - ", TContext>>; changePassword(params?: ", + ", TContext>>; changePassword: (params?: ", + "SecurityChangePasswordRequest", + " | ", "SecurityChangePasswordRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SecurityChangePasswordResponse", - ", TContext>>; clearApiKeyCache(params?: ", + ", TContext>>; clearApiKeyCache: (params: ", "SecurityClearApiKeyCacheRequest", - " | undefined, options?: ", + " | ", + "SecurityClearApiKeyCacheRequest", + ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SecurityClearApiKeyCacheResponse", - ", TContext>>; clearCachedPrivileges(params: ", + ", TContext>>; clearCachedPrivileges: (params: ", + "SecurityClearCachedPrivilegesRequest", + " | ", "SecurityClearCachedPrivilegesRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SecurityClearCachedPrivilegesResponse", - ", TContext>>; clearCachedRealms(params: ", + ", TContext>>; clearCachedRealms: (params: ", + "SecurityClearCachedRealmsRequest", + " | ", "SecurityClearCachedRealmsRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SecurityClearCachedRealmsResponse", - ", TContext>>; clearCachedRoles(params: ", + ", TContext>>; clearCachedRoles: (params: ", + "SecurityClearCachedRolesRequest", + " | ", "SecurityClearCachedRolesRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SecurityClearCachedRolesResponse", - ", TContext>>; clearCachedServiceTokens(params: ", + ", TContext>>; clearCachedServiceTokens: (params: ", + "SecurityClearCachedServiceTokensRequest", + " | ", "SecurityClearCachedServiceTokensRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SecurityClearCachedServiceTokensResponse", - ", TContext>>; createApiKey(params?: ", + ", TContext>>; createApiKey: (params?: ", + "SecurityCreateApiKeyRequest", + " | ", "SecurityCreateApiKeyRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SecurityCreateApiKeyResponse", - ", TContext>>; createServiceToken(params: ", + ", TContext>>; createServiceToken: (params: ", + "SecurityCreateServiceTokenRequest", + " | ", "SecurityCreateServiceTokenRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SecurityCreateServiceTokenResponse", - ", TContext>>; deletePrivileges(params: ", + ", TContext>>; deletePrivileges: (params: ", + "SecurityDeletePrivilegesRequest", + " | ", "SecurityDeletePrivilegesRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SecurityDeletePrivilegesResponse", - ", TContext>>; deleteRole(params: ", + ", TContext>>; deleteRole: (params: ", + "SecurityDeleteRoleRequest", + " | ", "SecurityDeleteRoleRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SecurityDeleteRoleResponse", - ", TContext>>; deleteRoleMapping(params: ", + ", TContext>>; deleteRoleMapping: (params: ", + "SecurityDeleteRoleMappingRequest", + " | ", "SecurityDeleteRoleMappingRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SecurityDeleteRoleMappingResponse", - ", TContext>>; deleteServiceToken(params: ", + ", TContext>>; deleteServiceToken: (params: ", + "SecurityDeleteServiceTokenRequest", + " | ", "SecurityDeleteServiceTokenRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SecurityDeleteServiceTokenResponse", - ", TContext>>; deleteUser(params: ", + ", TContext>>; deleteUser: (params: ", + "SecurityDeleteUserRequest", + " | ", "SecurityDeleteUserRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SecurityDeleteUserResponse", - ", TContext>>; disableUser(params: ", + ", TContext>>; disableUser: (params: ", + "SecurityDisableUserRequest", + " | ", "SecurityDisableUserRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SecurityDisableUserResponse", - ", TContext>>; enableUser(params: ", + ", TContext>>; enableUser: (params: ", + "SecurityEnableUserRequest", + " | ", "SecurityEnableUserRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SecurityEnableUserResponse", - ", TContext>>; getApiKey(params?: ", + ", TContext>>; enrollKibana: (params?: Record | undefined, options?: ", + "TransportRequestOptions", + " | undefined) => Promise<", + "TransportResult", + ", unknown>>; enrollNode: (params?: Record | undefined, options?: ", + "TransportRequestOptions", + " | undefined) => Promise<", + "TransportResult", + ", unknown>>; getApiKey: (params?: ", + "SecurityGetApiKeyRequest", + " | ", "SecurityGetApiKeyRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SecurityGetApiKeyResponse", - ", TContext>>; getBuiltinPrivileges(params?: ", + ", TContext>>; getBuiltinPrivileges: (params?: ", + "SecurityGetBuiltinPrivilegesRequest", + " | ", "SecurityGetBuiltinPrivilegesRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SecurityGetBuiltinPrivilegesResponse", - ", TContext>>; getPrivileges(params?: ", + ", TContext>>; getPrivileges: (params?: ", + "SecurityGetPrivilegesRequest", + " | ", "SecurityGetPrivilegesRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SecurityGetPrivilegesResponse", - ", TContext>>; getRole(params?: ", + ", TContext>>; getRole: (params?: ", + "SecurityGetRoleRequest", + " | ", "SecurityGetRoleRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SecurityGetRoleResponse", - ", TContext>>; getRoleMapping(params?: ", + ", TContext>>; getRoleMapping: (params?: ", + "SecurityGetRoleMappingRequest", + " | ", "SecurityGetRoleMappingRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SecurityGetRoleMappingResponse", - ", TContext>>; getServiceAccounts(params?: ", + ", TContext>>; getServiceAccounts: (params?: ", + "SecurityGetServiceAccountsRequest", + " | ", "SecurityGetServiceAccountsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SecurityGetServiceAccountsResponse", - ", TContext>>; getServiceCredentials(params: ", + ", TContext>>; getServiceCredentials: (params: ", + "SecurityGetServiceCredentialsRequest", + " | ", "SecurityGetServiceCredentialsRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SecurityGetServiceCredentialsResponse", - ", TContext>>; getToken(params?: ", + ", TContext>>; getToken: (params?: ", + "SecurityGetTokenRequest", + " | ", "SecurityGetTokenRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SecurityGetTokenResponse", - ", TContext>>; getUser(params?: ", + ", TContext>>; getUser: (params?: ", + "SecurityGetUserRequest", + " | ", "SecurityGetUserRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SecurityGetUserResponse", - ", TContext>>; getUserPrivileges(params?: ", + ", TContext>>; getUserPrivileges: (params?: ", + "SecurityGetUserPrivilegesRequest", + " | ", "SecurityGetUserPrivilegesRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SecurityGetUserPrivilegesResponse", - ", TContext>>; grantApiKey(params?: ", + ", TContext>>; grantApiKey: (params?: ", + "SecurityGrantApiKeyRequest", + " | ", "SecurityGrantApiKeyRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SecurityGrantApiKeyResponse", - ", TContext>>; hasPrivileges(params?: ", + ", TContext>>; hasPrivileges: (params?: ", + "SecurityHasPrivilegesRequest", + " | ", "SecurityHasPrivilegesRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SecurityHasPrivilegesResponse", - ", TContext>>; invalidateApiKey(params?: ", + ", TContext>>; invalidateApiKey: (params?: ", + "SecurityInvalidateApiKeyRequest", + " | ", "SecurityInvalidateApiKeyRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SecurityInvalidateApiKeyResponse", - ", TContext>>; invalidateToken(params?: ", + ", TContext>>; invalidateToken: (params?: ", + "SecurityInvalidateTokenRequest", + " | ", "SecurityInvalidateTokenRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SecurityInvalidateTokenResponse", - ", TContext>>; putPrivileges(params?: ", + ", TContext>>; putPrivileges: (params?: ", + "SecurityPutPrivilegesRequest", + " | ", "SecurityPutPrivilegesRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SecurityPutPrivilegesResponse", - ", TContext>>; putRole(params: ", + ", TContext>>; putRole: (params: ", + "SecurityPutRoleRequest", + " | ", "SecurityPutRoleRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SecurityPutRoleResponse", - ", TContext>>; putRoleMapping(params: ", + ", TContext>>; putRoleMapping: (params: ", + "SecurityPutRoleMappingRequest", + " | ", "SecurityPutRoleMappingRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SecurityPutRoleMappingResponse", - ", TContext>>; putUser(params: ", + ", TContext>>; putUser: (params: ", + "SecurityPutUserRequest", + " | ", "SecurityPutUserRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SecurityPutUserResponse", - ", TContext>>; samlAuthenticate(params?: Record | undefined, options?: ", + ", TContext>>; queryApiKeys: (params?: Record | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", TContext>>; samlCompleteLogout(params?: Record | undefined, options?: ", + " | undefined) => Promise<", + "TransportResult", + ", unknown>>; samlAuthenticate: (params?: Record | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", TContext>>; samlInvalidate(params?: Record | undefined, options?: ", + " | undefined) => Promise<", + "TransportResult", + ", unknown>>; samlCompleteLogout: (params?: Record | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", TContext>>; samlLogout(params?: Record | undefined, options?: ", + " | undefined) => Promise<", + "TransportResult", + ", unknown>>; samlInvalidate: (params?: Record | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", TContext>>; samlPrepareAuthentication(params?: Record | undefined, options?: ", + " | undefined) => Promise<", + "TransportResult", + ", unknown>>; samlLogout: (params?: Record | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", TContext>>; samlServiceProviderMetadata(params?: Record | undefined, options?: ", + " | undefined) => Promise<", + "TransportResult", + ", unknown>>; samlPrepareAuthentication: (params?: Record | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", TContext>>; }; create: (params: ", + " | undefined) => Promise<", + "TransportResult", + ", unknown>>; samlServiceProviderMetadata: (params?: Record | undefined, options?: ", + "TransportRequestOptions", + " | undefined) => Promise<", + "TransportResult", + ", unknown>>; }; create: (params: ", + "CreateRequest", + " | ", "CreateRequest", ", options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "CreateResponse", - ", TContext>>; index: (params: ", + ", TContext>>; name: string | symbol; index: (params: ", + "IndexRequest", + " | ", "IndexRequest", ", options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndexResponse", ", TContext>>; delete: (params: ", "DeleteRequest", + " | ", + "DeleteRequest", ", options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "DeleteResponse", ", TContext>>; get: (params: ", "GetRequest", + " | ", + "GetRequest", ", options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "GetResponse", ", TContext>>; update: (params: ", "UpdateRequest", + " | ", + "UpdateRequest", ", options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "UpdateResponse", ", TContext>>; closePointInTime: (params?: ", "ClosePointInTimeRequest", + " | ", + "ClosePointInTimeRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "ClosePointInTimeResponse", ", TContext>>; search: (params?: ", "SearchRequest", + " | ", + "SearchRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SearchResponse", - ", TContext>>; transform: { deleteTransform(params: ", + ", TContext>>; transform: { deleteTransform: (params: ", + "TransformDeleteTransformRequest", + " | ", "TransformDeleteTransformRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "TransformDeleteTransformResponse", - ", TContext>>; getTransform(params?: ", + ", TContext>>; getTransform: (params?: ", + "TransformGetTransformRequest", + " | ", "TransformGetTransformRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "TransformGetTransformResponse", - ", TContext>>; getTransformStats(params: ", + ", TContext>>; getTransformStats: (params: ", + "TransformGetTransformStatsRequest", + " | ", "TransformGetTransformStatsRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "TransformGetTransformStatsResponse", - ", TContext>>; previewTransform(params?: ", + ", TContext>>; previewTransform: (params?: ", + "TransformPreviewTransformRequest", + " | ", "TransformPreviewTransformRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "TransformPreviewTransformResponse", - ", TContext>>; putTransform(params: ", + ", TContext>>; putTransform: (params: ", + "TransformPutTransformRequest", + " | ", "TransformPutTransformRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "TransformPutTransformResponse", - ", TContext>>; startTransform(params: ", + ", TContext>>; startTransform: (params: ", + "TransformStartTransformRequest", + " | ", "TransformStartTransformRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "TransformStartTransformResponse", - ", TContext>>; stopTransform(params: ", + ", TContext>>; stopTransform: (params: ", + "TransformStopTransformRequest", + " | ", "TransformStopTransformRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "TransformStopTransformResponse", - ", TContext>>; updateTransform(params?: ", + ", TContext>>; updateTransform: (params: ", "TransformUpdateTransformRequest", - " | undefined, options?: ", + " | ", + "TransformUpdateTransformRequest", + ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "TransformUpdateTransformResponse", - ", TContext>>; }; eql: { delete(params: ", + ", TContext>>; upgradeTransforms: (params?: Record | undefined, options?: ", + "TransportRequestOptions", + " | undefined) => Promise<", + "TransportResult", + ", unknown>>; }; eql: { delete: (params: ", + "EqlDeleteRequest", + " | ", "EqlDeleteRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "EqlDeleteResponse", - ", TContext>>; get(params: ", + ", TContext>>; get: (params: ", + "EqlGetRequest", + " | ", "EqlGetRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "EqlGetResponse", - ", TContext>>; getStatus(params: ", + ", TContext>>; getStatus: (params: ", + "EqlGetStatusRequest", + " | ", "EqlGetStatusRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "EqlGetStatusResponse", - ", TContext>>; search(params: ", + ", TContext>>; search: (params: ", + "EqlSearchRequest", + " | ", "EqlSearchRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "EqlSearchResponse", ", TContext>>; }; helpers: ", "default", - "; emit: (event: string | symbol, ...args: any[]) => boolean; on: { (event: \"request\", listener: (err: ", - "ApiError", - ", meta: ", - "RequestEvent", - ", unknown>) => void): ", - "KibanaClient", - "; (event: \"response\", listener: (err: ", - "ApiError", - ", meta: ", - "RequestEvent", - ", unknown>) => void): ", - "KibanaClient", - "; (event: \"sniff\", listener: (err: ", - "ApiError", - ", meta: ", - "RequestEvent", - ", unknown>) => void): ", - "KibanaClient", - "; (event: \"resurrect\", listener: (err: null, meta: ", - "ResurrectEvent", - ") => void): ", - "KibanaClient", - "; }; once: { (event: \"request\", listener: (err: ", - "ApiError", - ", meta: ", - "RequestEvent", - ", unknown>) => void): ", - "KibanaClient", - "; (event: \"response\", listener: (err: ", - "ApiError", - ", meta: ", - "RequestEvent", - ", unknown>) => void): ", - "KibanaClient", - "; (event: \"sniff\", listener: (err: ", - "ApiError", - ", meta: ", - "RequestEvent", - ", unknown>) => void): ", - "KibanaClient", - "; (event: \"resurrect\", listener: (err: null, meta: ", - "ResurrectEvent", - ") => void): ", - "KibanaClient", - "; }; off: (event: string | symbol, listener: (...args: any[]) => void) => ", - "KibanaClient", - "; asyncSearch: { delete(params: ", + "; asyncSearch: { delete: (params: ", + "AsyncSearchDeleteRequest", + " | ", "AsyncSearchDeleteRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "AsyncSearchDeleteResponse", - ", TContext>>; get(params: ", + ", TContext>>; get: (params: ", + "AsyncSearchGetRequest", + " | ", "AsyncSearchGetRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "AsyncSearchGetResponse", - ", TContext>>; status(params: ", + ", TContext>>; status: (params: ", + "AsyncSearchStatusRequest", + " | ", "AsyncSearchStatusRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "AsyncSearchStatusResponse", - ", TContext>>; submit(params?: ", + ", TContext>>; submit: (params?: ", + "AsyncSearchSubmitRequest", + " | ", "AsyncSearchSubmitRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "AsyncSearchSubmitResponse", - ", TContext>>; }; autoscaling: { deleteAutoscalingPolicy(params?: Record | undefined, options?: ", + ", TContext>>; }; autoscaling: { deleteAutoscalingPolicy: (params: ", + "AutoscalingDeleteAutoscalingPolicyRequest", + " | ", + "AutoscalingDeleteAutoscalingPolicyRequest", + ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", + " | undefined) => Promise<", + "TransportResult", "<", - "ApiResponse", - ", TContext>>; getAutoscalingCapacity(params?: Record | undefined, options?: ", + "AutoscalingDeleteAutoscalingPolicyResponse", + ", TContext>>; getAutoscalingCapacity: (params?: ", + "AutoscalingGetAutoscalingCapacityRequest", + " | ", + "AutoscalingGetAutoscalingCapacityRequest", + " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", + " | undefined) => Promise<", + "TransportResult", "<", - "ApiResponse", - ", TContext>>; getAutoscalingPolicy(params?: Record | undefined, options?: ", + "AutoscalingGetAutoscalingCapacityResponse", + ", TContext>>; getAutoscalingPolicy: (params: ", + "AutoscalingGetAutoscalingPolicyRequest", + " | ", + "AutoscalingGetAutoscalingPolicyRequest", + ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", + " | undefined) => Promise<", + "TransportResult", "<", - "ApiResponse", - ", TContext>>; putAutoscalingPolicy(params?: Record | undefined, options?: ", + "AutoscalingAutoscalingPolicy", + ", TContext>>; putAutoscalingPolicy: (params: ", + "AutoscalingPutAutoscalingPolicyRequest", + " | ", + "AutoscalingPutAutoscalingPolicyRequest", + ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", + " | undefined) => Promise<", + "TransportResult", "<", - "ApiResponse", - ", TContext>>; }; bulk: (params: ", + "AutoscalingPutAutoscalingPolicyResponse", + ", TContext>>; }; bulk: (params: ", + "BulkRequest", + " | ", "BulkRequest", ", options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "BulkResponse", - ", TContext>>; cat: { aliases(params?: ", + ", TContext>>; cat: { aliases: (params?: ", + "CatAliasesRequest", + " | ", "CatAliasesRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "CatAliasesResponse", - ", TContext>>; allocation(params?: ", + ", TContext>>; allocation: (params?: ", + "CatAllocationRequest", + " | ", "CatAllocationRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "CatAllocationResponse", - ", TContext>>; count(params?: ", + ", TContext>>; count: (params?: ", + "CatCountRequest", + " | ", "CatCountRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "CatCountResponse", - ", TContext>>; fielddata(params?: ", + ", TContext>>; fielddata: (params?: ", + "CatFielddataRequest", + " | ", "CatFielddataRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "CatFielddataResponse", - ", TContext>>; health(params?: ", + ", TContext>>; health: (params?: ", + "CatHealthRequest", + " | ", "CatHealthRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "CatHealthResponse", - ", TContext>>; help(params?: ", + ", TContext>>; help: (params?: ", + "CatHelpRequest", + " | ", "CatHelpRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "CatHelpResponse", - ", TContext>>; indices(params?: ", + ", TContext>>; indices: (params?: ", + "CatIndicesRequest", + " | ", "CatIndicesRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "CatIndicesResponse", - ", TContext>>; master(params?: ", + ", TContext>>; master: (params?: ", + "CatMasterRequest", + " | ", "CatMasterRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "CatMasterResponse", - ", TContext>>; mlDataFrameAnalytics(params?: ", - "CatDataFrameAnalyticsRequest", + ", TContext>>; mlDataFrameAnalytics: (params?: ", + "CatMlDataFrameAnalyticsRequest", + " | ", + "CatMlDataFrameAnalyticsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", + " | undefined) => Promise<", + "TransportResult", "<", - "ApiResponse", - "<", - "CatDataFrameAnalyticsResponse", - ", TContext>>; mlDatafeeds(params?: ", - "CatDatafeedsRequest", + "CatMlDataFrameAnalyticsResponse", + ", TContext>>; mlDatafeeds: (params?: ", + "CatMlDatafeedsRequest", + " | ", + "CatMlDatafeedsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", - "CatDatafeedsResponse", - ", TContext>>; mlJobs(params?: ", - "CatJobsRequest", + "CatMlDatafeedsResponse", + ", TContext>>; mlJobs: (params?: ", + "CatMlJobsRequest", + " | ", + "CatMlJobsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", + " | undefined) => Promise<", + "TransportResult", "<", - "ApiResponse", - "<", - "CatJobsResponse", - ", TContext>>; mlTrainedModels(params?: ", - "CatTrainedModelsRequest", + "CatMlJobsResponse", + ", TContext>>; mlTrainedModels: (params?: ", + "CatMlTrainedModelsRequest", + " | ", + "CatMlTrainedModelsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", - "CatTrainedModelsResponse", - ", TContext>>; nodeattrs(params?: ", - "CatNodeAttributesRequest", + "CatMlTrainedModelsResponse", + ", TContext>>; nodeattrs: (params?: ", + "CatNodeattrsRequest", + " | ", + "CatNodeattrsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", + " | undefined) => Promise<", + "TransportResult", "<", - "ApiResponse", - "<", - "CatNodeAttributesResponse", - ", TContext>>; nodes(params?: ", + "CatNodeattrsResponse", + ", TContext>>; nodes: (params?: ", + "CatNodesRequest", + " | ", "CatNodesRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "CatNodesResponse", - ", TContext>>; pendingTasks(params?: ", + ", TContext>>; pendingTasks: (params?: ", + "CatPendingTasksRequest", + " | ", "CatPendingTasksRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "CatPendingTasksResponse", - ", TContext>>; plugins(params?: ", + ", TContext>>; plugins: (params?: ", + "CatPluginsRequest", + " | ", "CatPluginsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "CatPluginsResponse", - ", TContext>>; recovery(params?: ", + ", TContext>>; recovery: (params?: ", + "CatRecoveryRequest", + " | ", "CatRecoveryRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "CatRecoveryResponse", - ", TContext>>; repositories(params?: ", + ", TContext>>; repositories: (params?: ", + "CatRepositoriesRequest", + " | ", "CatRepositoriesRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "CatRepositoriesResponse", - ", TContext>>; segments(params?: ", + ", TContext>>; segments: (params?: ", + "CatSegmentsRequest", + " | ", "CatSegmentsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "CatSegmentsResponse", - ", TContext>>; shards(params?: ", + ", TContext>>; shards: (params?: ", + "CatShardsRequest", + " | ", "CatShardsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "CatShardsResponse", - ", TContext>>; snapshots(params?: ", + ", TContext>>; snapshots: (params?: ", + "CatSnapshotsRequest", + " | ", "CatSnapshotsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "CatSnapshotsResponse", - ", TContext>>; tasks(params?: ", + ", TContext>>; tasks: (params?: ", + "CatTasksRequest", + " | ", "CatTasksRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "CatTasksResponse", - ", TContext>>; templates(params?: ", + ", TContext>>; templates: (params?: ", + "CatTemplatesRequest", + " | ", "CatTemplatesRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "CatTemplatesResponse", - ", TContext>>; threadPool(params?: ", + ", TContext>>; threadPool: (params?: ", + "CatThreadPoolRequest", + " | ", "CatThreadPoolRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "CatThreadPoolResponse", - ", TContext>>; transforms(params?: ", + ", TContext>>; transforms: (params?: ", + "CatTransformsRequest", + " | ", "CatTransformsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "CatTransformsResponse", - ", TContext>>; }; ccr: { deleteAutoFollowPattern(params: ", + ", TContext>>; }; ccr: { deleteAutoFollowPattern: (params: ", + "CcrDeleteAutoFollowPatternRequest", + " | ", "CcrDeleteAutoFollowPatternRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "CcrDeleteAutoFollowPatternResponse", - ", TContext>>; follow(params: ", - "CcrCreateFollowIndexRequest", + ", TContext>>; follow: (params: ", + "CcrFollowRequest", + " | ", + "CcrFollowRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", - "CcrCreateFollowIndexResponse", - ", TContext>>; followInfo(params: ", + "CcrFollowResponse", + ", TContext>>; followInfo: (params: ", + "CcrFollowInfoRequest", + " | ", "CcrFollowInfoRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "CcrFollowInfoResponse", - ", TContext>>; followStats(params: ", - "CcrFollowIndexStatsRequest", + ", TContext>>; followStats: (params: ", + "CcrFollowStatsRequest", + " | ", + "CcrFollowStatsRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", + " | undefined) => Promise<", + "TransportResult", "<", - "ApiResponse", - "<", - "CcrFollowIndexStatsResponse", - ", TContext>>; forgetFollower(params: ", - "CcrForgetFollowerIndexRequest", + "CcrFollowStatsResponse", + ", TContext>>; forgetFollower: (params: ", + "CcrForgetFollowerRequest", + " | ", + "CcrForgetFollowerRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", - "CcrForgetFollowerIndexResponse", - ", TContext>>; getAutoFollowPattern(params?: ", + "CcrForgetFollowerResponse", + ", TContext>>; getAutoFollowPattern: (params?: ", + "CcrGetAutoFollowPatternRequest", + " | ", "CcrGetAutoFollowPatternRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "CcrGetAutoFollowPatternResponse", - ", TContext>>; pauseAutoFollowPattern(params: ", + ", TContext>>; pauseAutoFollowPattern: (params: ", + "CcrPauseAutoFollowPatternRequest", + " | ", "CcrPauseAutoFollowPatternRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "CcrPauseAutoFollowPatternResponse", - ", TContext>>; pauseFollow(params: ", - "CcrPauseFollowIndexRequest", + ", TContext>>; pauseFollow: (params: ", + "CcrPauseFollowRequest", + " | ", + "CcrPauseFollowRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", + " | undefined) => Promise<", + "TransportResult", "<", - "ApiResponse", - "<", - "CcrPauseFollowIndexResponse", - ", TContext>>; putAutoFollowPattern(params: ", + "CcrPauseFollowResponse", + ", TContext>>; putAutoFollowPattern: (params: ", + "CcrPutAutoFollowPatternRequest", + " | ", "CcrPutAutoFollowPatternRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "CcrPutAutoFollowPatternResponse", - ", TContext>>; resumeAutoFollowPattern(params: ", + ", TContext>>; resumeAutoFollowPattern: (params: ", + "CcrResumeAutoFollowPatternRequest", + " | ", "CcrResumeAutoFollowPatternRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "CcrResumeAutoFollowPatternResponse", - ", TContext>>; resumeFollow(params: ", - "CcrResumeFollowIndexRequest", + ", TContext>>; resumeFollow: (params: ", + "CcrResumeFollowRequest", + " | ", + "CcrResumeFollowRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", - "CcrResumeFollowIndexResponse", - ", TContext>>; stats(params?: ", + "CcrResumeFollowResponse", + ", TContext>>; stats: (params?: ", + "CcrStatsRequest", + " | ", "CcrStatsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "CcrStatsResponse", - ", TContext>>; unfollow(params: ", - "CcrUnfollowIndexRequest", + ", TContext>>; unfollow: (params: ", + "CcrUnfollowRequest", + " | ", + "CcrUnfollowRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", + " | undefined) => Promise<", + "TransportResult", "<", - "ApiResponse", - "<", - "CcrUnfollowIndexResponse", + "CcrUnfollowResponse", ", TContext>>; }; clearScroll: (params?: ", "ClearScrollRequest", + " | ", + "ClearScrollRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "ClearScrollResponse", - ", TContext>>; cluster: { allocationExplain(params?: ", + ", TContext>>; cluster: { allocationExplain: (params?: ", + "ClusterAllocationExplainRequest", + " | ", "ClusterAllocationExplainRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "ClusterAllocationExplainResponse", - ", TContext>>; deleteComponentTemplate(params: ", + ", TContext>>; deleteComponentTemplate: (params: ", + "ClusterDeleteComponentTemplateRequest", + " | ", "ClusterDeleteComponentTemplateRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "ClusterDeleteComponentTemplateResponse", - ", TContext>>; deleteVotingConfigExclusions(params?: Record | undefined, options?: ", + ", TContext>>; deleteVotingConfigExclusions: (params?: ", + "ClusterDeleteVotingConfigExclusionsRequest", + " | ", + "ClusterDeleteVotingConfigExclusionsRequest", + " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", TContext>>; existsComponentTemplate(params?: Record | undefined, options?: ", + " | undefined) => Promise<", + "TransportResult", + ">; existsComponentTemplate: (params: ", + "ClusterExistsComponentTemplateRequest", + " | ", + "ClusterExistsComponentTemplateRequest", + ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", TContext>>; getComponentTemplate(params?: ", + " | undefined) => Promise<", + "TransportResult", + ">; getComponentTemplate: (params?: ", + "ClusterGetComponentTemplateRequest", + " | ", "ClusterGetComponentTemplateRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "ClusterGetComponentTemplateResponse", - ", TContext>>; getSettings(params?: ", + ", TContext>>; getSettings: (params?: ", + "ClusterGetSettingsRequest", + " | ", "ClusterGetSettingsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "ClusterGetSettingsResponse", - ", TContext>>; health(params?: ", + ", TContext>>; health: (params?: ", + "ClusterHealthRequest", + " | ", "ClusterHealthRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "ClusterHealthResponse", - ", TContext>>; pendingTasks(params?: ", + ", TContext>>; pendingTasks: (params?: ", + "ClusterPendingTasksRequest", + " | ", "ClusterPendingTasksRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "ClusterPendingTasksResponse", - ", TContext>>; postVotingConfigExclusions(params?: Record | undefined, options?: ", + ", TContext>>; postVotingConfigExclusions: (params?: ", + "ClusterPostVotingConfigExclusionsRequest", + " | ", + "ClusterPostVotingConfigExclusionsRequest", + " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", TContext>>; putComponentTemplate(params: ", + " | undefined) => Promise<", + "TransportResult", + ">; putComponentTemplate: (params: ", + "ClusterPutComponentTemplateRequest", + " | ", "ClusterPutComponentTemplateRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "ClusterPutComponentTemplateResponse", - ", TContext>>; putSettings(params?: ", + ", TContext>>; putSettings: (params?: ", + "ClusterPutSettingsRequest", + " | ", "ClusterPutSettingsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "ClusterPutSettingsResponse", - ", TContext>>; remoteInfo(params?: ", + ", TContext>>; remoteInfo: (params?: ", + "ClusterRemoteInfoRequest", + " | ", "ClusterRemoteInfoRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "ClusterRemoteInfoResponse", - ", TContext>>; reroute(params?: ", + ", TContext>>; reroute: (params?: ", + "ClusterRerouteRequest", + " | ", "ClusterRerouteRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "ClusterRerouteResponse", - ", TContext>>; state(params?: ", + ", TContext>>; state: (params?: ", + "ClusterStateRequest", + " | ", "ClusterStateRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - "<", - "ClusterStateResponse", - ", TContext>>; stats(params?: ", + " | undefined) => Promise<", + "TransportResult", + ">; stats: (params?: ", + "ClusterStatsRequest", + " | ", "ClusterStatsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "ClusterStatsResponse", ", TContext>>; }; count: (params?: ", "CountRequest", + " | ", + "CountRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "CountResponse", - ", TContext>>; danglingIndices: { deleteDanglingIndex(params?: Record | undefined, options?: ", - "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", TContext>>; importDanglingIndex(params?: Record | undefined, options?: ", - "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", TContext>>; listDanglingIndices(params?: Record | undefined, options?: ", - "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", TContext>>; }; dataFrameTransformDeprecated: { deleteTransform(params?: Record | undefined, options?: ", - "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", TContext>>; getTransform(params?: Record | undefined, options?: ", - "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", TContext>>; getTransformStats(params?: Record | undefined, options?: ", - "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", TContext>>; previewTransform(params?: Record | undefined, options?: ", - "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", TContext>>; putTransform(params?: Record | undefined, options?: ", - "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", TContext>>; startTransform(params?: Record | undefined, options?: ", + ", TContext>>; danglingIndices: { deleteDanglingIndex: (params: ", + "DanglingIndicesDeleteDanglingIndexRequest", + " | ", + "DanglingIndicesDeleteDanglingIndexRequest", + ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", + " | undefined) => Promise<", + "TransportResult", "<", - "ApiResponse", - ", TContext>>; stopTransform(params?: Record | undefined, options?: ", + "DanglingIndicesDeleteDanglingIndexResponse", + ", TContext>>; importDanglingIndex: (params: ", + "DanglingIndicesImportDanglingIndexRequest", + " | ", + "DanglingIndicesImportDanglingIndexRequest", + ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", + " | undefined) => Promise<", + "TransportResult", "<", - "ApiResponse", - ", TContext>>; updateTransform(params?: Record | undefined, options?: ", + "DanglingIndicesImportDanglingIndexResponse", + ", TContext>>; listDanglingIndices: (params?: ", + "DanglingIndicesListDanglingIndicesRequest", + " | ", + "DanglingIndicesListDanglingIndicesRequest", + " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", + " | undefined) => Promise<", + "TransportResult", "<", - "ApiResponse", - ", TContext>>; }; deleteByQuery: (params: ", + "DanglingIndicesListDanglingIndicesResponse", + ", TContext>>; }; deleteByQuery: (params: ", + "DeleteByQueryRequest", + " | ", "DeleteByQueryRequest", ", options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "DeleteByQueryResponse", ", TContext>>; deleteByQueryRethrottle: (params: ", "DeleteByQueryRethrottleRequest", + " | ", + "DeleteByQueryRethrottleRequest", ", options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "DeleteByQueryRethrottleResponse", ", TContext>>; deleteScript: (params: ", "DeleteScriptRequest", + " | ", + "DeleteScriptRequest", ", options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "DeleteScriptResponse", - ", TContext>>; enrich: { deletePolicy(params: ", + ", TContext>>; enrich: { deletePolicy: (params: ", + "EnrichDeletePolicyRequest", + " | ", "EnrichDeletePolicyRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "EnrichDeletePolicyResponse", - ", TContext>>; executePolicy(params: ", + ", TContext>>; executePolicy: (params: ", + "EnrichExecutePolicyRequest", + " | ", "EnrichExecutePolicyRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "EnrichExecutePolicyResponse", - ", TContext>>; getPolicy(params?: ", + ", TContext>>; getPolicy: (params?: ", + "EnrichGetPolicyRequest", + " | ", "EnrichGetPolicyRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "EnrichGetPolicyResponse", - ", TContext>>; putPolicy(params: ", + ", TContext>>; putPolicy: (params: ", + "EnrichPutPolicyRequest", + " | ", "EnrichPutPolicyRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "EnrichPutPolicyResponse", - ", TContext>>; stats(params?: ", + ", TContext>>; stats: (params?: ", + "EnrichStatsRequest", + " | ", "EnrichStatsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "EnrichStatsResponse", ", TContext>>; }; exists: (params: ", "ExistsRequest", + " | ", + "ExistsRequest", ", options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", ">; existsSource: (params: ", "ExistsSourceRequest", + " | ", + "ExistsSourceRequest", ", options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", ">; explain: (params: ", "ExplainRequest", + " | ", + "ExplainRequest", ", options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "ExplainResponse", - ", TContext>>; features: { getFeatures(params?: Record | undefined, options?: ", + ", TContext>>; features: { getFeatures: (params?: ", + "FeaturesGetFeaturesRequest", + " | ", + "FeaturesGetFeaturesRequest", + " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", + " | undefined) => Promise<", + "TransportResult", "<", - "ApiResponse", - ", TContext>>; resetFeatures(params?: Record | undefined, options?: ", + "FeaturesGetFeaturesResponse", + ", TContext>>; resetFeatures: (params?: ", + "FeaturesResetFeaturesRequest", + " | ", + "FeaturesResetFeaturesRequest", + " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", + " | undefined) => Promise<", + "TransportResult", "<", - "ApiResponse", - ", TContext>>; }; fieldCaps: (params?: ", + "FeaturesResetFeaturesResponse", + ", TContext>>; }; fieldCaps: (params?: ", + "FieldCapsRequest", + " | ", "FieldCapsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "FieldCapsResponse", - ", TContext>>; fleet: { globalCheckpoints(params?: Record | undefined, options?: ", + ", TContext>>; fleet: { globalCheckpoints: (params?: Record | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", TContext>>; }; getScript: (params: ", + " | undefined) => Promise<", + "TransportResult", + ", unknown>>; msearch: (params?: Record | undefined, options?: ", + "TransportRequestOptions", + " | undefined) => Promise<", + "TransportResult", + ", unknown>>; search: (params?: Record | undefined, options?: ", + "TransportRequestOptions", + " | undefined) => Promise<", + "TransportResult", + ", unknown>>; }; getScript: (params: ", + "GetScriptRequest", + " | ", "GetScriptRequest", ", options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "GetScriptResponse", ", TContext>>; getScriptContext: (params?: ", "GetScriptContextRequest", + " | ", + "GetScriptContextRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "GetScriptContextResponse", ", TContext>>; getScriptLanguages: (params?: ", "GetScriptLanguagesRequest", + " | ", + "GetScriptLanguagesRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "GetScriptLanguagesResponse", - ", TContext>>; getSource: (params?: ", + ", TContext>>; getSource: (params: ", "GetSourceRequest", - " | undefined, options?: ", + " | ", + "GetSourceRequest", + ", options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", - ">; graph: { explore(params: ", + " | undefined) => Promise<", + "TransportResult", + ">; graph: { explore: (params: ", + "GraphExploreRequest", + " | ", "GraphExploreRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "GraphExploreResponse", - ", TContext>>; }; ilm: { deleteLifecycle(params: ", + ", TContext>>; }; ilm: { deleteLifecycle: (params: ", + "IlmDeleteLifecycleRequest", + " | ", "IlmDeleteLifecycleRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IlmDeleteLifecycleResponse", - ", TContext>>; explainLifecycle(params: ", + ", TContext>>; explainLifecycle: (params: ", + "IlmExplainLifecycleRequest", + " | ", "IlmExplainLifecycleRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IlmExplainLifecycleResponse", - ", TContext>>; getLifecycle(params?: ", + ", TContext>>; getLifecycle: (params?: ", + "IlmGetLifecycleRequest", + " | ", "IlmGetLifecycleRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IlmGetLifecycleResponse", - ", TContext>>; getStatus(params?: ", + ", TContext>>; getStatus: (params?: ", + "IlmGetStatusRequest", + " | ", "IlmGetStatusRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IlmGetStatusResponse", - ", TContext>>; migrateToDataTiers(params?: Record | undefined, options?: ", + ", TContext>>; migrateToDataTiers: (params?: Record | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", TContext>>; moveToStep(params: ", + " | undefined) => Promise<", + "TransportResult", + ", unknown>>; moveToStep: (params: ", + "IlmMoveToStepRequest", + " | ", "IlmMoveToStepRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IlmMoveToStepResponse", - ", TContext>>; putLifecycle(params?: ", + ", TContext>>; putLifecycle: (params: ", "IlmPutLifecycleRequest", - " | undefined, options?: ", + " | ", + "IlmPutLifecycleRequest", + ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IlmPutLifecycleResponse", - ", TContext>>; removePolicy(params: ", + ", TContext>>; removePolicy: (params: ", + "IlmRemovePolicyRequest", + " | ", "IlmRemovePolicyRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IlmRemovePolicyResponse", - ", TContext>>; retry(params: ", + ", TContext>>; retry: (params: ", + "IlmRetryRequest", + " | ", "IlmRetryRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IlmRetryResponse", - ", TContext>>; start(params?: ", + ", TContext>>; start: (params?: ", + "IlmStartRequest", + " | ", "IlmStartRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IlmStartResponse", - ", TContext>>; stop(params?: ", + ", TContext>>; stop: (params?: ", + "IlmStopRequest", + " | ", "IlmStopRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IlmStopResponse", - ", TContext>>; }; indices: { addBlock(params: ", + ", TContext>>; }; indices: { addBlock: (params: ", + "IndicesAddBlockRequest", + " | ", "IndicesAddBlockRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesAddBlockResponse", - ", TContext>>; analyze(params?: ", + ", TContext>>; analyze: (params?: ", + "IndicesAnalyzeRequest", + " | ", "IndicesAnalyzeRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesAnalyzeResponse", - ", TContext>>; clearCache(params?: ", + ", TContext>>; clearCache: (params?: ", + "IndicesClearCacheRequest", + " | ", "IndicesClearCacheRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesClearCacheResponse", - ", TContext>>; clone(params: ", + ", TContext>>; clone: (params: ", + "IndicesCloneRequest", + " | ", "IndicesCloneRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesCloneResponse", - ", TContext>>; close(params: ", + ", TContext>>; close: (params: ", + "IndicesCloseRequest", + " | ", "IndicesCloseRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesCloseResponse", - ", TContext>>; create(params: ", + ", TContext>>; create: (params: ", + "IndicesCreateRequest", + " | ", "IndicesCreateRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesCreateResponse", - ", TContext>>; createDataStream(params: ", + ", TContext>>; createDataStream: (params: ", + "IndicesCreateDataStreamRequest", + " | ", "IndicesCreateDataStreamRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesCreateDataStreamResponse", - ", TContext>>; dataStreamsStats(params?: ", + ", TContext>>; dataStreamsStats: (params?: ", + "IndicesDataStreamsStatsRequest", + " | ", "IndicesDataStreamsStatsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesDataStreamsStatsResponse", - ", TContext>>; delete(params: ", + ", TContext>>; delete: (params: ", + "IndicesDeleteRequest", + " | ", "IndicesDeleteRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesDeleteResponse", - ", TContext>>; deleteAlias(params: ", + ", TContext>>; deleteAlias: (params: ", + "IndicesDeleteAliasRequest", + " | ", "IndicesDeleteAliasRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesDeleteAliasResponse", - ", TContext>>; deleteDataStream(params: ", + ", TContext>>; deleteDataStream: (params: ", + "IndicesDeleteDataStreamRequest", + " | ", "IndicesDeleteDataStreamRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesDeleteDataStreamResponse", - ", TContext>>; deleteIndexTemplate(params: ", + ", TContext>>; deleteIndexTemplate: (params: ", + "IndicesDeleteIndexTemplateRequest", + " | ", "IndicesDeleteIndexTemplateRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesDeleteIndexTemplateResponse", - ", TContext>>; deleteTemplate(params: ", + ", TContext>>; deleteTemplate: (params: ", + "IndicesDeleteTemplateRequest", + " | ", "IndicesDeleteTemplateRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesDeleteTemplateResponse", - ", TContext>>; diskUsage(params?: Record | undefined, options?: ", + ", TContext>>; diskUsage: (params: ", + "IndicesDiskUsageRequest", + " | ", + "IndicesDiskUsageRequest", + ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", TContext>>; exists(params: ", + " | undefined) => Promise<", + "TransportResult", + ">; exists: (params: ", + "IndicesExistsRequest", + " | ", "IndicesExistsRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ">; existsAlias(params: ", + " | undefined) => Promise<", + "TransportResult", + ">; existsAlias: (params: ", + "IndicesExistsAliasRequest", + " | ", "IndicesExistsAliasRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ">; existsIndexTemplate(params: ", + " | undefined) => Promise<", + "TransportResult", + ">; existsIndexTemplate: (params: ", + "IndicesExistsIndexTemplateRequest", + " | ", "IndicesExistsIndexTemplateRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ">; existsTemplate(params: ", + " | undefined) => Promise<", + "TransportResult", + ">; existsTemplate: (params: ", + "IndicesExistsTemplateRequest", + " | ", "IndicesExistsTemplateRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ">; existsType(params: ", + " | undefined) => Promise<", + "TransportResult", + ">; existsType: (params: ", + "IndicesExistsTypeRequest", + " | ", "IndicesExistsTypeRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ">; fieldUsageStats(params?: Record | undefined, options?: ", + " | undefined) => Promise<", + "TransportResult", + ">; fieldUsageStats: (params?: Record | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", TContext>>; flush(params?: ", + " | undefined) => Promise<", + "TransportResult", + ", unknown>>; flush: (params?: ", + "IndicesFlushRequest", + " | ", "IndicesFlushRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesFlushResponse", - ", TContext>>; flushSynced(params?: ", - "IndicesFlushSyncedRequest", - " | undefined, options?: ", - "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - "<", - "IndicesFlushSyncedResponse", - ", TContext>>; forcemerge(params?: ", + ", TContext>>; forcemerge: (params?: ", + "IndicesForcemergeRequest", + " | ", "IndicesForcemergeRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesForcemergeResponse", - ", TContext>>; freeze(params: ", + ", TContext>>; freeze: (params: ", + "IndicesFreezeRequest", + " | ", "IndicesFreezeRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesFreezeResponse", - ", TContext>>; get(params: ", + ", TContext>>; get: (params: ", + "IndicesGetRequest", + " | ", "IndicesGetRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesGetResponse", - ", TContext>>; getAlias(params?: ", + ", TContext>>; getAlias: (params?: ", + "IndicesGetAliasRequest", + " | ", "IndicesGetAliasRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesGetAliasResponse", - ", TContext>>; getDataStream(params?: ", + ", TContext>>; getDataStream: (params?: ", + "IndicesGetDataStreamRequest", + " | ", "IndicesGetDataStreamRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesGetDataStreamResponse", - ", TContext>>; getFieldMapping(params: ", + ", TContext>>; getFieldMapping: (params: ", + "IndicesGetFieldMappingRequest", + " | ", "IndicesGetFieldMappingRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesGetFieldMappingResponse", - ", TContext>>; getIndexTemplate(params?: ", + ", TContext>>; getIndexTemplate: (params?: ", + "IndicesGetIndexTemplateRequest", + " | ", "IndicesGetIndexTemplateRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesGetIndexTemplateResponse", - ", TContext>>; getMapping(params?: ", + ", TContext>>; getMapping: (params?: ", + "IndicesGetMappingRequest", + " | ", "IndicesGetMappingRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesGetMappingResponse", - ", TContext>>; getSettings(params?: ", + ", TContext>>; getSettings: (params?: ", + "IndicesGetSettingsRequest", + " | ", "IndicesGetSettingsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesGetSettingsResponse", - ", TContext>>; getTemplate(params?: ", + ", TContext>>; getTemplate: (params?: ", + "IndicesGetTemplateRequest", + " | ", "IndicesGetTemplateRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesGetTemplateResponse", - ", TContext>>; getUpgrade(params?: Record | undefined, options?: ", - "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", TContext>>; migrateToDataStream(params: ", + ", TContext>>; migrateToDataStream: (params: ", + "IndicesMigrateToDataStreamRequest", + " | ", "IndicesMigrateToDataStreamRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesMigrateToDataStreamResponse", - ", TContext>>; open(params: ", + ", TContext>>; modifyDataStream: (params?: Record | undefined, options?: ", + "TransportRequestOptions", + " | undefined) => Promise<", + "TransportResult", + ", unknown>>; open: (params: ", + "IndicesOpenRequest", + " | ", "IndicesOpenRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesOpenResponse", - ", TContext>>; promoteDataStream(params?: Record | undefined, options?: ", + ", TContext>>; promoteDataStream: (params: ", + "IndicesPromoteDataStreamRequest", + " | ", + "IndicesPromoteDataStreamRequest", + ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", TContext>>; putAlias(params: ", + " | undefined) => Promise<", + "TransportResult", + ">; putAlias: (params: ", + "IndicesPutAliasRequest", + " | ", "IndicesPutAliasRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesPutAliasResponse", - ", TContext>>; putIndexTemplate(params: ", + ", TContext>>; putIndexTemplate: (params: ", + "IndicesPutIndexTemplateRequest", + " | ", "IndicesPutIndexTemplateRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesPutIndexTemplateResponse", - ", TContext>>; putMapping(params?: ", + ", TContext>>; putMapping: (params: ", "IndicesPutMappingRequest", - " | undefined, options?: ", + " | ", + "IndicesPutMappingRequest", + ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesPutMappingResponse", - ", TContext>>; putSettings(params?: ", + ", TContext>>; putSettings: (params?: ", + "IndicesPutSettingsRequest", + " | ", "IndicesPutSettingsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesPutSettingsResponse", - ", TContext>>; putTemplate(params: ", + ", TContext>>; putTemplate: (params: ", + "IndicesPutTemplateRequest", + " | ", "IndicesPutTemplateRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesPutTemplateResponse", - ", TContext>>; recovery(params?: ", + ", TContext>>; recovery: (params?: ", + "IndicesRecoveryRequest", + " | ", "IndicesRecoveryRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesRecoveryResponse", - ", TContext>>; refresh(params?: ", + ", TContext>>; refresh: (params?: ", + "IndicesRefreshRequest", + " | ", "IndicesRefreshRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesRefreshResponse", - ", TContext>>; reloadSearchAnalyzers(params: ", + ", TContext>>; reloadSearchAnalyzers: (params: ", + "IndicesReloadSearchAnalyzersRequest", + " | ", "IndicesReloadSearchAnalyzersRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesReloadSearchAnalyzersResponse", - ", TContext>>; resolveIndex(params: ", + ", TContext>>; resolveIndex: (params: ", + "IndicesResolveIndexRequest", + " | ", "IndicesResolveIndexRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesResolveIndexResponse", - ", TContext>>; rollover(params: ", + ", TContext>>; rollover: (params: ", + "IndicesRolloverRequest", + " | ", "IndicesRolloverRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesRolloverResponse", - ", TContext>>; segments(params?: ", + ", TContext>>; segments: (params?: ", + "IndicesSegmentsRequest", + " | ", "IndicesSegmentsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesSegmentsResponse", - ", TContext>>; shardStores(params?: ", + ", TContext>>; shardStores: (params?: ", + "IndicesShardStoresRequest", + " | ", "IndicesShardStoresRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesShardStoresResponse", - ", TContext>>; shrink(params: ", + ", TContext>>; shrink: (params: ", + "IndicesShrinkRequest", + " | ", "IndicesShrinkRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesShrinkResponse", - ", TContext>>; simulateIndexTemplate(params?: ", + ", TContext>>; simulateIndexTemplate: (params: ", "IndicesSimulateIndexTemplateRequest", - " | undefined, options?: ", + " | ", + "IndicesSimulateIndexTemplateRequest", + ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesSimulateIndexTemplateResponse", - ", TContext>>; simulateTemplate(params?: Record | undefined, options?: ", + ", TContext>>; simulateTemplate: (params?: ", + "IndicesSimulateTemplateRequest", + " | ", + "IndicesSimulateTemplateRequest", + " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", + " | undefined) => Promise<", + "TransportResult", "<", - "ApiResponse", - ", TContext>>; split(params: ", + "IndicesSimulateTemplateResponse", + ", TContext>>; split: (params: ", + "IndicesSplitRequest", + " | ", "IndicesSplitRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesSplitResponse", - ", TContext>>; stats(params?: ", + ", TContext>>; stats: (params?: ", + "IndicesStatsRequest", + " | ", "IndicesStatsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesStatsResponse", - ", TContext>>; unfreeze(params: ", + ", TContext>>; unfreeze: (params: ", + "IndicesUnfreezeRequest", + " | ", "IndicesUnfreezeRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesUnfreezeResponse", - ", TContext>>; updateAliases(params?: ", + ", TContext>>; updateAliases: (params?: ", + "IndicesUpdateAliasesRequest", + " | ", "IndicesUpdateAliasesRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesUpdateAliasesResponse", - ", TContext>>; upgrade(params?: Record | undefined, options?: ", - "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", TContext>>; validateQuery(params?: ", + ", TContext>>; validateQuery: (params?: ", + "IndicesValidateQueryRequest", + " | ", "IndicesValidateQueryRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IndicesValidateQueryResponse", ", TContext>>; }; info: (params?: ", "InfoRequest", + " | ", + "InfoRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "InfoResponse", - ", TContext>>; ingest: { deletePipeline(params: ", + ", TContext>>; ingest: { deletePipeline: (params: ", + "IngestDeletePipelineRequest", + " | ", "IngestDeletePipelineRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IngestDeletePipelineResponse", - ", TContext>>; geoIpStats(params?: ", + ", TContext>>; geoIpStats: (params?: ", + "IngestGeoIpStatsRequest", + " | ", "IngestGeoIpStatsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IngestGeoIpStatsResponse", - ", TContext>>; getPipeline(params?: ", + ", TContext>>; getPipeline: (params?: ", + "IngestGetPipelineRequest", + " | ", "IngestGetPipelineRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IngestGetPipelineResponse", - ", TContext>>; processorGrok(params?: ", + ", TContext>>; processorGrok: (params?: ", + "IngestProcessorGrokRequest", + " | ", "IngestProcessorGrokRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IngestProcessorGrokResponse", - ", TContext>>; putPipeline(params: ", + ", TContext>>; putPipeline: (params: ", + "IngestPutPipelineRequest", + " | ", "IngestPutPipelineRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "IngestPutPipelineResponse", - ", TContext>>; simulate(params?: ", - "IngestSimulatePipelineRequest", + ", TContext>>; simulate: (params?: ", + "IngestSimulateRequest", + " | ", + "IngestSimulateRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", - "IngestSimulatePipelineResponse", - ", TContext>>; }; license: { delete(params?: ", + "IngestSimulateResponse", + ", TContext>>; }; knnSearch: (params?: Record | undefined, options?: ", + "TransportRequestOptions", + " | undefined) => Promise<", + "TransportResult", + ", unknown>>; license: { delete: (params?: ", + "LicenseDeleteRequest", + " | ", "LicenseDeleteRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "LicenseDeleteResponse", - ", TContext>>; get(params?: ", + ", TContext>>; get: (params?: ", + "LicenseGetRequest", + " | ", "LicenseGetRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "LicenseGetResponse", - ", TContext>>; getBasicStatus(params?: ", + ", TContext>>; getBasicStatus: (params?: ", + "LicenseGetBasicStatusRequest", + " | ", "LicenseGetBasicStatusRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "LicenseGetBasicStatusResponse", - ", TContext>>; getTrialStatus(params?: ", + ", TContext>>; getTrialStatus: (params?: ", + "LicenseGetTrialStatusRequest", + " | ", "LicenseGetTrialStatusRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "LicenseGetTrialStatusResponse", - ", TContext>>; post(params?: ", + ", TContext>>; post: (params?: ", + "LicensePostRequest", + " | ", "LicensePostRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "LicensePostResponse", - ", TContext>>; postStartBasic(params?: ", + ", TContext>>; postStartBasic: (params?: ", + "LicensePostStartBasicRequest", + " | ", "LicensePostStartBasicRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "LicensePostStartBasicResponse", - ", TContext>>; postStartTrial(params?: ", + ", TContext>>; postStartTrial: (params?: ", + "LicensePostStartTrialRequest", + " | ", "LicensePostStartTrialRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "LicensePostStartTrialResponse", - ", TContext>>; }; logstash: { deletePipeline(params?: Record | undefined, options?: ", + ", TContext>>; }; logstash: { deletePipeline: (params: ", + "LogstashDeletePipelineRequest", + " | ", + "LogstashDeletePipelineRequest", + ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", TContext>>; getPipeline(params?: Record | undefined, options?: ", + " | undefined) => Promise<", + "TransportResult", + ">; getPipeline: (params: ", + "LogstashGetPipelineRequest", + " | ", + "LogstashGetPipelineRequest", + ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", TContext>>; putPipeline(params?: Record | undefined, options?: ", + " | undefined) => Promise<", + "TransportResult", + ", TContext>>; putPipeline: (params: ", + "LogstashPutPipelineRequest", + " | ", + "LogstashPutPipelineRequest", + ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", TContext>>; }; mget: (params?: ", + " | undefined) => Promise<", + "TransportResult", + ">; }; mget: (params?: ", + "MgetRequest", + " | ", "MgetRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MgetResponse", - ", TContext>>; migration: { deprecations(params?: ", - "MigrationDeprecationInfoRequest", + ", TContext>>; migration: { deprecations: (params?: ", + "MigrationDeprecationsRequest", + " | ", + "MigrationDeprecationsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", - "MigrationDeprecationInfoResponse", - ", TContext>>; }; ml: { closeJob(params: ", + "MigrationDeprecationsResponse", + ", TContext>>; getFeatureUpgradeStatus: (params?: Record | undefined, options?: ", + "TransportRequestOptions", + " | undefined) => Promise<", + "TransportResult", + ", unknown>>; postFeatureUpgrade: (params?: Record | undefined, options?: ", + "TransportRequestOptions", + " | undefined) => Promise<", + "TransportResult", + ", unknown>>; }; ml: { closeJob: (params: ", + "MlCloseJobRequest", + " | ", "MlCloseJobRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlCloseJobResponse", - ", TContext>>; deleteCalendar(params: ", + ", TContext>>; deleteCalendar: (params: ", + "MlDeleteCalendarRequest", + " | ", "MlDeleteCalendarRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlDeleteCalendarResponse", - ", TContext>>; deleteCalendarEvent(params: ", + ", TContext>>; deleteCalendarEvent: (params: ", + "MlDeleteCalendarEventRequest", + " | ", "MlDeleteCalendarEventRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlDeleteCalendarEventResponse", - ", TContext>>; deleteCalendarJob(params: ", + ", TContext>>; deleteCalendarJob: (params: ", + "MlDeleteCalendarJobRequest", + " | ", "MlDeleteCalendarJobRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlDeleteCalendarJobResponse", - ", TContext>>; deleteDataFrameAnalytics(params: ", + ", TContext>>; deleteDataFrameAnalytics: (params: ", + "MlDeleteDataFrameAnalyticsRequest", + " | ", "MlDeleteDataFrameAnalyticsRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlDeleteDataFrameAnalyticsResponse", - ", TContext>>; deleteDatafeed(params: ", + ", TContext>>; deleteDatafeed: (params: ", + "MlDeleteDatafeedRequest", + " | ", "MlDeleteDatafeedRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlDeleteDatafeedResponse", - ", TContext>>; deleteExpiredData(params?: ", + ", TContext>>; deleteExpiredData: (params?: ", + "MlDeleteExpiredDataRequest", + " | ", "MlDeleteExpiredDataRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlDeleteExpiredDataResponse", - ", TContext>>; deleteFilter(params: ", + ", TContext>>; deleteFilter: (params: ", + "MlDeleteFilterRequest", + " | ", "MlDeleteFilterRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlDeleteFilterResponse", - ", TContext>>; deleteForecast(params: ", + ", TContext>>; deleteForecast: (params: ", + "MlDeleteForecastRequest", + " | ", "MlDeleteForecastRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlDeleteForecastResponse", - ", TContext>>; deleteJob(params: ", + ", TContext>>; deleteJob: (params: ", + "MlDeleteJobRequest", + " | ", "MlDeleteJobRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlDeleteJobResponse", - ", TContext>>; deleteModelSnapshot(params: ", + ", TContext>>; deleteModelSnapshot: (params: ", + "MlDeleteModelSnapshotRequest", + " | ", "MlDeleteModelSnapshotRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlDeleteModelSnapshotResponse", - ", TContext>>; deleteTrainedModel(params: ", + ", TContext>>; deleteTrainedModel: (params: ", + "MlDeleteTrainedModelRequest", + " | ", "MlDeleteTrainedModelRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlDeleteTrainedModelResponse", - ", TContext>>; deleteTrainedModelAlias(params: ", + ", TContext>>; deleteTrainedModelAlias: (params: ", + "MlDeleteTrainedModelAliasRequest", + " | ", "MlDeleteTrainedModelAliasRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlDeleteTrainedModelAliasResponse", - ", TContext>>; estimateModelMemory(params?: ", + ", TContext>>; estimateModelMemory: (params?: ", + "MlEstimateModelMemoryRequest", + " | ", "MlEstimateModelMemoryRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlEstimateModelMemoryResponse", - ", TContext>>; evaluateDataFrame(params?: ", + ", TContext>>; evaluateDataFrame: (params?: ", + "MlEvaluateDataFrameRequest", + " | ", "MlEvaluateDataFrameRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlEvaluateDataFrameResponse", - ", TContext>>; explainDataFrameAnalytics(params?: ", + ", TContext>>; explainDataFrameAnalytics: (params?: ", "MlExplainDataFrameAnalyticsRequest", - " | undefined, options?: ", - "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - "<", - "MlExplainDataFrameAnalyticsResponse", - ", TContext>>; findFileStructure(params?: Record | undefined, options?: ", + " | ", + "MlExplainDataFrameAnalyticsRequest", + " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", + " | undefined) => Promise<", + "TransportResult", "<", - "ApiResponse", - ", TContext>>; flushJob(params: ", + "MlExplainDataFrameAnalyticsResponse", + ", TContext>>; flushJob: (params: ", + "MlFlushJobRequest", + " | ", "MlFlushJobRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlFlushJobResponse", - ", TContext>>; forecast(params: ", - "MlForecastJobRequest", + ", TContext>>; forecast: (params: ", + "MlForecastRequest", + " | ", + "MlForecastRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", + " | undefined) => Promise<", + "TransportResult", "<", - "ApiResponse", - "<", - "MlForecastJobResponse", - ", TContext>>; getBuckets(params: ", + "MlForecastResponse", + ", TContext>>; getBuckets: (params: ", + "MlGetBucketsRequest", + " | ", "MlGetBucketsRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlGetBucketsResponse", - ", TContext>>; getCalendarEvents(params: ", + ", TContext>>; getCalendarEvents: (params: ", + "MlGetCalendarEventsRequest", + " | ", "MlGetCalendarEventsRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlGetCalendarEventsResponse", - ", TContext>>; getCalendars(params?: ", + ", TContext>>; getCalendars: (params?: ", + "MlGetCalendarsRequest", + " | ", "MlGetCalendarsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlGetCalendarsResponse", - ", TContext>>; getCategories(params: ", + ", TContext>>; getCategories: (params: ", + "MlGetCategoriesRequest", + " | ", "MlGetCategoriesRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlGetCategoriesResponse", - ", TContext>>; getDataFrameAnalytics(params?: ", + ", TContext>>; getDataFrameAnalytics: (params?: ", + "MlGetDataFrameAnalyticsRequest", + " | ", "MlGetDataFrameAnalyticsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlGetDataFrameAnalyticsResponse", - ", TContext>>; getDataFrameAnalyticsStats(params?: ", + ", TContext>>; getDataFrameAnalyticsStats: (params?: ", + "MlGetDataFrameAnalyticsStatsRequest", + " | ", "MlGetDataFrameAnalyticsStatsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlGetDataFrameAnalyticsStatsResponse", - ", TContext>>; getDatafeedStats(params?: ", + ", TContext>>; getDatafeedStats: (params?: ", + "MlGetDatafeedStatsRequest", + " | ", "MlGetDatafeedStatsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlGetDatafeedStatsResponse", - ", TContext>>; getDatafeeds(params?: ", + ", TContext>>; getDatafeeds: (params?: ", + "MlGetDatafeedsRequest", + " | ", "MlGetDatafeedsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlGetDatafeedsResponse", - ", TContext>>; getFilters(params?: ", + ", TContext>>; getFilters: (params?: ", + "MlGetFiltersRequest", + " | ", "MlGetFiltersRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlGetFiltersResponse", - ", TContext>>; getInfluencers(params: ", + ", TContext>>; getInfluencers: (params: ", + "MlGetInfluencersRequest", + " | ", "MlGetInfluencersRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlGetInfluencersResponse", - ", TContext>>; getJobStats(params?: ", + ", TContext>>; getJobStats: (params?: ", + "MlGetJobStatsRequest", + " | ", "MlGetJobStatsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlGetJobStatsResponse", - ", TContext>>; getJobs(params?: ", + ", TContext>>; getJobs: (params?: ", + "MlGetJobsRequest", + " | ", "MlGetJobsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlGetJobsResponse", - ", TContext>>; getModelSnapshots(params: ", + ", TContext>>; getModelSnapshots: (params: ", + "MlGetModelSnapshotsRequest", + " | ", "MlGetModelSnapshotsRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlGetModelSnapshotsResponse", - ", TContext>>; getOverallBuckets(params: ", + ", TContext>>; getOverallBuckets: (params: ", + "MlGetOverallBucketsRequest", + " | ", "MlGetOverallBucketsRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlGetOverallBucketsResponse", - ", TContext>>; getRecords(params: ", - "MlGetAnomalyRecordsRequest", + ", TContext>>; getRecords: (params: ", + "MlGetRecordsRequest", + " | ", + "MlGetRecordsRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", - "MlGetAnomalyRecordsResponse", - ", TContext>>; getTrainedModels(params?: ", + "MlGetRecordsResponse", + ", TContext>>; getTrainedModelDeploymentStats: (params?: Record | undefined, options?: ", + "TransportRequestOptions", + " | undefined) => Promise<", + "TransportResult", + ", unknown>>; getTrainedModels: (params?: ", + "MlGetTrainedModelsRequest", + " | ", "MlGetTrainedModelsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlGetTrainedModelsResponse", - ", TContext>>; getTrainedModelsStats(params?: ", + ", TContext>>; getTrainedModelsStats: (params?: ", + "MlGetTrainedModelsStatsRequest", + " | ", "MlGetTrainedModelsStatsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlGetTrainedModelsStatsResponse", - ", TContext>>; info(params?: ", + ", TContext>>; inferTrainedModelDeployment: (params?: Record | undefined, options?: ", + "TransportRequestOptions", + " | undefined) => Promise<", + "TransportResult", + ", unknown>>; info: (params?: ", + "MlInfoRequest", + " | ", "MlInfoRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlInfoResponse", - ", TContext>>; openJob(params: ", + ", TContext>>; openJob: (params: ", + "MlOpenJobRequest", + " | ", "MlOpenJobRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlOpenJobResponse", - ", TContext>>; postCalendarEvents(params?: ", + ", TContext>>; postCalendarEvents: (params: ", "MlPostCalendarEventsRequest", - " | undefined, options?: ", + " | ", + "MlPostCalendarEventsRequest", + ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlPostCalendarEventsResponse", - ", TContext>>; postData(params: ", - "MlPostJobDataRequest", - ", options?: ", + ", TContext>>; postData: (params: ", + "MlPostDataRequest", + " | ", + "MlPostDataRequest", + ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", - "MlPostJobDataResponse", - ", TContext>>; previewDataFrameAnalytics(params?: ", + "MlPostDataResponse", + ", TContext>>; previewDataFrameAnalytics: (params?: ", + "MlPreviewDataFrameAnalyticsRequest", + " | ", "MlPreviewDataFrameAnalyticsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlPreviewDataFrameAnalyticsResponse", - ", TContext>>; previewDatafeed(params?: ", + ", TContext>>; previewDatafeed: (params?: ", + "MlPreviewDatafeedRequest", + " | ", "MlPreviewDatafeedRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlPreviewDatafeedResponse", - ", TContext>>; putCalendar(params: ", + ", TContext>>; putCalendar: (params: ", + "MlPutCalendarRequest", + " | ", "MlPutCalendarRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlPutCalendarResponse", - ", TContext>>; putCalendarJob(params: ", + ", TContext>>; putCalendarJob: (params: ", + "MlPutCalendarJobRequest", + " | ", "MlPutCalendarJobRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlPutCalendarJobResponse", - ", TContext>>; putDataFrameAnalytics(params: ", + ", TContext>>; putDataFrameAnalytics: (params: ", + "MlPutDataFrameAnalyticsRequest", + " | ", "MlPutDataFrameAnalyticsRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlPutDataFrameAnalyticsResponse", - ", TContext>>; putDatafeed(params: ", + ", TContext>>; putDatafeed: (params: ", + "MlPutDatafeedRequest", + " | ", "MlPutDatafeedRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlPutDatafeedResponse", - ", TContext>>; putFilter(params: ", + ", TContext>>; putFilter: (params: ", + "MlPutFilterRequest", + " | ", "MlPutFilterRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlPutFilterResponse", - ", TContext>>; putJob(params: ", + ", TContext>>; putJob: (params: ", + "MlPutJobRequest", + " | ", "MlPutJobRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlPutJobResponse", - ", TContext>>; putTrainedModel(params?: Record | undefined, options?: ", + ", TContext>>; putTrainedModel: (params: ", + "MlPutTrainedModelRequest", + " | ", + "MlPutTrainedModelRequest", + ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", + " | undefined) => Promise<", + "TransportResult", "<", - "ApiResponse", - ", TContext>>; putTrainedModelAlias(params: ", + "MlTrainedModelConfig", + ", TContext>>; putTrainedModelAlias: (params: ", + "MlPutTrainedModelAliasRequest", + " | ", "MlPutTrainedModelAliasRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlPutTrainedModelAliasResponse", - ", TContext>>; resetJob(params: ", + ", TContext>>; putTrainedModelDefinitionPart: (params?: Record | undefined, options?: ", + "TransportRequestOptions", + " | undefined) => Promise<", + "TransportResult", + ", unknown>>; putTrainedModelVocabulary: (params?: Record | undefined, options?: ", + "TransportRequestOptions", + " | undefined) => Promise<", + "TransportResult", + ", unknown>>; resetJob: (params: ", + "MlResetJobRequest", + " | ", "MlResetJobRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlResetJobResponse", - ", TContext>>; revertModelSnapshot(params: ", + ", TContext>>; revertModelSnapshot: (params: ", + "MlRevertModelSnapshotRequest", + " | ", "MlRevertModelSnapshotRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlRevertModelSnapshotResponse", - ", TContext>>; setUpgradeMode(params?: ", + ", TContext>>; setUpgradeMode: (params?: ", + "MlSetUpgradeModeRequest", + " | ", "MlSetUpgradeModeRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlSetUpgradeModeResponse", - ", TContext>>; startDataFrameAnalytics(params: ", + ", TContext>>; startDataFrameAnalytics: (params: ", + "MlStartDataFrameAnalyticsRequest", + " | ", "MlStartDataFrameAnalyticsRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlStartDataFrameAnalyticsResponse", - ", TContext>>; startDatafeed(params: ", + ", TContext>>; startDatafeed: (params: ", + "MlStartDatafeedRequest", + " | ", "MlStartDatafeedRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlStartDatafeedResponse", - ", TContext>>; stopDataFrameAnalytics(params: ", + ", TContext>>; startTrainedModelDeployment: (params?: Record | undefined, options?: ", + "TransportRequestOptions", + " | undefined) => Promise<", + "TransportResult", + ", unknown>>; stopDataFrameAnalytics: (params: ", + "MlStopDataFrameAnalyticsRequest", + " | ", "MlStopDataFrameAnalyticsRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlStopDataFrameAnalyticsResponse", - ", TContext>>; stopDatafeed(params: ", + ", TContext>>; stopDatafeed: (params: ", + "MlStopDatafeedRequest", + " | ", "MlStopDatafeedRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlStopDatafeedResponse", - ", TContext>>; updateDataFrameAnalytics(params: ", + ", TContext>>; stopTrainedModelDeployment: (params?: Record | undefined, options?: ", + "TransportRequestOptions", + " | undefined) => Promise<", + "TransportResult", + ", unknown>>; updateDataFrameAnalytics: (params: ", + "MlUpdateDataFrameAnalyticsRequest", + " | ", "MlUpdateDataFrameAnalyticsRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlUpdateDataFrameAnalyticsResponse", - ", TContext>>; updateDatafeed(params?: Record | undefined, options?: ", + ", TContext>>; updateDatafeed: (params?: Record | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", TContext>>; updateFilter(params: ", + " | undefined) => Promise<", + "TransportResult", + ", unknown>>; updateFilter: (params: ", + "MlUpdateFilterRequest", + " | ", "MlUpdateFilterRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlUpdateFilterResponse", - ", TContext>>; updateJob(params?: Record | undefined, options?: ", + ", TContext>>; updateJob: (params: ", + "MlUpdateJobRequest", + " | ", + "MlUpdateJobRequest", + ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", + " | undefined) => Promise<", + "TransportResult", "<", - "ApiResponse", - ", TContext>>; updateModelSnapshot(params: ", + "MlUpdateJobResponse", + ", TContext>>; updateModelSnapshot: (params: ", + "MlUpdateModelSnapshotRequest", + " | ", "MlUpdateModelSnapshotRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlUpdateModelSnapshotResponse", - ", TContext>>; upgradeJobSnapshot(params: ", + ", TContext>>; upgradeJobSnapshot: (params: ", + "MlUpgradeJobSnapshotRequest", + " | ", "MlUpgradeJobSnapshotRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlUpgradeJobSnapshotResponse", - ", TContext>>; validate(params?: ", - "MlValidateJobRequest", + ", TContext>>; validate: (params?: ", + "MlValidateRequest", + " | ", + "MlValidateRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", - "MlValidateJobResponse", - ", TContext>>; validateDetector(params?: ", + "MlValidateResponse", + ", TContext>>; validateDetector: (params?: ", + "MlValidateDetectorRequest", + " | ", "MlValidateDetectorRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MlValidateDetectorResponse", ", TContext>>; }; msearch: (params?: ", "MsearchRequest", + " | ", + "MsearchRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MsearchResponse", ", TContext>>; msearchTemplate: (params?: ", "MsearchTemplateRequest", + " | ", + "MsearchTemplateRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MsearchTemplateResponse", ", TContext>>; mtermvectors: (params?: ", "MtermvectorsRequest", + " | ", + "MtermvectorsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "MtermvectorsResponse", - ", TContext>>; nodes: { clearMeteringArchive(params?: Record | undefined, options?: ", + ", TContext>>; nodes: { clearRepositoriesMeteringArchive: (params?: Record | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", TContext>>; getMeteringInfo(params?: Record | undefined, options?: ", + " | undefined) => Promise<", + "TransportResult", + ", unknown>>; getRepositoriesMeteringInfo: (params?: Record | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", TContext>>; hotThreads(params?: ", + " | undefined) => Promise<", + "TransportResult", + ", unknown>>; hotThreads: (params?: ", + "NodesHotThreadsRequest", + " | ", "NodesHotThreadsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "NodesHotThreadsResponse", - ", TContext>>; info(params?: ", + ", TContext>>; info: (params?: ", + "NodesInfoRequest", + " | ", "NodesInfoRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "NodesInfoResponse", - ", TContext>>; reloadSecureSettings(params?: ", + ", TContext>>; reloadSecureSettings: (params?: ", + "NodesReloadSecureSettingsRequest", + " | ", "NodesReloadSecureSettingsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "NodesReloadSecureSettingsResponse", - ", TContext>>; stats(params?: ", + ", TContext>>; stats: (params?: ", + "NodesStatsRequest", + " | ", "NodesStatsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "NodesStatsResponse", - ", TContext>>; usage(params?: ", + ", TContext>>; usage: (params?: ", + "NodesUsageRequest", + " | ", "NodesUsageRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "NodesUsageResponse", ", TContext>>; }; openPointInTime: (params: ", "OpenPointInTimeRequest", + " | ", + "OpenPointInTimeRequest", ", options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "OpenPointInTimeResponse", ", TContext>>; ping: (params?: ", "PingRequest", + " | ", + "PingRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", ">; putScript: (params: ", "PutScriptRequest", + " | ", + "PutScriptRequest", ", options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "PutScriptResponse", ", TContext>>; rankEval: (params: ", "RankEvalRequest", + " | ", + "RankEvalRequest", ", options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "RankEvalResponse", ", TContext>>; reindex: (params?: ", "ReindexRequest", + " | ", + "ReindexRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "ReindexResponse", ", TContext>>; reindexRethrottle: (params: ", "ReindexRethrottleRequest", + " | ", + "ReindexRethrottleRequest", ", options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "ReindexRethrottleResponse", ", TContext>>; renderSearchTemplate: (params?: ", "RenderSearchTemplateRequest", + " | ", + "RenderSearchTemplateRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "RenderSearchTemplateResponse", - ", TContext>>; rollup: { deleteJob(params: ", - "RollupDeleteRollupJobRequest", + ", TContext>>; rollup: { deleteJob: (params: ", + "RollupDeleteJobRequest", + " | ", + "RollupDeleteJobRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", + " | undefined) => Promise<", + "TransportResult", "<", - "ApiResponse", - "<", - "RollupDeleteRollupJobResponse", - ", TContext>>; getJobs(params?: ", - "RollupGetRollupJobRequest", + "RollupDeleteJobResponse", + ", TContext>>; getJobs: (params?: ", + "RollupGetJobsRequest", + " | ", + "RollupGetJobsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", - "RollupGetRollupJobResponse", - ", TContext>>; getRollupCaps(params?: ", - "RollupGetRollupCapabilitiesRequest", + "RollupGetJobsResponse", + ", TContext>>; getRollupCaps: (params?: ", + "RollupGetRollupCapsRequest", + " | ", + "RollupGetRollupCapsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", + " | undefined) => Promise<", + "TransportResult", "<", - "ApiResponse", - "<", - "RollupGetRollupCapabilitiesResponse", - ", TContext>>; getRollupIndexCaps(params: ", - "RollupGetRollupIndexCapabilitiesRequest", + "RollupGetRollupCapsResponse", + ", TContext>>; getRollupIndexCaps: (params: ", + "RollupGetRollupIndexCapsRequest", + " | ", + "RollupGetRollupIndexCapsRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", - "RollupGetRollupIndexCapabilitiesResponse", - ", TContext>>; putJob(params: ", - "RollupCreateRollupJobRequest", + "RollupGetRollupIndexCapsResponse", + ", TContext>>; putJob: (params: ", + "RollupPutJobRequest", + " | ", + "RollupPutJobRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", + " | undefined) => Promise<", + "TransportResult", "<", - "ApiResponse", - "<", - "RollupCreateRollupJobResponse", - ", TContext>>; rollup(params?: Record | undefined, options?: ", + "RollupPutJobResponse", + ", TContext>>; rollup: (params: ", + "RollupRollupRequest", + " | ", + "RollupRollupRequest", + ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", TContext>>; rollupSearch(params: ", + " | undefined) => Promise<", + "TransportResult", + ">; rollupSearch: (params: ", + "RollupRollupSearchRequest", + " | ", "RollupRollupSearchRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "RollupRollupSearchResponse", - ", TContext>>; startJob(params: ", - "RollupStartRollupJobRequest", + ", TContext>>; startJob: (params: ", + "RollupStartJobRequest", + " | ", + "RollupStartJobRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", - "RollupStartRollupJobResponse", - ", TContext>>; stopJob(params: ", - "RollupStopRollupJobRequest", + "RollupStartJobResponse", + ", TContext>>; stopJob: (params: ", + "RollupStopJobRequest", + " | ", + "RollupStopJobRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", + " | undefined) => Promise<", + "TransportResult", "<", - "ApiResponse", - "<", - "RollupStopRollupJobResponse", + "RollupStopJobResponse", ", TContext>>; }; scriptsPainlessExecute: (params?: ", "ScriptsPainlessExecuteRequest", + " | ", + "ScriptsPainlessExecuteRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "ScriptsPainlessExecuteResponse", ", TContext>>; scroll: (params?: ", "ScrollRequest", + " | ", + "ScrollRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "ScrollResponse", - ", TContext>>; searchShards: (params?: ", + ", TContext>>; searchMvt: (params: ", + "SearchMvtRequest", + " | ", + "SearchMvtRequest", + ", options?: ", + "TransportRequestOptions", + " | undefined) => Promise<", + "TransportResult", + ">; searchShards: (params?: ", + "SearchShardsRequest", + " | ", "SearchShardsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SearchShardsResponse", ", TContext>>; searchTemplate: (params?: ", "SearchTemplateRequest", + " | ", + "SearchTemplateRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SearchTemplateResponse", - ", TContext>>; searchableSnapshots: { cacheStats(params?: Record | undefined, options?: ", + ", TContext>>; searchableSnapshots: { cacheStats: (params?: Record | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", TContext>>; clearCache(params?: Record | undefined, options?: ", + " | undefined) => Promise<", + "TransportResult", + ", unknown>>; clearCache: (params?: ", + "SearchableSnapshotsClearCacheRequest", + " | ", + "SearchableSnapshotsClearCacheRequest", + " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", TContext>>; mount(params: ", + " | undefined) => Promise<", + "TransportResult", + ">; mount: (params: ", + "SearchableSnapshotsMountRequest", + " | ", "SearchableSnapshotsMountRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SearchableSnapshotsMountResponse", - ", TContext>>; repositoryStats(params?: Record | undefined, options?: ", - "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", TContext>>; stats(params?: Record | undefined, options?: ", + ", TContext>>; stats: (params?: ", + "SearchableSnapshotsStatsRequest", + " | ", + "SearchableSnapshotsStatsRequest", + " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", + " | undefined) => Promise<", + "TransportResult", "<", - "ApiResponse", - ", TContext>>; }; shutdown: { deleteNode(params?: Record | undefined, options?: ", + "SearchableSnapshotsStatsResponse", + ", TContext>>; }; shutdown: { deleteNode: (params: ", + "ShutdownDeleteNodeRequest", + " | ", + "ShutdownDeleteNodeRequest", + ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", + " | undefined) => Promise<", + "TransportResult", "<", - "ApiResponse", - ", TContext>>; getNode(params?: Record | undefined, options?: ", + "ShutdownDeleteNodeResponse", + ", TContext>>; getNode: (params?: ", + "ShutdownGetNodeRequest", + " | ", + "ShutdownGetNodeRequest", + " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", + " | undefined) => Promise<", + "TransportResult", "<", - "ApiResponse", - ", TContext>>; putNode(params?: Record | undefined, options?: ", + "ShutdownGetNodeResponse", + ", TContext>>; putNode: (params: ", + "ShutdownPutNodeRequest", + " | ", + "ShutdownPutNodeRequest", + ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", + " | undefined) => Promise<", + "TransportResult", "<", - "ApiResponse", - ", TContext>>; }; slm: { deleteLifecycle(params: ", + "ShutdownPutNodeResponse", + ", TContext>>; }; slm: { deleteLifecycle: (params: ", + "SlmDeleteLifecycleRequest", + " | ", "SlmDeleteLifecycleRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SlmDeleteLifecycleResponse", - ", TContext>>; executeLifecycle(params: ", + ", TContext>>; executeLifecycle: (params: ", + "SlmExecuteLifecycleRequest", + " | ", "SlmExecuteLifecycleRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SlmExecuteLifecycleResponse", - ", TContext>>; executeRetention(params?: ", + ", TContext>>; executeRetention: (params?: ", + "SlmExecuteRetentionRequest", + " | ", "SlmExecuteRetentionRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SlmExecuteRetentionResponse", - ", TContext>>; getLifecycle(params?: ", + ", TContext>>; getLifecycle: (params?: ", + "SlmGetLifecycleRequest", + " | ", "SlmGetLifecycleRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SlmGetLifecycleResponse", - ", TContext>>; getStats(params?: ", + ", TContext>>; getStats: (params?: ", + "SlmGetStatsRequest", + " | ", "SlmGetStatsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SlmGetStatsResponse", - ", TContext>>; getStatus(params?: ", + ", TContext>>; getStatus: (params?: ", + "SlmGetStatusRequest", + " | ", "SlmGetStatusRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SlmGetStatusResponse", - ", TContext>>; putLifecycle(params: ", + ", TContext>>; putLifecycle: (params: ", + "SlmPutLifecycleRequest", + " | ", "SlmPutLifecycleRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SlmPutLifecycleResponse", - ", TContext>>; start(params?: ", + ", TContext>>; start: (params?: ", + "SlmStartRequest", + " | ", "SlmStartRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SlmStartResponse", - ", TContext>>; stop(params?: ", + ", TContext>>; stop: (params?: ", + "SlmStopRequest", + " | ", "SlmStopRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SlmStopResponse", - ", TContext>>; }; snapshot: { cleanupRepository(params: ", + ", TContext>>; }; snapshot: { cleanupRepository: (params: ", + "SnapshotCleanupRepositoryRequest", + " | ", "SnapshotCleanupRepositoryRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SnapshotCleanupRepositoryResponse", - ", TContext>>; clone(params: ", + ", TContext>>; clone: (params: ", + "SnapshotCloneRequest", + " | ", "SnapshotCloneRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SnapshotCloneResponse", - ", TContext>>; create(params: ", + ", TContext>>; create: (params: ", + "SnapshotCreateRequest", + " | ", "SnapshotCreateRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SnapshotCreateResponse", - ", TContext>>; createRepository(params: ", + ", TContext>>; createRepository: (params: ", + "SnapshotCreateRepositoryRequest", + " | ", "SnapshotCreateRepositoryRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SnapshotCreateRepositoryResponse", - ", TContext>>; delete(params: ", + ", TContext>>; delete: (params: ", + "SnapshotDeleteRequest", + " | ", "SnapshotDeleteRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SnapshotDeleteResponse", - ", TContext>>; deleteRepository(params: ", + ", TContext>>; deleteRepository: (params: ", + "SnapshotDeleteRepositoryRequest", + " | ", "SnapshotDeleteRepositoryRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SnapshotDeleteRepositoryResponse", - ", TContext>>; get(params: ", + ", TContext>>; get: (params: ", + "SnapshotGetRequest", + " | ", "SnapshotGetRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SnapshotGetResponse", - ", TContext>>; getRepository(params?: ", + ", TContext>>; getRepository: (params?: ", + "SnapshotGetRepositoryRequest", + " | ", "SnapshotGetRepositoryRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SnapshotGetRepositoryResponse", - ", TContext>>; repositoryAnalyze(params?: Record | undefined, options?: ", + ", TContext>>; repositoryAnalyze: (params?: Record | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", TContext>>; restore(params: ", + " | undefined) => Promise<", + "TransportResult", + ", unknown>>; restore: (params: ", + "SnapshotRestoreRequest", + " | ", "SnapshotRestoreRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SnapshotRestoreResponse", - ", TContext>>; status(params?: ", + ", TContext>>; status: (params?: ", + "SnapshotStatusRequest", + " | ", "SnapshotStatusRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SnapshotStatusResponse", - ", TContext>>; verifyRepository(params: ", + ", TContext>>; verifyRepository: (params: ", + "SnapshotVerifyRepositoryRequest", + " | ", "SnapshotVerifyRepositoryRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SnapshotVerifyRepositoryResponse", - ", TContext>>; }; sql: { clearCursor(params?: ", + ", TContext>>; }; sql: { clearCursor: (params?: ", + "SqlClearCursorRequest", + " | ", "SqlClearCursorRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SqlClearCursorResponse", - ", TContext>>; deleteAsync(params?: Record | undefined, options?: ", + ", TContext>>; deleteAsync: (params?: Record | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", TContext>>; getAsync(params?: Record | undefined, options?: ", + " | undefined) => Promise<", + "TransportResult", + ", unknown>>; getAsync: (params?: Record | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", TContext>>; getAsyncStatus(params?: Record | undefined, options?: ", + " | undefined) => Promise<", + "TransportResult", + ", unknown>>; getAsyncStatus: (params?: Record | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", TContext>>; query(params?: ", + " | undefined) => Promise<", + "TransportResult", + ", unknown>>; query: (params?: ", + "SqlQueryRequest", + " | ", "SqlQueryRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SqlQueryResponse", - ", TContext>>; translate(params?: ", + ", TContext>>; translate: (params?: ", + "SqlTranslateRequest", + " | ", "SqlTranslateRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "SqlTranslateResponse", - ", TContext>>; }; ssl: { certificates(params?: ", - "SslGetCertificatesRequest", + ", TContext>>; }; ssl: { certificates: (params?: ", + "SslCertificatesRequest", + " | ", + "SslCertificatesRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", - "SslGetCertificatesResponse", - ", TContext>>; }; tasks: { cancel(params?: ", - "TaskCancelRequest", + "SslCertificatesResponse", + ", TContext>>; }; tasks: { cancel: (params?: ", + "TasksCancelRequest", + " | ", + "TasksCancelRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", + " | undefined) => Promise<", + "TransportResult", "<", - "ApiResponse", - "<", - "TaskCancelResponse", - ", TContext>>; get(params: ", - "TaskGetRequest", + "TasksCancelResponse", + ", TContext>>; get: (params: ", + "TasksGetRequest", + " | ", + "TasksGetRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", - "TaskGetResponse", - ", TContext>>; list(params?: ", - "TaskListRequest", + "TasksGetResponse", + ", TContext>>; list: (params?: ", + "TasksListRequest", + " | ", + "TasksListRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", + " | undefined) => Promise<", + "TransportResult", "<", - "ApiResponse", - "<", - "TaskListResponse", + "TasksListResponse", ", TContext>>; }; termsEnum: (params: ", "TermsEnumRequest", + " | ", + "TermsEnumRequest", ", options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "TermsEnumResponse", ", TContext>>; termvectors: (params: ", "TermvectorsRequest", + " | ", + "TermvectorsRequest", ", options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "TermvectorsResponse", - ", TContext>>; textStructure: { findStructure(params: ", + ", TContext>>; textStructure: { findStructure: (params: ", + "TextStructureFindStructureRequest", + " | ", "TextStructureFindStructureRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "TextStructureFindStructureResponse", ", TContext>>; }; updateByQuery: (params: ", "UpdateByQueryRequest", + " | ", + "UpdateByQueryRequest", ", options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "UpdateByQueryResponse", ", TContext>>; updateByQueryRethrottle: (params: ", "UpdateByQueryRethrottleRequest", + " | ", + "UpdateByQueryRethrottleRequest", ", options?: ", "TransportRequestOptions", - " | undefined) => ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "UpdateByQueryRethrottleResponse", - ", TContext>>; watcher: { ackWatch(params: ", + ", TContext>>; watcher: { ackWatch: (params: ", + "WatcherAckWatchRequest", + " | ", "WatcherAckWatchRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "WatcherAckWatchResponse", - ", TContext>>; activateWatch(params: ", + ", TContext>>; activateWatch: (params: ", + "WatcherActivateWatchRequest", + " | ", "WatcherActivateWatchRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "WatcherActivateWatchResponse", - ", TContext>>; deactivateWatch(params: ", + ", TContext>>; deactivateWatch: (params: ", + "WatcherDeactivateWatchRequest", + " | ", "WatcherDeactivateWatchRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "WatcherDeactivateWatchResponse", - ", TContext>>; deleteWatch(params: ", + ", TContext>>; deleteWatch: (params: ", + "WatcherDeleteWatchRequest", + " | ", "WatcherDeleteWatchRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "WatcherDeleteWatchResponse", - ", TContext>>; executeWatch(params?: ", + ", TContext>>; executeWatch: (params?: ", + "WatcherExecuteWatchRequest", + " | ", "WatcherExecuteWatchRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "WatcherExecuteWatchResponse", - ", TContext>>; getWatch(params: ", + ", TContext>>; getWatch: (params: ", + "WatcherGetWatchRequest", + " | ", "WatcherGetWatchRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "WatcherGetWatchResponse", - ", TContext>>; putWatch(params: ", + ", TContext>>; putWatch: (params: ", + "WatcherPutWatchRequest", + " | ", "WatcherPutWatchRequest", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "WatcherPutWatchResponse", - ", TContext>>; queryWatches(params?: Record | undefined, options?: ", + ", TContext>>; queryWatches: (params?: ", + "WatcherQueryWatchesRequest", + " | ", + "WatcherQueryWatchesRequest", + " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", + " | undefined) => Promise<", + "TransportResult", "<", - "ApiResponse", - ", TContext>>; start(params?: ", + "WatcherQueryWatchesResponse", + ", TContext>>; start: (params?: ", + "WatcherStartRequest", + " | ", "WatcherStartRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "WatcherStartResponse", - ", TContext>>; stats(params?: ", + ", TContext>>; stats: (params?: ", + "WatcherStatsRequest", + " | ", "WatcherStatsRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "WatcherStatsResponse", - ", TContext>>; stop(params?: ", + ", TContext>>; stop: (params?: ", + "WatcherStopRequest", + " | ", "WatcherStopRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "WatcherStopResponse", - ", TContext>>; }; xpack: { info(params?: ", + ", TContext>>; }; xpack: { info: (params?: ", + "XpackInfoRequest", + " | ", "XpackInfoRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "XpackInfoResponse", - ", TContext>>; usage(params?: ", + ", TContext>>; usage: (params?: ", + "XpackUsageRequest", + " | ", "XpackUsageRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", + " | undefined) => Promise<", + "TransportResult", "<", "XpackUsageResponse", ", TContext>>; }; }" @@ -7918,7 +7977,7 @@ "signature": [ "(esClient: Pick<", "KibanaClient", - ", \"monitoring\" | \"security\" | \"create\" | \"index\" | \"delete\" | \"get\" | \"update\" | \"closePointInTime\" | \"search\" | \"transform\" | \"eql\" | \"helpers\" | \"emit\" | \"on\" | \"once\" | \"off\" | \"asyncSearch\" | \"autoscaling\" | \"bulk\" | \"cat\" | \"ccr\" | \"clearScroll\" | \"cluster\" | \"count\" | \"danglingIndices\" | \"dataFrameTransformDeprecated\" | \"deleteByQuery\" | \"deleteByQueryRethrottle\" | \"deleteScript\" | \"enrich\" | \"exists\" | \"existsSource\" | \"explain\" | \"features\" | \"fieldCaps\" | \"fleet\" | \"getScript\" | \"getScriptContext\" | \"getScriptLanguages\" | \"getSource\" | \"graph\" | \"ilm\" | \"indices\" | \"info\" | \"ingest\" | \"license\" | \"logstash\" | \"mget\" | \"migration\" | \"ml\" | \"msearch\" | \"msearchTemplate\" | \"mtermvectors\" | \"nodes\" | \"openPointInTime\" | \"ping\" | \"putScript\" | \"rankEval\" | \"reindex\" | \"reindexRethrottle\" | \"renderSearchTemplate\" | \"rollup\" | \"scriptsPainlessExecute\" | \"scroll\" | \"searchShards\" | \"searchTemplate\" | \"searchableSnapshots\" | \"shutdown\" | \"slm\" | \"snapshot\" | \"sql\" | \"ssl\" | \"tasks\" | \"termsEnum\" | \"termvectors\" | \"textStructure\" | \"updateByQuery\" | \"updateByQueryRethrottle\" | \"watcher\" | \"xpack\">, index: string) => Promise" + ", \"monitoring\" | \"security\" | \"create\" | \"name\" | \"index\" | \"delete\" | \"get\" | \"update\" | \"closePointInTime\" | \"search\" | \"transform\" | \"eql\" | \"helpers\" | \"asyncSearch\" | \"autoscaling\" | \"bulk\" | \"cat\" | \"ccr\" | \"clearScroll\" | \"cluster\" | \"count\" | \"danglingIndices\" | \"deleteByQuery\" | \"deleteByQueryRethrottle\" | \"deleteScript\" | \"enrich\" | \"exists\" | \"existsSource\" | \"explain\" | \"features\" | \"fieldCaps\" | \"fleet\" | \"getScript\" | \"getScriptContext\" | \"getScriptLanguages\" | \"getSource\" | \"graph\" | \"ilm\" | \"indices\" | \"info\" | \"ingest\" | \"knnSearch\" | \"license\" | \"logstash\" | \"mget\" | \"migration\" | \"ml\" | \"msearch\" | \"msearchTemplate\" | \"mtermvectors\" | \"nodes\" | \"openPointInTime\" | \"ping\" | \"putScript\" | \"rankEval\" | \"reindex\" | \"reindexRethrottle\" | \"renderSearchTemplate\" | \"rollup\" | \"scriptsPainlessExecute\" | \"scroll\" | \"searchMvt\" | \"searchShards\" | \"searchTemplate\" | \"searchableSnapshots\" | \"shutdown\" | \"slm\" | \"snapshot\" | \"sql\" | \"ssl\" | \"tasks\" | \"termsEnum\" | \"termvectors\" | \"textStructure\" | \"updateByQuery\" | \"updateByQueryRethrottle\" | \"watcher\" | \"xpack\">, index: string) => Promise" ], "path": "packages/kbn-securitysolution-es-utils/src/get_index_exists/index.ts", "deprecated": false, @@ -7933,7 +7992,7 @@ "signature": [ "Pick<", "KibanaClient", - ", \"monitoring\" | \"security\" | \"create\" | \"index\" | \"delete\" | \"get\" | \"update\" | \"closePointInTime\" | \"search\" | \"transform\" | \"eql\" | \"helpers\" | \"emit\" | \"on\" | \"once\" | \"off\" | \"asyncSearch\" | \"autoscaling\" | \"bulk\" | \"cat\" | \"ccr\" | \"clearScroll\" | \"cluster\" | \"count\" | \"danglingIndices\" | \"dataFrameTransformDeprecated\" | \"deleteByQuery\" | \"deleteByQueryRethrottle\" | \"deleteScript\" | \"enrich\" | \"exists\" | \"existsSource\" | \"explain\" | \"features\" | \"fieldCaps\" | \"fleet\" | \"getScript\" | \"getScriptContext\" | \"getScriptLanguages\" | \"getSource\" | \"graph\" | \"ilm\" | \"indices\" | \"info\" | \"ingest\" | \"license\" | \"logstash\" | \"mget\" | \"migration\" | \"ml\" | \"msearch\" | \"msearchTemplate\" | \"mtermvectors\" | \"nodes\" | \"openPointInTime\" | \"ping\" | \"putScript\" | \"rankEval\" | \"reindex\" | \"reindexRethrottle\" | \"renderSearchTemplate\" | \"rollup\" | \"scriptsPainlessExecute\" | \"scroll\" | \"searchShards\" | \"searchTemplate\" | \"searchableSnapshots\" | \"shutdown\" | \"slm\" | \"snapshot\" | \"sql\" | \"ssl\" | \"tasks\" | \"termsEnum\" | \"termvectors\" | \"textStructure\" | \"updateByQuery\" | \"updateByQueryRethrottle\" | \"watcher\" | \"xpack\">" + ", \"monitoring\" | \"security\" | \"create\" | \"name\" | \"index\" | \"delete\" | \"get\" | \"update\" | \"closePointInTime\" | \"search\" | \"transform\" | \"eql\" | \"helpers\" | \"asyncSearch\" | \"autoscaling\" | \"bulk\" | \"cat\" | \"ccr\" | \"clearScroll\" | \"cluster\" | \"count\" | \"danglingIndices\" | \"deleteByQuery\" | \"deleteByQueryRethrottle\" | \"deleteScript\" | \"enrich\" | \"exists\" | \"existsSource\" | \"explain\" | \"features\" | \"fieldCaps\" | \"fleet\" | \"getScript\" | \"getScriptContext\" | \"getScriptLanguages\" | \"getSource\" | \"graph\" | \"ilm\" | \"indices\" | \"info\" | \"ingest\" | \"knnSearch\" | \"license\" | \"logstash\" | \"mget\" | \"migration\" | \"ml\" | \"msearch\" | \"msearchTemplate\" | \"mtermvectors\" | \"nodes\" | \"openPointInTime\" | \"ping\" | \"putScript\" | \"rankEval\" | \"reindex\" | \"reindexRethrottle\" | \"renderSearchTemplate\" | \"rollup\" | \"scriptsPainlessExecute\" | \"scroll\" | \"searchMvt\" | \"searchShards\" | \"searchTemplate\" | \"searchableSnapshots\" | \"shutdown\" | \"slm\" | \"snapshot\" | \"sql\" | \"ssl\" | \"tasks\" | \"termsEnum\" | \"termvectors\" | \"textStructure\" | \"updateByQuery\" | \"updateByQueryRethrottle\" | \"watcher\" | \"xpack\">" ], "path": "packages/kbn-securitysolution-es-utils/src/get_index_exists/index.ts", "deprecated": false, @@ -7967,7 +8026,7 @@ "signature": [ "(esClient: Pick<", "KibanaClient", - ", \"monitoring\" | \"security\" | \"create\" | \"index\" | \"delete\" | \"get\" | \"update\" | \"closePointInTime\" | \"search\" | \"transform\" | \"eql\" | \"helpers\" | \"emit\" | \"on\" | \"once\" | \"off\" | \"asyncSearch\" | \"autoscaling\" | \"bulk\" | \"cat\" | \"ccr\" | \"clearScroll\" | \"cluster\" | \"count\" | \"danglingIndices\" | \"dataFrameTransformDeprecated\" | \"deleteByQuery\" | \"deleteByQueryRethrottle\" | \"deleteScript\" | \"enrich\" | \"exists\" | \"existsSource\" | \"explain\" | \"features\" | \"fieldCaps\" | \"fleet\" | \"getScript\" | \"getScriptContext\" | \"getScriptLanguages\" | \"getSource\" | \"graph\" | \"ilm\" | \"indices\" | \"info\" | \"ingest\" | \"license\" | \"logstash\" | \"mget\" | \"migration\" | \"ml\" | \"msearch\" | \"msearchTemplate\" | \"mtermvectors\" | \"nodes\" | \"openPointInTime\" | \"ping\" | \"putScript\" | \"rankEval\" | \"reindex\" | \"reindexRethrottle\" | \"renderSearchTemplate\" | \"rollup\" | \"scriptsPainlessExecute\" | \"scroll\" | \"searchShards\" | \"searchTemplate\" | \"searchableSnapshots\" | \"shutdown\" | \"slm\" | \"snapshot\" | \"sql\" | \"ssl\" | \"tasks\" | \"termsEnum\" | \"termvectors\" | \"textStructure\" | \"updateByQuery\" | \"updateByQueryRethrottle\" | \"watcher\" | \"xpack\">, policy: string) => Promise" + ", \"monitoring\" | \"security\" | \"create\" | \"name\" | \"index\" | \"delete\" | \"get\" | \"update\" | \"closePointInTime\" | \"search\" | \"transform\" | \"eql\" | \"helpers\" | \"asyncSearch\" | \"autoscaling\" | \"bulk\" | \"cat\" | \"ccr\" | \"clearScroll\" | \"cluster\" | \"count\" | \"danglingIndices\" | \"deleteByQuery\" | \"deleteByQueryRethrottle\" | \"deleteScript\" | \"enrich\" | \"exists\" | \"existsSource\" | \"explain\" | \"features\" | \"fieldCaps\" | \"fleet\" | \"getScript\" | \"getScriptContext\" | \"getScriptLanguages\" | \"getSource\" | \"graph\" | \"ilm\" | \"indices\" | \"info\" | \"ingest\" | \"knnSearch\" | \"license\" | \"logstash\" | \"mget\" | \"migration\" | \"ml\" | \"msearch\" | \"msearchTemplate\" | \"mtermvectors\" | \"nodes\" | \"openPointInTime\" | \"ping\" | \"putScript\" | \"rankEval\" | \"reindex\" | \"reindexRethrottle\" | \"renderSearchTemplate\" | \"rollup\" | \"scriptsPainlessExecute\" | \"scroll\" | \"searchMvt\" | \"searchShards\" | \"searchTemplate\" | \"searchableSnapshots\" | \"shutdown\" | \"slm\" | \"snapshot\" | \"sql\" | \"ssl\" | \"tasks\" | \"termsEnum\" | \"termvectors\" | \"textStructure\" | \"updateByQuery\" | \"updateByQueryRethrottle\" | \"watcher\" | \"xpack\">, name: string) => Promise" ], "path": "packages/kbn-securitysolution-es-utils/src/get_policy_exists/index.ts", "deprecated": false, @@ -7982,7 +8041,7 @@ "signature": [ "Pick<", "KibanaClient", - ", \"monitoring\" | \"security\" | \"create\" | \"index\" | \"delete\" | \"get\" | \"update\" | \"closePointInTime\" | \"search\" | \"transform\" | \"eql\" | \"helpers\" | \"emit\" | \"on\" | \"once\" | \"off\" | \"asyncSearch\" | \"autoscaling\" | \"bulk\" | \"cat\" | \"ccr\" | \"clearScroll\" | \"cluster\" | \"count\" | \"danglingIndices\" | \"dataFrameTransformDeprecated\" | \"deleteByQuery\" | \"deleteByQueryRethrottle\" | \"deleteScript\" | \"enrich\" | \"exists\" | \"existsSource\" | \"explain\" | \"features\" | \"fieldCaps\" | \"fleet\" | \"getScript\" | \"getScriptContext\" | \"getScriptLanguages\" | \"getSource\" | \"graph\" | \"ilm\" | \"indices\" | \"info\" | \"ingest\" | \"license\" | \"logstash\" | \"mget\" | \"migration\" | \"ml\" | \"msearch\" | \"msearchTemplate\" | \"mtermvectors\" | \"nodes\" | \"openPointInTime\" | \"ping\" | \"putScript\" | \"rankEval\" | \"reindex\" | \"reindexRethrottle\" | \"renderSearchTemplate\" | \"rollup\" | \"scriptsPainlessExecute\" | \"scroll\" | \"searchShards\" | \"searchTemplate\" | \"searchableSnapshots\" | \"shutdown\" | \"slm\" | \"snapshot\" | \"sql\" | \"ssl\" | \"tasks\" | \"termsEnum\" | \"termvectors\" | \"textStructure\" | \"updateByQuery\" | \"updateByQueryRethrottle\" | \"watcher\" | \"xpack\">" + ", \"monitoring\" | \"security\" | \"create\" | \"name\" | \"index\" | \"delete\" | \"get\" | \"update\" | \"closePointInTime\" | \"search\" | \"transform\" | \"eql\" | \"helpers\" | \"asyncSearch\" | \"autoscaling\" | \"bulk\" | \"cat\" | \"ccr\" | \"clearScroll\" | \"cluster\" | \"count\" | \"danglingIndices\" | \"deleteByQuery\" | \"deleteByQueryRethrottle\" | \"deleteScript\" | \"enrich\" | \"exists\" | \"existsSource\" | \"explain\" | \"features\" | \"fieldCaps\" | \"fleet\" | \"getScript\" | \"getScriptContext\" | \"getScriptLanguages\" | \"getSource\" | \"graph\" | \"ilm\" | \"indices\" | \"info\" | \"ingest\" | \"knnSearch\" | \"license\" | \"logstash\" | \"mget\" | \"migration\" | \"ml\" | \"msearch\" | \"msearchTemplate\" | \"mtermvectors\" | \"nodes\" | \"openPointInTime\" | \"ping\" | \"putScript\" | \"rankEval\" | \"reindex\" | \"reindexRethrottle\" | \"renderSearchTemplate\" | \"rollup\" | \"scriptsPainlessExecute\" | \"scroll\" | \"searchMvt\" | \"searchShards\" | \"searchTemplate\" | \"searchableSnapshots\" | \"shutdown\" | \"slm\" | \"snapshot\" | \"sql\" | \"ssl\" | \"tasks\" | \"termsEnum\" | \"termvectors\" | \"textStructure\" | \"updateByQuery\" | \"updateByQueryRethrottle\" | \"watcher\" | \"xpack\">" ], "path": "packages/kbn-securitysolution-es-utils/src/get_policy_exists/index.ts", "deprecated": false, @@ -7993,7 +8052,7 @@ "id": "def-server.getPolicyExists.$2", "type": "string", "tags": [], - "label": "policy", + "label": "name", "description": [], "signature": [ "string" @@ -8016,7 +8075,7 @@ "signature": [ "(esClient: Pick<", "KibanaClient", - ", \"monitoring\" | \"security\" | \"create\" | \"index\" | \"delete\" | \"get\" | \"update\" | \"closePointInTime\" | \"search\" | \"transform\" | \"eql\" | \"helpers\" | \"emit\" | \"on\" | \"once\" | \"off\" | \"asyncSearch\" | \"autoscaling\" | \"bulk\" | \"cat\" | \"ccr\" | \"clearScroll\" | \"cluster\" | \"count\" | \"danglingIndices\" | \"dataFrameTransformDeprecated\" | \"deleteByQuery\" | \"deleteByQueryRethrottle\" | \"deleteScript\" | \"enrich\" | \"exists\" | \"existsSource\" | \"explain\" | \"features\" | \"fieldCaps\" | \"fleet\" | \"getScript\" | \"getScriptContext\" | \"getScriptLanguages\" | \"getSource\" | \"graph\" | \"ilm\" | \"indices\" | \"info\" | \"ingest\" | \"license\" | \"logstash\" | \"mget\" | \"migration\" | \"ml\" | \"msearch\" | \"msearchTemplate\" | \"mtermvectors\" | \"nodes\" | \"openPointInTime\" | \"ping\" | \"putScript\" | \"rankEval\" | \"reindex\" | \"reindexRethrottle\" | \"renderSearchTemplate\" | \"rollup\" | \"scriptsPainlessExecute\" | \"scroll\" | \"searchShards\" | \"searchTemplate\" | \"searchableSnapshots\" | \"shutdown\" | \"slm\" | \"snapshot\" | \"sql\" | \"ssl\" | \"tasks\" | \"termsEnum\" | \"termvectors\" | \"textStructure\" | \"updateByQuery\" | \"updateByQueryRethrottle\" | \"watcher\" | \"xpack\">, template: string) => Promise" + ", \"monitoring\" | \"security\" | \"create\" | \"name\" | \"index\" | \"delete\" | \"get\" | \"update\" | \"closePointInTime\" | \"search\" | \"transform\" | \"eql\" | \"helpers\" | \"asyncSearch\" | \"autoscaling\" | \"bulk\" | \"cat\" | \"ccr\" | \"clearScroll\" | \"cluster\" | \"count\" | \"danglingIndices\" | \"deleteByQuery\" | \"deleteByQueryRethrottle\" | \"deleteScript\" | \"enrich\" | \"exists\" | \"existsSource\" | \"explain\" | \"features\" | \"fieldCaps\" | \"fleet\" | \"getScript\" | \"getScriptContext\" | \"getScriptLanguages\" | \"getSource\" | \"graph\" | \"ilm\" | \"indices\" | \"info\" | \"ingest\" | \"knnSearch\" | \"license\" | \"logstash\" | \"mget\" | \"migration\" | \"ml\" | \"msearch\" | \"msearchTemplate\" | \"mtermvectors\" | \"nodes\" | \"openPointInTime\" | \"ping\" | \"putScript\" | \"rankEval\" | \"reindex\" | \"reindexRethrottle\" | \"renderSearchTemplate\" | \"rollup\" | \"scriptsPainlessExecute\" | \"scroll\" | \"searchMvt\" | \"searchShards\" | \"searchTemplate\" | \"searchableSnapshots\" | \"shutdown\" | \"slm\" | \"snapshot\" | \"sql\" | \"ssl\" | \"tasks\" | \"termsEnum\" | \"termvectors\" | \"textStructure\" | \"updateByQuery\" | \"updateByQueryRethrottle\" | \"watcher\" | \"xpack\">, template: string) => Promise" ], "path": "packages/kbn-securitysolution-es-utils/src/get_template_exists/index.ts", "deprecated": false, @@ -8031,7 +8090,7 @@ "signature": [ "Pick<", "KibanaClient", - ", \"monitoring\" | \"security\" | \"create\" | \"index\" | \"delete\" | \"get\" | \"update\" | \"closePointInTime\" | \"search\" | \"transform\" | \"eql\" | \"helpers\" | \"emit\" | \"on\" | \"once\" | \"off\" | \"asyncSearch\" | \"autoscaling\" | \"bulk\" | \"cat\" | \"ccr\" | \"clearScroll\" | \"cluster\" | \"count\" | \"danglingIndices\" | \"dataFrameTransformDeprecated\" | \"deleteByQuery\" | \"deleteByQueryRethrottle\" | \"deleteScript\" | \"enrich\" | \"exists\" | \"existsSource\" | \"explain\" | \"features\" | \"fieldCaps\" | \"fleet\" | \"getScript\" | \"getScriptContext\" | \"getScriptLanguages\" | \"getSource\" | \"graph\" | \"ilm\" | \"indices\" | \"info\" | \"ingest\" | \"license\" | \"logstash\" | \"mget\" | \"migration\" | \"ml\" | \"msearch\" | \"msearchTemplate\" | \"mtermvectors\" | \"nodes\" | \"openPointInTime\" | \"ping\" | \"putScript\" | \"rankEval\" | \"reindex\" | \"reindexRethrottle\" | \"renderSearchTemplate\" | \"rollup\" | \"scriptsPainlessExecute\" | \"scroll\" | \"searchShards\" | \"searchTemplate\" | \"searchableSnapshots\" | \"shutdown\" | \"slm\" | \"snapshot\" | \"sql\" | \"ssl\" | \"tasks\" | \"termsEnum\" | \"termvectors\" | \"textStructure\" | \"updateByQuery\" | \"updateByQueryRethrottle\" | \"watcher\" | \"xpack\">" + ", \"monitoring\" | \"security\" | \"create\" | \"name\" | \"index\" | \"delete\" | \"get\" | \"update\" | \"closePointInTime\" | \"search\" | \"transform\" | \"eql\" | \"helpers\" | \"asyncSearch\" | \"autoscaling\" | \"bulk\" | \"cat\" | \"ccr\" | \"clearScroll\" | \"cluster\" | \"count\" | \"danglingIndices\" | \"deleteByQuery\" | \"deleteByQueryRethrottle\" | \"deleteScript\" | \"enrich\" | \"exists\" | \"existsSource\" | \"explain\" | \"features\" | \"fieldCaps\" | \"fleet\" | \"getScript\" | \"getScriptContext\" | \"getScriptLanguages\" | \"getSource\" | \"graph\" | \"ilm\" | \"indices\" | \"info\" | \"ingest\" | \"knnSearch\" | \"license\" | \"logstash\" | \"mget\" | \"migration\" | \"ml\" | \"msearch\" | \"msearchTemplate\" | \"mtermvectors\" | \"nodes\" | \"openPointInTime\" | \"ping\" | \"putScript\" | \"rankEval\" | \"reindex\" | \"reindexRethrottle\" | \"renderSearchTemplate\" | \"rollup\" | \"scriptsPainlessExecute\" | \"scroll\" | \"searchMvt\" | \"searchShards\" | \"searchTemplate\" | \"searchableSnapshots\" | \"shutdown\" | \"slm\" | \"snapshot\" | \"sql\" | \"ssl\" | \"tasks\" | \"termsEnum\" | \"termvectors\" | \"textStructure\" | \"updateByQuery\" | \"updateByQueryRethrottle\" | \"watcher\" | \"xpack\">" ], "path": "packages/kbn-securitysolution-es-utils/src/get_template_exists/index.ts", "deprecated": false, @@ -8065,7 +8124,7 @@ "signature": [ "(esClient: Pick<", "KibanaClient", - ", \"monitoring\" | \"security\" | \"create\" | \"index\" | \"delete\" | \"get\" | \"update\" | \"closePointInTime\" | \"search\" | \"transform\" | \"eql\" | \"helpers\" | \"emit\" | \"on\" | \"once\" | \"off\" | \"asyncSearch\" | \"autoscaling\" | \"bulk\" | \"cat\" | \"ccr\" | \"clearScroll\" | \"cluster\" | \"count\" | \"danglingIndices\" | \"dataFrameTransformDeprecated\" | \"deleteByQuery\" | \"deleteByQueryRethrottle\" | \"deleteScript\" | \"enrich\" | \"exists\" | \"existsSource\" | \"explain\" | \"features\" | \"fieldCaps\" | \"fleet\" | \"getScript\" | \"getScriptContext\" | \"getScriptLanguages\" | \"getSource\" | \"graph\" | \"ilm\" | \"indices\" | \"info\" | \"ingest\" | \"license\" | \"logstash\" | \"mget\" | \"migration\" | \"ml\" | \"msearch\" | \"msearchTemplate\" | \"mtermvectors\" | \"nodes\" | \"openPointInTime\" | \"ping\" | \"putScript\" | \"rankEval\" | \"reindex\" | \"reindexRethrottle\" | \"renderSearchTemplate\" | \"rollup\" | \"scriptsPainlessExecute\" | \"scroll\" | \"searchShards\" | \"searchTemplate\" | \"searchableSnapshots\" | \"shutdown\" | \"slm\" | \"snapshot\" | \"sql\" | \"ssl\" | \"tasks\" | \"termsEnum\" | \"termvectors\" | \"textStructure\" | \"updateByQuery\" | \"updateByQueryRethrottle\" | \"watcher\" | \"xpack\">, index: string) => Promise" + ", \"monitoring\" | \"security\" | \"create\" | \"name\" | \"index\" | \"delete\" | \"get\" | \"update\" | \"closePointInTime\" | \"search\" | \"transform\" | \"eql\" | \"helpers\" | \"asyncSearch\" | \"autoscaling\" | \"bulk\" | \"cat\" | \"ccr\" | \"clearScroll\" | \"cluster\" | \"count\" | \"danglingIndices\" | \"deleteByQuery\" | \"deleteByQueryRethrottle\" | \"deleteScript\" | \"enrich\" | \"exists\" | \"existsSource\" | \"explain\" | \"features\" | \"fieldCaps\" | \"fleet\" | \"getScript\" | \"getScriptContext\" | \"getScriptLanguages\" | \"getSource\" | \"graph\" | \"ilm\" | \"indices\" | \"info\" | \"ingest\" | \"knnSearch\" | \"license\" | \"logstash\" | \"mget\" | \"migration\" | \"ml\" | \"msearch\" | \"msearchTemplate\" | \"mtermvectors\" | \"nodes\" | \"openPointInTime\" | \"ping\" | \"putScript\" | \"rankEval\" | \"reindex\" | \"reindexRethrottle\" | \"renderSearchTemplate\" | \"rollup\" | \"scriptsPainlessExecute\" | \"scroll\" | \"searchMvt\" | \"searchShards\" | \"searchTemplate\" | \"searchableSnapshots\" | \"shutdown\" | \"slm\" | \"snapshot\" | \"sql\" | \"ssl\" | \"tasks\" | \"termsEnum\" | \"termvectors\" | \"textStructure\" | \"updateByQuery\" | \"updateByQueryRethrottle\" | \"watcher\" | \"xpack\">, index: string) => Promise" ], "path": "packages/kbn-securitysolution-es-utils/src/read_index/index.ts", "deprecated": false, @@ -8080,7 +8139,7 @@ "signature": [ "Pick<", "KibanaClient", - ", \"monitoring\" | \"security\" | \"create\" | \"index\" | \"delete\" | \"get\" | \"update\" | \"closePointInTime\" | \"search\" | \"transform\" | \"eql\" | \"helpers\" | \"emit\" | \"on\" | \"once\" | \"off\" | \"asyncSearch\" | \"autoscaling\" | \"bulk\" | \"cat\" | \"ccr\" | \"clearScroll\" | \"cluster\" | \"count\" | \"danglingIndices\" | \"dataFrameTransformDeprecated\" | \"deleteByQuery\" | \"deleteByQueryRethrottle\" | \"deleteScript\" | \"enrich\" | \"exists\" | \"existsSource\" | \"explain\" | \"features\" | \"fieldCaps\" | \"fleet\" | \"getScript\" | \"getScriptContext\" | \"getScriptLanguages\" | \"getSource\" | \"graph\" | \"ilm\" | \"indices\" | \"info\" | \"ingest\" | \"license\" | \"logstash\" | \"mget\" | \"migration\" | \"ml\" | \"msearch\" | \"msearchTemplate\" | \"mtermvectors\" | \"nodes\" | \"openPointInTime\" | \"ping\" | \"putScript\" | \"rankEval\" | \"reindex\" | \"reindexRethrottle\" | \"renderSearchTemplate\" | \"rollup\" | \"scriptsPainlessExecute\" | \"scroll\" | \"searchShards\" | \"searchTemplate\" | \"searchableSnapshots\" | \"shutdown\" | \"slm\" | \"snapshot\" | \"sql\" | \"ssl\" | \"tasks\" | \"termsEnum\" | \"termvectors\" | \"textStructure\" | \"updateByQuery\" | \"updateByQueryRethrottle\" | \"watcher\" | \"xpack\">" + ", \"monitoring\" | \"security\" | \"create\" | \"name\" | \"index\" | \"delete\" | \"get\" | \"update\" | \"closePointInTime\" | \"search\" | \"transform\" | \"eql\" | \"helpers\" | \"asyncSearch\" | \"autoscaling\" | \"bulk\" | \"cat\" | \"ccr\" | \"clearScroll\" | \"cluster\" | \"count\" | \"danglingIndices\" | \"deleteByQuery\" | \"deleteByQueryRethrottle\" | \"deleteScript\" | \"enrich\" | \"exists\" | \"existsSource\" | \"explain\" | \"features\" | \"fieldCaps\" | \"fleet\" | \"getScript\" | \"getScriptContext\" | \"getScriptLanguages\" | \"getSource\" | \"graph\" | \"ilm\" | \"indices\" | \"info\" | \"ingest\" | \"knnSearch\" | \"license\" | \"logstash\" | \"mget\" | \"migration\" | \"ml\" | \"msearch\" | \"msearchTemplate\" | \"mtermvectors\" | \"nodes\" | \"openPointInTime\" | \"ping\" | \"putScript\" | \"rankEval\" | \"reindex\" | \"reindexRethrottle\" | \"renderSearchTemplate\" | \"rollup\" | \"scriptsPainlessExecute\" | \"scroll\" | \"searchMvt\" | \"searchShards\" | \"searchTemplate\" | \"searchableSnapshots\" | \"shutdown\" | \"slm\" | \"snapshot\" | \"sql\" | \"ssl\" | \"tasks\" | \"termsEnum\" | \"termvectors\" | \"textStructure\" | \"updateByQuery\" | \"updateByQueryRethrottle\" | \"watcher\" | \"xpack\">" ], "path": "packages/kbn-securitysolution-es-utils/src/read_index/index.ts", "deprecated": false, @@ -8114,7 +8173,7 @@ "signature": [ "(esClient: Pick<", "KibanaClient", - ", \"monitoring\" | \"security\" | \"create\" | \"index\" | \"delete\" | \"get\" | \"update\" | \"closePointInTime\" | \"search\" | \"transform\" | \"eql\" | \"helpers\" | \"emit\" | \"on\" | \"once\" | \"off\" | \"asyncSearch\" | \"autoscaling\" | \"bulk\" | \"cat\" | \"ccr\" | \"clearScroll\" | \"cluster\" | \"count\" | \"danglingIndices\" | \"dataFrameTransformDeprecated\" | \"deleteByQuery\" | \"deleteByQueryRethrottle\" | \"deleteScript\" | \"enrich\" | \"exists\" | \"existsSource\" | \"explain\" | \"features\" | \"fieldCaps\" | \"fleet\" | \"getScript\" | \"getScriptContext\" | \"getScriptLanguages\" | \"getSource\" | \"graph\" | \"ilm\" | \"indices\" | \"info\" | \"ingest\" | \"license\" | \"logstash\" | \"mget\" | \"migration\" | \"ml\" | \"msearch\" | \"msearchTemplate\" | \"mtermvectors\" | \"nodes\" | \"openPointInTime\" | \"ping\" | \"putScript\" | \"rankEval\" | \"reindex\" | \"reindexRethrottle\" | \"renderSearchTemplate\" | \"rollup\" | \"scriptsPainlessExecute\" | \"scroll\" | \"searchShards\" | \"searchTemplate\" | \"searchableSnapshots\" | \"shutdown\" | \"slm\" | \"snapshot\" | \"sql\" | \"ssl\" | \"tasks\" | \"termsEnum\" | \"termvectors\" | \"textStructure\" | \"updateByQuery\" | \"updateByQueryRethrottle\" | \"watcher\" | \"xpack\">, index: string) => Promise" + ", \"monitoring\" | \"security\" | \"create\" | \"name\" | \"index\" | \"delete\" | \"get\" | \"update\" | \"closePointInTime\" | \"search\" | \"transform\" | \"eql\" | \"helpers\" | \"asyncSearch\" | \"autoscaling\" | \"bulk\" | \"cat\" | \"ccr\" | \"clearScroll\" | \"cluster\" | \"count\" | \"danglingIndices\" | \"deleteByQuery\" | \"deleteByQueryRethrottle\" | \"deleteScript\" | \"enrich\" | \"exists\" | \"existsSource\" | \"explain\" | \"features\" | \"fieldCaps\" | \"fleet\" | \"getScript\" | \"getScriptContext\" | \"getScriptLanguages\" | \"getSource\" | \"graph\" | \"ilm\" | \"indices\" | \"info\" | \"ingest\" | \"knnSearch\" | \"license\" | \"logstash\" | \"mget\" | \"migration\" | \"ml\" | \"msearch\" | \"msearchTemplate\" | \"mtermvectors\" | \"nodes\" | \"openPointInTime\" | \"ping\" | \"putScript\" | \"rankEval\" | \"reindex\" | \"reindexRethrottle\" | \"renderSearchTemplate\" | \"rollup\" | \"scriptsPainlessExecute\" | \"scroll\" | \"searchMvt\" | \"searchShards\" | \"searchTemplate\" | \"searchableSnapshots\" | \"shutdown\" | \"slm\" | \"snapshot\" | \"sql\" | \"ssl\" | \"tasks\" | \"termsEnum\" | \"termvectors\" | \"textStructure\" | \"updateByQuery\" | \"updateByQueryRethrottle\" | \"watcher\" | \"xpack\">, index: string) => Promise" ], "path": "packages/kbn-securitysolution-es-utils/src/read_privileges/index.ts", "deprecated": false, @@ -8129,7 +8188,7 @@ "signature": [ "Pick<", "KibanaClient", - ", \"monitoring\" | \"security\" | \"create\" | \"index\" | \"delete\" | \"get\" | \"update\" | \"closePointInTime\" | \"search\" | \"transform\" | \"eql\" | \"helpers\" | \"emit\" | \"on\" | \"once\" | \"off\" | \"asyncSearch\" | \"autoscaling\" | \"bulk\" | \"cat\" | \"ccr\" | \"clearScroll\" | \"cluster\" | \"count\" | \"danglingIndices\" | \"dataFrameTransformDeprecated\" | \"deleteByQuery\" | \"deleteByQueryRethrottle\" | \"deleteScript\" | \"enrich\" | \"exists\" | \"existsSource\" | \"explain\" | \"features\" | \"fieldCaps\" | \"fleet\" | \"getScript\" | \"getScriptContext\" | \"getScriptLanguages\" | \"getSource\" | \"graph\" | \"ilm\" | \"indices\" | \"info\" | \"ingest\" | \"license\" | \"logstash\" | \"mget\" | \"migration\" | \"ml\" | \"msearch\" | \"msearchTemplate\" | \"mtermvectors\" | \"nodes\" | \"openPointInTime\" | \"ping\" | \"putScript\" | \"rankEval\" | \"reindex\" | \"reindexRethrottle\" | \"renderSearchTemplate\" | \"rollup\" | \"scriptsPainlessExecute\" | \"scroll\" | \"searchShards\" | \"searchTemplate\" | \"searchableSnapshots\" | \"shutdown\" | \"slm\" | \"snapshot\" | \"sql\" | \"ssl\" | \"tasks\" | \"termsEnum\" | \"termvectors\" | \"textStructure\" | \"updateByQuery\" | \"updateByQueryRethrottle\" | \"watcher\" | \"xpack\">" + ", \"monitoring\" | \"security\" | \"create\" | \"name\" | \"index\" | \"delete\" | \"get\" | \"update\" | \"closePointInTime\" | \"search\" | \"transform\" | \"eql\" | \"helpers\" | \"asyncSearch\" | \"autoscaling\" | \"bulk\" | \"cat\" | \"ccr\" | \"clearScroll\" | \"cluster\" | \"count\" | \"danglingIndices\" | \"deleteByQuery\" | \"deleteByQueryRethrottle\" | \"deleteScript\" | \"enrich\" | \"exists\" | \"existsSource\" | \"explain\" | \"features\" | \"fieldCaps\" | \"fleet\" | \"getScript\" | \"getScriptContext\" | \"getScriptLanguages\" | \"getSource\" | \"graph\" | \"ilm\" | \"indices\" | \"info\" | \"ingest\" | \"knnSearch\" | \"license\" | \"logstash\" | \"mget\" | \"migration\" | \"ml\" | \"msearch\" | \"msearchTemplate\" | \"mtermvectors\" | \"nodes\" | \"openPointInTime\" | \"ping\" | \"putScript\" | \"rankEval\" | \"reindex\" | \"reindexRethrottle\" | \"renderSearchTemplate\" | \"rollup\" | \"scriptsPainlessExecute\" | \"scroll\" | \"searchMvt\" | \"searchShards\" | \"searchTemplate\" | \"searchableSnapshots\" | \"shutdown\" | \"slm\" | \"snapshot\" | \"sql\" | \"ssl\" | \"tasks\" | \"termsEnum\" | \"termvectors\" | \"textStructure\" | \"updateByQuery\" | \"updateByQueryRethrottle\" | \"watcher\" | \"xpack\">" ], "path": "packages/kbn-securitysolution-es-utils/src/read_privileges/index.ts", "deprecated": false, @@ -8163,7 +8222,7 @@ "signature": [ "(esClient: Pick<", "KibanaClient", - ", \"monitoring\" | \"security\" | \"create\" | \"index\" | \"delete\" | \"get\" | \"update\" | \"closePointInTime\" | \"search\" | \"transform\" | \"eql\" | \"helpers\" | \"emit\" | \"on\" | \"once\" | \"off\" | \"asyncSearch\" | \"autoscaling\" | \"bulk\" | \"cat\" | \"ccr\" | \"clearScroll\" | \"cluster\" | \"count\" | \"danglingIndices\" | \"dataFrameTransformDeprecated\" | \"deleteByQuery\" | \"deleteByQueryRethrottle\" | \"deleteScript\" | \"enrich\" | \"exists\" | \"existsSource\" | \"explain\" | \"features\" | \"fieldCaps\" | \"fleet\" | \"getScript\" | \"getScriptContext\" | \"getScriptLanguages\" | \"getSource\" | \"graph\" | \"ilm\" | \"indices\" | \"info\" | \"ingest\" | \"license\" | \"logstash\" | \"mget\" | \"migration\" | \"ml\" | \"msearch\" | \"msearchTemplate\" | \"mtermvectors\" | \"nodes\" | \"openPointInTime\" | \"ping\" | \"putScript\" | \"rankEval\" | \"reindex\" | \"reindexRethrottle\" | \"renderSearchTemplate\" | \"rollup\" | \"scriptsPainlessExecute\" | \"scroll\" | \"searchShards\" | \"searchTemplate\" | \"searchableSnapshots\" | \"shutdown\" | \"slm\" | \"snapshot\" | \"sql\" | \"ssl\" | \"tasks\" | \"termsEnum\" | \"termvectors\" | \"textStructure\" | \"updateByQuery\" | \"updateByQueryRethrottle\" | \"watcher\" | \"xpack\">, policy: string, body: Record) => Promise" + ", \"monitoring\" | \"security\" | \"create\" | \"name\" | \"index\" | \"delete\" | \"get\" | \"update\" | \"closePointInTime\" | \"search\" | \"transform\" | \"eql\" | \"helpers\" | \"asyncSearch\" | \"autoscaling\" | \"bulk\" | \"cat\" | \"ccr\" | \"clearScroll\" | \"cluster\" | \"count\" | \"danglingIndices\" | \"deleteByQuery\" | \"deleteByQueryRethrottle\" | \"deleteScript\" | \"enrich\" | \"exists\" | \"existsSource\" | \"explain\" | \"features\" | \"fieldCaps\" | \"fleet\" | \"getScript\" | \"getScriptContext\" | \"getScriptLanguages\" | \"getSource\" | \"graph\" | \"ilm\" | \"indices\" | \"info\" | \"ingest\" | \"knnSearch\" | \"license\" | \"logstash\" | \"mget\" | \"migration\" | \"ml\" | \"msearch\" | \"msearchTemplate\" | \"mtermvectors\" | \"nodes\" | \"openPointInTime\" | \"ping\" | \"putScript\" | \"rankEval\" | \"reindex\" | \"reindexRethrottle\" | \"renderSearchTemplate\" | \"rollup\" | \"scriptsPainlessExecute\" | \"scroll\" | \"searchMvt\" | \"searchShards\" | \"searchTemplate\" | \"searchableSnapshots\" | \"shutdown\" | \"slm\" | \"snapshot\" | \"sql\" | \"ssl\" | \"tasks\" | \"termsEnum\" | \"termvectors\" | \"textStructure\" | \"updateByQuery\" | \"updateByQueryRethrottle\" | \"watcher\" | \"xpack\">, name: string, body: Record) => Promise" ], "path": "packages/kbn-securitysolution-es-utils/src/set_policy/index.ts", "deprecated": false, @@ -8178,7 +8237,7 @@ "signature": [ "Pick<", "KibanaClient", - ", \"monitoring\" | \"security\" | \"create\" | \"index\" | \"delete\" | \"get\" | \"update\" | \"closePointInTime\" | \"search\" | \"transform\" | \"eql\" | \"helpers\" | \"emit\" | \"on\" | \"once\" | \"off\" | \"asyncSearch\" | \"autoscaling\" | \"bulk\" | \"cat\" | \"ccr\" | \"clearScroll\" | \"cluster\" | \"count\" | \"danglingIndices\" | \"dataFrameTransformDeprecated\" | \"deleteByQuery\" | \"deleteByQueryRethrottle\" | \"deleteScript\" | \"enrich\" | \"exists\" | \"existsSource\" | \"explain\" | \"features\" | \"fieldCaps\" | \"fleet\" | \"getScript\" | \"getScriptContext\" | \"getScriptLanguages\" | \"getSource\" | \"graph\" | \"ilm\" | \"indices\" | \"info\" | \"ingest\" | \"license\" | \"logstash\" | \"mget\" | \"migration\" | \"ml\" | \"msearch\" | \"msearchTemplate\" | \"mtermvectors\" | \"nodes\" | \"openPointInTime\" | \"ping\" | \"putScript\" | \"rankEval\" | \"reindex\" | \"reindexRethrottle\" | \"renderSearchTemplate\" | \"rollup\" | \"scriptsPainlessExecute\" | \"scroll\" | \"searchShards\" | \"searchTemplate\" | \"searchableSnapshots\" | \"shutdown\" | \"slm\" | \"snapshot\" | \"sql\" | \"ssl\" | \"tasks\" | \"termsEnum\" | \"termvectors\" | \"textStructure\" | \"updateByQuery\" | \"updateByQueryRethrottle\" | \"watcher\" | \"xpack\">" + ", \"monitoring\" | \"security\" | \"create\" | \"name\" | \"index\" | \"delete\" | \"get\" | \"update\" | \"closePointInTime\" | \"search\" | \"transform\" | \"eql\" | \"helpers\" | \"asyncSearch\" | \"autoscaling\" | \"bulk\" | \"cat\" | \"ccr\" | \"clearScroll\" | \"cluster\" | \"count\" | \"danglingIndices\" | \"deleteByQuery\" | \"deleteByQueryRethrottle\" | \"deleteScript\" | \"enrich\" | \"exists\" | \"existsSource\" | \"explain\" | \"features\" | \"fieldCaps\" | \"fleet\" | \"getScript\" | \"getScriptContext\" | \"getScriptLanguages\" | \"getSource\" | \"graph\" | \"ilm\" | \"indices\" | \"info\" | \"ingest\" | \"knnSearch\" | \"license\" | \"logstash\" | \"mget\" | \"migration\" | \"ml\" | \"msearch\" | \"msearchTemplate\" | \"mtermvectors\" | \"nodes\" | \"openPointInTime\" | \"ping\" | \"putScript\" | \"rankEval\" | \"reindex\" | \"reindexRethrottle\" | \"renderSearchTemplate\" | \"rollup\" | \"scriptsPainlessExecute\" | \"scroll\" | \"searchMvt\" | \"searchShards\" | \"searchTemplate\" | \"searchableSnapshots\" | \"shutdown\" | \"slm\" | \"snapshot\" | \"sql\" | \"ssl\" | \"tasks\" | \"termsEnum\" | \"termvectors\" | \"textStructure\" | \"updateByQuery\" | \"updateByQueryRethrottle\" | \"watcher\" | \"xpack\">" ], "path": "packages/kbn-securitysolution-es-utils/src/set_policy/index.ts", "deprecated": false, @@ -8189,7 +8248,7 @@ "id": "def-server.setPolicy.$2", "type": "string", "tags": [], - "label": "policy", + "label": "name", "description": [], "signature": [ "string" @@ -8226,7 +8285,7 @@ "signature": [ "(esClient: Pick<", "KibanaClient", - ", \"monitoring\" | \"security\" | \"create\" | \"index\" | \"delete\" | \"get\" | \"update\" | \"closePointInTime\" | \"search\" | \"transform\" | \"eql\" | \"helpers\" | \"emit\" | \"on\" | \"once\" | \"off\" | \"asyncSearch\" | \"autoscaling\" | \"bulk\" | \"cat\" | \"ccr\" | \"clearScroll\" | \"cluster\" | \"count\" | \"danglingIndices\" | \"dataFrameTransformDeprecated\" | \"deleteByQuery\" | \"deleteByQueryRethrottle\" | \"deleteScript\" | \"enrich\" | \"exists\" | \"existsSource\" | \"explain\" | \"features\" | \"fieldCaps\" | \"fleet\" | \"getScript\" | \"getScriptContext\" | \"getScriptLanguages\" | \"getSource\" | \"graph\" | \"ilm\" | \"indices\" | \"info\" | \"ingest\" | \"license\" | \"logstash\" | \"mget\" | \"migration\" | \"ml\" | \"msearch\" | \"msearchTemplate\" | \"mtermvectors\" | \"nodes\" | \"openPointInTime\" | \"ping\" | \"putScript\" | \"rankEval\" | \"reindex\" | \"reindexRethrottle\" | \"renderSearchTemplate\" | \"rollup\" | \"scriptsPainlessExecute\" | \"scroll\" | \"searchShards\" | \"searchTemplate\" | \"searchableSnapshots\" | \"shutdown\" | \"slm\" | \"snapshot\" | \"sql\" | \"ssl\" | \"tasks\" | \"termsEnum\" | \"termvectors\" | \"textStructure\" | \"updateByQuery\" | \"updateByQueryRethrottle\" | \"watcher\" | \"xpack\">, name: string, body: Record) => Promise" + ", \"monitoring\" | \"security\" | \"create\" | \"name\" | \"index\" | \"delete\" | \"get\" | \"update\" | \"closePointInTime\" | \"search\" | \"transform\" | \"eql\" | \"helpers\" | \"asyncSearch\" | \"autoscaling\" | \"bulk\" | \"cat\" | \"ccr\" | \"clearScroll\" | \"cluster\" | \"count\" | \"danglingIndices\" | \"deleteByQuery\" | \"deleteByQueryRethrottle\" | \"deleteScript\" | \"enrich\" | \"exists\" | \"existsSource\" | \"explain\" | \"features\" | \"fieldCaps\" | \"fleet\" | \"getScript\" | \"getScriptContext\" | \"getScriptLanguages\" | \"getSource\" | \"graph\" | \"ilm\" | \"indices\" | \"info\" | \"ingest\" | \"knnSearch\" | \"license\" | \"logstash\" | \"mget\" | \"migration\" | \"ml\" | \"msearch\" | \"msearchTemplate\" | \"mtermvectors\" | \"nodes\" | \"openPointInTime\" | \"ping\" | \"putScript\" | \"rankEval\" | \"reindex\" | \"reindexRethrottle\" | \"renderSearchTemplate\" | \"rollup\" | \"scriptsPainlessExecute\" | \"scroll\" | \"searchMvt\" | \"searchShards\" | \"searchTemplate\" | \"searchableSnapshots\" | \"shutdown\" | \"slm\" | \"snapshot\" | \"sql\" | \"ssl\" | \"tasks\" | \"termsEnum\" | \"termvectors\" | \"textStructure\" | \"updateByQuery\" | \"updateByQueryRethrottle\" | \"watcher\" | \"xpack\">, name: string, body: Record) => Promise" ], "path": "packages/kbn-securitysolution-es-utils/src/set_template/index.ts", "deprecated": false, @@ -8241,7 +8300,7 @@ "signature": [ "Pick<", "KibanaClient", - ", \"monitoring\" | \"security\" | \"create\" | \"index\" | \"delete\" | \"get\" | \"update\" | \"closePointInTime\" | \"search\" | \"transform\" | \"eql\" | \"helpers\" | \"emit\" | \"on\" | \"once\" | \"off\" | \"asyncSearch\" | \"autoscaling\" | \"bulk\" | \"cat\" | \"ccr\" | \"clearScroll\" | \"cluster\" | \"count\" | \"danglingIndices\" | \"dataFrameTransformDeprecated\" | \"deleteByQuery\" | \"deleteByQueryRethrottle\" | \"deleteScript\" | \"enrich\" | \"exists\" | \"existsSource\" | \"explain\" | \"features\" | \"fieldCaps\" | \"fleet\" | \"getScript\" | \"getScriptContext\" | \"getScriptLanguages\" | \"getSource\" | \"graph\" | \"ilm\" | \"indices\" | \"info\" | \"ingest\" | \"license\" | \"logstash\" | \"mget\" | \"migration\" | \"ml\" | \"msearch\" | \"msearchTemplate\" | \"mtermvectors\" | \"nodes\" | \"openPointInTime\" | \"ping\" | \"putScript\" | \"rankEval\" | \"reindex\" | \"reindexRethrottle\" | \"renderSearchTemplate\" | \"rollup\" | \"scriptsPainlessExecute\" | \"scroll\" | \"searchShards\" | \"searchTemplate\" | \"searchableSnapshots\" | \"shutdown\" | \"slm\" | \"snapshot\" | \"sql\" | \"ssl\" | \"tasks\" | \"termsEnum\" | \"termvectors\" | \"textStructure\" | \"updateByQuery\" | \"updateByQueryRethrottle\" | \"watcher\" | \"xpack\">" + ", \"monitoring\" | \"security\" | \"create\" | \"name\" | \"index\" | \"delete\" | \"get\" | \"update\" | \"closePointInTime\" | \"search\" | \"transform\" | \"eql\" | \"helpers\" | \"asyncSearch\" | \"autoscaling\" | \"bulk\" | \"cat\" | \"ccr\" | \"clearScroll\" | \"cluster\" | \"count\" | \"danglingIndices\" | \"deleteByQuery\" | \"deleteByQueryRethrottle\" | \"deleteScript\" | \"enrich\" | \"exists\" | \"existsSource\" | \"explain\" | \"features\" | \"fieldCaps\" | \"fleet\" | \"getScript\" | \"getScriptContext\" | \"getScriptLanguages\" | \"getSource\" | \"graph\" | \"ilm\" | \"indices\" | \"info\" | \"ingest\" | \"knnSearch\" | \"license\" | \"logstash\" | \"mget\" | \"migration\" | \"ml\" | \"msearch\" | \"msearchTemplate\" | \"mtermvectors\" | \"nodes\" | \"openPointInTime\" | \"ping\" | \"putScript\" | \"rankEval\" | \"reindex\" | \"reindexRethrottle\" | \"renderSearchTemplate\" | \"rollup\" | \"scriptsPainlessExecute\" | \"scroll\" | \"searchMvt\" | \"searchShards\" | \"searchTemplate\" | \"searchableSnapshots\" | \"shutdown\" | \"slm\" | \"snapshot\" | \"sql\" | \"ssl\" | \"tasks\" | \"termsEnum\" | \"termvectors\" | \"textStructure\" | \"updateByQuery\" | \"updateByQueryRethrottle\" | \"watcher\" | \"xpack\">" ], "path": "packages/kbn-securitysolution-es-utils/src/set_template/index.ts", "deprecated": false, @@ -8289,7 +8348,7 @@ "signature": [ "(err: Error & Partial<", "ResponseError", - ", unknown>>) => ", + ">) => ", { "pluginId": "@kbn/securitysolution-es-utils", "scope": "server", @@ -8311,7 +8370,7 @@ "signature": [ "Error & Partial<", "ResponseError", - ", unknown>>" + ">" ], "path": "packages/kbn-securitysolution-es-utils/src/transform_error/index.ts", "deprecated": false, diff --git a/api_docs/kbn_securitysolution_es_utils.mdx b/api_docs/kbn_securitysolution_es_utils.mdx index 9f1aad96b29ba5..31911b396cc8d9 100644 --- a/api_docs/kbn_securitysolution_es_utils.mdx +++ b/api_docs/kbn_securitysolution_es_utils.mdx @@ -18,7 +18,7 @@ Contact [Owner missing] for questions regarding this plugin. | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 54 | 0 | 51 | 0 | +| 57 | 0 | 51 | 0 | ## Server diff --git a/api_docs/kbn_securitysolution_io_ts_alerting_types.json b/api_docs/kbn_securitysolution_io_ts_alerting_types.json index b5c86e3ba02878..c18188bce8f36f 100644 --- a/api_docs/kbn_securitysolution_io_ts_alerting_types.json +++ b/api_docs/kbn_securitysolution_io_ts_alerting_types.json @@ -426,7 +426,7 @@ "label": "Severity", "description": [], "signature": [ - "\"high\" | \"low\" | \"critical\" | \"medium\"" + "\"high\" | \"low\" | \"medium\" | \"critical\"" ], "path": "packages/kbn-securitysolution-io-ts-alerting-types/src/severity/index.ts", "deprecated": false, @@ -440,7 +440,7 @@ "label": "SeverityMapping", "description": [], "signature": [ - "{ field: string; operator: \"equals\"; value: string; severity: \"high\" | \"low\" | \"critical\" | \"medium\"; }[]" + "{ field: string; operator: \"equals\"; value: string; severity: \"high\" | \"low\" | \"medium\" | \"critical\"; }[]" ], "path": "packages/kbn-securitysolution-io-ts-alerting-types/src/severity_mapping/index.ts", "deprecated": false, @@ -454,7 +454,7 @@ "label": "SeverityMappingItem", "description": [], "signature": [ - "{ field: string; operator: \"equals\"; value: string; severity: \"high\" | \"low\" | \"critical\" | \"medium\"; }" + "{ field: string; operator: \"equals\"; value: string; severity: \"high\" | \"low\" | \"medium\" | \"critical\"; }" ], "path": "packages/kbn-securitysolution-io-ts-alerting-types/src/severity_mapping/index.ts", "deprecated": false, @@ -468,7 +468,7 @@ "label": "SeverityMappingOrUndefined", "description": [], "signature": [ - "{ field: string; operator: \"equals\"; value: string; severity: \"high\" | \"low\" | \"critical\" | \"medium\"; }[] | undefined" + "{ field: string; operator: \"equals\"; value: string; severity: \"high\" | \"low\" | \"medium\" | \"critical\"; }[] | undefined" ], "path": "packages/kbn-securitysolution-io-ts-alerting-types/src/severity_mapping/index.ts", "deprecated": false, @@ -482,7 +482,7 @@ "label": "SeverityOrUndefined", "description": [], "signature": [ - "\"high\" | \"low\" | \"critical\" | \"medium\" | undefined" + "\"high\" | \"low\" | \"medium\" | \"critical\" | undefined" ], "path": "packages/kbn-securitysolution-io-ts-alerting-types/src/severity/index.ts", "deprecated": false, @@ -818,7 +818,7 @@ "label": "Type", "description": [], "signature": [ - "\"query\" | \"eql\" | \"threshold\" | \"threat_match\" | \"machine_learning\" | \"saved_query\"" + "\"query\" | \"eql\" | \"threat_match\" | \"threshold\" | \"machine_learning\" | \"saved_query\"" ], "path": "packages/kbn-securitysolution-io-ts-alerting-types/src/type/index.ts", "deprecated": false, @@ -832,7 +832,7 @@ "label": "TypeOrUndefined", "description": [], "signature": [ - "\"query\" | \"eql\" | \"threshold\" | \"threat_match\" | \"machine_learning\" | \"saved_query\" | undefined" + "\"query\" | \"eql\" | \"threat_match\" | \"threshold\" | \"machine_learning\" | \"saved_query\" | undefined" ], "path": "packages/kbn-securitysolution-io-ts-alerting-types/src/type/index.ts", "deprecated": false, @@ -1256,7 +1256,7 @@ ], "signature": [ "Type", - "<{ field: string; operator: \"equals\"; value: string; severity: \"high\" | \"low\" | \"critical\" | \"medium\"; }[], { field: string; operator: \"equals\"; value: string; severity: \"high\" | \"low\" | \"critical\" | \"medium\"; }[] | undefined, unknown>" + "<{ field: string; operator: \"equals\"; value: string; severity: \"high\" | \"low\" | \"medium\" | \"critical\"; }[], { field: string; operator: \"equals\"; value: string; severity: \"high\" | \"low\" | \"medium\" | \"critical\"; }[] | undefined, unknown>" ], "path": "packages/kbn-securitysolution-io-ts-alerting-types/src/default_severity_mapping_array/index.ts", "deprecated": false, diff --git a/api_docs/kbn_securitysolution_io_ts_list_types.json b/api_docs/kbn_securitysolution_io_ts_list_types.json index 7d10a90dac1673..ed42cb5ac6a58e 100644 --- a/api_docs/kbn_securitysolution_io_ts_list_types.json +++ b/api_docs/kbn_securitysolution_io_ts_list_types.json @@ -1642,6 +1642,16 @@ "description": [], "path": "packages/kbn-securitysolution-io-ts-list-types/src/typescript_types/index.ts", "deprecated": false + }, + { + "parentPluginId": "@kbn/securitysolution-io-ts-list-types", + "id": "def-common.UseExceptionListsProps.showHostIsolationExceptions", + "type": "boolean", + "tags": [], + "label": "showHostIsolationExceptions", + "description": [], + "path": "packages/kbn-securitysolution-io-ts-list-types/src/typescript_types/index.ts", + "deprecated": false } ], "initialIsOpen": false diff --git a/api_docs/kbn_securitysolution_io_ts_list_types.mdx b/api_docs/kbn_securitysolution_io_ts_list_types.mdx index 3f59dfa70b772b..e753fd2082e8ea 100644 --- a/api_docs/kbn_securitysolution_io_ts_list_types.mdx +++ b/api_docs/kbn_securitysolution_io_ts_list_types.mdx @@ -18,7 +18,7 @@ Contact [Owner missing] for questions regarding this plugin. | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 418 | 1 | 409 | 0 | +| 419 | 1 | 410 | 0 | ## Common diff --git a/api_docs/kbn_securitysolution_list_constants.json b/api_docs/kbn_securitysolution_list_constants.json index 4e79074f477140..175bf8457b5496 100644 --- a/api_docs/kbn_securitysolution_list_constants.json +++ b/api_docs/kbn_securitysolution_list_constants.json @@ -78,7 +78,7 @@ "label": "ENDPOINT_HOST_ISOLATION_EXCEPTIONS_LIST_DESCRIPTION", "description": [], "signature": [ - "\"Endpoint Security Host Isolation Exceptions List\"" + "\"Endpoint Security Host isolation exceptions List\"" ], "path": "packages/kbn-securitysolution-list-constants/src/index.ts", "deprecated": false, @@ -106,7 +106,7 @@ "label": "ENDPOINT_HOST_ISOLATION_EXCEPTIONS_LIST_NAME", "description": [], "signature": [ - "\"Endpoint Security Host Isolation Exceptions List\"" + "\"Endpoint Security Host isolation exceptions List\"" ], "path": "packages/kbn-securitysolution-list-constants/src/index.ts", "deprecated": false, diff --git a/api_docs/kbn_securitysolution_list_hooks.json b/api_docs/kbn_securitysolution_list_hooks.json index a6dd6a78eefae2..9380a600108c4c 100644 --- a/api_docs/kbn_securitysolution_list_hooks.json +++ b/api_docs/kbn_securitysolution_list_hooks.json @@ -401,7 +401,7 @@ "\nHook for fetching ExceptionLists\n" ], "signature": [ - "({ errorMessage, http, initialPagination, filterOptions, namespaceTypes, notifications, showTrustedApps, showEventFilters, }: ", + "({ errorMessage, http, initialPagination, filterOptions, namespaceTypes, notifications, showTrustedApps, showEventFilters, showHostIsolationExceptions, }: ", { "pluginId": "@kbn/securitysolution-io-ts-list-types", "scope": "common", @@ -426,7 +426,7 @@ "id": "def-common.useExceptionLists.$1", "type": "Object", "tags": [], - "label": "{\n errorMessage,\n http,\n initialPagination = DEFAULT_PAGINATION,\n filterOptions = {},\n namespaceTypes,\n notifications,\n showTrustedApps = false,\n showEventFilters = false,\n}", + "label": "{\n errorMessage,\n http,\n initialPagination = DEFAULT_PAGINATION,\n filterOptions = {},\n namespaceTypes,\n notifications,\n showTrustedApps = false,\n showEventFilters = false,\n showHostIsolationExceptions = false,\n}", "description": [], "signature": [ { diff --git a/api_docs/kbn_securitysolution_list_utils.json b/api_docs/kbn_securitysolution_list_utils.json index 5177d53b2acfbd..eecac751e3e233 100644 --- a/api_docs/kbn_securitysolution_list_utils.json +++ b/api_docs/kbn_securitysolution_list_utils.json @@ -1722,7 +1722,7 @@ "label": "getFilters", "description": [], "signature": [ - "({ filters, namespaceTypes, showTrustedApps, showEventFilters, }: ", + "({ filters, namespaceTypes, showTrustedApps, showEventFilters, showHostIsolationExceptions, }: ", { "pluginId": "@kbn/securitysolution-list-utils", "scope": "common", @@ -1740,7 +1740,7 @@ "id": "def-common.getFilters.$1", "type": "Object", "tags": [], - "label": "{\n filters,\n namespaceTypes,\n showTrustedApps,\n showEventFilters,\n}", + "label": "{\n filters,\n namespaceTypes,\n showTrustedApps,\n showEventFilters,\n showHostIsolationExceptions,\n}", "description": [], "signature": [ { @@ -3243,6 +3243,16 @@ "description": [], "path": "packages/kbn-securitysolution-list-utils/src/get_filters/index.ts", "deprecated": false + }, + { + "parentPluginId": "@kbn/securitysolution-list-utils", + "id": "def-common.GetFiltersParams.showHostIsolationExceptions", + "type": "boolean", + "tags": [], + "label": "showHostIsolationExceptions", + "description": [], + "path": "packages/kbn-securitysolution-list-utils/src/get_filters/index.ts", + "deprecated": false } ], "initialIsOpen": false diff --git a/api_docs/kbn_securitysolution_list_utils.mdx b/api_docs/kbn_securitysolution_list_utils.mdx index f9a897821ff574..8dc6613e9f9fe4 100644 --- a/api_docs/kbn_securitysolution_list_utils.mdx +++ b/api_docs/kbn_securitysolution_list_utils.mdx @@ -18,7 +18,7 @@ Contact [Owner missing] for questions regarding this plugin. | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 222 | 0 | 177 | 0 | +| 223 | 0 | 178 | 0 | ## Common diff --git a/api_docs/kbn_securitysolution_rules.json b/api_docs/kbn_securitysolution_rules.json new file mode 100644 index 00000000000000..29f0c568dd5c09 --- /dev/null +++ b/api_docs/kbn_securitysolution_rules.json @@ -0,0 +1,365 @@ +{ + "id": "@kbn/securitysolution-rules", + "client": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "server": { + "classes": [], + "functions": [ + { + "parentPluginId": "@kbn/securitysolution-rules", + "id": "def-server.flattenWithPrefix", + "type": "Function", + "tags": [], + "label": "flattenWithPrefix", + "description": [], + "signature": [ + "(prefix: string, maybeObj: unknown) => Record" + ], + "path": "packages/kbn-securitysolution-rules/src/utils.ts", + "deprecated": false, + "children": [ + { + "parentPluginId": "@kbn/securitysolution-rules", + "id": "def-server.flattenWithPrefix.$1", + "type": "string", + "tags": [], + "label": "prefix", + "description": [], + "signature": [ + "string" + ], + "path": "packages/kbn-securitysolution-rules/src/utils.ts", + "deprecated": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/securitysolution-rules", + "id": "def-server.flattenWithPrefix.$2", + "type": "Unknown", + "tags": [], + "label": "maybeObj", + "description": [], + "signature": [ + "unknown" + ], + "path": "packages/kbn-securitysolution-rules/src/utils.ts", + "deprecated": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/securitysolution-rules", + "id": "def-server.isRuleType", + "type": "Function", + "tags": [], + "label": "isRuleType", + "description": [], + "signature": [ + "(ruleType: unknown) => ruleType is \"query\" | \"eql\" | \"threat_match\" | \"threshold\" | \"machine_learning\" | \"saved_query\"" + ], + "path": "packages/kbn-securitysolution-rules/src/utils.ts", + "deprecated": false, + "children": [ + { + "parentPluginId": "@kbn/securitysolution-rules", + "id": "def-server.isRuleType.$1", + "type": "Unknown", + "tags": [], + "label": "ruleType", + "description": [], + "signature": [ + "unknown" + ], + "path": "packages/kbn-securitysolution-rules/src/utils.ts", + "deprecated": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/securitysolution-rules", + "id": "def-server.isRuleTypeId", + "type": "Function", + "tags": [], + "label": "isRuleTypeId", + "description": [], + "signature": [ + "(ruleTypeId: unknown) => ruleTypeId is ", + { + "pluginId": "@kbn/securitysolution-rules", + "scope": "server", + "docId": "kibKbnSecuritysolutionRulesPluginApi", + "section": "def-server.RuleTypeId", + "text": "RuleTypeId" + } + ], + "path": "packages/kbn-securitysolution-rules/src/utils.ts", + "deprecated": false, + "children": [ + { + "parentPluginId": "@kbn/securitysolution-rules", + "id": "def-server.isRuleTypeId.$1", + "type": "Unknown", + "tags": [], + "label": "ruleTypeId", + "description": [], + "signature": [ + "unknown" + ], + "path": "packages/kbn-securitysolution-rules/src/utils.ts", + "deprecated": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + } + ], + "interfaces": [], + "enums": [], + "misc": [ + { + "parentPluginId": "@kbn/securitysolution-rules", + "id": "def-server.EQL_RULE_TYPE_ID", + "type": "string", + "tags": [], + "label": "EQL_RULE_TYPE_ID", + "description": [], + "signature": [ + "\"siem.eqlRule\"" + ], + "path": "packages/kbn-securitysolution-rules/src/rule_type_constants.ts", + "deprecated": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/securitysolution-rules", + "id": "def-server.INDICATOR_RULE_TYPE_ID", + "type": "string", + "tags": [], + "label": "INDICATOR_RULE_TYPE_ID", + "description": [], + "signature": [ + "\"siem.indicatorRule\"" + ], + "path": "packages/kbn-securitysolution-rules/src/rule_type_constants.ts", + "deprecated": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/securitysolution-rules", + "id": "def-server.ML_RULE_TYPE_ID", + "type": "string", + "tags": [], + "label": "ML_RULE_TYPE_ID", + "description": [], + "signature": [ + "\"siem.mlRule\"" + ], + "path": "packages/kbn-securitysolution-rules/src/rule_type_constants.ts", + "deprecated": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/securitysolution-rules", + "id": "def-server.QUERY_RULE_TYPE_ID", + "type": "string", + "tags": [], + "label": "QUERY_RULE_TYPE_ID", + "description": [], + "signature": [ + "\"siem.queryRule\"" + ], + "path": "packages/kbn-securitysolution-rules/src/rule_type_constants.ts", + "deprecated": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/securitysolution-rules", + "id": "def-server.RuleType", + "type": "Type", + "tags": [], + "label": "RuleType", + "description": [], + "signature": [ + "\"query\" | \"eql\" | \"threat_match\" | \"threshold\" | \"machine_learning\" | \"saved_query\"" + ], + "path": "packages/kbn-securitysolution-rules/src/rule_type_mappings.ts", + "deprecated": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/securitysolution-rules", + "id": "def-server.RuleTypeId", + "type": "Type", + "tags": [], + "label": "RuleTypeId", + "description": [], + "signature": [ + "\"siem.eqlRule\" | \"siem.indicatorRule\" | \"siem.mlRule\" | \"siem.queryRule\" | \"siem.savedQueryRule\" | \"siem.thresholdRule\"" + ], + "path": "packages/kbn-securitysolution-rules/src/rule_type_mappings.ts", + "deprecated": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/securitysolution-rules", + "id": "def-server.SAVED_QUERY_RULE_TYPE_ID", + "type": "string", + "tags": [], + "label": "SAVED_QUERY_RULE_TYPE_ID", + "description": [], + "signature": [ + "\"siem.savedQueryRule\"" + ], + "path": "packages/kbn-securitysolution-rules/src/rule_type_constants.ts", + "deprecated": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/securitysolution-rules", + "id": "def-server.SIGNALS_ID", + "type": "string", + "tags": [], + "label": "SIGNALS_ID", + "description": [ + "\nId for the legacy siem signals alerting type" + ], + "signature": [ + "\"siem.signals\"" + ], + "path": "packages/kbn-securitysolution-rules/src/rule_type_constants.ts", + "deprecated": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/securitysolution-rules", + "id": "def-server.THRESHOLD_RULE_TYPE_ID", + "type": "string", + "tags": [], + "label": "THRESHOLD_RULE_TYPE_ID", + "description": [], + "signature": [ + "\"siem.thresholdRule\"" + ], + "path": "packages/kbn-securitysolution-rules/src/rule_type_constants.ts", + "deprecated": false, + "initialIsOpen": false + } + ], + "objects": [ + { + "parentPluginId": "@kbn/securitysolution-rules", + "id": "def-server.ruleTypeMappings", + "type": "Object", + "tags": [], + "label": "ruleTypeMappings", + "description": [ + "\nMaps legacy rule types to RAC rule type IDs." + ], + "path": "packages/kbn-securitysolution-rules/src/rule_type_mappings.ts", + "deprecated": false, + "children": [ + { + "parentPluginId": "@kbn/securitysolution-rules", + "id": "def-server.ruleTypeMappings.eql", + "type": "string", + "tags": [], + "label": "eql", + "description": [], + "signature": [ + "\"siem.eqlRule\"" + ], + "path": "packages/kbn-securitysolution-rules/src/rule_type_mappings.ts", + "deprecated": false + }, + { + "parentPluginId": "@kbn/securitysolution-rules", + "id": "def-server.ruleTypeMappings.machine_learning", + "type": "string", + "tags": [], + "label": "machine_learning", + "description": [], + "signature": [ + "\"siem.mlRule\"" + ], + "path": "packages/kbn-securitysolution-rules/src/rule_type_mappings.ts", + "deprecated": false + }, + { + "parentPluginId": "@kbn/securitysolution-rules", + "id": "def-server.ruleTypeMappings.query", + "type": "string", + "tags": [], + "label": "query", + "description": [], + "signature": [ + "\"siem.queryRule\"" + ], + "path": "packages/kbn-securitysolution-rules/src/rule_type_mappings.ts", + "deprecated": false + }, + { + "parentPluginId": "@kbn/securitysolution-rules", + "id": "def-server.ruleTypeMappings.saved_query", + "type": "string", + "tags": [], + "label": "saved_query", + "description": [], + "signature": [ + "\"siem.savedQueryRule\"" + ], + "path": "packages/kbn-securitysolution-rules/src/rule_type_mappings.ts", + "deprecated": false + }, + { + "parentPluginId": "@kbn/securitysolution-rules", + "id": "def-server.ruleTypeMappings.threat_match", + "type": "string", + "tags": [], + "label": "threat_match", + "description": [], + "signature": [ + "\"siem.indicatorRule\"" + ], + "path": "packages/kbn-securitysolution-rules/src/rule_type_mappings.ts", + "deprecated": false + }, + { + "parentPluginId": "@kbn/securitysolution-rules", + "id": "def-server.ruleTypeMappings.threshold", + "type": "string", + "tags": [], + "label": "threshold", + "description": [], + "signature": [ + "\"siem.thresholdRule\"" + ], + "path": "packages/kbn-securitysolution-rules/src/rule_type_mappings.ts", + "deprecated": false + } + ], + "initialIsOpen": false + } + ] + }, + "common": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + } +} \ No newline at end of file diff --git a/api_docs/kbn_securitysolution_rules.mdx b/api_docs/kbn_securitysolution_rules.mdx new file mode 100644 index 00000000000000..8258b7cd38f5cf --- /dev/null +++ b/api_docs/kbn_securitysolution_rules.mdx @@ -0,0 +1,33 @@ +--- +id: kibKbnSecuritysolutionRulesPluginApi +slug: /kibana-dev-docs/api/kbn-securitysolution-rules +title: "@kbn/securitysolution-rules" +image: https://source.unsplash.com/400x175/?github +summary: API docs for the @kbn/securitysolution-rules plugin +date: 2020-11-16 +tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-rules'] +warning: 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. +--- +import kbnSecuritysolutionRulesObj from './kbn_securitysolution_rules.json'; + +security solution rule utilities to use across plugins + +Contact [Owner missing] for questions regarding this plugin. + +**Code health stats** + +| Public API count | Any count | Items lacking comments | Missing exports | +|-------------------|-----------|------------------------|-----------------| +| 23 | 0 | 21 | 0 | + +## Server + +### Objects + + +### Functions + + +### Consts, variables and types + + diff --git a/api_docs/kbn_test.json b/api_docs/kbn_test.json index fb3d38ce178e94..1fb7fd398fb116 100644 --- a/api_docs/kbn_test.json +++ b/api_docs/kbn_test.json @@ -1175,6 +1175,40 @@ } ], "functions": [ + { + "parentPluginId": "@kbn/test", + "id": "def-server.convertToKibanaClient", + "type": "Function", + "tags": [], + "label": "convertToKibanaClient", + "description": [], + "signature": [ + "(esClient: ", + "default", + ") => ", + "KibanaClient" + ], + "path": "packages/kbn-test/src/es/client_to_kibana_client.ts", + "deprecated": false, + "children": [ + { + "parentPluginId": "@kbn/test", + "id": "def-server.convertToKibanaClient.$1", + "type": "Object", + "tags": [], + "label": "esClient", + "description": [], + "signature": [ + "default" + ], + "path": "packages/kbn-test/src/es/client_to_kibana_client.ts", + "deprecated": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, { "parentPluginId": "@kbn/test", "id": "def-server.createTestEsCluster", @@ -2870,6 +2904,22 @@ "tags": [], "label": "getClient", "description": [], + "signature": [ + "() => ", + "default" + ], + "path": "packages/kbn-test/src/es/test_es_cluster.ts", + "deprecated": false, + "children": [], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/test", + "id": "def-server.ICluster.getKibanaEsClient", + "type": "Function", + "tags": [], + "label": "getKibanaEsClient", + "description": [], "signature": [ "() => ", "KibanaClient" diff --git a/api_docs/kbn_test.mdx b/api_docs/kbn_test.mdx index f5c84eb3c32b65..f8698fd82e5978 100644 --- a/api_docs/kbn_test.mdx +++ b/api_docs/kbn_test.mdx @@ -18,7 +18,7 @@ Contact [Owner missing] for questions regarding this plugin. | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 200 | 5 | 177 | 9 | +| 203 | 5 | 180 | 9 | ## Server diff --git a/api_docs/kibana_legacy.json b/api_docs/kibana_legacy.json index 0f83b5ca300252..4a806cf114e6e3 100644 --- a/api_docs/kibana_legacy.json +++ b/api_docs/kibana_legacy.json @@ -106,259 +106,6 @@ } ], "functions": [ - { - "parentPluginId": "kibanaLegacy", - "id": "def-public.$setupXsrfRequestInterceptor", - "type": "Function", - "tags": [], - "label": "$setupXsrfRequestInterceptor", - "description": [], - "signature": [ - "(version: string) => ($httpProvider: angular.IHttpProvider) => void" - ], - "path": "src/plugins/kibana_legacy/public/angular/angular_config.tsx", - "deprecated": false, - "children": [ - { - "parentPluginId": "kibanaLegacy", - "id": "def-public.$setupXsrfRequestInterceptor.$1", - "type": "string", - "tags": [], - "label": "version", - "description": [], - "signature": [ - "string" - ], - "path": "src/plugins/kibana_legacy/public/angular/angular_config.tsx", - "deprecated": false, - "isRequired": true - } - ], - "returnComment": [], - "initialIsOpen": false - }, - { - "parentPluginId": "kibanaLegacy", - "id": "def-public.configureAppAngularModule", - "type": "Function", - "tags": [], - "label": "configureAppAngularModule", - "description": [], - "signature": [ - "(angularModule: angular.IModule, newPlatform: { core: ", - { - "pluginId": "core", - "scope": "public", - "docId": "kibCorePluginApi", - "section": "def-public.CoreStart", - "text": "CoreStart" - }, - "; readonly env: { mode: Readonly<", - { - "pluginId": "@kbn/config", - "scope": "server", - "docId": "kibKbnConfigPluginApi", - "section": "def-server.EnvironmentMode", - "text": "EnvironmentMode" - }, - ">; packageInfo: Readonly<", - { - "pluginId": "@kbn/config", - "scope": "server", - "docId": "kibKbnConfigPluginApi", - "section": "def-server.PackageInfo", - "text": "PackageInfo" - }, - ">; }; }, isLocalAngular: boolean, getHistory?: (() => ", - "History", - ") | undefined) => void" - ], - "path": "src/plugins/kibana_legacy/public/angular/angular_config.tsx", - "deprecated": false, - "children": [ - { - "parentPluginId": "kibanaLegacy", - "id": "def-public.configureAppAngularModule.$1", - "type": "Object", - "tags": [], - "label": "angularModule", - "description": [], - "signature": [ - "angular.IModule" - ], - "path": "src/plugins/kibana_legacy/public/angular/angular_config.tsx", - "deprecated": false, - "isRequired": true - }, - { - "parentPluginId": "kibanaLegacy", - "id": "def-public.configureAppAngularModule.$2", - "type": "Object", - "tags": [], - "label": "newPlatform", - "description": [], - "path": "src/plugins/kibana_legacy/public/angular/angular_config.tsx", - "deprecated": false, - "children": [ - { - "parentPluginId": "kibanaLegacy", - "id": "def-public.configureAppAngularModule.$2.core", - "type": "Object", - "tags": [], - "label": "core", - "description": [], - "signature": [ - { - "pluginId": "core", - "scope": "public", - "docId": "kibCorePluginApi", - "section": "def-public.CoreStart", - "text": "CoreStart" - } - ], - "path": "src/plugins/kibana_legacy/public/angular/angular_config.tsx", - "deprecated": false - }, - { - "parentPluginId": "kibanaLegacy", - "id": "def-public.configureAppAngularModule.$2.env", - "type": "Object", - "tags": [], - "label": "env", - "description": [], - "signature": [ - "{ mode: Readonly<", - { - "pluginId": "@kbn/config", - "scope": "server", - "docId": "kibKbnConfigPluginApi", - "section": "def-server.EnvironmentMode", - "text": "EnvironmentMode" - }, - ">; packageInfo: Readonly<", - { - "pluginId": "@kbn/config", - "scope": "server", - "docId": "kibKbnConfigPluginApi", - "section": "def-server.PackageInfo", - "text": "PackageInfo" - }, - ">; }" - ], - "path": "src/plugins/kibana_legacy/public/angular/angular_config.tsx", - "deprecated": false - } - ] - }, - { - "parentPluginId": "kibanaLegacy", - "id": "def-public.configureAppAngularModule.$3", - "type": "boolean", - "tags": [], - "label": "isLocalAngular", - "description": [], - "signature": [ - "boolean" - ], - "path": "src/plugins/kibana_legacy/public/angular/angular_config.tsx", - "deprecated": false, - "isRequired": true - }, - { - "parentPluginId": "kibanaLegacy", - "id": "def-public.configureAppAngularModule.$4", - "type": "Function", - "tags": [], - "label": "getHistory", - "description": [], - "signature": [ - "(() => ", - "History", - ") | undefined" - ], - "path": "src/plugins/kibana_legacy/public/angular/angular_config.tsx", - "deprecated": false, - "isRequired": false - } - ], - "returnComment": [], - "initialIsOpen": false - }, - { - "parentPluginId": "kibanaLegacy", - "id": "def-public.createTopNavHelper", - "type": "Function", - "tags": [], - "label": "createTopNavHelper", - "description": [], - "signature": [ - "(options: unknown) => angular.Injectable>" - ], - "path": "src/plugins/kibana_legacy/public/angular/kbn_top_nav.d.ts", - "deprecated": false, - "returnComment": [], - "children": [ - { - "parentPluginId": "kibanaLegacy", - "id": "def-public.createTopNavHelper.$1", - "type": "Unknown", - "tags": [], - "label": "options", - "description": [], - "signature": [ - "unknown" - ], - "path": "src/plugins/kibana_legacy/public/angular/kbn_top_nav.d.ts", - "deprecated": false - } - ], - "initialIsOpen": false - }, - { - "parentPluginId": "kibanaLegacy", - "id": "def-public.formatAngularHttpError", - "type": "Function", - "tags": [], - "label": "formatAngularHttpError", - "description": [], - "signature": [ - "(error: ", - { - "pluginId": "kibanaLegacy", - "scope": "public", - "docId": "kibKibanaLegacyPluginApi", - "section": "def-public.AngularHttpError", - "text": "AngularHttpError" - }, - ") => string" - ], - "path": "src/plugins/kibana_legacy/public/notify/lib/format_angular_http_error.ts", - "deprecated": false, - "children": [ - { - "parentPluginId": "kibanaLegacy", - "id": "def-public.formatAngularHttpError.$1", - "type": "Object", - "tags": [], - "label": "error", - "description": [], - "signature": [ - { - "pluginId": "kibanaLegacy", - "scope": "public", - "docId": "kibKibanaLegacyPluginApi", - "section": "def-public.AngularHttpError", - "text": "AngularHttpError" - } - ], - "path": "src/plugins/kibana_legacy/public/notify/lib/format_angular_http_error.ts", - "deprecated": false, - "isRequired": true - } - ], - "returnComment": [], - "initialIsOpen": false - }, { "parentPluginId": "kibanaLegacy", "id": "def-public.formatESMsg", @@ -440,343 +187,11 @@ ], "returnComment": [], "initialIsOpen": false - }, - { - "parentPluginId": "kibanaLegacy", - "id": "def-public.isAngularHttpError", - "type": "Function", - "tags": [], - "label": "isAngularHttpError", - "description": [], - "signature": [ - "(error: any) => boolean" - ], - "path": "src/plugins/kibana_legacy/public/notify/lib/format_angular_http_error.ts", - "deprecated": false, - "children": [ - { - "parentPluginId": "kibanaLegacy", - "id": "def-public.isAngularHttpError.$1", - "type": "Any", - "tags": [], - "label": "error", - "description": [], - "signature": [ - "any" - ], - "path": "src/plugins/kibana_legacy/public/notify/lib/format_angular_http_error.ts", - "deprecated": false, - "isRequired": true - } - ], - "returnComment": [], - "initialIsOpen": false - }, - { - "parentPluginId": "kibanaLegacy", - "id": "def-public.loadKbnTopNavDirectives", - "type": "Function", - "tags": [], - "label": "loadKbnTopNavDirectives", - "description": [], - "signature": [ - "(navUi: unknown) => void" - ], - "path": "src/plugins/kibana_legacy/public/angular/kbn_top_nav.d.ts", - "deprecated": false, - "children": [ - { - "parentPluginId": "kibanaLegacy", - "id": "def-public.loadKbnTopNavDirectives.$1", - "type": "Unknown", - "tags": [], - "label": "navUi", - "description": [], - "signature": [ - "unknown" - ], - "path": "src/plugins/kibana_legacy/public/angular/kbn_top_nav.d.ts", - "deprecated": false, - "isRequired": true - } - ], - "returnComment": [], - "initialIsOpen": false - }, - { - "parentPluginId": "kibanaLegacy", - "id": "def-public.PrivateProvider", - "type": "Function", - "tags": [], - "label": "PrivateProvider", - "description": [], - "signature": [ - "() => angular.IServiceProvider" - ], - "path": "src/plugins/kibana_legacy/public/utils/private.d.ts", - "deprecated": false, - "children": [], - "returnComment": [], - "initialIsOpen": false - } - ], - "interfaces": [ - { - "parentPluginId": "kibanaLegacy", - "id": "def-public.RouteConfiguration", - "type": "Interface", - "tags": [], - "label": "RouteConfiguration", - "description": [], - "path": "src/plugins/kibana_legacy/public/angular/angular_config.tsx", - "deprecated": false, - "children": [ - { - "parentPluginId": "kibanaLegacy", - "id": "def-public.RouteConfiguration.controller", - "type": "CompoundType", - "tags": [], - "label": "controller", - "description": [], - "signature": [ - "string | ((...args: any[]) => void) | undefined" - ], - "path": "src/plugins/kibana_legacy/public/angular/angular_config.tsx", - "deprecated": false - }, - { - "parentPluginId": "kibanaLegacy", - "id": "def-public.RouteConfiguration.redirectTo", - "type": "string", - "tags": [], - "label": "redirectTo", - "description": [], - "signature": [ - "string | undefined" - ], - "path": "src/plugins/kibana_legacy/public/angular/angular_config.tsx", - "deprecated": false - }, - { - "parentPluginId": "kibanaLegacy", - "id": "def-public.RouteConfiguration.resolveRedirectTo", - "type": "Function", - "tags": [], - "label": "resolveRedirectTo", - "description": [], - "signature": [ - "((...args: any[]) => void) | undefined" - ], - "path": "src/plugins/kibana_legacy/public/angular/angular_config.tsx", - "deprecated": false, - "children": [ - { - "parentPluginId": "kibanaLegacy", - "id": "def-public.RouteConfiguration.resolveRedirectTo.$1", - "type": "Array", - "tags": [], - "label": "args", - "description": [], - "signature": [ - "any[]" - ], - "path": "src/plugins/kibana_legacy/public/angular/angular_config.tsx", - "deprecated": false, - "isRequired": true - } - ], - "returnComment": [] - }, - { - "parentPluginId": "kibanaLegacy", - "id": "def-public.RouteConfiguration.reloadOnSearch", - "type": "CompoundType", - "tags": [], - "label": "reloadOnSearch", - "description": [], - "signature": [ - "boolean | undefined" - ], - "path": "src/plugins/kibana_legacy/public/angular/angular_config.tsx", - "deprecated": false - }, - { - "parentPluginId": "kibanaLegacy", - "id": "def-public.RouteConfiguration.reloadOnUrl", - "type": "CompoundType", - "tags": [], - "label": "reloadOnUrl", - "description": [], - "signature": [ - "boolean | undefined" - ], - "path": "src/plugins/kibana_legacy/public/angular/angular_config.tsx", - "deprecated": false - }, - { - "parentPluginId": "kibanaLegacy", - "id": "def-public.RouteConfiguration.outerAngularWrapperRoute", - "type": "CompoundType", - "tags": [], - "label": "outerAngularWrapperRoute", - "description": [], - "signature": [ - "boolean | undefined" - ], - "path": "src/plugins/kibana_legacy/public/angular/angular_config.tsx", - "deprecated": false - }, - { - "parentPluginId": "kibanaLegacy", - "id": "def-public.RouteConfiguration.resolve", - "type": "Uncategorized", - "tags": [], - "label": "resolve", - "description": [], - "signature": [ - "object | undefined" - ], - "path": "src/plugins/kibana_legacy/public/angular/angular_config.tsx", - "deprecated": false - }, - { - "parentPluginId": "kibanaLegacy", - "id": "def-public.RouteConfiguration.template", - "type": "string", - "tags": [], - "label": "template", - "description": [], - "signature": [ - "string | undefined" - ], - "path": "src/plugins/kibana_legacy/public/angular/angular_config.tsx", - "deprecated": false - }, - { - "parentPluginId": "kibanaLegacy", - "id": "def-public.RouteConfiguration.k7Breadcrumbs", - "type": "Function", - "tags": [], - "label": "k7Breadcrumbs", - "description": [], - "signature": [ - "((...args: any[]) => ", - "EuiBreadcrumb", - "[]) | undefined" - ], - "path": "src/plugins/kibana_legacy/public/angular/angular_config.tsx", - "deprecated": false, - "children": [ - { - "parentPluginId": "kibanaLegacy", - "id": "def-public.RouteConfiguration.k7Breadcrumbs.$1", - "type": "Array", - "tags": [], - "label": "args", - "description": [], - "signature": [ - "any[]" - ], - "path": "src/plugins/kibana_legacy/public/angular/angular_config.tsx", - "deprecated": false, - "isRequired": true - } - ], - "returnComment": [] - }, - { - "parentPluginId": "kibanaLegacy", - "id": "def-public.RouteConfiguration.requireUICapability", - "type": "string", - "tags": [], - "label": "requireUICapability", - "description": [], - "signature": [ - "string | undefined" - ], - "path": "src/plugins/kibana_legacy/public/angular/angular_config.tsx", - "deprecated": false - } - ], - "initialIsOpen": false } ], + "interfaces": [], "enums": [], "misc": [ - { - "parentPluginId": "kibanaLegacy", - "id": "def-public.AngularHttpError", - "type": "Type", - "tags": [], - "label": "AngularHttpError", - "description": [], - "signature": [ - "angular.IHttpResponse<{ message: string; }>" - ], - "path": "src/plugins/kibana_legacy/public/notify/lib/format_angular_http_error.ts", - "deprecated": false, - "initialIsOpen": false - }, - { - "parentPluginId": "kibanaLegacy", - "id": "def-public.createTopNavDirective", - "type": "CompoundType", - "tags": [], - "label": "createTopNavDirective", - "description": [], - "signature": [ - "angular.IDirectiveFactory | (string | angular.IDirectiveFactory)[]" - ], - "path": "src/plugins/kibana_legacy/public/angular/kbn_top_nav.d.ts", - "deprecated": false, - "initialIsOpen": false - }, - { - "parentPluginId": "kibanaLegacy", - "id": "def-public.IPrivate", - "type": "Type", - "tags": [], - "label": "IPrivate", - "description": [], - "signature": [ - "(provider: (...injectable: any[]) => T) => T" - ], - "path": "src/plugins/kibana_legacy/public/utils/private.d.ts", - "deprecated": false, - "returnComment": [], - "children": [ - { - "parentPluginId": "kibanaLegacy", - "id": "def-public.IPrivate.$1", - "type": "Function", - "tags": [], - "label": "provider", - "description": [], - "signature": [ - "(...injectable: any[]) => T" - ], - "path": "src/plugins/kibana_legacy/public/utils/private.d.ts", - "deprecated": false, - "returnComment": [], - "children": [ - { - "parentPluginId": "kibanaLegacy", - "id": "def-public.IPrivate.$1.$1", - "type": "Array", - "tags": [], - "label": "injectable", - "description": [], - "signature": [ - "any[]" - ], - "path": "src/plugins/kibana_legacy/public/utils/private.d.ts", - "deprecated": false - } - ] - } - ], - "initialIsOpen": false - }, { "parentPluginId": "kibanaLegacy", "id": "def-public.KibanaLegacySetup", diff --git a/api_docs/kibana_legacy.mdx b/api_docs/kibana_legacy.mdx index 601374383e8e11..5d2070616cd044 100644 --- a/api_docs/kibana_legacy.mdx +++ b/api_docs/kibana_legacy.mdx @@ -18,7 +18,7 @@ Contact [Vis Editors](https://github.com/orgs/elastic/teams/kibana-vis-editors) | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 48 | 1 | 45 | 0 | +| 12 | 0 | 9 | 0 | ## Client @@ -28,9 +28,6 @@ Contact [Vis Editors](https://github.com/orgs/elastic/teams/kibana-vis-editors) ### Classes -### Interfaces - - ### Consts, variables and types diff --git a/api_docs/kibana_react.json b/api_docs/kibana_react.json index be973dd7ceb10a..d971212c7983c9 100644 --- a/api_docs/kibana_react.json +++ b/api_docs/kibana_react.json @@ -799,7 +799,7 @@ "\nApplies extra styling to a typical EuiAvatar" ], "signature": [ - "({ solution, recommended, title, href, button, layout, ...cardRest }: React.PropsWithChildren<", + "({ solution, recommended, title, href, button, layout, category, ...cardRest }: React.PropsWithChildren<", { "pluginId": "kibanaReact", "scope": "public", @@ -817,7 +817,7 @@ "id": "def-public.ElasticAgentCard.$1", "type": "CompoundType", "tags": [], - "label": "{\n solution,\n recommended,\n title,\n href,\n button,\n layout,\n ...cardRest\n}", + "label": "{\n solution,\n recommended,\n title,\n href,\n button,\n layout,\n category,\n ...cardRest\n}", "description": [], "signature": [ "React.PropsWithChildren<", @@ -838,53 +838,6 @@ "returnComment": [], "initialIsOpen": false }, - { - "parentPluginId": "kibanaReact", - "id": "def-public.ElasticBeatsCard", - "type": "Function", - "tags": [], - "label": "ElasticBeatsCard", - "description": [], - "signature": [ - "({ recommended, title, button, href, solution, layout, ...cardRest }: React.PropsWithChildren<", - { - "pluginId": "kibanaReact", - "scope": "public", - "docId": "kibKibanaReactPluginApi", - "section": "def-public.ElasticBeatsCardProps", - "text": "ElasticBeatsCardProps" - }, - ">) => JSX.Element" - ], - "path": "src/plugins/kibana_react/public/page_template/no_data_page/no_data_card/elastic_beats_card.tsx", - "deprecated": false, - "children": [ - { - "parentPluginId": "kibanaReact", - "id": "def-public.ElasticBeatsCard.$1", - "type": "CompoundType", - "tags": [], - "label": "{\n recommended,\n title,\n button,\n href,\n solution, // unused for now\n layout,\n ...cardRest\n}", - "description": [], - "signature": [ - "React.PropsWithChildren<", - { - "pluginId": "kibanaReact", - "scope": "public", - "docId": "kibKibanaReactPluginApi", - "section": "def-public.ElasticBeatsCardProps", - "text": "ElasticBeatsCardProps" - }, - ">" - ], - "path": "src/plugins/kibana_react/public/page_template/no_data_page/no_data_card/elastic_beats_card.tsx", - "deprecated": false, - "isRequired": true - } - ], - "returnComment": [], - "initialIsOpen": false - }, { "parentPluginId": "kibanaReact", "id": "def-public.FieldButton", @@ -1258,7 +1211,7 @@ "label": "NoDataPage", "description": [], "signature": [ - "({ solution, logo, actions, docsLink, pageTitle, }: React.PropsWithChildren<", + "({ solution, logo, actions, docsLink, pageTitle, ...rest }: React.PropsWithChildren<", { "pluginId": "kibanaReact", "scope": "public", @@ -1276,7 +1229,7 @@ "id": "def-public.NoDataPage.$1", "type": "CompoundType", "tags": [], - "label": "{\n solution,\n logo,\n actions,\n docsLink,\n pageTitle,\n}", + "label": "{\n solution,\n logo,\n actions,\n docsLink,\n pageTitle,\n ...rest\n}", "description": [], "signature": [ "React.PropsWithChildren<", @@ -1434,8 +1387,6 @@ "description": [], "signature": [ "(history: ", - "History", - " | ", { "pluginId": "core", "scope": "public", @@ -1443,7 +1394,9 @@ "section": "def-public.ScopedHistory", "text": "ScopedHistory" }, - ", to: string | LocationObject, onClickCallback?: Function | undefined) => { href: string; onClick: (event: React.MouseEvent) => void; }" + " | ", + "History", + ", to: string | LocationObject, onClickCallback?: Function | undefined) => { href: string; onClick: (event: React.MouseEvent) => void; }" ], "path": "src/plugins/kibana_react/public/react_router_navigate/react_router_navigate.tsx", "deprecated": false, @@ -1456,8 +1409,6 @@ "label": "history", "description": [], "signature": [ - "History", - " | ", { "pluginId": "core", "scope": "public", @@ -1465,7 +1416,9 @@ "section": "def-public.ScopedHistory", "text": "ScopedHistory" }, - "" + " | ", + "History", + "" ], "path": "src/plugins/kibana_react/public/react_router_navigate/react_router_navigate.tsx", "deprecated": false, @@ -1512,8 +1465,6 @@ "description": [], "signature": [ "(history: ", - "History", - " | ", { "pluginId": "core", "scope": "public", @@ -1521,7 +1472,9 @@ "section": "def-public.ScopedHistory", "text": "ScopedHistory" }, - ", to: string | LocationObject, onClickCallback?: Function | undefined) => (event: React.MouseEvent) => void" + " | ", + "History", + ", to: string | LocationObject, onClickCallback?: Function | undefined) => (event: React.MouseEvent) => void" ], "path": "src/plugins/kibana_react/public/react_router_navigate/react_router_navigate.tsx", "deprecated": false, @@ -1534,8 +1487,6 @@ "label": "history", "description": [], "signature": [ - "History", - " | ", { "pluginId": "core", "scope": "public", @@ -1543,7 +1494,9 @@ "section": "def-public.ScopedHistory", "text": "ScopedHistory" }, - "" + " | ", + "History", + "" ], "path": "src/plugins/kibana_react/public/react_router_navigate/react_router_navigate.tsx", "deprecated": false, @@ -2727,6 +2680,17 @@ "tags": [], "label": "NoDataPageProps", "description": [], + "signature": [ + { + "pluginId": "kibanaReact", + "scope": "public", + "docId": "kibKibanaReactPluginApi", + "section": "def-public.NoDataPageProps", + "text": "NoDataPageProps" + }, + " extends ", + "CommonProps" + ], "path": "src/plugins/kibana_react/public/page_template/no_data_page/no_data_page.tsx", "deprecated": false, "children": [ @@ -3831,7 +3795,7 @@ "CommonEuiButtonEmptyProps", ", {}>> & ", "CommonEuiButtonEmptyProps", - " & { href?: string | undefined; onClick?: ((event: React.MouseEvent) => void) | undefined; } & React.AnchorHTMLAttributes & { isSelected?: boolean | undefined; isDisabled?: boolean | undefined; }) | undefined; hasBorder?: boolean | undefined; } & { description?: string | number | boolean | {} | React.ReactElement React.ReactElement React.Component)> | null) | (new (props: any) => React.Component)> | React.ReactNodeArray | React.ReactPortal | undefined; children: React.ReactNode; }> & { recommended?: boolean | undefined; button?: React.ReactNode; onClick?: ((event: React.MouseEvent) => void) | undefined; } & { solution: string; }) | (Partial) => void) | undefined; } & React.AnchorHTMLAttributes & { isSelected?: boolean | undefined; isDisabled?: boolean | undefined; }) | undefined; hasBorder?: boolean | undefined; } & { description?: string | number | boolean | {} | React.ReactElement React.ReactElement React.Component)> | null) | (new (props: any) => React.Component)> | React.ReactNodeArray | React.ReactPortal | undefined; children: React.ReactNode; }> & { recommended?: boolean | undefined; button?: React.ReactNode; onClick?: ((event: React.MouseEvent) => void) | undefined; category?: string | undefined; } & { solution: string; }) | (Partial & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\"> & ", "DisambiguateSet", @@ -3963,7 +3927,7 @@ "CommonEuiButtonEmptyProps", ", {}>> & ", "CommonEuiButtonEmptyProps", - " & { href?: string | undefined; onClick?: ((event: React.MouseEvent) => void) | undefined; } & React.AnchorHTMLAttributes & { isSelected?: boolean | undefined; isDisabled?: boolean | undefined; }) | undefined; hasBorder?: boolean | undefined; } & { description: string | number | boolean | {} | React.ReactElement React.ReactElement React.Component)> | null) | (new (props: any) => React.Component)> | React.ReactNodeArray | React.ReactPortal; }> & { recommended?: boolean | undefined; button?: React.ReactNode; onClick?: ((event: React.MouseEvent) => void) | undefined; } & { solution: string; }) | (Partial) => void) | undefined; } & React.AnchorHTMLAttributes & { isSelected?: boolean | undefined; isDisabled?: boolean | undefined; }) | undefined; hasBorder?: boolean | undefined; } & { description: string | number | boolean | {} | React.ReactElement React.ReactElement React.Component)> | null) | (new (props: any) => React.Component)> | React.ReactNodeArray | React.ReactPortal; }> & { recommended?: boolean | undefined; button?: React.ReactNode; onClick?: ((event: React.MouseEvent) => void) | undefined; category?: string | undefined; } & { solution: string; }) | (Partial & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\"> & ", "DisambiguateSet", @@ -4095,7 +4059,7 @@ "CommonEuiButtonEmptyProps", ", {}>> & ", "CommonEuiButtonEmptyProps", - " & { href?: string | undefined; onClick?: ((event: React.MouseEvent) => void) | undefined; } & React.AnchorHTMLAttributes & { isSelected?: boolean | undefined; isDisabled?: boolean | undefined; }) | undefined; hasBorder?: boolean | undefined; } & { description?: string | number | boolean | {} | React.ReactElement React.ReactElement React.Component)> | null) | (new (props: any) => React.Component)> | React.ReactNodeArray | React.ReactPortal | undefined; children: React.ReactNode; }> & { recommended?: boolean | undefined; button?: React.ReactNode; onClick?: ((event: React.MouseEvent) => void) | undefined; } & { solution: string; }) | (Partial) => void) | undefined; } & React.AnchorHTMLAttributes & { isSelected?: boolean | undefined; isDisabled?: boolean | undefined; }) | undefined; hasBorder?: boolean | undefined; } & { description?: string | number | boolean | {} | React.ReactElement React.ReactElement React.Component)> | null) | (new (props: any) => React.Component)> | React.ReactNodeArray | React.ReactPortal | undefined; children: React.ReactNode; }> & { recommended?: boolean | undefined; button?: React.ReactNode; onClick?: ((event: React.MouseEvent) => void) | undefined; category?: string | undefined; } & { solution: string; }) | (Partial & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\"> & ", "DisambiguateSet", @@ -4227,7 +4191,7 @@ "CommonEuiButtonEmptyProps", ", {}>> & ", "CommonEuiButtonEmptyProps", - " & { href?: string | undefined; onClick?: ((event: React.MouseEvent) => void) | undefined; } & React.AnchorHTMLAttributes & { isSelected?: boolean | undefined; isDisabled?: boolean | undefined; }) | undefined; hasBorder?: boolean | undefined; } & { description: string | number | boolean | {} | React.ReactElement React.ReactElement React.Component)> | null) | (new (props: any) => React.Component)> | React.ReactNodeArray | React.ReactPortal; }> & { recommended?: boolean | undefined; button?: React.ReactNode; onClick?: ((event: React.MouseEvent) => void) | undefined; } & { solution: string; })" + " & { href?: string | undefined; onClick?: ((event: React.MouseEvent) => void) | undefined; } & React.AnchorHTMLAttributes & { isSelected?: boolean | undefined; isDisabled?: boolean | undefined; }) | undefined; hasBorder?: boolean | undefined; } & { description: string | number | boolean | {} | React.ReactElement React.ReactElement React.Component)> | null) | (new (props: any) => React.Component)> | React.ReactNodeArray | React.ReactPortal; }> & { recommended?: boolean | undefined; button?: React.ReactNode; onClick?: ((event: React.MouseEvent) => void) | undefined; category?: string | undefined; } & { solution: string; })" ], "path": "src/plugins/kibana_react/public/page_template/no_data_page/no_data_card/elastic_agent_card.tsx", "deprecated": false, @@ -4235,575 +4199,33 @@ }, { "parentPluginId": "kibanaReact", - "id": "def-public.ElasticBeatsCardProps", + "id": "def-public.KibanaPageTemplateProps", "type": "Type", "tags": [], - "label": "ElasticBeatsCardProps", - "description": [], + "label": "KibanaPageTemplateProps", + "description": [ + "\nA thin wrapper around EuiPageTemplate with a few Kibana specific additions" + ], "signature": [ - "(Partial & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\"> & ", - "DisambiguateSet", - "<{ layout?: \"vertical\" | undefined; textAlign?: \"left\" | \"right\" | \"center\" | undefined; footer?: React.ReactNode; image?: string | React.ReactElement React.ReactElement React.Component)> | null) | (new (props: any) => React.Component)> | undefined; }, { layout: \"horizontal\"; }> & { layout: \"horizontal\"; } & { title: string | number | boolean | {} | React.ReactElement React.ReactElement React.Component)> | null) | (new (props: any) => React.Component)> | React.ReactNodeArray | React.ReactPortal; titleElement?: \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\" | \"span\" | undefined; titleSize?: \"s\" | \"xs\" | undefined; description?: string | number | boolean | {} | React.ReactElement React.ReactElement React.Component)> | null) | (new (props: any) => React.Component)> | React.ReactNodeArray | React.ReactPortal | undefined; icon?: React.ReactElement<", - "EuiIconProps", - ", string | ((props: any) => React.ReactElement React.Component)> | null) | (new (props: any) => React.Component)> | null | undefined; children?: React.ReactNode; onClick?: ((event: React.MouseEvent) => void) | ((event: React.MouseEvent) => void) | undefined; isDisabled?: boolean | undefined; href?: string | undefined; target?: string | undefined; rel?: string | undefined; betaBadgeLabel?: string | undefined; betaBadgeTooltipContent?: React.ReactNode; betaBadgeTitle?: string | undefined; betaBadgeProps?: Partial<", - "CommonProps", - " & ", - "DisambiguateSet", - "<(", - "DisambiguateSet", - " & { href: string; target?: string | undefined; rel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">) | (", - "DisambiguateSet", - " & { onClick?: ((event: React.MouseEvent) => void) | undefined; onClickAriaLabel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">), Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">> & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\"> & { iconType?: string | React.ComponentClass<{}, any> | React.FunctionComponent<{}> | undefined; label: React.ReactNode; tooltipContent?: React.ReactNode; tooltipPosition?: \"top\" | \"bottom\" | \"left\" | \"right\" | undefined; title?: string | undefined; color?: \"accent\" | \"subdued\" | \"hollow\" | undefined; size?: \"m\" | \"s\" | undefined; } & ", - "DisambiguateSet", - " & LabelAsString> | Partial<", - "CommonProps", - " & ", - "DisambiguateSet", - "<(", - "DisambiguateSet", - " & { href: string; target?: string | undefined; rel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">) | (", - "DisambiguateSet", - " & { onClick?: ((event: React.MouseEvent) => void) | undefined; onClickAriaLabel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">), Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">> & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\"> & { iconType?: string | React.ComponentClass<{}, any> | React.FunctionComponent<{}> | undefined; label: React.ReactNode; tooltipContent?: React.ReactNode; tooltipPosition?: \"top\" | \"bottom\" | \"left\" | \"right\" | undefined; title?: string | undefined; color?: \"accent\" | \"subdued\" | \"hollow\" | undefined; size?: \"m\" | \"s\" | undefined; } & ", - "DisambiguateSet", - " & ", - "DisambiguateSet", - "<{ title: string; tooltipContent?: React.ReactNode; }, { tooltipContent: React.ReactNode; title?: string | undefined; }> & { tooltipContent: React.ReactNode; title?: string | undefined; } & { label: React.ReactNode; }> | Partial<", - "CommonProps", - " & ", - "DisambiguateSet", - ", \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">, (", - "DisambiguateSet", - " & { href: string; target?: string | undefined; rel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">) | (", - "DisambiguateSet", - " & { onClick?: ((event: React.MouseEvent) => void) | undefined; onClickAriaLabel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">)> & ", - "DisambiguateSet", - " & { href: string; target?: string | undefined; rel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\"> & { iconType?: string | React.ComponentClass<{}, any> | React.FunctionComponent<{}> | undefined; label: React.ReactNode; tooltipContent?: React.ReactNode; tooltipPosition?: \"top\" | \"bottom\" | \"left\" | \"right\" | undefined; title?: string | undefined; color?: \"accent\" | \"subdued\" | \"hollow\" | undefined; size?: \"m\" | \"s\" | undefined; } & ", - "DisambiguateSet", - " & LabelAsString> | Partial<", - "CommonProps", - " & ", - "DisambiguateSet", - ", \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">, (", - "DisambiguateSet", - " & { href: string; target?: string | undefined; rel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">) | (", - "DisambiguateSet", - " & { onClick?: ((event: React.MouseEvent) => void) | undefined; onClickAriaLabel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">)> & ", - "DisambiguateSet", - " & { href: string; target?: string | undefined; rel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\"> & { iconType?: string | React.ComponentClass<{}, any> | React.FunctionComponent<{}> | undefined; label: React.ReactNode; tooltipContent?: React.ReactNode; tooltipPosition?: \"top\" | \"bottom\" | \"left\" | \"right\" | undefined; title?: string | undefined; color?: \"accent\" | \"subdued\" | \"hollow\" | undefined; size?: \"m\" | \"s\" | undefined; } & ", - "DisambiguateSet", - " & ", - "DisambiguateSet", - "<{ title: string; tooltipContent?: React.ReactNode; }, { tooltipContent: React.ReactNode; title?: string | undefined; }> & { tooltipContent: React.ReactNode; title?: string | undefined; } & { label: React.ReactNode; }> | Partial<", - "CommonProps", - " & ", - "DisambiguateSet", - ", \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">, (", - "DisambiguateSet", - " & { href: string; target?: string | undefined; rel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">) | (", - "DisambiguateSet", - " & { onClick?: ((event: React.MouseEvent) => void) | undefined; onClickAriaLabel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">)> & ", - "DisambiguateSet", - " & { href: string; target?: string | undefined; rel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\"> & { iconType?: string | React.ComponentClass<{}, any> | React.FunctionComponent<{}> | undefined; label: React.ReactNode; tooltipContent?: React.ReactNode; tooltipPosition?: \"top\" | \"bottom\" | \"left\" | \"right\" | undefined; title?: string | undefined; color?: \"accent\" | \"subdued\" | \"hollow\" | undefined; size?: \"m\" | \"s\" | undefined; } & ", - "DisambiguateSet", - " & ", - "DisambiguateSet", - "<{ tooltipContent: React.ReactNode; title?: string | undefined; }, { title: string; tooltipContent?: React.ReactNode; }> & { title: string; tooltipContent?: React.ReactNode; } & { label: React.ReactNode; }> | Partial<", - "CommonProps", - " & ", - "DisambiguateSet", - ", \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">, (", - "DisambiguateSet", - " & { href: string; target?: string | undefined; rel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">) | (", - "DisambiguateSet", - " & { onClick?: ((event: React.MouseEvent) => void) | undefined; onClickAriaLabel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">)> & ", - "DisambiguateSet", - " & { onClick?: ((event: React.MouseEvent) => void) | undefined; onClickAriaLabel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\"> & { iconType?: string | React.ComponentClass<{}, any> | React.FunctionComponent<{}> | undefined; label: React.ReactNode; tooltipContent?: React.ReactNode; tooltipPosition?: \"top\" | \"bottom\" | \"left\" | \"right\" | undefined; title?: string | undefined; color?: \"accent\" | \"subdued\" | \"hollow\" | undefined; size?: \"m\" | \"s\" | undefined; } & ", - "DisambiguateSet", - " & LabelAsString> | Partial<", - "CommonProps", - " & ", - "DisambiguateSet", - ", \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">, (", - "DisambiguateSet", - " & { href: string; target?: string | undefined; rel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">) | (", - "DisambiguateSet", - " & { onClick?: ((event: React.MouseEvent) => void) | undefined; onClickAriaLabel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">)> & ", - "DisambiguateSet", - " & { onClick?: ((event: React.MouseEvent) => void) | undefined; onClickAriaLabel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\"> & { iconType?: string | React.ComponentClass<{}, any> | React.FunctionComponent<{}> | undefined; label: React.ReactNode; tooltipContent?: React.ReactNode; tooltipPosition?: \"top\" | \"bottom\" | \"left\" | \"right\" | undefined; title?: string | undefined; color?: \"accent\" | \"subdued\" | \"hollow\" | undefined; size?: \"m\" | \"s\" | undefined; } & ", - "DisambiguateSet", - " & ", - "DisambiguateSet", - "<{ title: string; tooltipContent?: React.ReactNode; }, { tooltipContent: React.ReactNode; title?: string | undefined; }> & { tooltipContent: React.ReactNode; title?: string | undefined; } & { label: React.ReactNode; }> | Partial<", - "CommonProps", - " & ", - "DisambiguateSet", - ", \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">, (", - "DisambiguateSet", - " & { href: string; target?: string | undefined; rel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">) | (", - "DisambiguateSet", - " & { onClick?: ((event: React.MouseEvent) => void) | undefined; onClickAriaLabel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">)> & ", - "DisambiguateSet", - " & { onClick?: ((event: React.MouseEvent) => void) | undefined; onClickAriaLabel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\"> & { iconType?: string | React.ComponentClass<{}, any> | React.FunctionComponent<{}> | undefined; label: React.ReactNode; tooltipContent?: React.ReactNode; tooltipPosition?: \"top\" | \"bottom\" | \"left\" | \"right\" | undefined; title?: string | undefined; color?: \"accent\" | \"subdued\" | \"hollow\" | undefined; size?: \"m\" | \"s\" | undefined; } & ", - "DisambiguateSet", - " & ", - "DisambiguateSet", - "<{ tooltipContent: React.ReactNode; title?: string | undefined; }, { title: string; tooltipContent?: React.ReactNode; }> & { title: string; tooltipContent?: React.ReactNode; } & { label: React.ReactNode; }> | undefined; display?: \"primary\" | \"success\" | \"warning\" | \"danger\" | \"accent\" | \"transparent\" | \"plain\" | \"subdued\" | undefined; paddingSize?: \"none\" | \"m\" | \"s\" | \"l\" | undefined; selectable?: (", - "DisambiguateSet", - "<", - "PropsForAnchor", - "<", - "CommonEuiButtonEmptyProps", - ", {}>, ", - "PropsForButton", - "<", - "CommonEuiButtonEmptyProps", - ", {}>> & ", - "CommonEuiButtonEmptyProps", - " & { onClick?: ((event: React.MouseEvent) => void) | undefined; } & React.ButtonHTMLAttributes & { isSelected?: boolean | undefined; isDisabled?: boolean | undefined; }) | (", - "DisambiguateSet", - "<", - "PropsForButton", - "<", - "CommonEuiButtonEmptyProps", - ", {}>, ", - "PropsForAnchor", - "<", - "CommonEuiButtonEmptyProps", - ", {}>> & ", - "CommonEuiButtonEmptyProps", - " & { href?: string | undefined; onClick?: ((event: React.MouseEvent) => void) | undefined; } & React.AnchorHTMLAttributes & { isSelected?: boolean | undefined; isDisabled?: boolean | undefined; }) | undefined; hasBorder?: boolean | undefined; } & { description?: string | number | boolean | {} | React.ReactElement React.ReactElement React.Component)> | null) | (new (props: any) => React.Component)> | React.ReactNodeArray | React.ReactPortal | undefined; children: React.ReactNode; }> & { recommended?: boolean | undefined; button?: React.ReactNode; onClick?: ((event: React.MouseEvent) => void) | undefined; } & { solution: string; }) | (Partial & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\"> & ", - "DisambiguateSet", - "<{ layout?: \"vertical\" | undefined; textAlign?: \"left\" | \"right\" | \"center\" | undefined; footer?: React.ReactNode; image?: string | React.ReactElement React.ReactElement React.Component)> | null) | (new (props: any) => React.Component)> | undefined; }, { layout: \"horizontal\"; }> & { layout: \"horizontal\"; } & { title: string | number | boolean | {} | React.ReactElement React.ReactElement React.Component)> | null) | (new (props: any) => React.Component)> | React.ReactNodeArray | React.ReactPortal; titleElement?: \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\" | \"span\" | undefined; titleSize?: \"s\" | \"xs\" | undefined; description?: string | number | boolean | {} | React.ReactElement React.ReactElement React.Component)> | null) | (new (props: any) => React.Component)> | React.ReactNodeArray | React.ReactPortal | undefined; icon?: React.ReactElement<", - "EuiIconProps", - ", string | ((props: any) => React.ReactElement React.Component)> | null) | (new (props: any) => React.Component)> | null | undefined; children?: React.ReactNode; onClick?: ((event: React.MouseEvent) => void) | ((event: React.MouseEvent) => void) | undefined; isDisabled?: boolean | undefined; href?: string | undefined; target?: string | undefined; rel?: string | undefined; betaBadgeLabel?: string | undefined; betaBadgeTooltipContent?: React.ReactNode; betaBadgeTitle?: string | undefined; betaBadgeProps?: Partial<", - "CommonProps", - " & ", - "DisambiguateSet", - "<(", - "DisambiguateSet", - " & { href: string; target?: string | undefined; rel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">) | (", - "DisambiguateSet", - " & { onClick?: ((event: React.MouseEvent) => void) | undefined; onClickAriaLabel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">), Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">> & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\"> & { iconType?: string | React.ComponentClass<{}, any> | React.FunctionComponent<{}> | undefined; label: React.ReactNode; tooltipContent?: React.ReactNode; tooltipPosition?: \"top\" | \"bottom\" | \"left\" | \"right\" | undefined; title?: string | undefined; color?: \"accent\" | \"subdued\" | \"hollow\" | undefined; size?: \"m\" | \"s\" | undefined; } & ", - "DisambiguateSet", - " & LabelAsString> | Partial<", - "CommonProps", - " & ", - "DisambiguateSet", - "<(", - "DisambiguateSet", - " & { href: string; target?: string | undefined; rel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">) | (", - "DisambiguateSet", - " & { onClick?: ((event: React.MouseEvent) => void) | undefined; onClickAriaLabel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">), Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">> & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\"> & { iconType?: string | React.ComponentClass<{}, any> | React.FunctionComponent<{}> | undefined; label: React.ReactNode; tooltipContent?: React.ReactNode; tooltipPosition?: \"top\" | \"bottom\" | \"left\" | \"right\" | undefined; title?: string | undefined; color?: \"accent\" | \"subdued\" | \"hollow\" | undefined; size?: \"m\" | \"s\" | undefined; } & ", - "DisambiguateSet", - " & ", - "DisambiguateSet", - "<{ title: string; tooltipContent?: React.ReactNode; }, { tooltipContent: React.ReactNode; title?: string | undefined; }> & { tooltipContent: React.ReactNode; title?: string | undefined; } & { label: React.ReactNode; }> | Partial<", + "Pick<", + "EuiPageProps", + ", \"children\" | \"onClick\" | \"onChange\" | \"color\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\" | \"grow\" | \"data-test-subj\" | \"direction\" | \"restrictWidth\"> & { template?: \"default\" | \"empty\" | \"centeredBody\" | \"centeredContent\" | undefined; paddingSize?: \"none\" | \"m\" | \"s\" | \"l\" | undefined; pageSideBar?: React.ReactNode; pageSideBarProps?: ", + "EuiPageSideBarProps", + " | undefined; pageHeader?: ", + "EuiPageHeaderProps", + " | undefined; pageBodyProps?: ", + "EuiPageBodyProps", + "<\"main\"> | undefined; pageContentProps?: ", + "EuiPageContentProps", + " | undefined; pageContentBodyProps?: ", + "EuiPageContentBodyProps", + " | undefined; bottomBar?: React.ReactNode; bottomBarProps?: (", "CommonProps", - " & ", - "DisambiguateSet", - ", \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">, (", - "DisambiguateSet", - " & { href: string; target?: string | undefined; rel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">) | (", - "DisambiguateSet", - " & { onClick?: ((event: React.MouseEvent) => void) | undefined; onClickAriaLabel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">)> & ", - "DisambiguateSet", - " & { href: string; target?: string | undefined; rel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\"> & { iconType?: string | React.ComponentClass<{}, any> | React.FunctionComponent<{}> | undefined; label: React.ReactNode; tooltipContent?: React.ReactNode; tooltipPosition?: \"top\" | \"bottom\" | \"left\" | \"right\" | undefined; title?: string | undefined; color?: \"accent\" | \"subdued\" | \"hollow\" | undefined; size?: \"m\" | \"s\" | undefined; } & ", + " & React.HTMLAttributes & ", "DisambiguateSet", - " & LabelAsString> | Partial<", + "<{ position?: \"fixed\" | undefined; usePortal?: boolean | undefined; affordForDisplacement?: boolean | undefined; }, { position: \"static\" | \"sticky\"; }> & { position: \"static\" | \"sticky\"; } & { paddingSize?: \"none\" | \"m\" | \"s\" | \"l\" | undefined; bodyClassName?: string | undefined; landmarkHeading?: string | undefined; top?: string | number | undefined; right?: string | number | undefined; bottom?: string | number | undefined; left?: string | number | undefined; }) | (", "CommonProps", - " & ", - "DisambiguateSet", - ", \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">, (", - "DisambiguateSet", - " & { href: string; target?: string | undefined; rel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">) | (", - "DisambiguateSet", - " & { onClick?: ((event: React.MouseEvent) => void) | undefined; onClickAriaLabel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">)> & ", - "DisambiguateSet", - " & { href: string; target?: string | undefined; rel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\"> & { iconType?: string | React.ComponentClass<{}, any> | React.FunctionComponent<{}> | undefined; label: React.ReactNode; tooltipContent?: React.ReactNode; tooltipPosition?: \"top\" | \"bottom\" | \"left\" | \"right\" | undefined; title?: string | undefined; color?: \"accent\" | \"subdued\" | \"hollow\" | undefined; size?: \"m\" | \"s\" | undefined; } & ", - "DisambiguateSet", - " & ", - "DisambiguateSet", - "<{ title: string; tooltipContent?: React.ReactNode; }, { tooltipContent: React.ReactNode; title?: string | undefined; }> & { tooltipContent: React.ReactNode; title?: string | undefined; } & { label: React.ReactNode; }> | Partial<", - "CommonProps", - " & ", - "DisambiguateSet", - ", \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">, (", - "DisambiguateSet", - " & { href: string; target?: string | undefined; rel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">) | (", - "DisambiguateSet", - " & { onClick?: ((event: React.MouseEvent) => void) | undefined; onClickAriaLabel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">)> & ", - "DisambiguateSet", - " & { href: string; target?: string | undefined; rel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\"> & { iconType?: string | React.ComponentClass<{}, any> | React.FunctionComponent<{}> | undefined; label: React.ReactNode; tooltipContent?: React.ReactNode; tooltipPosition?: \"top\" | \"bottom\" | \"left\" | \"right\" | undefined; title?: string | undefined; color?: \"accent\" | \"subdued\" | \"hollow\" | undefined; size?: \"m\" | \"s\" | undefined; } & ", - "DisambiguateSet", - " & ", - "DisambiguateSet", - "<{ tooltipContent: React.ReactNode; title?: string | undefined; }, { title: string; tooltipContent?: React.ReactNode; }> & { title: string; tooltipContent?: React.ReactNode; } & { label: React.ReactNode; }> | Partial<", - "CommonProps", - " & ", - "DisambiguateSet", - ", \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">, (", - "DisambiguateSet", - " & { href: string; target?: string | undefined; rel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">) | (", - "DisambiguateSet", - " & { onClick?: ((event: React.MouseEvent) => void) | undefined; onClickAriaLabel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">)> & ", - "DisambiguateSet", - " & { onClick?: ((event: React.MouseEvent) => void) | undefined; onClickAriaLabel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\"> & { iconType?: string | React.ComponentClass<{}, any> | React.FunctionComponent<{}> | undefined; label: React.ReactNode; tooltipContent?: React.ReactNode; tooltipPosition?: \"top\" | \"bottom\" | \"left\" | \"right\" | undefined; title?: string | undefined; color?: \"accent\" | \"subdued\" | \"hollow\" | undefined; size?: \"m\" | \"s\" | undefined; } & ", - "DisambiguateSet", - " & LabelAsString> | Partial<", - "CommonProps", - " & ", - "DisambiguateSet", - ", \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">, (", - "DisambiguateSet", - " & { href: string; target?: string | undefined; rel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">) | (", - "DisambiguateSet", - " & { onClick?: ((event: React.MouseEvent) => void) | undefined; onClickAriaLabel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">)> & ", - "DisambiguateSet", - " & { onClick?: ((event: React.MouseEvent) => void) | undefined; onClickAriaLabel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\"> & { iconType?: string | React.ComponentClass<{}, any> | React.FunctionComponent<{}> | undefined; label: React.ReactNode; tooltipContent?: React.ReactNode; tooltipPosition?: \"top\" | \"bottom\" | \"left\" | \"right\" | undefined; title?: string | undefined; color?: \"accent\" | \"subdued\" | \"hollow\" | undefined; size?: \"m\" | \"s\" | undefined; } & ", - "DisambiguateSet", - " & ", - "DisambiguateSet", - "<{ title: string; tooltipContent?: React.ReactNode; }, { tooltipContent: React.ReactNode; title?: string | undefined; }> & { tooltipContent: React.ReactNode; title?: string | undefined; } & { label: React.ReactNode; }> | Partial<", - "CommonProps", - " & ", - "DisambiguateSet", - ", \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">, (", - "DisambiguateSet", - " & { href: string; target?: string | undefined; rel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">) | (", - "DisambiguateSet", - " & { onClick?: ((event: React.MouseEvent) => void) | undefined; onClickAriaLabel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">)> & ", - "DisambiguateSet", - " & { onClick?: ((event: React.MouseEvent) => void) | undefined; onClickAriaLabel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\"> & { iconType?: string | React.ComponentClass<{}, any> | React.FunctionComponent<{}> | undefined; label: React.ReactNode; tooltipContent?: React.ReactNode; tooltipPosition?: \"top\" | \"bottom\" | \"left\" | \"right\" | undefined; title?: string | undefined; color?: \"accent\" | \"subdued\" | \"hollow\" | undefined; size?: \"m\" | \"s\" | undefined; } & ", - "DisambiguateSet", - " & ", - "DisambiguateSet", - "<{ tooltipContent: React.ReactNode; title?: string | undefined; }, { title: string; tooltipContent?: React.ReactNode; }> & { title: string; tooltipContent?: React.ReactNode; } & { label: React.ReactNode; }> | undefined; display?: \"primary\" | \"success\" | \"warning\" | \"danger\" | \"accent\" | \"transparent\" | \"plain\" | \"subdued\" | undefined; paddingSize?: \"none\" | \"m\" | \"s\" | \"l\" | undefined; selectable?: (", - "DisambiguateSet", - "<", - "PropsForAnchor", - "<", - "CommonEuiButtonEmptyProps", - ", {}>, ", - "PropsForButton", - "<", - "CommonEuiButtonEmptyProps", - ", {}>> & ", - "CommonEuiButtonEmptyProps", - " & { onClick?: ((event: React.MouseEvent) => void) | undefined; } & React.ButtonHTMLAttributes & { isSelected?: boolean | undefined; isDisabled?: boolean | undefined; }) | (", - "DisambiguateSet", - "<", - "PropsForButton", - "<", - "CommonEuiButtonEmptyProps", - ", {}>, ", - "PropsForAnchor", - "<", - "CommonEuiButtonEmptyProps", - ", {}>> & ", - "CommonEuiButtonEmptyProps", - " & { href?: string | undefined; onClick?: ((event: React.MouseEvent) => void) | undefined; } & React.AnchorHTMLAttributes & { isSelected?: boolean | undefined; isDisabled?: boolean | undefined; }) | undefined; hasBorder?: boolean | undefined; } & { description: string | number | boolean | {} | React.ReactElement React.ReactElement React.Component)> | null) | (new (props: any) => React.Component)> | React.ReactNodeArray | React.ReactPortal; }> & { recommended?: boolean | undefined; button?: React.ReactNode; onClick?: ((event: React.MouseEvent) => void) | undefined; } & { solution: string; }) | (Partial & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\"> & ", - "DisambiguateSet", - "<{ layout: \"horizontal\"; }, { layout?: \"vertical\" | undefined; textAlign?: \"left\" | \"right\" | \"center\" | undefined; footer?: React.ReactNode; image?: string | React.ReactElement React.ReactElement React.Component)> | null) | (new (props: any) => React.Component)> | undefined; }> & { layout?: \"vertical\" | undefined; textAlign?: \"left\" | \"right\" | \"center\" | undefined; footer?: React.ReactNode; image?: string | React.ReactElement React.ReactElement React.Component)> | null) | (new (props: any) => React.Component)> | undefined; } & { title: string | number | boolean | {} | React.ReactElement React.ReactElement React.Component)> | null) | (new (props: any) => React.Component)> | React.ReactNodeArray | React.ReactPortal; titleElement?: \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\" | \"span\" | undefined; titleSize?: \"s\" | \"xs\" | undefined; description?: string | number | boolean | {} | React.ReactElement React.ReactElement React.Component)> | null) | (new (props: any) => React.Component)> | React.ReactNodeArray | React.ReactPortal | undefined; icon?: React.ReactElement<", - "EuiIconProps", - ", string | ((props: any) => React.ReactElement React.Component)> | null) | (new (props: any) => React.Component)> | null | undefined; children?: React.ReactNode; onClick?: ((event: React.MouseEvent) => void) | ((event: React.MouseEvent) => void) | undefined; isDisabled?: boolean | undefined; href?: string | undefined; target?: string | undefined; rel?: string | undefined; betaBadgeLabel?: string | undefined; betaBadgeTooltipContent?: React.ReactNode; betaBadgeTitle?: string | undefined; betaBadgeProps?: Partial<", - "CommonProps", - " & ", - "DisambiguateSet", - "<(", - "DisambiguateSet", - " & { href: string; target?: string | undefined; rel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">) | (", - "DisambiguateSet", - " & { onClick?: ((event: React.MouseEvent) => void) | undefined; onClickAriaLabel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">), Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">> & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\"> & { iconType?: string | React.ComponentClass<{}, any> | React.FunctionComponent<{}> | undefined; label: React.ReactNode; tooltipContent?: React.ReactNode; tooltipPosition?: \"top\" | \"bottom\" | \"left\" | \"right\" | undefined; title?: string | undefined; color?: \"accent\" | \"subdued\" | \"hollow\" | undefined; size?: \"m\" | \"s\" | undefined; } & ", - "DisambiguateSet", - " & LabelAsString> | Partial<", - "CommonProps", - " & ", - "DisambiguateSet", - "<(", - "DisambiguateSet", - " & { href: string; target?: string | undefined; rel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">) | (", - "DisambiguateSet", - " & { onClick?: ((event: React.MouseEvent) => void) | undefined; onClickAriaLabel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">), Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">> & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\"> & { iconType?: string | React.ComponentClass<{}, any> | React.FunctionComponent<{}> | undefined; label: React.ReactNode; tooltipContent?: React.ReactNode; tooltipPosition?: \"top\" | \"bottom\" | \"left\" | \"right\" | undefined; title?: string | undefined; color?: \"accent\" | \"subdued\" | \"hollow\" | undefined; size?: \"m\" | \"s\" | undefined; } & ", - "DisambiguateSet", - " & ", - "DisambiguateSet", - "<{ title: string; tooltipContent?: React.ReactNode; }, { tooltipContent: React.ReactNode; title?: string | undefined; }> & { tooltipContent: React.ReactNode; title?: string | undefined; } & { label: React.ReactNode; }> | Partial<", - "CommonProps", - " & ", - "DisambiguateSet", - ", \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">, (", - "DisambiguateSet", - " & { href: string; target?: string | undefined; rel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">) | (", - "DisambiguateSet", - " & { onClick?: ((event: React.MouseEvent) => void) | undefined; onClickAriaLabel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">)> & ", - "DisambiguateSet", - " & { href: string; target?: string | undefined; rel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\"> & { iconType?: string | React.ComponentClass<{}, any> | React.FunctionComponent<{}> | undefined; label: React.ReactNode; tooltipContent?: React.ReactNode; tooltipPosition?: \"top\" | \"bottom\" | \"left\" | \"right\" | undefined; title?: string | undefined; color?: \"accent\" | \"subdued\" | \"hollow\" | undefined; size?: \"m\" | \"s\" | undefined; } & ", - "DisambiguateSet", - " & LabelAsString> | Partial<", - "CommonProps", - " & ", - "DisambiguateSet", - ", \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">, (", - "DisambiguateSet", - " & { href: string; target?: string | undefined; rel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">) | (", - "DisambiguateSet", - " & { onClick?: ((event: React.MouseEvent) => void) | undefined; onClickAriaLabel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">)> & ", - "DisambiguateSet", - " & { href: string; target?: string | undefined; rel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\"> & { iconType?: string | React.ComponentClass<{}, any> | React.FunctionComponent<{}> | undefined; label: React.ReactNode; tooltipContent?: React.ReactNode; tooltipPosition?: \"top\" | \"bottom\" | \"left\" | \"right\" | undefined; title?: string | undefined; color?: \"accent\" | \"subdued\" | \"hollow\" | undefined; size?: \"m\" | \"s\" | undefined; } & ", - "DisambiguateSet", - " & ", - "DisambiguateSet", - "<{ title: string; tooltipContent?: React.ReactNode; }, { tooltipContent: React.ReactNode; title?: string | undefined; }> & { tooltipContent: React.ReactNode; title?: string | undefined; } & { label: React.ReactNode; }> | Partial<", - "CommonProps", - " & ", - "DisambiguateSet", - ", \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">, (", - "DisambiguateSet", - " & { href: string; target?: string | undefined; rel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">) | (", - "DisambiguateSet", - " & { onClick?: ((event: React.MouseEvent) => void) | undefined; onClickAriaLabel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">)> & ", - "DisambiguateSet", - " & { href: string; target?: string | undefined; rel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\"> & { iconType?: string | React.ComponentClass<{}, any> | React.FunctionComponent<{}> | undefined; label: React.ReactNode; tooltipContent?: React.ReactNode; tooltipPosition?: \"top\" | \"bottom\" | \"left\" | \"right\" | undefined; title?: string | undefined; color?: \"accent\" | \"subdued\" | \"hollow\" | undefined; size?: \"m\" | \"s\" | undefined; } & ", - "DisambiguateSet", - " & ", - "DisambiguateSet", - "<{ tooltipContent: React.ReactNode; title?: string | undefined; }, { title: string; tooltipContent?: React.ReactNode; }> & { title: string; tooltipContent?: React.ReactNode; } & { label: React.ReactNode; }> | Partial<", - "CommonProps", - " & ", - "DisambiguateSet", - ", \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">, (", - "DisambiguateSet", - " & { href: string; target?: string | undefined; rel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">) | (", - "DisambiguateSet", - " & { onClick?: ((event: React.MouseEvent) => void) | undefined; onClickAriaLabel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">)> & ", - "DisambiguateSet", - " & { onClick?: ((event: React.MouseEvent) => void) | undefined; onClickAriaLabel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\"> & { iconType?: string | React.ComponentClass<{}, any> | React.FunctionComponent<{}> | undefined; label: React.ReactNode; tooltipContent?: React.ReactNode; tooltipPosition?: \"top\" | \"bottom\" | \"left\" | \"right\" | undefined; title?: string | undefined; color?: \"accent\" | \"subdued\" | \"hollow\" | undefined; size?: \"m\" | \"s\" | undefined; } & ", - "DisambiguateSet", - " & LabelAsString> | Partial<", - "CommonProps", - " & ", - "DisambiguateSet", - ", \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">, (", - "DisambiguateSet", - " & { href: string; target?: string | undefined; rel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">) | (", - "DisambiguateSet", - " & { onClick?: ((event: React.MouseEvent) => void) | undefined; onClickAriaLabel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">)> & ", - "DisambiguateSet", - " & { onClick?: ((event: React.MouseEvent) => void) | undefined; onClickAriaLabel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\"> & { iconType?: string | React.ComponentClass<{}, any> | React.FunctionComponent<{}> | undefined; label: React.ReactNode; tooltipContent?: React.ReactNode; tooltipPosition?: \"top\" | \"bottom\" | \"left\" | \"right\" | undefined; title?: string | undefined; color?: \"accent\" | \"subdued\" | \"hollow\" | undefined; size?: \"m\" | \"s\" | undefined; } & ", - "DisambiguateSet", - " & ", - "DisambiguateSet", - "<{ title: string; tooltipContent?: React.ReactNode; }, { tooltipContent: React.ReactNode; title?: string | undefined; }> & { tooltipContent: React.ReactNode; title?: string | undefined; } & { label: React.ReactNode; }> | Partial<", - "CommonProps", - " & ", - "DisambiguateSet", - ", \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">, (", - "DisambiguateSet", - " & { href: string; target?: string | undefined; rel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">) | (", - "DisambiguateSet", - " & { onClick?: ((event: React.MouseEvent) => void) | undefined; onClickAriaLabel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">)> & ", - "DisambiguateSet", - " & { onClick?: ((event: React.MouseEvent) => void) | undefined; onClickAriaLabel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\"> & { iconType?: string | React.ComponentClass<{}, any> | React.FunctionComponent<{}> | undefined; label: React.ReactNode; tooltipContent?: React.ReactNode; tooltipPosition?: \"top\" | \"bottom\" | \"left\" | \"right\" | undefined; title?: string | undefined; color?: \"accent\" | \"subdued\" | \"hollow\" | undefined; size?: \"m\" | \"s\" | undefined; } & ", - "DisambiguateSet", - " & ", - "DisambiguateSet", - "<{ tooltipContent: React.ReactNode; title?: string | undefined; }, { title: string; tooltipContent?: React.ReactNode; }> & { title: string; tooltipContent?: React.ReactNode; } & { label: React.ReactNode; }> | undefined; display?: \"primary\" | \"success\" | \"warning\" | \"danger\" | \"accent\" | \"transparent\" | \"plain\" | \"subdued\" | undefined; paddingSize?: \"none\" | \"m\" | \"s\" | \"l\" | undefined; selectable?: (", - "DisambiguateSet", - "<", - "PropsForAnchor", - "<", - "CommonEuiButtonEmptyProps", - ", {}>, ", - "PropsForButton", - "<", - "CommonEuiButtonEmptyProps", - ", {}>> & ", - "CommonEuiButtonEmptyProps", - " & { onClick?: ((event: React.MouseEvent) => void) | undefined; } & React.ButtonHTMLAttributes & { isSelected?: boolean | undefined; isDisabled?: boolean | undefined; }) | (", - "DisambiguateSet", - "<", - "PropsForButton", - "<", - "CommonEuiButtonEmptyProps", - ", {}>, ", - "PropsForAnchor", - "<", - "CommonEuiButtonEmptyProps", - ", {}>> & ", - "CommonEuiButtonEmptyProps", - " & { href?: string | undefined; onClick?: ((event: React.MouseEvent) => void) | undefined; } & React.AnchorHTMLAttributes & { isSelected?: boolean | undefined; isDisabled?: boolean | undefined; }) | undefined; hasBorder?: boolean | undefined; } & { description?: string | number | boolean | {} | React.ReactElement React.ReactElement React.Component)> | null) | (new (props: any) => React.Component)> | React.ReactNodeArray | React.ReactPortal | undefined; children: React.ReactNode; }> & { recommended?: boolean | undefined; button?: React.ReactNode; onClick?: ((event: React.MouseEvent) => void) | undefined; } & { solution: string; }) | (Partial & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\"> & ", - "DisambiguateSet", - "<{ layout: \"horizontal\"; }, { layout?: \"vertical\" | undefined; textAlign?: \"left\" | \"right\" | \"center\" | undefined; footer?: React.ReactNode; image?: string | React.ReactElement React.ReactElement React.Component)> | null) | (new (props: any) => React.Component)> | undefined; }> & { layout?: \"vertical\" | undefined; textAlign?: \"left\" | \"right\" | \"center\" | undefined; footer?: React.ReactNode; image?: string | React.ReactElement React.ReactElement React.Component)> | null) | (new (props: any) => React.Component)> | undefined; } & { title: string | number | boolean | {} | React.ReactElement React.ReactElement React.Component)> | null) | (new (props: any) => React.Component)> | React.ReactNodeArray | React.ReactPortal; titleElement?: \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\" | \"span\" | undefined; titleSize?: \"s\" | \"xs\" | undefined; description?: string | number | boolean | {} | React.ReactElement React.ReactElement React.Component)> | null) | (new (props: any) => React.Component)> | React.ReactNodeArray | React.ReactPortal | undefined; icon?: React.ReactElement<", - "EuiIconProps", - ", string | ((props: any) => React.ReactElement React.Component)> | null) | (new (props: any) => React.Component)> | null | undefined; children?: React.ReactNode; onClick?: ((event: React.MouseEvent) => void) | ((event: React.MouseEvent) => void) | undefined; isDisabled?: boolean | undefined; href?: string | undefined; target?: string | undefined; rel?: string | undefined; betaBadgeLabel?: string | undefined; betaBadgeTooltipContent?: React.ReactNode; betaBadgeTitle?: string | undefined; betaBadgeProps?: Partial<", - "CommonProps", - " & ", - "DisambiguateSet", - "<(", - "DisambiguateSet", - " & { href: string; target?: string | undefined; rel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">) | (", - "DisambiguateSet", - " & { onClick?: ((event: React.MouseEvent) => void) | undefined; onClickAriaLabel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">), Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">> & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\"> & { iconType?: string | React.ComponentClass<{}, any> | React.FunctionComponent<{}> | undefined; label: React.ReactNode; tooltipContent?: React.ReactNode; tooltipPosition?: \"top\" | \"bottom\" | \"left\" | \"right\" | undefined; title?: string | undefined; color?: \"accent\" | \"subdued\" | \"hollow\" | undefined; size?: \"m\" | \"s\" | undefined; } & ", - "DisambiguateSet", - " & LabelAsString> | Partial<", - "CommonProps", - " & ", - "DisambiguateSet", - "<(", - "DisambiguateSet", - " & { href: string; target?: string | undefined; rel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">) | (", - "DisambiguateSet", - " & { onClick?: ((event: React.MouseEvent) => void) | undefined; onClickAriaLabel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">), Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">> & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\"> & { iconType?: string | React.ComponentClass<{}, any> | React.FunctionComponent<{}> | undefined; label: React.ReactNode; tooltipContent?: React.ReactNode; tooltipPosition?: \"top\" | \"bottom\" | \"left\" | \"right\" | undefined; title?: string | undefined; color?: \"accent\" | \"subdued\" | \"hollow\" | undefined; size?: \"m\" | \"s\" | undefined; } & ", - "DisambiguateSet", - " & ", - "DisambiguateSet", - "<{ title: string; tooltipContent?: React.ReactNode; }, { tooltipContent: React.ReactNode; title?: string | undefined; }> & { tooltipContent: React.ReactNode; title?: string | undefined; } & { label: React.ReactNode; }> | Partial<", - "CommonProps", - " & ", - "DisambiguateSet", - ", \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">, (", - "DisambiguateSet", - " & { href: string; target?: string | undefined; rel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">) | (", - "DisambiguateSet", - " & { onClick?: ((event: React.MouseEvent) => void) | undefined; onClickAriaLabel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">)> & ", - "DisambiguateSet", - " & { href: string; target?: string | undefined; rel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\"> & { iconType?: string | React.ComponentClass<{}, any> | React.FunctionComponent<{}> | undefined; label: React.ReactNode; tooltipContent?: React.ReactNode; tooltipPosition?: \"top\" | \"bottom\" | \"left\" | \"right\" | undefined; title?: string | undefined; color?: \"accent\" | \"subdued\" | \"hollow\" | undefined; size?: \"m\" | \"s\" | undefined; } & ", - "DisambiguateSet", - " & LabelAsString> | Partial<", - "CommonProps", - " & ", - "DisambiguateSet", - ", \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">, (", - "DisambiguateSet", - " & { href: string; target?: string | undefined; rel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">) | (", - "DisambiguateSet", - " & { onClick?: ((event: React.MouseEvent) => void) | undefined; onClickAriaLabel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">)> & ", - "DisambiguateSet", - " & { href: string; target?: string | undefined; rel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\"> & { iconType?: string | React.ComponentClass<{}, any> | React.FunctionComponent<{}> | undefined; label: React.ReactNode; tooltipContent?: React.ReactNode; tooltipPosition?: \"top\" | \"bottom\" | \"left\" | \"right\" | undefined; title?: string | undefined; color?: \"accent\" | \"subdued\" | \"hollow\" | undefined; size?: \"m\" | \"s\" | undefined; } & ", - "DisambiguateSet", - " & ", - "DisambiguateSet", - "<{ title: string; tooltipContent?: React.ReactNode; }, { tooltipContent: React.ReactNode; title?: string | undefined; }> & { tooltipContent: React.ReactNode; title?: string | undefined; } & { label: React.ReactNode; }> | Partial<", - "CommonProps", - " & ", - "DisambiguateSet", - ", \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">, (", - "DisambiguateSet", - " & { href: string; target?: string | undefined; rel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">) | (", - "DisambiguateSet", - " & { onClick?: ((event: React.MouseEvent) => void) | undefined; onClickAriaLabel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">)> & ", - "DisambiguateSet", - " & { href: string; target?: string | undefined; rel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\"> & { iconType?: string | React.ComponentClass<{}, any> | React.FunctionComponent<{}> | undefined; label: React.ReactNode; tooltipContent?: React.ReactNode; tooltipPosition?: \"top\" | \"bottom\" | \"left\" | \"right\" | undefined; title?: string | undefined; color?: \"accent\" | \"subdued\" | \"hollow\" | undefined; size?: \"m\" | \"s\" | undefined; } & ", - "DisambiguateSet", - " & ", - "DisambiguateSet", - "<{ tooltipContent: React.ReactNode; title?: string | undefined; }, { title: string; tooltipContent?: React.ReactNode; }> & { title: string; tooltipContent?: React.ReactNode; } & { label: React.ReactNode; }> | Partial<", - "CommonProps", - " & ", - "DisambiguateSet", - ", \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">, (", - "DisambiguateSet", - " & { href: string; target?: string | undefined; rel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">) | (", - "DisambiguateSet", - " & { onClick?: ((event: React.MouseEvent) => void) | undefined; onClickAriaLabel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">)> & ", - "DisambiguateSet", - " & { onClick?: ((event: React.MouseEvent) => void) | undefined; onClickAriaLabel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\"> & { iconType?: string | React.ComponentClass<{}, any> | React.FunctionComponent<{}> | undefined; label: React.ReactNode; tooltipContent?: React.ReactNode; tooltipPosition?: \"top\" | \"bottom\" | \"left\" | \"right\" | undefined; title?: string | undefined; color?: \"accent\" | \"subdued\" | \"hollow\" | undefined; size?: \"m\" | \"s\" | undefined; } & ", - "DisambiguateSet", - " & LabelAsString> | Partial<", - "CommonProps", - " & ", - "DisambiguateSet", - ", \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">, (", - "DisambiguateSet", - " & { href: string; target?: string | undefined; rel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">) | (", - "DisambiguateSet", - " & { onClick?: ((event: React.MouseEvent) => void) | undefined; onClickAriaLabel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">)> & ", - "DisambiguateSet", - " & { onClick?: ((event: React.MouseEvent) => void) | undefined; onClickAriaLabel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\"> & { iconType?: string | React.ComponentClass<{}, any> | React.FunctionComponent<{}> | undefined; label: React.ReactNode; tooltipContent?: React.ReactNode; tooltipPosition?: \"top\" | \"bottom\" | \"left\" | \"right\" | undefined; title?: string | undefined; color?: \"accent\" | \"subdued\" | \"hollow\" | undefined; size?: \"m\" | \"s\" | undefined; } & ", - "DisambiguateSet", - " & ", - "DisambiguateSet", - "<{ title: string; tooltipContent?: React.ReactNode; }, { tooltipContent: React.ReactNode; title?: string | undefined; }> & { tooltipContent: React.ReactNode; title?: string | undefined; } & { label: React.ReactNode; }> | Partial<", - "CommonProps", - " & ", - "DisambiguateSet", - ", \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">, (", - "DisambiguateSet", - " & { href: string; target?: string | undefined; rel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">) | (", - "DisambiguateSet", - " & { onClick?: ((event: React.MouseEvent) => void) | undefined; onClickAriaLabel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\">)> & ", - "DisambiguateSet", - " & { onClick?: ((event: React.MouseEvent) => void) | undefined; onClickAriaLabel?: string | undefined; } & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\"> & { iconType?: string | React.ComponentClass<{}, any> | React.FunctionComponent<{}> | undefined; label: React.ReactNode; tooltipContent?: React.ReactNode; tooltipPosition?: \"top\" | \"bottom\" | \"left\" | \"right\" | undefined; title?: string | undefined; color?: \"accent\" | \"subdued\" | \"hollow\" | undefined; size?: \"m\" | \"s\" | undefined; } & ", - "DisambiguateSet", - " & ", - "DisambiguateSet", - "<{ tooltipContent: React.ReactNode; title?: string | undefined; }, { title: string; tooltipContent?: React.ReactNode; }> & { title: string; tooltipContent?: React.ReactNode; } & { label: React.ReactNode; }> | undefined; display?: \"primary\" | \"success\" | \"warning\" | \"danger\" | \"accent\" | \"transparent\" | \"plain\" | \"subdued\" | undefined; paddingSize?: \"none\" | \"m\" | \"s\" | \"l\" | undefined; selectable?: (", - "DisambiguateSet", - "<", - "PropsForAnchor", - "<", - "CommonEuiButtonEmptyProps", - ", {}>, ", - "PropsForButton", - "<", - "CommonEuiButtonEmptyProps", - ", {}>> & ", - "CommonEuiButtonEmptyProps", - " & { onClick?: ((event: React.MouseEvent) => void) | undefined; } & React.ButtonHTMLAttributes & { isSelected?: boolean | undefined; isDisabled?: boolean | undefined; }) | (", - "DisambiguateSet", - "<", - "PropsForButton", - "<", - "CommonEuiButtonEmptyProps", - ", {}>, ", - "PropsForAnchor", - "<", - "CommonEuiButtonEmptyProps", - ", {}>> & ", - "CommonEuiButtonEmptyProps", - " & { href?: string | undefined; onClick?: ((event: React.MouseEvent) => void) | undefined; } & React.AnchorHTMLAttributes & { isSelected?: boolean | undefined; isDisabled?: boolean | undefined; }) | undefined; hasBorder?: boolean | undefined; } & { description: string | number | boolean | {} | React.ReactElement React.ReactElement React.Component)> | null) | (new (props: any) => React.Component)> | React.ReactNodeArray | React.ReactPortal; }> & { recommended?: boolean | undefined; button?: React.ReactNode; onClick?: ((event: React.MouseEvent) => void) | undefined; } & { solution: string; })" - ], - "path": "src/plugins/kibana_react/public/page_template/no_data_page/no_data_card/elastic_beats_card.tsx", - "deprecated": false, - "initialIsOpen": false - }, - { - "parentPluginId": "kibanaReact", - "id": "def-public.KibanaPageTemplateProps", - "type": "Type", - "tags": [], - "label": "KibanaPageTemplateProps", - "description": [ - "\nA thin wrapper around EuiPageTemplate with a few Kibana specific additions" - ], - "signature": [ - "Pick<", - "EuiPageProps", - ", \"children\" | \"onClick\" | \"onChange\" | \"color\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\" | \"grow\" | \"data-test-subj\" | \"direction\" | \"restrictWidth\"> & { template?: \"default\" | \"empty\" | \"centeredBody\" | \"centeredContent\" | undefined; paddingSize?: \"none\" | \"m\" | \"s\" | \"l\" | undefined; pageSideBar?: React.ReactNode; pageSideBarProps?: ", - "EuiPageSideBarProps", - " | undefined; pageHeader?: ", - "EuiPageHeaderProps", - " | undefined; pageBodyProps?: ", - "EuiPageBodyProps", - "<\"main\"> | undefined; pageContentProps?: ", - "EuiPageContentProps", - " | undefined; pageContentBodyProps?: ", - "EuiPageContentBodyProps", - " | undefined; bottomBar?: React.ReactNode; bottomBarProps?: (", - "CommonProps", - " & React.HTMLAttributes & ", - "DisambiguateSet", - "<{ position?: \"fixed\" | undefined; usePortal?: boolean | undefined; affordForDisplacement?: boolean | undefined; }, { position: \"static\" | \"sticky\"; }> & { position: \"static\" | \"sticky\"; } & { paddingSize?: \"none\" | \"m\" | \"s\" | \"l\" | undefined; bodyClassName?: string | undefined; landmarkHeading?: string | undefined; top?: string | number | undefined; right?: string | number | undefined; bottom?: string | number | undefined; left?: string | number | undefined; }) | (", - "CommonProps", - " & React.HTMLAttributes & ", + " & React.HTMLAttributes & ", "DisambiguateSet", "<{ position: \"static\" | \"sticky\"; }, { position?: \"fixed\" | undefined; usePortal?: boolean | undefined; affordForDisplacement?: boolean | undefined; }> & { position?: \"fixed\" | undefined; usePortal?: boolean | undefined; affordForDisplacement?: boolean | undefined; } & { paddingSize?: \"none\" | \"m\" | \"s\" | \"l\" | undefined; bodyClassName?: string | undefined; landmarkHeading?: string | undefined; top?: string | number | undefined; right?: string | number | undefined; bottom?: string | number | undefined; left?: string | number | undefined; }) | undefined; fullHeight?: boolean | \"noscroll\" | undefined; minHeight?: string | number | undefined; } & { isEmptyState?: boolean | undefined; solutionNav?: ", "KibanaPageTemplateSolutionNavProps", @@ -4923,6 +4345,62 @@ "deprecated": false, "initialIsOpen": false }, + { + "parentPluginId": "kibanaReact", + "id": "def-public.LANG", + "type": "string", + "tags": [], + "label": "LANG", + "description": [], + "signature": [ + "\"css\"" + ], + "path": "src/plugins/kibana_react/public/code_editor/languages/css/constants.ts", + "deprecated": false, + "initialIsOpen": false + }, + { + "parentPluginId": "kibanaReact", + "id": "def-public.LANG", + "type": "string", + "tags": [], + "label": "LANG", + "description": [], + "signature": [ + "\"markdown\"" + ], + "path": "src/plugins/kibana_react/public/code_editor/languages/markdown/constants.ts", + "deprecated": false, + "initialIsOpen": false + }, + { + "parentPluginId": "kibanaReact", + "id": "def-public.LANG", + "type": "string", + "tags": [], + "label": "LANG", + "description": [], + "signature": [ + "\"yaml\"" + ], + "path": "src/plugins/kibana_react/public/code_editor/languages/yaml/constants.ts", + "deprecated": false, + "initialIsOpen": false + }, + { + "parentPluginId": "kibanaReact", + "id": "def-public.LANG", + "type": "string", + "tags": [], + "label": "LANG", + "description": [], + "signature": [ + "\"handlebars\"" + ], + "path": "src/plugins/kibana_react/public/code_editor/languages/handlebars/constants.ts", + "deprecated": false, + "initialIsOpen": false + }, { "parentPluginId": "kibanaReact", "id": "def-public.NO_DATA_PAGE_MAX_WIDTH", @@ -5088,7 +4566,7 @@ "CommonEuiButtonEmptyProps", ", {}>> & ", "CommonEuiButtonEmptyProps", - " & { href?: string | undefined; onClick?: ((event: React.MouseEvent) => void) | undefined; } & React.AnchorHTMLAttributes & { isSelected?: boolean | undefined; isDisabled?: boolean | undefined; }) | undefined; hasBorder?: boolean | undefined; } & { description?: string | number | boolean | {} | React.ReactElement React.ReactElement React.Component)> | null) | (new (props: any) => React.Component)> | React.ReactNodeArray | React.ReactPortal | undefined; children: React.ReactNode; }> & { recommended?: boolean | undefined; button?: React.ReactNode; onClick?: ((event: React.MouseEvent) => void) | undefined; }) | (Partial) => void) | undefined; } & React.AnchorHTMLAttributes & { isSelected?: boolean | undefined; isDisabled?: boolean | undefined; }) | undefined; hasBorder?: boolean | undefined; } & { description?: string | number | boolean | {} | React.ReactElement React.ReactElement React.Component)> | null) | (new (props: any) => React.Component)> | React.ReactNodeArray | React.ReactPortal | undefined; children: React.ReactNode; }> & { recommended?: boolean | undefined; button?: React.ReactNode; onClick?: ((event: React.MouseEvent) => void) | undefined; category?: string | undefined; }) | (Partial & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\"> & ", "DisambiguateSet", @@ -5220,7 +4698,7 @@ "CommonEuiButtonEmptyProps", ", {}>> & ", "CommonEuiButtonEmptyProps", - " & { href?: string | undefined; onClick?: ((event: React.MouseEvent) => void) | undefined; } & React.AnchorHTMLAttributes & { isSelected?: boolean | undefined; isDisabled?: boolean | undefined; }) | undefined; hasBorder?: boolean | undefined; } & { description: string | number | boolean | {} | React.ReactElement React.ReactElement React.Component)> | null) | (new (props: any) => React.Component)> | React.ReactNodeArray | React.ReactPortal; }> & { recommended?: boolean | undefined; button?: React.ReactNode; onClick?: ((event: React.MouseEvent) => void) | undefined; }) | (Partial) => void) | undefined; } & React.AnchorHTMLAttributes & { isSelected?: boolean | undefined; isDisabled?: boolean | undefined; }) | undefined; hasBorder?: boolean | undefined; } & { description: string | number | boolean | {} | React.ReactElement React.ReactElement React.Component)> | null) | (new (props: any) => React.Component)> | React.ReactNodeArray | React.ReactPortal; }> & { recommended?: boolean | undefined; button?: React.ReactNode; onClick?: ((event: React.MouseEvent) => void) | undefined; category?: string | undefined; }) | (Partial & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\"> & ", "DisambiguateSet", @@ -5352,7 +4830,7 @@ "CommonEuiButtonEmptyProps", ", {}>> & ", "CommonEuiButtonEmptyProps", - " & { href?: string | undefined; onClick?: ((event: React.MouseEvent) => void) | undefined; } & React.AnchorHTMLAttributes & { isSelected?: boolean | undefined; isDisabled?: boolean | undefined; }) | undefined; hasBorder?: boolean | undefined; } & { description?: string | number | boolean | {} | React.ReactElement React.ReactElement React.Component)> | null) | (new (props: any) => React.Component)> | React.ReactNodeArray | React.ReactPortal | undefined; children: React.ReactNode; }> & { recommended?: boolean | undefined; button?: React.ReactNode; onClick?: ((event: React.MouseEvent) => void) | undefined; }) | (Partial) => void) | undefined; } & React.AnchorHTMLAttributes & { isSelected?: boolean | undefined; isDisabled?: boolean | undefined; }) | undefined; hasBorder?: boolean | undefined; } & { description?: string | number | boolean | {} | React.ReactElement React.ReactElement React.Component)> | null) | (new (props: any) => React.Component)> | React.ReactNodeArray | React.ReactPortal | undefined; children: React.ReactNode; }> & { recommended?: boolean | undefined; button?: React.ReactNode; onClick?: ((event: React.MouseEvent) => void) | undefined; category?: string | undefined; }) | (Partial & Pick, \"children\" | \"onChange\" | \"onKeyDown\" | \"id\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\"> & ", "DisambiguateSet", @@ -5484,7 +4962,7 @@ "CommonEuiButtonEmptyProps", ", {}>> & ", "CommonEuiButtonEmptyProps", - " & { href?: string | undefined; onClick?: ((event: React.MouseEvent) => void) | undefined; } & React.AnchorHTMLAttributes & { isSelected?: boolean | undefined; isDisabled?: boolean | undefined; }) | undefined; hasBorder?: boolean | undefined; } & { description: string | number | boolean | {} | React.ReactElement React.ReactElement React.Component)> | null) | (new (props: any) => React.Component)> | React.ReactNodeArray | React.ReactPortal; }> & { recommended?: boolean | undefined; button?: React.ReactNode; onClick?: ((event: React.MouseEvent) => void) | undefined; })" + " & { href?: string | undefined; onClick?: ((event: React.MouseEvent) => void) | undefined; } & React.AnchorHTMLAttributes & { isSelected?: boolean | undefined; isDisabled?: boolean | undefined; }) | undefined; hasBorder?: boolean | undefined; } & { description: string | number | boolean | {} | React.ReactElement React.ReactElement React.Component)> | null) | (new (props: any) => React.Component)> | React.ReactNodeArray | React.ReactPortal; }> & { recommended?: boolean | undefined; button?: React.ReactNode; onClick?: ((event: React.MouseEvent) => void) | undefined; category?: string | undefined; })" ], "path": "src/plugins/kibana_react/public/page_template/no_data_page/no_data_page.tsx", "deprecated": false, @@ -5666,204 +5144,6 @@ "deprecated": false, "initialIsOpen": false }, - { - "parentPluginId": "kibanaReact", - "id": "def-public.Lang", - "type": "Object", - "tags": [], - "label": "Lang", - "description": [], - "path": "src/plugins/kibana_react/public/code_editor/languages/css/index.ts", - "deprecated": false, - "children": [ - { - "parentPluginId": "kibanaReact", - "id": "def-public.Lang.ID", - "type": "string", - "tags": [], - "label": "ID", - "description": [], - "path": "src/plugins/kibana_react/public/code_editor/languages/css/index.ts", - "deprecated": false - }, - { - "parentPluginId": "kibanaReact", - "id": "def-public.Lang.lexerRules", - "type": "Any", - "tags": [], - "label": "lexerRules", - "description": [], - "signature": [ - "any" - ], - "path": "src/plugins/kibana_react/public/code_editor/languages/css/index.ts", - "deprecated": false - }, - { - "parentPluginId": "kibanaReact", - "id": "def-public.Lang.languageConfiguration", - "type": "Any", - "tags": [], - "label": "languageConfiguration", - "description": [], - "signature": [ - "any" - ], - "path": "src/plugins/kibana_react/public/code_editor/languages/css/index.ts", - "deprecated": false - } - ], - "initialIsOpen": false - }, - { - "parentPluginId": "kibanaReact", - "id": "def-public.Lang", - "type": "Object", - "tags": [], - "label": "Lang", - "description": [], - "path": "src/plugins/kibana_react/public/code_editor/languages/handlebars/index.ts", - "deprecated": false, - "children": [ - { - "parentPluginId": "kibanaReact", - "id": "def-public.Lang.ID", - "type": "string", - "tags": [], - "label": "ID", - "description": [], - "path": "src/plugins/kibana_react/public/code_editor/languages/handlebars/index.ts", - "deprecated": false - }, - { - "parentPluginId": "kibanaReact", - "id": "def-public.Lang.languageConfiguration", - "type": "Object", - "tags": [], - "label": "languageConfiguration", - "description": [], - "signature": [ - "languages", - ".LanguageConfiguration" - ], - "path": "src/plugins/kibana_react/public/code_editor/languages/handlebars/index.ts", - "deprecated": false - }, - { - "parentPluginId": "kibanaReact", - "id": "def-public.Lang.lexerRules", - "type": "Object", - "tags": [], - "label": "lexerRules", - "description": [], - "signature": [ - "languages", - ".IMonarchLanguage" - ], - "path": "src/plugins/kibana_react/public/code_editor/languages/handlebars/index.ts", - "deprecated": false - } - ], - "initialIsOpen": false - }, - { - "parentPluginId": "kibanaReact", - "id": "def-public.Lang", - "type": "Object", - "tags": [], - "label": "Lang", - "description": [], - "path": "src/plugins/kibana_react/public/code_editor/languages/markdown/index.ts", - "deprecated": false, - "children": [ - { - "parentPluginId": "kibanaReact", - "id": "def-public.Lang.ID", - "type": "string", - "tags": [], - "label": "ID", - "description": [], - "path": "src/plugins/kibana_react/public/code_editor/languages/markdown/index.ts", - "deprecated": false - }, - { - "parentPluginId": "kibanaReact", - "id": "def-public.Lang.languageConfiguration", - "type": "Any", - "tags": [], - "label": "languageConfiguration", - "description": [], - "signature": [ - "any" - ], - "path": "src/plugins/kibana_react/public/code_editor/languages/markdown/index.ts", - "deprecated": false - }, - { - "parentPluginId": "kibanaReact", - "id": "def-public.Lang.lexerRules", - "type": "Any", - "tags": [], - "label": "lexerRules", - "description": [], - "signature": [ - "any" - ], - "path": "src/plugins/kibana_react/public/code_editor/languages/markdown/index.ts", - "deprecated": false - } - ], - "initialIsOpen": false - }, - { - "parentPluginId": "kibanaReact", - "id": "def-public.Lang", - "type": "Object", - "tags": [], - "label": "Lang", - "description": [], - "path": "src/plugins/kibana_react/public/code_editor/languages/yaml/index.ts", - "deprecated": false, - "children": [ - { - "parentPluginId": "kibanaReact", - "id": "def-public.Lang.ID", - "type": "string", - "tags": [], - "label": "ID", - "description": [], - "path": "src/plugins/kibana_react/public/code_editor/languages/yaml/index.ts", - "deprecated": false - }, - { - "parentPluginId": "kibanaReact", - "id": "def-public.Lang.languageConfiguration", - "type": "Any", - "tags": [], - "label": "languageConfiguration", - "description": [], - "signature": [ - "any" - ], - "path": "src/plugins/kibana_react/public/code_editor/languages/yaml/index.ts", - "deprecated": false - }, - { - "parentPluginId": "kibanaReact", - "id": "def-public.Lang.lexerRules", - "type": "Any", - "tags": [], - "label": "lexerRules", - "description": [], - "signature": [ - "any" - ], - "path": "src/plugins/kibana_react/public/code_editor/languages/yaml/index.ts", - "deprecated": false - } - ], - "initialIsOpen": false - }, { "parentPluginId": "kibanaReact", "id": "def-public.NO_DATA_PAGE_TEMPLATE_PROPS", @@ -6664,12 +5944,12 @@ { "parentPluginId": "kibanaReact", "id": "def-common.EuiTheme.eui", - "type": "CompoundType", + "type": "Object", "tags": [], "label": "eui", "description": [], "signature": [ - "{ paddingSizes: { xs: string; s: string; m: string; l: string; xl: string; }; avatarSizing: { s: { size: string; 'font-size': string; }; m: { size: string; 'font-size': string; }; l: { size: string; 'font-size': string; }; xl: { size: string; 'font-size': string; }; }; euiBadgeGroupGutterTypes: { gutterExtraSmall: string; gutterSmall: string; }; euiBreadcrumbSpacing: string; euiBreadcrumbTruncateWidth: string; euiButtonEmptyTypes: { primary: string; danger: string; disabled: string; ghost: string; text: string; success: string; warning: string; }; euiCallOutTypes: { primary: string; success: string; warning: string; danger: string; }; euiCardSpacing: string; euiCardBottomNodeHeight: string; euiCardSelectButtonBorders: { text: string; primary: string; success: string; danger: string; ghost: string; }; euiCardSelectButtonBackgrounds: { text: string; primary: string; success: string; danger: string; ghost: string; }; euiCardPaddingModifiers: { paddingNone: number; paddingSmall: string; paddingMedium: string; paddingLarge: string; }; euiCheckableCardPadding: string; euiCodeBlockPaddingModifiers: { paddingSmall: string; paddingMedium: string; paddingLarge: string; }; euiCollapsibleNavGroupLightBackgroundColor: string; euiCollapsibleNavGroupDarkBackgroundColor: string; euiCollapsibleNavGroupDarkHighContrastColor: string; euiColorPickerValueRange0: string; euiColorPickerValueRange1: string; euiColorPickerSaturationRange0: string; euiColorPickerSaturationRange1: string; euiColorPickerIndicatorSize: string; euiColorPickerWidth: string; euiColorPaletteDisplaySizes: { sizeExtraSmall: string; sizeSmall: string; sizeMedium: string; }; euiContextMenuWidth: string; euiControlBarBackground: string; euiControlBarText: string; euiControlBarBorderColor: string; euiControlBarInitialHeight: string; euiControlBarMaxHeight: string; euiControlBarHeights: { s: string; m: string; l: string; }; euiDataGridPrefix: string; euiDataGridStyles: string; euiZDataGrid: number; euiZHeaderBelowDataGrid: number; euiDataGridColumnResizerWidth: string; euiDataGridPopoverMaxHeight: string; euiDataGridCellPaddingS: string; euiDataGridCellPaddingM: string; euiDataGridCellPaddingL: string; euiDataGridVerticalBorder: string; euiSuperDatePickerWidth: string; euiSuperDatePickerButtonWidth: string; euiDragAndDropSpacing: { s: string; m: string; l: string; }; euiExpressionColors: { subdued: string; primary: string; success: string; secondary: string; warning: string; danger: string; accent: string; }; euiFacetGutterSizes: { gutterNone: number; gutterSmall: string; gutterMedium: string; gutterLarge: string; }; gutterTypes: { gutterExtraSmall: string; gutterSmall: string; gutterMedium: string; gutterLarge: string; gutterExtraLarge: string; }; fractions: { fourths: { percentage: string; count: number; }; thirds: { percentage: string; count: number; }; halves: { percentage: string; count: number; }; single: { percentage: string; count: number; }; }; flyoutSizes: { small: { min: string; width: string; max: string; }; medium: { min: string; width: string; max: string; }; large: { min: string; width: string; max: string; }; }; euiFlyoutBorder: string; euiFlyoutPaddingModifiers: { paddingNone: number; paddingSmall: string; paddingMedium: string; paddingLarge: string; }; euiFilePickerTallHeight: string; euiRangeLevelColors: { primary: string; success: string; warning: string; danger: string; }; textareaResizing: { vertical: string; horizontal: string; both: string; none: string; }; euiHeaderLinksGutterSizes: { gutterXS: string; gutterS: string; gutterM: string; gutterL: string; }; ruleMargins: { marginXSmall: string; marginSmall: string; marginMedium: string; marginLarge: string; marginXLarge: string; marginXXLarge: string; }; euiIconLoadingOpacity: number; euiIconColors: { accent: string; danger: string; ghost: string; primary: string; secondary: string; success: string; subdued: string; text: string; warning: string; inherit: string; }; euiIconSizes: { small: string; medium: string; large: string; xLarge: string; xxLarge: string; }; euiKeyPadMenuSize: string; euiKeyPadMenuMarginSize: string; euiLinkColors: { subdued: string; primary: string; secondary: string; success: string; accent: string; warning: string; danger: string; text: string; ghost: string; }; euiListGroupItemHoverBackground: string; euiListGroupItemHoverBackgroundGhost: string; euiListGroupGutterTypes: { gutterSmall: string; gutterMedium: string; }; euiListGroupItemColorTypes: { primary: string; text: string; subdued: string; ghost: string; }; euiListGroupItemSizeTypes: { xSmall: string; small: string; medium: string; large: string; }; euiGradientStartStop: string; euiGradientMiddle: string; euiMarkdownEditorMinHeight: string; euiPopoverArrowSize: string; euiPopoverTranslateDistance: string; euiProgressSizes: { xs: string; s: string; m: string; l: string; }; euiProgressColors: { primary: string; secondary: string; success: string; warning: string; danger: string; accent: string; subdued: string; vis0: string; vis1: string; vis2: string; vis3: string; vis4: string; vis5: string; vis6: string; vis7: string; vis8: string; vis9: string; customColor: string; }; euiResizableButtonTransitionSpeed: string; euiResizableButtonSize: string; euiSelectableListItemBorder: string; euiSelectableListItemPadding: string; euiSelectableTemplateSitewideTypes: { application: { color: string; 'font-weight': number; }; deployment: { color: string; 'font-weight': number; }; article: { color: string; 'font-weight': number; }; case: { color: string; 'font-weight': number; }; platform: { color: string; 'font-weight': number; }; }; euiSideNavEmphasizedBackgroundColor: string; euiSideNavRootTextcolor: string; euiSideNavBranchTextcolor: string; euiSideNavSelectedTextcolor: string; euiSideNavDisabledTextcolor: string; spacerSizes: { xs: string; s: string; m: string; l: string; xl: string; xxl: string; }; euiStepNumberSize: string; euiStepNumberSmallSize: string; euiStepNumberMargin: string; euiStepStatusColorsToFade: { warning: string; danger: string; disabled: string; incomplete: string; }; euiSuggestItemColors: { tint0: string; tint1: string; tint2: string; tint3: string; tint4: string; tint5: string; tint6: string; tint7: string; tint8: string; tint9: string; tint10: string; }; euiTableCellContentPadding: string; euiTableCellContentPaddingCompressed: string; euiTableCellCheckboxWidth: string; euiTableActionsAreaWidth: string; euiTableHoverColor: string; euiTableSelectedColor: string; euiTableHoverSelectedColor: string; euiTableActionsBorderColor: string; euiTableHoverClickableColor: string; euiTableFocusClickableColor: string; euiTextColors: { default: string; subdued: string; secondary: string; success: string; accent: string; warning: string; danger: string; ghost: string; inherit: string; }; euiTextConstrainedMaxWidth: string; euiToastWidth: string; euiToastTypes: { primary: string; success: string; warning: string; danger: string; }; euiTokenGrayColor: string; euiTokenTypes: { euiColorVis0: { graphic: string; behindText: string; }; euiColorVis1: { graphic: string; behindText: string; }; euiColorVis2: { graphic: string; behindText: string; }; euiColorVis3: { graphic: string; behindText: string; }; euiColorVis4: { graphic: string; behindText: string; }; euiColorVis5: { graphic: string; behindText: string; }; euiColorVis6: { graphic: string; behindText: string; }; euiColorVis7: { graphic: string; behindText: string; }; euiColorVis8: { graphic: string; behindText: string; }; euiColorVis9: { graphic: string; behindText: string; }; gray: { graphic: string; behindText: string; }; }; euiTokenTypeKeys: string; euiContrastRatioText: number; euiContrastRatioGraphic: number; euiContrastRatioDisabled: number; euiDatePickerCalendarWidth: string; euiAnimSlightBounce: string; euiAnimSlightResistance: string; euiAnimSpeedExtraFast: string; euiAnimSpeedFast: string; euiAnimSpeedNormal: string; euiAnimSpeedSlow: string; euiAnimSpeedExtraSlow: string; euiBorderWidthThin: string; euiBorderWidthThick: string; euiBorderColor: string; euiBorderRadius: string; euiBorderRadiusSmall: string; euiBorderThick: string; euiBorderThin: string; euiBorderEditable: string; euiButtonHeight: string; euiButtonHeightSmall: string; euiButtonHeightXSmall: string; euiButtonColorDisabled: string; euiButtonColorDisabledText: string; euiButtonColorGhostDisabled: string; euiButtonTypes: { primary: string; accent: string; secondary: string; success: string; warning: string; danger: string; subdued: string; ghost: string; text: string; }; euiColorGhost: string; euiColorInk: string; euiColorPrimary: string; euiColorSecondary: string; euiColorAccent: string; euiColorSuccess: string; euiColorWarning: string; euiColorDanger: string; euiColorEmptyShade: string; euiColorLightestShade: string; euiColorLightShade: string; euiColorMediumShade: string; euiColorDarkShade: string; euiColorDarkestShade: string; euiColorFullShade: string; euiPageBackgroundColor: string; euiColorHighlight: string; euiTextColor: string; euiTitleColor: string; euiTextSubduedColor: string; euiColorDisabled: string; euiColorPrimaryText: string; euiColorSecondaryText: string; euiColorAccentText: string; euiColorWarningText: string; euiColorDangerText: string; euiColorDisabledText: string; euiColorSuccessText: string; euiLinkColor: string; euiPaletteColorBlind: { euiColorVis0: { graphic: string; behindText: string; }; euiColorVis1: { graphic: string; behindText: string; }; euiColorVis2: { graphic: string; behindText: string; }; euiColorVis3: { graphic: string; behindText: string; }; euiColorVis4: { graphic: string; behindText: string; }; euiColorVis5: { graphic: string; behindText: string; }; euiColorVis6: { graphic: string; behindText: string; }; euiColorVis7: { graphic: string; behindText: string; }; euiColorVis8: { graphic: string; behindText: string; }; euiColorVis9: { graphic: string; behindText: string; }; }; euiPaletteColorBlindKeys: string; euiColorVis0: string; euiColorVis1: string; euiColorVis2: string; euiColorVis3: string; euiColorVis4: string; euiColorVis5: string; euiColorVis6: string; euiColorVis7: string; euiColorVis8: string; euiColorVis9: string; euiColorVis0_behindText: string; euiColorVis1_behindText: string; euiColorVis2_behindText: string; euiColorVis3_behindText: string; euiColorVis4_behindText: string; euiColorVis5_behindText: string; euiColorVis6_behindText: string; euiColorVis7_behindText: string; euiColorVis8_behindText: string; euiColorVis9_behindText: string; euiColorChartLines: string; euiColorChartBand: string; euiCodeBlockBackgroundColor: string; euiCodeBlockColor: string; euiCodeBlockSelectedBackgroundColor: string; euiCodeBlockCommentColor: string; euiCodeBlockSelectorTagColor: string; euiCodeBlockStringColor: string; euiCodeBlockTagColor: string; euiCodeBlockNameColor: string; euiCodeBlockNumberColor: string; euiCodeBlockKeywordColor: string; euiCodeBlockFunctionTitleColor: string; euiCodeBlockTypeColor: string; euiCodeBlockAttributeColor: string; euiCodeBlockSymbolColor: string; euiCodeBlockParamsColor: string; euiCodeBlockMetaColor: string; euiCodeBlockTitleColor: string; euiCodeBlockSectionColor: string; euiCodeBlockAdditionColor: string; euiCodeBlockDeletionColor: string; euiCodeBlockSelectorClassColor: string; euiCodeBlockSelectorIdColor: string; euiFontWeightLight: number; euiFontWeightRegular: number; euiFontWeightMedium: number; euiFontWeightSemiBold: number; euiFontWeightBold: number; euiCodeFontWeightRegular: number; euiCodeFontWeightBold: number; euiFormMaxWidth: string; euiFormControlHeight: string; euiFormControlCompressedHeight: string; euiFormControlPadding: string; euiFormControlCompressedPadding: string; euiFormControlBorderRadius: number; euiFormControlCompressedBorderRadius: string; euiRadioSize: string; euiCheckBoxSize: string; euiCheckboxBorderRadius: string; euiSwitchHeight: string; euiSwitchWidth: string; euiSwitchThumbSize: string; euiSwitchIconHeight: string; euiSwitchHeightCompressed: string; euiSwitchWidthCompressed: string; euiSwitchThumbSizeCompressed: string; euiSwitchHeightMini: string; euiSwitchWidthMini: string; euiSwitchThumbSizeMini: string; euiFormBackgroundColor: string; euiFormBackgroundDisabledColor: string; euiFormBackgroundReadOnlyColor: string; euiFormBorderOpaqueColor: string; euiFormBorderColor: string; euiFormBorderDisabledColor: string; euiFormCustomControlDisabledIconColor: string; euiFormCustomControlBorderColor: string; euiFormControlDisabledColor: string; euiFormControlBoxShadow: string; euiFormControlPlaceholderText: string; euiFormInputGroupLabelBackground: string; euiFormInputGroupBorder: string; euiSwitchOffColor: string; euiFormControlLayoutGroupInputHeight: string; euiFormControlLayoutGroupInputCompressedHeight: string; euiFormControlLayoutGroupInputCompressedBorderRadius: string; euiRangeTrackColor: string; euiRangeThumbRadius: string; euiRangeThumbHeight: string; euiRangeThumbWidth: string; euiRangeThumbBorderColor: string; euiRangeTrackWidth: string; euiRangeTrackHeight: string; euiRangeTrackBorderWidth: number; euiRangeTrackBorderColor: string; euiRangeTrackRadius: string; euiRangeDisabledOpacity: number; euiRangeHighlightHeight: string; euiHeaderBackgroundColor: string; euiHeaderDarkBackgroundColor: string; euiHeaderBorderColor: string; euiHeaderBreadcrumbColor: string; euiHeaderHeight: string; euiHeaderChildSize: string; euiHeaderHeightCompensation: string; euiPageDefaultMaxWidth: string; euiPageSidebarMinWidth: string; euiPanelPaddingModifiers: { paddingSmall: string; paddingMedium: string; paddingLarge: string; }; euiPanelBorderRadiusModifiers: { borderRadiusNone: number; borderRadiusMedium: string; }; euiPanelBackgroundColorModifiers: { transparent: string; plain: string; subdued: string; accent: string; primary: string; success: string; warning: string; danger: string; }; euiBreakpoints: { xs: number; s: string; m: string; l: string; xl: string; }; euiBreakpointKeys: string; euiShadowColor: string; euiShadowColorLarge: string; euiSize: string; euiSizeXS: string; euiSizeS: string; euiSizeM: string; euiSizeL: string; euiSizeXL: string; euiSizeXXL: string; euiButtonMinWidth: string; euiScrollBar: string; euiScrollBarCorner: string; euiScrollBarCornerThin: string; euiFocusRingColor: string; euiFocusRingAnimStartColor: string; euiFocusRingAnimStartSize: string; euiFocusRingAnimStartSizeLarge: string; euiFocusRingSizeLarge: string; euiFocusRingSize: string; euiFocusTransparency: number; euiFocusTransparencyPercent: string; euiFocusBackgroundColor: string; euiTooltipBackgroundColor: string; euiTooltipAnimations: { top: string; left: string; bottom: string; right: string; }; euiFontFamily: string; euiCodeFontFamily: string; euiFontFeatureSettings: string; euiTextScale: string; euiFontSize: string; euiFontSizeXS: string; euiFontSizeS: string; euiFontSizeM: string; euiFontSizeL: string; euiFontSizeXL: string; euiFontSizeXXL: string; euiLineHeight: number; euiBodyLineHeight: number; euiTitles: { xxxs: { 'font-size': string; 'line-height': string; 'font-weight': number; }; xxs: { 'font-size': string; 'line-height': string; 'font-weight': number; }; xs: { 'font-size': string; 'line-height': string; 'font-weight': number; 'letter-spacing': string; }; s: { 'font-size': string; 'line-height': string; 'font-weight': number; 'letter-spacing': string; }; m: { 'font-size': string; 'line-height': string; 'font-weight': number; 'letter-spacing': string; }; l: { 'font-size': string; 'line-height': string; 'font-weight': number; 'letter-spacing': string; }; }; euiZLevel0: number; euiZLevel1: number; euiZLevel2: number; euiZLevel3: number; euiZLevel4: number; euiZLevel5: number; euiZLevel6: number; euiZLevel7: number; euiZLevel8: number; euiZLevel9: number; euiZToastList: number; euiZModal: number; euiZMask: number; euiZNavigation: number; euiZContentMenu: number; euiZHeader: number; euiZFlyout: number; euiZMaskBelowHeader: number; euiZContent: number; } | { paddingSizes: { xs: string; s: string; m: string; l: string; xl: string; }; avatarSizing: { s: { size: string; 'font-size': string; }; m: { size: string; 'font-size': string; }; l: { size: string; 'font-size': string; }; xl: { size: string; 'font-size': string; }; }; euiBadgeGroupGutterTypes: { gutterExtraSmall: string; gutterSmall: string; }; euiBreadcrumbSpacing: string; euiBreadcrumbTruncateWidth: string; euiButtonEmptyTypes: { primary: string; danger: string; disabled: string; ghost: string; text: string; success: string; warning: string; }; euiCallOutTypes: { primary: string; success: string; warning: string; danger: string; }; euiCardSpacing: string; euiCardBottomNodeHeight: string; euiCardSelectButtonBorders: { text: string; primary: string; success: string; danger: string; ghost: string; }; euiCardSelectButtonBackgrounds: { text: string; primary: string; success: string; danger: string; ghost: string; }; euiCardPaddingModifiers: { paddingNone: number; paddingSmall: string; paddingMedium: string; paddingLarge: string; }; euiCheckableCardPadding: string; euiCodeBlockPaddingModifiers: { paddingSmall: string; paddingMedium: string; paddingLarge: string; }; euiCollapsibleNavGroupLightBackgroundColor: string; euiCollapsibleNavGroupDarkBackgroundColor: string; euiCollapsibleNavGroupDarkHighContrastColor: string; euiColorPickerValueRange0: string; euiColorPickerValueRange1: string; euiColorPickerSaturationRange0: string; euiColorPickerSaturationRange1: string; euiColorPickerIndicatorSize: string; euiColorPickerWidth: string; euiColorPaletteDisplaySizes: { sizeExtraSmall: string; sizeSmall: string; sizeMedium: string; }; euiContextMenuWidth: string; euiControlBarBackground: string; euiControlBarText: string; euiControlBarBorderColor: string; euiControlBarInitialHeight: string; euiControlBarMaxHeight: string; euiControlBarHeights: { s: string; m: string; l: string; }; euiDataGridPrefix: string; euiDataGridStyles: string; euiZDataGrid: number; euiZHeaderBelowDataGrid: number; euiDataGridColumnResizerWidth: string; euiDataGridPopoverMaxHeight: string; euiDataGridCellPaddingS: string; euiDataGridCellPaddingM: string; euiDataGridCellPaddingL: string; euiDataGridVerticalBorder: string; euiSuperDatePickerWidth: string; euiSuperDatePickerButtonWidth: string; euiDragAndDropSpacing: { s: string; m: string; l: string; }; euiExpressionColors: { subdued: string; primary: string; success: string; secondary: string; warning: string; danger: string; accent: string; }; euiFacetGutterSizes: { gutterNone: number; gutterSmall: string; gutterMedium: string; gutterLarge: string; }; gutterTypes: { gutterExtraSmall: string; gutterSmall: string; gutterMedium: string; gutterLarge: string; gutterExtraLarge: string; }; fractions: { fourths: { percentage: string; count: number; }; thirds: { percentage: string; count: number; }; halves: { percentage: string; count: number; }; single: { percentage: string; count: number; }; }; flyoutSizes: { small: { min: string; width: string; max: string; }; medium: { min: string; width: string; max: string; }; large: { min: string; width: string; max: string; }; }; euiFlyoutBorder: string; euiFlyoutPaddingModifiers: { paddingNone: number; paddingSmall: string; paddingMedium: string; paddingLarge: string; }; euiFilePickerTallHeight: string; euiRangeLevelColors: { primary: string; success: string; warning: string; danger: string; }; textareaResizing: { vertical: string; horizontal: string; both: string; none: string; }; euiHeaderLinksGutterSizes: { gutterXS: string; gutterS: string; gutterM: string; gutterL: string; }; ruleMargins: { marginXSmall: string; marginSmall: string; marginMedium: string; marginLarge: string; marginXLarge: string; marginXXLarge: string; }; euiIconLoadingOpacity: number; euiIconColors: { accent: string; danger: string; ghost: string; primary: string; secondary: string; success: string; subdued: string; text: string; warning: string; inherit: string; }; euiIconSizes: { small: string; medium: string; large: string; xLarge: string; xxLarge: string; }; euiKeyPadMenuSize: string; euiKeyPadMenuMarginSize: string; euiLinkColors: { subdued: string; primary: string; secondary: string; success: string; accent: string; warning: string; danger: string; text: string; ghost: string; }; euiListGroupItemHoverBackground: string; euiListGroupItemHoverBackgroundGhost: string; euiListGroupGutterTypes: { gutterSmall: string; gutterMedium: string; }; euiListGroupItemColorTypes: { primary: string; text: string; subdued: string; ghost: string; }; euiListGroupItemSizeTypes: { xSmall: string; small: string; medium: string; large: string; }; euiGradientStartStop: string; euiGradientMiddle: string; euiMarkdownEditorMinHeight: string; euiPopoverArrowSize: string; euiPopoverTranslateDistance: string; euiProgressSizes: { xs: string; s: string; m: string; l: string; }; euiProgressColors: { primary: string; secondary: string; success: string; warning: string; danger: string; accent: string; subdued: string; vis0: string; vis1: string; vis2: string; vis3: string; vis4: string; vis5: string; vis6: string; vis7: string; vis8: string; vis9: string; customColor: string; }; euiResizableButtonTransitionSpeed: string; euiResizableButtonSize: string; euiSelectableListItemBorder: string; euiSelectableListItemPadding: string; euiSelectableTemplateSitewideTypes: { application: { color: string; 'font-weight': number; }; deployment: { color: string; 'font-weight': number; }; article: { color: string; 'font-weight': number; }; case: { color: string; 'font-weight': number; }; platform: { color: string; 'font-weight': number; }; }; euiSideNavEmphasizedBackgroundColor: string; euiSideNavRootTextcolor: string; euiSideNavBranchTextcolor: string; euiSideNavSelectedTextcolor: string; euiSideNavDisabledTextcolor: string; spacerSizes: { xs: string; s: string; m: string; l: string; xl: string; xxl: string; }; euiStepNumberSize: string; euiStepNumberSmallSize: string; euiStepNumberMargin: string; euiStepStatusColorsToFade: { warning: string; danger: string; disabled: string; incomplete: string; }; euiSuggestItemColors: { tint0: string; tint1: string; tint2: string; tint3: string; tint4: string; tint5: string; tint6: string; tint7: string; tint8: string; tint9: string; tint10: string; }; euiTableCellContentPadding: string; euiTableCellContentPaddingCompressed: string; euiTableCellCheckboxWidth: string; euiTableActionsAreaWidth: string; euiTableHoverColor: string; euiTableSelectedColor: string; euiTableHoverSelectedColor: string; euiTableActionsBorderColor: string; euiTableHoverClickableColor: string; euiTableFocusClickableColor: string; euiTextColors: { default: string; subdued: string; secondary: string; success: string; accent: string; warning: string; danger: string; ghost: string; inherit: string; }; euiTextConstrainedMaxWidth: string; euiToastWidth: string; euiToastTypes: { primary: string; success: string; warning: string; danger: string; }; euiTokenGrayColor: string; euiTokenTypes: { euiColorVis0: { graphic: string; behindText: string; }; euiColorVis1: { graphic: string; behindText: string; }; euiColorVis2: { graphic: string; behindText: string; }; euiColorVis3: { graphic: string; behindText: string; }; euiColorVis4: { graphic: string; behindText: string; }; euiColorVis5: { graphic: string; behindText: string; }; euiColorVis6: { graphic: string; behindText: string; }; euiColorVis7: { graphic: string; behindText: string; }; euiColorVis8: { graphic: string; behindText: string; }; euiColorVis9: { graphic: string; behindText: string; }; gray: { graphic: string; behindText: string; }; }; euiTokenTypeKeys: string; euiContrastRatioText: number; euiContrastRatioGraphic: number; euiContrastRatioDisabled: number; euiAnimSlightBounce: string; euiAnimSlightResistance: string; euiAnimSpeedExtraFast: string; euiAnimSpeedFast: string; euiAnimSpeedNormal: string; euiAnimSpeedSlow: string; euiAnimSpeedExtraSlow: string; euiBorderWidthThin: string; euiBorderWidthThick: string; euiBorderColor: string; euiBorderRadius: string; euiBorderRadiusSmall: string; euiBorderThick: string; euiBorderThin: string; euiBorderEditable: string; euiButtonHeight: string; euiButtonHeightSmall: string; euiButtonHeightXSmall: string; euiButtonColorDisabled: string; euiButtonColorDisabledText: string; euiButtonColorGhostDisabled: string; euiButtonTypes: { primary: string; accent: string; secondary: string; success: string; warning: string; danger: string; subdued: string; ghost: string; text: string; }; euiColorGhost: string; euiColorInk: string; euiColorPrimary: string; euiColorSecondary: string; euiColorAccent: string; euiColorSuccess: string; euiColorWarning: string; euiColorDanger: string; euiColorEmptyShade: string; euiColorLightestShade: string; euiColorLightShade: string; euiColorMediumShade: string; euiColorDarkShade: string; euiColorDarkestShade: string; euiColorFullShade: string; euiPageBackgroundColor: string; euiColorHighlight: string; euiTextColor: string; euiTitleColor: string; euiTextSubduedColor: string; euiColorDisabled: string; euiColorPrimaryText: string; euiColorSecondaryText: string; euiColorAccentText: string; euiColorWarningText: string; euiColorDangerText: string; euiColorDisabledText: string; euiColorSuccessText: string; euiLinkColor: string; euiPaletteColorBlind: { euiColorVis0: { graphic: string; behindText: string; }; euiColorVis1: { graphic: string; behindText: string; }; euiColorVis2: { graphic: string; behindText: string; }; euiColorVis3: { graphic: string; behindText: string; }; euiColorVis4: { graphic: string; behindText: string; }; euiColorVis5: { graphic: string; behindText: string; }; euiColorVis6: { graphic: string; behindText: string; }; euiColorVis7: { graphic: string; behindText: string; }; euiColorVis8: { graphic: string; behindText: string; }; euiColorVis9: { graphic: string; behindText: string; }; }; euiPaletteColorBlindKeys: string; euiColorVis0: string; euiColorVis1: string; euiColorVis2: string; euiColorVis3: string; euiColorVis4: string; euiColorVis5: string; euiColorVis6: string; euiColorVis7: string; euiColorVis8: string; euiColorVis9: string; euiColorVis0_behindText: string; euiColorVis1_behindText: string; euiColorVis2_behindText: string; euiColorVis3_behindText: string; euiColorVis4_behindText: string; euiColorVis5_behindText: string; euiColorVis6_behindText: string; euiColorVis7_behindText: string; euiColorVis8_behindText: string; euiColorVis9_behindText: string; euiColorChartLines: string; euiColorChartBand: string; euiCodeBlockBackgroundColor: string; euiCodeBlockColor: string; euiCodeBlockSelectedBackgroundColor: string; euiCodeBlockCommentColor: string; euiCodeBlockSelectorTagColor: string; euiCodeBlockStringColor: string; euiCodeBlockTagColor: string; euiCodeBlockNameColor: string; euiCodeBlockNumberColor: string; euiCodeBlockKeywordColor: string; euiCodeBlockFunctionTitleColor: string; euiCodeBlockTypeColor: string; euiCodeBlockAttributeColor: string; euiCodeBlockSymbolColor: string; euiCodeBlockParamsColor: string; euiCodeBlockMetaColor: string; euiCodeBlockTitleColor: string; euiCodeBlockSectionColor: string; euiCodeBlockAdditionColor: string; euiCodeBlockDeletionColor: string; euiCodeBlockSelectorClassColor: string; euiCodeBlockSelectorIdColor: string; euiFontWeightLight: number; euiFontWeightRegular: number; euiFontWeightMedium: number; euiFontWeightSemiBold: number; euiFontWeightBold: number; euiCodeFontWeightRegular: number; euiCodeFontWeightBold: number; euiFormMaxWidth: string; euiFormControlHeight: string; euiFormControlCompressedHeight: string; euiFormControlPadding: string; euiFormControlCompressedPadding: string; euiFormControlBorderRadius: string; euiFormControlCompressedBorderRadius: string; euiRadioSize: string; euiCheckBoxSize: string; euiCheckboxBorderRadius: string; euiSwitchHeight: string; euiSwitchWidth: string; euiSwitchThumbSize: string; euiSwitchIconHeight: string; euiSwitchHeightCompressed: string; euiSwitchWidthCompressed: string; euiSwitchThumbSizeCompressed: string; euiSwitchHeightMini: string; euiSwitchWidthMini: string; euiSwitchThumbSizeMini: string; euiFormBackgroundColor: string; euiFormBackgroundDisabledColor: string; euiFormBackgroundReadOnlyColor: string; euiFormBorderOpaqueColor: string; euiFormBorderColor: string; euiFormBorderDisabledColor: string; euiFormCustomControlDisabledIconColor: string; euiFormCustomControlBorderColor: string; euiFormControlDisabledColor: string; euiFormControlBoxShadow: string; euiFormControlPlaceholderText: string; euiFormInputGroupLabelBackground: string; euiFormInputGroupBorder: string; euiSwitchOffColor: string; euiFormControlLayoutGroupInputHeight: string; euiFormControlLayoutGroupInputCompressedHeight: string; euiFormControlLayoutGroupInputCompressedBorderRadius: string; euiRangeTrackColor: string; euiRangeThumbRadius: string; euiRangeThumbHeight: string; euiRangeThumbWidth: string; euiRangeThumbBorderColor: string; euiRangeTrackWidth: string; euiRangeTrackHeight: string; euiRangeTrackBorderWidth: number; euiRangeTrackBorderColor: string; euiRangeTrackRadius: string; euiRangeDisabledOpacity: number; euiRangeHighlightHeight: string; euiHeaderBackgroundColor: string; euiHeaderDarkBackgroundColor: string; euiHeaderBorderColor: string; euiHeaderBreadcrumbColor: string; euiHeaderHeight: string; euiHeaderChildSize: string; euiHeaderHeightCompensation: string; euiPageDefaultMaxWidth: string; euiPageSidebarMinWidth: string; euiPanelPaddingModifiers: { paddingSmall: string; paddingMedium: string; paddingLarge: string; }; euiPanelBorderRadiusModifiers: { borderRadiusNone: number; borderRadiusMedium: string; }; euiPanelBackgroundColorModifiers: { transparent: string; plain: string; subdued: string; accent: string; primary: string; success: string; warning: string; danger: string; }; euiBreakpoints: { xs: number; s: string; m: string; l: string; xl: string; }; euiBreakpointKeys: string; euiShadowColor: string; euiShadowColorLarge: string; euiSize: string; euiSizeXS: string; euiSizeS: string; euiSizeM: string; euiSizeL: string; euiSizeXL: string; euiSizeXXL: string; euiButtonMinWidth: string; euiScrollBar: string; euiScrollBarCorner: string; euiScrollBarCornerThin: string; euiFocusRingColor: string; euiFocusRingAnimStartColor: string; euiFocusRingAnimStartSize: string; euiFocusRingAnimStartSizeLarge: string; euiFocusRingSizeLarge: string; euiFocusRingSize: string; euiFocusTransparency: number; euiFocusTransparencyPercent: string; euiFocusBackgroundColor: string; euiTooltipBackgroundColor: string; euiTooltipAnimations: { top: string; left: string; bottom: string; right: string; }; euiFontFamily: string; euiCodeFontFamily: string; euiFontFeatureSettings: string; euiTextScale: string; euiFontSize: string; euiFontSizeXS: string; euiFontSizeS: string; euiFontSizeM: string; euiFontSizeL: string; euiFontSizeXL: string; euiFontSizeXXL: string; euiLineHeight: number; euiBodyLineHeight: number; euiTitles: { xxxs: { 'font-size': string; 'line-height': string; 'font-weight': number; }; xxs: { 'font-size': string; 'line-height': string; 'font-weight': number; }; xs: { 'font-size': string; 'line-height': string; 'font-weight': number; }; s: { 'font-size': string; 'line-height': string; 'font-weight': number; }; m: { 'font-size': string; 'line-height': string; 'font-weight': number; }; l: { 'font-size': string; 'line-height': string; 'font-weight': number; }; }; euiZLevel0: number; euiZLevel1: number; euiZLevel2: number; euiZLevel3: number; euiZLevel4: number; euiZLevel5: number; euiZLevel6: number; euiZLevel7: number; euiZLevel8: number; euiZLevel9: number; euiZToastList: number; euiZModal: number; euiZMask: number; euiZNavigation: number; euiZContentMenu: number; euiZHeader: number; euiZFlyout: number; euiZMaskBelowHeader: number; euiZContent: number; euiDatePickerCalendarWidth: string; euiDatePickerPadding: string; euiDatePickerGap: string; euiDatePickerCalendarColumns: number; euiDatePickerButtonSize: string; euiDatePickerMinControlWidth: string; euiDatePickerMaxControlWidth: string; euiButtonDefaultTransparency: number; euiButtonFontWeight: number; euiRangeHighlightColor: string; euiRangeThumbBackgroundColor: string; euiRangeTrackCompressedHeight: string; euiRangeHighlightCompressedHeight: string; euiRangeHeight: string; euiRangeCompressedHeight: string; euiStepStatusColors: { default: string; complete: string; warning: string; danger: string; }; }" + "{ paddingSizes: { xs: string; s: string; m: string; l: string; xl: string; }; avatarSizing: { s: { size: string; 'font-size': string; }; m: { size: string; 'font-size': string; }; l: { size: string; 'font-size': string; }; xl: { size: string; 'font-size': string; }; }; euiBadgeGroupGutterTypes: { gutterExtraSmall: string; gutterSmall: string; }; euiBreadcrumbSpacing: string; euiBreadcrumbTruncateWidth: string; euiButtonEmptyTypes: { primary: string; danger: string; disabled: string; ghost: string; text: string; success: string; warning: string; }; euiCallOutTypes: { primary: string; success: string; warning: string; danger: string; }; euiCardSpacing: string; euiCardBottomNodeHeight: string; euiCardSelectButtonBorders: { text: string; primary: string; success: string; danger: string; ghost: string; }; euiCardSelectButtonBackgrounds: { text: string; primary: string; success: string; danger: string; ghost: string; }; euiCardPaddingModifiers: { paddingNone: number; paddingSmall: string; paddingMedium: string; paddingLarge: string; }; euiCheckableCardPadding: string; euiCodeBlockPaddingModifiers: { paddingSmall: string; paddingMedium: string; paddingLarge: string; }; euiCollapsibleNavGroupLightBackgroundColor: string; euiCollapsibleNavGroupDarkBackgroundColor: string; euiCollapsibleNavGroupDarkHighContrastColor: string; euiColorPickerValueRange0: string; euiColorPickerValueRange1: string; euiColorPickerSaturationRange0: string; euiColorPickerSaturationRange1: string; euiColorPickerIndicatorSize: string; euiColorPickerWidth: string; euiColorPaletteDisplaySizes: { sizeExtraSmall: string; sizeSmall: string; sizeMedium: string; }; euiContextMenuWidth: string; euiControlBarBackground: string; euiControlBarText: string; euiControlBarBorderColor: string; euiControlBarInitialHeight: string; euiControlBarMaxHeight: string; euiControlBarHeights: { s: string; m: string; l: string; }; euiDataGridPrefix: string; euiDataGridStyles: string; euiZDataGrid: number; euiZHeaderBelowDataGrid: number; euiDataGridColumnResizerWidth: string; euiDataGridPopoverMaxHeight: string; euiDataGridCellPaddingS: string; euiDataGridCellPaddingM: string; euiDataGridCellPaddingL: string; euiDataGridVerticalBorder: string; euiSuperDatePickerWidth: string; euiSuperDatePickerButtonWidth: string; euiDragAndDropSpacing: { s: string; m: string; l: string; }; euiExpressionColors: { subdued: string; primary: string; success: string; secondary: string; warning: string; danger: string; accent: string; }; euiFacetGutterSizes: { gutterNone: number; gutterSmall: string; gutterMedium: string; gutterLarge: string; }; gutterTypes: { gutterExtraSmall: string; gutterSmall: string; gutterMedium: string; gutterLarge: string; gutterExtraLarge: string; }; fractions: { fourths: { percentage: string; count: number; }; thirds: { percentage: string; count: number; }; halves: { percentage: string; count: number; }; single: { percentage: string; count: number; }; }; flyoutSizes: { small: { min: string; width: string; max: string; }; medium: { min: string; width: string; max: string; }; large: { min: string; width: string; max: string; }; }; euiFlyoutBorder: string; euiFlyoutPaddingModifiers: { paddingNone: number; paddingSmall: string; paddingMedium: string; paddingLarge: string; }; euiFilePickerTallHeight: string; euiRangeLevelColors: { primary: string; success: string; warning: string; danger: string; }; textareaResizing: { vertical: string; horizontal: string; both: string; none: string; }; euiHeaderLinksGutterSizes: { gutterXS: string; gutterS: string; gutterM: string; gutterL: string; }; ruleMargins: { marginXSmall: string; marginSmall: string; marginMedium: string; marginLarge: string; marginXLarge: string; marginXXLarge: string; }; euiIconLoadingOpacity: number; euiIconColors: { accent: string; danger: string; ghost: string; primary: string; secondary: string; success: string; subdued: string; text: string; warning: string; inherit: string; }; euiIconSizes: { small: string; medium: string; large: string; xLarge: string; xxLarge: string; }; euiKeyPadMenuSize: string; euiKeyPadMenuMarginSize: string; euiLinkColors: { subdued: string; primary: string; secondary: string; success: string; accent: string; warning: string; danger: string; text: string; ghost: string; }; euiListGroupItemHoverBackground: string; euiListGroupItemHoverBackgroundGhost: string; euiListGroupGutterTypes: { gutterSmall: string; gutterMedium: string; }; euiListGroupItemColorTypes: { primary: string; text: string; subdued: string; ghost: string; }; euiListGroupItemSizeTypes: { xSmall: string; small: string; medium: string; large: string; }; euiGradientStartStop: string; euiGradientMiddle: string; euiMarkdownEditorMinHeight: string; euiPopoverArrowSize: string; euiPopoverTranslateDistance: string; euiProgressSizes: { xs: string; s: string; m: string; l: string; }; euiProgressColors: { primary: string; secondary: string; success: string; warning: string; danger: string; accent: string; subdued: string; vis0: string; vis1: string; vis2: string; vis3: string; vis4: string; vis5: string; vis6: string; vis7: string; vis8: string; vis9: string; customColor: string; }; euiResizableButtonTransitionSpeed: string; euiResizableButtonSize: string; euiSelectableListItemBorder: string; euiSelectableListItemPadding: string; euiSelectableTemplateSitewideTypes: { application: { color: string; 'font-weight': number; }; deployment: { color: string; 'font-weight': number; }; article: { color: string; 'font-weight': number; }; case: { color: string; 'font-weight': number; }; platform: { color: string; 'font-weight': number; }; }; euiSideNavEmphasizedBackgroundColor: string; euiSideNavRootTextcolor: string; euiSideNavBranchTextcolor: string; euiSideNavSelectedTextcolor: string; euiSideNavDisabledTextcolor: string; spacerSizes: { xs: string; s: string; m: string; l: string; xl: string; xxl: string; }; euiStepNumberSize: string; euiStepNumberSmallSize: string; euiStepNumberMargin: string; euiStepStatusColorsToFade: { warning: string; danger: string; disabled: string; incomplete: string; }; euiSuggestItemColors: { tint0: string; tint1: string; tint2: string; tint3: string; tint4: string; tint5: string; tint6: string; tint7: string; tint8: string; tint9: string; tint10: string; }; euiTableCellContentPadding: string; euiTableCellContentPaddingCompressed: string; euiTableCellCheckboxWidth: string; euiTableActionsAreaWidth: string; euiTableHoverColor: string; euiTableSelectedColor: string; euiTableHoverSelectedColor: string; euiTableActionsBorderColor: string; euiTableHoverClickableColor: string; euiTableFocusClickableColor: string; euiTextColors: { default: string; subdued: string; secondary: string; success: string; accent: string; warning: string; danger: string; ghost: string; inherit: string; }; euiTextConstrainedMaxWidth: string; euiToastWidth: string; euiToastTypes: { primary: string; success: string; warning: string; danger: string; }; euiTokenGrayColor: string; euiTokenTypes: { euiColorVis0: { graphic: string; behindText: string; }; euiColorVis1: { graphic: string; behindText: string; }; euiColorVis2: { graphic: string; behindText: string; }; euiColorVis3: { graphic: string; behindText: string; }; euiColorVis4: { graphic: string; behindText: string; }; euiColorVis5: { graphic: string; behindText: string; }; euiColorVis6: { graphic: string; behindText: string; }; euiColorVis7: { graphic: string; behindText: string; }; euiColorVis8: { graphic: string; behindText: string; }; euiColorVis9: { graphic: string; behindText: string; }; gray: { graphic: string; behindText: string; }; }; euiTokenTypeKeys: string; euiContrastRatioText: number; euiContrastRatioGraphic: number; euiContrastRatioDisabled: number; euiAnimSlightBounce: string; euiAnimSlightResistance: string; euiAnimSpeedExtraFast: string; euiAnimSpeedFast: string; euiAnimSpeedNormal: string; euiAnimSpeedSlow: string; euiAnimSpeedExtraSlow: string; euiBorderWidthThin: string; euiBorderWidthThick: string; euiBorderColor: string; euiBorderRadius: string; euiBorderRadiusSmall: string; euiBorderThick: string; euiBorderThin: string; euiBorderEditable: string; euiButtonHeight: string; euiButtonHeightSmall: string; euiButtonHeightXSmall: string; euiButtonColorDisabled: string; euiButtonColorDisabledText: string; euiButtonColorGhostDisabled: string; euiButtonTypes: { primary: string; accent: string; secondary: string; success: string; warning: string; danger: string; subdued: string; ghost: string; text: string; }; euiColorGhost: string; euiColorInk: string; euiColorPrimary: string; euiColorSecondary: string; euiColorAccent: string; euiColorSuccess: string; euiColorWarning: string; euiColorDanger: string; euiColorEmptyShade: string; euiColorLightestShade: string; euiColorLightShade: string; euiColorMediumShade: string; euiColorDarkShade: string; euiColorDarkestShade: string; euiColorFullShade: string; euiPageBackgroundColor: string; euiColorHighlight: string; euiTextColor: string; euiTitleColor: string; euiTextSubduedColor: string; euiColorDisabled: string; euiColorPrimaryText: string; euiColorSecondaryText: string; euiColorAccentText: string; euiColorWarningText: string; euiColorDangerText: string; euiColorDisabledText: string; euiColorSuccessText: string; euiLinkColor: string; euiPaletteColorBlind: { euiColorVis0: { graphic: string; behindText: string; }; euiColorVis1: { graphic: string; behindText: string; }; euiColorVis2: { graphic: string; behindText: string; }; euiColorVis3: { graphic: string; behindText: string; }; euiColorVis4: { graphic: string; behindText: string; }; euiColorVis5: { graphic: string; behindText: string; }; euiColorVis6: { graphic: string; behindText: string; }; euiColorVis7: { graphic: string; behindText: string; }; euiColorVis8: { graphic: string; behindText: string; }; euiColorVis9: { graphic: string; behindText: string; }; }; euiPaletteColorBlindKeys: string; euiColorVis0: string; euiColorVis1: string; euiColorVis2: string; euiColorVis3: string; euiColorVis4: string; euiColorVis5: string; euiColorVis6: string; euiColorVis7: string; euiColorVis8: string; euiColorVis9: string; euiColorVis0_behindText: string; euiColorVis1_behindText: string; euiColorVis2_behindText: string; euiColorVis3_behindText: string; euiColorVis4_behindText: string; euiColorVis5_behindText: string; euiColorVis6_behindText: string; euiColorVis7_behindText: string; euiColorVis8_behindText: string; euiColorVis9_behindText: string; euiColorChartLines: string; euiColorChartBand: string; euiCodeBlockBackgroundColor: string; euiCodeBlockColor: string; euiCodeBlockSelectedBackgroundColor: string; euiCodeBlockCommentColor: string; euiCodeBlockSelectorTagColor: string; euiCodeBlockStringColor: string; euiCodeBlockTagColor: string; euiCodeBlockNameColor: string; euiCodeBlockNumberColor: string; euiCodeBlockKeywordColor: string; euiCodeBlockFunctionTitleColor: string; euiCodeBlockTypeColor: string; euiCodeBlockAttributeColor: string; euiCodeBlockSymbolColor: string; euiCodeBlockParamsColor: string; euiCodeBlockMetaColor: string; euiCodeBlockTitleColor: string; euiCodeBlockSectionColor: string; euiCodeBlockAdditionColor: string; euiCodeBlockDeletionColor: string; euiCodeBlockSelectorClassColor: string; euiCodeBlockSelectorIdColor: string; euiFontWeightLight: number; euiFontWeightRegular: number; euiFontWeightMedium: number; euiFontWeightSemiBold: number; euiFontWeightBold: number; euiCodeFontWeightRegular: number; euiCodeFontWeightBold: number; euiFormMaxWidth: string; euiFormControlHeight: string; euiFormControlCompressedHeight: string; euiFormControlPadding: string; euiFormControlCompressedPadding: string; euiFormControlBorderRadius: string; euiFormControlCompressedBorderRadius: string; euiRadioSize: string; euiCheckBoxSize: string; euiCheckboxBorderRadius: string; euiSwitchHeight: string; euiSwitchWidth: string; euiSwitchThumbSize: string; euiSwitchIconHeight: string; euiSwitchHeightCompressed: string; euiSwitchWidthCompressed: string; euiSwitchThumbSizeCompressed: string; euiSwitchHeightMini: string; euiSwitchWidthMini: string; euiSwitchThumbSizeMini: string; euiFormBackgroundColor: string; euiFormBackgroundDisabledColor: string; euiFormBackgroundReadOnlyColor: string; euiFormBorderOpaqueColor: string; euiFormBorderColor: string; euiFormBorderDisabledColor: string; euiFormCustomControlDisabledIconColor: string; euiFormCustomControlBorderColor: string; euiFormControlDisabledColor: string; euiFormControlBoxShadow: string; euiFormControlPlaceholderText: string; euiFormInputGroupLabelBackground: string; euiFormInputGroupBorder: string; euiSwitchOffColor: string; euiFormControlLayoutGroupInputHeight: string; euiFormControlLayoutGroupInputCompressedHeight: string; euiFormControlLayoutGroupInputCompressedBorderRadius: string; euiRangeTrackColor: string; euiRangeThumbRadius: string; euiRangeThumbHeight: string; euiRangeThumbWidth: string; euiRangeThumbBorderColor: string; euiRangeTrackWidth: string; euiRangeTrackHeight: string; euiRangeTrackBorderWidth: number; euiRangeTrackBorderColor: string; euiRangeTrackRadius: string; euiRangeDisabledOpacity: number; euiRangeHighlightHeight: string; euiHeaderBackgroundColor: string; euiHeaderDarkBackgroundColor: string; euiHeaderBorderColor: string; euiHeaderBreadcrumbColor: string; euiHeaderHeight: string; euiHeaderChildSize: string; euiHeaderHeightCompensation: string; euiPageDefaultMaxWidth: string; euiPageSidebarMinWidth: string; euiPanelPaddingModifiers: { paddingSmall: string; paddingMedium: string; paddingLarge: string; }; euiPanelBorderRadiusModifiers: { borderRadiusNone: number; borderRadiusMedium: string; }; euiPanelBackgroundColorModifiers: { transparent: string; plain: string; subdued: string; accent: string; primary: string; success: string; warning: string; danger: string; }; euiBreakpoints: { xs: number; s: string; m: string; l: string; xl: string; }; euiBreakpointKeys: string; euiShadowColor: string; euiShadowColorLarge: string; euiSize: string; euiSizeXS: string; euiSizeS: string; euiSizeM: string; euiSizeL: string; euiSizeXL: string; euiSizeXXL: string; euiButtonMinWidth: string; euiScrollBar: string; euiScrollBarCorner: string; euiScrollBarCornerThin: string; euiFocusRingColor: string; euiFocusRingAnimStartColor: string; euiFocusRingAnimStartSize: string; euiFocusRingAnimStartSizeLarge: string; euiFocusRingSizeLarge: string; euiFocusRingSize: string; euiFocusTransparency: number; euiFocusTransparencyPercent: string; euiFocusBackgroundColor: string; euiTooltipBackgroundColor: string; euiTooltipAnimations: { top: string; left: string; bottom: string; right: string; }; euiFontFamily: string; euiCodeFontFamily: string; euiFontFeatureSettings: string; euiTextScale: string; euiFontSize: string; euiFontSizeXS: string; euiFontSizeS: string; euiFontSizeM: string; euiFontSizeL: string; euiFontSizeXL: string; euiFontSizeXXL: string; euiLineHeight: number; euiBodyLineHeight: number; euiTitles: { xxxs: { 'font-size': string; 'line-height': string; 'font-weight': number; }; xxs: { 'font-size': string; 'line-height': string; 'font-weight': number; }; xs: { 'font-size': string; 'line-height': string; 'font-weight': number; }; s: { 'font-size': string; 'line-height': string; 'font-weight': number; }; m: { 'font-size': string; 'line-height': string; 'font-weight': number; }; l: { 'font-size': string; 'line-height': string; 'font-weight': number; }; }; euiZLevel0: number; euiZLevel1: number; euiZLevel2: number; euiZLevel3: number; euiZLevel4: number; euiZLevel5: number; euiZLevel6: number; euiZLevel7: number; euiZLevel8: number; euiZLevel9: number; euiZToastList: number; euiZModal: number; euiZMask: number; euiZNavigation: number; euiZContentMenu: number; euiZHeader: number; euiZFlyout: number; euiZMaskBelowHeader: number; euiZContent: number; euiDatePickerCalendarWidth: string; euiDatePickerPadding: string; euiDatePickerGap: string; euiDatePickerCalendarColumns: number; euiDatePickerButtonSize: string; euiDatePickerMinControlWidth: string; euiDatePickerMaxControlWidth: string; euiButtonDefaultTransparency: number; euiButtonFontWeight: number; euiRangeHighlightColor: string; euiRangeThumbBackgroundColor: string; euiRangeTrackCompressedHeight: string; euiRangeHighlightCompressedHeight: string; euiRangeHeight: string; euiRangeCompressedHeight: string; euiStepStatusColors: { default: string; complete: string; warning: string; danger: string; }; }" ], "path": "src/plugins/kibana_react/common/eui_styled_components.tsx", "deprecated": false diff --git a/api_docs/kibana_react.mdx b/api_docs/kibana_react.mdx index 280fd1334f5fb8..9de1ffe82dc290 100644 --- a/api_docs/kibana_react.mdx +++ b/api_docs/kibana_react.mdx @@ -18,7 +18,7 @@ Contact [App Services](https://github.com/orgs/elastic/teams/kibana-app-services | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 297 | 8 | 260 | 5 | +| 282 | 2 | 245 | 5 | ## Client diff --git a/api_docs/kibana_utils.json b/api_docs/kibana_utils.json index 71174e6eafe3f2..1f3f7e73791fd3 100644 --- a/api_docs/kibana_utils.json +++ b/api_docs/kibana_utils.json @@ -57,6 +57,82 @@ ], "initialIsOpen": false }, + { + "parentPluginId": "kibanaUtils", + "id": "def-public.CharacterNotAllowedInField", + "type": "Class", + "tags": [], + "label": "CharacterNotAllowedInField", + "description": [ + "\nwhen a user is attempting to create a field with disallowed character in the name, like *" + ], + "signature": [ + { + "pluginId": "kibanaUtils", + "scope": "common", + "docId": "kibKibanaUtilsPluginApi", + "section": "def-common.CharacterNotAllowedInField", + "text": "CharacterNotAllowedInField" + }, + " extends ", + { + "pluginId": "kibanaUtils", + "scope": "common", + "docId": "kibKibanaUtilsPluginApi", + "section": "def-common.KbnError", + "text": "KbnError" + } + ], + "path": "src/plugins/kibana_utils/common/errors/errors.ts", + "deprecated": false, + "children": [ + { + "parentPluginId": "kibanaUtils", + "id": "def-public.CharacterNotAllowedInField.Unnamed", + "type": "Function", + "tags": [], + "label": "Constructor", + "description": [], + "signature": [ + "any" + ], + "path": "src/plugins/kibana_utils/common/errors/errors.ts", + "deprecated": false, + "children": [ + { + "parentPluginId": "kibanaUtils", + "id": "def-public.CharacterNotAllowedInField.Unnamed.$1", + "type": "string", + "tags": [], + "label": "character", + "description": [], + "signature": [ + "string" + ], + "path": "src/plugins/kibana_utils/common/errors/errors.ts", + "deprecated": false, + "isRequired": true + }, + { + "parentPluginId": "kibanaUtils", + "id": "def-public.CharacterNotAllowedInField.Unnamed.$2", + "type": "string", + "tags": [], + "label": "name", + "description": [], + "signature": [ + "string" + ], + "path": "src/plugins/kibana_utils/common/errors/errors.ts", + "deprecated": false, + "isRequired": true + } + ], + "returnComment": [] + } + ], + "initialIsOpen": false + }, { "parentPluginId": "kibanaUtils", "id": "def-public.Defer", @@ -1628,7 +1704,7 @@ "\nCreates {@link IKbnUrlStateStorage} state storage" ], "signature": [ - "({ useHash, history, onGetError, onSetError, }?: { useHash: boolean; history?: ", + "({ useHash, useHashQuery, history, onGetError, onSetError, }?: { useHash: boolean; useHashQuery?: boolean | undefined; history?: ", "History", " | undefined; onGetError?: ((error: Error) => void) | undefined; onSetError?: ((error: Error) => void) | undefined; }) => ", { @@ -1647,7 +1723,7 @@ "id": "def-public.createKbnUrlStateStorage.$1", "type": "Object", "tags": [], - "label": "{\n useHash = false,\n history,\n onGetError,\n onSetError,\n }", + "label": "{\n useHash = false,\n useHashQuery = true,\n history,\n onGetError,\n onSetError,\n }", "description": [], "path": "src/plugins/kibana_utils/public/state_sync/state_sync_state_storage/create_kbn_url_state_storage.ts", "deprecated": false, @@ -1662,6 +1738,19 @@ "path": "src/plugins/kibana_utils/public/state_sync/state_sync_state_storage/create_kbn_url_state_storage.ts", "deprecated": false }, + { + "parentPluginId": "kibanaUtils", + "id": "def-public.createKbnUrlStateStorage.$1.useHashQuery", + "type": "CompoundType", + "tags": [], + "label": "useHashQuery", + "description": [], + "signature": [ + "boolean | undefined" + ], + "path": "src/plugins/kibana_utils/public/state_sync/state_sync_state_storage/create_kbn_url_state_storage.ts", + "deprecated": false + }, { "parentPluginId": "kibanaUtils", "id": "def-public.createKbnUrlStateStorage.$1.history", @@ -2259,7 +2348,7 @@ "tags": [], "label": "createSessionStorageStateStorage", "description": [ - "\nCreates {@link ISessionStorageStateStorage}\n{@link https://github.com/elastic/kibana/blob/master/src/plugins/kibana_utils/docs/state_sync/storages/session_storage.md | guide}" + "\nCreates {@link ISessionStorageStateStorage}\n{@link https://github.com/elastic/kibana/blob/main/src/plugins/kibana_utils/docs/state_sync/storages/session_storage.md | guide}" ], "signature": [ "(storage?: Storage) => ", @@ -2579,7 +2668,7 @@ "tags": [], "label": "createStateContainerReactHelpers", "description": [ - "\nCreates helpers for using {@link StateContainer | State Containers} with react\nRefer to {@link https://github.com/elastic/kibana/blob/master/src/plugins/kibana_utils/docs/state_containers/react.md | guide} for details" + "\nCreates helpers for using {@link StateContainer | State Containers} with react\nRefer to {@link https://github.com/elastic/kibana/blob/main/src/plugins/kibana_utils/docs/state_containers/react.md | guide} for details" ], "signature": [ ") => S" ], @@ -9394,8 +9559,8 @@ "pluginId": "@kbn/utility-types", "scope": "server", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", - "text": "SerializableRecord" + "section": "def-server.Serializable", + "text": "Serializable" }, ">" ], @@ -10203,8 +10368,8 @@ "pluginId": "@kbn/utility-types", "scope": "server", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", - "text": "SerializableRecord" + "section": "def-server.Serializable", + "text": "Serializable" }, ">) => P) | undefined" ], @@ -10233,8 +10398,8 @@ "pluginId": "@kbn/utility-types", "scope": "server", "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-server.SerializableRecord", - "text": "SerializableRecord" + "section": "def-server.Serializable", + "text": "Serializable" }, ">" ], diff --git a/api_docs/kibana_utils.mdx b/api_docs/kibana_utils.mdx index 807999db2f4e9c..1a747f7c3e4a05 100644 --- a/api_docs/kibana_utils.mdx +++ b/api_docs/kibana_utils.mdx @@ -18,7 +18,7 @@ Contact [App Services](https://github.com/orgs/elastic/teams/kibana-app-services | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 606 | 3 | 413 | 8 | +| 615 | 3 | 420 | 8 | ## Client diff --git a/api_docs/lens.json b/api_docs/lens.json index 7dc468fcad234d..bbe9e24b082539 100644 --- a/api_docs/lens.json +++ b/api_docs/lens.json @@ -134,7 +134,7 @@ "label": "layerType", "description": [], "signature": [ - "\"data\" | \"threshold\"" + "\"data\" | \"referenceLine\"" ], "path": "x-pack/plugins/lens/public/datatable_visualization/visualization.tsx", "deprecated": false @@ -874,7 +874,7 @@ "label": "layerType", "description": [], "signature": [ - "\"data\" | \"threshold\"" + "\"data\" | \"referenceLine\"" ], "path": "x-pack/plugins/lens/common/expressions/metric_chart/types.ts", "deprecated": false @@ -1179,7 +1179,7 @@ "label": "legendDisplay", "description": [], "signature": [ - "\"default\" | \"hide\" | \"show\"" + "\"default\" | \"show\" | \"hide\"" ], "path": "x-pack/plugins/lens/common/expressions/pie_chart/types.ts", "deprecated": false @@ -1435,7 +1435,7 @@ "label": "layerType", "description": [], "signature": [ - "\"data\" | \"threshold\"" + "\"data\" | \"referenceLine\"" ], "path": "x-pack/plugins/lens/common/expressions/xy_chart/layer_config.ts", "deprecated": false @@ -2451,7 +2451,7 @@ "signature": [ "\"hide\" | \"inside\" | \"outside\"" ], - "path": "x-pack/plugins/lens/common/expressions/xy_chart/xy_args.ts", + "path": "x-pack/plugins/lens/common/types.ts", "deprecated": false, "initialIsOpen": false }, @@ -4310,7 +4310,7 @@ "label": "LayerType", "description": [], "signature": [ - "\"data\" | \"threshold\"" + "\"data\" | \"referenceLine\"" ], "path": "x-pack/plugins/lens/common/types.ts", "deprecated": false, @@ -4401,6 +4401,20 @@ "path": "x-pack/plugins/lens/common/types.ts", "deprecated": false, "initialIsOpen": false + }, + { + "parentPluginId": "lens", + "id": "def-common.ValueLabelConfig", + "type": "Type", + "tags": [], + "label": "ValueLabelConfig", + "description": [], + "signature": [ + "\"hide\" | \"inside\" | \"outside\"" + ], + "path": "x-pack/plugins/lens/common/types.ts", + "deprecated": false, + "initialIsOpen": false } ], "objects": [ @@ -4429,13 +4443,13 @@ }, { "parentPluginId": "lens", - "id": "def-common.layerTypes.THRESHOLD", + "id": "def-common.layerTypes.REFERENCELINE", "type": "string", "tags": [], - "label": "THRESHOLD", + "label": "REFERENCELINE", "description": [], "signature": [ - "\"threshold\"" + "\"referenceLine\"" ], "path": "x-pack/plugins/lens/common/constants.ts", "deprecated": false diff --git a/api_docs/lens.mdx b/api_docs/lens.mdx index 9232e5da094283..f108d71c683af1 100644 --- a/api_docs/lens.mdx +++ b/api_docs/lens.mdx @@ -18,7 +18,7 @@ Contact [Vis Editors](https://github.com/orgs/elastic/teams/kibana-vis-editors) | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 253 | 0 | 235 | 24 | +| 254 | 0 | 236 | 24 | ## Client diff --git a/api_docs/licensing.json b/api_docs/licensing.json index c1251b9be1edd7..a67143a435127e 100644 --- a/api_docs/licensing.json +++ b/api_docs/licensing.json @@ -516,10 +516,6 @@ "plugin": "security", "path": "x-pack/plugins/security/common/licensing/license_service.test.ts" }, - { - "plugin": "security", - "path": "x-pack/plugins/security/common/licensing/license_service.test.ts" - }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/common/license/policy_config.test.ts" @@ -2261,10 +2257,6 @@ "plugin": "security", "path": "x-pack/plugins/security/common/licensing/license_service.test.ts" }, - { - "plugin": "security", - "path": "x-pack/plugins/security/common/licensing/license_service.test.ts" - }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/common/license/policy_config.test.ts" diff --git a/api_docs/lists.json b/api_docs/lists.json index b3d498a4532d39..6720d68fb1c833 100644 --- a/api_docs/lists.json +++ b/api_docs/lists.json @@ -1013,6 +1013,46 @@ } ], "returnComment": [] + }, + { + "parentPluginId": "lists", + "id": "def-server.ExceptionListClient.exportExceptionListAndItems", + "type": "Function", + "tags": [], + "label": "exportExceptionListAndItems", + "description": [], + "signature": [ + "({ listId, id, namespaceType, }: ", + "ExportExceptionListAndItemsOptions", + ") => Promise<", + { + "pluginId": "lists", + "scope": "server", + "docId": "kibListsPluginApi", + "section": "def-server.ExportExceptionListAndItemsReturn", + "text": "ExportExceptionListAndItemsReturn" + }, + " | null>" + ], + "path": "x-pack/plugins/lists/server/services/exception_lists/exception_list_client.ts", + "deprecated": false, + "children": [ + { + "parentPluginId": "lists", + "id": "def-server.ExceptionListClient.exportExceptionListAndItems.$1", + "type": "Object", + "tags": [], + "label": "{\n listId,\n id,\n namespaceType,\n }", + "description": [], + "signature": [ + "ExportExceptionListAndItemsOptions" + ], + "path": "x-pack/plugins/lists/server/services/exception_lists/exception_list_client.ts", + "deprecated": false, + "isRequired": true + } + ], + "returnComment": [] } ], "initialIsOpen": false @@ -2081,6 +2121,42 @@ ], "initialIsOpen": false }, + { + "parentPluginId": "lists", + "id": "def-server.ExportExceptionListAndItemsReturn", + "type": "Interface", + "tags": [], + "label": "ExportExceptionListAndItemsReturn", + "description": [], + "path": "x-pack/plugins/lists/server/services/exception_lists/export_exception_list_and_items.ts", + "deprecated": false, + "children": [ + { + "parentPluginId": "lists", + "id": "def-server.ExportExceptionListAndItemsReturn.exportData", + "type": "string", + "tags": [], + "label": "exportData", + "description": [], + "path": "x-pack/plugins/lists/server/services/exception_lists/export_exception_list_and_items.ts", + "deprecated": false + }, + { + "parentPluginId": "lists", + "id": "def-server.ExportExceptionListAndItemsReturn.exportDetails", + "type": "Object", + "tags": [], + "label": "exportDetails", + "description": [], + "signature": [ + "{ exported_exception_list_count: number; exported_exception_list_item_count: number; missing_exception_list_item_count: number; missing_exception_list_items: string[]; missing_exception_lists: string[]; missing_exception_lists_count: number; }" + ], + "path": "x-pack/plugins/lists/server/services/exception_lists/export_exception_list_and_items.ts", + "deprecated": false + } + ], + "initialIsOpen": false + }, { "parentPluginId": "lists", "id": "def-server.ListsApiRequestHandlerContext", @@ -2738,15 +2814,13 @@ "signature": [ "Pick<", "KibanaClient", - ", \"monitoring\" | \"security\" | \"create\" | \"index\" | \"delete\" | \"get\" | \"update\" | \"closePointInTime\" | \"search\" | \"transform\" | \"eql\" | \"helpers\" | \"emit\" | \"on\" | \"once\" | \"off\" | \"asyncSearch\" | \"autoscaling\" | \"bulk\" | \"cat\" | \"ccr\" | \"clearScroll\" | \"cluster\" | \"count\" | \"danglingIndices\" | \"dataFrameTransformDeprecated\" | \"deleteByQuery\" | \"deleteByQueryRethrottle\" | \"deleteScript\" | \"enrich\" | \"exists\" | \"existsSource\" | \"explain\" | \"features\" | \"fieldCaps\" | \"fleet\" | \"getScript\" | \"getScriptContext\" | \"getScriptLanguages\" | \"getSource\" | \"graph\" | \"ilm\" | \"indices\" | \"info\" | \"ingest\" | \"license\" | \"logstash\" | \"mget\" | \"migration\" | \"ml\" | \"msearch\" | \"msearchTemplate\" | \"mtermvectors\" | \"nodes\" | \"openPointInTime\" | \"ping\" | \"putScript\" | \"rankEval\" | \"reindex\" | \"reindexRethrottle\" | \"renderSearchTemplate\" | \"rollup\" | \"scriptsPainlessExecute\" | \"scroll\" | \"searchShards\" | \"searchTemplate\" | \"searchableSnapshots\" | \"shutdown\" | \"slm\" | \"snapshot\" | \"sql\" | \"ssl\" | \"tasks\" | \"termsEnum\" | \"termvectors\" | \"textStructure\" | \"updateByQuery\" | \"updateByQueryRethrottle\" | \"watcher\" | \"xpack\"> & { transport: { request(params: ", + ", \"monitoring\" | \"security\" | \"create\" | \"name\" | \"index\" | \"delete\" | \"get\" | \"update\" | \"closePointInTime\" | \"search\" | \"transform\" | \"eql\" | \"helpers\" | \"asyncSearch\" | \"autoscaling\" | \"bulk\" | \"cat\" | \"ccr\" | \"clearScroll\" | \"cluster\" | \"count\" | \"danglingIndices\" | \"deleteByQuery\" | \"deleteByQueryRethrottle\" | \"deleteScript\" | \"enrich\" | \"exists\" | \"existsSource\" | \"explain\" | \"features\" | \"fieldCaps\" | \"fleet\" | \"getScript\" | \"getScriptContext\" | \"getScriptLanguages\" | \"getSource\" | \"graph\" | \"ilm\" | \"indices\" | \"info\" | \"ingest\" | \"knnSearch\" | \"license\" | \"logstash\" | \"mget\" | \"migration\" | \"ml\" | \"msearch\" | \"msearchTemplate\" | \"mtermvectors\" | \"nodes\" | \"openPointInTime\" | \"ping\" | \"putScript\" | \"rankEval\" | \"reindex\" | \"reindexRethrottle\" | \"renderSearchTemplate\" | \"rollup\" | \"scriptsPainlessExecute\" | \"scroll\" | \"searchMvt\" | \"searchShards\" | \"searchTemplate\" | \"searchableSnapshots\" | \"shutdown\" | \"slm\" | \"snapshot\" | \"sql\" | \"ssl\" | \"tasks\" | \"termsEnum\" | \"termvectors\" | \"textStructure\" | \"updateByQuery\" | \"updateByQueryRethrottle\" | \"watcher\" | \"xpack\"> & { transport: { request(params: ", "TransportRequestParams", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", unknown>>; }; }" + " | undefined): Promise<", + "TransportResult", + ">; }; }" ], "path": "x-pack/plugins/lists/server/types.ts", "deprecated": false diff --git a/api_docs/lists.mdx b/api_docs/lists.mdx index 8ccbd971903abc..b76d06cb9534f2 100644 --- a/api_docs/lists.mdx +++ b/api_docs/lists.mdx @@ -18,7 +18,7 @@ Contact [Security detections response](https://github.com/orgs/elastic/teams/sec | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 150 | 0 | 143 | 38 | +| 155 | 0 | 148 | 39 | ## Client diff --git a/api_docs/management.json b/api_docs/management.json index 1e0d1d941a6c9d..1a9a592c509648 100644 --- a/api_docs/management.json +++ b/api_docs/management.json @@ -196,7 +196,7 @@ "signature": [ "Pick & Pick<{ id: string; }, \"id\"> & Pick<{ id: string; }, never>, \"id\" | \"title\" | \"order\" | \"euiIconType\" | \"icon\" | \"tip\">" + ", \"title\" | \"order\" | \"euiIconType\" | \"icon\" | \"tip\" | \"capabilitiesId\" | \"redirectFrom\"> & Pick<{ id: string; }, \"id\"> & Pick<{ id: string; }, never>, \"id\" | \"title\" | \"order\" | \"euiIconType\" | \"icon\" | \"tip\" | \"capabilitiesId\" | \"redirectFrom\">" ], "path": "src/plugins/management/public/utils/management_section.ts", "deprecated": false, @@ -221,7 +221,7 @@ "section": "def-public.RegisterManagementAppArgs", "text": "RegisterManagementAppArgs" }, - ", \"id\" | \"title\" | \"order\" | \"mount\" | \"keywords\" | \"euiIconType\" | \"icon\" | \"tip\">) => ", + ", \"id\" | \"title\" | \"order\" | \"mount\" | \"keywords\" | \"euiIconType\" | \"icon\" | \"tip\" | \"capabilitiesId\" | \"redirectFrom\">) => ", { "pluginId": "management", "scope": "public", @@ -249,7 +249,7 @@ "section": "def-public.RegisterManagementAppArgs", "text": "RegisterManagementAppArgs" }, - ", \"id\" | \"title\" | \"order\" | \"mount\" | \"keywords\" | \"euiIconType\" | \"icon\" | \"tip\">" + ", \"id\" | \"title\" | \"order\" | \"mount\" | \"keywords\" | \"euiIconType\" | \"icon\" | \"tip\" | \"capabilitiesId\" | \"redirectFrom\">" ], "path": "src/plugins/management/public/utils/management_section.ts", "deprecated": false, diff --git a/api_docs/maps.json b/api_docs/maps.json index 3b4551b099afbf..508b14b50bdebe 100644 --- a/api_docs/maps.json +++ b/api_docs/maps.json @@ -1264,6 +1264,21 @@ "children": [], "returnComment": [] }, + { + "parentPluginId": "maps", + "id": "def-public.IField.getMbFieldName", + "type": "Function", + "tags": [], + "label": "getMbFieldName", + "description": [], + "signature": [ + "() => string" + ], + "path": "x-pack/plugins/maps/public/classes/fields/field.ts", + "deprecated": false, + "children": [], + "returnComment": [] + }, { "parentPluginId": "maps", "id": "def-public.IField.getRootName", @@ -1498,10 +1513,10 @@ }, { "parentPluginId": "maps", - "id": "def-public.IField.supportsAutoDomain", + "id": "def-public.IField.supportsFieldMetaFromLocalData", "type": "Function", "tags": [], - "label": "supportsAutoDomain", + "label": "supportsFieldMetaFromLocalData", "description": [], "signature": [ "() => boolean" @@ -1513,25 +1528,10 @@ }, { "parentPluginId": "maps", - "id": "def-public.IField.supportsFieldMeta", + "id": "def-public.IField.supportsFieldMetaFromEs", "type": "Function", "tags": [], - "label": "supportsFieldMeta", - "description": [], - "signature": [ - "() => boolean" - ], - "path": "x-pack/plugins/maps/public/classes/fields/field.ts", - "deprecated": false, - "children": [], - "returnComment": [] - }, - { - "parentPluginId": "maps", - "id": "def-public.IField.canReadFromGeoJson", - "type": "Function", - "tags": [], - "label": "canReadFromGeoJson", + "label": "supportsFieldMetaFromEs", "description": [], "signature": [ "() => boolean" @@ -1720,6 +1720,21 @@ "path": "x-pack/plugins/maps/public/classes/sources/vector_source/vector_source.tsx", "deprecated": false, "children": [ + { + "parentPluginId": "maps", + "id": "def-public.IVectorSource.isMvt", + "type": "Function", + "tags": [], + "label": "isMvt", + "description": [], + "signature": [ + "() => boolean" + ], + "path": "x-pack/plugins/maps/public/classes/sources/vector_source/vector_source.tsx", + "deprecated": false, + "children": [], + "returnComment": [] + }, { "parentPluginId": "maps", "id": "def-public.IVectorSource.getTooltipProperties", @@ -2926,9 +2941,9 @@ "label": "SourceEditorArgs", "description": [], "signature": [ - "{ onChange: (...args: ", + "{ clearJoins: () => void; currentLayerType: string; hasJoins: boolean; onChange: (...args: ", "OnSourceChangeArgs", - "[]) => void; currentLayerType?: string | undefined; }" + "[]) => Promise; }" ], "path": "x-pack/plugins/maps/public/classes/sources/source.ts", "deprecated": false, diff --git a/api_docs/maps.mdx b/api_docs/maps.mdx index f3aee195234be2..306ea41f37c2a7 100644 --- a/api_docs/maps.mdx +++ b/api_docs/maps.mdx @@ -18,7 +18,7 @@ Contact [GIS](https://github.com/orgs/elastic/teams/kibana-gis) for questions re | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 202 | 0 | 201 | 29 | +| 203 | 0 | 202 | 29 | ## Client diff --git a/api_docs/maps_ems.json b/api_docs/maps_ems.json index dd5f8d905952d0..a14b7836341eb4 100644 --- a/api_docs/maps_ems.json +++ b/api_docs/maps_ems.json @@ -572,7 +572,7 @@ "label": "MapsEmsConfig", "description": [], "signature": [ - "{ readonly proxyElasticMapsServiceInMaps: boolean; readonly tilemap: Readonly<{ url?: string | undefined; } & { options: Readonly<{ default?: boolean | undefined; tileSize?: number | undefined; subdomains?: string[] | undefined; errorTileUrl?: string | undefined; tms?: boolean | undefined; reuseTiles?: boolean | undefined; bounds?: number[] | undefined; } & { attribution: string; minZoom: number; maxZoom: number; }>; }>; readonly includeElasticMapsService: boolean; readonly emsUrl: string; readonly emsFileApiUrl: string; readonly emsTileApiUrl: string; readonly emsLandingPageUrl: string; readonly emsFontLibraryUrl: string; readonly emsTileLayerId: Readonly<{} & { bright: string; desaturated: string; dark: string; }>; }" + "{ readonly tilemap: Readonly<{ url?: string | undefined; } & { options: Readonly<{ default?: boolean | undefined; tileSize?: number | undefined; subdomains?: string[] | undefined; errorTileUrl?: string | undefined; tms?: boolean | undefined; reuseTiles?: boolean | undefined; bounds?: number[] | undefined; } & { attribution: string; minZoom: number; maxZoom: number; }>; }>; readonly includeElasticMapsService: boolean; readonly emsUrl: string; readonly emsFileApiUrl: string; readonly emsTileApiUrl: string; readonly emsLandingPageUrl: string; readonly emsFontLibraryUrl: string; readonly emsTileLayerId: Readonly<{} & { bright: string; desaturated: string; dark: string; }>; }" ], "path": "src/plugins/maps_ems/config.ts", "deprecated": false, @@ -612,7 +612,7 @@ "label": "config", "description": [], "signature": [ - "{ readonly proxyElasticMapsServiceInMaps: boolean; readonly tilemap: Readonly<{ url?: string | undefined; } & { options: Readonly<{ default?: boolean | undefined; tileSize?: number | undefined; subdomains?: string[] | undefined; errorTileUrl?: string | undefined; tms?: boolean | undefined; reuseTiles?: boolean | undefined; bounds?: number[] | undefined; } & { attribution: string; minZoom: number; maxZoom: number; }>; }>; readonly includeElasticMapsService: boolean; readonly emsUrl: string; readonly emsFileApiUrl: string; readonly emsTileApiUrl: string; readonly emsLandingPageUrl: string; readonly emsFontLibraryUrl: string; readonly emsTileLayerId: Readonly<{} & { bright: string; desaturated: string; dark: string; }>; }" + "{ readonly tilemap: Readonly<{ url?: string | undefined; } & { options: Readonly<{ default?: boolean | undefined; tileSize?: number | undefined; subdomains?: string[] | undefined; errorTileUrl?: string | undefined; tms?: boolean | undefined; reuseTiles?: boolean | undefined; bounds?: number[] | undefined; } & { attribution: string; minZoom: number; maxZoom: number; }>; }>; readonly includeElasticMapsService: boolean; readonly emsUrl: string; readonly emsFileApiUrl: string; readonly emsTileApiUrl: string; readonly emsLandingPageUrl: string; readonly emsFontLibraryUrl: string; readonly emsTileLayerId: Readonly<{} & { bright: string; desaturated: string; dark: string; }>; }" ], "path": "src/plugins/maps_ems/public/index.ts", "deprecated": false @@ -713,7 +713,7 @@ "section": "def-server.PluginInitializerContext", "text": "PluginInitializerContext" }, - "; }>; includeElasticMapsService: boolean; emsUrl: string; emsFileApiUrl: string; emsTileApiUrl: string; emsLandingPageUrl: string; emsFontLibraryUrl: string; emsTileLayerId: Readonly<{} & { bright: string; desaturated: string; dark: string; }>; }>>" + "; }>; includeElasticMapsService: boolean; emsUrl: string; emsFileApiUrl: string; emsTileApiUrl: string; emsLandingPageUrl: string; emsFontLibraryUrl: string; emsTileLayerId: Readonly<{} & { bright: string; desaturated: string; dark: string; }>; }>>" ], "path": "src/plugins/maps_ems/server/index.ts", "deprecated": false @@ -746,7 +746,7 @@ "section": "def-server.PluginInitializerContext", "text": "PluginInitializerContext" }, - "; }>; includeElasticMapsService: boolean; emsUrl: string; emsFileApiUrl: string; emsTileApiUrl: string; emsLandingPageUrl: string; emsFontLibraryUrl: string; emsTileLayerId: Readonly<{} & { bright: string; desaturated: string; dark: string; }>; }>>" + "; }>; includeElasticMapsService: boolean; emsUrl: string; emsFileApiUrl: string; emsTileApiUrl: string; emsLandingPageUrl: string; emsFontLibraryUrl: string; emsTileLayerId: Readonly<{} & { bright: string; desaturated: string; dark: string; }>; }>>" ], "path": "src/plugins/maps_ems/server/index.ts", "deprecated": false, @@ -771,7 +771,7 @@ "section": "def-server.CoreSetup", "text": "CoreSetup" }, - ") => { config: Readonly<{} & { proxyElasticMapsServiceInMaps: boolean; tilemap: Readonly<{ url?: string | undefined; } & { options: Readonly<{ default?: boolean | undefined; tileSize?: number | undefined; subdomains?: string[] | undefined; errorTileUrl?: string | undefined; tms?: boolean | undefined; reuseTiles?: boolean | undefined; bounds?: number[] | undefined; } & { attribution: string; minZoom: number; maxZoom: number; }>; }>; includeElasticMapsService: boolean; emsUrl: string; emsFileApiUrl: string; emsTileApiUrl: string; emsLandingPageUrl: string; emsFontLibraryUrl: string; emsTileLayerId: Readonly<{} & { bright: string; desaturated: string; dark: string; }>; }>; }" + ") => { config: Readonly<{} & { tilemap: Readonly<{ url?: string | undefined; } & { options: Readonly<{ default?: boolean | undefined; tileSize?: number | undefined; subdomains?: string[] | undefined; errorTileUrl?: string | undefined; tms?: boolean | undefined; reuseTiles?: boolean | undefined; bounds?: number[] | undefined; } & { attribution: string; minZoom: number; maxZoom: number; }>; }>; includeElasticMapsService: boolean; emsUrl: string; emsFileApiUrl: string; emsTileApiUrl: string; emsLandingPageUrl: string; emsFontLibraryUrl: string; emsTileLayerId: Readonly<{} & { bright: string; desaturated: string; dark: string; }>; }>; }" ], "path": "src/plugins/maps_ems/server/index.ts", "deprecated": false, @@ -839,7 +839,7 @@ "label": "config", "description": [], "signature": [ - "{ readonly proxyElasticMapsServiceInMaps: boolean; readonly tilemap: Readonly<{ url?: string | undefined; } & { options: Readonly<{ default?: boolean | undefined; tileSize?: number | undefined; subdomains?: string[] | undefined; errorTileUrl?: string | undefined; tms?: boolean | undefined; reuseTiles?: boolean | undefined; bounds?: number[] | undefined; } & { attribution: string; minZoom: number; maxZoom: number; }>; }>; readonly includeElasticMapsService: boolean; readonly emsUrl: string; readonly emsFileApiUrl: string; readonly emsTileApiUrl: string; readonly emsLandingPageUrl: string; readonly emsFontLibraryUrl: string; readonly emsTileLayerId: Readonly<{} & { bright: string; desaturated: string; dark: string; }>; }" + "{ readonly tilemap: Readonly<{ url?: string | undefined; } & { options: Readonly<{ default?: boolean | undefined; tileSize?: number | undefined; subdomains?: string[] | undefined; errorTileUrl?: string | undefined; tms?: boolean | undefined; reuseTiles?: boolean | undefined; bounds?: number[] | undefined; } & { attribution: string; minZoom: number; maxZoom: number; }>; }>; readonly includeElasticMapsService: boolean; readonly emsUrl: string; readonly emsFileApiUrl: string; readonly emsTileApiUrl: string; readonly emsLandingPageUrl: string; readonly emsFontLibraryUrl: string; readonly emsTileLayerId: Readonly<{} & { bright: string; desaturated: string; dark: string; }>; }" ], "path": "src/plugins/maps_ems/server/index.ts", "deprecated": false @@ -908,7 +908,7 @@ "label": "DEFAULT_EMS_LANDING_PAGE_URL", "description": [], "signature": [ - "\"https://maps.elastic.co/v7.16\"" + "\"https://maps.elastic.co/v8.0\"" ], "path": "src/plugins/maps_ems/common/index.ts", "deprecated": false, diff --git a/api_docs/metrics_entities.json b/api_docs/metrics_entities.json index 601c41a2822571..e7f8f395d742e3 100644 --- a/api_docs/metrics_entities.json +++ b/api_docs/metrics_entities.json @@ -58,15 +58,13 @@ "signature": [ "Pick<", "KibanaClient", - ", \"monitoring\" | \"security\" | \"create\" | \"index\" | \"delete\" | \"get\" | \"update\" | \"closePointInTime\" | \"search\" | \"transform\" | \"eql\" | \"helpers\" | \"emit\" | \"on\" | \"once\" | \"off\" | \"asyncSearch\" | \"autoscaling\" | \"bulk\" | \"cat\" | \"ccr\" | \"clearScroll\" | \"cluster\" | \"count\" | \"danglingIndices\" | \"dataFrameTransformDeprecated\" | \"deleteByQuery\" | \"deleteByQueryRethrottle\" | \"deleteScript\" | \"enrich\" | \"exists\" | \"existsSource\" | \"explain\" | \"features\" | \"fieldCaps\" | \"fleet\" | \"getScript\" | \"getScriptContext\" | \"getScriptLanguages\" | \"getSource\" | \"graph\" | \"ilm\" | \"indices\" | \"info\" | \"ingest\" | \"license\" | \"logstash\" | \"mget\" | \"migration\" | \"ml\" | \"msearch\" | \"msearchTemplate\" | \"mtermvectors\" | \"nodes\" | \"openPointInTime\" | \"ping\" | \"putScript\" | \"rankEval\" | \"reindex\" | \"reindexRethrottle\" | \"renderSearchTemplate\" | \"rollup\" | \"scriptsPainlessExecute\" | \"scroll\" | \"searchShards\" | \"searchTemplate\" | \"searchableSnapshots\" | \"shutdown\" | \"slm\" | \"snapshot\" | \"sql\" | \"ssl\" | \"tasks\" | \"termsEnum\" | \"termvectors\" | \"textStructure\" | \"updateByQuery\" | \"updateByQueryRethrottle\" | \"watcher\" | \"xpack\"> & { transport: { request(params: ", + ", \"monitoring\" | \"security\" | \"create\" | \"name\" | \"index\" | \"delete\" | \"get\" | \"update\" | \"closePointInTime\" | \"search\" | \"transform\" | \"eql\" | \"helpers\" | \"asyncSearch\" | \"autoscaling\" | \"bulk\" | \"cat\" | \"ccr\" | \"clearScroll\" | \"cluster\" | \"count\" | \"danglingIndices\" | \"deleteByQuery\" | \"deleteByQueryRethrottle\" | \"deleteScript\" | \"enrich\" | \"exists\" | \"existsSource\" | \"explain\" | \"features\" | \"fieldCaps\" | \"fleet\" | \"getScript\" | \"getScriptContext\" | \"getScriptLanguages\" | \"getSource\" | \"graph\" | \"ilm\" | \"indices\" | \"info\" | \"ingest\" | \"knnSearch\" | \"license\" | \"logstash\" | \"mget\" | \"migration\" | \"ml\" | \"msearch\" | \"msearchTemplate\" | \"mtermvectors\" | \"nodes\" | \"openPointInTime\" | \"ping\" | \"putScript\" | \"rankEval\" | \"reindex\" | \"reindexRethrottle\" | \"renderSearchTemplate\" | \"rollup\" | \"scriptsPainlessExecute\" | \"scroll\" | \"searchMvt\" | \"searchShards\" | \"searchTemplate\" | \"searchableSnapshots\" | \"shutdown\" | \"slm\" | \"snapshot\" | \"sql\" | \"ssl\" | \"tasks\" | \"termsEnum\" | \"termvectors\" | \"textStructure\" | \"updateByQuery\" | \"updateByQueryRethrottle\" | \"watcher\" | \"xpack\"> & { transport: { request(params: ", "TransportRequestParams", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", unknown>>; }; }" + " | undefined): Promise<", + "TransportResult", + ">; }; }" ], "path": "x-pack/plugins/metrics_entities/server/types.ts", "deprecated": false diff --git a/api_docs/ml.json b/api_docs/ml.json index d5f9d552690c15..4a7ed28034e614 100644 --- a/api_docs/ml.json +++ b/api_docs/ml.json @@ -1055,7 +1055,7 @@ }, "<", "MlAnomalyDetectionAlertParams", - ">, \"id\" | \"name\" | \"tags\" | \"enabled\" | \"params\" | \"actions\" | \"throttle\" | \"alertTypeId\" | \"consumer\" | \"schedule\" | \"scheduledTaskId\" | \"createdBy\" | \"updatedBy\" | \"createdAt\" | \"updatedAt\" | \"apiKeyOwner\" | \"notifyWhen\" | \"muteAll\" | \"mutedInstanceIds\" | \"executionStatus\">[] | undefined" + ">, \"id\" | \"name\" | \"tags\" | \"enabled\" | \"params\" | \"actions\" | \"alertTypeId\" | \"consumer\" | \"schedule\" | \"scheduledTaskId\" | \"createdBy\" | \"updatedBy\" | \"createdAt\" | \"updatedAt\" | \"apiKeyOwner\" | \"throttle\" | \"notifyWhen\" | \"muteAll\" | \"mutedInstanceIds\" | \"executionStatus\">[] | undefined" ], "path": "x-pack/plugins/ml/common/types/anomaly_detection_jobs/summary_job.ts", "deprecated": false @@ -1327,7 +1327,7 @@ "label": "ML_PAGES", "description": [], "signature": [ - "{ readonly ANOMALY_DETECTION_JOBS_MANAGE: \"jobs\"; readonly ANOMALY_EXPLORER: \"explorer\"; readonly SINGLE_METRIC_VIEWER: \"timeseriesexplorer\"; readonly DATA_FRAME_ANALYTICS_JOBS_MANAGE: \"data_frame_analytics\"; readonly DATA_FRAME_ANALYTICS_CREATE_JOB: \"data_frame_analytics/new_job\"; readonly DATA_FRAME_ANALYTICS_MODELS_MANAGE: \"data_frame_analytics/models\"; readonly DATA_FRAME_ANALYTICS_EXPLORATION: \"data_frame_analytics/exploration\"; readonly DATA_FRAME_ANALYTICS_MAP: \"data_frame_analytics/map\"; readonly DATA_VISUALIZER: \"datavisualizer\"; readonly DATA_VISUALIZER_INDEX_SELECT: \"datavisualizer_index_select\"; readonly DATA_VISUALIZER_FILE: \"filedatavisualizer\"; readonly DATA_VISUALIZER_INDEX_VIEWER: \"jobs/new_job/datavisualizer\"; readonly ANOMALY_DETECTION_CREATE_JOB: \"jobs/new_job\"; readonly ANOMALY_DETECTION_CREATE_JOB_ADVANCED: \"jobs/new_job/advanced\"; readonly ANOMALY_DETECTION_CREATE_JOB_SELECT_TYPE: \"jobs/new_job/step/job_type\"; readonly ANOMALY_DETECTION_CREATE_JOB_SELECT_INDEX: \"jobs/new_job/step/index_or_search\"; readonly SETTINGS: \"settings\"; readonly CALENDARS_MANAGE: \"settings/calendars_list\"; readonly CALENDARS_NEW: \"settings/calendars_list/new_calendar\"; readonly CALENDARS_EDIT: \"settings/calendars_list/edit_calendar\"; readonly FILTER_LISTS_MANAGE: \"settings/filter_lists\"; readonly FILTER_LISTS_NEW: \"settings/filter_lists/new_filter_list\"; readonly FILTER_LISTS_EDIT: \"settings/filter_lists/edit_filter_list\"; readonly ACCESS_DENIED: \"access-denied\"; readonly OVERVIEW: \"overview\"; }" + "{ readonly ANOMALY_DETECTION_JOBS_MANAGE: \"jobs\"; readonly ANOMALY_EXPLORER: \"explorer\"; readonly SINGLE_METRIC_VIEWER: \"timeseriesexplorer\"; readonly DATA_FRAME_ANALYTICS_JOBS_MANAGE: \"data_frame_analytics\"; readonly DATA_FRAME_ANALYTICS_CREATE_JOB: \"data_frame_analytics/new_job\"; readonly TRAINED_MODELS_MANAGE: \"trained_models\"; readonly TRAINED_MODELS_NODES: \"trained_models/nodes\"; readonly DATA_FRAME_ANALYTICS_EXPLORATION: \"data_frame_analytics/exploration\"; readonly DATA_FRAME_ANALYTICS_MAP: \"data_frame_analytics/map\"; readonly DATA_VISUALIZER: \"datavisualizer\"; readonly DATA_VISUALIZER_INDEX_SELECT: \"datavisualizer_index_select\"; readonly DATA_VISUALIZER_FILE: \"filedatavisualizer\"; readonly DATA_VISUALIZER_INDEX_VIEWER: \"jobs/new_job/datavisualizer\"; readonly ANOMALY_DETECTION_CREATE_JOB: \"jobs/new_job\"; readonly ANOMALY_DETECTION_CREATE_JOB_ADVANCED: \"jobs/new_job/advanced\"; readonly ANOMALY_DETECTION_CREATE_JOB_SELECT_TYPE: \"jobs/new_job/step/job_type\"; readonly ANOMALY_DETECTION_CREATE_JOB_SELECT_INDEX: \"jobs/new_job/step/index_or_search\"; readonly SETTINGS: \"settings\"; readonly CALENDARS_MANAGE: \"settings/calendars_list\"; readonly CALENDARS_NEW: \"settings/calendars_list/new_calendar\"; readonly CALENDARS_EDIT: \"settings/calendars_list/edit_calendar\"; readonly FILTER_LISTS_MANAGE: \"settings/filter_lists\"; readonly FILTER_LISTS_NEW: \"settings/filter_lists/new_filter_list\"; readonly FILTER_LISTS_EDIT: \"settings/filter_lists/edit_filter_list\"; readonly ACCESS_DENIED: \"access-denied\"; readonly OVERVIEW: \"overview\"; }" ], "path": "x-pack/plugins/ml/common/constants/locator.ts", "deprecated": false, @@ -1531,7 +1531,7 @@ "section": "def-server.IScopedClusterClient", "text": "IScopedClusterClient" }, - ", indexPatternTitle: string, query: any, fields: ", + ", indexPattern: string, query: any, fields: ", "HistogramField", "[], samplerShardSize: number, runtimeMappings?: Record, \"id\" | \"name\" | \"tags\" | \"enabled\" | \"params\" | \"actions\" | \"throttle\" | \"alertTypeId\" | \"consumer\" | \"schedule\" | \"scheduledTaskId\" | \"createdBy\" | \"updatedBy\" | \"createdAt\" | \"updatedAt\" | \"apiKeyOwner\" | \"notifyWhen\" | \"muteAll\" | \"mutedInstanceIds\" | \"executionStatus\">[] | undefined" + ">, \"id\" | \"name\" | \"tags\" | \"enabled\" | \"params\" | \"actions\" | \"alertTypeId\" | \"consumer\" | \"schedule\" | \"scheduledTaskId\" | \"createdBy\" | \"updatedBy\" | \"createdAt\" | \"updatedAt\" | \"apiKeyOwner\" | \"throttle\" | \"notifyWhen\" | \"muteAll\" | \"mutedInstanceIds\" | \"executionStatus\">[] | undefined" ], "path": "x-pack/plugins/ml/common/types/anomaly_detection_jobs/summary_job.ts", "deprecated": false diff --git a/api_docs/monitoring.json b/api_docs/monitoring.json index 0de686a2108ebd..80828dc24c21e6 100644 --- a/api_docs/monitoring.json +++ b/api_docs/monitoring.json @@ -149,7 +149,7 @@ "signature": [ "{ ui: { elasticsearch: ", "MonitoringElasticsearchConfig", - "; enabled: boolean; container: Readonly<{} & { logstash: Readonly<{} & { enabled: boolean; }>; apm: Readonly<{} & { enabled: boolean; }>; elasticsearch: Readonly<{} & { enabled: boolean; }>; }>; logs: Readonly<{} & { index: string; }>; metricbeat: Readonly<{} & { index: string; }>; debug_mode: boolean; debug_log_path: string; ccs: Readonly<{} & { enabled: boolean; }>; max_bucket_size: number; min_interval_seconds: number; show_license_expiration: boolean; render_react_app: boolean; }; tests: Readonly<{} & { cloud_detector: Readonly<{} & { enabled: boolean; }>; }>; enabled: boolean; kibana: Readonly<{} & { collection: Readonly<{} & { interval: number; enabled: boolean; }>; }>; licensing: Readonly<{} & { api_polling_frequency: moment.Duration; }>; agent: Readonly<{} & { interval: string; }>; cluster_alerts: Readonly<{} & { enabled: boolean; allowedSpaces: string[]; email_notifications: Readonly<{} & { enabled: boolean; email_address: string; }>; }>; }" + "; enabled: boolean; container: Readonly<{} & { logstash: Readonly<{} & { enabled: boolean; }>; apm: Readonly<{} & { enabled: boolean; }>; elasticsearch: Readonly<{} & { enabled: boolean; }>; }>; logs: Readonly<{} & { index: string; }>; metricbeat: Readonly<{} & { index: string; }>; debug_mode: boolean; debug_log_path: string; ccs: Readonly<{} & { enabled: boolean; }>; max_bucket_size: number; min_interval_seconds: number; show_license_expiration: boolean; }; tests: Readonly<{} & { cloud_detector: Readonly<{} & { enabled: boolean; }>; }>; kibana: Readonly<{} & { collection: Readonly<{} & { interval: number; enabled: boolean; }>; }>; licensing: Readonly<{} & { api_polling_frequency: moment.Duration; }>; agent: Readonly<{} & { interval: string; }>; cluster_alerts: Readonly<{} & { enabled: boolean; allowedSpaces: string[]; email_notifications: Readonly<{} & { enabled: boolean; email_address: string; }>; }>; }" ], "path": "x-pack/plugins/monitoring/server/config.ts", "deprecated": false, diff --git a/api_docs/observability.json b/api_docs/observability.json index 3889631a20bec5..186e1f82c7e127 100644 --- a/api_docs/observability.json +++ b/api_docs/observability.json @@ -650,6 +650,39 @@ "returnComment": [], "initialIsOpen": false }, + { + "parentPluginId": "observability", + "id": "def-public.SelectableUrlList", + "type": "Function", + "tags": [], + "label": "SelectableUrlList", + "description": [], + "signature": [ + "(props: ", + "SelectableUrlListProps", + ") => JSX.Element" + ], + "path": "x-pack/plugins/observability/public/components/shared/index.tsx", + "deprecated": false, + "children": [ + { + "parentPluginId": "observability", + "id": "def-public.SelectableUrlList.$1", + "type": "Object", + "tags": [], + "label": "props", + "description": [], + "signature": [ + "SelectableUrlListProps" + ], + "path": "x-pack/plugins/observability/public/components/shared/index.tsx", + "deprecated": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, { "parentPluginId": "observability", "id": "def-public.useBreadcrumbs", @@ -766,7 +799,15 @@ "signature": [ "(params: TParams, fnDeps: any[]) => { data: ", + ">(params: TParams, fnDeps: any[], options: { inspector?: ", + { + "pluginId": "data", + "scope": "common", + "docId": "kibDataSearchPluginApi", + "section": "def-common.IInspectorInfo", + "text": "IInspectorInfo" + }, + " | undefined; name: string; }) => { data: ", "InferSearchResponseOf", "; loading: boolean | undefined; }" ], @@ -800,6 +841,48 @@ "path": "x-pack/plugins/observability/public/hooks/use_es_search.ts", "deprecated": false, "isRequired": true + }, + { + "parentPluginId": "observability", + "id": "def-public.useEsSearch.$3", + "type": "Object", + "tags": [], + "label": "options", + "description": [], + "path": "x-pack/plugins/observability/public/hooks/use_es_search.ts", + "deprecated": false, + "children": [ + { + "parentPluginId": "observability", + "id": "def-public.useEsSearch.$3.inspector", + "type": "Object", + "tags": [], + "label": "inspector", + "description": [], + "signature": [ + { + "pluginId": "data", + "scope": "common", + "docId": "kibDataSearchPluginApi", + "section": "def-common.IInspectorInfo", + "text": "IInspectorInfo" + }, + " | undefined" + ], + "path": "x-pack/plugins/observability/public/hooks/use_es_search.ts", + "deprecated": false + }, + { + "parentPluginId": "observability", + "id": "def-public.useEsSearch.$3.name", + "type": "string", + "tags": [], + "label": "name", + "description": [], + "path": "x-pack/plugins/observability/public/hooks/use_es_search.ts", + "deprecated": false + } + ] } ], "returnComment": [], @@ -1458,6 +1541,33 @@ ], "path": "x-pack/plugins/observability/public/components/shared/exploratory_view/embeddable/embeddable.tsx", "deprecated": false + }, + { + "parentPluginId": "observability", + "id": "def-public.ExploratoryEmbeddableProps.axisTitlesVisibility", + "type": "Object", + "tags": [], + "label": "axisTitlesVisibility", + "description": [], + "signature": [ + "AxesSettingsConfig", + " | undefined" + ], + "path": "x-pack/plugins/observability/public/components/shared/exploratory_view/embeddable/embeddable.tsx", + "deprecated": false + }, + { + "parentPluginId": "observability", + "id": "def-public.ExploratoryEmbeddableProps.legendIsVisible", + "type": "CompoundType", + "tags": [], + "label": "legendIsVisible", + "description": [], + "signature": [ + "boolean | undefined" + ], + "path": "x-pack/plugins/observability/public/components/shared/exploratory_view/embeddable/embeddable.tsx", + "deprecated": false } ], "initialIsOpen": false @@ -1500,9 +1610,22 @@ }, { "parentPluginId": "observability", - "id": "def-public.FetchDataParams.bucketSize", + "id": "def-public.FetchDataParams.serviceName", "type": "string", "tags": [], + "label": "serviceName", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", + "deprecated": false + }, + { + "parentPluginId": "observability", + "id": "def-public.FetchDataParams.bucketSize", + "type": "number", + "tags": [], "label": "bucketSize", "description": [], "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", @@ -1510,14 +1633,11 @@ }, { "parentPluginId": "observability", - "id": "def-public.FetchDataParams.serviceName", + "id": "def-public.FetchDataParams.intervalString", "type": "string", "tags": [], - "label": "serviceName", + "label": "intervalString", "description": [], - "signature": [ - "string | undefined" - ], "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", "deprecated": false } @@ -2377,7 +2497,7 @@ "signature": [ "(options: { fields: OutputOf<", "Optional", - "<{ readonly \"kibana.alert.rule.params\": { readonly type: \"keyword\"; readonly index: false; }; readonly \"kibana.alert.rule.rule_type_id\": { readonly type: \"keyword\"; readonly required: true; }; readonly \"kibana.alert.rule.consumer\": { readonly type: \"keyword\"; readonly required: true; }; readonly \"kibana.alert.rule.producer\": { readonly type: \"keyword\"; readonly required: true; }; readonly \"kibana.space_ids\": { readonly type: \"keyword\"; readonly array: true; readonly required: true; }; readonly \"kibana.alert.uuid\": { readonly type: \"keyword\"; readonly required: true; }; readonly \"kibana.alert.instance.id\": { readonly type: \"keyword\"; readonly required: true; }; readonly \"kibana.alert.start\": { readonly type: \"date\"; }; readonly \"kibana.alert.end\": { readonly type: \"date\"; }; readonly \"kibana.alert.duration.us\": { readonly type: \"long\"; }; readonly \"kibana.alert.severity\": { readonly type: \"keyword\"; }; readonly \"kibana.alert.status\": { readonly type: \"keyword\"; readonly required: true; }; readonly \"kibana.alert.evaluation.threshold\": { readonly type: \"scaled_float\"; readonly scaling_factor: 100; }; readonly \"kibana.alert.evaluation.value\": { readonly type: \"scaled_float\"; readonly scaling_factor: 100; }; readonly \"kibana.version\": { readonly type: \"version\"; readonly array: false; readonly required: false; }; readonly \"ecs.version\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.severity\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.risk_score\": { readonly type: \"float\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.workflow_status\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.workflow_user\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.workflow_reason\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.system_status\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.action_group\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.reason\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.author\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.category\": { readonly type: \"keyword\"; readonly array: false; readonly required: true; }; readonly \"kibana.alert.rule.uuid\": { readonly type: \"keyword\"; readonly array: false; readonly required: true; }; readonly \"kibana.alert.rule.created_at\": { readonly type: \"date\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.created_by\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.description\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.enabled\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.from\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.interval\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.license\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.name\": { readonly type: \"keyword\"; readonly array: false; readonly required: true; }; readonly \"kibana.alert.rule.note\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.references\": { readonly type: \"keyword\"; readonly array: true; readonly required: false; }; readonly \"kibana.alert.rule.risk_score_mapping\": { readonly type: \"object\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.rule_id\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.rule_name_override\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.severity_mapping\": { readonly type: \"object\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.tags\": { readonly type: \"keyword\"; readonly array: true; readonly required: false; }; readonly \"kibana.alert.rule.to\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.type\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.updated_at\": { readonly type: \"date\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.updated_by\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.version\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly tags: { readonly type: \"keyword\"; readonly array: true; readonly required: false; }; readonly '@timestamp': { readonly type: \"date\"; readonly array: false; readonly required: true; }; readonly 'event.kind': { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly 'event.action': { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; }, \"tags\" | \"event.kind\" | \"ecs.version\" | \"event.action\" | \"kibana.alert.action_group\" | \"kibana.alert.duration.us\" | \"kibana.alert.end\" | \"kibana.alert.evaluation.threshold\" | \"kibana.alert.evaluation.value\" | \"kibana.alert.reason\" | \"kibana.alert.rule.author\" | \"kibana.alert.rule.created_at\" | \"kibana.alert.rule.created_by\" | \"kibana.alert.rule.description\" | \"kibana.alert.rule.enabled\" | \"kibana.alert.rule.from\" | \"kibana.alert.rule.interval\" | \"kibana.alert.rule.license\" | \"kibana.alert.rule.note\" | \"kibana.alert.rule.params\" | \"kibana.alert.rule.references\" | \"kibana.alert.rule.risk_score\" | \"kibana.alert.rule.risk_score_mapping\" | \"kibana.alert.rule.rule_id\" | \"kibana.alert.rule.rule_name_override\" | \"kibana.alert.rule.severity\" | \"kibana.alert.rule.severity_mapping\" | \"kibana.alert.rule.tags\" | \"kibana.alert.rule.to\" | \"kibana.alert.rule.type\" | \"kibana.alert.rule.updated_at\" | \"kibana.alert.rule.updated_by\" | \"kibana.alert.rule.version\" | \"kibana.alert.start\" | \"kibana.alert.severity\" | \"kibana.alert.system_status\" | \"kibana.alert.workflow_reason\" | \"kibana.alert.workflow_status\" | \"kibana.alert.workflow_user\" | \"kibana.version\">> & Record; formatters: { asDuration: (value: number | null | undefined, { defaultValue, extended }?: FormatterOptions) => string; asPercent: (numerator: number | null | undefined, denominator: number | undefined, fallbackResult?: string) => string; }; }) => { reason: string; link: string; }" + "<{ readonly \"kibana.alert.rule.params\": { readonly type: \"keyword\"; readonly index: false; }; readonly \"kibana.alert.rule.rule_type_id\": { readonly type: \"keyword\"; readonly required: true; }; readonly \"kibana.alert.rule.consumer\": { readonly type: \"keyword\"; readonly required: true; }; readonly \"kibana.alert.rule.producer\": { readonly type: \"keyword\"; readonly required: true; }; readonly \"kibana.space_ids\": { readonly type: \"keyword\"; readonly array: true; readonly required: true; }; readonly \"kibana.alert.uuid\": { readonly type: \"keyword\"; readonly required: true; }; readonly \"kibana.alert.instance.id\": { readonly type: \"keyword\"; readonly required: true; }; readonly \"kibana.alert.start\": { readonly type: \"date\"; }; readonly \"kibana.alert.end\": { readonly type: \"date\"; }; readonly \"kibana.alert.duration.us\": { readonly type: \"long\"; }; readonly \"kibana.alert.severity\": { readonly type: \"keyword\"; }; readonly \"kibana.alert.status\": { readonly type: \"keyword\"; readonly required: true; }; readonly \"kibana.alert.evaluation.threshold\": { readonly type: \"scaled_float\"; readonly scaling_factor: 100; }; readonly \"kibana.alert.evaluation.value\": { readonly type: \"scaled_float\"; readonly scaling_factor: 100; }; readonly \"kibana.version\": { readonly type: \"version\"; readonly array: false; readonly required: false; }; readonly \"ecs.version\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.severity\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.risk_score\": { readonly type: \"float\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.risk_score\": { readonly type: \"float\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.workflow_status\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.workflow_user\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.workflow_reason\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.system_status\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.action_group\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.reason\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.author\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.category\": { readonly type: \"keyword\"; readonly array: false; readonly required: true; }; readonly \"kibana.alert.rule.uuid\": { readonly type: \"keyword\"; readonly array: false; readonly required: true; }; readonly \"kibana.alert.rule.created_at\": { readonly type: \"date\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.created_by\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.description\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.enabled\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.from\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.interval\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.license\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.name\": { readonly type: \"keyword\"; readonly array: false; readonly required: true; }; readonly \"kibana.alert.rule.note\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.references\": { readonly type: \"keyword\"; readonly array: true; readonly required: false; }; readonly \"kibana.alert.rule.risk_score_mapping\": { readonly type: \"object\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.rule_id\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.rule_name_override\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.severity_mapping\": { readonly type: \"object\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.tags\": { readonly type: \"keyword\"; readonly array: true; readonly required: false; }; readonly \"kibana.alert.rule.to\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.type\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.updated_at\": { readonly type: \"date\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.updated_by\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.version\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly tags: { readonly type: \"keyword\"; readonly array: true; readonly required: false; }; readonly '@timestamp': { readonly type: \"date\"; readonly array: false; readonly required: true; }; readonly 'event.kind': { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly 'event.action': { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; }, \"tags\" | \"event.kind\" | \"ecs.version\" | \"event.action\" | \"kibana.alert.action_group\" | \"kibana.alert.duration.us\" | \"kibana.alert.end\" | \"kibana.alert.evaluation.threshold\" | \"kibana.alert.evaluation.value\" | \"kibana.alert.reason\" | \"kibana.alert.risk_score\" | \"kibana.alert.rule.author\" | \"kibana.alert.rule.created_at\" | \"kibana.alert.rule.created_by\" | \"kibana.alert.rule.description\" | \"kibana.alert.rule.enabled\" | \"kibana.alert.rule.from\" | \"kibana.alert.rule.interval\" | \"kibana.alert.rule.license\" | \"kibana.alert.rule.note\" | \"kibana.alert.rule.params\" | \"kibana.alert.rule.references\" | \"kibana.alert.rule.risk_score\" | \"kibana.alert.rule.risk_score_mapping\" | \"kibana.alert.rule.rule_id\" | \"kibana.alert.rule.rule_name_override\" | \"kibana.alert.rule.severity\" | \"kibana.alert.rule.severity_mapping\" | \"kibana.alert.rule.tags\" | \"kibana.alert.rule.to\" | \"kibana.alert.rule.type\" | \"kibana.alert.rule.updated_at\" | \"kibana.alert.rule.updated_by\" | \"kibana.alert.rule.version\" | \"kibana.alert.start\" | \"kibana.alert.severity\" | \"kibana.alert.system_status\" | \"kibana.alert.workflow_reason\" | \"kibana.alert.workflow_status\" | \"kibana.alert.workflow_user\" | \"kibana.version\">> & Record; formatters: { asDuration: (value: number | null | undefined, { defaultValue, extended }?: FormatterOptions) => string; asPercent: (numerator: number | null | undefined, denominator: number | undefined, fallbackResult?: string) => string; }; }) => { reason: string; link: string; }" ], "path": "x-pack/plugins/observability/public/rules/create_observability_rule_type_registry.ts", "deprecated": false, @@ -2393,7 +2513,7 @@ "signature": [ "{ fields: OutputOf<", "Optional", - "<{ readonly \"kibana.alert.rule.params\": { readonly type: \"keyword\"; readonly index: false; }; readonly \"kibana.alert.rule.rule_type_id\": { readonly type: \"keyword\"; readonly required: true; }; readonly \"kibana.alert.rule.consumer\": { readonly type: \"keyword\"; readonly required: true; }; readonly \"kibana.alert.rule.producer\": { readonly type: \"keyword\"; readonly required: true; }; readonly \"kibana.space_ids\": { readonly type: \"keyword\"; readonly array: true; readonly required: true; }; readonly \"kibana.alert.uuid\": { readonly type: \"keyword\"; readonly required: true; }; readonly \"kibana.alert.instance.id\": { readonly type: \"keyword\"; readonly required: true; }; readonly \"kibana.alert.start\": { readonly type: \"date\"; }; readonly \"kibana.alert.end\": { readonly type: \"date\"; }; readonly \"kibana.alert.duration.us\": { readonly type: \"long\"; }; readonly \"kibana.alert.severity\": { readonly type: \"keyword\"; }; readonly \"kibana.alert.status\": { readonly type: \"keyword\"; readonly required: true; }; readonly \"kibana.alert.evaluation.threshold\": { readonly type: \"scaled_float\"; readonly scaling_factor: 100; }; readonly \"kibana.alert.evaluation.value\": { readonly type: \"scaled_float\"; readonly scaling_factor: 100; }; readonly \"kibana.version\": { readonly type: \"version\"; readonly array: false; readonly required: false; }; readonly \"ecs.version\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.severity\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.risk_score\": { readonly type: \"float\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.workflow_status\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.workflow_user\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.workflow_reason\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.system_status\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.action_group\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.reason\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.author\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.category\": { readonly type: \"keyword\"; readonly array: false; readonly required: true; }; readonly \"kibana.alert.rule.uuid\": { readonly type: \"keyword\"; readonly array: false; readonly required: true; }; readonly \"kibana.alert.rule.created_at\": { readonly type: \"date\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.created_by\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.description\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.enabled\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.from\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.interval\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.license\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.name\": { readonly type: \"keyword\"; readonly array: false; readonly required: true; }; readonly \"kibana.alert.rule.note\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.references\": { readonly type: \"keyword\"; readonly array: true; readonly required: false; }; readonly \"kibana.alert.rule.risk_score_mapping\": { readonly type: \"object\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.rule_id\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.rule_name_override\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.severity_mapping\": { readonly type: \"object\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.tags\": { readonly type: \"keyword\"; readonly array: true; readonly required: false; }; readonly \"kibana.alert.rule.to\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.type\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.updated_at\": { readonly type: \"date\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.updated_by\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.version\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly tags: { readonly type: \"keyword\"; readonly array: true; readonly required: false; }; readonly '@timestamp': { readonly type: \"date\"; readonly array: false; readonly required: true; }; readonly 'event.kind': { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly 'event.action': { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; }, \"tags\" | \"event.kind\" | \"ecs.version\" | \"event.action\" | \"kibana.alert.action_group\" | \"kibana.alert.duration.us\" | \"kibana.alert.end\" | \"kibana.alert.evaluation.threshold\" | \"kibana.alert.evaluation.value\" | \"kibana.alert.reason\" | \"kibana.alert.rule.author\" | \"kibana.alert.rule.created_at\" | \"kibana.alert.rule.created_by\" | \"kibana.alert.rule.description\" | \"kibana.alert.rule.enabled\" | \"kibana.alert.rule.from\" | \"kibana.alert.rule.interval\" | \"kibana.alert.rule.license\" | \"kibana.alert.rule.note\" | \"kibana.alert.rule.params\" | \"kibana.alert.rule.references\" | \"kibana.alert.rule.risk_score\" | \"kibana.alert.rule.risk_score_mapping\" | \"kibana.alert.rule.rule_id\" | \"kibana.alert.rule.rule_name_override\" | \"kibana.alert.rule.severity\" | \"kibana.alert.rule.severity_mapping\" | \"kibana.alert.rule.tags\" | \"kibana.alert.rule.to\" | \"kibana.alert.rule.type\" | \"kibana.alert.rule.updated_at\" | \"kibana.alert.rule.updated_by\" | \"kibana.alert.rule.version\" | \"kibana.alert.start\" | \"kibana.alert.severity\" | \"kibana.alert.system_status\" | \"kibana.alert.workflow_reason\" | \"kibana.alert.workflow_status\" | \"kibana.alert.workflow_user\" | \"kibana.version\">> & Record; formatters: { asDuration: (value: number | null | undefined, { defaultValue, extended }?: FormatterOptions) => string; asPercent: (numerator: number | null | undefined, denominator: number | undefined, fallbackResult?: string) => string; }; }" + "<{ readonly \"kibana.alert.rule.params\": { readonly type: \"keyword\"; readonly index: false; }; readonly \"kibana.alert.rule.rule_type_id\": { readonly type: \"keyword\"; readonly required: true; }; readonly \"kibana.alert.rule.consumer\": { readonly type: \"keyword\"; readonly required: true; }; readonly \"kibana.alert.rule.producer\": { readonly type: \"keyword\"; readonly required: true; }; readonly \"kibana.space_ids\": { readonly type: \"keyword\"; readonly array: true; readonly required: true; }; readonly \"kibana.alert.uuid\": { readonly type: \"keyword\"; readonly required: true; }; readonly \"kibana.alert.instance.id\": { readonly type: \"keyword\"; readonly required: true; }; readonly \"kibana.alert.start\": { readonly type: \"date\"; }; readonly \"kibana.alert.end\": { readonly type: \"date\"; }; readonly \"kibana.alert.duration.us\": { readonly type: \"long\"; }; readonly \"kibana.alert.severity\": { readonly type: \"keyword\"; }; readonly \"kibana.alert.status\": { readonly type: \"keyword\"; readonly required: true; }; readonly \"kibana.alert.evaluation.threshold\": { readonly type: \"scaled_float\"; readonly scaling_factor: 100; }; readonly \"kibana.alert.evaluation.value\": { readonly type: \"scaled_float\"; readonly scaling_factor: 100; }; readonly \"kibana.version\": { readonly type: \"version\"; readonly array: false; readonly required: false; }; readonly \"ecs.version\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.severity\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.risk_score\": { readonly type: \"float\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.risk_score\": { readonly type: \"float\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.workflow_status\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.workflow_user\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.workflow_reason\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.system_status\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.action_group\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.reason\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.author\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.category\": { readonly type: \"keyword\"; readonly array: false; readonly required: true; }; readonly \"kibana.alert.rule.uuid\": { readonly type: \"keyword\"; readonly array: false; readonly required: true; }; readonly \"kibana.alert.rule.created_at\": { readonly type: \"date\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.created_by\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.description\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.enabled\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.from\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.interval\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.license\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.name\": { readonly type: \"keyword\"; readonly array: false; readonly required: true; }; readonly \"kibana.alert.rule.note\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.references\": { readonly type: \"keyword\"; readonly array: true; readonly required: false; }; readonly \"kibana.alert.rule.risk_score_mapping\": { readonly type: \"object\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.rule_id\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.rule_name_override\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.severity_mapping\": { readonly type: \"object\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.tags\": { readonly type: \"keyword\"; readonly array: true; readonly required: false; }; readonly \"kibana.alert.rule.to\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.type\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.updated_at\": { readonly type: \"date\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.updated_by\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.version\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly tags: { readonly type: \"keyword\"; readonly array: true; readonly required: false; }; readonly '@timestamp': { readonly type: \"date\"; readonly array: false; readonly required: true; }; readonly 'event.kind': { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly 'event.action': { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; }, \"tags\" | \"event.kind\" | \"ecs.version\" | \"event.action\" | \"kibana.alert.action_group\" | \"kibana.alert.duration.us\" | \"kibana.alert.end\" | \"kibana.alert.evaluation.threshold\" | \"kibana.alert.evaluation.value\" | \"kibana.alert.reason\" | \"kibana.alert.risk_score\" | \"kibana.alert.rule.author\" | \"kibana.alert.rule.created_at\" | \"kibana.alert.rule.created_by\" | \"kibana.alert.rule.description\" | \"kibana.alert.rule.enabled\" | \"kibana.alert.rule.from\" | \"kibana.alert.rule.interval\" | \"kibana.alert.rule.license\" | \"kibana.alert.rule.note\" | \"kibana.alert.rule.params\" | \"kibana.alert.rule.references\" | \"kibana.alert.rule.risk_score\" | \"kibana.alert.rule.risk_score_mapping\" | \"kibana.alert.rule.rule_id\" | \"kibana.alert.rule.rule_name_override\" | \"kibana.alert.rule.severity\" | \"kibana.alert.rule.severity_mapping\" | \"kibana.alert.rule.tags\" | \"kibana.alert.rule.to\" | \"kibana.alert.rule.type\" | \"kibana.alert.rule.updated_at\" | \"kibana.alert.rule.updated_by\" | \"kibana.alert.rule.version\" | \"kibana.alert.start\" | \"kibana.alert.severity\" | \"kibana.alert.system_status\" | \"kibana.alert.workflow_reason\" | \"kibana.alert.workflow_status\" | \"kibana.alert.workflow_user\" | \"kibana.version\">> & Record; formatters: { asDuration: (value: number | null | undefined, { defaultValue, extended }?: FormatterOptions) => string; asPercent: (numerator: number | null | undefined, denominator: number | undefined, fallbackResult?: string) => string; }; }" ], "path": "x-pack/plugins/observability/public/rules/create_observability_rule_type_registry.ts", "deprecated": false @@ -3017,6 +3137,47 @@ } ], "misc": [ + { + "parentPluginId": "observability", + "id": "def-public.AddInspectorRequest", + "type": "Type", + "tags": [], + "label": "AddInspectorRequest", + "description": [], + "signature": [ + "(result: ", + "FetcherResult", + "<{ mainStatisticsData?: { _inspect?: ", + "InspectResponse", + " | undefined; } | undefined; _inspect?: ", + "InspectResponse", + " | undefined; }>) => void" + ], + "path": "x-pack/plugins/observability/public/context/inspector/inspector_context.tsx", + "deprecated": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "observability", + "id": "def-public.AddInspectorRequest.$1", + "type": "Object", + "tags": [], + "label": "result", + "description": [], + "signature": [ + "FetcherResult", + "<{ mainStatisticsData?: { _inspect?: ", + "InspectResponse", + " | undefined; } | undefined; _inspect?: ", + "InspectResponse", + " | undefined; }>" + ], + "path": "x-pack/plugins/observability/public/context/inspector/inspector_context.tsx", + "deprecated": false + } + ], + "initialIsOpen": false + }, { "parentPluginId": "observability", "id": "def-public.ALL_VALUES_SELECTED", @@ -3249,7 +3410,7 @@ "signature": [ "(options: { fields: OutputOf<", "Optional", - "<{ readonly \"kibana.alert.rule.params\": { readonly type: \"keyword\"; readonly index: false; }; readonly \"kibana.alert.rule.rule_type_id\": { readonly type: \"keyword\"; readonly required: true; }; readonly \"kibana.alert.rule.consumer\": { readonly type: \"keyword\"; readonly required: true; }; readonly \"kibana.alert.rule.producer\": { readonly type: \"keyword\"; readonly required: true; }; readonly \"kibana.space_ids\": { readonly type: \"keyword\"; readonly array: true; readonly required: true; }; readonly \"kibana.alert.uuid\": { readonly type: \"keyword\"; readonly required: true; }; readonly \"kibana.alert.instance.id\": { readonly type: \"keyword\"; readonly required: true; }; readonly \"kibana.alert.start\": { readonly type: \"date\"; }; readonly \"kibana.alert.end\": { readonly type: \"date\"; }; readonly \"kibana.alert.duration.us\": { readonly type: \"long\"; }; readonly \"kibana.alert.severity\": { readonly type: \"keyword\"; }; readonly \"kibana.alert.status\": { readonly type: \"keyword\"; readonly required: true; }; readonly \"kibana.alert.evaluation.threshold\": { readonly type: \"scaled_float\"; readonly scaling_factor: 100; }; readonly \"kibana.alert.evaluation.value\": { readonly type: \"scaled_float\"; readonly scaling_factor: 100; }; readonly \"kibana.version\": { readonly type: \"version\"; readonly array: false; readonly required: false; }; readonly \"ecs.version\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.severity\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.risk_score\": { readonly type: \"float\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.workflow_status\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.workflow_user\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.workflow_reason\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.system_status\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.action_group\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.reason\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.author\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.category\": { readonly type: \"keyword\"; readonly array: false; readonly required: true; }; readonly \"kibana.alert.rule.uuid\": { readonly type: \"keyword\"; readonly array: false; readonly required: true; }; readonly \"kibana.alert.rule.created_at\": { readonly type: \"date\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.created_by\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.description\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.enabled\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.from\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.interval\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.license\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.name\": { readonly type: \"keyword\"; readonly array: false; readonly required: true; }; readonly \"kibana.alert.rule.note\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.references\": { readonly type: \"keyword\"; readonly array: true; readonly required: false; }; readonly \"kibana.alert.rule.risk_score_mapping\": { readonly type: \"object\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.rule_id\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.rule_name_override\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.severity_mapping\": { readonly type: \"object\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.tags\": { readonly type: \"keyword\"; readonly array: true; readonly required: false; }; readonly \"kibana.alert.rule.to\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.type\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.updated_at\": { readonly type: \"date\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.updated_by\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.version\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly tags: { readonly type: \"keyword\"; readonly array: true; readonly required: false; }; readonly '@timestamp': { readonly type: \"date\"; readonly array: false; readonly required: true; }; readonly 'event.kind': { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly 'event.action': { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; }, \"tags\" | \"event.kind\" | \"ecs.version\" | \"event.action\" | \"kibana.alert.action_group\" | \"kibana.alert.duration.us\" | \"kibana.alert.end\" | \"kibana.alert.evaluation.threshold\" | \"kibana.alert.evaluation.value\" | \"kibana.alert.reason\" | \"kibana.alert.rule.author\" | \"kibana.alert.rule.created_at\" | \"kibana.alert.rule.created_by\" | \"kibana.alert.rule.description\" | \"kibana.alert.rule.enabled\" | \"kibana.alert.rule.from\" | \"kibana.alert.rule.interval\" | \"kibana.alert.rule.license\" | \"kibana.alert.rule.note\" | \"kibana.alert.rule.params\" | \"kibana.alert.rule.references\" | \"kibana.alert.rule.risk_score\" | \"kibana.alert.rule.risk_score_mapping\" | \"kibana.alert.rule.rule_id\" | \"kibana.alert.rule.rule_name_override\" | \"kibana.alert.rule.severity\" | \"kibana.alert.rule.severity_mapping\" | \"kibana.alert.rule.tags\" | \"kibana.alert.rule.to\" | \"kibana.alert.rule.type\" | \"kibana.alert.rule.updated_at\" | \"kibana.alert.rule.updated_by\" | \"kibana.alert.rule.version\" | \"kibana.alert.start\" | \"kibana.alert.severity\" | \"kibana.alert.system_status\" | \"kibana.alert.workflow_reason\" | \"kibana.alert.workflow_status\" | \"kibana.alert.workflow_user\" | \"kibana.version\">> & Record; formatters: { asDuration: (value: number | null | undefined, { defaultValue, extended }?: FormatterOptions) => string; asPercent: (numerator: number | null | undefined, denominator: number | undefined, fallbackResult?: string) => string; }; }) => { reason: string; link: string; }" + "<{ readonly \"kibana.alert.rule.params\": { readonly type: \"keyword\"; readonly index: false; }; readonly \"kibana.alert.rule.rule_type_id\": { readonly type: \"keyword\"; readonly required: true; }; readonly \"kibana.alert.rule.consumer\": { readonly type: \"keyword\"; readonly required: true; }; readonly \"kibana.alert.rule.producer\": { readonly type: \"keyword\"; readonly required: true; }; readonly \"kibana.space_ids\": { readonly type: \"keyword\"; readonly array: true; readonly required: true; }; readonly \"kibana.alert.uuid\": { readonly type: \"keyword\"; readonly required: true; }; readonly \"kibana.alert.instance.id\": { readonly type: \"keyword\"; readonly required: true; }; readonly \"kibana.alert.start\": { readonly type: \"date\"; }; readonly \"kibana.alert.end\": { readonly type: \"date\"; }; readonly \"kibana.alert.duration.us\": { readonly type: \"long\"; }; readonly \"kibana.alert.severity\": { readonly type: \"keyword\"; }; readonly \"kibana.alert.status\": { readonly type: \"keyword\"; readonly required: true; }; readonly \"kibana.alert.evaluation.threshold\": { readonly type: \"scaled_float\"; readonly scaling_factor: 100; }; readonly \"kibana.alert.evaluation.value\": { readonly type: \"scaled_float\"; readonly scaling_factor: 100; }; readonly \"kibana.version\": { readonly type: \"version\"; readonly array: false; readonly required: false; }; readonly \"ecs.version\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.severity\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.risk_score\": { readonly type: \"float\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.risk_score\": { readonly type: \"float\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.workflow_status\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.workflow_user\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.workflow_reason\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.system_status\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.action_group\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.reason\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.author\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.category\": { readonly type: \"keyword\"; readonly array: false; readonly required: true; }; readonly \"kibana.alert.rule.uuid\": { readonly type: \"keyword\"; readonly array: false; readonly required: true; }; readonly \"kibana.alert.rule.created_at\": { readonly type: \"date\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.created_by\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.description\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.enabled\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.from\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.interval\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.license\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.name\": { readonly type: \"keyword\"; readonly array: false; readonly required: true; }; readonly \"kibana.alert.rule.note\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.references\": { readonly type: \"keyword\"; readonly array: true; readonly required: false; }; readonly \"kibana.alert.rule.risk_score_mapping\": { readonly type: \"object\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.rule_id\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.rule_name_override\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.severity_mapping\": { readonly type: \"object\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.tags\": { readonly type: \"keyword\"; readonly array: true; readonly required: false; }; readonly \"kibana.alert.rule.to\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.type\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.updated_at\": { readonly type: \"date\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.updated_by\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.version\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly tags: { readonly type: \"keyword\"; readonly array: true; readonly required: false; }; readonly '@timestamp': { readonly type: \"date\"; readonly array: false; readonly required: true; }; readonly 'event.kind': { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly 'event.action': { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; }, \"tags\" | \"event.kind\" | \"ecs.version\" | \"event.action\" | \"kibana.alert.action_group\" | \"kibana.alert.duration.us\" | \"kibana.alert.end\" | \"kibana.alert.evaluation.threshold\" | \"kibana.alert.evaluation.value\" | \"kibana.alert.reason\" | \"kibana.alert.risk_score\" | \"kibana.alert.rule.author\" | \"kibana.alert.rule.created_at\" | \"kibana.alert.rule.created_by\" | \"kibana.alert.rule.description\" | \"kibana.alert.rule.enabled\" | \"kibana.alert.rule.from\" | \"kibana.alert.rule.interval\" | \"kibana.alert.rule.license\" | \"kibana.alert.rule.note\" | \"kibana.alert.rule.params\" | \"kibana.alert.rule.references\" | \"kibana.alert.rule.risk_score\" | \"kibana.alert.rule.risk_score_mapping\" | \"kibana.alert.rule.rule_id\" | \"kibana.alert.rule.rule_name_override\" | \"kibana.alert.rule.severity\" | \"kibana.alert.rule.severity_mapping\" | \"kibana.alert.rule.tags\" | \"kibana.alert.rule.to\" | \"kibana.alert.rule.type\" | \"kibana.alert.rule.updated_at\" | \"kibana.alert.rule.updated_by\" | \"kibana.alert.rule.version\" | \"kibana.alert.start\" | \"kibana.alert.severity\" | \"kibana.alert.system_status\" | \"kibana.alert.workflow_reason\" | \"kibana.alert.workflow_status\" | \"kibana.alert.workflow_user\" | \"kibana.version\">> & Record; formatters: { asDuration: (value: number | null | undefined, { defaultValue, extended }?: FormatterOptions) => string; asPercent: (numerator: number | null | undefined, denominator: number | undefined, fallbackResult?: string) => string; }; }) => { reason: string; link: string; }" ], "path": "x-pack/plugins/observability/public/rules/create_observability_rule_type_registry.ts", "deprecated": false, @@ -3265,7 +3426,7 @@ "signature": [ "{ fields: OutputOf<", "Optional", - "<{ readonly \"kibana.alert.rule.params\": { readonly type: \"keyword\"; readonly index: false; }; readonly \"kibana.alert.rule.rule_type_id\": { readonly type: \"keyword\"; readonly required: true; }; readonly \"kibana.alert.rule.consumer\": { readonly type: \"keyword\"; readonly required: true; }; readonly \"kibana.alert.rule.producer\": { readonly type: \"keyword\"; readonly required: true; }; readonly \"kibana.space_ids\": { readonly type: \"keyword\"; readonly array: true; readonly required: true; }; readonly \"kibana.alert.uuid\": { readonly type: \"keyword\"; readonly required: true; }; readonly \"kibana.alert.instance.id\": { readonly type: \"keyword\"; readonly required: true; }; readonly \"kibana.alert.start\": { readonly type: \"date\"; }; readonly \"kibana.alert.end\": { readonly type: \"date\"; }; readonly \"kibana.alert.duration.us\": { readonly type: \"long\"; }; readonly \"kibana.alert.severity\": { readonly type: \"keyword\"; }; readonly \"kibana.alert.status\": { readonly type: \"keyword\"; readonly required: true; }; readonly \"kibana.alert.evaluation.threshold\": { readonly type: \"scaled_float\"; readonly scaling_factor: 100; }; readonly \"kibana.alert.evaluation.value\": { readonly type: \"scaled_float\"; readonly scaling_factor: 100; }; readonly \"kibana.version\": { readonly type: \"version\"; readonly array: false; readonly required: false; }; readonly \"ecs.version\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.severity\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.risk_score\": { readonly type: \"float\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.workflow_status\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.workflow_user\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.workflow_reason\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.system_status\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.action_group\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.reason\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.author\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.category\": { readonly type: \"keyword\"; readonly array: false; readonly required: true; }; readonly \"kibana.alert.rule.uuid\": { readonly type: \"keyword\"; readonly array: false; readonly required: true; }; readonly \"kibana.alert.rule.created_at\": { readonly type: \"date\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.created_by\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.description\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.enabled\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.from\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.interval\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.license\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.name\": { readonly type: \"keyword\"; readonly array: false; readonly required: true; }; readonly \"kibana.alert.rule.note\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.references\": { readonly type: \"keyword\"; readonly array: true; readonly required: false; }; readonly \"kibana.alert.rule.risk_score_mapping\": { readonly type: \"object\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.rule_id\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.rule_name_override\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.severity_mapping\": { readonly type: \"object\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.tags\": { readonly type: \"keyword\"; readonly array: true; readonly required: false; }; readonly \"kibana.alert.rule.to\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.type\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.updated_at\": { readonly type: \"date\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.updated_by\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.version\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly tags: { readonly type: \"keyword\"; readonly array: true; readonly required: false; }; readonly '@timestamp': { readonly type: \"date\"; readonly array: false; readonly required: true; }; readonly 'event.kind': { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly 'event.action': { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; }, \"tags\" | \"event.kind\" | \"ecs.version\" | \"event.action\" | \"kibana.alert.action_group\" | \"kibana.alert.duration.us\" | \"kibana.alert.end\" | \"kibana.alert.evaluation.threshold\" | \"kibana.alert.evaluation.value\" | \"kibana.alert.reason\" | \"kibana.alert.rule.author\" | \"kibana.alert.rule.created_at\" | \"kibana.alert.rule.created_by\" | \"kibana.alert.rule.description\" | \"kibana.alert.rule.enabled\" | \"kibana.alert.rule.from\" | \"kibana.alert.rule.interval\" | \"kibana.alert.rule.license\" | \"kibana.alert.rule.note\" | \"kibana.alert.rule.params\" | \"kibana.alert.rule.references\" | \"kibana.alert.rule.risk_score\" | \"kibana.alert.rule.risk_score_mapping\" | \"kibana.alert.rule.rule_id\" | \"kibana.alert.rule.rule_name_override\" | \"kibana.alert.rule.severity\" | \"kibana.alert.rule.severity_mapping\" | \"kibana.alert.rule.tags\" | \"kibana.alert.rule.to\" | \"kibana.alert.rule.type\" | \"kibana.alert.rule.updated_at\" | \"kibana.alert.rule.updated_by\" | \"kibana.alert.rule.version\" | \"kibana.alert.start\" | \"kibana.alert.severity\" | \"kibana.alert.system_status\" | \"kibana.alert.workflow_reason\" | \"kibana.alert.workflow_status\" | \"kibana.alert.workflow_user\" | \"kibana.version\">> & Record; formatters: { asDuration: (value: number | null | undefined, { defaultValue, extended }?: FormatterOptions) => string; asPercent: (numerator: number | null | undefined, denominator: number | undefined, fallbackResult?: string) => string; }; }" + "<{ readonly \"kibana.alert.rule.params\": { readonly type: \"keyword\"; readonly index: false; }; readonly \"kibana.alert.rule.rule_type_id\": { readonly type: \"keyword\"; readonly required: true; }; readonly \"kibana.alert.rule.consumer\": { readonly type: \"keyword\"; readonly required: true; }; readonly \"kibana.alert.rule.producer\": { readonly type: \"keyword\"; readonly required: true; }; readonly \"kibana.space_ids\": { readonly type: \"keyword\"; readonly array: true; readonly required: true; }; readonly \"kibana.alert.uuid\": { readonly type: \"keyword\"; readonly required: true; }; readonly \"kibana.alert.instance.id\": { readonly type: \"keyword\"; readonly required: true; }; readonly \"kibana.alert.start\": { readonly type: \"date\"; }; readonly \"kibana.alert.end\": { readonly type: \"date\"; }; readonly \"kibana.alert.duration.us\": { readonly type: \"long\"; }; readonly \"kibana.alert.severity\": { readonly type: \"keyword\"; }; readonly \"kibana.alert.status\": { readonly type: \"keyword\"; readonly required: true; }; readonly \"kibana.alert.evaluation.threshold\": { readonly type: \"scaled_float\"; readonly scaling_factor: 100; }; readonly \"kibana.alert.evaluation.value\": { readonly type: \"scaled_float\"; readonly scaling_factor: 100; }; readonly \"kibana.version\": { readonly type: \"version\"; readonly array: false; readonly required: false; }; readonly \"ecs.version\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.severity\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.risk_score\": { readonly type: \"float\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.risk_score\": { readonly type: \"float\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.workflow_status\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.workflow_user\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.workflow_reason\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.system_status\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.action_group\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.reason\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.author\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.category\": { readonly type: \"keyword\"; readonly array: false; readonly required: true; }; readonly \"kibana.alert.rule.uuid\": { readonly type: \"keyword\"; readonly array: false; readonly required: true; }; readonly \"kibana.alert.rule.created_at\": { readonly type: \"date\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.created_by\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.description\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.enabled\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.from\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.interval\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.license\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.name\": { readonly type: \"keyword\"; readonly array: false; readonly required: true; }; readonly \"kibana.alert.rule.note\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.references\": { readonly type: \"keyword\"; readonly array: true; readonly required: false; }; readonly \"kibana.alert.rule.risk_score_mapping\": { readonly type: \"object\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.rule_id\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.rule_name_override\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.severity_mapping\": { readonly type: \"object\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.tags\": { readonly type: \"keyword\"; readonly array: true; readonly required: false; }; readonly \"kibana.alert.rule.to\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.type\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.updated_at\": { readonly type: \"date\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.updated_by\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.version\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly tags: { readonly type: \"keyword\"; readonly array: true; readonly required: false; }; readonly '@timestamp': { readonly type: \"date\"; readonly array: false; readonly required: true; }; readonly 'event.kind': { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly 'event.action': { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; }, \"tags\" | \"event.kind\" | \"ecs.version\" | \"event.action\" | \"kibana.alert.action_group\" | \"kibana.alert.duration.us\" | \"kibana.alert.end\" | \"kibana.alert.evaluation.threshold\" | \"kibana.alert.evaluation.value\" | \"kibana.alert.reason\" | \"kibana.alert.risk_score\" | \"kibana.alert.rule.author\" | \"kibana.alert.rule.created_at\" | \"kibana.alert.rule.created_by\" | \"kibana.alert.rule.description\" | \"kibana.alert.rule.enabled\" | \"kibana.alert.rule.from\" | \"kibana.alert.rule.interval\" | \"kibana.alert.rule.license\" | \"kibana.alert.rule.note\" | \"kibana.alert.rule.params\" | \"kibana.alert.rule.references\" | \"kibana.alert.rule.risk_score\" | \"kibana.alert.rule.risk_score_mapping\" | \"kibana.alert.rule.rule_id\" | \"kibana.alert.rule.rule_name_override\" | \"kibana.alert.rule.severity\" | \"kibana.alert.rule.severity_mapping\" | \"kibana.alert.rule.tags\" | \"kibana.alert.rule.to\" | \"kibana.alert.rule.type\" | \"kibana.alert.rule.updated_at\" | \"kibana.alert.rule.updated_by\" | \"kibana.alert.rule.version\" | \"kibana.alert.start\" | \"kibana.alert.severity\" | \"kibana.alert.system_status\" | \"kibana.alert.workflow_reason\" | \"kibana.alert.workflow_status\" | \"kibana.alert.workflow_user\" | \"kibana.version\">> & Record; formatters: { asDuration: (value: number | null | undefined, { defaultValue, extended }?: FormatterOptions) => string; asPercent: (numerator: number | null | undefined, denominator: number | undefined, fallbackResult?: string) => string; }; }" ], "path": "x-pack/plugins/observability/public/rules/create_observability_rule_type_registry.ts", "deprecated": false @@ -3499,16 +3660,10 @@ "label": "WrappedElasticsearchClientError", "description": [], "signature": [ - { - "pluginId": "observability", - "scope": "server", - "docId": "kibObservabilityPluginApi", - "section": "def-server.WrappedElasticsearchClientError", - "text": "WrappedElasticsearchClientError" - }, + "WrappedElasticsearchClientError", " extends Error" ], - "path": "x-pack/plugins/observability/server/utils/unwrap_es_response.ts", + "path": "x-pack/plugins/observability/common/utils/unwrap_es_response.ts", "deprecated": false, "children": [ { @@ -3521,7 +3676,7 @@ "signature": [ "ElasticsearchClientError" ], - "path": "x-pack/plugins/observability/server/utils/unwrap_es_response.ts", + "path": "x-pack/plugins/observability/common/utils/unwrap_es_response.ts", "deprecated": false }, { @@ -3534,7 +3689,7 @@ "signature": [ "any" ], - "path": "x-pack/plugins/observability/server/utils/unwrap_es_response.ts", + "path": "x-pack/plugins/observability/common/utils/unwrap_es_response.ts", "deprecated": false, "children": [ { @@ -3547,7 +3702,7 @@ "signature": [ "ElasticsearchClientError" ], - "path": "x-pack/plugins/observability/server/utils/unwrap_es_response.ts", + "path": "x-pack/plugins/observability/common/utils/unwrap_es_response.ts", "deprecated": false, "isRequired": true } @@ -3626,45 +3781,33 @@ "signature": [ "(", "MappingTypeMapping", - " & { all_field?: ", - "MappingAllField", - " | undefined; date_detection?: boolean | undefined; dynamic?: boolean | \"true\" | \"false\" | \"strict\" | \"runtime\" | undefined; dynamic_date_formats?: string[] | undefined; dynamic_templates?: Record | Record[] | undefined; field_names_field?: ", + ">[] | undefined; _field_names?: ", "MappingFieldNamesField", - " | undefined; index_field?: ", - "MappingIndexField", - " | undefined; meta?: Record | undefined; numeric_detection?: boolean | undefined; properties?: Record | undefined; numeric_detection?: boolean | undefined; properties?: Record | undefined; routing_field?: ", + "> | undefined; _routing?: ", "MappingRoutingField", - " | undefined; size_field?: ", - "MappingSizeField", - " | undefined; source_field?: ", + " | undefined; _source?: ", "MappingSourceField", " | undefined; runtime?: Record | undefined; }) | (Record & { all_field?: ", - "MappingAllField", - " | undefined; date_detection?: boolean | undefined; dynamic?: boolean | \"true\" | \"false\" | \"strict\" | \"runtime\" | undefined; dynamic_date_formats?: string[] | undefined; dynamic_templates?: Record & { date_detection?: boolean | undefined; dynamic?: boolean | \"true\" | \"false\" | \"strict\" | \"runtime\" | undefined; dynamic_date_formats?: string[] | undefined; dynamic_templates?: Record | Record[] | undefined; field_names_field?: ", + ">[] | undefined; _field_names?: ", "MappingFieldNamesField", - " | undefined; index_field?: ", - "MappingIndexField", - " | undefined; meta?: Record | undefined; numeric_detection?: boolean | undefined; properties?: Record | undefined; numeric_detection?: boolean | undefined; properties?: Record | undefined; routing_field?: ", + "> | undefined; _routing?: ", "MappingRoutingField", - " | undefined; size_field?: ", - "MappingSizeField", - " | undefined; source_field?: ", + " | undefined; _source?: ", "MappingSourceField", " | undefined; runtime?: Record & { transport: { request(params: ", + ", \"monitoring\" | \"security\" | \"create\" | \"name\" | \"index\" | \"delete\" | \"get\" | \"update\" | \"closePointInTime\" | \"search\" | \"transform\" | \"eql\" | \"helpers\" | \"asyncSearch\" | \"autoscaling\" | \"bulk\" | \"cat\" | \"ccr\" | \"clearScroll\" | \"cluster\" | \"count\" | \"danglingIndices\" | \"deleteByQuery\" | \"deleteByQueryRethrottle\" | \"deleteScript\" | \"enrich\" | \"exists\" | \"existsSource\" | \"explain\" | \"features\" | \"fieldCaps\" | \"fleet\" | \"getScript\" | \"getScriptContext\" | \"getScriptLanguages\" | \"getSource\" | \"graph\" | \"ilm\" | \"indices\" | \"info\" | \"ingest\" | \"knnSearch\" | \"license\" | \"logstash\" | \"mget\" | \"migration\" | \"ml\" | \"msearch\" | \"msearchTemplate\" | \"mtermvectors\" | \"nodes\" | \"openPointInTime\" | \"ping\" | \"putScript\" | \"rankEval\" | \"reindex\" | \"reindexRethrottle\" | \"renderSearchTemplate\" | \"rollup\" | \"scriptsPainlessExecute\" | \"scroll\" | \"searchMvt\" | \"searchShards\" | \"searchTemplate\" | \"searchableSnapshots\" | \"shutdown\" | \"slm\" | \"snapshot\" | \"sql\" | \"ssl\" | \"tasks\" | \"termsEnum\" | \"termvectors\" | \"textStructure\" | \"updateByQuery\" | \"updateByQueryRethrottle\" | \"watcher\" | \"xpack\"> & { transport: { request(params: ", "TransportRequestParams", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", unknown>>; }; }" + " | undefined): Promise<", + "TransportResult", + ">; }; }" ], "path": "x-pack/plugins/observability/server/utils/create_or_update_index.ts", "deprecated": false @@ -3732,13 +3873,7 @@ ], "signature": [ "({\n esError,\n esRequestParams,\n esRequestStatus,\n esResponse,\n kibanaRequest,\n operationName,\n startTime,\n}: { esError: ", - { - "pluginId": "observability", - "scope": "server", - "docId": "kibObservabilityPluginApi", - "section": "def-server.WrappedElasticsearchClientError", - "text": "WrappedElasticsearchClientError" - }, + "WrappedElasticsearchClientError", " | null; esRequestParams: Record; esRequestStatus: ", { "pluginId": "inspector", @@ -3764,7 +3899,7 @@ "text": "Request" } ], - "path": "x-pack/plugins/observability/server/utils/get_inspect_response.ts", + "path": "x-pack/plugins/observability/common/utils/get_inspect_response.ts", "deprecated": false, "children": [ { @@ -3774,7 +3909,7 @@ "tags": [], "label": "{\n esError,\n esRequestParams,\n esRequestStatus,\n esResponse,\n kibanaRequest,\n operationName,\n startTime,\n}", "description": [], - "path": "x-pack/plugins/observability/server/utils/get_inspect_response.ts", + "path": "x-pack/plugins/observability/common/utils/get_inspect_response.ts", "deprecated": false, "children": [ { @@ -3785,16 +3920,10 @@ "label": "esError", "description": [], "signature": [ - { - "pluginId": "observability", - "scope": "server", - "docId": "kibObservabilityPluginApi", - "section": "def-server.WrappedElasticsearchClientError", - "text": "WrappedElasticsearchClientError" - }, + "WrappedElasticsearchClientError", " | null" ], - "path": "x-pack/plugins/observability/server/utils/get_inspect_response.ts", + "path": "x-pack/plugins/observability/common/utils/get_inspect_response.ts", "deprecated": false }, { @@ -3807,7 +3936,7 @@ "signature": [ "{ [x: string]: any; }" ], - "path": "x-pack/plugins/observability/server/utils/get_inspect_response.ts", + "path": "x-pack/plugins/observability/common/utils/get_inspect_response.ts", "deprecated": false }, { @@ -3826,7 +3955,7 @@ "text": "RequestStatus" } ], - "path": "x-pack/plugins/observability/server/utils/get_inspect_response.ts", + "path": "x-pack/plugins/observability/common/utils/get_inspect_response.ts", "deprecated": false }, { @@ -3839,7 +3968,7 @@ "signature": [ "any" ], - "path": "x-pack/plugins/observability/server/utils/get_inspect_response.ts", + "path": "x-pack/plugins/observability/common/utils/get_inspect_response.ts", "deprecated": false }, { @@ -3859,7 +3988,7 @@ }, "" ], - "path": "x-pack/plugins/observability/server/utils/get_inspect_response.ts", + "path": "x-pack/plugins/observability/common/utils/get_inspect_response.ts", "deprecated": false }, { @@ -3869,7 +3998,7 @@ "tags": [], "label": "operationName", "description": [], - "path": "x-pack/plugins/observability/server/utils/get_inspect_response.ts", + "path": "x-pack/plugins/observability/common/utils/get_inspect_response.ts", "deprecated": false }, { @@ -3879,7 +4008,7 @@ "tags": [], "label": "startTime", "description": [], - "path": "x-pack/plugins/observability/server/utils/get_inspect_response.ts", + "path": "x-pack/plugins/observability/common/utils/get_inspect_response.ts", "deprecated": false } ] @@ -3994,7 +4123,7 @@ "PromiseType", "[\"body\"]>" ], - "path": "x-pack/plugins/observability/server/utils/unwrap_es_response.ts", + "path": "x-pack/plugins/observability/common/utils/unwrap_es_response.ts", "deprecated": false, "children": [ { @@ -4007,7 +4136,7 @@ "signature": [ "T" ], - "path": "x-pack/plugins/observability/server/utils/unwrap_es_response.ts", + "path": "x-pack/plugins/observability/common/utils/unwrap_es_response.ts", "deprecated": false, "isRequired": true } @@ -4094,8 +4223,8 @@ "pluginId": "ruleRegistry", "scope": "server", "docId": "kibRuleRegistryPluginApi", - "section": "def-server.RuleDataPluginService", - "text": "RuleDataPluginService" + "section": "def-server.IRuleDataService", + "text": "IRuleDataService" } ], "path": "x-pack/plugins/observability/server/routes/types.ts", @@ -4232,45 +4361,33 @@ "signature": [ "(", "MappingTypeMapping", - " & { all_field?: ", - "MappingAllField", - " | undefined; date_detection?: boolean | undefined; dynamic?: boolean | \"true\" | \"false\" | \"strict\" | \"runtime\" | undefined; dynamic_date_formats?: string[] | undefined; dynamic_templates?: Record | Record[] | undefined; field_names_field?: ", + ">[] | undefined; _field_names?: ", "MappingFieldNamesField", - " | undefined; index_field?: ", - "MappingIndexField", - " | undefined; meta?: Record | undefined; numeric_detection?: boolean | undefined; properties?: Record | undefined; numeric_detection?: boolean | undefined; properties?: Record | undefined; routing_field?: ", + "> | undefined; _routing?: ", "MappingRoutingField", - " | undefined; size_field?: ", - "MappingSizeField", - " | undefined; source_field?: ", + " | undefined; _source?: ", "MappingSourceField", " | undefined; runtime?: Record | undefined; }) | (Record & { all_field?: ", - "MappingAllField", - " | undefined; date_detection?: boolean | undefined; dynamic?: boolean | \"true\" | \"false\" | \"strict\" | \"runtime\" | undefined; dynamic_date_formats?: string[] | undefined; dynamic_templates?: Record & { date_detection?: boolean | undefined; dynamic?: boolean | \"true\" | \"false\" | \"strict\" | \"runtime\" | undefined; dynamic_date_formats?: string[] | undefined; dynamic_templates?: Record | Record[] | undefined; field_names_field?: ", + ">[] | undefined; _field_names?: ", "MappingFieldNamesField", - " | undefined; index_field?: ", - "MappingIndexField", - " | undefined; meta?: Record | undefined; numeric_detection?: boolean | undefined; properties?: Record | undefined; numeric_detection?: boolean | undefined; properties?: Record | undefined; routing_field?: ", + "> | undefined; _routing?: ", "MappingRoutingField", - " | undefined; size_field?: ", - "MappingSizeField", - " | undefined; source_field?: ", + " | undefined; _source?: ", "MappingSourceField", " | undefined; runtime?: Record public API | Number of teams | |--------------|----------|------------------------| -| 200 | 157 | 32 | +| 201 | 158 | 32 | ### Public API health stats | API Count | Any Count | Missing comments | Missing exports | |--------------|----------|-----------------|--------| -| 24503 | 264 | 19863 | 1594 | +| 24628 | 265 | 19978 | 1649 | ## Plugin Directory @@ -32,13 +32,13 @@ warning: This document is auto-generated and is meant to be viewed inside our ex | | [App Services](https://github.com/orgs/elastic/teams/kibana-app-services) | Considering using bfetch capabilities when fetching large amounts of data. This services supports batching HTTP requests and streaming responses back. | 76 | 1 | 67 | 2 | | | [Kibana Presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | Adds Canvas application to Kibana | 9 | 0 | 8 | 3 | | | [Security Solution Threat Hunting](https://github.com/orgs/elastic/teams/security-threat-hunting) | The Case management system in Kibana | 476 | 0 | 432 | 14 | -| | [Vis Editors](https://github.com/orgs/elastic/teams/kibana-vis-editors) | - | 285 | 4 | 253 | 3 | +| | [Vis Editors](https://github.com/orgs/elastic/teams/kibana-vis-editors) | - | 286 | 4 | 254 | 3 | | | [Kibana Core](https://github.com/orgs/elastic/teams/kibana-core) | - | 22 | 0 | 22 | 0 | | | [Stack Management](https://github.com/orgs/elastic/teams/kibana-stack-management) | - | 13 | 0 | 13 | 1 | -| | [Kibana Core](https://github.com/orgs/elastic/teams/kibana-core) | - | 2304 | 27 | 1023 | 29 | +| | [Kibana Core](https://github.com/orgs/elastic/teams/kibana-core) | - | 2304 | 27 | 1022 | 29 | | crossClusterReplication | [Stack Management](https://github.com/orgs/elastic/teams/kibana-stack-management) | - | 0 | 0 | 0 | 0 | | | [Fleet](https://github.com/orgs/elastic/teams/fleet) | Add custom data integrations so they can be displayed in the Fleet integrations app | 100 | 1 | 84 | 1 | -| | [Kibana Presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | Adds the Dashboard app to Kibana | 147 | 1 | 134 | 10 | +| | [Kibana Presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | Adds the Dashboard app to Kibana | 153 | 1 | 140 | 12 | | | [App Services](https://github.com/orgs/elastic/teams/kibana-app-services) | - | 51 | 0 | 50 | 0 | | | [App Services](https://github.com/orgs/elastic/teams/kibana-app-services) | Data services are useful for searching and querying data from Elasticsearch. Helpful utilities include: a re-usable react query bar, KQL autocomplete, async search, Data Views (Index Patterns) and field formatters. | 3238 | 40 | 2848 | 48 | | | [App Services](https://github.com/orgs/elastic/teams/kibana-app-services) | Enhanced data plugin. (See src/plugins/data.) Enhances the main data plugin with a search session management UI. Includes a reusable search session indicator component to use in other applications. Exposes routes for managing search sessions. Includes a service that monitors, updates, and cleans up search session saved objects. | 16 | 0 | 16 | 2 | @@ -65,7 +65,7 @@ warning: This document is auto-generated and is meant to be viewed inside our ex | | [Kibana Core](https://github.com/orgs/elastic/teams/kibana-core) | - | 216 | 0 | 98 | 2 | | | [App Services](https://github.com/orgs/elastic/teams/kibana-app-services) | Index pattern fields and ambiguous values formatters | 284 | 7 | 246 | 3 | | | [Machine Learning UI](https://github.com/orgs/elastic/teams/ml-ui) | The file upload plugin contains components and services for uploading a file, analyzing its data, and then importing the data into an Elasticsearch index. Supported file types include CSV, TSV, newline-delimited JSON and GeoJSON. | 129 | 4 | 129 | 1 | -| | [Fleet](https://github.com/orgs/elastic/teams/fleet) | - | 1225 | 15 | 1122 | 10 | +| | [Fleet](https://github.com/orgs/elastic/teams/fleet) | - | 1223 | 15 | 1121 | 10 | | | [Kibana Core](https://github.com/orgs/elastic/teams/kibana-core) | - | 68 | 0 | 14 | 5 | | globalSearchBar | [Kibana Core](https://github.com/orgs/elastic/teams/kibana-core) | - | 0 | 0 | 0 | 0 | | globalSearchProviders | [Kibana Core](https://github.com/orgs/elastic/teams/kibana-core) | - | 0 | 0 | 0 | 0 | @@ -81,20 +81,20 @@ warning: This document is auto-generated and is meant to be viewed inside our ex | ingestPipelines | [Stack Management](https://github.com/orgs/elastic/teams/kibana-stack-management) | - | 0 | 0 | 0 | 0 | | inputControlVis | [Kibana Presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | Adds Input Control visualization to Kibana | 0 | 0 | 0 | 0 | | | [App Services](https://github.com/orgs/elastic/teams/kibana-app-services) | - | 123 | 6 | 96 | 4 | -| | [Platform Security](https://github.com/orgs/elastic/teams/kibana-security) | This plugin provides UI and APIs for the interactive setup mode. | 26 | 0 | 16 | 0 | +| | [Platform Security](https://github.com/orgs/elastic/teams/kibana-security) | This plugin provides UI and APIs for the interactive setup mode. | 27 | 0 | 17 | 0 | | | [Vis Editors](https://github.com/orgs/elastic/teams/kibana-vis-editors) | - | 12 | 0 | 9 | 0 | | | [Kibana Core](https://github.com/orgs/elastic/teams/kibana-core) | - | 6 | 0 | 6 | 0 | | | [App Services](https://github.com/orgs/elastic/teams/kibana-app-services) | - | 282 | 2 | 245 | 5 | | kibanaUsageCollection | [Kibana Telemtry](https://github.com/orgs/elastic/teams/kibana-telemetry) | - | 0 | 0 | 0 | 0 | -| | [App Services](https://github.com/orgs/elastic/teams/kibana-app-services) | - | 607 | 3 | 414 | 8 | -| | [Vis Editors](https://github.com/orgs/elastic/teams/kibana-vis-editors) | 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. | 253 | 0 | 235 | 24 | +| | [App Services](https://github.com/orgs/elastic/teams/kibana-app-services) | - | 615 | 3 | 420 | 8 | +| | [Vis Editors](https://github.com/orgs/elastic/teams/kibana-vis-editors) | 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. | 254 | 0 | 236 | 24 | | | [Stack Management](https://github.com/orgs/elastic/teams/kibana-stack-management) | - | 8 | 0 | 8 | 0 | | | [Stack Management](https://github.com/orgs/elastic/teams/kibana-stack-management) | - | 3 | 0 | 3 | 0 | | | [Kibana Core](https://github.com/orgs/elastic/teams/kibana-core) | - | 117 | 0 | 42 | 8 | | | [Security detections response](https://github.com/orgs/elastic/teams/security-detections-response) | - | 155 | 0 | 148 | 39 | | logstash | [Logstash](https://github.com/orgs/elastic/teams/logstash) | - | 0 | 0 | 0 | 0 | | | [Vis Editors](https://github.com/orgs/elastic/teams/kibana-vis-editors) | - | 40 | 0 | 40 | 5 | -| | [GIS](https://github.com/orgs/elastic/teams/kibana-gis) | - | 202 | 0 | 201 | 29 | +| | [GIS](https://github.com/orgs/elastic/teams/kibana-gis) | - | 203 | 0 | 202 | 29 | | | [GIS](https://github.com/orgs/elastic/teams/kibana-gis) | - | 64 | 1 | 64 | 0 | | | [Security solution](https://github.com/orgs/elastic/teams/security-solution) | - | 9 | 0 | 6 | 1 | | | [Machine Learning UI](https://github.com/orgs/elastic/teams/ml-ui) | This plugin provides access to the machine learning features provided by Elastic. | 282 | 10 | 278 | 33 | @@ -104,11 +104,11 @@ warning: This document is auto-generated and is meant to be viewed inside our ex | | [Observability UI](https://github.com/orgs/elastic/teams/observability-ui) | - | 268 | 1 | 267 | 15 | | | [Security asset management](https://github.com/orgs/elastic/teams/security-asset-management) | - | 10 | 0 | 10 | 0 | | painlessLab | [Stack Management](https://github.com/orgs/elastic/teams/kibana-stack-management) | - | 0 | 0 | 0 | 0 | -| | [Kibana Presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | The Presentation Utility Plugin is a set of common, shared components and toolkits for solutions within the Presentation space, (e.g. Dashboards, Canvas). | 178 | 3 | 151 | 6 | +| | [Kibana Presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | The Presentation Utility Plugin is a set of common, shared components and toolkits for solutions within the Presentation space, (e.g. Dashboards, Canvas). | 262 | 4 | 234 | 12 | | | [Stack Management](https://github.com/orgs/elastic/teams/kibana-stack-management) | - | 4 | 0 | 4 | 0 | | | [Kibana Reporting Services](https://github.com/orgs/elastic/teams/kibana-reporting-services) | Reporting Services enables applications to feature reports that the user can automate with Watcher and download later. | 137 | 0 | 136 | 12 | | | [Stack Management](https://github.com/orgs/elastic/teams/kibana-stack-management) | - | 21 | 0 | 21 | 0 | -| | [RAC](https://github.com/orgs/elastic/teams/rac) | - | 151 | 0 | 128 | 7 | +| | [RAC](https://github.com/orgs/elastic/teams/rac) | - | 153 | 0 | 127 | 7 | | | [App Services](https://github.com/orgs/elastic/teams/kibana-app-services) | - | 24 | 0 | 19 | 2 | | | [Kibana Core](https://github.com/orgs/elastic/teams/kibana-core) | - | 221 | 3 | 207 | 4 | | | [Kibana Core](https://github.com/orgs/elastic/teams/kibana-core) | - | 103 | 0 | 90 | 0 | @@ -116,7 +116,7 @@ warning: This document is auto-generated and is meant to be viewed inside our ex | | [Kibana Core](https://github.com/orgs/elastic/teams/kibana-core) | - | 90 | 3 | 51 | 0 | | | [App Services](https://github.com/orgs/elastic/teams/kibana-app-services) | - | 22 | 0 | 17 | 1 | | searchprofiler | [Stack Management](https://github.com/orgs/elastic/teams/kibana-stack-management) | - | 0 | 0 | 0 | 0 | -| | [Platform Security](https://github.com/orgs/elastic/teams/kibana-security) | This plugin provides authentication and authorization features, and exposes functionality to understand the capabilities of the currently authenticated user. | 116 | 0 | 54 | 8 | +| | [Platform Security](https://github.com/orgs/elastic/teams/kibana-security) | This plugin provides authentication and authorization features, and exposes functionality to understand the capabilities of the currently authenticated user. | 108 | 0 | 47 | 8 | | | [Security solution](https://github.com/orgs/elastic/teams/security-solution) | - | 1372 | 8 | 1318 | 33 | | | [App Services](https://github.com/orgs/elastic/teams/kibana-app-services) | Adds URL Service and sharing capabilities to Kibana | 143 | 1 | 90 | 10 | | | [Stack Management](https://github.com/orgs/elastic/teams/kibana-stack-management) | - | 23 | 1 | 23 | 1 | @@ -178,13 +178,13 @@ warning: This document is auto-generated and is meant to be viewed inside our ex | | [Owner missing] | - | 30 | 0 | 5 | 37 | | | [Owner missing] | - | 467 | 9 | 378 | 0 | | | [Owner missing] | - | 38 | 0 | 38 | 3 | -| | [Owner missing] | - | 44 | 0 | 44 | 9 | +| | [Owner missing] | - | 45 | 0 | 45 | 9 | | | [Owner missing] | - | 1 | 0 | 1 | 0 | | | [Owner missing] | Just some helpers for kibana plugin devs. | 1 | 0 | 1 | 0 | | | [Owner missing] | - | 63 | 0 | 49 | 5 | -| | [Owner missing] | - | 74 | 0 | 71 | 0 | +| | [Owner missing] | - | 75 | 0 | 72 | 0 | | | [Owner missing] | Security Solution auto complete | 47 | 1 | 34 | 0 | -| | [Owner missing] | security solution elastic search utilities to use across plugins such lists, security_solution, cases, etc... | 54 | 0 | 51 | 0 | +| | [Owner missing] | security solution elastic search utilities to use across plugins such lists, security_solution, cases, etc... | 57 | 0 | 51 | 0 | | | [Owner missing] | Security Solution utilities for React hooks | 8 | 0 | 1 | 1 | | | [Owner missing] | io ts utilities and types to be shared with plugins from the security solution project | 147 | 1 | 128 | 0 | | | [Owner missing] | io ts utilities and types to be shared with plugins from the security solution project | 419 | 1 | 410 | 0 | @@ -194,6 +194,7 @@ warning: This document is auto-generated and is meant to be viewed inside our ex | | [Owner missing] | security solution list constants to use across plugins such lists, security_solution, cases, etc... | 23 | 0 | 9 | 0 | | | [Owner missing] | Security solution list ReactJS hooks | 56 | 0 | 44 | 0 | | | [Owner missing] | security solution list utilities | 223 | 0 | 178 | 0 | +| | [Owner missing] | security solution rule utilities to use across plugins | 23 | 0 | 21 | 0 | | | [Owner missing] | security solution t-grid packages will allow sharing components between timelines and security_solution plugin until we transfer all functionality to timelines plugin | 120 | 0 | 116 | 0 | | | [Owner missing] | security solution utilities to use across plugins such lists, security_solution, cases, etc... | 6 | 0 | 4 | 0 | | | [Owner missing] | - | 53 | 0 | 50 | 1 | @@ -201,7 +202,7 @@ warning: This document is auto-generated and is meant to be viewed inside our ex | | [Owner missing] | - | 96 | 1 | 63 | 2 | | | [Owner missing] | - | 18 | 1 | 18 | 0 | | | [Owner missing] | - | 2 | 0 | 2 | 0 | -| | [Owner missing] | - | 200 | 5 | 177 | 9 | +| | [Owner missing] | - | 203 | 5 | 180 | 9 | | | [Owner missing] | - | 78 | 0 | 78 | 1 | | | [Owner missing] | - | 29 | 1 | 10 | 1 | | | [Owner missing] | - | 31 | 1 | 21 | 0 | diff --git a/api_docs/presentation_util.json b/api_docs/presentation_util.json index 50a4540b3af409..a68a7730706df7 100644 --- a/api_docs/presentation_util.json +++ b/api_docs/presentation_util.json @@ -2,6 +2,735 @@ "id": "presentationUtil", "client": { "classes": [ + { + "parentPluginId": "presentationUtil", + "id": "def-public.ControlGroupContainer", + "type": "Class", + "tags": [], + "label": "ControlGroupContainer", + "description": [], + "signature": [ + { + "pluginId": "presentationUtil", + "scope": "public", + "docId": "kibPresentationUtilPluginApi", + "section": "def-public.ControlGroupContainer", + "text": "ControlGroupContainer" + }, + " extends ", + { + "pluginId": "embeddable", + "scope": "public", + "docId": "kibEmbeddablePluginApi", + "section": "def-public.Container", + "text": "Container" + }, + "<", + "ControlInput", + ", ", + "ControlGroupInput", + ", ", + { + "pluginId": "presentationUtil", + "scope": "public", + "docId": "kibPresentationUtilPluginApi", + "section": "def-public.ControlGroupOutput", + "text": "ControlGroupOutput" + }, + ">" + ], + "path": "src/plugins/presentation_util/public/components/controls/control_group/embeddable/control_group_container.tsx", + "deprecated": false, + "children": [ + { + "parentPluginId": "presentationUtil", + "id": "def-public.ControlGroupContainer.type", + "type": "string", + "tags": [], + "label": "type", + "description": [], + "signature": [ + "\"control_group\"" + ], + "path": "src/plugins/presentation_util/public/components/controls/control_group/embeddable/control_group_container.tsx", + "deprecated": false + }, + { + "parentPluginId": "presentationUtil", + "id": "def-public.ControlGroupContainer.untilReady", + "type": "Function", + "tags": [], + "label": "untilReady", + "description": [], + "signature": [ + "() => Promise" + ], + "path": "src/plugins/presentation_util/public/components/controls/control_group/embeddable/control_group_container.tsx", + "deprecated": false, + "children": [], + "returnComment": [] + }, + { + "parentPluginId": "presentationUtil", + "id": "def-public.ControlGroupContainer.Unnamed", + "type": "Function", + "tags": [], + "label": "Constructor", + "description": [], + "signature": [ + "any" + ], + "path": "src/plugins/presentation_util/public/components/controls/control_group/embeddable/control_group_container.tsx", + "deprecated": false, + "children": [ + { + "parentPluginId": "presentationUtil", + "id": "def-public.ControlGroupContainer.Unnamed.$1", + "type": "Object", + "tags": [], + "label": "initialInput", + "description": [], + "signature": [ + "ControlGroupInput" + ], + "path": "src/plugins/presentation_util/public/components/controls/control_group/embeddable/control_group_container.tsx", + "deprecated": false, + "isRequired": true + }, + { + "parentPluginId": "presentationUtil", + "id": "def-public.ControlGroupContainer.Unnamed.$2", + "type": "Object", + "tags": [], + "label": "parent", + "description": [], + "signature": [ + { + "pluginId": "embeddable", + "scope": "public", + "docId": "kibEmbeddablePluginApi", + "section": "def-public.Container", + "text": "Container" + }, + "<{}, ", + { + "pluginId": "embeddable", + "scope": "public", + "docId": "kibEmbeddablePluginApi", + "section": "def-public.ContainerInput", + "text": "ContainerInput" + }, + "<{}>, ", + { + "pluginId": "embeddable", + "scope": "public", + "docId": "kibEmbeddablePluginApi", + "section": "def-public.ContainerOutput", + "text": "ContainerOutput" + }, + "> | undefined" + ], + "path": "src/plugins/presentation_util/public/components/controls/control_group/embeddable/control_group_container.tsx", + "deprecated": false, + "isRequired": false + } + ], + "returnComment": [] + }, + { + "parentPluginId": "presentationUtil", + "id": "def-public.ControlGroupContainer.createNewPanelState", + "type": "Function", + "tags": [], + "label": "createNewPanelState", + "description": [], + "signature": [ + "(factory: ", + { + "pluginId": "embeddable", + "scope": "public", + "docId": "kibEmbeddablePluginApi", + "section": "def-public.EmbeddableFactory", + "text": "EmbeddableFactory" + }, + "<", + "ControlInput", + ", ", + { + "pluginId": "presentationUtil", + "scope": "public", + "docId": "kibPresentationUtilPluginApi", + "section": "def-public.ControlOutput", + "text": "ControlOutput" + }, + ", ", + { + "pluginId": "presentationUtil", + "scope": "public", + "docId": "kibPresentationUtilPluginApi", + "section": "def-public.ControlEmbeddable", + "text": "ControlEmbeddable" + }, + "<", + "ControlInput", + ", ", + { + "pluginId": "presentationUtil", + "scope": "public", + "docId": "kibPresentationUtilPluginApi", + "section": "def-public.ControlOutput", + "text": "ControlOutput" + }, + ">, ", + "SavedObjectAttributes", + ">, partial?: Partial) => ", + "ControlPanelState", + "" + ], + "path": "src/plugins/presentation_util/public/components/controls/control_group/embeddable/control_group_container.tsx", + "deprecated": false, + "children": [ + { + "parentPluginId": "presentationUtil", + "id": "def-public.ControlGroupContainer.createNewPanelState.$1", + "type": "Object", + "tags": [], + "label": "factory", + "description": [], + "signature": [ + { + "pluginId": "embeddable", + "scope": "public", + "docId": "kibEmbeddablePluginApi", + "section": "def-public.EmbeddableFactory", + "text": "EmbeddableFactory" + }, + "<", + "ControlInput", + ", ", + { + "pluginId": "presentationUtil", + "scope": "public", + "docId": "kibPresentationUtilPluginApi", + "section": "def-public.ControlOutput", + "text": "ControlOutput" + }, + ", ", + { + "pluginId": "presentationUtil", + "scope": "public", + "docId": "kibPresentationUtilPluginApi", + "section": "def-public.ControlEmbeddable", + "text": "ControlEmbeddable" + }, + "<", + "ControlInput", + ", ", + { + "pluginId": "presentationUtil", + "scope": "public", + "docId": "kibPresentationUtilPluginApi", + "section": "def-public.ControlOutput", + "text": "ControlOutput" + }, + ">, ", + "SavedObjectAttributes", + ">" + ], + "path": "src/plugins/presentation_util/public/components/controls/control_group/embeddable/control_group_container.tsx", + "deprecated": false, + "isRequired": true + }, + { + "parentPluginId": "presentationUtil", + "id": "def-public.ControlGroupContainer.createNewPanelState.$2", + "type": "Object", + "tags": [], + "label": "partial", + "description": [], + "signature": [ + "Partial" + ], + "path": "src/plugins/presentation_util/public/components/controls/control_group/embeddable/control_group_container.tsx", + "deprecated": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "presentationUtil", + "id": "def-public.ControlGroupContainer.getInheritedInput", + "type": "Function", + "tags": [], + "label": "getInheritedInput", + "description": [], + "signature": [ + "(id: string) => ", + "ControlInput" + ], + "path": "src/plugins/presentation_util/public/components/controls/control_group/embeddable/control_group_container.tsx", + "deprecated": false, + "children": [ + { + "parentPluginId": "presentationUtil", + "id": "def-public.ControlGroupContainer.getInheritedInput.$1", + "type": "string", + "tags": [], + "label": "id", + "description": [], + "signature": [ + "string" + ], + "path": "src/plugins/presentation_util/public/components/controls/control_group/embeddable/control_group_container.tsx", + "deprecated": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "presentationUtil", + "id": "def-public.ControlGroupContainer.destroy", + "type": "Function", + "tags": [], + "label": "destroy", + "description": [], + "signature": [ + "() => void" + ], + "path": "src/plugins/presentation_util/public/components/controls/control_group/embeddable/control_group_container.tsx", + "deprecated": false, + "children": [], + "returnComment": [] + }, + { + "parentPluginId": "presentationUtil", + "id": "def-public.ControlGroupContainer.render", + "type": "Function", + "tags": [], + "label": "render", + "description": [], + "signature": [ + "(dom: HTMLElement) => void" + ], + "path": "src/plugins/presentation_util/public/components/controls/control_group/embeddable/control_group_container.tsx", + "deprecated": false, + "children": [ + { + "parentPluginId": "presentationUtil", + "id": "def-public.ControlGroupContainer.render.$1", + "type": "Object", + "tags": [], + "label": "dom", + "description": [], + "signature": [ + "HTMLElement" + ], + "path": "src/plugins/presentation_util/public/components/controls/control_group/embeddable/control_group_container.tsx", + "deprecated": false, + "isRequired": true + } + ], + "returnComment": [] + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "presentationUtil", + "id": "def-public.ControlGroupContainerFactory", + "type": "Class", + "tags": [], + "label": "ControlGroupContainerFactory", + "description": [], + "signature": [ + { + "pluginId": "presentationUtil", + "scope": "public", + "docId": "kibPresentationUtilPluginApi", + "section": "def-public.ControlGroupContainerFactory", + "text": "ControlGroupContainerFactory" + }, + " implements ", + { + "pluginId": "embeddable", + "scope": "public", + "docId": "kibEmbeddablePluginApi", + "section": "def-public.EmbeddableFactoryDefinition", + "text": "EmbeddableFactoryDefinition" + }, + "<", + { + "pluginId": "embeddable", + "scope": "common", + "docId": "kibEmbeddablePluginApi", + "section": "def-common.EmbeddableInput", + "text": "EmbeddableInput" + }, + ", ", + { + "pluginId": "embeddable", + "scope": "public", + "docId": "kibEmbeddablePluginApi", + "section": "def-public.EmbeddableOutput", + "text": "EmbeddableOutput" + }, + ", ", + { + "pluginId": "embeddable", + "scope": "public", + "docId": "kibEmbeddablePluginApi", + "section": "def-public.IEmbeddable", + "text": "IEmbeddable" + }, + "<", + { + "pluginId": "embeddable", + "scope": "common", + "docId": "kibEmbeddablePluginApi", + "section": "def-common.EmbeddableInput", + "text": "EmbeddableInput" + }, + ", ", + { + "pluginId": "embeddable", + "scope": "public", + "docId": "kibEmbeddablePluginApi", + "section": "def-public.EmbeddableOutput", + "text": "EmbeddableOutput" + }, + ">, ", + "SavedObjectAttributes", + ">" + ], + "path": "src/plugins/presentation_util/public/components/controls/control_group/embeddable/control_group_container_factory.ts", + "deprecated": false, + "children": [ + { + "parentPluginId": "presentationUtil", + "id": "def-public.ControlGroupContainerFactory.isContainerType", + "type": "boolean", + "tags": [], + "label": "isContainerType", + "description": [], + "signature": [ + "true" + ], + "path": "src/plugins/presentation_util/public/components/controls/control_group/embeddable/control_group_container_factory.ts", + "deprecated": false + }, + { + "parentPluginId": "presentationUtil", + "id": "def-public.ControlGroupContainerFactory.type", + "type": "string", + "tags": [], + "label": "type", + "description": [], + "signature": [ + "\"control_group\"" + ], + "path": "src/plugins/presentation_util/public/components/controls/control_group/embeddable/control_group_container_factory.ts", + "deprecated": false + }, + { + "parentPluginId": "presentationUtil", + "id": "def-public.ControlGroupContainerFactory.Unnamed", + "type": "Function", + "tags": [], + "label": "Constructor", + "description": [], + "signature": [ + "any" + ], + "path": "src/plugins/presentation_util/public/components/controls/control_group/embeddable/control_group_container_factory.ts", + "deprecated": false, + "children": [ + { + "parentPluginId": "presentationUtil", + "id": "def-public.ControlGroupContainerFactory.Unnamed.$1", + "type": "Object", + "tags": [], + "label": "persistableStateService", + "description": [], + "signature": [ + { + "pluginId": "embeddable", + "scope": "common", + "docId": "kibEmbeddablePluginApi", + "section": "def-common.EmbeddablePersistableStateService", + "text": "EmbeddablePersistableStateService" + } + ], + "path": "src/plugins/presentation_util/public/components/controls/control_group/embeddable/control_group_container_factory.ts", + "deprecated": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "presentationUtil", + "id": "def-public.ControlGroupContainerFactory.isEditable", + "type": "Function", + "tags": [], + "label": "isEditable", + "description": [], + "signature": [ + "() => Promise" + ], + "path": "src/plugins/presentation_util/public/components/controls/control_group/embeddable/control_group_container_factory.ts", + "deprecated": false, + "children": [], + "returnComment": [] + }, + { + "parentPluginId": "presentationUtil", + "id": "def-public.ControlGroupContainerFactory.getDisplayName", + "type": "Function", + "tags": [], + "label": "getDisplayName", + "description": [], + "signature": [ + "() => string" + ], + "path": "src/plugins/presentation_util/public/components/controls/control_group/embeddable/control_group_container_factory.ts", + "deprecated": false, + "children": [], + "returnComment": [] + }, + { + "parentPluginId": "presentationUtil", + "id": "def-public.ControlGroupContainerFactory.getDefaultInput", + "type": "Function", + "tags": [], + "label": "getDefaultInput", + "description": [], + "signature": [ + "() => Partial<", + "ControlGroupInput", + ">" + ], + "path": "src/plugins/presentation_util/public/components/controls/control_group/embeddable/control_group_container_factory.ts", + "deprecated": false, + "children": [], + "returnComment": [] + }, + { + "parentPluginId": "presentationUtil", + "id": "def-public.ControlGroupContainerFactory.create", + "type": "Function", + "tags": [], + "label": "create", + "description": [], + "signature": [ + "(initialInput: ", + "ControlGroupInput", + ", parent?: ", + { + "pluginId": "embeddable", + "scope": "public", + "docId": "kibEmbeddablePluginApi", + "section": "def-public.Container", + "text": "Container" + }, + "<{}, ", + { + "pluginId": "embeddable", + "scope": "public", + "docId": "kibEmbeddablePluginApi", + "section": "def-public.ContainerInput", + "text": "ContainerInput" + }, + "<{}>, ", + { + "pluginId": "embeddable", + "scope": "public", + "docId": "kibEmbeddablePluginApi", + "section": "def-public.ContainerOutput", + "text": "ContainerOutput" + }, + "> | undefined) => Promise<", + { + "pluginId": "presentationUtil", + "scope": "public", + "docId": "kibPresentationUtilPluginApi", + "section": "def-public.ControlGroupContainer", + "text": "ControlGroupContainer" + }, + ">" + ], + "path": "src/plugins/presentation_util/public/components/controls/control_group/embeddable/control_group_container_factory.ts", + "deprecated": false, + "children": [ + { + "parentPluginId": "presentationUtil", + "id": "def-public.ControlGroupContainerFactory.create.$1", + "type": "Object", + "tags": [], + "label": "initialInput", + "description": [], + "signature": [ + "ControlGroupInput" + ], + "path": "src/plugins/presentation_util/public/components/controls/control_group/embeddable/control_group_container_factory.ts", + "deprecated": false, + "isRequired": true + }, + { + "parentPluginId": "presentationUtil", + "id": "def-public.ControlGroupContainerFactory.create.$2", + "type": "Object", + "tags": [], + "label": "parent", + "description": [], + "signature": [ + { + "pluginId": "embeddable", + "scope": "public", + "docId": "kibEmbeddablePluginApi", + "section": "def-public.Container", + "text": "Container" + }, + "<{}, ", + { + "pluginId": "embeddable", + "scope": "public", + "docId": "kibEmbeddablePluginApi", + "section": "def-public.ContainerInput", + "text": "ContainerInput" + }, + "<{}>, ", + { + "pluginId": "embeddable", + "scope": "public", + "docId": "kibEmbeddablePluginApi", + "section": "def-public.ContainerOutput", + "text": "ContainerOutput" + }, + "> | undefined" + ], + "path": "src/plugins/presentation_util/public/components/controls/control_group/embeddable/control_group_container_factory.ts", + "deprecated": false, + "isRequired": false + } + ], + "returnComment": [] + }, + { + "parentPluginId": "presentationUtil", + "id": "def-public.ControlGroupContainerFactory.inject", + "type": "Function", + "tags": [], + "label": "inject", + "description": [], + "signature": [ + "(state: ", + { + "pluginId": "embeddable", + "scope": "common", + "docId": "kibEmbeddablePluginApi", + "section": "def-common.EmbeddableStateWithType", + "text": "EmbeddableStateWithType" + }, + ", references: ", + "SavedObjectReference", + "[]) => ", + { + "pluginId": "embeddable", + "scope": "common", + "docId": "kibEmbeddablePluginApi", + "section": "def-common.EmbeddableStateWithType", + "text": "EmbeddableStateWithType" + } + ], + "path": "src/plugins/presentation_util/public/components/controls/control_group/embeddable/control_group_container_factory.ts", + "deprecated": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "presentationUtil", + "id": "def-public.ControlGroupContainerFactory.inject.$1", + "type": "Uncategorized", + "tags": [], + "label": "state", + "description": [], + "signature": [ + "P" + ], + "path": "src/plugins/kibana_utils/common/persistable_state/types.ts", + "deprecated": false + }, + { + "parentPluginId": "presentationUtil", + "id": "def-public.ControlGroupContainerFactory.inject.$2", + "type": "Array", + "tags": [], + "label": "references", + "description": [], + "signature": [ + "SavedObjectReference", + "[]" + ], + "path": "src/plugins/kibana_utils/common/persistable_state/types.ts", + "deprecated": false + } + ] + }, + { + "parentPluginId": "presentationUtil", + "id": "def-public.ControlGroupContainerFactory.extract", + "type": "Function", + "tags": [], + "label": "extract", + "description": [], + "signature": [ + "(state: ", + { + "pluginId": "embeddable", + "scope": "common", + "docId": "kibEmbeddablePluginApi", + "section": "def-common.EmbeddableStateWithType", + "text": "EmbeddableStateWithType" + }, + ") => { state: ", + { + "pluginId": "embeddable", + "scope": "common", + "docId": "kibEmbeddablePluginApi", + "section": "def-common.EmbeddableStateWithType", + "text": "EmbeddableStateWithType" + }, + "; references: ", + "SavedObjectReference", + "[]; }" + ], + "path": "src/plugins/presentation_util/public/components/controls/control_group/embeddable/control_group_container_factory.ts", + "deprecated": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "presentationUtil", + "id": "def-public.ControlGroupContainerFactory.extract.$1", + "type": "Uncategorized", + "tags": [], + "label": "state", + "description": [], + "signature": [ + "P" + ], + "path": "src/plugins/kibana_utils/common/persistable_state/types.ts", + "deprecated": false + } + ] + } + ], + "initialIsOpen": false + }, { "parentPluginId": "presentationUtil", "id": "def-public.PluginServiceProvider", @@ -981,24 +1710,215 @@ "label": "PrimaryActionButton", "description": [], "signature": [ - "({ isDarkModeEnabled, ...props }: ", + "({ isDarkModeEnabled, ...props }: ", + "Props", + ") => JSX.Element" + ], + "path": "src/plugins/presentation_util/public/components/solution_toolbar/items/primary_button.tsx", + "deprecated": false, + "children": [ + { + "parentPluginId": "presentationUtil", + "id": "def-public.PrimaryActionButton.$1", + "type": "Object", + "tags": [], + "label": "{ isDarkModeEnabled, ...props }", + "description": [], + "signature": [ + "Props" + ], + "path": "src/plugins/presentation_util/public/components/solution_toolbar/items/primary_button.tsx", + "deprecated": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "presentationUtil", + "id": "def-public.PrimaryActionPopover", + "type": "Function", + "tags": [], + "label": "PrimaryActionPopover", + "description": [], + "signature": [ + "(props: Pick<", + "Props", + ", \"children\" | \"onClick\" | \"onChange\" | \"color\" | \"label\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\" | \"panelRef\" | \"data-test-subj\" | \"display\" | \"offset\" | \"iconType\" | \"iconSide\" | \"buttonRef\" | \"hasArrow\" | \"isDarkModeEnabled\" | \"anchorClassName\" | \"attachToAnchor\" | \"container\" | \"focusTrapProps\" | \"initialFocus\" | \"insert\" | \"ownFocus\" | \"panelClassName\" | \"panelPaddingSize\" | \"panelStyle\" | \"panelProps\" | \"popoverRef\" | \"repositionOnScroll\" | \"zIndex\" | \"onTrapDeactivation\" | \"buffer\" | \"arrowChildren\">) => JSX.Element" + ], + "path": "src/plugins/presentation_util/public/components/solution_toolbar/items/primary_popover.tsx", + "deprecated": false, + "children": [ + { + "parentPluginId": "presentationUtil", + "id": "def-public.PrimaryActionPopover.$1", + "type": "Object", + "tags": [], + "label": "props", + "description": [], + "signature": [ + "Pick<", + "Props", + ", \"children\" | \"onClick\" | \"onChange\" | \"color\" | \"label\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\" | \"panelRef\" | \"data-test-subj\" | \"display\" | \"offset\" | \"iconType\" | \"iconSide\" | \"buttonRef\" | \"hasArrow\" | \"isDarkModeEnabled\" | \"anchorClassName\" | \"attachToAnchor\" | \"container\" | \"focusTrapProps\" | \"initialFocus\" | \"insert\" | \"ownFocus\" | \"panelClassName\" | \"panelPaddingSize\" | \"panelStyle\" | \"panelProps\" | \"popoverRef\" | \"repositionOnScroll\" | \"zIndex\" | \"onTrapDeactivation\" | \"buffer\" | \"arrowChildren\">" + ], + "path": "src/plugins/presentation_util/public/components/solution_toolbar/items/primary_popover.tsx", + "deprecated": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "presentationUtil", + "id": "def-public.QuickButtonGroup", + "type": "Function", + "tags": [], + "label": "QuickButtonGroup", + "description": [], + "signature": [ + "({ buttons }: ", + "Props", + ") => JSX.Element" + ], + "path": "src/plugins/presentation_util/public/components/solution_toolbar/items/quick_group.tsx", + "deprecated": false, + "children": [ + { + "parentPluginId": "presentationUtil", + "id": "def-public.QuickButtonGroup.$1", + "type": "Object", + "tags": [], + "label": "{ buttons }", + "description": [], + "signature": [ + "Props" + ], + "path": "src/plugins/presentation_util/public/components/solution_toolbar/items/quick_group.tsx", + "deprecated": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "presentationUtil", + "id": "def-public.resolveFromArgs", + "type": "Function", + "tags": [], + "label": "resolveFromArgs", + "description": [], + "signature": [ + "(args: any, defaultDataurl?: string | null) => string" + ], + "path": "src/plugins/presentation_util/common/lib/utils/resolve_dataurl.ts", + "deprecated": false, + "children": [ + { + "parentPluginId": "presentationUtil", + "id": "def-public.resolveFromArgs.$1", + "type": "Any", + "tags": [], + "label": "args", + "description": [], + "signature": [ + "any" + ], + "path": "src/plugins/presentation_util/common/lib/utils/resolve_dataurl.ts", + "deprecated": false, + "isRequired": true + }, + { + "parentPluginId": "presentationUtil", + "id": "def-public.resolveFromArgs.$2", + "type": "CompoundType", + "tags": [], + "label": "defaultDataurl", + "description": [], + "signature": [ + "string | null" + ], + "path": "src/plugins/presentation_util/common/lib/utils/resolve_dataurl.ts", + "deprecated": false, + "isRequired": false + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "presentationUtil", + "id": "def-public.resolveWithMissingImage", + "type": "Function", + "tags": [], + "label": "resolveWithMissingImage", + "description": [], + "signature": [ + "(img: string | null, alt?: string | null) => string | null" + ], + "path": "src/plugins/presentation_util/common/lib/utils/resolve_dataurl.ts", + "deprecated": false, + "children": [ + { + "parentPluginId": "presentationUtil", + "id": "def-public.resolveWithMissingImage.$1", + "type": "CompoundType", + "tags": [], + "label": "img", + "description": [], + "signature": [ + "string | null" + ], + "path": "src/plugins/presentation_util/common/lib/utils/resolve_dataurl.ts", + "deprecated": false, + "isRequired": false + }, + { + "parentPluginId": "presentationUtil", + "id": "def-public.resolveWithMissingImage.$2", + "type": "CompoundType", + "tags": [], + "label": "alt", + "description": [], + "signature": [ + "string | null" + ], + "path": "src/plugins/presentation_util/common/lib/utils/resolve_dataurl.ts", + "deprecated": false, + "isRequired": false + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "presentationUtil", + "id": "def-public.SolutionToolbar", + "type": "Function", + "tags": [], + "label": "SolutionToolbar", + "description": [], + "signature": [ + "({ isDarkModeEnabled, children }: ", "Props", ") => JSX.Element" ], - "path": "src/plugins/presentation_util/public/components/solution_toolbar/items/primary_button.tsx", + "path": "src/plugins/presentation_util/public/components/solution_toolbar/solution_toolbar.tsx", "deprecated": false, "children": [ { "parentPluginId": "presentationUtil", - "id": "def-public.PrimaryActionButton.$1", + "id": "def-public.SolutionToolbar.$1", "type": "Object", "tags": [], - "label": "{ isDarkModeEnabled, ...props }", + "label": "{ isDarkModeEnabled, children }", "description": [], "signature": [ "Props" ], - "path": "src/plugins/presentation_util/public/components/solution_toolbar/items/primary_button.tsx", + "path": "src/plugins/presentation_util/public/components/solution_toolbar/solution_toolbar.tsx", "deprecated": false, "isRequired": true } @@ -1008,32 +1928,30 @@ }, { "parentPluginId": "presentationUtil", - "id": "def-public.PrimaryActionPopover", + "id": "def-public.SolutionToolbarButton", "type": "Function", "tags": [], - "label": "PrimaryActionPopover", + "label": "SolutionToolbarButton", "description": [], "signature": [ - "(props: Pick<", + "({ label, primary, className, ...rest }: ", "Props", - ", \"children\" | \"onClick\" | \"onChange\" | \"color\" | \"label\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\" | \"panelRef\" | \"data-test-subj\" | \"display\" | \"offset\" | \"iconType\" | \"iconSide\" | \"buttonRef\" | \"hasArrow\" | \"isDarkModeEnabled\" | \"anchorClassName\" | \"attachToAnchor\" | \"container\" | \"focusTrapProps\" | \"initialFocus\" | \"insert\" | \"ownFocus\" | \"panelClassName\" | \"panelPaddingSize\" | \"panelStyle\" | \"panelProps\" | \"popoverRef\" | \"repositionOnScroll\" | \"zIndex\" | \"onTrapDeactivation\" | \"buffer\" | \"arrowChildren\">) => JSX.Element" + ") => JSX.Element" ], - "path": "src/plugins/presentation_util/public/components/solution_toolbar/items/primary_popover.tsx", + "path": "src/plugins/presentation_util/public/components/solution_toolbar/items/button.tsx", "deprecated": false, "children": [ { "parentPluginId": "presentationUtil", - "id": "def-public.PrimaryActionPopover.$1", + "id": "def-public.SolutionToolbarButton.$1", "type": "Object", "tags": [], - "label": "props", + "label": "{ label, primary, className, ...rest }", "description": [], "signature": [ - "Pick<", - "Props", - ", \"children\" | \"onClick\" | \"onChange\" | \"color\" | \"label\" | \"onKeyDown\" | \"id\" | \"title\" | \"security\" | \"defaultChecked\" | \"defaultValue\" | \"suppressContentEditableWarning\" | \"suppressHydrationWarning\" | \"accessKey\" | \"className\" | \"contentEditable\" | \"contextMenu\" | \"dir\" | \"draggable\" | \"hidden\" | \"lang\" | \"placeholder\" | \"slot\" | \"spellCheck\" | \"style\" | \"tabIndex\" | \"translate\" | \"radioGroup\" | \"role\" | \"about\" | \"datatype\" | \"inlist\" | \"prefix\" | \"property\" | \"resource\" | \"typeof\" | \"vocab\" | \"autoCapitalize\" | \"autoCorrect\" | \"autoSave\" | \"itemProp\" | \"itemScope\" | \"itemType\" | \"itemID\" | \"itemRef\" | \"results\" | \"unselectable\" | \"inputMode\" | \"is\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | \"aria-colindex\" | \"aria-colspan\" | \"aria-controls\" | \"aria-current\" | \"aria-describedby\" | \"aria-details\" | \"aria-disabled\" | \"aria-dropeffect\" | \"aria-errormessage\" | \"aria-expanded\" | \"aria-flowto\" | \"aria-grabbed\" | \"aria-haspopup\" | \"aria-hidden\" | \"aria-invalid\" | \"aria-keyshortcuts\" | \"aria-label\" | \"aria-labelledby\" | \"aria-level\" | \"aria-live\" | \"aria-modal\" | \"aria-multiline\" | \"aria-multiselectable\" | \"aria-orientation\" | \"aria-owns\" | \"aria-placeholder\" | \"aria-posinset\" | \"aria-pressed\" | \"aria-readonly\" | \"aria-relevant\" | \"aria-required\" | \"aria-roledescription\" | \"aria-rowcount\" | \"aria-rowindex\" | \"aria-rowspan\" | \"aria-selected\" | \"aria-setsize\" | \"aria-sort\" | \"aria-valuemax\" | \"aria-valuemin\" | \"aria-valuenow\" | \"aria-valuetext\" | \"dangerouslySetInnerHTML\" | \"onCopy\" | \"onCopyCapture\" | \"onCut\" | \"onCutCapture\" | \"onPaste\" | \"onPasteCapture\" | \"onCompositionEnd\" | \"onCompositionEndCapture\" | \"onCompositionStart\" | \"onCompositionStartCapture\" | \"onCompositionUpdate\" | \"onCompositionUpdateCapture\" | \"onFocus\" | \"onFocusCapture\" | \"onBlur\" | \"onBlurCapture\" | \"onChangeCapture\" | \"onBeforeInput\" | \"onBeforeInputCapture\" | \"onInput\" | \"onInputCapture\" | \"onReset\" | \"onResetCapture\" | \"onSubmit\" | \"onSubmitCapture\" | \"onInvalid\" | \"onInvalidCapture\" | \"onLoad\" | \"onLoadCapture\" | \"onError\" | \"onErrorCapture\" | \"onKeyDownCapture\" | \"onKeyPress\" | \"onKeyPressCapture\" | \"onKeyUp\" | \"onKeyUpCapture\" | \"onAbort\" | \"onAbortCapture\" | \"onCanPlay\" | \"onCanPlayCapture\" | \"onCanPlayThrough\" | \"onCanPlayThroughCapture\" | \"onDurationChange\" | \"onDurationChangeCapture\" | \"onEmptied\" | \"onEmptiedCapture\" | \"onEncrypted\" | \"onEncryptedCapture\" | \"onEnded\" | \"onEndedCapture\" | \"onLoadedData\" | \"onLoadedDataCapture\" | \"onLoadedMetadata\" | \"onLoadedMetadataCapture\" | \"onLoadStart\" | \"onLoadStartCapture\" | \"onPause\" | \"onPauseCapture\" | \"onPlay\" | \"onPlayCapture\" | \"onPlaying\" | \"onPlayingCapture\" | \"onProgress\" | \"onProgressCapture\" | \"onRateChange\" | \"onRateChangeCapture\" | \"onSeeked\" | \"onSeekedCapture\" | \"onSeeking\" | \"onSeekingCapture\" | \"onStalled\" | \"onStalledCapture\" | \"onSuspend\" | \"onSuspendCapture\" | \"onTimeUpdate\" | \"onTimeUpdateCapture\" | \"onVolumeChange\" | \"onVolumeChangeCapture\" | \"onWaiting\" | \"onWaitingCapture\" | \"onAuxClick\" | \"onAuxClickCapture\" | \"onClickCapture\" | \"onContextMenu\" | \"onContextMenuCapture\" | \"onDoubleClick\" | \"onDoubleClickCapture\" | \"onDrag\" | \"onDragCapture\" | \"onDragEnd\" | \"onDragEndCapture\" | \"onDragEnter\" | \"onDragEnterCapture\" | \"onDragExit\" | \"onDragExitCapture\" | \"onDragLeave\" | \"onDragLeaveCapture\" | \"onDragOver\" | \"onDragOverCapture\" | \"onDragStart\" | \"onDragStartCapture\" | \"onDrop\" | \"onDropCapture\" | \"onMouseDown\" | \"onMouseDownCapture\" | \"onMouseEnter\" | \"onMouseLeave\" | \"onMouseMove\" | \"onMouseMoveCapture\" | \"onMouseOut\" | \"onMouseOutCapture\" | \"onMouseOver\" | \"onMouseOverCapture\" | \"onMouseUp\" | \"onMouseUpCapture\" | \"onSelect\" | \"onSelectCapture\" | \"onTouchCancel\" | \"onTouchCancelCapture\" | \"onTouchEnd\" | \"onTouchEndCapture\" | \"onTouchMove\" | \"onTouchMoveCapture\" | \"onTouchStart\" | \"onTouchStartCapture\" | \"onPointerDown\" | \"onPointerDownCapture\" | \"onPointerMove\" | \"onPointerMoveCapture\" | \"onPointerUp\" | \"onPointerUpCapture\" | \"onPointerCancel\" | \"onPointerCancelCapture\" | \"onPointerEnter\" | \"onPointerEnterCapture\" | \"onPointerLeave\" | \"onPointerLeaveCapture\" | \"onPointerOver\" | \"onPointerOverCapture\" | \"onPointerOut\" | \"onPointerOutCapture\" | \"onGotPointerCapture\" | \"onGotPointerCaptureCapture\" | \"onLostPointerCapture\" | \"onLostPointerCaptureCapture\" | \"onScroll\" | \"onScrollCapture\" | \"onWheel\" | \"onWheelCapture\" | \"onAnimationStart\" | \"onAnimationStartCapture\" | \"onAnimationEnd\" | \"onAnimationEndCapture\" | \"onAnimationIteration\" | \"onAnimationIterationCapture\" | \"onTransitionEnd\" | \"onTransitionEndCapture\" | \"panelRef\" | \"data-test-subj\" | \"display\" | \"offset\" | \"iconType\" | \"iconSide\" | \"buttonRef\" | \"hasArrow\" | \"isDarkModeEnabled\" | \"anchorClassName\" | \"attachToAnchor\" | \"container\" | \"focusTrapProps\" | \"initialFocus\" | \"insert\" | \"ownFocus\" | \"panelClassName\" | \"panelPaddingSize\" | \"panelStyle\" | \"panelProps\" | \"popoverRef\" | \"repositionOnScroll\" | \"zIndex\" | \"onTrapDeactivation\" | \"buffer\" | \"arrowChildren\">" + "Props" ], - "path": "src/plugins/presentation_util/public/components/solution_toolbar/items/primary_popover.tsx", + "path": "src/plugins/presentation_util/public/components/solution_toolbar/items/button.tsx", "deprecated": false, "isRequired": true } @@ -1043,30 +1961,30 @@ }, { "parentPluginId": "presentationUtil", - "id": "def-public.QuickButtonGroup", + "id": "def-public.SolutionToolbarPopover", "type": "Function", "tags": [], - "label": "QuickButtonGroup", + "label": "SolutionToolbarPopover", "description": [], "signature": [ - "({ buttons }: ", + "({ label, iconType, primary, iconSide, children, ...popover }: ", "Props", ") => JSX.Element" ], - "path": "src/plugins/presentation_util/public/components/solution_toolbar/items/quick_group.tsx", + "path": "src/plugins/presentation_util/public/components/solution_toolbar/items/popover.tsx", "deprecated": false, "children": [ { "parentPluginId": "presentationUtil", - "id": "def-public.QuickButtonGroup.$1", - "type": "Object", + "id": "def-public.SolutionToolbarPopover.$1", + "type": "CompoundType", "tags": [], - "label": "{ buttons }", + "label": "{\n label,\n iconType,\n primary,\n iconSide,\n children,\n ...popover\n}", "description": [], "signature": [ "Props" ], - "path": "src/plugins/presentation_util/public/components/solution_toolbar/items/quick_group.tsx", + "path": "src/plugins/presentation_util/public/components/solution_toolbar/items/popover.tsx", "deprecated": false, "isRequired": true } @@ -1076,269 +1994,543 @@ }, { "parentPluginId": "presentationUtil", - "id": "def-public.resolveFromArgs", + "id": "def-public.useLabs", "type": "Function", "tags": [], - "label": "resolveFromArgs", + "label": "useLabs", "description": [], "signature": [ - "(args: any, defaultDataurl?: string | null) => string" + "() => ", + { + "pluginId": "presentationUtil", + "scope": "public", + "docId": "kibPresentationUtilPluginApi", + "section": "def-public.PresentationLabsService", + "text": "PresentationLabsService" + } ], - "path": "src/plugins/presentation_util/common/lib/utils/resolve_dataurl.ts", + "path": "src/plugins/presentation_util/public/index.ts", + "deprecated": false, + "children": [], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "presentationUtil", + "id": "def-public.withSuspense", + "type": "Function", + "tags": [], + "label": "withSuspense", + "description": [ + "\nA HOC which supplies React.Suspense with a fallback component, and a `EuiErrorBoundary` to contain errors." + ], + "signature": [ + "

(Component: React.ComponentType

, fallback?: React.ReactElement React.ReactElement React.Component)> | null) | (new (props: any) => React.Component)> | null) => React.ForwardRefExoticComponent & React.RefAttributes>" + ], + "path": "src/plugins/presentation_util/public/components/index.tsx", "deprecated": false, "children": [ { "parentPluginId": "presentationUtil", - "id": "def-public.resolveFromArgs.$1", - "type": "Any", + "id": "def-public.withSuspense.$1", + "type": "CompoundType", "tags": [], - "label": "args", - "description": [], + "label": "Component", + "description": [ + "A component deferred by `React.lazy`" + ], "signature": [ - "any" + "React.ComponentType

" ], - "path": "src/plugins/presentation_util/common/lib/utils/resolve_dataurl.ts", + "path": "src/plugins/presentation_util/public/components/index.tsx", "deprecated": false, "isRequired": true }, { "parentPluginId": "presentationUtil", - "id": "def-public.resolveFromArgs.$2", + "id": "def-public.withSuspense.$2", "type": "CompoundType", "tags": [], - "label": "defaultDataurl", - "description": [], + "label": "fallback", + "description": [ + "A fallback component to render while things load; default is `EuiLoadingSpinner`" + ], "signature": [ - "string | null" + "React.ReactElement React.ReactElement React.Component)> | null) | (new (props: any) => React.Component)> | null" ], - "path": "src/plugins/presentation_util/common/lib/utils/resolve_dataurl.ts", + "path": "src/plugins/presentation_util/public/components/index.tsx", "deprecated": false, "isRequired": false } ], "returnComment": [], "initialIsOpen": false - }, + } + ], + "interfaces": [ { "parentPluginId": "presentationUtil", - "id": "def-public.resolveWithMissingImage", - "type": "Function", + "id": "def-public.CommonControlOutput", + "type": "Interface", "tags": [], - "label": "resolveWithMissingImage", + "label": "CommonControlOutput", "description": [], - "signature": [ - "(img: string | null, alt?: string | null) => string | null" - ], - "path": "src/plugins/presentation_util/common/lib/utils/resolve_dataurl.ts", + "path": "src/plugins/presentation_util/public/components/controls/types.ts", "deprecated": false, "children": [ { "parentPluginId": "presentationUtil", - "id": "def-public.resolveWithMissingImage.$1", - "type": "CompoundType", + "id": "def-public.CommonControlOutput.filters", + "type": "Array", "tags": [], - "label": "img", + "label": "filters", "description": [], "signature": [ - "string | null" + { + "pluginId": "@kbn/es-query", + "scope": "common", + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.Filter", + "text": "Filter" + }, + "[] | undefined" ], - "path": "src/plugins/presentation_util/common/lib/utils/resolve_dataurl.ts", - "deprecated": false, - "isRequired": false + "path": "src/plugins/presentation_util/public/components/controls/types.ts", + "deprecated": false }, { "parentPluginId": "presentationUtil", - "id": "def-public.resolveWithMissingImage.$2", - "type": "CompoundType", + "id": "def-public.CommonControlOutput.dataViews", + "type": "Array", "tags": [], - "label": "alt", + "label": "dataViews", "description": [], "signature": [ - "string | null" + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataView", + "text": "DataView" + }, + "[] | undefined" ], - "path": "src/plugins/presentation_util/common/lib/utils/resolve_dataurl.ts", - "deprecated": false, - "isRequired": false + "path": "src/plugins/presentation_util/public/components/controls/types.ts", + "deprecated": false } ], - "returnComment": [], "initialIsOpen": false }, { "parentPluginId": "presentationUtil", - "id": "def-public.SolutionToolbar", - "type": "Function", + "id": "def-public.ControlEditorProps", + "type": "Interface", "tags": [], - "label": "SolutionToolbar", + "label": "ControlEditorProps", "description": [], "signature": [ - "({ isDarkModeEnabled, children }: ", - "Props", - ") => JSX.Element" + { + "pluginId": "presentationUtil", + "scope": "public", + "docId": "kibPresentationUtilPluginApi", + "section": "def-public.ControlEditorProps", + "text": "ControlEditorProps" + }, + "" ], - "path": "src/plugins/presentation_util/public/components/solution_toolbar/solution_toolbar.tsx", + "path": "src/plugins/presentation_util/public/components/controls/types.ts", "deprecated": false, "children": [ { "parentPluginId": "presentationUtil", - "id": "def-public.SolutionToolbar.$1", + "id": "def-public.ControlEditorProps.initialInput", "type": "Object", "tags": [], - "label": "{ isDarkModeEnabled, children }", + "label": "initialInput", "description": [], "signature": [ - "Props" + "Partial | undefined" ], - "path": "src/plugins/presentation_util/public/components/solution_toolbar/solution_toolbar.tsx", + "path": "src/plugins/presentation_util/public/components/controls/types.ts", + "deprecated": false + }, + { + "parentPluginId": "presentationUtil", + "id": "def-public.ControlEditorProps.onChange", + "type": "Function", + "tags": [], + "label": "onChange", + "description": [], + "signature": [ + "(partial: Partial) => void" + ], + "path": "src/plugins/presentation_util/public/components/controls/types.ts", "deprecated": false, - "isRequired": true + "children": [ + { + "parentPluginId": "presentationUtil", + "id": "def-public.ControlEditorProps.onChange.$1", + "type": "Object", + "tags": [], + "label": "partial", + "description": [], + "signature": [ + "Partial" + ], + "path": "src/plugins/presentation_util/public/components/controls/types.ts", + "deprecated": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "presentationUtil", + "id": "def-public.ControlEditorProps.setValidState", + "type": "Function", + "tags": [], + "label": "setValidState", + "description": [], + "signature": [ + "(valid: boolean) => void" + ], + "path": "src/plugins/presentation_util/public/components/controls/types.ts", + "deprecated": false, + "children": [ + { + "parentPluginId": "presentationUtil", + "id": "def-public.ControlEditorProps.setValidState.$1", + "type": "boolean", + "tags": [], + "label": "valid", + "description": [], + "signature": [ + "boolean" + ], + "path": "src/plugins/presentation_util/public/components/controls/types.ts", + "deprecated": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "presentationUtil", + "id": "def-public.ControlEditorProps.setDefaultTitle", + "type": "Function", + "tags": [], + "label": "setDefaultTitle", + "description": [], + "signature": [ + "(defaultTitle: string) => void" + ], + "path": "src/plugins/presentation_util/public/components/controls/types.ts", + "deprecated": false, + "children": [ + { + "parentPluginId": "presentationUtil", + "id": "def-public.ControlEditorProps.setDefaultTitle.$1", + "type": "string", + "tags": [], + "label": "defaultTitle", + "description": [], + "signature": [ + "string" + ], + "path": "src/plugins/presentation_util/public/components/controls/types.ts", + "deprecated": false, + "isRequired": true + } + ], + "returnComment": [] } ], - "returnComment": [], "initialIsOpen": false }, { "parentPluginId": "presentationUtil", - "id": "def-public.SolutionToolbarButton", - "type": "Function", + "id": "def-public.ControlGroupInput", + "type": "Interface", "tags": [], - "label": "SolutionToolbarButton", + "label": "ControlGroupInput", "description": [], "signature": [ - "({ label, primary, className, ...rest }: ", - "Props", - ") => JSX.Element" + "ControlGroupInput", + " extends ", + { + "pluginId": "embeddable", + "scope": "common", + "docId": "kibEmbeddablePluginApi", + "section": "def-common.EmbeddableInput", + "text": "EmbeddableInput" + }, + ",", + "ControlInput" ], - "path": "src/plugins/presentation_util/public/components/solution_toolbar/items/button.tsx", + "path": "src/plugins/presentation_util/common/controls/control_group/types.ts", "deprecated": false, "children": [ { "parentPluginId": "presentationUtil", - "id": "def-public.SolutionToolbarButton.$1", + "id": "def-public.ControlGroupInput.defaultControlWidth", + "type": "CompoundType", + "tags": [], + "label": "defaultControlWidth", + "description": [], + "signature": [ + "\"auto\" | \"small\" | \"medium\" | \"large\" | undefined" + ], + "path": "src/plugins/presentation_util/common/controls/control_group/types.ts", + "deprecated": false + }, + { + "parentPluginId": "presentationUtil", + "id": "def-public.ControlGroupInput.controlStyle", + "type": "CompoundType", + "tags": [], + "label": "controlStyle", + "description": [], + "signature": [ + "\"twoLine\" | \"oneLine\"" + ], + "path": "src/plugins/presentation_util/common/controls/control_group/types.ts", + "deprecated": false + }, + { + "parentPluginId": "presentationUtil", + "id": "def-public.ControlGroupInput.panels", "type": "Object", "tags": [], - "label": "{ label, primary, className, ...rest }", + "label": "panels", "description": [], "signature": [ - "Props" + "ControlsPanels" ], - "path": "src/plugins/presentation_util/public/components/solution_toolbar/items/button.tsx", - "deprecated": false, - "isRequired": true + "path": "src/plugins/presentation_util/common/controls/control_group/types.ts", + "deprecated": false } ], - "returnComment": [], "initialIsOpen": false }, { "parentPluginId": "presentationUtil", - "id": "def-public.SolutionToolbarPopover", - "type": "Function", + "id": "def-public.ControlPanelState", + "type": "Interface", "tags": [], - "label": "SolutionToolbarPopover", + "label": "ControlPanelState", "description": [], "signature": [ - "({ label, iconType, primary, iconSide, children, ...popover }: ", - "Props", - ") => JSX.Element" + "ControlPanelState", + " extends ", + { + "pluginId": "embeddable", + "scope": "common", + "docId": "kibEmbeddablePluginApi", + "section": "def-common.PanelState", + "text": "PanelState" + }, + "" ], - "path": "src/plugins/presentation_util/public/components/solution_toolbar/items/popover.tsx", + "path": "src/plugins/presentation_util/common/controls/control_group/types.ts", "deprecated": false, "children": [ { "parentPluginId": "presentationUtil", - "id": "def-public.SolutionToolbarPopover.$1", + "id": "def-public.ControlPanelState.order", + "type": "number", + "tags": [], + "label": "order", + "description": [], + "path": "src/plugins/presentation_util/common/controls/control_group/types.ts", + "deprecated": false + }, + { + "parentPluginId": "presentationUtil", + "id": "def-public.ControlPanelState.width", "type": "CompoundType", "tags": [], - "label": "{\n label,\n iconType,\n primary,\n iconSide,\n children,\n ...popover\n}", + "label": "width", "description": [], "signature": [ - "Props" + "\"auto\" | \"small\" | \"medium\" | \"large\"" ], - "path": "src/plugins/presentation_util/public/components/solution_toolbar/items/popover.tsx", - "deprecated": false, - "isRequired": true + "path": "src/plugins/presentation_util/common/controls/control_group/types.ts", + "deprecated": false } ], - "returnComment": [], "initialIsOpen": false }, { "parentPluginId": "presentationUtil", - "id": "def-public.useLabs", - "type": "Function", + "id": "def-public.ControlsPanels", + "type": "Interface", "tags": [], - "label": "useLabs", + "label": "ControlsPanels", "description": [], - "signature": [ - "() => ", + "path": "src/plugins/presentation_util/common/controls/control_group/types.ts", + "deprecated": false, + "children": [ { - "pluginId": "presentationUtil", - "scope": "public", - "docId": "kibPresentationUtilPluginApi", - "section": "def-public.PresentationLabsService", - "text": "PresentationLabsService" + "parentPluginId": "presentationUtil", + "id": "def-public.ControlsPanels.Unnamed", + "type": "Any", + "tags": [], + "label": "Unnamed", + "description": [], + "signature": [ + "any" + ], + "path": "src/plugins/presentation_util/common/controls/control_group/types.ts", + "deprecated": false } ], - "path": "src/plugins/presentation_util/public/index.ts", - "deprecated": false, - "children": [], - "returnComment": [], "initialIsOpen": false }, { "parentPluginId": "presentationUtil", - "id": "def-public.withSuspense", - "type": "Function", + "id": "def-public.IEditableControlFactory", + "type": "Interface", "tags": [], - "label": "withSuspense", + "label": "IEditableControlFactory", "description": [ - "\nA HOC which supplies React.Suspense with a fallback component, and a `EuiErrorBoundary` to contain errors." + "\nControl embeddable editor types" ], "signature": [ - "

(Component: React.ComponentType

, fallback?: React.ReactElement React.ReactElement React.Component)> | null) | (new (props: any) => React.Component)> | null) => React.ForwardRefExoticComponent & React.RefAttributes>" + { + "pluginId": "presentationUtil", + "scope": "public", + "docId": "kibPresentationUtilPluginApi", + "section": "def-public.IEditableControlFactory", + "text": "IEditableControlFactory" + }, + "" ], - "path": "src/plugins/presentation_util/public/components/index.tsx", + "path": "src/plugins/presentation_util/public/components/controls/types.ts", "deprecated": false, "children": [ { "parentPluginId": "presentationUtil", - "id": "def-public.withSuspense.$1", - "type": "CompoundType", + "id": "def-public.IEditableControlFactory.controlEditorComponent", + "type": "Function", "tags": [], - "label": "Component", - "description": [ - "A component deferred by `React.lazy`" - ], + "label": "controlEditorComponent", + "description": [], "signature": [ - "React.ComponentType

" + "((props: ", + { + "pluginId": "presentationUtil", + "scope": "public", + "docId": "kibPresentationUtilPluginApi", + "section": "def-public.ControlEditorProps", + "text": "ControlEditorProps" + }, + ") => JSX.Element) | undefined" ], - "path": "src/plugins/presentation_util/public/components/index.tsx", + "path": "src/plugins/presentation_util/public/components/controls/types.ts", "deprecated": false, - "isRequired": true + "children": [ + { + "parentPluginId": "presentationUtil", + "id": "def-public.IEditableControlFactory.controlEditorComponent.$1", + "type": "Object", + "tags": [], + "label": "props", + "description": [], + "signature": [ + { + "pluginId": "presentationUtil", + "scope": "public", + "docId": "kibPresentationUtilPluginApi", + "section": "def-public.ControlEditorProps", + "text": "ControlEditorProps" + }, + "" + ], + "path": "src/plugins/presentation_util/public/components/controls/types.ts", + "deprecated": false, + "isRequired": true + } + ], + "returnComment": [] }, { "parentPluginId": "presentationUtil", - "id": "def-public.withSuspense.$2", - "type": "CompoundType", + "id": "def-public.IEditableControlFactory.presaveTransformFunction", + "type": "Function", "tags": [], - "label": "fallback", - "description": [ - "A fallback component to render while things load; default is `EuiLoadingSpinner`" - ], + "label": "presaveTransformFunction", + "description": [], "signature": [ - "React.ReactElement React.ReactElement React.Component)> | null) | (new (props: any) => React.Component)> | null" + "((newState: Partial, embeddable?: ", + { + "pluginId": "presentationUtil", + "scope": "public", + "docId": "kibPresentationUtilPluginApi", + "section": "def-public.ControlEmbeddable", + "text": "ControlEmbeddable" + }, + " | undefined) => Partial) | undefined" ], - "path": "src/plugins/presentation_util/public/components/index.tsx", + "path": "src/plugins/presentation_util/public/components/controls/types.ts", "deprecated": false, - "isRequired": false + "children": [ + { + "parentPluginId": "presentationUtil", + "id": "def-public.IEditableControlFactory.presaveTransformFunction.$1", + "type": "Object", + "tags": [], + "label": "newState", + "description": [], + "signature": [ + "Partial" + ], + "path": "src/plugins/presentation_util/public/components/controls/types.ts", + "deprecated": false, + "isRequired": true + }, + { + "parentPluginId": "presentationUtil", + "id": "def-public.IEditableControlFactory.presaveTransformFunction.$2", + "type": "Object", + "tags": [], + "label": "embeddable", + "description": [], + "signature": [ + { + "pluginId": "presentationUtil", + "scope": "public", + "docId": "kibPresentationUtilPluginApi", + "section": "def-public.ControlEmbeddable", + "text": "ControlEmbeddable" + }, + " | undefined" + ], + "path": "src/plugins/presentation_util/public/components/controls/types.ts", + "deprecated": false, + "isRequired": false + } + ], + "returnComment": [] } ], - "returnComment": [], "initialIsOpen": false - } - ], - "interfaces": [ + }, { "parentPluginId": "presentationUtil", "id": "def-public.KibanaPluginServiceParams", @@ -1438,6 +2630,135 @@ ], "initialIsOpen": false }, + { + "parentPluginId": "presentationUtil", + "id": "def-public.OptionsListEmbeddableInput", + "type": "Interface", + "tags": [], + "label": "OptionsListEmbeddableInput", + "description": [], + "signature": [ + "OptionsListEmbeddableInput", + " extends ", + "ControlInput" + ], + "path": "src/plugins/presentation_util/common/controls/control_types/options_list/types.ts", + "deprecated": false, + "children": [ + { + "parentPluginId": "presentationUtil", + "id": "def-public.OptionsListEmbeddableInput.fieldName", + "type": "string", + "tags": [], + "label": "fieldName", + "description": [], + "path": "src/plugins/presentation_util/common/controls/control_types/options_list/types.ts", + "deprecated": false + }, + { + "parentPluginId": "presentationUtil", + "id": "def-public.OptionsListEmbeddableInput.dataViewId", + "type": "string", + "tags": [], + "label": "dataViewId", + "description": [], + "path": "src/plugins/presentation_util/common/controls/control_types/options_list/types.ts", + "deprecated": false + }, + { + "parentPluginId": "presentationUtil", + "id": "def-public.OptionsListEmbeddableInput.selectedOptions", + "type": "Array", + "tags": [], + "label": "selectedOptions", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "src/plugins/presentation_util/common/controls/control_types/options_list/types.ts", + "deprecated": false + }, + { + "parentPluginId": "presentationUtil", + "id": "def-public.OptionsListEmbeddableInput.singleSelect", + "type": "CompoundType", + "tags": [], + "label": "singleSelect", + "description": [], + "signature": [ + "boolean | undefined" + ], + "path": "src/plugins/presentation_util/common/controls/control_types/options_list/types.ts", + "deprecated": false + }, + { + "parentPluginId": "presentationUtil", + "id": "def-public.OptionsListEmbeddableInput.loading", + "type": "CompoundType", + "tags": [], + "label": "loading", + "description": [], + "signature": [ + "boolean | undefined" + ], + "path": "src/plugins/presentation_util/common/controls/control_types/options_list/types.ts", + "deprecated": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "presentationUtil", + "id": "def-public.ParentIgnoreSettings", + "type": "Interface", + "tags": [], + "label": "ParentIgnoreSettings", + "description": [], + "path": "src/plugins/presentation_util/common/controls/types.ts", + "deprecated": false, + "children": [ + { + "parentPluginId": "presentationUtil", + "id": "def-public.ParentIgnoreSettings.ignoreFilters", + "type": "CompoundType", + "tags": [], + "label": "ignoreFilters", + "description": [], + "signature": [ + "boolean | undefined" + ], + "path": "src/plugins/presentation_util/common/controls/types.ts", + "deprecated": false + }, + { + "parentPluginId": "presentationUtil", + "id": "def-public.ParentIgnoreSettings.ignoreQuery", + "type": "CompoundType", + "tags": [], + "label": "ignoreQuery", + "description": [], + "signature": [ + "boolean | undefined" + ], + "path": "src/plugins/presentation_util/common/controls/types.ts", + "deprecated": false + }, + { + "parentPluginId": "presentationUtil", + "id": "def-public.ParentIgnoreSettings.ignoreTimerange", + "type": "CompoundType", + "tags": [], + "label": "ignoreTimerange", + "description": [], + "signature": [ + "boolean | undefined" + ], + "path": "src/plugins/presentation_util/common/controls/types.ts", + "deprecated": false + } + ], + "initialIsOpen": false + }, { "parentPluginId": "presentationUtil", "id": "def-public.PresentationCapabilitiesService", @@ -1636,7 +2957,7 @@ "label": "isProjectEnabled", "description": [], "signature": [ - "(id: \"labs:dashboard:deferBelowFold\") => boolean" + "(id: \"labs:dashboard:deferBelowFold\" | \"labs:dashboard:dashboardControls\") => boolean" ], "path": "src/plugins/presentation_util/public/services/labs.ts", "deprecated": false, @@ -1644,12 +2965,12 @@ { "parentPluginId": "presentationUtil", "id": "def-public.PresentationLabsService.isProjectEnabled.$1", - "type": "string", + "type": "CompoundType", "tags": [], "label": "id", "description": [], "signature": [ - "\"labs:dashboard:deferBelowFold\"" + "\"labs:dashboard:deferBelowFold\" | \"labs:dashboard:dashboardControls\"" ], "path": "src/plugins/presentation_util/public/services/labs.ts", "deprecated": false, @@ -1666,7 +2987,7 @@ "label": "getProjectIDs", "description": [], "signature": [ - "() => readonly [\"labs:dashboard:deferBelowFold\"]" + "() => readonly [\"labs:dashboard:deferBelowFold\", \"labs:dashboard:dashboardControls\"]" ], "path": "src/plugins/presentation_util/public/services/labs.ts", "deprecated": false, @@ -1681,7 +3002,7 @@ "label": "getProject", "description": [], "signature": [ - "(id: \"labs:dashboard:deferBelowFold\") => ", + "(id: \"labs:dashboard:deferBelowFold\" | \"labs:dashboard:dashboardControls\") => ", { "pluginId": "presentationUtil", "scope": "common", @@ -1696,12 +3017,12 @@ { "parentPluginId": "presentationUtil", "id": "def-public.PresentationLabsService.getProject.$1", - "type": "string", + "type": "CompoundType", "tags": [], "label": "id", "description": [], "signature": [ - "\"labs:dashboard:deferBelowFold\"" + "\"labs:dashboard:deferBelowFold\" | \"labs:dashboard:dashboardControls\"" ], "path": "src/plugins/presentation_util/public/services/labs.ts", "deprecated": false, @@ -1718,7 +3039,7 @@ "label": "getProjects", "description": [], "signature": [ - "(solutions?: (\"dashboard\" | \"canvas\" | \"presentation\")[] | undefined) => Record<\"labs:dashboard:deferBelowFold\", ", + "(solutions?: (\"dashboard\" | \"canvas\" | \"presentation\")[] | undefined) => Record<\"labs:dashboard:deferBelowFold\" | \"labs:dashboard:dashboardControls\", ", { "pluginId": "presentationUtil", "scope": "common", @@ -1756,7 +3077,7 @@ "label": "setProjectStatus", "description": [], "signature": [ - "(id: \"labs:dashboard:deferBelowFold\", env: \"kibana\" | \"browser\" | \"session\", status: boolean) => void" + "(id: \"labs:dashboard:deferBelowFold\" | \"labs:dashboard:dashboardControls\", env: \"kibana\" | \"browser\" | \"session\", status: boolean) => void" ], "path": "src/plugins/presentation_util/public/services/labs.ts", "deprecated": false, @@ -1764,12 +3085,12 @@ { "parentPluginId": "presentationUtil", "id": "def-public.PresentationLabsService.setProjectStatus.$1", - "type": "string", + "type": "CompoundType", "tags": [], "label": "id", "description": [], "signature": [ - "\"labs:dashboard:deferBelowFold\"" + "\"labs:dashboard:deferBelowFold\" | \"labs:dashboard:dashboardControls\"" ], "path": "src/plugins/presentation_util/public/services/labs.ts", "deprecated": false, @@ -2004,6 +3325,223 @@ ], "enums": [], "misc": [ + { + "parentPluginId": "presentationUtil", + "id": "def-public.CONTROL_GROUP_TYPE", + "type": "string", + "tags": [], + "label": "CONTROL_GROUP_TYPE", + "description": [], + "signature": [ + "\"control_group\"" + ], + "path": "src/plugins/presentation_util/common/controls/control_group/types.ts", + "deprecated": false, + "initialIsOpen": false + }, + { + "parentPluginId": "presentationUtil", + "id": "def-public.ControlEmbeddable", + "type": "Type", + "tags": [], + "label": "ControlEmbeddable", + "description": [], + "signature": [ + { + "pluginId": "embeddable", + "scope": "public", + "docId": "kibEmbeddablePluginApi", + "section": "def-public.IEmbeddable", + "text": "IEmbeddable" + }, + "" + ], + "path": "src/plugins/presentation_util/public/components/controls/types.ts", + "deprecated": false, + "initialIsOpen": false + }, + { + "parentPluginId": "presentationUtil", + "id": "def-public.ControlFactory", + "type": "Type", + "tags": [], + "label": "ControlFactory", + "description": [], + "signature": [ + { + "pluginId": "embeddable", + "scope": "public", + "docId": "kibEmbeddablePluginApi", + "section": "def-public.EmbeddableFactory", + "text": "EmbeddableFactory" + }, + "<", + "ControlInput", + ", ", + { + "pluginId": "presentationUtil", + "scope": "public", + "docId": "kibPresentationUtilPluginApi", + "section": "def-public.ControlOutput", + "text": "ControlOutput" + }, + ", ", + { + "pluginId": "presentationUtil", + "scope": "public", + "docId": "kibPresentationUtilPluginApi", + "section": "def-public.ControlEmbeddable", + "text": "ControlEmbeddable" + }, + "<", + "ControlInput", + ", ", + { + "pluginId": "presentationUtil", + "scope": "public", + "docId": "kibPresentationUtilPluginApi", + "section": "def-public.ControlOutput", + "text": "ControlOutput" + }, + ">, ", + "SavedObjectAttributes", + ">" + ], + "path": "src/plugins/presentation_util/public/components/controls/types.ts", + "deprecated": false, + "initialIsOpen": false + }, + { + "parentPluginId": "presentationUtil", + "id": "def-public.ControlGroupOutput", + "type": "Type", + "tags": [], + "label": "ControlGroupOutput", + "description": [], + "signature": [ + { + "pluginId": "embeddable", + "scope": "public", + "docId": "kibEmbeddablePluginApi", + "section": "def-public.ContainerOutput", + "text": "ContainerOutput" + }, + " & ", + { + "pluginId": "presentationUtil", + "scope": "public", + "docId": "kibPresentationUtilPluginApi", + "section": "def-public.CommonControlOutput", + "text": "CommonControlOutput" + } + ], + "path": "src/plugins/presentation_util/public/components/controls/control_group/types.ts", + "deprecated": false, + "initialIsOpen": false + }, + { + "parentPluginId": "presentationUtil", + "id": "def-public.ControlInput", + "type": "Type", + "tags": [], + "label": "ControlInput", + "description": [], + "signature": [ + { + "pluginId": "embeddable", + "scope": "common", + "docId": "kibEmbeddablePluginApi", + "section": "def-common.EmbeddableInput", + "text": "EmbeddableInput" + }, + " & { query?: ", + { + "pluginId": "@kbn/es-query", + "scope": "common", + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.Query", + "text": "Query" + }, + " | undefined; filters?: ", + { + "pluginId": "@kbn/es-query", + "scope": "common", + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.Filter", + "text": "Filter" + }, + "[] | undefined; timeRange?: ", + { + "pluginId": "data", + "scope": "common", + "docId": "kibDataQueryPluginApi", + "section": "def-common.TimeRange", + "text": "TimeRange" + }, + " | undefined; controlStyle?: \"twoLine\" | \"oneLine\" | undefined; ignoreParentSettings?: ", + "ParentIgnoreSettings", + " | undefined; }" + ], + "path": "src/plugins/presentation_util/common/controls/types.ts", + "deprecated": false, + "initialIsOpen": false + }, + { + "parentPluginId": "presentationUtil", + "id": "def-public.ControlOutput", + "type": "Type", + "tags": [], + "label": "ControlOutput", + "description": [], + "signature": [ + { + "pluginId": "embeddable", + "scope": "public", + "docId": "kibEmbeddablePluginApi", + "section": "def-public.EmbeddableOutput", + "text": "EmbeddableOutput" + }, + " & ", + { + "pluginId": "presentationUtil", + "scope": "public", + "docId": "kibPresentationUtilPluginApi", + "section": "def-public.CommonControlOutput", + "text": "CommonControlOutput" + } + ], + "path": "src/plugins/presentation_util/public/components/controls/types.ts", + "deprecated": false, + "initialIsOpen": false + }, + { + "parentPluginId": "presentationUtil", + "id": "def-public.ControlStyle", + "type": "Type", + "tags": [], + "label": "ControlStyle", + "description": [], + "signature": [ + "\"twoLine\" | \"oneLine\"" + ], + "path": "src/plugins/presentation_util/common/controls/types.ts", + "deprecated": false, + "initialIsOpen": false + }, + { + "parentPluginId": "presentationUtil", + "id": "def-public.ControlWidth", + "type": "Type", + "tags": [], + "label": "ControlWidth", + "description": [], + "signature": [ + "\"auto\" | \"small\" | \"medium\" | \"large\"" + ], + "path": "src/plugins/presentation_util/common/controls/types.ts", + "deprecated": false, + "initialIsOpen": false + }, { "parentPluginId": "presentationUtil", "id": "def-public.imageTypes", @@ -2065,6 +3603,20 @@ ], "initialIsOpen": false }, + { + "parentPluginId": "presentationUtil", + "id": "def-public.OPTIONS_LIST_CONTROL", + "type": "string", + "tags": [], + "label": "OPTIONS_LIST_CONTROL", + "description": [], + "signature": [ + "\"optionsListControl\"" + ], + "path": "src/plugins/presentation_util/common/controls/control_types/options_list/types.ts", + "deprecated": false, + "initialIsOpen": false + }, { "parentPluginId": "presentationUtil", "id": "def-public.PluginServiceFactory", @@ -2158,7 +3710,7 @@ "label": "ProjectID", "description": [], "signature": [ - "\"labs:dashboard:deferBelowFold\"" + "\"labs:dashboard:deferBelowFold\" | \"labs:dashboard:dashboardControls\"" ], "path": "src/plugins/presentation_util/common/labs.ts", "deprecated": false, @@ -2299,7 +3851,7 @@ "label": "projectIDs", "description": [], "signature": [ - "readonly [\"labs:dashboard:deferBelowFold\"]" + "readonly [\"labs:dashboard:deferBelowFold\", \"labs:dashboard:dashboardControls\"]" ], "path": "src/plugins/presentation_util/common/labs.ts", "deprecated": false, @@ -2442,7 +3994,7 @@ "label": "getProjectIDs", "description": [], "signature": [ - "() => readonly [\"labs:dashboard:deferBelowFold\"]" + "() => readonly [\"labs:dashboard:deferBelowFold\", \"labs:dashboard:dashboardControls\"]" ], "path": "src/plugins/presentation_util/common/labs.ts", "deprecated": false, @@ -2524,12 +4076,12 @@ { "parentPluginId": "presentationUtil", "id": "def-common.ProjectConfig.id", - "type": "string", + "type": "CompoundType", "tags": [], "label": "id", "description": [], "signature": [ - "\"labs:dashboard:deferBelowFold\"" + "\"labs:dashboard:deferBelowFold\" | \"labs:dashboard:dashboardControls\"" ], "path": "src/plugins/presentation_util/common/labs.ts", "deprecated": false @@ -2606,6 +4158,20 @@ ], "enums": [], "misc": [ + { + "parentPluginId": "presentationUtil", + "id": "def-common.DASHBOARD_CONTROLS", + "type": "string", + "tags": [], + "label": "DASHBOARD_CONTROLS", + "description": [], + "signature": [ + "\"labs:dashboard:dashboardControls\"" + ], + "path": "src/plugins/presentation_util/common/labs.ts", + "deprecated": false, + "initialIsOpen": false + }, { "parentPluginId": "presentationUtil", "id": "def-common.DEFER_BELOW_FOLD", @@ -2727,7 +4293,7 @@ "label": "ProjectID", "description": [], "signature": [ - "\"labs:dashboard:deferBelowFold\"" + "\"labs:dashboard:deferBelowFold\" | \"labs:dashboard:dashboardControls\"" ], "path": "src/plugins/presentation_util/common/labs.ts", "deprecated": false, @@ -2792,7 +4358,7 @@ "label": "projectIDs", "description": [], "signature": [ - "readonly [\"labs:dashboard:deferBelowFold\"]" + "readonly [\"labs:dashboard:deferBelowFold\", \"labs:dashboard:dashboardControls\"]" ], "path": "src/plugins/presentation_util/common/labs.ts", "deprecated": false, @@ -2906,6 +4472,103 @@ "deprecated": false } ] + }, + { + "parentPluginId": "presentationUtil", + "id": "def-common.projects.DASHBOARD_CONTROLS", + "type": "Object", + "tags": [], + "label": "[DASHBOARD_CONTROLS]", + "description": [], + "path": "src/plugins/presentation_util/common/labs.ts", + "deprecated": false, + "children": [ + { + "parentPluginId": "presentationUtil", + "id": "def-common.projects.DASHBOARD_CONTROLS.id", + "type": "string", + "tags": [], + "label": "id", + "description": [], + "signature": [ + "\"labs:dashboard:dashboardControls\"" + ], + "path": "src/plugins/presentation_util/common/labs.ts", + "deprecated": false + }, + { + "parentPluginId": "presentationUtil", + "id": "def-common.projects.DASHBOARD_CONTROLS.isActive", + "type": "boolean", + "tags": [], + "label": "isActive", + "description": [], + "signature": [ + "false" + ], + "path": "src/plugins/presentation_util/common/labs.ts", + "deprecated": false + }, + { + "parentPluginId": "presentationUtil", + "id": "def-common.projects.DASHBOARD_CONTROLS.isDisplayed", + "type": "boolean", + "tags": [], + "label": "isDisplayed", + "description": [], + "signature": [ + "true" + ], + "path": "src/plugins/presentation_util/common/labs.ts", + "deprecated": false + }, + { + "parentPluginId": "presentationUtil", + "id": "def-common.projects.DASHBOARD_CONTROLS.environments", + "type": "Array", + "tags": [], + "label": "environments", + "description": [], + "signature": [ + "(\"kibana\" | \"browser\" | \"session\")[]" + ], + "path": "src/plugins/presentation_util/common/labs.ts", + "deprecated": false + }, + { + "parentPluginId": "presentationUtil", + "id": "def-common.projects.DASHBOARD_CONTROLS.name", + "type": "string", + "tags": [], + "label": "name", + "description": [], + "path": "src/plugins/presentation_util/common/labs.ts", + "deprecated": false + }, + { + "parentPluginId": "presentationUtil", + "id": "def-common.projects.DASHBOARD_CONTROLS.description", + "type": "string", + "tags": [], + "label": "description", + "description": [], + "path": "src/plugins/presentation_util/common/labs.ts", + "deprecated": false + }, + { + "parentPluginId": "presentationUtil", + "id": "def-common.projects.DASHBOARD_CONTROLS.solutions", + "type": "Array", + "tags": [], + "label": "solutions", + "description": [], + "signature": [ + "\"dashboard\"[]" + ], + "path": "src/plugins/presentation_util/common/labs.ts", + "deprecated": false + } + ] } ], "initialIsOpen": false diff --git a/api_docs/presentation_util.mdx b/api_docs/presentation_util.mdx index 9ff91703a09166..50ac2051966f34 100644 --- a/api_docs/presentation_util.mdx +++ b/api_docs/presentation_util.mdx @@ -18,7 +18,7 @@ Contact [Kibana Presentation](https://github.com/orgs/elastic/teams/kibana-prese | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 178 | 3 | 151 | 6 | +| 262 | 4 | 234 | 12 | ## Client diff --git a/api_docs/reporting.json b/api_docs/reporting.json index 4296dfad34b3f2..9f15a948561583 100644 --- a/api_docs/reporting.json +++ b/api_docs/reporting.json @@ -944,13 +944,20 @@ }, { "parentPluginId": "reporting", - "id": "def-server.ReportingCore.getKibanaVersion", + "id": "def-server.ReportingCore.getKibanaPackageInfo", "type": "Function", "tags": [], - "label": "getKibanaVersion", + "label": "getKibanaPackageInfo", "description": [], "signature": [ - "() => string" + "() => ", + { + "pluginId": "@kbn/config", + "scope": "server", + "docId": "kibKbnConfigPluginApi", + "section": "def-server.PackageInfo", + "text": "PackageInfo" + } ], "path": "x-pack/plugins/reporting/server/core.ts", "deprecated": false, @@ -1559,6 +1566,59 @@ ], "returnComment": [] }, + { + "parentPluginId": "reporting", + "id": "def-server.ReportingCore.getDataViewsService", + "type": "Function", + "tags": [], + "label": "getDataViewsService", + "description": [], + "signature": [ + "(request: ", + { + "pluginId": "core", + "scope": "server", + "docId": "kibCoreHttpPluginApi", + "section": "def-server.KibanaRequest", + "text": "KibanaRequest" + }, + ") => Promise<", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataViewsService", + "text": "DataViewsService" + }, + ">" + ], + "path": "x-pack/plugins/reporting/server/core.ts", + "deprecated": false, + "children": [ + { + "parentPluginId": "reporting", + "id": "def-server.ReportingCore.getDataViewsService.$1", + "type": "Object", + "tags": [], + "label": "request", + "description": [], + "signature": [ + { + "pluginId": "core", + "scope": "server", + "docId": "kibCoreHttpPluginApi", + "section": "def-server.KibanaRequest", + "text": "KibanaRequest" + }, + "" + ], + "path": "x-pack/plugins/reporting/server/core.ts", + "deprecated": false, + "isRequired": true + } + ], + "returnComment": [] + }, { "parentPluginId": "reporting", "id": "def-server.ReportingCore.getDataService", diff --git a/api_docs/reporting.mdx b/api_docs/reporting.mdx index 9d3ed2ce0b7eeb..30efe8bbe9c765 100644 --- a/api_docs/reporting.mdx +++ b/api_docs/reporting.mdx @@ -18,7 +18,7 @@ Contact [Kibana Reporting Services](https://github.com/orgs/elastic/teams/kibana | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 135 | 0 | 134 | 12 | +| 137 | 0 | 136 | 12 | ## Client diff --git a/api_docs/rollup.json b/api_docs/rollup.json index 46432f55c82c38..d1297479771858 100644 --- a/api_docs/rollup.json +++ b/api_docs/rollup.json @@ -50,6 +50,20 @@ "deprecated": false, "initialIsOpen": false }, + { + "parentPluginId": "rollup", + "id": "def-common.MAJOR_VERSION", + "type": "string", + "tags": [], + "label": "MAJOR_VERSION", + "description": [], + "signature": [ + "\"8.0.0\"" + ], + "path": "x-pack/plugins/rollup/common/index.ts", + "deprecated": false, + "initialIsOpen": false + }, { "parentPluginId": "rollup", "id": "def-common.UIM_APP_LOAD", diff --git a/api_docs/rollup.mdx b/api_docs/rollup.mdx index 9fa774ae413fd7..6a178dad9a2ed0 100644 --- a/api_docs/rollup.mdx +++ b/api_docs/rollup.mdx @@ -18,7 +18,7 @@ Contact [Stack Management](https://github.com/orgs/elastic/teams/kibana-stack-ma | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 20 | 0 | 20 | 0 | +| 21 | 0 | 21 | 0 | ## Common diff --git a/api_docs/rule_registry.json b/api_docs/rule_registry.json index 89c359461c72f5..738eb4bd6417b0 100644 --- a/api_docs/rule_registry.json +++ b/api_docs/rule_registry.json @@ -62,7 +62,7 @@ "signature": [ "({ id, index }: GetAlertParams) => Promise> | undefined>" + "<{ readonly \"kibana.alert.rule.params\": { readonly type: \"keyword\"; readonly index: false; }; readonly \"kibana.alert.rule.rule_type_id\": { readonly type: \"keyword\"; readonly required: true; }; readonly \"kibana.alert.rule.consumer\": { readonly type: \"keyword\"; readonly required: true; }; readonly \"kibana.alert.rule.producer\": { readonly type: \"keyword\"; readonly required: true; }; readonly \"kibana.space_ids\": { readonly type: \"keyword\"; readonly array: true; readonly required: true; }; readonly \"kibana.alert.uuid\": { readonly type: \"keyword\"; readonly required: true; }; readonly \"kibana.alert.instance.id\": { readonly type: \"keyword\"; readonly required: true; }; readonly \"kibana.alert.start\": { readonly type: \"date\"; }; readonly \"kibana.alert.end\": { readonly type: \"date\"; }; readonly \"kibana.alert.duration.us\": { readonly type: \"long\"; }; readonly \"kibana.alert.severity\": { readonly type: \"keyword\"; }; readonly \"kibana.alert.status\": { readonly type: \"keyword\"; readonly required: true; }; readonly \"kibana.alert.evaluation.threshold\": { readonly type: \"scaled_float\"; readonly scaling_factor: 100; }; readonly \"kibana.alert.evaluation.value\": { readonly type: \"scaled_float\"; readonly scaling_factor: 100; }; readonly \"kibana.version\": { readonly type: \"version\"; readonly array: false; readonly required: false; }; readonly \"ecs.version\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.severity\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.risk_score\": { readonly type: \"float\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.risk_score\": { readonly type: \"float\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.workflow_status\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.workflow_user\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.workflow_reason\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.system_status\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.action_group\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.reason\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.author\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.category\": { readonly type: \"keyword\"; readonly array: false; readonly required: true; }; readonly \"kibana.alert.rule.uuid\": { readonly type: \"keyword\"; readonly array: false; readonly required: true; }; readonly \"kibana.alert.rule.created_at\": { readonly type: \"date\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.created_by\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.description\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.enabled\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.from\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.interval\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.license\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.name\": { readonly type: \"keyword\"; readonly array: false; readonly required: true; }; readonly \"kibana.alert.rule.note\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.references\": { readonly type: \"keyword\"; readonly array: true; readonly required: false; }; readonly \"kibana.alert.rule.risk_score_mapping\": { readonly type: \"object\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.rule_id\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.rule_name_override\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.severity_mapping\": { readonly type: \"object\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.tags\": { readonly type: \"keyword\"; readonly array: true; readonly required: false; }; readonly \"kibana.alert.rule.to\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.type\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.updated_at\": { readonly type: \"date\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.updated_by\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.version\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly tags: { readonly type: \"keyword\"; readonly array: true; readonly required: false; }; readonly '@timestamp': { readonly type: \"date\"; readonly array: false; readonly required: true; }; readonly 'event.kind': { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly 'event.action': { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; }, \"tags\" | \"event.kind\" | \"ecs.version\" | \"event.action\" | \"kibana.alert.action_group\" | \"kibana.alert.duration.us\" | \"kibana.alert.end\" | \"kibana.alert.evaluation.threshold\" | \"kibana.alert.evaluation.value\" | \"kibana.alert.reason\" | \"kibana.alert.risk_score\" | \"kibana.alert.rule.author\" | \"kibana.alert.rule.created_at\" | \"kibana.alert.rule.created_by\" | \"kibana.alert.rule.description\" | \"kibana.alert.rule.enabled\" | \"kibana.alert.rule.from\" | \"kibana.alert.rule.interval\" | \"kibana.alert.rule.license\" | \"kibana.alert.rule.note\" | \"kibana.alert.rule.params\" | \"kibana.alert.rule.references\" | \"kibana.alert.rule.risk_score\" | \"kibana.alert.rule.risk_score_mapping\" | \"kibana.alert.rule.rule_id\" | \"kibana.alert.rule.rule_name_override\" | \"kibana.alert.rule.severity\" | \"kibana.alert.rule.severity_mapping\" | \"kibana.alert.rule.tags\" | \"kibana.alert.rule.to\" | \"kibana.alert.rule.type\" | \"kibana.alert.rule.updated_at\" | \"kibana.alert.rule.updated_by\" | \"kibana.alert.rule.version\" | \"kibana.alert.start\" | \"kibana.alert.severity\" | \"kibana.alert.system_status\" | \"kibana.alert.workflow_reason\" | \"kibana.alert.workflow_status\" | \"kibana.alert.workflow_user\" | \"kibana.version\">> | undefined>" ], "path": "x-pack/plugins/rule_registry/server/alert_data_client/alerts_client.ts", "deprecated": false, @@ -94,11 +94,11 @@ "signature": [ " = never>({ id, status, _version, index, }: ", "UpdateOptions", - ") => Promise<{ _version: string | undefined; get?: ", - "InlineGet", + ") => Promise<{ _version: string | undefined; get?: { [property: string]: any; } | ", + "InlineGetKeys", ">> | undefined; _id: string; _index: string; _primary_term: number; result: ", + "<{ readonly \"kibana.alert.rule.params\": { readonly type: \"keyword\"; readonly index: false; }; readonly \"kibana.alert.rule.rule_type_id\": { readonly type: \"keyword\"; readonly required: true; }; readonly \"kibana.alert.rule.consumer\": { readonly type: \"keyword\"; readonly required: true; }; readonly \"kibana.alert.rule.producer\": { readonly type: \"keyword\"; readonly required: true; }; readonly \"kibana.space_ids\": { readonly type: \"keyword\"; readonly array: true; readonly required: true; }; readonly \"kibana.alert.uuid\": { readonly type: \"keyword\"; readonly required: true; }; readonly \"kibana.alert.instance.id\": { readonly type: \"keyword\"; readonly required: true; }; readonly \"kibana.alert.start\": { readonly type: \"date\"; }; readonly \"kibana.alert.end\": { readonly type: \"date\"; }; readonly \"kibana.alert.duration.us\": { readonly type: \"long\"; }; readonly \"kibana.alert.severity\": { readonly type: \"keyword\"; }; readonly \"kibana.alert.status\": { readonly type: \"keyword\"; readonly required: true; }; readonly \"kibana.alert.evaluation.threshold\": { readonly type: \"scaled_float\"; readonly scaling_factor: 100; }; readonly \"kibana.alert.evaluation.value\": { readonly type: \"scaled_float\"; readonly scaling_factor: 100; }; readonly \"kibana.version\": { readonly type: \"version\"; readonly array: false; readonly required: false; }; readonly \"ecs.version\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.severity\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.risk_score\": { readonly type: \"float\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.risk_score\": { readonly type: \"float\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.workflow_status\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.workflow_user\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.workflow_reason\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.system_status\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.action_group\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.reason\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.author\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.category\": { readonly type: \"keyword\"; readonly array: false; readonly required: true; }; readonly \"kibana.alert.rule.uuid\": { readonly type: \"keyword\"; readonly array: false; readonly required: true; }; readonly \"kibana.alert.rule.created_at\": { readonly type: \"date\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.created_by\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.description\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.enabled\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.from\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.interval\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.license\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.name\": { readonly type: \"keyword\"; readonly array: false; readonly required: true; }; readonly \"kibana.alert.rule.note\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.references\": { readonly type: \"keyword\"; readonly array: true; readonly required: false; }; readonly \"kibana.alert.rule.risk_score_mapping\": { readonly type: \"object\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.rule_id\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.rule_name_override\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.severity_mapping\": { readonly type: \"object\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.tags\": { readonly type: \"keyword\"; readonly array: true; readonly required: false; }; readonly \"kibana.alert.rule.to\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.type\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.updated_at\": { readonly type: \"date\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.updated_by\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.version\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly tags: { readonly type: \"keyword\"; readonly array: true; readonly required: false; }; readonly '@timestamp': { readonly type: \"date\"; readonly array: false; readonly required: true; }; readonly 'event.kind': { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly 'event.action': { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; }, \"tags\" | \"event.kind\" | \"ecs.version\" | \"event.action\" | \"kibana.alert.action_group\" | \"kibana.alert.duration.us\" | \"kibana.alert.end\" | \"kibana.alert.evaluation.threshold\" | \"kibana.alert.evaluation.value\" | \"kibana.alert.reason\" | \"kibana.alert.risk_score\" | \"kibana.alert.rule.author\" | \"kibana.alert.rule.created_at\" | \"kibana.alert.rule.created_by\" | \"kibana.alert.rule.description\" | \"kibana.alert.rule.enabled\" | \"kibana.alert.rule.from\" | \"kibana.alert.rule.interval\" | \"kibana.alert.rule.license\" | \"kibana.alert.rule.note\" | \"kibana.alert.rule.params\" | \"kibana.alert.rule.references\" | \"kibana.alert.rule.risk_score\" | \"kibana.alert.rule.risk_score_mapping\" | \"kibana.alert.rule.rule_id\" | \"kibana.alert.rule.rule_name_override\" | \"kibana.alert.rule.severity\" | \"kibana.alert.rule.severity_mapping\" | \"kibana.alert.rule.tags\" | \"kibana.alert.rule.to\" | \"kibana.alert.rule.type\" | \"kibana.alert.rule.updated_at\" | \"kibana.alert.rule.updated_by\" | \"kibana.alert.rule.version\" | \"kibana.alert.start\" | \"kibana.alert.severity\" | \"kibana.alert.system_status\" | \"kibana.alert.workflow_reason\" | \"kibana.alert.workflow_status\" | \"kibana.alert.workflow_user\" | \"kibana.version\">>> | undefined; _id: string; _index: string; _primary_term: number; result: ", "Result", "; _seq_no: number; _shards: ", "ShardStatistics", @@ -136,11 +136,11 @@ " = never>({ ids, query, index, status, }: ", "BulkUpdateOptions", ") => Promise<", - "ApiResponse", + "TransportResult", "<", "BulkResponse", ", unknown> | ", - "ApiResponse", + "TransportResult", "<", "UpdateByQueryResponse", ", unknown>>" @@ -178,7 +178,7 @@ "SearchResponse", ">>>" + "<{ readonly \"kibana.alert.rule.params\": { readonly type: \"keyword\"; readonly index: false; }; readonly \"kibana.alert.rule.rule_type_id\": { readonly type: \"keyword\"; readonly required: true; }; readonly \"kibana.alert.rule.consumer\": { readonly type: \"keyword\"; readonly required: true; }; readonly \"kibana.alert.rule.producer\": { readonly type: \"keyword\"; readonly required: true; }; readonly \"kibana.space_ids\": { readonly type: \"keyword\"; readonly array: true; readonly required: true; }; readonly \"kibana.alert.uuid\": { readonly type: \"keyword\"; readonly required: true; }; readonly \"kibana.alert.instance.id\": { readonly type: \"keyword\"; readonly required: true; }; readonly \"kibana.alert.start\": { readonly type: \"date\"; }; readonly \"kibana.alert.end\": { readonly type: \"date\"; }; readonly \"kibana.alert.duration.us\": { readonly type: \"long\"; }; readonly \"kibana.alert.severity\": { readonly type: \"keyword\"; }; readonly \"kibana.alert.status\": { readonly type: \"keyword\"; readonly required: true; }; readonly \"kibana.alert.evaluation.threshold\": { readonly type: \"scaled_float\"; readonly scaling_factor: 100; }; readonly \"kibana.alert.evaluation.value\": { readonly type: \"scaled_float\"; readonly scaling_factor: 100; }; readonly \"kibana.version\": { readonly type: \"version\"; readonly array: false; readonly required: false; }; readonly \"ecs.version\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.severity\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.risk_score\": { readonly type: \"float\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.risk_score\": { readonly type: \"float\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.workflow_status\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.workflow_user\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.workflow_reason\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.system_status\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.action_group\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.reason\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.author\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.category\": { readonly type: \"keyword\"; readonly array: false; readonly required: true; }; readonly \"kibana.alert.rule.uuid\": { readonly type: \"keyword\"; readonly array: false; readonly required: true; }; readonly \"kibana.alert.rule.created_at\": { readonly type: \"date\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.created_by\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.description\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.enabled\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.from\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.interval\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.license\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.name\": { readonly type: \"keyword\"; readonly array: false; readonly required: true; }; readonly \"kibana.alert.rule.note\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.references\": { readonly type: \"keyword\"; readonly array: true; readonly required: false; }; readonly \"kibana.alert.rule.risk_score_mapping\": { readonly type: \"object\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.rule_id\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.rule_name_override\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.severity_mapping\": { readonly type: \"object\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.tags\": { readonly type: \"keyword\"; readonly array: true; readonly required: false; }; readonly \"kibana.alert.rule.to\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.type\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.updated_at\": { readonly type: \"date\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.updated_by\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.version\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly tags: { readonly type: \"keyword\"; readonly array: true; readonly required: false; }; readonly '@timestamp': { readonly type: \"date\"; readonly array: false; readonly required: true; }; readonly 'event.kind': { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly 'event.action': { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; }, \"tags\" | \"event.kind\" | \"ecs.version\" | \"event.action\" | \"kibana.alert.action_group\" | \"kibana.alert.duration.us\" | \"kibana.alert.end\" | \"kibana.alert.evaluation.threshold\" | \"kibana.alert.evaluation.value\" | \"kibana.alert.reason\" | \"kibana.alert.risk_score\" | \"kibana.alert.rule.author\" | \"kibana.alert.rule.created_at\" | \"kibana.alert.rule.created_by\" | \"kibana.alert.rule.description\" | \"kibana.alert.rule.enabled\" | \"kibana.alert.rule.from\" | \"kibana.alert.rule.interval\" | \"kibana.alert.rule.license\" | \"kibana.alert.rule.note\" | \"kibana.alert.rule.params\" | \"kibana.alert.rule.references\" | \"kibana.alert.rule.risk_score\" | \"kibana.alert.rule.risk_score_mapping\" | \"kibana.alert.rule.rule_id\" | \"kibana.alert.rule.rule_name_override\" | \"kibana.alert.rule.severity\" | \"kibana.alert.rule.severity_mapping\" | \"kibana.alert.rule.tags\" | \"kibana.alert.rule.to\" | \"kibana.alert.rule.type\" | \"kibana.alert.rule.updated_at\" | \"kibana.alert.rule.updated_by\" | \"kibana.alert.rule.version\" | \"kibana.alert.start\" | \"kibana.alert.severity\" | \"kibana.alert.system_status\" | \"kibana.alert.workflow_reason\" | \"kibana.alert.workflow_status\" | \"kibana.alert.workflow_user\" | \"kibana.version\">>>>" ], "path": "x-pack/plugins/rule_registry/server/alert_data_client/alerts_client.ts", "deprecated": false, @@ -502,19 +502,34 @@ }, { "parentPluginId": "ruleRegistry", - "id": "def-server.RuleDataPluginService", + "id": "def-server.RuleDataService", "type": "Class", "tags": [], - "label": "RuleDataPluginService", - "description": [ - "\nA service for creating and using Elasticsearch indices for alerts-as-data." + "label": "RuleDataService", + "description": [], + "signature": [ + { + "pluginId": "ruleRegistry", + "scope": "server", + "docId": "kibRuleRegistryPluginApi", + "section": "def-server.RuleDataService", + "text": "RuleDataService" + }, + " implements ", + { + "pluginId": "ruleRegistry", + "scope": "server", + "docId": "kibRuleRegistryPluginApi", + "section": "def-server.IRuleDataService", + "text": "IRuleDataService" + } ], "path": "x-pack/plugins/rule_registry/server/rule_data_plugin_service/rule_data_plugin_service.ts", "deprecated": false, "children": [ { "parentPluginId": "ruleRegistry", - "id": "def-server.RuleDataPluginService.Unnamed", + "id": "def-server.RuleDataService.Unnamed", "type": "Function", "tags": [], "label": "Constructor", @@ -527,7 +542,7 @@ "children": [ { "parentPluginId": "ruleRegistry", - "id": "def-server.RuleDataPluginService.Unnamed.$1", + "id": "def-server.RuleDataService.Unnamed.$1", "type": "Object", "tags": [], "label": "options", @@ -544,13 +559,11 @@ }, { "parentPluginId": "ruleRegistry", - "id": "def-server.RuleDataPluginService.getResourcePrefix", + "id": "def-server.RuleDataService.getResourcePrefix", "type": "Function", "tags": [], "label": "getResourcePrefix", - "description": [ - "\nReturns a prefix used in the naming scheme of index aliases, templates\nand other Elasticsearch resources that this service creates\nfor alerts-as-data indices." - ], + "description": [], "signature": [ "() => string" ], @@ -561,13 +574,11 @@ }, { "parentPluginId": "ruleRegistry", - "id": "def-server.RuleDataPluginService.getResourceName", + "id": "def-server.RuleDataService.getResourceName", "type": "Function", "tags": [], "label": "getResourceName", - "description": [ - "\nPrepends a relative resource name with the resource prefix." - ], + "description": [], "signature": [ "(relativeName: string) => string" ], @@ -576,7 +587,7 @@ "children": [ { "parentPluginId": "ruleRegistry", - "id": "def-server.RuleDataPluginService.getResourceName.$1", + "id": "def-server.RuleDataService.getResourceName.$1", "type": "string", "tags": [], "label": "relativeName", @@ -589,18 +600,31 @@ "isRequired": true } ], - "returnComment": [ - "Full name of the resource." - ] + "returnComment": [] }, { "parentPluginId": "ruleRegistry", - "id": "def-server.RuleDataPluginService.isWriteEnabled", + "id": "def-server.RuleDataService.isWriteEnabled", "type": "Function", "tags": [], "label": "isWriteEnabled", + "description": [], + "signature": [ + "() => boolean" + ], + "path": "x-pack/plugins/rule_registry/server/rule_data_plugin_service/rule_data_plugin_service.ts", + "deprecated": false, + "children": [], + "returnComment": [] + }, + { + "parentPluginId": "ruleRegistry", + "id": "def-server.RuleDataService.isWriterCacheEnabled", + "type": "Function", + "tags": [], + "label": "isWriterCacheEnabled", "description": [ - "\nIf write is enabled, everything works as usual.\nIf it's disabled, writing to all alerts-as-data indices will be disabled,\nand also Elasticsearch resources associated with the indices will not be\ninstalled." + "\nIf writer cache is enabled (the default), the writer will be cached\nafter being initialized. Disabling this is useful for tests, where we\nexpect to easily be able to clean up after ourselves between test cases." ], "signature": [ "() => boolean" @@ -612,7 +636,7 @@ }, { "parentPluginId": "ruleRegistry", - "id": "def-server.RuleDataPluginService.initializeService", + "id": "def-server.RuleDataService.initializeService", "type": "Function", "tags": [], "label": "initializeService", @@ -629,13 +653,11 @@ }, { "parentPluginId": "ruleRegistry", - "id": "def-server.RuleDataPluginService.initializeIndex", + "id": "def-server.RuleDataService.initializeIndex", "type": "Function", "tags": [], "label": "initializeIndex", - "description": [ - "\nInitializes alerts-as-data index and starts index bootstrapping right away." - ], + "description": [], "signature": [ "(indexOptions: ", { @@ -659,13 +681,11 @@ "children": [ { "parentPluginId": "ruleRegistry", - "id": "def-server.RuleDataPluginService.initializeIndex.$1", + "id": "def-server.RuleDataService.initializeIndex.$1", "type": "Object", "tags": [], "label": "indexOptions", - "description": [ - "Index parameters: names and resources." - ], + "description": [], "signature": [ { "pluginId": "ruleRegistry", @@ -680,19 +700,15 @@ "isRequired": true } ], - "returnComment": [ - "Client for reading and writing data to this index." - ] + "returnComment": [] }, { "parentPluginId": "ruleRegistry", - "id": "def-server.RuleDataPluginService.findIndexByName", + "id": "def-server.RuleDataService.findIndexByName", "type": "Function", "tags": [], "label": "findIndexByName", - "description": [ - "\nLooks up the index information associated with the given registration context and dataset." - ], + "description": [], "signature": [ "(registrationContext: string, dataset: ", { @@ -711,7 +727,7 @@ "children": [ { "parentPluginId": "ruleRegistry", - "id": "def-server.RuleDataPluginService.findIndexByName.$1", + "id": "def-server.RuleDataService.findIndexByName.$1", "type": "string", "tags": [], "label": "registrationContext", @@ -725,7 +741,7 @@ }, { "parentPluginId": "ruleRegistry", - "id": "def-server.RuleDataPluginService.findIndexByName.$2", + "id": "def-server.RuleDataService.findIndexByName.$2", "type": "Enum", "tags": [], "label": "dataset", @@ -748,13 +764,11 @@ }, { "parentPluginId": "ruleRegistry", - "id": "def-server.RuleDataPluginService.findIndicesByFeature", + "id": "def-server.RuleDataService.findIndicesByFeature", "type": "Function", "tags": [], "label": "findIndicesByFeature", - "description": [ - "\nLooks up the index information associated with the given Kibana \"feature\".\nNote: features are used in RBAC." - ], + "description": [], "signature": [ "(featureId: ", { @@ -781,7 +795,7 @@ "children": [ { "parentPluginId": "ruleRegistry", - "id": "def-server.RuleDataPluginService.findIndicesByFeature.$1", + "id": "def-server.RuleDataService.findIndicesByFeature.$1", "type": "CompoundType", "tags": [], "label": "featureId", @@ -801,7 +815,7 @@ }, { "parentPluginId": "ruleRegistry", - "id": "def-server.RuleDataPluginService.findIndicesByFeature.$2", + "id": "def-server.RuleDataService.findIndicesByFeature.$2", "type": "CompoundType", "tags": [], "label": "dataset", @@ -1719,7 +1733,7 @@ "SearchRequest", ">(request: TSearchRequest) => Promise<", "InferSearchResponseOf", - ">, TSearchRequest, { restTotalHitsAsInt: false; }>>" + ">, TSearchRequest, { restTotalHitsAsInt: false; }>>" ], "path": "x-pack/plugins/rule_registry/server/rule_data_client/types.ts", "deprecated": false, @@ -1782,6 +1796,319 @@ ], "initialIsOpen": false }, + { + "parentPluginId": "ruleRegistry", + "id": "def-server.IRuleDataService", + "type": "Interface", + "tags": [], + "label": "IRuleDataService", + "description": [ + "\nA service for creating and using Elasticsearch indices for alerts-as-data." + ], + "path": "x-pack/plugins/rule_registry/server/rule_data_plugin_service/rule_data_plugin_service.ts", + "deprecated": false, + "children": [ + { + "parentPluginId": "ruleRegistry", + "id": "def-server.IRuleDataService.getResourcePrefix", + "type": "Function", + "tags": [], + "label": "getResourcePrefix", + "description": [ + "\nReturns a prefix used in the naming scheme of index aliases, templates\nand other Elasticsearch resources that this service creates\nfor alerts-as-data indices." + ], + "signature": [ + "() => string" + ], + "path": "x-pack/plugins/rule_registry/server/rule_data_plugin_service/rule_data_plugin_service.ts", + "deprecated": false, + "children": [], + "returnComment": [] + }, + { + "parentPluginId": "ruleRegistry", + "id": "def-server.IRuleDataService.getResourceName", + "type": "Function", + "tags": [], + "label": "getResourceName", + "description": [ + "\nPrepends a relative resource name with the resource prefix." + ], + "signature": [ + "(relativeName: string) => string" + ], + "path": "x-pack/plugins/rule_registry/server/rule_data_plugin_service/rule_data_plugin_service.ts", + "deprecated": false, + "children": [ + { + "parentPluginId": "ruleRegistry", + "id": "def-server.IRuleDataService.getResourceName.$1", + "type": "string", + "tags": [], + "label": "relativeName", + "description": [], + "signature": [ + "string" + ], + "path": "x-pack/plugins/rule_registry/server/rule_data_plugin_service/rule_data_plugin_service.ts", + "deprecated": false, + "isRequired": true + } + ], + "returnComment": [ + "Full name of the resource." + ] + }, + { + "parentPluginId": "ruleRegistry", + "id": "def-server.IRuleDataService.isWriteEnabled", + "type": "Function", + "tags": [], + "label": "isWriteEnabled", + "description": [ + "\nIf write is enabled, everything works as usual.\nIf it's disabled, writing to all alerts-as-data indices will be disabled,\nand also Elasticsearch resources associated with the indices will not be\ninstalled." + ], + "signature": [ + "() => boolean" + ], + "path": "x-pack/plugins/rule_registry/server/rule_data_plugin_service/rule_data_plugin_service.ts", + "deprecated": false, + "children": [], + "returnComment": [] + }, + { + "parentPluginId": "ruleRegistry", + "id": "def-server.IRuleDataService.isWriterCacheEnabled", + "type": "Function", + "tags": [], + "label": "isWriterCacheEnabled", + "description": [ + "\nIf writer cache is enabled (the default), the writer will be cached\nafter being initialized. Disabling this is useful for tests, where we\nexpect to easily be able to clean up after ourselves between test cases." + ], + "signature": [ + "() => boolean" + ], + "path": "x-pack/plugins/rule_registry/server/rule_data_plugin_service/rule_data_plugin_service.ts", + "deprecated": false, + "children": [], + "returnComment": [] + }, + { + "parentPluginId": "ruleRegistry", + "id": "def-server.IRuleDataService.initializeService", + "type": "Function", + "tags": [], + "label": "initializeService", + "description": [ + "\nInstalls common Elasticsearch resources used by all alerts-as-data indices." + ], + "signature": [ + "() => void" + ], + "path": "x-pack/plugins/rule_registry/server/rule_data_plugin_service/rule_data_plugin_service.ts", + "deprecated": false, + "children": [], + "returnComment": [] + }, + { + "parentPluginId": "ruleRegistry", + "id": "def-server.IRuleDataService.initializeIndex", + "type": "Function", + "tags": [], + "label": "initializeIndex", + "description": [ + "\nInitializes alerts-as-data index and starts index bootstrapping right away." + ], + "signature": [ + "(indexOptions: ", + { + "pluginId": "ruleRegistry", + "scope": "server", + "docId": "kibRuleRegistryPluginApi", + "section": "def-server.IndexOptions", + "text": "IndexOptions" + }, + ") => ", + { + "pluginId": "ruleRegistry", + "scope": "server", + "docId": "kibRuleRegistryPluginApi", + "section": "def-server.IRuleDataClient", + "text": "IRuleDataClient" + } + ], + "path": "x-pack/plugins/rule_registry/server/rule_data_plugin_service/rule_data_plugin_service.ts", + "deprecated": false, + "children": [ + { + "parentPluginId": "ruleRegistry", + "id": "def-server.IRuleDataService.initializeIndex.$1", + "type": "Object", + "tags": [], + "label": "indexOptions", + "description": [ + "Index parameters: names and resources." + ], + "signature": [ + { + "pluginId": "ruleRegistry", + "scope": "server", + "docId": "kibRuleRegistryPluginApi", + "section": "def-server.IndexOptions", + "text": "IndexOptions" + } + ], + "path": "x-pack/plugins/rule_registry/server/rule_data_plugin_service/rule_data_plugin_service.ts", + "deprecated": false, + "isRequired": true + } + ], + "returnComment": [ + "Client for reading and writing data to this index." + ] + }, + { + "parentPluginId": "ruleRegistry", + "id": "def-server.IRuleDataService.findIndexByName", + "type": "Function", + "tags": [], + "label": "findIndexByName", + "description": [ + "\nLooks up the index information associated with the given registration context and dataset." + ], + "signature": [ + "(registrationContext: string, dataset: ", + { + "pluginId": "ruleRegistry", + "scope": "server", + "docId": "kibRuleRegistryPluginApi", + "section": "def-server.Dataset", + "text": "Dataset" + }, + ") => ", + "IndexInfo", + " | null" + ], + "path": "x-pack/plugins/rule_registry/server/rule_data_plugin_service/rule_data_plugin_service.ts", + "deprecated": false, + "children": [ + { + "parentPluginId": "ruleRegistry", + "id": "def-server.IRuleDataService.findIndexByName.$1", + "type": "string", + "tags": [], + "label": "registrationContext", + "description": [], + "signature": [ + "string" + ], + "path": "x-pack/plugins/rule_registry/server/rule_data_plugin_service/rule_data_plugin_service.ts", + "deprecated": false, + "isRequired": true + }, + { + "parentPluginId": "ruleRegistry", + "id": "def-server.IRuleDataService.findIndexByName.$2", + "type": "Enum", + "tags": [], + "label": "dataset", + "description": [], + "signature": [ + { + "pluginId": "ruleRegistry", + "scope": "server", + "docId": "kibRuleRegistryPluginApi", + "section": "def-server.Dataset", + "text": "Dataset" + } + ], + "path": "x-pack/plugins/rule_registry/server/rule_data_plugin_service/rule_data_plugin_service.ts", + "deprecated": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "ruleRegistry", + "id": "def-server.IRuleDataService.findIndicesByFeature", + "type": "Function", + "tags": [], + "label": "findIndicesByFeature", + "description": [ + "\nLooks up the index information associated with the given Kibana \"feature\".\nNote: features are used in RBAC." + ], + "signature": [ + "(featureId: ", + { + "pluginId": "@kbn/rule-data-utils", + "scope": "server", + "docId": "kibKbnRuleDataUtilsPluginApi", + "section": "def-server.AlertConsumers", + "text": "AlertConsumers" + }, + ", dataset?: ", + { + "pluginId": "ruleRegistry", + "scope": "server", + "docId": "kibRuleRegistryPluginApi", + "section": "def-server.Dataset", + "text": "Dataset" + }, + " | undefined) => ", + "IndexInfo", + "[]" + ], + "path": "x-pack/plugins/rule_registry/server/rule_data_plugin_service/rule_data_plugin_service.ts", + "deprecated": false, + "children": [ + { + "parentPluginId": "ruleRegistry", + "id": "def-server.IRuleDataService.findIndicesByFeature.$1", + "type": "CompoundType", + "tags": [], + "label": "featureId", + "description": [], + "signature": [ + { + "pluginId": "@kbn/rule-data-utils", + "scope": "server", + "docId": "kibKbnRuleDataUtilsPluginApi", + "section": "def-server.AlertConsumers", + "text": "AlertConsumers" + } + ], + "path": "x-pack/plugins/rule_registry/server/rule_data_plugin_service/rule_data_plugin_service.ts", + "deprecated": false, + "isRequired": true + }, + { + "parentPluginId": "ruleRegistry", + "id": "def-server.IRuleDataService.findIndicesByFeature.$2", + "type": "CompoundType", + "tags": [], + "label": "dataset", + "description": [], + "signature": [ + { + "pluginId": "ruleRegistry", + "scope": "server", + "docId": "kibRuleRegistryPluginApi", + "section": "def-server.Dataset", + "text": "Dataset" + }, + " | undefined" + ], + "path": "x-pack/plugins/rule_registry/server/rule_data_plugin_service/rule_data_plugin_service.ts", + "deprecated": false, + "isRequired": false + } + ], + "returnComment": [] + } + ], + "initialIsOpen": false + }, { "parentPluginId": "ruleRegistry", "id": "def-server.IRuleDataWriter", @@ -1803,7 +2130,7 @@ "(request: ", "BulkRequest", ") => Promise<", - "ApiResponse", + "TransportResult", "<", "BulkResponse", ", unknown> | undefined>" @@ -1907,7 +2234,7 @@ "(alerts: { id: string; fields: Record; }[], refresh: ", "Refresh", ") => Promise<", - "ApiResponse", + "TransportResult", "<", "BulkResponse", ", unknown> | undefined>" @@ -2283,7 +2610,7 @@ "(alerts: { id: string; fields: Record; }[], refresh: ", "Refresh", ") => Promise<", - "ApiResponse", + "TransportResult", "<", "BulkResponse", ", unknown> | undefined>" @@ -2367,6 +2694,26 @@ "deprecated": false, "initialIsOpen": false }, + { + "parentPluginId": "ruleRegistry", + "id": "def-server.RuleDataPluginService", + "type": "Type", + "tags": [], + "label": "RuleDataPluginService", + "description": [], + "signature": [ + { + "pluginId": "ruleRegistry", + "scope": "server", + "docId": "kibRuleRegistryPluginApi", + "section": "def-server.IRuleDataService", + "text": "IRuleDataService" + } + ], + "path": "x-pack/plugins/rule_registry/server/rule_data_plugin_service/rule_data_plugin_service.ts", + "deprecated": false, + "initialIsOpen": false + }, { "parentPluginId": "ruleRegistry", "id": "def-server.RuleRegistryPluginConfig", @@ -2458,8 +2805,8 @@ "pluginId": "ruleRegistry", "scope": "server", "docId": "kibRuleRegistryPluginApi", - "section": "def-server.RuleDataPluginService", - "text": "RuleDataPluginService" + "section": "def-server.IRuleDataService", + "text": "IRuleDataService" } ], "path": "x-pack/plugins/rule_registry/server/plugin.ts", @@ -2569,7 +2916,7 @@ "signature": [ "(input: unknown) => OutputOf<", "Optional", - "<{ readonly \"kibana.alert.rule.params\": { readonly type: \"keyword\"; readonly index: false; }; readonly \"kibana.alert.rule.rule_type_id\": { readonly type: \"keyword\"; readonly required: true; }; readonly \"kibana.alert.rule.consumer\": { readonly type: \"keyword\"; readonly required: true; }; readonly \"kibana.alert.rule.producer\": { readonly type: \"keyword\"; readonly required: true; }; readonly \"kibana.space_ids\": { readonly type: \"keyword\"; readonly array: true; readonly required: true; }; readonly \"kibana.alert.uuid\": { readonly type: \"keyword\"; readonly required: true; }; readonly \"kibana.alert.instance.id\": { readonly type: \"keyword\"; readonly required: true; }; readonly \"kibana.alert.start\": { readonly type: \"date\"; }; readonly \"kibana.alert.end\": { readonly type: \"date\"; }; readonly \"kibana.alert.duration.us\": { readonly type: \"long\"; }; readonly \"kibana.alert.severity\": { readonly type: \"keyword\"; }; readonly \"kibana.alert.status\": { readonly type: \"keyword\"; readonly required: true; }; readonly \"kibana.alert.evaluation.threshold\": { readonly type: \"scaled_float\"; readonly scaling_factor: 100; }; readonly \"kibana.alert.evaluation.value\": { readonly type: \"scaled_float\"; readonly scaling_factor: 100; }; readonly \"kibana.version\": { readonly type: \"version\"; readonly array: false; readonly required: false; }; readonly \"ecs.version\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.severity\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.risk_score\": { readonly type: \"float\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.workflow_status\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.workflow_user\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.workflow_reason\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.system_status\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.action_group\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.reason\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.author\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.category\": { readonly type: \"keyword\"; readonly array: false; readonly required: true; }; readonly \"kibana.alert.rule.uuid\": { readonly type: \"keyword\"; readonly array: false; readonly required: true; }; readonly \"kibana.alert.rule.created_at\": { readonly type: \"date\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.created_by\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.description\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.enabled\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.from\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.interval\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.license\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.name\": { readonly type: \"keyword\"; readonly array: false; readonly required: true; }; readonly \"kibana.alert.rule.note\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.references\": { readonly type: \"keyword\"; readonly array: true; readonly required: false; }; readonly \"kibana.alert.rule.risk_score_mapping\": { readonly type: \"object\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.rule_id\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.rule_name_override\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.severity_mapping\": { readonly type: \"object\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.tags\": { readonly type: \"keyword\"; readonly array: true; readonly required: false; }; readonly \"kibana.alert.rule.to\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.type\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.updated_at\": { readonly type: \"date\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.updated_by\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.version\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly tags: { readonly type: \"keyword\"; readonly array: true; readonly required: false; }; readonly '@timestamp': { readonly type: \"date\"; readonly array: false; readonly required: true; }; readonly 'event.kind': { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly 'event.action': { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; }, \"tags\" | \"event.kind\" | \"ecs.version\" | \"event.action\" | \"kibana.alert.action_group\" | \"kibana.alert.duration.us\" | \"kibana.alert.end\" | \"kibana.alert.evaluation.threshold\" | \"kibana.alert.evaluation.value\" | \"kibana.alert.reason\" | \"kibana.alert.rule.author\" | \"kibana.alert.rule.created_at\" | \"kibana.alert.rule.created_by\" | \"kibana.alert.rule.description\" | \"kibana.alert.rule.enabled\" | \"kibana.alert.rule.from\" | \"kibana.alert.rule.interval\" | \"kibana.alert.rule.license\" | \"kibana.alert.rule.note\" | \"kibana.alert.rule.params\" | \"kibana.alert.rule.references\" | \"kibana.alert.rule.risk_score\" | \"kibana.alert.rule.risk_score_mapping\" | \"kibana.alert.rule.rule_id\" | \"kibana.alert.rule.rule_name_override\" | \"kibana.alert.rule.severity\" | \"kibana.alert.rule.severity_mapping\" | \"kibana.alert.rule.tags\" | \"kibana.alert.rule.to\" | \"kibana.alert.rule.type\" | \"kibana.alert.rule.updated_at\" | \"kibana.alert.rule.updated_by\" | \"kibana.alert.rule.version\" | \"kibana.alert.start\" | \"kibana.alert.severity\" | \"kibana.alert.system_status\" | \"kibana.alert.workflow_reason\" | \"kibana.alert.workflow_status\" | \"kibana.alert.workflow_user\" | \"kibana.version\">>" + "<{ readonly \"kibana.alert.rule.params\": { readonly type: \"keyword\"; readonly index: false; }; readonly \"kibana.alert.rule.rule_type_id\": { readonly type: \"keyword\"; readonly required: true; }; readonly \"kibana.alert.rule.consumer\": { readonly type: \"keyword\"; readonly required: true; }; readonly \"kibana.alert.rule.producer\": { readonly type: \"keyword\"; readonly required: true; }; readonly \"kibana.space_ids\": { readonly type: \"keyword\"; readonly array: true; readonly required: true; }; readonly \"kibana.alert.uuid\": { readonly type: \"keyword\"; readonly required: true; }; readonly \"kibana.alert.instance.id\": { readonly type: \"keyword\"; readonly required: true; }; readonly \"kibana.alert.start\": { readonly type: \"date\"; }; readonly \"kibana.alert.end\": { readonly type: \"date\"; }; readonly \"kibana.alert.duration.us\": { readonly type: \"long\"; }; readonly \"kibana.alert.severity\": { readonly type: \"keyword\"; }; readonly \"kibana.alert.status\": { readonly type: \"keyword\"; readonly required: true; }; readonly \"kibana.alert.evaluation.threshold\": { readonly type: \"scaled_float\"; readonly scaling_factor: 100; }; readonly \"kibana.alert.evaluation.value\": { readonly type: \"scaled_float\"; readonly scaling_factor: 100; }; readonly \"kibana.version\": { readonly type: \"version\"; readonly array: false; readonly required: false; }; readonly \"ecs.version\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.severity\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.risk_score\": { readonly type: \"float\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.risk_score\": { readonly type: \"float\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.workflow_status\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.workflow_user\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.workflow_reason\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.system_status\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.action_group\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.reason\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.author\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.category\": { readonly type: \"keyword\"; readonly array: false; readonly required: true; }; readonly \"kibana.alert.rule.uuid\": { readonly type: \"keyword\"; readonly array: false; readonly required: true; }; readonly \"kibana.alert.rule.created_at\": { readonly type: \"date\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.created_by\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.description\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.enabled\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.from\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.interval\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.license\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.name\": { readonly type: \"keyword\"; readonly array: false; readonly required: true; }; readonly \"kibana.alert.rule.note\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.references\": { readonly type: \"keyword\"; readonly array: true; readonly required: false; }; readonly \"kibana.alert.rule.risk_score_mapping\": { readonly type: \"object\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.rule_id\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.rule_name_override\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.severity_mapping\": { readonly type: \"object\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.tags\": { readonly type: \"keyword\"; readonly array: true; readonly required: false; }; readonly \"kibana.alert.rule.to\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.type\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.updated_at\": { readonly type: \"date\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.updated_by\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly \"kibana.alert.rule.version\": { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly tags: { readonly type: \"keyword\"; readonly array: true; readonly required: false; }; readonly '@timestamp': { readonly type: \"date\"; readonly array: false; readonly required: true; }; readonly 'event.kind': { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; readonly 'event.action': { readonly type: \"keyword\"; readonly array: false; readonly required: false; }; }, \"tags\" | \"event.kind\" | \"ecs.version\" | \"event.action\" | \"kibana.alert.action_group\" | \"kibana.alert.duration.us\" | \"kibana.alert.end\" | \"kibana.alert.evaluation.threshold\" | \"kibana.alert.evaluation.value\" | \"kibana.alert.reason\" | \"kibana.alert.risk_score\" | \"kibana.alert.rule.author\" | \"kibana.alert.rule.created_at\" | \"kibana.alert.rule.created_by\" | \"kibana.alert.rule.description\" | \"kibana.alert.rule.enabled\" | \"kibana.alert.rule.from\" | \"kibana.alert.rule.interval\" | \"kibana.alert.rule.license\" | \"kibana.alert.rule.note\" | \"kibana.alert.rule.params\" | \"kibana.alert.rule.references\" | \"kibana.alert.rule.risk_score\" | \"kibana.alert.rule.risk_score_mapping\" | \"kibana.alert.rule.rule_id\" | \"kibana.alert.rule.rule_name_override\" | \"kibana.alert.rule.severity\" | \"kibana.alert.rule.severity_mapping\" | \"kibana.alert.rule.tags\" | \"kibana.alert.rule.to\" | \"kibana.alert.rule.type\" | \"kibana.alert.rule.updated_at\" | \"kibana.alert.rule.updated_by\" | \"kibana.alert.rule.version\" | \"kibana.alert.start\" | \"kibana.alert.severity\" | \"kibana.alert.system_status\" | \"kibana.alert.workflow_reason\" | \"kibana.alert.workflow_status\" | \"kibana.alert.workflow_user\" | \"kibana.version\">>" ], "path": "x-pack/plugins/rule_registry/common/parse_technical_fields.ts", "deprecated": false, diff --git a/api_docs/rule_registry.mdx b/api_docs/rule_registry.mdx index 7e05924fca263d..37d7da15b1e847 100644 --- a/api_docs/rule_registry.mdx +++ b/api_docs/rule_registry.mdx @@ -18,7 +18,7 @@ Contact [RAC](https://github.com/orgs/elastic/teams/rac) for questions regarding | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 136 | 0 | 113 | 7 | +| 153 | 0 | 127 | 7 | ## Server diff --git a/api_docs/saved_objects.json b/api_docs/saved_objects.json index 9cb53a0ada85b5..b74a0a1fc83be2 100644 --- a/api_docs/saved_objects.json +++ b/api_docs/saved_objects.json @@ -560,42 +560,6 @@ "path": "src/plugins/saved_objects/public/saved_object/saved_object_loader.ts", "deprecated": true, "references": [ - { - "plugin": "discover", - "path": "src/plugins/discover/public/saved_searches/legacy/saved_searches.ts" - }, - { - "plugin": "discover", - "path": "src/plugins/discover/public/saved_searches/legacy/saved_searches.ts" - }, - { - "plugin": "discover", - "path": "src/plugins/discover/public/plugin.tsx" - }, - { - "plugin": "discover", - "path": "src/plugins/discover/public/plugin.tsx" - }, - { - "plugin": "visualizations", - "path": "src/plugins/visualizations/public/saved_visualizations/find_list_items.ts" - }, - { - "plugin": "visualizations", - "path": "src/plugins/visualizations/public/saved_visualizations/find_list_items.ts" - }, - { - "plugin": "visualizations", - "path": "src/plugins/visualizations/public/saved_visualizations/saved_visualizations.ts" - }, - { - "plugin": "visualizations", - "path": "src/plugins/visualizations/public/saved_visualizations/saved_visualizations.ts" - }, - { - "plugin": "visualizations", - "path": "src/plugins/visualizations/public/saved_visualizations/saved_visualizations.ts" - }, { "plugin": "dashboard", "path": "src/plugins/dashboard/public/services/saved_objects.ts" @@ -2090,30 +2054,6 @@ "plugin": "savedObjectsTaggingOss", "path": "src/plugins/saved_objects_tagging_oss/public/api.ts" }, - { - "plugin": "discover", - "path": "src/plugins/discover/public/saved_searches/legacy/_saved_search.ts" - }, - { - "plugin": "discover", - "path": "src/plugins/discover/public/saved_searches/legacy/_saved_search.ts" - }, - { - "plugin": "visualizations", - "path": "src/plugins/visualizations/public/saved_visualizations/_saved_vis.ts" - }, - { - "plugin": "visualizations", - "path": "src/plugins/visualizations/public/saved_visualizations/_saved_vis.ts" - }, - { - "plugin": "visualizations", - "path": "src/plugins/visualizations/public/saved_visualizations/_saved_vis.ts" - }, - { - "plugin": "visualizations", - "path": "src/plugins/visualizations/public/saved_visualizations/_saved_vis.ts" - }, { "plugin": "savedObjectsTaggingOss", "path": "src/plugins/saved_objects_tagging_oss/public/decorator/types.ts" @@ -3705,14 +3645,6 @@ "path": "src/plugins/saved_objects/public/plugin.ts", "deprecated": true, "references": [ - { - "plugin": "discover", - "path": "src/plugins/discover/public/saved_searches/legacy/_saved_search.ts" - }, - { - "plugin": "visualizations", - "path": "src/plugins/visualizations/public/saved_visualizations/_saved_vis.ts" - }, { "plugin": "dashboard", "path": "src/plugins/dashboard/public/saved_dashboards/saved_dashboard.ts" diff --git a/api_docs/saved_objects_management.json b/api_docs/saved_objects_management.json index 72f9ca569cc59e..674bca6084f2b8 100644 --- a/api_docs/saved_objects_management.json +++ b/api_docs/saved_objects_management.json @@ -837,7 +837,9 @@ "section": "def-public.SavedObjectsManagementRecord", "text": "SavedObjectsManagementRecord" }, - ">) => React.ReactNode) | undefined; colSpan?: number | undefined; headers?: string | undefined; rowSpan?: number | undefined; scope?: string | undefined; valign?: \"top\" | \"bottom\" | \"baseline\" | \"middle\" | undefined; dataType?: \"string\" | \"number\" | \"boolean\" | \"date\" | \"auto\" | undefined; isExpander?: boolean | undefined; textOnly?: boolean | undefined; truncateText?: boolean | undefined; isMobileHeader?: boolean | undefined; mobileOptions?: { show?: boolean | undefined; only?: boolean | undefined; render?: ((item: ", + ">) => React.ReactNode) | undefined; colSpan?: number | undefined; headers?: string | undefined; rowSpan?: number | undefined; scope?: string | undefined; valign?: \"top\" | \"bottom\" | \"baseline\" | \"middle\" | undefined; dataType?: \"string\" | \"number\" | \"boolean\" | \"date\" | \"auto\" | undefined; isExpander?: boolean | undefined; textOnly?: boolean | undefined; truncateText?: boolean | undefined; isMobileHeader?: boolean | undefined; mobileOptions?: (Pick<", + "EuiTableRowCellMobileOptionsShape", + ", \"fullWidth\" | \"width\" | \"header\" | \"show\" | \"only\" | \"enlarge\"> & { render?: ((item: ", { "pluginId": "savedObjectsManagement", "scope": "public", @@ -845,7 +847,7 @@ "section": "def-public.SavedObjectsManagementRecord", "text": "SavedObjectsManagementRecord" }, - ") => React.ReactNode) | undefined; header?: boolean | undefined; } | undefined; hideForMobile?: boolean | undefined; }" + ") => React.ReactNode) | undefined; }) | undefined; hideForMobile?: boolean | undefined; }" ], "path": "src/plugins/saved_objects_management/public/services/types/column.ts", "deprecated": false diff --git a/api_docs/security.json b/api_docs/security.json index 0bdd1c3689fa66..afa98bc21993d1 100644 --- a/api_docs/security.json +++ b/api_docs/security.json @@ -331,21 +331,6 @@ "path": "x-pack/plugins/security/common/licensing/license_features.ts", "deprecated": false }, - { - "parentPluginId": "security", - "id": "def-public.SecurityLicenseFeatures.allowLegacyAuditLogging", - "type": "boolean", - "tags": [ - "deprecated" - ], - "label": "allowLegacyAuditLogging", - "description": [ - "\nIndicates whether we allow logging of legacy audit events." - ], - "path": "x-pack/plugins/security/common/licensing/license_features.ts", - "deprecated": true, - "references": [] - }, { "parentPluginId": "security", "id": "def-public.SecurityLicenseFeatures.allowRoleDocumentLevelSecurity", @@ -904,43 +889,6 @@ } ], "returnComment": [] - }, - { - "parentPluginId": "security", - "id": "def-server.AuditServiceSetup.getLogger", - "type": "Function", - "tags": [], - "label": "getLogger", - "description": [], - "signature": [ - "(id?: string | undefined) => ", - { - "pluginId": "security", - "scope": "server", - "docId": "kibSecurityPluginApi", - "section": "def-server.LegacyAuditLogger", - "text": "LegacyAuditLogger" - } - ], - "path": "x-pack/plugins/security/server/audit/audit_service.ts", - "deprecated": false, - "children": [ - { - "parentPluginId": "security", - "id": "def-server.AuditServiceSetup.getLogger.$1", - "type": "string", - "tags": [], - "label": "id", - "description": [], - "signature": [ - "string | undefined" - ], - "path": "x-pack/plugins/security/server/audit/audit_service.ts", - "deprecated": false, - "isRequired": false - } - ], - "returnComment": [] } ], "initialIsOpen": false @@ -1403,7 +1351,7 @@ "\nDetails about these errors. This field is not present in the response when error_count is 0." ], "signature": [ - "{ type: string; reason: string; caused_by?: { type: string; reason: string; } | undefined; }[] | undefined" + "{ type?: string | undefined; reason?: string | undefined; caused_by?: { type?: string | undefined; reason?: string | undefined; } | undefined; }[] | undefined" ], "path": "x-pack/plugins/security/server/authentication/api_keys/api_keys.ts", "deprecated": false @@ -1438,121 +1386,6 @@ } ], "initialIsOpen": false - }, - { - "parentPluginId": "security", - "id": "def-server.LegacyAuditLogger", - "type": "Interface", - "tags": [ - "deprecated" - ], - "label": "LegacyAuditLogger", - "description": [], - "path": "x-pack/plugins/security/server/audit/audit_service.ts", - "deprecated": true, - "references": [ - { - "plugin": "encryptedSavedObjects", - "path": "x-pack/plugins/encrypted_saved_objects/server/audit/audit_logger.ts" - }, - { - "plugin": "encryptedSavedObjects", - "path": "x-pack/plugins/encrypted_saved_objects/server/audit/audit_logger.ts" - }, - { - "plugin": "actions", - "path": "x-pack/plugins/actions/server/authorization/audit_logger.ts" - }, - { - "plugin": "actions", - "path": "x-pack/plugins/actions/server/authorization/audit_logger.ts" - }, - { - "plugin": "actions", - "path": "x-pack/plugins/actions/server/authorization/audit_logger.ts" - }, - { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/authorization/audit_logger.ts" - }, - { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/authorization/audit_logger.ts" - }, - { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/authorization/audit_logger.ts" - }, - { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/rules_client_factory.test.ts" - }, - { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/rules_client_factory.test.ts" - } - ], - "children": [ - { - "parentPluginId": "security", - "id": "def-server.LegacyAuditLogger.log", - "type": "Function", - "tags": [], - "label": "log", - "description": [], - "signature": [ - "(eventType: string, message: string, data?: Record | undefined) => void" - ], - "path": "x-pack/plugins/security/server/audit/audit_service.ts", - "deprecated": false, - "children": [ - { - "parentPluginId": "security", - "id": "def-server.LegacyAuditLogger.log.$1", - "type": "string", - "tags": [], - "label": "eventType", - "description": [], - "signature": [ - "string" - ], - "path": "x-pack/plugins/security/server/audit/audit_service.ts", - "deprecated": false, - "isRequired": true - }, - { - "parentPluginId": "security", - "id": "def-server.LegacyAuditLogger.log.$2", - "type": "string", - "tags": [], - "label": "message", - "description": [], - "signature": [ - "string" - ], - "path": "x-pack/plugins/security/server/audit/audit_service.ts", - "deprecated": false, - "isRequired": true - }, - { - "parentPluginId": "security", - "id": "def-server.LegacyAuditLogger.log.$3", - "type": "Object", - "tags": [], - "label": "data", - "description": [], - "signature": [ - "Record | undefined" - ], - "path": "x-pack/plugins/security/server/audit/audit_service.ts", - "deprecated": false, - "isRequired": false - } - ], - "returnComment": [] - } - ], - "initialIsOpen": false } ], "enums": [], @@ -1657,6 +1490,10 @@ "plugin": "logstash", "path": "x-pack/plugins/logstash/server/routes/pipeline/save.ts" }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/request_context_factory.ts" + }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/server/lib/detection_engine/routes/signals/create_signals_migration_route.ts" @@ -1669,6 +1506,14 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/server/lib/detection_engine/routes/signals/finalize_signals_migration_route.ts" }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/routes/signals/open_close_signals_route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/preview_rules_route.ts" + }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/server/lib/timeline/utils/common.ts" @@ -1782,7 +1627,13 @@ "\nExposes services to access kibana roles per feature id with the GetDeprecationsContext" ], "signature": [ - "PrivilegeDeprecationsService" + { + "pluginId": "security", + "scope": "common", + "docId": "kibSecurityPluginApi", + "section": "def-common.PrivilegeDeprecationsService", + "text": "PrivilegeDeprecationsService" + } ], "path": "x-pack/plugins/security/server/plugin.ts", "deprecated": false @@ -1937,6 +1788,53 @@ ], "initialIsOpen": false }, + { + "parentPluginId": "security", + "id": "def-common.PrivilegeDeprecationsService", + "type": "Interface", + "tags": [], + "label": "PrivilegeDeprecationsService", + "description": [], + "path": "x-pack/plugins/security/common/model/deprecations.ts", + "deprecated": false, + "children": [ + { + "parentPluginId": "security", + "id": "def-common.PrivilegeDeprecationsService.getKibanaRolesByFeatureId", + "type": "Function", + "tags": [], + "label": "getKibanaRolesByFeatureId", + "description": [], + "signature": [ + "(args: ", + "PrivilegeDeprecationsRolesByFeatureIdRequest", + ") => Promise<", + "PrivilegeDeprecationsRolesByFeatureIdResponse", + ">" + ], + "path": "x-pack/plugins/security/common/model/deprecations.ts", + "deprecated": false, + "children": [ + { + "parentPluginId": "security", + "id": "def-common.PrivilegeDeprecationsService.getKibanaRolesByFeatureId.$1", + "type": "Object", + "tags": [], + "label": "args", + "description": [], + "signature": [ + "PrivilegeDeprecationsRolesByFeatureIdRequest" + ], + "path": "x-pack/plugins/security/common/model/deprecations.ts", + "deprecated": false, + "isRequired": true + } + ], + "returnComment": [] + } + ], + "initialIsOpen": false + }, { "parentPluginId": "security", "id": "def-common.SecurityLicense", diff --git a/api_docs/security.mdx b/api_docs/security.mdx index 7c5a336fed7e72..05a99d36574bd4 100644 --- a/api_docs/security.mdx +++ b/api_docs/security.mdx @@ -18,7 +18,7 @@ Contact [Platform Security](https://github.com/orgs/elastic/teams/kibana-securit | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 113 | 0 | 51 | 7 | +| 108 | 0 | 47 | 8 | ## Client diff --git a/api_docs/security_solution.json b/api_docs/security_solution.json index e159e936e8f423..c9d99bbd069c81 100644 --- a/api_docs/security_solution.json +++ b/api_docs/security_solution.json @@ -317,7 +317,9 @@ }, "; templateTimelineId: string | null; templateTimelineVersion: number | null; noteIds: string[]; pinnedEventIds: Record; pinnedEventsSaveObject: Record; showSaveModal?: boolean | undefined; savedQueryId?: string | null | undefined; show: boolean; status: ", + ">; resolveTimelineConfig?: ", + "ResolveTimelineConfig", + " | undefined; showSaveModal?: boolean | undefined; savedQueryId?: string | null | undefined; show: boolean; status: ", { "pluginId": "securitySolution", "scope": "common", @@ -407,14 +409,18 @@ { "parentPluginId": "securitySolution", "id": "def-server.AppClient.Unnamed.$2", - "type": "Object", + "type": "CompoundType", "tags": [], "label": "config", "description": [], "signature": [ - "Readonly<{} & { enabled: boolean; signalsIndex: string; maxRuleImportExportSize: number; maxRuleImportPayloadBytes: number; maxTimelineImportExportSize: number; maxTimelineImportPayloadBytes: number; alertMergeStrategy: \"allFields\" | \"missingFields\" | \"noFields\"; alertIgnoreFields: string[]; enableExperimental: string[]; ruleExecutionLog: Readonly<{} & { underlyingClient: ", - "UnderlyingLogClient", - "; }>; endpointResultListDefaultFirstPageIndex: number; endpointResultListDefaultPageSize: number; packagerTaskInterval: string; prebuiltRulesFromFileSystem: boolean; prebuiltRulesFromSavedObjects: boolean; }>" + { + "pluginId": "securitySolution", + "scope": "server", + "docId": "kibSecuritySolutionPluginApi", + "section": "def-server.ConfigType", + "text": "ConfigType" + } ], "path": "x-pack/plugins/security_solution/server/client/client.ts", "deprecated": false, @@ -438,6 +444,21 @@ "children": [], "returnComment": [] }, + { + "parentPluginId": "securitySolution", + "id": "def-server.AppClient.getPreviewIndex", + "type": "Function", + "tags": [], + "label": "getPreviewIndex", + "description": [], + "signature": [ + "() => string" + ], + "path": "x-pack/plugins/security_solution/server/client/client.ts", + "deprecated": false, + "children": [], + "returnComment": [] + }, { "parentPluginId": "securitySolution", "id": "def-server.AppClient.getSpaceId", @@ -551,21 +572,21 @@ "pluginId": "securitySolution", "scope": "server", "docId": "kibSecuritySolutionPluginApi", - "section": "def-server.PluginSetup", - "text": "PluginSetup" + "section": "def-server.SecuritySolutionPluginSetup", + "text": "SecuritySolutionPluginSetup" }, ", ", { "pluginId": "securitySolution", "scope": "server", "docId": "kibSecuritySolutionPluginApi", - "section": "def-server.PluginStart", - "text": "PluginStart" + "section": "def-server.SecuritySolutionPluginStart", + "text": "SecuritySolutionPluginStart" }, ", ", - "SetupPlugins", + "SecuritySolutionPluginSetupDependencies", ", ", - "StartPlugins", + "SecuritySolutionPluginStartDependencies", ">" ], "path": "x-pack/plugins/security_solution/server/plugin.ts", @@ -617,26 +638,17 @@ "description": [], "signature": [ "(core: ", - { - "pluginId": "core", - "scope": "server", - "docId": "kibCorePluginApi", - "section": "def-server.CoreSetup", - "text": "CoreSetup" - }, - "<", - "StartPlugins", - ", ", + "SecuritySolutionPluginCoreSetupDependencies", + ", plugins: ", + "SecuritySolutionPluginSetupDependencies", + ") => ", { "pluginId": "securitySolution", "scope": "server", "docId": "kibSecuritySolutionPluginApi", - "section": "def-server.PluginStart", - "text": "PluginStart" - }, - ">, plugins: ", - "SetupPlugins", - ") => {}" + "section": "def-server.SecuritySolutionPluginSetup", + "text": "SecuritySolutionPluginSetup" + } ], "path": "x-pack/plugins/security_solution/server/plugin.ts", "deprecated": false, @@ -649,24 +661,7 @@ "label": "core", "description": [], "signature": [ - { - "pluginId": "core", - "scope": "server", - "docId": "kibCorePluginApi", - "section": "def-server.CoreSetup", - "text": "CoreSetup" - }, - "<", - "StartPlugins", - ", ", - { - "pluginId": "securitySolution", - "scope": "server", - "docId": "kibSecuritySolutionPluginApi", - "section": "def-server.PluginStart", - "text": "PluginStart" - }, - ">" + "SecuritySolutionPluginCoreSetupDependencies" ], "path": "x-pack/plugins/security_solution/server/plugin.ts", "deprecated": false, @@ -680,7 +675,7 @@ "label": "plugins", "description": [], "signature": [ - "SetupPlugins" + "SecuritySolutionPluginSetupDependencies" ], "path": "x-pack/plugins/security_solution/server/plugin.ts", "deprecated": false, @@ -706,8 +701,15 @@ "text": "CoreStart" }, ", plugins: ", - "StartPlugins", - ") => {}" + "SecuritySolutionPluginStartDependencies", + ") => ", + { + "pluginId": "securitySolution", + "scope": "server", + "docId": "kibSecuritySolutionPluginApi", + "section": "def-server.SecuritySolutionPluginStart", + "text": "SecuritySolutionPluginStart" + } ], "path": "x-pack/plugins/security_solution/server/plugin.ts", "deprecated": false, @@ -740,7 +742,7 @@ "label": "plugins", "description": [], "signature": [ - "StartPlugins" + "SecuritySolutionPluginStartDependencies" ], "path": "x-pack/plugins/security_solution/server/plugin.ts", "deprecated": false, @@ -777,9 +779,64 @@ "tags": [], "label": "SecuritySolutionApiRequestHandlerContext", "description": [], + "signature": [ + { + "pluginId": "securitySolution", + "scope": "server", + "docId": "kibSecuritySolutionPluginApi", + "section": "def-server.SecuritySolutionApiRequestHandlerContext", + "text": "SecuritySolutionApiRequestHandlerContext" + }, + " extends ", + { + "pluginId": "core", + "scope": "server", + "docId": "kibCorePluginApi", + "section": "def-server.RequestHandlerContext", + "text": "RequestHandlerContext" + } + ], "path": "x-pack/plugins/security_solution/server/types.ts", "deprecated": false, "children": [ + { + "parentPluginId": "securitySolution", + "id": "def-server.SecuritySolutionApiRequestHandlerContext.getConfig", + "type": "Function", + "tags": [], + "label": "getConfig", + "description": [], + "signature": [ + "() => ", + { + "pluginId": "securitySolution", + "scope": "server", + "docId": "kibSecuritySolutionPluginApi", + "section": "def-server.ConfigType", + "text": "ConfigType" + } + ], + "path": "x-pack/plugins/security_solution/server/types.ts", + "deprecated": false, + "children": [], + "returnComment": [] + }, + { + "parentPluginId": "securitySolution", + "id": "def-server.SecuritySolutionApiRequestHandlerContext.getFrameworkRequest", + "type": "Function", + "tags": [], + "label": "getFrameworkRequest", + "description": [], + "signature": [ + "() => ", + "FrameworkRequest" + ], + "path": "x-pack/plugins/security_solution/server/types.ts", + "deprecated": false, + "children": [], + "returnComment": [] + }, { "parentPluginId": "securitySolution", "id": "def-server.SecuritySolutionApiRequestHandlerContext.getAppClient", @@ -817,6 +874,28 @@ "children": [], "returnComment": [] }, + { + "parentPluginId": "securitySolution", + "id": "def-server.SecuritySolutionApiRequestHandlerContext.getRuleDataService", + "type": "Function", + "tags": [], + "label": "getRuleDataService", + "description": [], + "signature": [ + "() => ", + { + "pluginId": "ruleRegistry", + "scope": "server", + "docId": "kibRuleRegistryPluginApi", + "section": "def-server.IRuleDataService", + "text": "IRuleDataService" + } + ], + "path": "x-pack/plugins/security_solution/server/types.ts", + "deprecated": false, + "children": [], + "returnComment": [] + }, { "parentPluginId": "securitySolution", "id": "def-server.SecuritySolutionApiRequestHandlerContext.getExecutionLogClient", @@ -826,7 +905,30 @@ "description": [], "signature": [ "() => ", - "RuleExecutionLogClient" + "IRuleExecutionLogClient" + ], + "path": "x-pack/plugins/security_solution/server/types.ts", + "deprecated": false, + "children": [], + "returnComment": [] + }, + { + "parentPluginId": "securitySolution", + "id": "def-server.SecuritySolutionApiRequestHandlerContext.getExceptionListClient", + "type": "Function", + "tags": [], + "label": "getExceptionListClient", + "description": [], + "signature": [ + "() => ", + { + "pluginId": "lists", + "scope": "server", + "docId": "kibListsPluginApi", + "section": "def-server.ExceptionListClient", + "text": "ExceptionListClient" + }, + " | null" ], "path": "x-pack/plugins/security_solution/server/types.ts", "deprecated": false, @@ -847,9 +949,9 @@ "label": "ConfigType", "description": [], "signature": [ - "{ readonly enabled: boolean; readonly signalsIndex: string; readonly maxRuleImportExportSize: number; readonly maxRuleImportPayloadBytes: number; readonly maxTimelineImportExportSize: number; readonly maxTimelineImportPayloadBytes: number; readonly alertMergeStrategy: \"allFields\" | \"missingFields\" | \"noFields\"; readonly alertIgnoreFields: string[]; readonly enableExperimental: string[]; readonly ruleExecutionLog: Readonly<{} & { underlyingClient: ", + "Readonly<{} & { signalsIndex: string; maxRuleImportExportSize: number; maxRuleImportPayloadBytes: number; maxTimelineImportExportSize: number; maxTimelineImportPayloadBytes: number; alertMergeStrategy: \"allFields\" | \"missingFields\" | \"noFields\"; alertIgnoreFields: string[]; enableExperimental: string[]; ruleExecutionLog: Readonly<{} & { underlyingClient: ", "UnderlyingLogClient", - "; }>; readonly endpointResultListDefaultFirstPageIndex: number; readonly endpointResultListDefaultPageSize: number; readonly packagerTaskInterval: string; readonly prebuiltRulesFromFileSystem: boolean; readonly prebuiltRulesFromSavedObjects: boolean; }" + "; }>; endpointResultListDefaultFirstPageIndex: number; endpointResultListDefaultPageSize: number; packagerTaskInterval: string; prebuiltRulesFromFileSystem: boolean; prebuiltRulesFromSavedObjects: boolean; }> & { experimentalFeatures: Readonly<{ metricsEntitiesEnabled: boolean; ruleRegistryEnabled: boolean; tGridEnabled: boolean; tGridEventRenderedViewEnabled: boolean; trustedAppsByPolicyEnabled: boolean; excludePoliciesInFilterEnabled: boolean; uebaEnabled: boolean; disableIsolationUIPendingStatuses: boolean; riskyHostsEnabled: boolean; }>; }" ], "path": "x-pack/plugins/security_solution/server/config.ts", "deprecated": false, @@ -859,12 +961,12 @@ "objects": [], "setup": { "parentPluginId": "securitySolution", - "id": "def-server.PluginSetup", + "id": "def-server.SecuritySolutionPluginSetup", "type": "Interface", "tags": [], - "label": "PluginSetup", + "label": "SecuritySolutionPluginSetup", "description": [], - "path": "x-pack/plugins/security_solution/server/plugin.ts", + "path": "x-pack/plugins/security_solution/server/plugin_contract.ts", "deprecated": false, "children": [], "lifecycle": "setup", @@ -872,12 +974,12 @@ }, "start": { "parentPluginId": "securitySolution", - "id": "def-server.PluginStart", + "id": "def-server.SecuritySolutionPluginStart", "type": "Interface", "tags": [], - "label": "PluginStart", + "label": "SecuritySolutionPluginStart", "description": [], - "path": "x-pack/plugins/security_solution/server/plugin.ts", + "path": "x-pack/plugins/security_solution/server/plugin_contract.ts", "deprecated": false, "children": [], "lifecycle": "start", @@ -13918,6 +14020,60 @@ ], "initialIsOpen": false }, + { + "parentPluginId": "securitySolution", + "id": "def-common.PreviewHistogramGroupData", + "type": "Interface", + "tags": [], + "label": "PreviewHistogramGroupData", + "description": [], + "path": "x-pack/plugins/security_solution/common/search_strategy/security_solution/matrix_histogram/preview/index.ts", + "deprecated": false, + "children": [ + { + "parentPluginId": "securitySolution", + "id": "def-common.PreviewHistogramGroupData.key", + "type": "string", + "tags": [], + "label": "key", + "description": [], + "path": "x-pack/plugins/security_solution/common/search_strategy/security_solution/matrix_histogram/preview/index.ts", + "deprecated": false + }, + { + "parentPluginId": "securitySolution", + "id": "def-common.PreviewHistogramGroupData.doc_count", + "type": "number", + "tags": [], + "label": "doc_count", + "description": [], + "path": "x-pack/plugins/security_solution/common/search_strategy/security_solution/matrix_histogram/preview/index.ts", + "deprecated": false + }, + { + "parentPluginId": "securitySolution", + "id": "def-common.PreviewHistogramGroupData.preview", + "type": "Object", + "tags": [], + "label": "preview", + "description": [], + "signature": [ + "{ buckets: ", + { + "pluginId": "securitySolution", + "scope": "common", + "docId": "kibSecuritySolutionPluginApi", + "section": "def-common.HistogramBucket", + "text": "HistogramBucket" + }, + "[]; }" + ], + "path": "x-pack/plugins/security_solution/common/search_strategy/security_solution/matrix_histogram/preview/index.ts", + "deprecated": false + } + ], + "initialIsOpen": false + }, { "parentPluginId": "securitySolution", "id": "def-common.QueryMatch", @@ -16253,6 +16409,19 @@ ], "path": "x-pack/plugins/timelines/common/search_strategy/timeline/events/details/index.ts", "deprecated": false + }, + { + "parentPluginId": "securitySolution", + "id": "def-common.TimelineEventsDetailsStrategyResponse.rawEventData", + "type": "CompoundType", + "tags": [], + "label": "rawEventData", + "description": [], + "signature": [ + "object | null | undefined" + ], + "path": "x-pack/plugins/timelines/common/search_strategy/timeline/events/details/index.ts", + "deprecated": false } ], "initialIsOpen": false @@ -19369,41 +19538,49 @@ ], "signature": [ "EuiDataGridCellValueElementProps", - " & { data: ", + " & { asPlainText?: boolean | undefined; browserFields?: Readonly>> | undefined; data: ", { "pluginId": "timelines", "scope": "common", "docId": "kibTimelinesPluginApi", - "section": "def-common.ColumnHeaderOptions", - "text": "ColumnHeaderOptions" + "section": "def-common.TimelineNonEcsData", + "text": "TimelineNonEcsData" }, - "; isDraggable: boolean; linkValues: string[] | undefined; timelineId: string; setFlyoutAlert?: ((data: any) => void) | undefined; ecsData?: ", + "[]; ecsData?: ", "Ecs", - " | undefined; rowRenderers?: ", + " | undefined; eventId: string; globalFilters?: ", + { + "pluginId": "@kbn/es-query", + "scope": "common", + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.Filter", + "text": "Filter" + }, + "[] | undefined; header: ", { "pluginId": "timelines", "scope": "common", "docId": "kibTimelinesPluginApi", - "section": "def-common.RowRenderer", - "text": "RowRenderer" + "section": "def-common.ColumnHeaderOptions", + "text": "ColumnHeaderOptions" }, - "[] | undefined; browserFields?: Readonly>> | undefined; }" + "[] | undefined; setFlyoutAlert?: ((data: any) => void) | undefined; timelineId: string; truncate?: boolean | undefined; }" ], "path": "x-pack/plugins/timelines/common/types/timeline/cells/index.ts", "deprecated": false, @@ -20180,6 +20357,22 @@ "section": "def-common.MatrixHistogramType", "text": "MatrixHistogramType" }, + ">; preview: ", + { + "pluginId": "securitySolution", + "scope": "common", + "docId": "kibSecuritySolutionPluginApi", + "section": "def-common.MatrixHistogramSchema", + "text": "MatrixHistogramSchema" + }, + "<", + { + "pluginId": "securitySolution", + "scope": "common", + "docId": "kibSecuritySolutionPluginApi", + "section": "def-common.MatrixHistogramType", + "text": "MatrixHistogramType" + }, ">; }" ], "path": "x-pack/plugins/security_solution/common/search_strategy/security_solution/matrix_histogram/index.ts", @@ -20202,15 +20395,7 @@ "section": "def-common.MatrixHistogramType", "text": "MatrixHistogramType" }, - ".alerts ? ", - { - "pluginId": "securitySolution", - "scope": "common", - "docId": "kibSecuritySolutionPluginApi", - "section": "def-common.EventHit", - "text": "EventHit" - }, - " : T extends ", + ".events | ", { "pluginId": "securitySolution", "scope": "common", @@ -20218,15 +20403,15 @@ "section": "def-common.MatrixHistogramType", "text": "MatrixHistogramType" }, - ".anomalies ? ", + ".alerts | ", { "pluginId": "securitySolution", "scope": "common", "docId": "kibSecuritySolutionPluginApi", - "section": "def-common.AnomalyHit", - "text": "AnomalyHit" + "section": "def-common.MatrixHistogramType", + "text": "MatrixHistogramType" }, - " : T extends ", + ".dns | ", { "pluginId": "securitySolution", "scope": "common", @@ -20234,7 +20419,7 @@ "section": "def-common.MatrixHistogramType", "text": "MatrixHistogramType" }, - ".dns ? ", + ".preview ? ", { "pluginId": "securitySolution", "scope": "common", @@ -20250,13 +20435,13 @@ "section": "def-common.MatrixHistogramType", "text": "MatrixHistogramType" }, - ".authentications ? ", + ".anomalies ? ", { "pluginId": "securitySolution", "scope": "common", "docId": "kibSecuritySolutionPluginApi", - "section": "def-common.AuthenticationHit", - "text": "AuthenticationHit" + "section": "def-common.AnomalyHit", + "text": "AnomalyHit" }, " : T extends ", { @@ -20266,13 +20451,13 @@ "section": "def-common.MatrixHistogramType", "text": "MatrixHistogramType" }, - ".events ? ", + ".authentications ? ", { "pluginId": "securitySolution", "scope": "common", "docId": "kibSecuritySolutionPluginApi", - "section": "def-common.EventHit", - "text": "EventHit" + "section": "def-common.AuthenticationHit", + "text": "AuthenticationHit" }, " : never" ], @@ -20368,6 +20553,22 @@ "section": "def-common.EventsActionGroupData", "text": "EventsActionGroupData" }, + "[] : T extends ", + { + "pluginId": "securitySolution", + "scope": "common", + "docId": "kibSecuritySolutionPluginApi", + "section": "def-common.MatrixHistogramType", + "text": "MatrixHistogramType" + }, + ".preview ? ", + { + "pluginId": "securitySolution", + "scope": "common", + "docId": "kibSecuritySolutionPluginApi", + "section": "def-common.PreviewHistogramGroupData", + "text": "PreviewHistogramGroupData" + }, "[] : never" ], "path": "x-pack/plugins/security_solution/common/search_strategy/security_solution/matrix_histogram/index.ts", @@ -21075,7 +21276,7 @@ "section": "def-common.TimelineStatus", "text": "TimelineStatus" }, - " | null | undefined; created?: number | null | undefined; createdBy?: string | null | undefined; updated?: number | null | undefined; updatedBy?: string | null | undefined; } & { savedObjectId: string; version: string; } & { eventIdToNoteIds?: ({ timelineId: string | null; } & { eventId?: string | null | undefined; note?: string | null | undefined; created?: number | null | undefined; createdBy?: string | null | undefined; updated?: number | null | undefined; updatedBy?: string | null | undefined; } & { noteId: string; version: string; } & { timelineVersion?: string | null | undefined; })[] | undefined; noteIds?: string[] | undefined; notes?: ({ timelineId: string | null; } & { eventId?: string | null | undefined; note?: string | null | undefined; created?: number | null | undefined; createdBy?: string | null | undefined; updated?: number | null | undefined; updatedBy?: string | null | undefined; } & { noteId: string; version: string; } & { timelineVersion?: string | null | undefined; })[] | undefined; pinnedEventIds?: string[] | undefined; pinnedEventsSaveObject?: ({ pinnedEventId: string; version: string; } & { timelineId: string; eventId: string; } & { created?: number | null | undefined; createdBy?: string | null | undefined; updated?: number | null | undefined; updatedBy?: string | null | undefined; } & { timelineVersion?: string | null | undefined; })[] | undefined; }; outcome: \"conflict\" | \"exactMatch\" | \"aliasMatch\"; } & { alias_target_id?: string | undefined; }" + " | null | undefined; created?: number | null | undefined; createdBy?: string | null | undefined; updated?: number | null | undefined; updatedBy?: string | null | undefined; } & { savedObjectId: string; version: string; } & { eventIdToNoteIds?: ({ timelineId: string | null; } & { eventId?: string | null | undefined; note?: string | null | undefined; created?: number | null | undefined; createdBy?: string | null | undefined; updated?: number | null | undefined; updatedBy?: string | null | undefined; } & { noteId: string; version: string; } & { timelineVersion?: string | null | undefined; })[] | undefined; noteIds?: string[] | undefined; notes?: ({ timelineId: string | null; } & { eventId?: string | null | undefined; note?: string | null | undefined; created?: number | null | undefined; createdBy?: string | null | undefined; updated?: number | null | undefined; updatedBy?: string | null | undefined; } & { noteId: string; version: string; } & { timelineVersion?: string | null | undefined; })[] | undefined; pinnedEventIds?: string[] | undefined; pinnedEventsSaveObject?: ({ pinnedEventId: string; version: string; } & { timelineId: string; eventId: string; } & { created?: number | null | undefined; createdBy?: string | null | undefined; updated?: number | null | undefined; updatedBy?: string | null | undefined; } & { timelineVersion?: string | null | undefined; })[] | undefined; }; outcome: \"conflict\" | \"aliasMatch\" | \"exactMatch\"; } & { alias_target_id?: string | undefined; }" ], "path": "x-pack/plugins/security_solution/common/types/timeline/index.ts", "deprecated": false, @@ -21425,7 +21626,7 @@ "section": "def-common.TimelineStatus", "text": "TimelineStatus" }, - " | null | undefined; created?: number | null | undefined; createdBy?: string | null | undefined; updated?: number | null | undefined; updatedBy?: string | null | undefined; } & { savedObjectId: string; version: string; } & { eventIdToNoteIds?: ({ timelineId: string | null; } & { eventId?: string | null | undefined; note?: string | null | undefined; created?: number | null | undefined; createdBy?: string | null | undefined; updated?: number | null | undefined; updatedBy?: string | null | undefined; } & { noteId: string; version: string; } & { timelineVersion?: string | null | undefined; })[] | undefined; noteIds?: string[] | undefined; notes?: ({ timelineId: string | null; } & { eventId?: string | null | undefined; note?: string | null | undefined; created?: number | null | undefined; createdBy?: string | null | undefined; updated?: number | null | undefined; updatedBy?: string | null | undefined; } & { noteId: string; version: string; } & { timelineVersion?: string | null | undefined; })[] | undefined; pinnedEventIds?: string[] | undefined; pinnedEventsSaveObject?: ({ pinnedEventId: string; version: string; } & { timelineId: string; eventId: string; } & { created?: number | null | undefined; createdBy?: string | null | undefined; updated?: number | null | undefined; updatedBy?: string | null | undefined; } & { timelineVersion?: string | null | undefined; })[] | undefined; }; outcome: \"conflict\" | \"exactMatch\" | \"aliasMatch\"; } & { alias_target_id?: string | undefined; }; }" + " | null | undefined; created?: number | null | undefined; createdBy?: string | null | undefined; updated?: number | null | undefined; updatedBy?: string | null | undefined; } & { savedObjectId: string; version: string; } & { eventIdToNoteIds?: ({ timelineId: string | null; } & { eventId?: string | null | undefined; note?: string | null | undefined; created?: number | null | undefined; createdBy?: string | null | undefined; updated?: number | null | undefined; updatedBy?: string | null | undefined; } & { noteId: string; version: string; } & { timelineVersion?: string | null | undefined; })[] | undefined; noteIds?: string[] | undefined; notes?: ({ timelineId: string | null; } & { eventId?: string | null | undefined; note?: string | null | undefined; created?: number | null | undefined; createdBy?: string | null | undefined; updated?: number | null | undefined; updatedBy?: string | null | undefined; } & { noteId: string; version: string; } & { timelineVersion?: string | null | undefined; })[] | undefined; pinnedEventIds?: string[] | undefined; pinnedEventsSaveObject?: ({ pinnedEventId: string; version: string; } & { timelineId: string; eventId: string; } & { created?: number | null | undefined; createdBy?: string | null | undefined; updated?: number | null | undefined; updatedBy?: string | null | undefined; } & { timelineVersion?: string | null | undefined; })[] | undefined; }; outcome: \"conflict\" | \"aliasMatch\" | \"exactMatch\"; } & { alias_target_id?: string | undefined; }; }" ], "path": "x-pack/plugins/security_solution/common/types/timeline/index.ts", "deprecated": false, @@ -25490,6 +25691,16 @@ "description": [], "path": "x-pack/plugins/security_solution/common/search_strategy/security_solution/matrix_histogram/index.ts", "deprecated": false + }, + { + "parentPluginId": "securitySolution", + "id": "def-common.MatrixHistogramTypeToAggName.MatrixHistogramType.preview", + "type": "string", + "tags": [], + "label": "[MatrixHistogramType.preview]", + "description": [], + "path": "x-pack/plugins/security_solution/common/search_strategy/security_solution/matrix_histogram/index.ts", + "deprecated": false } ], "initialIsOpen": false @@ -31438,4 +31649,4 @@ } ] } -} +} \ No newline at end of file diff --git a/api_docs/security_solution.mdx b/api_docs/security_solution.mdx index fec34843bbcdbe..48a738aa0f0f25 100644 --- a/api_docs/security_solution.mdx +++ b/api_docs/security_solution.mdx @@ -18,7 +18,7 @@ Contact [Security solution](https://github.com/orgs/elastic/teams/security-solut | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 1361 | 8 | 1307 | 30 | +| 1372 | 8 | 1318 | 33 | ## Client diff --git a/api_docs/share.json b/api_docs/share.json index 992fcb9a0d43f9..97a3a987d352da 100644 --- a/api_docs/share.json +++ b/api_docs/share.json @@ -746,31 +746,31 @@ }, { "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_management/components/models_management/models_list.tsx" + "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/job_map/components/controls.tsx" }, { "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_management/components/models_management/models_list.tsx" + "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/job_map/job_map.tsx" }, { "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/job_map/components/controls.tsx" + "path": "x-pack/plugins/ml/public/application/routing/routes/data_frame_analytics/analytics_job_exploration.tsx" }, { "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/job_map/job_map.tsx" + "path": "x-pack/plugins/ml/public/application/components/anomaly_results_view_selector/anomaly_results_view_selector.tsx" }, { "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/routing/routes/data_frame_analytics/analytics_job_exploration.tsx" + "path": "x-pack/plugins/ml/public/application/timeseriesexplorer/components/timeseriesexplorer_no_jobs_found/timeseriesexplorer_no_jobs_found.tsx" }, { "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/components/anomaly_results_view_selector/anomaly_results_view_selector.tsx" + "path": "x-pack/plugins/ml/public/application/trained_models/models_management/models_list.tsx" }, { "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/timeseriesexplorer/components/timeseriesexplorer_no_jobs_found/timeseriesexplorer_no_jobs_found.tsx" + "path": "x-pack/plugins/ml/public/application/trained_models/models_management/models_list.tsx" }, { "plugin": "ml", @@ -2567,31 +2567,31 @@ }, { "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_management/components/models_management/models_list.tsx" + "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/job_map/components/controls.tsx" }, { "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_management/components/models_management/models_list.tsx" + "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/job_map/job_map.tsx" }, { "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/job_map/components/controls.tsx" + "path": "x-pack/plugins/ml/public/application/routing/routes/data_frame_analytics/analytics_job_exploration.tsx" }, { "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/data_frame_analytics/pages/job_map/job_map.tsx" + "path": "x-pack/plugins/ml/public/application/components/anomaly_results_view_selector/anomaly_results_view_selector.tsx" }, { "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/routing/routes/data_frame_analytics/analytics_job_exploration.tsx" + "path": "x-pack/plugins/ml/public/application/timeseriesexplorer/components/timeseriesexplorer_no_jobs_found/timeseriesexplorer_no_jobs_found.tsx" }, { "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/components/anomaly_results_view_selector/anomaly_results_view_selector.tsx" + "path": "x-pack/plugins/ml/public/application/trained_models/models_management/models_list.tsx" }, { "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/timeseriesexplorer/components/timeseriesexplorer_no_jobs_found/timeseriesexplorer_no_jobs_found.tsx" + "path": "x-pack/plugins/ml/public/application/trained_models/models_management/models_list.tsx" }, { "plugin": "ml", diff --git a/api_docs/snapshot_restore.json b/api_docs/snapshot_restore.json index cf287398b337fb..1c18673b2e47c4 100644 --- a/api_docs/snapshot_restore.json +++ b/api_docs/snapshot_restore.json @@ -107,14 +107,13 @@ }, { "parentPluginId": "snapshotRestore", - "id": "def-common.PLUGIN_REPOSITORY_TYPES", - "type": "Array", + "id": "def-common.MAJOR_VERSION", + "type": "string", "tags": [], - "label": "PLUGIN_REPOSITORY_TYPES", + "label": "MAJOR_VERSION", "description": [], "signature": [ - "RepositoryType", - "[]" + "\"8.0.0\"" ], "path": "x-pack/plugins/snapshot_restore/common/constants.ts", "deprecated": false, @@ -122,15 +121,14 @@ }, { "parentPluginId": "snapshotRestore", - "id": "def-common.SNAPSHOT_LIST_MAX_SIZE", - "type": "number", + "id": "def-common.PLUGIN_REPOSITORY_TYPES", + "type": "Array", "tags": [], - "label": "SNAPSHOT_LIST_MAX_SIZE", - "description": [ - "\n[Temporary workaround] In order to prevent client-side performance issues for users with a large number of snapshots,\nwe set a hard-coded limit on the number of snapshots we return from the ES snapshots API" - ], + "label": "PLUGIN_REPOSITORY_TYPES", + "description": [], "signature": [ - "1000" + "RepositoryType", + "[]" ], "path": "x-pack/plugins/snapshot_restore/common/constants.ts", "deprecated": false, diff --git a/api_docs/snapshot_restore.mdx b/api_docs/snapshot_restore.mdx index 8d8e7fc2100093..69daae99cf38eb 100644 --- a/api_docs/snapshot_restore.mdx +++ b/api_docs/snapshot_restore.mdx @@ -18,7 +18,7 @@ Contact [Stack Management](https://github.com/orgs/elastic/teams/kibana-stack-ma | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 23 | 1 | 22 | 1 | +| 23 | 1 | 23 | 1 | ## Common diff --git a/api_docs/spaces.json b/api_docs/spaces.json index fc7550b607c660..35b90c9ad974e0 100644 --- a/api_docs/spaces.json +++ b/api_docs/spaces.json @@ -2622,7 +2622,7 @@ }, { "plugin": "apm", - "path": "x-pack/plugins/apm/server/routes/index_pattern.ts" + "path": "x-pack/plugins/apm/server/routes/data_view.ts" }, { "plugin": "infra", @@ -2638,7 +2638,11 @@ }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/plugin.ts" + "path": "x-pack/plugins/security_solution/server/request_context_factory.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/request_context_factory.ts" }, { "plugin": "securitySolution", @@ -3384,7 +3388,7 @@ }, { "plugin": "apm", - "path": "x-pack/plugins/apm/server/routes/index_pattern.ts" + "path": "x-pack/plugins/apm/server/routes/data_view.ts" }, { "plugin": "infra", @@ -3404,7 +3408,11 @@ }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/plugin.ts" + "path": "x-pack/plugins/security_solution/server/request_context_factory.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/request_context_factory.ts" }, { "plugin": "securitySolution", diff --git a/api_docs/telemetry_collection_manager.json b/api_docs/telemetry_collection_manager.json index 7b8178d4499b7b..681f3aabcddd61 100644 --- a/api_docs/telemetry_collection_manager.json +++ b/api_docs/telemetry_collection_manager.json @@ -74,15 +74,13 @@ "signature": [ "Pick<", "KibanaClient", - ", \"monitoring\" | \"security\" | \"create\" | \"index\" | \"delete\" | \"get\" | \"update\" | \"closePointInTime\" | \"search\" | \"transform\" | \"eql\" | \"helpers\" | \"emit\" | \"on\" | \"once\" | \"off\" | \"asyncSearch\" | \"autoscaling\" | \"bulk\" | \"cat\" | \"ccr\" | \"clearScroll\" | \"cluster\" | \"count\" | \"danglingIndices\" | \"dataFrameTransformDeprecated\" | \"deleteByQuery\" | \"deleteByQueryRethrottle\" | \"deleteScript\" | \"enrich\" | \"exists\" | \"existsSource\" | \"explain\" | \"features\" | \"fieldCaps\" | \"fleet\" | \"getScript\" | \"getScriptContext\" | \"getScriptLanguages\" | \"getSource\" | \"graph\" | \"ilm\" | \"indices\" | \"info\" | \"ingest\" | \"license\" | \"logstash\" | \"mget\" | \"migration\" | \"ml\" | \"msearch\" | \"msearchTemplate\" | \"mtermvectors\" | \"nodes\" | \"openPointInTime\" | \"ping\" | \"putScript\" | \"rankEval\" | \"reindex\" | \"reindexRethrottle\" | \"renderSearchTemplate\" | \"rollup\" | \"scriptsPainlessExecute\" | \"scroll\" | \"searchShards\" | \"searchTemplate\" | \"searchableSnapshots\" | \"shutdown\" | \"slm\" | \"snapshot\" | \"sql\" | \"ssl\" | \"tasks\" | \"termsEnum\" | \"termvectors\" | \"textStructure\" | \"updateByQuery\" | \"updateByQueryRethrottle\" | \"watcher\" | \"xpack\"> & { transport: { request(params: ", + ", \"monitoring\" | \"security\" | \"create\" | \"name\" | \"index\" | \"delete\" | \"get\" | \"update\" | \"closePointInTime\" | \"search\" | \"transform\" | \"eql\" | \"helpers\" | \"asyncSearch\" | \"autoscaling\" | \"bulk\" | \"cat\" | \"ccr\" | \"clearScroll\" | \"cluster\" | \"count\" | \"danglingIndices\" | \"deleteByQuery\" | \"deleteByQueryRethrottle\" | \"deleteScript\" | \"enrich\" | \"exists\" | \"existsSource\" | \"explain\" | \"features\" | \"fieldCaps\" | \"fleet\" | \"getScript\" | \"getScriptContext\" | \"getScriptLanguages\" | \"getSource\" | \"graph\" | \"ilm\" | \"indices\" | \"info\" | \"ingest\" | \"knnSearch\" | \"license\" | \"logstash\" | \"mget\" | \"migration\" | \"ml\" | \"msearch\" | \"msearchTemplate\" | \"mtermvectors\" | \"nodes\" | \"openPointInTime\" | \"ping\" | \"putScript\" | \"rankEval\" | \"reindex\" | \"reindexRethrottle\" | \"renderSearchTemplate\" | \"rollup\" | \"scriptsPainlessExecute\" | \"scroll\" | \"searchMvt\" | \"searchShards\" | \"searchTemplate\" | \"searchableSnapshots\" | \"shutdown\" | \"slm\" | \"snapshot\" | \"sql\" | \"ssl\" | \"tasks\" | \"termsEnum\" | \"termvectors\" | \"textStructure\" | \"updateByQuery\" | \"updateByQueryRethrottle\" | \"watcher\" | \"xpack\"> & { transport: { request(params: ", "TransportRequestParams", ", options?: ", "TransportRequestOptions", - " | undefined): ", - "TransportRequestPromise", - "<", - "ApiResponse", - ", unknown>>; }; }" + " | undefined): Promise<", + "TransportResult", + ">; }; }" ], "path": "src/plugins/telemetry_collection_manager/server/types.ts", "deprecated": false @@ -776,46 +774,16 @@ "label": "getOptInStats", "description": [], "signature": [ - "(optInStatus: boolean, config: ", - { - "pluginId": "telemetryCollectionManager", - "scope": "server", - "docId": "kibTelemetryCollectionManagerPluginApi", - "section": "def-server.StatsGetterConfig", - "text": "StatsGetterConfig" - }, - ") => Promise" + "{ (optInStatus: boolean, config: ", + "UnencryptedStatsGetterConfig", + "): Promise<{ clusterUuid: string; stats: ", + "OptInStatsPayload", + "; }[]>; (optInStatus: boolean, config: ", + "EncryptedStatsGetterConfig", + "): Promise<{ clusterUuid: string; stats: string; }[]>; }" ], "path": "src/plugins/telemetry_collection_manager/server/types.ts", - "deprecated": false, - "returnComment": [], - "children": [ - { - "parentPluginId": "telemetryCollectionManager", - "id": "def-server.TelemetryCollectionManagerPluginSetup.getOptInStats.$1", - "type": "boolean", - "tags": [], - "label": "optInStatus", - "description": [], - "path": "src/plugins/telemetry_collection_manager/server/plugin.ts", - "deprecated": false - }, - { - "parentPluginId": "telemetryCollectionManager", - "id": "def-server.TelemetryCollectionManagerPluginSetup.getOptInStats.$2", - "type": "CompoundType", - "tags": [], - "label": "config", - "description": [], - "signature": [ - "UnencryptedStatsGetterConfig", - " | ", - "EncryptedStatsGetterConfig" - ], - "path": "src/plugins/telemetry_collection_manager/server/plugin.ts", - "deprecated": false - } - ] + "deprecated": false }, { "parentPluginId": "telemetryCollectionManager", @@ -827,7 +795,7 @@ "signature": [ "{ (config: ", "UnencryptedStatsGetterConfig", - "): Promise<", + "): Promise<{ clusterUuid: string; stats: ", { "pluginId": "telemetryCollectionManager", "scope": "server", @@ -835,9 +803,9 @@ "section": "def-server.UsageStatsPayload", "text": "UsageStatsPayload" }, - "[]>; (config: ", + "; }[]>; (config: ", "EncryptedStatsGetterConfig", - "): Promise; }" + "): Promise<{ clusterUuid: string; stats: string; }[]>; }" ], "path": "src/plugins/telemetry_collection_manager/server/types.ts", "deprecated": false @@ -879,46 +847,16 @@ "label": "getOptInStats", "description": [], "signature": [ - "(optInStatus: boolean, config: ", - { - "pluginId": "telemetryCollectionManager", - "scope": "server", - "docId": "kibTelemetryCollectionManagerPluginApi", - "section": "def-server.StatsGetterConfig", - "text": "StatsGetterConfig" - }, - ") => Promise" + "{ (optInStatus: boolean, config: ", + "UnencryptedStatsGetterConfig", + "): Promise<{ clusterUuid: string; stats: ", + "OptInStatsPayload", + "; }[]>; (optInStatus: boolean, config: ", + "EncryptedStatsGetterConfig", + "): Promise<{ clusterUuid: string; stats: string; }[]>; }" ], "path": "src/plugins/telemetry_collection_manager/server/types.ts", - "deprecated": false, - "returnComment": [], - "children": [ - { - "parentPluginId": "telemetryCollectionManager", - "id": "def-server.TelemetryCollectionManagerPluginStart.getOptInStats.$1", - "type": "boolean", - "tags": [], - "label": "optInStatus", - "description": [], - "path": "src/plugins/telemetry_collection_manager/server/plugin.ts", - "deprecated": false - }, - { - "parentPluginId": "telemetryCollectionManager", - "id": "def-server.TelemetryCollectionManagerPluginStart.getOptInStats.$2", - "type": "CompoundType", - "tags": [], - "label": "config", - "description": [], - "signature": [ - "UnencryptedStatsGetterConfig", - " | ", - "EncryptedStatsGetterConfig" - ], - "path": "src/plugins/telemetry_collection_manager/server/plugin.ts", - "deprecated": false - } - ] + "deprecated": false }, { "parentPluginId": "telemetryCollectionManager", @@ -930,7 +868,7 @@ "signature": [ "{ (config: ", "UnencryptedStatsGetterConfig", - "): Promise<", + "): Promise<{ clusterUuid: string; stats: ", { "pluginId": "telemetryCollectionManager", "scope": "server", @@ -938,9 +876,9 @@ "section": "def-server.UsageStatsPayload", "text": "UsageStatsPayload" }, - "[]>; (config: ", + "; }[]>; (config: ", "EncryptedStatsGetterConfig", - "): Promise; }" + "): Promise<{ clusterUuid: string; stats: string; }[]>; }" ], "path": "src/plugins/telemetry_collection_manager/server/types.ts", "deprecated": false diff --git a/api_docs/telemetry_collection_manager.mdx b/api_docs/telemetry_collection_manager.mdx index bd586fe9fd12d5..63cd5eab24c5b7 100644 --- a/api_docs/telemetry_collection_manager.mdx +++ b/api_docs/telemetry_collection_manager.mdx @@ -18,7 +18,7 @@ Contact [Kibana Telemetry](https://github.com/orgs/elastic/teams/kibana-telemetr | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 36 | 0 | 36 | 4 | +| 32 | 0 | 32 | 5 | ## Server diff --git a/api_docs/telemetry_management_section.json b/api_docs/telemetry_management_section.json index 84ef19d54d5474..babf5465161cce 100644 --- a/api_docs/telemetry_management_section.json +++ b/api_docs/telemetry_management_section.json @@ -168,51 +168,7 @@ "interfaces": [], "enums": [], "misc": [], - "objects": [], - "setup": { - "parentPluginId": "telemetryManagementSection", - "id": "def-public.TelemetryManagementSectionPluginSetup", - "type": "Interface", - "tags": [], - "label": "TelemetryManagementSectionPluginSetup", - "description": [], - "path": "src/plugins/telemetry_management_section/public/plugin.tsx", - "deprecated": false, - "children": [ - { - "parentPluginId": "telemetryManagementSection", - "id": "def-public.TelemetryManagementSectionPluginSetup.toggleSecuritySolutionExample", - "type": "Function", - "tags": [], - "label": "toggleSecuritySolutionExample", - "description": [], - "signature": [ - "(enabled: boolean) => void" - ], - "path": "src/plugins/telemetry_management_section/public/plugin.tsx", - "deprecated": false, - "children": [ - { - "parentPluginId": "telemetryManagementSection", - "id": "def-public.TelemetryManagementSectionPluginSetup.toggleSecuritySolutionExample.$1", - "type": "boolean", - "tags": [], - "label": "enabled", - "description": [], - "signature": [ - "boolean" - ], - "path": "src/plugins/telemetry_management_section/public/plugin.tsx", - "deprecated": false, - "isRequired": true - } - ], - "returnComment": [] - } - ], - "lifecycle": "setup", - "initialIsOpen": true - } + "objects": [] }, "server": { "classes": [], diff --git a/api_docs/telemetry_management_section.mdx b/api_docs/telemetry_management_section.mdx index d30e107f313a44..af1f46174d23f3 100644 --- a/api_docs/telemetry_management_section.mdx +++ b/api_docs/telemetry_management_section.mdx @@ -18,13 +18,10 @@ Contact [Kibana Telemetry](https://github.com/orgs/elastic/teams/kibana-telemetr | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 14 | 0 | 13 | 0 | +| 11 | 0 | 10 | 0 | ## Client -### Setup - - ### Classes diff --git a/api_docs/timelines.json b/api_docs/timelines.json index f9ae6f615d1a77..02f542c48325ea 100644 --- a/api_docs/timelines.json +++ b/api_docs/timelines.json @@ -10519,6 +10519,19 @@ ], "path": "x-pack/plugins/timelines/common/search_strategy/timeline/events/details/index.ts", "deprecated": false + }, + { + "parentPluginId": "timelines", + "id": "def-common.TimelineEventsDetailsStrategyResponse.rawEventData", + "type": "CompoundType", + "tags": [], + "label": "rawEventData", + "description": [], + "signature": [ + "object | null | undefined" + ], + "path": "x-pack/plugins/timelines/common/search_strategy/timeline/events/details/index.ts", + "deprecated": false } ], "initialIsOpen": false @@ -12635,41 +12648,49 @@ ], "signature": [ "EuiDataGridCellValueElementProps", - " & { data: ", + " & { asPlainText?: boolean | undefined; browserFields?: Readonly>> | undefined; data: ", { "pluginId": "timelines", "scope": "common", "docId": "kibTimelinesPluginApi", - "section": "def-common.ColumnHeaderOptions", - "text": "ColumnHeaderOptions" + "section": "def-common.TimelineNonEcsData", + "text": "TimelineNonEcsData" }, - "; isDraggable: boolean; linkValues: string[] | undefined; timelineId: string; setFlyoutAlert?: ((data: any) => void) | undefined; ecsData?: ", + "[]; ecsData?: ", "Ecs", - " | undefined; rowRenderers?: ", + " | undefined; eventId: string; globalFilters?: ", + { + "pluginId": "@kbn/es-query", + "scope": "common", + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.Filter", + "text": "Filter" + }, + "[] | undefined; header: ", { "pluginId": "timelines", "scope": "common", "docId": "kibTimelinesPluginApi", - "section": "def-common.RowRenderer", - "text": "RowRenderer" + "section": "def-common.ColumnHeaderOptions", + "text": "ColumnHeaderOptions" }, - "[] | undefined; browserFields?: Readonly>> | undefined; }" + "[] | undefined; setFlyoutAlert?: ((data: any) => void) | undefined; timelineId: string; truncate?: boolean | undefined; }" ], "path": "x-pack/plugins/timelines/common/types/timeline/cells/index.ts", "deprecated": false, @@ -14259,7 +14280,7 @@ "\nA `TGridCellAction` function accepts `data`, where each row of data is\nrepresented as a `TimelineNonEcsData[]`. For example, `data[0]` would\ncontain a `TimelineNonEcsData[]` with the first row of data.\n\nA `TGridCellAction` returns a function that has access to all the\n`EuiDataGridColumnCellActionProps`, _plus_ access to `data`,\n which enables code like the following example to be written:\n\nExample:\n```\n({ data }: { data: TimelineNonEcsData[][] }) => ({ rowIndex, columnId, Component }) => {\n const value = getMappedNonEcsValue({\n data: data[rowIndex], // access a specific row's values\n fieldName: columnId,\n });\n\n return (\n alert(`row ${rowIndex} col ${columnId} has value ${value}`)} iconType=\"heart\">\n {'Love it'}\n \n );\n};\n```" ], "signature": [ - "({ browserFields, data, globalFilters, pageSize, timelineId, }: { browserFields: Readonly (props: ", + " | undefined; pageSize: number; timelineId: string; }) => (props: ", "EuiDataGridColumnCellActionProps", ") => React.ReactNode" ], @@ -14315,15 +14338,17 @@ "section": "def-common.TimelineNonEcsData", "text": "TimelineNonEcsData" }, - "[][]; globalFilters?: ", + "[][]; ecsData: ", + "Ecs", + "[]; header?: ", { - "pluginId": "@kbn/es-query", + "pluginId": "timelines", "scope": "common", - "docId": "kibKbnEsQueryPluginApi", - "section": "def-common.Filter", - "text": "Filter" + "docId": "kibTimelinesPluginApi", + "section": "def-common.ColumnHeaderOptions", + "text": "ColumnHeaderOptions" }, - "[] | undefined; pageSize: number; timelineId: string; }" + " | undefined; pageSize: number; timelineId: string; }" ], "path": "x-pack/plugins/timelines/common/types/timeline/columns/index.tsx", "deprecated": false diff --git a/api_docs/timelines.mdx b/api_docs/timelines.mdx index 2bcb5f5fabb72c..770ad45fe2cc85 100644 --- a/api_docs/timelines.mdx +++ b/api_docs/timelines.mdx @@ -18,7 +18,7 @@ Contact [Security solution](https://github.com/orgs/elastic/teams/security-solut | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 968 | 6 | 847 | 25 | +| 969 | 6 | 848 | 25 | ## Client diff --git a/api_docs/triggers_actions_ui.json b/api_docs/triggers_actions_ui.json index 3b5de759e97ee9..3c6786eaceaaa5 100644 --- a/api_docs/triggers_actions_ui.json +++ b/api_docs/triggers_actions_ui.json @@ -1353,7 +1353,7 @@ "label": "setAlertProperty", "description": [], "signature": [ - "(key: Prop, value: Pick<", + "(key: Prop, value: Pick<", { "pluginId": "alerting", "scope": "common", @@ -1361,7 +1361,7 @@ "section": "def-common.Alert", "text": "Alert" }, - ", \"id\" | \"name\" | \"tags\" | \"enabled\" | \"params\" | \"actions\" | \"throttle\" | \"alertTypeId\" | \"consumer\" | \"schedule\" | \"scheduledTaskId\" | \"createdBy\" | \"updatedBy\" | \"createdAt\" | \"updatedAt\" | \"apiKeyOwner\" | \"notifyWhen\" | \"muteAll\" | \"mutedInstanceIds\" | \"executionStatus\">[Prop] | null) => void" + ", \"id\" | \"name\" | \"tags\" | \"enabled\" | \"params\" | \"actions\" | \"alertTypeId\" | \"consumer\" | \"schedule\" | \"scheduledTaskId\" | \"createdBy\" | \"updatedBy\" | \"createdAt\" | \"updatedAt\" | \"apiKeyOwner\" | \"throttle\" | \"notifyWhen\" | \"muteAll\" | \"mutedInstanceIds\" | \"executionStatus\">[Prop] | null) => void" ], "path": "x-pack/plugins/triggers_actions_ui/public/types.ts", "deprecated": false, @@ -1396,7 +1396,7 @@ "section": "def-common.Alert", "text": "Alert" }, - ", \"id\" | \"name\" | \"tags\" | \"enabled\" | \"params\" | \"actions\" | \"throttle\" | \"alertTypeId\" | \"consumer\" | \"schedule\" | \"scheduledTaskId\" | \"createdBy\" | \"updatedBy\" | \"createdAt\" | \"updatedAt\" | \"apiKeyOwner\" | \"notifyWhen\" | \"muteAll\" | \"mutedInstanceIds\" | \"executionStatus\">[Prop] | null" + ", \"id\" | \"name\" | \"tags\" | \"enabled\" | \"params\" | \"actions\" | \"alertTypeId\" | \"consumer\" | \"schedule\" | \"scheduledTaskId\" | \"createdBy\" | \"updatedBy\" | \"createdAt\" | \"updatedAt\" | \"apiKeyOwner\" | \"throttle\" | \"notifyWhen\" | \"muteAll\" | \"mutedInstanceIds\" | \"executionStatus\">[Prop] | null" ], "path": "x-pack/plugins/triggers_actions_ui/public/types.ts", "deprecated": false, @@ -2123,7 +2123,7 @@ "section": "def-common.AlertAction", "text": "AlertAction" }, - "[]; throttle: string | null; alertTypeId: string; consumer: string; schedule: ", + "[]; alertTypeId: string; consumer: string; schedule: ", { "pluginId": "alerting", "scope": "common", @@ -2131,7 +2131,7 @@ "section": "def-common.IntervalSchedule", "text": "IntervalSchedule" }, - "; scheduledTaskId?: string | undefined; createdBy: string | null; updatedBy: string | null; createdAt: Date; updatedAt: Date; apiKeyOwner: string | null; notifyWhen: \"onActionGroupChange\" | \"onActiveAlert\" | \"onThrottleInterval\" | null; muteAll: boolean; mutedInstanceIds: string[]; executionStatus: ", + "; scheduledTaskId?: string | undefined; createdBy: string | null; updatedBy: string | null; createdAt: Date; updatedAt: Date; apiKeyOwner: string | null; throttle: string | null; notifyWhen: \"onActionGroupChange\" | \"onActiveAlert\" | \"onThrottleInterval\" | null; muteAll: boolean; mutedInstanceIds: string[]; executionStatus: ", { "pluginId": "alerting", "scope": "common", diff --git a/api_docs/ui_actions_enhanced.json b/api_docs/ui_actions_enhanced.json index afbe1367be1d30..40b9470ad5097a 100644 --- a/api_docs/ui_actions_enhanced.json +++ b/api_docs/ui_actions_enhanced.json @@ -3416,7 +3416,7 @@ }, ">>,Pick<", "UiActionsServiceEnhancements", - ", \"telemetry\" | \"inject\" | \"extract\" | \"getActionFactory\" | \"hasActionFactory\" | \"getActionFactories\">" + ", \"telemetry\" | \"extract\" | \"inject\" | \"getActionFactory\" | \"hasActionFactory\" | \"getActionFactories\">" ], "path": "x-pack/plugins/ui_actions_enhanced/public/plugin.ts", "deprecated": false, diff --git a/api_docs/vis_type_table.json b/api_docs/vis_type_table.json index 3b649cd9b0d09a..6c47f4a9fa1b7f 100644 --- a/api_docs/vis_type_table.json +++ b/api_docs/vis_type_table.json @@ -112,6 +112,19 @@ "path": "src/plugins/vis_types/table/common/types.ts", "deprecated": false }, + { + "parentPluginId": "visTypeTable", + "id": "def-common.TableVisParams.autoFitRowToContent", + "type": "CompoundType", + "tags": [], + "label": "autoFitRowToContent", + "description": [], + "signature": [ + "boolean | undefined" + ], + "path": "src/plugins/vis_types/table/common/types.ts", + "deprecated": false + }, { "parentPluginId": "visTypeTable", "id": "def-common.TableVisParams.row", diff --git a/api_docs/vis_type_table.mdx b/api_docs/vis_type_table.mdx index 0ce75b5e809906..483862a7a202ca 100644 --- a/api_docs/vis_type_table.mdx +++ b/api_docs/vis_type_table.mdx @@ -18,7 +18,7 @@ Contact [Vis Editors](https://github.com/orgs/elastic/teams/kibana-vis-editors) | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 11 | 0 | 11 | 0 | +| 12 | 0 | 12 | 0 | ## Common diff --git a/api_docs/visualizations.json b/api_docs/visualizations.json index 9877a9bc18321a..14671a21b72753 100644 --- a/api_docs/visualizations.json +++ b/api_docs/visualizations.json @@ -1811,7 +1811,7 @@ "label": "sharingSavedObjectProps", "description": [], "signature": [ - "{ outcome?: \"conflict\" | \"exactMatch\" | \"aliasMatch\" | undefined; aliasTargetId?: string | undefined; errorJSON?: string | undefined; } | undefined" + "{ outcome?: \"conflict\" | \"aliasMatch\" | \"exactMatch\" | undefined; aliasTargetId?: string | undefined; errorJSON?: string | undefined; } | undefined" ], "path": "src/plugins/visualizations/public/types.ts", "deprecated": false @@ -4013,7 +4013,7 @@ "text": "EmbeddableInput" } ], - "path": "src/plugins/visualizations/public/embeddable/visualize_embeddable.ts", + "path": "src/plugins/visualizations/public/embeddable/visualize_embeddable.tsx", "deprecated": false, "children": [ { @@ -4026,7 +4026,7 @@ "signature": [ "{ colors?: { [key: string]: string; } | undefined; } | undefined" ], - "path": "src/plugins/visualizations/public/embeddable/visualize_embeddable.ts", + "path": "src/plugins/visualizations/public/embeddable/visualize_embeddable.tsx", "deprecated": false }, { @@ -4054,7 +4054,7 @@ }, "> | undefined" ], - "path": "src/plugins/visualizations/public/embeddable/visualize_embeddable.ts", + "path": "src/plugins/visualizations/public/embeddable/visualize_embeddable.tsx", "deprecated": false }, { @@ -4067,7 +4067,7 @@ "signature": [ "unknown" ], - "path": "src/plugins/visualizations/public/embeddable/visualize_embeddable.ts", + "path": "src/plugins/visualizations/public/embeddable/visualize_embeddable.tsx", "deprecated": false }, { @@ -4087,7 +4087,7 @@ }, " | undefined" ], - "path": "src/plugins/visualizations/public/embeddable/visualize_embeddable.ts", + "path": "src/plugins/visualizations/public/embeddable/visualize_embeddable.tsx", "deprecated": false }, { @@ -4107,7 +4107,7 @@ }, "[] | undefined" ], - "path": "src/plugins/visualizations/public/embeddable/visualize_embeddable.ts", + "path": "src/plugins/visualizations/public/embeddable/visualize_embeddable.tsx", "deprecated": false }, { @@ -4127,7 +4127,7 @@ }, " | undefined" ], - "path": "src/plugins/visualizations/public/embeddable/visualize_embeddable.ts", + "path": "src/plugins/visualizations/public/embeddable/visualize_embeddable.tsx", "deprecated": false } ], @@ -4634,43 +4634,7 @@ "label": "VisualizeEmbeddableFactoryContract", "description": [], "signature": [ - "{ inject: (_state: ", - { - "pluginId": "embeddable", - "scope": "common", - "docId": "kibEmbeddablePluginApi", - "section": "def-common.EmbeddableStateWithType", - "text": "EmbeddableStateWithType" - }, - ", references: ", - "SavedObjectReference", - "[]) => ", - { - "pluginId": "embeddable", - "scope": "common", - "docId": "kibEmbeddablePluginApi", - "section": "def-common.EmbeddableStateWithType", - "text": "EmbeddableStateWithType" - }, - "; extract: (_state: ", - { - "pluginId": "embeddable", - "scope": "common", - "docId": "kibEmbeddablePluginApi", - "section": "def-common.EmbeddableStateWithType", - "text": "EmbeddableStateWithType" - }, - ") => { state: ", - { - "pluginId": "embeddable", - "scope": "common", - "docId": "kibEmbeddablePluginApi", - "section": "def-common.EmbeddableStateWithType", - "text": "EmbeddableStateWithType" - }, - "; references: ", - "SavedObjectReference", - "[]; }; readonly type: \"visualization\"; create: (input: ", + "{ readonly type: \"visualization\"; create: (input: ", { "pluginId": "visualizations", "scope": "public", @@ -4782,7 +4746,43 @@ "section": "def-public.SavedObjectMetaData", "text": "SavedObjectMetaData" }, - "; getCurrentAppId: () => Promise; checkTitle: (props: ", + "; extract: (_state: ", + { + "pluginId": "embeddable", + "scope": "common", + "docId": "kibEmbeddablePluginApi", + "section": "def-common.EmbeddableStateWithType", + "text": "EmbeddableStateWithType" + }, + ") => { state: ", + { + "pluginId": "embeddable", + "scope": "common", + "docId": "kibEmbeddablePluginApi", + "section": "def-common.EmbeddableStateWithType", + "text": "EmbeddableStateWithType" + }, + "; references: ", + "SavedObjectReference", + "[]; }; inject: (_state: ", + { + "pluginId": "embeddable", + "scope": "common", + "docId": "kibEmbeddablePluginApi", + "section": "def-common.EmbeddableStateWithType", + "text": "EmbeddableStateWithType" + }, + ", references: ", + "SavedObjectReference", + "[]) => ", + { + "pluginId": "embeddable", + "scope": "common", + "docId": "kibEmbeddablePluginApi", + "section": "def-common.EmbeddableStateWithType", + "text": "EmbeddableStateWithType" + }, + "; getCurrentAppId: () => Promise; checkTitle: (props: ", { "pluginId": "savedObjects", "scope": "public", @@ -4965,28 +4965,6 @@ "path": "src/plugins/visualizations/public/plugin.ts", "deprecated": false, "children": [ - { - "parentPluginId": "visualizations", - "id": "def-public.VisualizationsStart.savedVisualizationsLoader", - "type": "CompoundType", - "tags": [], - "label": "savedVisualizationsLoader", - "description": [], - "signature": [ - { - "pluginId": "savedObjects", - "scope": "public", - "docId": "kibSavedObjectsPluginApi", - "section": "def-public.SavedObjectLoader", - "text": "SavedObjectLoader" - }, - " & { findListItems: (search: string, sizeOrOptions?: number | ", - "FindListItemsOptions", - " | undefined) => any; }" - ], - "path": "src/plugins/visualizations/public/plugin.ts", - "deprecated": false - }, { "parentPluginId": "visualizations", "id": "def-public.VisualizationsStart.createVis", diff --git a/api_docs/visualizations.mdx b/api_docs/visualizations.mdx index 5253bcdcd57e0b..197cc2bb4a1eee 100644 --- a/api_docs/visualizations.mdx +++ b/api_docs/visualizations.mdx @@ -18,7 +18,7 @@ Contact [Vis Editors](https://github.com/orgs/elastic/teams/kibana-vis-editors) | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 304 | 13 | 286 | 16 | +| 303 | 13 | 285 | 15 | ## Client From 2a95b16c02e309b2cbe2c5f6a5c0ed5ab1559129 Mon Sep 17 00:00:00 2001 From: Tyler Smalley Date: Mon, 1 Nov 2021 12:36:38 -0700 Subject: [PATCH 031/110] Revert "[APM] Adding api tests for error group (#116771)" This reverts commit f2402cef373c1335f994a8c2f79225933e489f94. --- .../tests/errors/distribution.ts | 56 ++++++++++- .../tests/errors/generate_data.ts | 73 --------------- .../tests/errors/group_id.ts | 92 ------------------- .../test/apm_api_integration/tests/index.ts | 4 - 4 files changed, 53 insertions(+), 172 deletions(-) delete mode 100644 x-pack/test/apm_api_integration/tests/errors/generate_data.ts delete mode 100644 x-pack/test/apm_api_integration/tests/errors/group_id.ts diff --git a/x-pack/test/apm_api_integration/tests/errors/distribution.ts b/x-pack/test/apm_api_integration/tests/errors/distribution.ts index 750ddf59ed2c27..4f4b457de86bd1 100644 --- a/x-pack/test/apm_api_integration/tests/errors/distribution.ts +++ b/x-pack/test/apm_api_integration/tests/errors/distribution.ts @@ -4,6 +4,7 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ +import { service, timerange } from '@elastic/apm-synthtrace'; import expect from '@kbn/expect'; import { first, last, sumBy } from 'lodash'; import { isFiniteNumber } from '../../../../plugins/apm/common/utils/is_finite_number'; @@ -14,7 +15,6 @@ import { import { RecursivePartial } from '../../../../plugins/apm/typings/common'; import { FtrProviderContext } from '../../common/ftr_provider_context'; import { registry } from '../../common/registry'; -import { config, generateData } from './generate_data'; type ErrorsDistribution = APIReturnType<'GET /internal/apm/services/{serviceName}/errors/distribution'>; @@ -65,9 +65,59 @@ export default function ApiTest({ getService }: FtrProviderContext) { { config: 'basic', archives: ['apm_mappings_only_8.0.0'] }, () => { describe('errors distribution', () => { - const { appleTransaction, bananaTransaction } = config; + const appleTransaction = { + name: 'GET /apple 🍎 ', + successRate: 75, + failureRate: 25, + }; + const bananaTransaction = { + name: 'GET /banana 🍌', + successRate: 50, + failureRate: 50, + }; + before(async () => { - await generateData({ serviceName, start, end, synthtraceEsClient }); + const serviceGoProdInstance = service(serviceName, 'production', 'go').instance( + 'instance-a' + ); + + const interval = '1m'; + + const indices = [appleTransaction, bananaTransaction] + .map((transaction, index) => { + return [ + ...timerange(start, end) + .interval(interval) + .rate(transaction.successRate) + .flatMap((timestamp) => + serviceGoProdInstance + .transaction(transaction.name) + .timestamp(timestamp) + .duration(1000) + .success() + .serialize() + ), + ...timerange(start, end) + .interval(interval) + .rate(transaction.failureRate) + .flatMap((timestamp) => + serviceGoProdInstance + .transaction(transaction.name) + .errors( + serviceGoProdInstance + .error(`Error ${index}`, transaction.name) + .timestamp(timestamp) + ) + .duration(1000) + .timestamp(timestamp) + .failure() + .serialize() + ), + ]; + }) + .flatMap((_) => _); + + await synthtraceEsClient.index(indices); }); after(() => synthtraceEsClient.clean()); diff --git a/x-pack/test/apm_api_integration/tests/errors/generate_data.ts b/x-pack/test/apm_api_integration/tests/errors/generate_data.ts deleted file mode 100644 index d31db77ad75056..00000000000000 --- a/x-pack/test/apm_api_integration/tests/errors/generate_data.ts +++ /dev/null @@ -1,73 +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 { service, timerange } from '@elastic/apm-synthtrace'; -import type { SynthtraceEsClient } from '../../common/synthtrace_es_client'; - -export const config = { - appleTransaction: { - name: 'GET /apple 🍎 ', - successRate: 75, - failureRate: 25, - }, - bananaTransaction: { - name: 'GET /banana 🍌', - successRate: 50, - failureRate: 50, - }, -}; - -export async function generateData({ - synthtraceEsClient, - serviceName, - start, - end, -}: { - synthtraceEsClient: SynthtraceEsClient; - serviceName: string; - start: number; - end: number; -}) { - const serviceGoProdInstance = service(serviceName, 'production', 'go').instance('instance-a'); - - const interval = '1m'; - - const { bananaTransaction, appleTransaction } = config; - - const documents = [appleTransaction, bananaTransaction] - .map((transaction, index) => { - return [ - ...timerange(start, end) - .interval(interval) - .rate(transaction.successRate) - .flatMap((timestamp) => - serviceGoProdInstance - .transaction(transaction.name) - .timestamp(timestamp) - .duration(1000) - .success() - .serialize() - ), - ...timerange(start, end) - .interval(interval) - .rate(transaction.failureRate) - .flatMap((timestamp) => - serviceGoProdInstance - .transaction(transaction.name) - .errors( - serviceGoProdInstance.error(`Error ${index}`, transaction.name).timestamp(timestamp) - ) - .duration(1000) - .timestamp(timestamp) - .failure() - .serialize() - ), - ]; - }) - .flatMap((_) => _); - - await synthtraceEsClient.index(documents); -} diff --git a/x-pack/test/apm_api_integration/tests/errors/group_id.ts b/x-pack/test/apm_api_integration/tests/errors/group_id.ts deleted file mode 100644 index ef9e293355a7fc..00000000000000 --- a/x-pack/test/apm_api_integration/tests/errors/group_id.ts +++ /dev/null @@ -1,92 +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 expect from '@kbn/expect'; -import { - APIClientRequestParamsOf, - APIReturnType, -} from '../../../../plugins/apm/public/services/rest/createCallApmApi'; -import { RecursivePartial } from '../../../../plugins/apm/typings/common'; -import { FtrProviderContext } from '../../common/ftr_provider_context'; -import { registry } from '../../common/registry'; -import { config, generateData } from './generate_data'; - -type ErrorsDistribution = - APIReturnType<'GET /internal/apm/services/{serviceName}/errors/{groupId}'>; - -export default function ApiTest({ getService }: FtrProviderContext) { - const apmApiClient = getService('apmApiClient'); - const synthtraceEsClient = getService('synthtraceEsClient'); - - const serviceName = 'synth-go'; - const start = new Date('2021-01-01T00:00:00.000Z').getTime(); - const end = new Date('2021-01-01T00:15:00.000Z').getTime() - 1; - - async function callApi( - overrides?: RecursivePartial< - APIClientRequestParamsOf<'GET /internal/apm/services/{serviceName}/errors/{groupId}'>['params'] - > - ) { - const response = await apmApiClient.readUser({ - endpoint: 'GET /internal/apm/services/{serviceName}/errors/{groupId}', - params: { - path: { - serviceName, - groupId: 'foo', - ...overrides?.path, - }, - query: { - start: new Date(start).toISOString(), - end: new Date(end).toISOString(), - environment: 'ENVIRONMENT_ALL', - kuery: '', - ...overrides?.query, - }, - }, - }); - return response; - } - - registry.when('when data is not loaded', { config: 'basic', archives: [] }, () => { - it('handles the empty state', async () => { - const response = await callApi(); - expect(response.status).to.be(200); - expect(response.body.occurrencesCount).to.be(0); - }); - }); - - registry.when( - 'when data is loaded', - { config: 'basic', archives: ['apm_mappings_only_8.0.0'] }, - () => { - const { bananaTransaction } = config; - describe('error group id', () => { - before(async () => { - await generateData({ serviceName, start, end, synthtraceEsClient }); - }); - - after(() => synthtraceEsClient.clean()); - - describe('return correct data', () => { - let errorsDistribution: ErrorsDistribution; - before(async () => { - const response = await callApi({ - path: { groupId: '0000000000000000000000000Error 1' }, - }); - errorsDistribution = response.body; - }); - - it('displays correct number of occurrences', () => { - const numberOfBuckets = 15; - expect(errorsDistribution.occurrencesCount).to.equal( - bananaTransaction.failureRate * numberOfBuckets - ); - }); - }); - }); - } - ); -} diff --git a/x-pack/test/apm_api_integration/tests/index.ts b/x-pack/test/apm_api_integration/tests/index.ts index c5b6e6554efd18..29b40b6ff62cf1 100644 --- a/x-pack/test/apm_api_integration/tests/index.ts +++ b/x-pack/test/apm_api_integration/tests/index.ts @@ -241,10 +241,6 @@ export default function apmApiIntegrationTests(providerContext: FtrProviderConte loadTestFile(require.resolve('./latency/service_apis')); }); - describe('errors/group_id', function () { - loadTestFile(require.resolve('./errors/group_id')); - }); - describe('errors/distribution', function () { loadTestFile(require.resolve('./errors/distribution')); }); From a564e9fa65914916b37a1e8da82574316dc8841f Mon Sep 17 00:00:00 2001 From: Kyle Pollich Date: Mon, 1 Nov 2021 16:27:46 -0400 Subject: [PATCH 032/110] [Fleet] Set `keep_policies_up_to_date` during package installation (#116993) * Set `keep_policies_up_to_date` during preconfiguration Don't rely on only our 7.16 migration set this flag, ensure it gets set to `true` for any package that appears in `DEFAULT_PACKAGES` during preconfiguration Closes #116982 * Move default logic to installation * Revert conflict change in preconfiguration.ts --- .../fleet/server/saved_objects/migrations/to_v7_16_0.ts | 8 ++------ .../fleet/server/services/epm/packages/install.ts | 9 ++++++++- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/x-pack/plugins/fleet/server/saved_objects/migrations/to_v7_16_0.ts b/x-pack/plugins/fleet/server/saved_objects/migrations/to_v7_16_0.ts index b69523434408b7..c435e504a2bfe3 100644 --- a/x-pack/plugins/fleet/server/saved_objects/migrations/to_v7_16_0.ts +++ b/x-pack/plugins/fleet/server/saved_objects/migrations/to_v7_16_0.ts @@ -8,7 +8,7 @@ import type { SavedObjectMigrationFn } from 'kibana/server'; import type { Installation, PackagePolicy } from '../../../common'; -import { AUTO_UPDATE_PACKAGES, DEFAULT_PACKAGES } from '../../../common'; +import { DEFAULT_PACKAGES } from '../../../common'; import { migratePackagePolicyToV7160 as SecSolMigratePackagePolicyToV7160 } from './security_solution'; @@ -18,11 +18,7 @@ export const migrateInstallationToV7160: SavedObjectMigrationFn { const updatedInstallationDoc = installationDoc; - if ( - [...AUTO_UPDATE_PACKAGES, ...DEFAULT_PACKAGES].some( - (pkg) => pkg.name === updatedInstallationDoc.attributes.name - ) - ) { + if (DEFAULT_PACKAGES.some((pkg) => pkg.name === updatedInstallationDoc.attributes.name)) { updatedInstallationDoc.attributes.keep_policies_up_to_date = true; } diff --git a/x-pack/plugins/fleet/server/services/epm/packages/install.ts b/x-pack/plugins/fleet/server/services/epm/packages/install.ts index 966187e7127e27..f57965614adc6c 100644 --- a/x-pack/plugins/fleet/server/services/epm/packages/install.ts +++ b/x-pack/plugins/fleet/server/services/epm/packages/install.ts @@ -18,6 +18,7 @@ import type { InstallablePackage, InstallSource, } from '../../../../common'; +import { DEFAULT_PACKAGES } from '../../../../common'; import { IngestManagerError, PackageOperationNotSupportedError, @@ -469,6 +470,12 @@ export async function createInstallation(options: { const removable = !isUnremovablePackage(pkgName); const toSaveESIndexPatterns = generateESIndexPatterns(packageInfo.data_streams); + // For default packages, default the `keep_policies_up_to_date` setting to true. For all other + // package, default it to false. + const defaultKeepPoliciesUpToDate = DEFAULT_PACKAGES.some( + ({ name }) => name === packageInfo.name + ); + const created = await savedObjectsClient.create( PACKAGES_SAVED_OBJECT_TYPE, { @@ -484,7 +491,7 @@ export async function createInstallation(options: { install_status: 'installing', install_started_at: new Date().toISOString(), install_source: installSource, - keep_policies_up_to_date: false, + keep_policies_up_to_date: defaultKeepPoliciesUpToDate, }, { id: pkgName, overwrite: true } ); From 7170a64fecb5854ffde180fa98ae1ab72be773dc Mon Sep 17 00:00:00 2001 From: Nathan Reese Date: Mon, 1 Nov 2021 15:10:18 -0600 Subject: [PATCH 033/110] [Maps] use single layer for map labels (#116840) * [Maps] use single layer for map labels * simplify filter expressions further * eslint * update mapbox_style expect statements Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../tiled_vector_layer/tiled_vector_layer.tsx | 2 +- .../layers/vector_layer/vector_layer.tsx | 51 +++---------------- .../classes/util/mb_filter_expressions.ts | 25 ++++----- .../functional/apps/maps/mapbox_styles.js | 2 - 4 files changed, 21 insertions(+), 59 deletions(-) diff --git a/x-pack/plugins/maps/public/classes/layers/tiled_vector_layer/tiled_vector_layer.tsx b/x-pack/plugins/maps/public/classes/layers/tiled_vector_layer/tiled_vector_layer.tsx index 79aeab76e41854..4b881228f79b53 100644 --- a/x-pack/plugins/maps/public/classes/layers/tiled_vector_layer/tiled_vector_layer.tsx +++ b/x-pack/plugins/maps/public/classes/layers/tiled_vector_layer/tiled_vector_layer.tsx @@ -319,9 +319,9 @@ export class TiledVectorLayer extends VectorLayer { return; } + this._setMbLabelProperties(mbMap, sourceMeta.layerName); this._setMbPointsProperties(mbMap, sourceMeta.layerName); this._setMbLinePolygonProperties(mbMap, sourceMeta.layerName); - this._setMbLabelProperties(mbMap, sourceMeta.layerName); this._syncTooManyFeaturesProperties(mbMap); } diff --git a/x-pack/plugins/maps/public/classes/layers/vector_layer/vector_layer.tsx b/x-pack/plugins/maps/public/classes/layers/vector_layer/vector_layer.tsx index cd5ab99aeda568..434743ef7ac9e9 100644 --- a/x-pack/plugins/maps/public/classes/layers/vector_layer/vector_layer.tsx +++ b/x-pack/plugins/maps/public/classes/layers/vector_layer/vector_layer.tsx @@ -821,30 +821,11 @@ export class VectorLayer extends AbstractLayer implements IVectorLayer { timesliceMaskConfig?: TimesliceMaskConfig ) { const sourceId = this.getId(); + const labelLayerId = this._getMbLabelLayerId(); const pointLayerId = this._getMbPointLayerId(); const symbolLayerId = this._getMbSymbolLayerId(); - const textLayerId = this._getMbTextLayerId(); const pointLayer = mbMap.getLayer(pointLayerId); const symbolLayer = mbMap.getLayer(symbolLayerId); - const textLayer = mbMap.getLayer(textLayerId); - - // Point layers require 2 mapbox layers - - // - // Create label layer - // label layer - "symbol" layer type for labels. Can not use same layer label and marker layers because of conflicting styling requirements - // - if (!textLayer) { - const mbLayer: MbLayer = { - id: textLayerId, - type: 'symbol', - source: sourceId, - }; - if (mvtSourceLayer) { - mbLayer['source-layer'] = mvtSourceLayer; - } - mbMap.addLayer(mbLayer); - } // // Create marker layer @@ -865,7 +846,7 @@ export class VectorLayer extends AbstractLayer implements IVectorLayer { if (mvtSourceLayer) { mbLayer['source-layer'] = mvtSourceLayer; } - mbMap.addLayer(mbLayer, textLayerId); + mbMap.addLayer(mbLayer, labelLayerId); } if (symbolLayer) { mbMap.setLayoutProperty(symbolLayerId, 'visibility', 'none'); @@ -881,7 +862,7 @@ export class VectorLayer extends AbstractLayer implements IVectorLayer { if (mvtSourceLayer) { mbLayer['source-layer'] = mvtSourceLayer; } - mbMap.addLayer(mbLayer, textLayerId); + mbMap.addLayer(mbLayer, labelLayerId); } if (pointLayer) { mbMap.setLayoutProperty(pointLayerId, 'visibility', 'none'); @@ -891,7 +872,6 @@ export class VectorLayer extends AbstractLayer implements IVectorLayer { const filterExpr = getPointFilterExpression(this.hasJoins(), timesliceMaskConfig); if (!_.isEqual(filterExpr, mbMap.getFilter(markerLayerId))) { mbMap.setFilter(markerLayerId, filterExpr); - mbMap.setFilter(textLayerId, filterExpr); } if (this.getCurrentStyle().arePointsSymbolizedAsCircles()) { @@ -908,16 +888,8 @@ export class VectorLayer extends AbstractLayer implements IVectorLayer { }); } - this.getCurrentStyle().setMBPropertiesForLabelText({ - alpha: this.getAlpha(), - mbMap, - textLayerId, - }); - this.syncVisibilityWithMb(mbMap, markerLayerId); mbMap.setLayerZoomRange(markerLayerId, this.getMinZoom(), this.getMaxZoom()); - this.syncVisibilityWithMb(mbMap, textLayerId); - mbMap.setLayerZoomRange(textLayerId, this.getMinZoom(), this.getMaxZoom()); } _setMbLinePolygonProperties( @@ -926,6 +898,7 @@ export class VectorLayer extends AbstractLayer implements IVectorLayer { timesliceMaskConfig?: TimesliceMaskConfig ) { const sourceId = this.getId(); + const labelLayerId = this._getMbLabelLayerId(); const fillLayerId = this._getMbPolygonLayerId(); const lineLayerId = this._getMbLineLayerId(); @@ -940,7 +913,7 @@ export class VectorLayer extends AbstractLayer implements IVectorLayer { if (mvtSourceLayer) { mbLayer['source-layer'] = mvtSourceLayer; } - mbMap.addLayer(mbLayer); + mbMap.addLayer(mbLayer, labelLayerId); } if (!mbMap.getLayer(lineLayerId)) { const mbLayer: MbLayer = { @@ -952,7 +925,7 @@ export class VectorLayer extends AbstractLayer implements IVectorLayer { if (mvtSourceLayer) { mbLayer['source-layer'] = mvtSourceLayer; } - mbMap.addLayer(mbLayer); + mbMap.addLayer(mbLayer, labelLayerId); } this.getCurrentStyle().setMBPaintProperties({ @@ -1018,10 +991,9 @@ export class VectorLayer extends AbstractLayer implements IVectorLayer { _syncStylePropertiesWithMb(mbMap: MbMap, timeslice?: Timeslice) { const timesliceMaskConfig = this._getTimesliceMaskConfig(timeslice); + this._setMbLabelProperties(mbMap, undefined, timesliceMaskConfig); this._setMbPointsProperties(mbMap, undefined, timesliceMaskConfig); this._setMbLinePolygonProperties(mbMap, undefined, timesliceMaskConfig); - // label layers added after geometry layers to ensure they are on top - this._setMbLabelProperties(mbMap, undefined, timesliceMaskConfig); } _getTimesliceMaskConfig(timeslice?: Timeslice): TimesliceMaskConfig | undefined { @@ -1048,14 +1020,6 @@ export class VectorLayer extends AbstractLayer implements IVectorLayer { return this.makeMbLayerId('circle'); } - _getMbTextLayerId() { - return this.makeMbLayerId('text'); - } - - // _getMbTextLayerId is labels for Points and MultiPoints - // _getMbLabelLayerId is labels for not Points and MultiPoints - // _getMbLabelLayerId used to be called _getMbCentroidLayerId - // TODO merge textLayer and labelLayer into single layer _getMbLabelLayerId() { return this.makeMbLayerId('label'); } @@ -1075,7 +1039,6 @@ export class VectorLayer extends AbstractLayer implements IVectorLayer { getMbTooltipLayerIds() { return [ this._getMbPointLayerId(), - this._getMbTextLayerId(), this._getMbLabelLayerId(), this._getMbSymbolLayerId(), this._getMbLineLayerId(), diff --git a/x-pack/plugins/maps/public/classes/util/mb_filter_expressions.ts b/x-pack/plugins/maps/public/classes/util/mb_filter_expressions.ts index 544b2697cab439..ed6c01ac32dfab 100644 --- a/x-pack/plugins/maps/public/classes/util/mb_filter_expressions.ts +++ b/x-pack/plugins/maps/public/classes/util/mb_filter_expressions.ts @@ -54,7 +54,7 @@ export function getFillFilterExpression( ): unknown[] { return getFilterExpression( [ - EXCLUDE_CENTROID_FEATURES, + // explicit EXCLUDE_CENTROID_FEATURES filter not needed. Centroids are points and are filtered out by geometry narrowing [ 'any', ['==', ['geometry-type'], GEO_JSON_TYPE.POLYGON], @@ -72,7 +72,7 @@ export function getLineFilterExpression( ): unknown[] { return getFilterExpression( [ - EXCLUDE_CENTROID_FEATURES, + // explicit EXCLUDE_CENTROID_FEATURES filter not needed. Centroids are points and are filtered out by geometry narrowing [ 'any', ['==', ['geometry-type'], GEO_JSON_TYPE.POLYGON], @@ -86,19 +86,18 @@ export function getLineFilterExpression( ); } +const IS_POINT_FEATURE = [ + 'any', + ['==', ['geometry-type'], GEO_JSON_TYPE.POINT], + ['==', ['geometry-type'], GEO_JSON_TYPE.MULTI_POINT], +]; + export function getPointFilterExpression( hasJoins: boolean, timesliceMaskConfig?: TimesliceMaskConfig ): unknown[] { return getFilterExpression( - [ - EXCLUDE_CENTROID_FEATURES, - [ - 'any', - ['==', ['geometry-type'], GEO_JSON_TYPE.POINT], - ['==', ['geometry-type'], GEO_JSON_TYPE.MULTI_POINT], - ], - ], + [EXCLUDE_CENTROID_FEATURES, IS_POINT_FEATURE], hasJoins, timesliceMaskConfig ); @@ -111,9 +110,11 @@ export function getLabelFilterExpression( ): unknown[] { const filters: unknown[] = []; - // centroids added for geojson sources only if (isSourceGeoJson) { - filters.push(['==', ['get', KBN_IS_CENTROID_FEATURE], true]); + // Centroid feature added to GeoJSON feature collection for LINE_STRING, MULTI_LINE_STRING, POLYGON, MULTI_POLYGON, and GEOMETRY_COLLECTION geometries + // For GeoJSON sources, show label for centroid features or point/multi-point features only. + // no explicit isCentroidFeature filter is needed, centroids are points and are included in the geometry filter. + filters.push(IS_POINT_FEATURE); } return getFilterExpression(filters, hasJoins, timesliceMaskConfig); diff --git a/x-pack/test/functional/apps/maps/mapbox_styles.js b/x-pack/test/functional/apps/maps/mapbox_styles.js index 471e7440822c5d..a2b79156ea32e8 100644 --- a/x-pack/test/functional/apps/maps/mapbox_styles.js +++ b/x-pack/test/functional/apps/maps/mapbox_styles.js @@ -120,7 +120,6 @@ export default function ({ getPageObjects, getService }) { maxzoom: 24, filter: [ 'all', - ['!=', ['get', '__kbn_is_centroid_feature__'], true], ['any', ['==', ['geometry-type'], 'Polygon'], ['==', ['geometry-type'], 'MultiPolygon']], ['==', ['get', '__kbn_isvisibleduetojoin__'], true], ], @@ -196,7 +195,6 @@ export default function ({ getPageObjects, getService }) { maxzoom: 24, filter: [ 'all', - ['!=', ['get', '__kbn_is_centroid_feature__'], true], [ 'any', ['==', ['geometry-type'], 'Polygon'], From f5f12088da11980364746da595078f493233ee7f Mon Sep 17 00:00:00 2001 From: Davey Holler Date: Mon, 1 Nov 2021 14:19:32 -0700 Subject: [PATCH 034/110] UI copy changes for adaptive relevance (#117016) * UI copy changes for adaptive relevance * UI copy changes for adaptive relevance * Update x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/views/curations_settings/curations_settings.tsx Co-authored-by: Byron Hulcher Co-authored-by: Byron Hulcher --- .../curation/automated_curation_history.tsx | 5 +++-- .../components/automated_curations_history_panel.tsx | 5 +++-- .../views/curations_settings/curations_settings.tsx | 12 ++++++------ 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/automated_curation_history.tsx b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/automated_curation_history.tsx index f523beeb0a8212..debe8f86cfe2bf 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/automated_curation_history.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/automated_curation_history.tsx @@ -35,7 +35,7 @@ export const AutomatedCurationHistory: React.FC = ({ query, engineName }) {i18n.translate( 'xpack.enterpriseSearch.appSearch.engine.curation.detail.historyTableTitle', { - defaultMessage: 'Automated curation changes', + defaultMessage: 'Adaptive relevance changes', } )} @@ -43,7 +43,8 @@ export const AutomatedCurationHistory: React.FC = ({ query, engineName }) subtitle={i18n.translate( 'xpack.enterpriseSearch.appSearch.engine.curation.detail.historyTableDescription', { - defaultMessage: 'A detailed log of recent changes to your automated curation.', + defaultMessage: + 'A detailed log of recent changes to curations powered by adaptive relevance.', } )} hasBorder diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/views/curations_history/components/automated_curations_history_panel.tsx b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/views/curations_history/components/automated_curations_history_panel.tsx index c3c5747b299540..901609718c8ecc 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/views/curations_history/components/automated_curations_history_panel.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/views/curations_history/components/automated_curations_history_panel.tsx @@ -34,7 +34,7 @@ export const AutomatedCurationsHistoryPanel: React.FC = () => { {i18n.translate( 'xpack.enterpriseSearch.appSearch.engine.curations.automatedCurationsHistoryPanel.tableTitle', { - defaultMessage: 'Automated curation changes', + defaultMessage: 'Adaptive relevance changes', } )} @@ -42,7 +42,8 @@ export const AutomatedCurationsHistoryPanel: React.FC = () => { subtitle={i18n.translate( 'xpack.enterpriseSearch.appSearch.engine.curations.automatedCurationsHistoryPanel.tableDecription', { - defaultMessage: 'A detailed log of recent changes to your automated curations.', + defaultMessage: + 'A detailed log of recent changes to curations powered by adaptive relevance.', } )} hasBorder diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/views/curations_settings/curations_settings.tsx b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/views/curations_settings/curations_settings.tsx index de669298b11d95..29fbee8fa0242a 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/views/curations_settings/curations_settings.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/views/curations_settings/curations_settings.tsx @@ -79,7 +79,7 @@ export const CurationsSettings: React.FC = () => { {i18n.translate( 'xpack.enterpriseSearch.appSearch.curations.settings.licenseUpgradeCTATitle', { - defaultMessage: 'Introducing automated curations', + defaultMessage: 'Introducing curations powered by adaptive relevance', } )} @@ -87,7 +87,7 @@ export const CurationsSettings: React.FC = () => { subtitle={ @@ -135,7 +135,7 @@ export const CurationsSettings: React.FC = () => { {i18n.translate( 'xpack.enterpriseSearch.appSearch.curations.settings.automaticCurationsTitle', { - defaultMessage: 'Automated Curations', + defaultMessage: 'Curations powered by adaptive relevance', } )} @@ -159,7 +159,7 @@ export const CurationsSettings: React.FC = () => { 'xpack.enterpriseSearch.appSearch.curations.settings.analyticsDisabledCalloutDescription', { defaultMessage: - 'Automated curations require analytics to be enabled on your account.', + 'Adaptive relevance requires analytics to be enabled on your account.', } )}

@@ -178,7 +178,7 @@ export const CurationsSettings: React.FC = () => { 'xpack.enterpriseSearch.appSearch.curations.settings.automaticCurationsDescription', { defaultMessage: - "Suggested curations will monitor your engine's analytics and make automatic suggestions to help you deliver the most relevant results. Each suggested curation can be accepted, rejected, or modified.", + "App Search will monitor your engine's analytics and suggest changes to your curations to help you deliver the most relevant results. Each suggestion can be accepted, rejected, or modified.", } )} @@ -189,7 +189,7 @@ export const CurationsSettings: React.FC = () => { label={i18n.translate( 'xpack.enterpriseSearch.appSearch.curations.settings.enableautomaticCurationsSwitchLabel', { - defaultMessage: 'Enable automation suggestions', + defaultMessage: 'Enable suggestions', } )} checked={enabled} From 80ef314abc919f4040e47d87ae93ddbf604151e3 Mon Sep 17 00:00:00 2001 From: Constance Date: Mon, 1 Nov 2021 14:31:04 -0700 Subject: [PATCH 035/110] Upgrade to EUI v40.1.0 (#116692) * Upgrade EUI to v40.1.0 * [Discover] Remove temp fix + update snapshot * Fix deprecated `popperPlacement` prop * Update test snapshots with table cell change Co-authored-by: Uladzislau Lasitsa Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- package.json | 2 +- src/dev/license_checker/config.ts | 2 +- .../__snapshots__/data_view.test.tsx.snap | 4 +- .../url/__snapshots__/url.test.tsx.snap | 12 ++-- .../table_vis_basic.test.tsx.snap | 3 - .../public/components/table_vis_basic.tsx | 23 +----- .../workpad_table.stories.storyshot | 24 +++---- .../waffle/waffle_time_controls.tsx | 2 +- .../report_listing.test.tsx.snap | 72 +++++++++---------- yarn.lock | 16 +++-- 10 files changed, 72 insertions(+), 88 deletions(-) diff --git a/package.json b/package.json index 1b517aa4f327a5..1718c703ee7a78 100644 --- a/package.json +++ b/package.json @@ -102,7 +102,7 @@ "@elastic/datemath": "link:bazel-bin/packages/elastic-datemath", "@elastic/elasticsearch": "npm:@elastic/elasticsearch-canary@^8.0.0-canary.35", "@elastic/ems-client": "8.0.0", - "@elastic/eui": "40.0.0", + "@elastic/eui": "40.1.0", "@elastic/filesaver": "1.1.2", "@elastic/maki": "6.3.0", "@elastic/node-crypto": "1.2.1", diff --git a/src/dev/license_checker/config.ts b/src/dev/license_checker/config.ts index 4c630ae1c10e1f..f23456bbaca07c 100644 --- a/src/dev/license_checker/config.ts +++ b/src/dev/license_checker/config.ts @@ -75,6 +75,6 @@ export const LICENSE_OVERRIDES = { 'jsts@1.6.2': ['Eclipse Distribution License - v 1.0'], // cf. https://github.com/bjornharrtell/jsts '@mapbox/jsonlint-lines-primitives@2.0.2': ['MIT'], // license in readme https://github.com/tmcw/jsonlint '@elastic/ems-client@8.0.0': ['Elastic License 2.0'], - '@elastic/eui@40.0.0': ['SSPL-1.0 OR Elastic License 2.0'], + '@elastic/eui@40.1.0': ['SSPL-1.0 OR Elastic License 2.0'], 'language-subtag-registry@0.3.21': ['CC-BY-4.0'], // retired ODC‑By license https://github.com/mattcg/language-subtag-registry }; diff --git a/src/plugins/data/public/utils/table_inspector_view/components/__snapshots__/data_view.test.tsx.snap b/src/plugins/data/public/utils/table_inspector_view/components/__snapshots__/data_view.test.tsx.snap index 7773f2209bf969..b59756ef1e90e1 100644 --- a/src/plugins/data/public/utils/table_inspector_view/components/__snapshots__/data_view.test.tsx.snap +++ b/src/plugins/data/public/utils/table_inspector_view/components/__snapshots__/data_view.test.tsx.snap @@ -1158,7 +1158,7 @@ exports[`Inspector Data View component should render single table without select textOnly={false} >
{ - // skip first render - if (firstRender.current) { - firstRender.current = false; - return; - } - // skip if auto height was turned off - if (!visConfig.autoFitRowToContent) { - return; - } - // update counter to remount grid from scratch - setDataGridUpdateCounter((counter) => counter + 1); - }, [visConfig.autoFitRowToContent, table, sort, pagination, columnsWidth]); - return ( <> {title && ( @@ -139,7 +119,6 @@ export const TableVisBasic = memo( )} { injectTimes={currentMoment ? [currentMoment] : []} isLoading={isAutoReloading} onChange={handleChangeDate} - popperPlacement="top-end" + popoverPlacement="top-end" selected={currentMoment} shouldCloseOnSelect showTimeSelect diff --git a/x-pack/plugins/reporting/public/management/__snapshots__/report_listing.test.tsx.snap b/x-pack/plugins/reporting/public/management/__snapshots__/report_listing.test.tsx.snap index 9075d196fef9e9..d7f8c4cb28614f 100644 --- a/x-pack/plugins/reporting/public/management/__snapshots__/report_listing.test.tsx.snap +++ b/x-pack/plugins/reporting/public/management/__snapshots__/report_listing.test.tsx.snap @@ -410,7 +410,7 @@ exports[`ReportListing Report job listing with some items 1`] = ` textOnly={false} > Date: Mon, 1 Nov 2021 15:36:13 -0600 Subject: [PATCH 036/110] Don't show telemetry opt-in/out notice when it has been disabled via yml config. (#116867) --- .../__snapshots__/welcome.test.tsx.snap | 85 +++++++++++++++++++ .../application/components/welcome.test.tsx | 8 ++ .../public/application/components/welcome.tsx | 6 +- 3 files changed, 98 insertions(+), 1 deletion(-) diff --git a/src/plugins/home/public/application/components/__snapshots__/welcome.test.tsx.snap b/src/plugins/home/public/application/components/__snapshots__/welcome.test.tsx.snap index 348f618805858f..17f7d2520e8621 100644 --- a/src/plugins/home/public/application/components/__snapshots__/welcome.test.tsx.snap +++ b/src/plugins/home/public/application/components/__snapshots__/welcome.test.tsx.snap @@ -358,3 +358,88 @@ exports[`should render a Welcome screen with the telemetry disclaimer when optIn
`; + +exports[`should render a Welcome screen without the opt in/out link when user cannot change optIn status 1`] = ` + +
+
+
+ + + + + +

+ +

+
+ +
+
+
+ + + + + + + + + + + + + +
+
+
+`; diff --git a/src/plugins/home/public/application/components/welcome.test.tsx b/src/plugins/home/public/application/components/welcome.test.tsx index 440af1e0093b52..b042a91e58c9d2 100644 --- a/src/plugins/home/public/application/components/welcome.test.tsx +++ b/src/plugins/home/public/application/components/welcome.test.tsx @@ -47,6 +47,14 @@ test('should render a Welcome screen with no telemetry disclaimer', () => { expect(component).toMatchSnapshot(); }); +test('should render a Welcome screen without the opt in/out link when user cannot change optIn status', () => { + const telemetry = telemetryPluginMock.createStartContract(); + telemetry.telemetryService.getCanChangeOptInStatus = jest.fn().mockReturnValue(false); + const component = shallow( {}} telemetry={telemetry} />); + + expect(component).toMatchSnapshot(); +}); + test('fires opt-in seen when mounted', () => { const telemetry = telemetryPluginMock.createStartContract(); const mockSetOptedInNoticeSeen = jest.fn(); diff --git a/src/plugins/home/public/application/components/welcome.tsx b/src/plugins/home/public/application/components/welcome.tsx index 03dff22c7b33f1..21e0e03bb2bf74 100644 --- a/src/plugins/home/public/application/components/welcome.tsx +++ b/src/plugins/home/public/application/components/welcome.tsx @@ -76,7 +76,11 @@ export class Welcome extends React.Component { private renderTelemetryEnabledOrDisabledText = () => { const { telemetry } = this.props; - if (!telemetry || !telemetry.telemetryService.userCanChangeSettings) { + if ( + !telemetry || + !telemetry.telemetryService.userCanChangeSettings || + !telemetry.telemetryService.getCanChangeOptInStatus() + ) { return null; } From 99e2e792767829556e0ae3c4d7a0e0c00c615fb2 Mon Sep 17 00:00:00 2001 From: Kaarina Tungseth Date: Mon, 1 Nov 2021 16:53:14 -0500 Subject: [PATCH 037/110] [DOCS] Adds the 8.0.0-beta1 release notes (#116483) * [DOCS] Adds the 8.0.0-beta1 release notes * Update docs/CHANGELOG.asciidoc Co-authored-by: Lisa Cawley * Update docs/CHANGELOG.asciidoc Co-authored-by: Lisa Cawley * Vis editor changes * [DOCS] Adds known ML issue * [DOCS] Edits ML PRs * [DOCS] Removes known issue * Update docs/CHANGELOG.asciidoc Co-authored-by: Luke Elmers * Update docs/CHANGELOG.asciidoc Co-authored-by: Luke Elmers * Update docs/CHANGELOG.asciidoc Co-authored-by: Joe Portner <5295965+jportner@users.noreply.github.com> * Review comments Co-authored-by: Lisa Cawley Co-authored-by: Luke Elmers Co-authored-by: Joe Portner <5295965+jportner@users.noreply.github.com> --- docs/CHANGELOG.asciidoc | 542 ++++++++++++++++++++++++++++++++++++++-- 1 file changed, 525 insertions(+), 17 deletions(-) diff --git a/docs/CHANGELOG.asciidoc b/docs/CHANGELOG.asciidoc index 6ac546b1e615b5..9fce6285bfa3de 100644 --- a/docs/CHANGELOG.asciidoc +++ b/docs/CHANGELOG.asciidoc @@ -10,10 +10,526 @@ Review important information about the {kib} 8.0.0 releases. +* <> * <> * <> -- +[[release-notes-8.0.0-beta1]] +== {kib} 8.0.0-beta1 + +coming::[8.0.0-beta1] + +Review the {kib} 8.0.0-beta1 changes, then use the <> to complete the upgrade. + +[float] +[[breaking-changes-8.0.0-beta1]] +=== Breaking changes + +Breaking changes can prevent your application from optimal operation and performance. Review the following breaking changes, then mitigate the impact to your application. + +To review the breaking changes in previous versions, refer to the following: + +<> | <> + +// tag::notable-breaking-changes[] + +[float] +[[alerting-breaking-changes-8.0.0-beta1]] +==== Alerting + +[discrete] +[[breaking-114558]] +.Removes `xpack.task_manager.index` +[%collapsible] +==== +*Details* + +The `xpack.task_manager.index` setting has been removed. For more information, refer to {kibana-pull}114558[#114558]. + +*Impact* + +Before you upgrade to 8.0.0, remove `xpack.task_manager.index` from kibana.yml. +==== + +[discrete] +[[breaking-113461]] +.Removes ability to remove plugins +[%collapsible] +==== +*Details* + +The `xpack.actions.enabled` setting has been removed. For more information, refer to {kibana-pull}113461[#113461]. + +*Impact* + +Before you upgrade to 8.0.0, remove `xpack.actions.enabled` from kibana.yml. +==== + +[float] +[[lens-visualizations-breaking-changes-8.0.0-beta1]] +==== Lens & visualizations + +[discrete] +[[breaking-113516]] +.Removes display options from legacy gauge +[%collapsible] +==== +*Details* + +The *Display warnings* option has been removed from the aggregation-based gauge visualization. For more information, refer to {kibana-pull}113516[#113516]. + +*Impact* + +When you create aggregation-based gauge visualizations, the *Display warnings* option is no longer available in *Options > Labels*. +==== + +[discrete] +[[breaking-112643]] +.Removes settings from visEditors plugins +[%collapsible] +==== +*Details* + +The following deprecated visEditors plugin settings have been removed: + +* `metric_vis.enabled` +* `table_vis.enabled` +* `tagcloud.enabled` +* `metrics.enabled` +* `metrics.chartResolution` +* `chartResolution` +* `metrics.minimumBucketSize` +* `minimumBucketSize` +* `vega.enabled` +* `vega.enableExternalUrls` +* `vis_type_table.legacyVisEnabled` +* `timelion_vis.enabled` +* `timelion.enabled` +* `timelion.graphiteUrls` +* `timelion.ui.enabled` + +For more information, refer to {kibana-pull}112643[#112643]. + +*Impact* + +Before you upgrade, make the following changes in kibana.yml: + +* Replace `metric_vis.enabled` with `vis_type_metric.enabled` +* Replace `table_vis.enabled` with `vis_type_table.enabled` +* Replace `tagcloud.enabled` with `vis_type_tagcloud.enabled` +* Replace `metrics.enabled` with `vis_type_timeseries.enabled` +* Replace `metrics.chartResolution` and `chartResolution` with `vis_type_timeseries.chartResolution` +* Replace `metrics.minimumBucketSize` and `minimumBucketSize` with `vis_type_timeseries.minimumBucketSize` +* Replace `vega.enabled` with `vis_type_vega.enabled` +* Replace `vega.enableExternalUrls` with `vis_type_vega.enableExternalUrls` +* Remove `vis_type_table.legacyVisEnabled` +* Replace `timelion_vis.enabled` with `vis_type_timelion.enabled` +* Replace `timelion.enabled` with `vis_type_timelion.enabled` +* Replace `timelion.graphiteUrls` with `vis_type_timelion.graphiteUrls` +* Remove `timelion.ui.enabled` + +==== + +[discrete] +[[breaking-111704]] +.Removes dimming opacity setting +[%collapsible] +==== +*Details* + +The *Dimming opacity* setting in *Advanced Settings* has been removed. For more information, refer to {kibana-pull}111704[#111704]. + +*Impact* + +When you upgrade to 8.0.0, you are no longer able to configure the dimming opactiy for visualizations. +==== + +[discrete] +[[breaking-110985]] +.Removes Less stylesheet support +[%collapsible] +==== +*Details* + +In *TSVB*, custom Less stylesheets have been removed. For more information, refer to {kibana-pull}110985[#110985]. + +*Impact* + +Existing less stylesheets are automatically converted to CSS stylesheets. +==== + +[discrete] +[[breaking-110571]] +.Disables the input string mode +[%collapsible] +==== +*Details* + +In *TSVB*, the *Index pattern selection mode* option has been removed. For more information, refer to {kibana-pull}110571[#110571]. + +*Impact* + +To use index patterns and {es} indices in *TSVB* visualizations: + +. Open the main menu, then click *Stack Management > Advanced Settings*. + +. Select *Allow string indices in TSVB*. + +. Click *Save changes*. +==== + +[float] +[[logs-breaking-changes-8.0.0-beta1]] +==== Logs + +[discrete] +[[breaking-115974]] +.Removes deprecated alias config entries +[%collapsible] +==== +*Details* + +The deprecated `xpack.infra.sources.default.logAlias` and `xpack.infra.sources.default.logAlias` settings have been removed. For more information, refer to {kibana-pull}115974[#115974]. + +*Impact* + +Before you upgrade, remove the settings from kibana.yml, then configure the settings in <>. +==== + +[discrete] +[[breaking-61302]] +.Removes configurable fields in settings +[%collapsible] +==== +*Details* + +The *Logs* and *Metrics* configurable fields settings have been removed. For more information, refer to {kibana-pull}61302[#61302]. + +*Impact* + +Configure the settings in https://www.elastic.co/guide/en/ecs/current/ecs-reference.html[ECS]. +==== + +[float] +[[machine-learning-breaking-changes-8.0.0-beta1]] +==== Machine learning + +[discrete] +[[breaking-115444]] +.Grants access to machine learning features when base privileges are used +[%collapsible] +==== +*Details* + +Machine learning features are included as base privileges. For more information, refer to {kibana-pull}115444[#115444]. + +*Impact* + +If you do not want to grant users privileges to machine learning features, update <>. +==== + +[float] +[[maps-breaking-changes-8.0.0-beta1]] +==== Maps + +[discrete] +[[breaking-116184]] +.Removes proxyElasticMapsServiceInMaps +[%collapsible] +==== +*Details* + +The `map.proxyElasticMapsServiceInMaps` setting has been removed. For more information, refer to {kibana-pull}116184[#116184]. + +*Impact* + +Install the on-prem version of the <>, which is a Docker service that resides in the Elastic Docker registry, in an accessible location on your internal network. When you complete the installation, update kibana.yml to point to the service. +==== + +[float] +[[operations-breaking-changes-8.0.0-beta1]] +==== Operations + +[discrete] +[[breaking-111535]] +.Removes environment variables +[%collapsible] +==== +*Details* + +The `CONFIG_PATH` and `DATA_PATH` environment variables have been removed. For more information, refer to {kibana-pull}111535[#111535]. + +*Impact* + +Replace the `CONFIG_PATH` environment variable with `KBN_PATH_CONF`, and replace `DATA_PATH` with the `path.data` setting. +==== + +[float] +[[platform-breaking-changes-8.0.0-beta1]] +==== Platform + +[discrete] +[[breaking-114379]] +.Removes supports for csp.rules configuration +[%collapsible] +==== +*Details* + +Support for the `csp.rules` configuration property has been removed. For more information, refer to {kibana-pull}114379[#114379]. + +*Impact* + +Configuring the default `csp.script_src`, `csp.workers_src`, and `csp.style_src` values is not required. +==== + +[discrete] +[[breaking-113653]] +.Changes and removes deprecated core settings and deprecated settings from core plugins +[%collapsible] +==== +*Details* + +The deprecation notice for `server.cors` has changed from `level:critical` to `level:warning`. + +The following settings have changed: + +* The `xpack.banners.placement` value has been renamed +* The `newsfeed.defaultLanguage` newsfeed item retrieval method and default language has changed + +Support for the following configuration settings has been removed: + +* `newsfeed.defaultLanguage` +* `cpu.cgroup.path.override` +* `cpuacct.cgroup.path.override` +* `server.xsrf.whitelist` +* `xpack.xpack_main.xpack_api_polling_frequency_millis` +* `KIBANA_PATH_CONF` + +For more information, refer to {kibana-pull}113653[#113653]. + +*Impact* + +* The `header` value provided to the `xpack.banners.placement` configuration has been renamed to 'top' +* The `newsfeed.defaultLanguage` newsfeed items are retrieved based on the browser locale and default to English +* Replace `cpu.cgroup.path.override` with `ops.cGroupOverrides.cpuPath` +* Replace `cpuacct.cgroup.path.override` with `ops.cGroupOverrides.cpuAcctPath` +* Replace `server.xsrf.whitelist` with `server.xsrf.allowlist` +* Replace `xpack.xpack_main.xpack_api_polling_frequency_millis` with `xpack.licensing.api_polling_frequency` +* Replace `KIBANA_PATH_CONF` path to the {kib} configuration file using the `KBN_PATH_CONF` environment variable +==== + +[discrete] +[[breaking-113495]] +.Removes `enabled` settings from plugins +[%collapsible] +==== +*Details* + +Using `{plugin_name}.enabled` to disable plugins has been removed. Some plugins, such as `telemetry`, `newsfeed`, `reporting`, and the various `vis_type` plugins will continue to support this setting. All other {kib} plugins will not support this setting. Any new plugin will support this setting only when specified in the `configSchema`. For more information, refer to {kibana-pull}113495[#113495]. + +The `xpack.security.enabled` setting has been removed. For more information, refer to {kibana-pull}111681[#111681]. + +*Impact* + +Before you upgrade to 8.0.0: + +* Remove `{plugin_name}.enabled` from kibana.yml. If you use the setting to control user access to {kib} applications, use <> instead. +* Replace `xpack.security.enabled` with {ref}/security-settings.html#general-security-settings[`xpack.security.enabled`] in elasticsearch.yml. +==== + +[discrete] +[[breaking-113367]] +.Removes `--plugin-dir` cli option +[%collapsible] +==== +*Details* + +The `plugins.scanDirs` setting and `--plugin-dir` cli option have been removed. For more information, refer to {kibana-pull}113367[#113367]. + +*Impact* + +Before you upgrade to 8.0.0, remove `plugins.scanDirs` from kibana.yml. +==== + +[discrete] +[[breaking-113296]] +.Removes support for `optimize.*` settings +[%collapsible] +==== +*Details* + +The legacy `optimize.*` settings have been removed. If your configuration uses the following legacy `optimize.*` settings, {kib} fails to start: + +* `optimize.lazy` +* `optimize.lazyPort` +* `optimize.lazyHost` +* `optimize.lazyPrebuild` +* `optimize.lazyProxyTimeout` +* `optimize.enabled` +* `optimize.bundleFilter` +* `optimize.bundleDir` +* `optimize.viewCaching` +* `optimize.watch` +* `optimize.watchPort` +* `optimize.watchHost` +* `optimize.watchPrebuild` +* `optimize.watchProxyTimeout` +* `optimize.useBundleCache` +* `optimize.sourceMaps` +* `optimize.workers` +* `optimize.profile` +* `optimize.validateSyntaxOfNodeModules` + +For more information, refer to {kibana-pull}113296[#113296]. + +*Impact* + +To run the `@kbn/optimizer` separately in development, pass `--no-optimizer` to `yarn start`. For more details, refer to {kibana-pull}73154[#73154]. +==== + +[discrete] +[[breaking-113173]] +.Removes `so/server/es` settings +[%collapsible] +==== +*Details* + +Some of the `so/server/es` settings have been removed. If your configuration uses the following settings, {kib} fails to start: + +* `savedObjects.indexCheckTimeout` +* `server.xsrf.token` +* `elasticsearch.preserveHost` +* `elasticsearch.startupTimeout` + +For more information, refer to {kibana-pull}113173[#113173]. + +*Impact* + +Before you upgrade to 8.0.0., remove these settings from kibana.yml. +==== + +[discrete] +[[breaking-113068]] +.Adds requirement for inline scripting +[%collapsible] +==== +*Details* + +To start {kib}, you must enable inline scripting in {es}. For more information, refer to {kibana-pull}113068[#113068]. + +*Impact* + +Enable link:https://www.elastic.co/guide/en/elasticsearch/reference/master/modules-scripting-security.html[inline scripting]. +==== + +[discrete] +[[breaking-112773]] +.Removes `kibana.index` settings +[%collapsible] +==== +*Details* + +The `kibana.index`, `xpack.reporting.index`, and `xpack.task_manager.index` settings have been removed. For more information, refer to {kibana-pull}112773[#112773]. + +*Impact* + +Use spaces, cross-cluster replication, or cross-cluster search. To migrate to <>, export your <> from a tenant into the default space. For more details, refer to link:https://github.com/elastic/kibana/issues/82020[#82020]. +==== + +[discrete] +[[breaking-112305]] +.Removes legacy logging +[%collapsible] +==== +*Details* + +The logging configuration and log output format has changed. For more information, refer to {kibana-pull}112305[#112305]. + +*Impact* + +Use the new <>. +==== + +[float] +[[reporting-breaking-changes-8.0.0-beta1]] +==== Reporting + +[discrete] +[[breaking-114216]] +.Removes reporting settings +[%collapsible] +==== +*Details* + +The following settings have been removed: + +* `xpack.reporting.capture.concurrency` + +* `xpack.reporting.capture.settleTime` + +* `xpack.reporting.capture.timeout` + +* `xpack.reporting.kibanaApp` + +For more information, refer to {kibana-pull}114216[#114216]. + +*Impact* + +Before you upgrade to 8.0.0, remove the settings from kibana.yml. +==== + +[float] +[[rest-api-breaking-changes-8.0.0-beta1]] +==== REST API + +[discrete] +[[breaking-114730]] +.Removes `/api/settings` +[%collapsible] +==== +*Details* + +The `/api/settings` REST API has been removed. For more information, refer to {kibana-pull}114730[#114730]. + +*Impact* + +Use `/api/stats`. +==== + +[float] +[[security-breaking-changes-8.0.0-beta1]] +==== Security + +[discrete] +[[breaking-116191]] +.Removes legacy audit logger +[%collapsible] +==== +*Details* + +The legacy audit logger has been removed. For more information, refer to {kibana-pull}116191[#116191]. + +*Impact* + +Audit logs will be written to the default location in the new ECS format. To change the output file, filter events, and more, use the <>. +==== + +// end::notable-breaking-changes[] + +[float] +[[deprecations-8.0.0-beta1]] +=== Deprecations + +Deprecated functionality does not have an immediate impact on your application, but we strongly recommend you make the necessary updates after you complete the upgrade. + +To review the 8.0.0 depcrecations, refer to the <>. + +[float] +[[features-8.0.0]] +=== Features +The 8.0.0-beta1 release adds the following new and notable features. + +Dashboard:: +* Dashboard Integration {kibana-pull}115991[#115991] +Elastic Security:: +For the Elastic Security 8.0.0 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. +Machine Learning:: +* Addition of new Model Management tab {kibana-pull}115772[#115772] +Platform:: +* Changes edit view to json read-only view {kibana-pull}112034[#112034] + +[float] +[[enhancement-v8.0.0-beta1]] +=== Enhancements + +The 8.0.0-beta1 release includes the following enhancements. + +Canvas:: +* By-Value embeddables {kibana-pull}113827[#113827] +* Toolbar UI updates {kibana-pull}113329[#113329] +Elastic Security:: +For the Elastic Security 8.0.0 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. +Lens & Visualizations:: +* Handle removal of deprecated date histogram interval in *Vega* {kibana-pull}109090[#109090] +* Adds value labels to Heatmap in *Lens* {kibana-pull}106406[#106406] +Logs:: +* Make Alerts page use shared Kibana time range {kibana-pull}115192[#115192] +Machine Learning:: +* Adds support to {fleet} {integrations} for installing ML models {kibana-pull}107710[#107710] +* Adds Index data visualizer grid embeddable as extra view within Discover {kibana-pull}107184[#107184] +Maps:: +* Use Elastic Maps Service v8.0 {kibana-pull}116217[#116217] +* Use desaturated map tiles instead of bright map tiles by default {kibana-pull}116179[#116179] +* Use ES mvt {kibana-pull}114553[#114553] +Security:: +* Register "minimal" feature privileges regardless of the current license level {kibana-pull}115992[#115992] +Uptime:: +* Uptime index config using kibana.yml {kibana-pull}115775[#115775] + +[float] +[[fixes-v8.0.0-beta1]] +=== Bug fixes + +The 8.0.0-beta1 release includes the following bug fixes. + +Management:: +* Removes freeze action from Cold phase {kibana-pull}116160[#116160] +* Disallow creating runtime and scripted fields with * in the name {kibana-pull}116119[#116119] +Querying & Filtering:: +* Fixes Add filter button doesnt close popup after openning {kibana-pull}111917[#111917] [[release-notes-8.0.0-alpha2]] == {kib} 8.0.0-alpha2 @@ -26,7 +542,7 @@ Review the {kib} 8.0.0-alpha2 changes, then use the <>. [discrete] [[breaking-110830]] @@ -130,9 +646,13 @@ The deprecated `xpack.maps.showMapVisualizationTypes` setting in kibana.yml has When you upgrade, remove `xpack.maps.showMapVisualizationTypes` from your kibana.yml file. ==== -For the {kib} 8.0.0-alpha1 breaking changes, refer to <>. +[float] +[[deprecations-8.0.0-alpha2]] +=== Deprecations -//end::notable-breaking-changes[] +Deprecated functionality does not have an immediate impact on your application, but we strongly recommend you make the necessary updates after you complete the upgrade. + +To review the 8.0.0 depcrecations, refer to the <>. [float] [[features-8.0.0-alpha2]] @@ -152,27 +672,17 @@ For the Elastic Security 8.0.0-alpha2 release information, refer to {security-gu Security:: * Interactive setup mode {kibana-pull}106881[#106881] -[float] -[[fixes-v8.0.0-alpha2]] -=== Bug fix -The 8.0.0-alpha2 release includes the following bug fix. - -Operations:: -* Moves systemd service to /usr/lib/systemd/system {kibana-pull}83571[#83571] - [[release-notes-8.0.0-alpha1]] == {kib} 8.0.0-alpha1 Review the {kib} 8.0.0-alpha1 changes, then use the <> to complete the upgrade. [float] -[[breaking-changes-8.0.0]] +[[breaking-changes-8.0.0-alpha1]] === Breaking changes Breaking changes can prevent your application from optimal operation and performance. Review the breaking changes, then mitigate the impact to your application. -//tag::notable-breaking-changes[] - [float] [[enterprise-search-change]] ==== Enterprise Search changes @@ -388,10 +898,8 @@ The environment variables `CONFIG_PATH` and `DATA_PATH` have been removed. For Use the environment variable `KBN_PATH_CONF` instead of `CONFIG_PATH`. Use the setting `path.data` instead of `DATA_PATH`. ==== -// end::notable-breaking-changes[] - [float] -[[deprecations-8.0.0]] +[[deprecations-8.0.0-alpha1]] === Deprecations The following functionality is deprecated in 8.0.0, and will be removed in 9.0.0. Deprecated functionality does not have an immediate impact on your application, but we strongly recommend you make the necessary updates after you complete the upgrade. From ccebd816b62913f9d1bd237d0a5690389be53c2a Mon Sep 17 00:00:00 2001 From: Brandon Morelli Date: Mon, 1 Nov 2021 15:47:20 -0700 Subject: [PATCH 038/110] docs: update links to apm docs (#116529) Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- src/core/public/doc_links/doc_links_service.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/core/public/doc_links/doc_links_service.ts b/src/core/public/doc_links/doc_links_service.ts index 118834a1458cd8..7284a1a3f06f03 100644 --- a/src/core/public/doc_links/doc_links_service.ts +++ b/src/core/public/doc_links/doc_links_service.ts @@ -40,9 +40,9 @@ export class DocLinksService { kibanaSettings: `${KIBANA_DOCS}apm-settings-in-kibana.html`, supportedServiceMaps: `${KIBANA_DOCS}service-maps.html#service-maps-supported`, customLinks: `${KIBANA_DOCS}custom-links.html`, - droppedTransactionSpans: `${APM_DOCS}get-started/master/transaction-spans.html#dropped-spans`, - upgrading: `${APM_DOCS}server/master/upgrading.html`, - metaData: `${APM_DOCS}get-started/master/metadata.html`, + droppedTransactionSpans: `${APM_DOCS}guide/${DOC_LINK_VERSION}/data-model-spans.html#data-model-dropped-spans`, + upgrading: `${APM_DOCS}guide/${DOC_LINK_VERSION}/upgrade.html`, + metaData: `${APM_DOCS}guide/${DOC_LINK_VERSION}/data-model-metadata.html`, }, canvas: { guide: `${KIBANA_DOCS}canvas.html`, From aafbc8cad04fe2c78c60c4bcba55b3235f2cf29b Mon Sep 17 00:00:00 2001 From: Chris Cowan Date: Mon, 1 Nov 2021 18:44:23 -0600 Subject: [PATCH 039/110] [Metrics UI] Finish removing enabled for code base (#114731) Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../alerting/metric_threshold/metric_threshold_executor.test.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/x-pack/plugins/infra/server/lib/alerting/metric_threshold/metric_threshold_executor.test.ts b/x-pack/plugins/infra/server/lib/alerting/metric_threshold/metric_threshold_executor.test.ts index d204782957f344..bab31b14fedee5 100644 --- a/x-pack/plugins/infra/server/lib/alerting/metric_threshold/metric_threshold_executor.test.ts +++ b/x-pack/plugins/infra/server/lib/alerting/metric_threshold/metric_threshold_executor.test.ts @@ -713,7 +713,6 @@ describe('The metric threshold alert type', () => { }); const createMockStaticConfiguration = (sources: any) => ({ - enabled: true, inventory: { compositeSize: 2000, }, From 2d1a088447ab3d22c026294cf7815420507f1158 Mon Sep 17 00:00:00 2001 From: Oliver Gupte Date: Tue, 2 Nov 2021 03:28:33 -0400 Subject: [PATCH 040/110] [Integration] Fix landing page for Add APM Integration link in Observability (#116847) (#116851) --- .../components/routing/templates/apm_main_template.tsx | 5 ++--- .../public/components/routing/templates/no_data_config.ts | 2 +- x-pack/plugins/observability/public/utils/no_data_config.ts | 2 +- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/x-pack/plugins/apm/public/components/routing/templates/apm_main_template.tsx b/x-pack/plugins/apm/public/components/routing/templates/apm_main_template.tsx index 14bf7de789c98f..7ba0ca625d74c8 100644 --- a/x-pack/plugins/apm/public/components/routing/templates/apm_main_template.tsx +++ b/x-pack/plugins/apm/public/components/routing/templates/apm_main_template.tsx @@ -42,11 +42,10 @@ export function ApmMainTemplate({ const location = useLocation(); const { services } = useKibana(); - const { http, docLinks } = services; + const { http, docLinks, observability } = services; const basePath = http?.basePath.get(); - const ObservabilityPageTemplate = - services.observability.navigation.PageTemplate; + const ObservabilityPageTemplate = observability.navigation.PageTemplate; const { data } = useFetcher((callApmApi) => { return callApmApi({ endpoint: 'GET /internal/apm/has_data' }); diff --git a/x-pack/plugins/apm/public/components/routing/templates/no_data_config.ts b/x-pack/plugins/apm/public/components/routing/templates/no_data_config.ts index 92b2b1bc3d2298..b376ca3aec2c5f 100644 --- a/x-pack/plugins/apm/public/components/routing/templates/no_data_config.ts +++ b/x-pack/plugins/apm/public/components/routing/templates/no_data_config.ts @@ -35,7 +35,7 @@ export function getNoDataConfig({ 'Use APM agents to collect APM data. We make it easy with agents for many popular languages.', } ), - href: basePath + `/app/integrations/detail/apm`, + href: `${basePath}/app/home#/tutorial/apm`, }, }, docsLink, diff --git a/x-pack/plugins/observability/public/utils/no_data_config.ts b/x-pack/plugins/observability/public/utils/no_data_config.ts index 2c87b1434a0b4e..c8e7daaf688bc2 100644 --- a/x-pack/plugins/observability/public/utils/no_data_config.ts +++ b/x-pack/plugins/observability/public/utils/no_data_config.ts @@ -32,7 +32,7 @@ export function getNoDataConfig({ defaultMessage: 'Use Beats and APM agents to send observability data to Elasticsearch. We make it easy with support for many popular systems, apps, and languages.', }), - href: basePath.prepend(`/app/integrations`), + href: basePath.prepend(`/app/home#/tutorial/apm`), }, }, docsLink, From 01ff431a4e0607313863fdd815b961b2785acb84 Mon Sep 17 00:00:00 2001 From: Aleh Zasypkin Date: Tue, 2 Nov 2021 09:22:18 +0100 Subject: [PATCH 041/110] Reply with 503 to unknown API requests at the preboot stage. (#116593) --- src/core/server/core_app/core_app.test.ts | 40 +++++++++++++++++++++++ src/core/server/core_app/core_app.ts | 22 ++++++++++--- 2 files changed, 58 insertions(+), 4 deletions(-) diff --git a/src/core/server/core_app/core_app.test.ts b/src/core/server/core_app/core_app.test.ts index c13116577af710..6eb38bfaa86441 100644 --- a/src/core/server/core_app/core_app.test.ts +++ b/src/core/server/core_app/core_app.test.ts @@ -139,6 +139,46 @@ describe('CoreApp', () => { expect(mockResponseFactory.renderCoreApp).toHaveBeenCalled(); }); + + it('main route handles unknown public API requests', () => { + coreApp.preboot(internalCorePreboot, prebootUIPlugins); + + const [[, handler]] = prebootHTTPResourcesRegistrar.register.mock.calls; + const mockResponseFactory = httpResourcesMock.createResponseFactory(); + handler( + {} as unknown as RequestHandlerContext, + httpServerMock.createKibanaRequest({ path: '/api/status' }), + mockResponseFactory + ); + + expect(mockResponseFactory.renderCoreApp).not.toHaveBeenCalled(); + expect(mockResponseFactory.customError).toHaveBeenCalledWith({ + statusCode: 503, + headers: { 'Retry-After': '30' }, + body: 'Kibana server is not ready yet', + bypassErrorFormat: true, + }); + }); + + it('main route handles unknown internal API requests', () => { + coreApp.preboot(internalCorePreboot, prebootUIPlugins); + + const [[, handler]] = prebootHTTPResourcesRegistrar.register.mock.calls; + const mockResponseFactory = httpResourcesMock.createResponseFactory(); + handler( + {} as unknown as RequestHandlerContext, + httpServerMock.createKibanaRequest({ path: '/internal/security/me' }), + mockResponseFactory + ); + + expect(mockResponseFactory.renderCoreApp).not.toHaveBeenCalled(); + expect(mockResponseFactory.customError).toHaveBeenCalledWith({ + statusCode: 503, + headers: { 'Retry-After': '30' }, + body: 'Kibana server is not ready yet', + bypassErrorFormat: true, + }); + }); }); describe('`/app/{id}/{any*}` route', () => { diff --git a/src/core/server/core_app/core_app.ts b/src/core/server/core_app/core_app.ts index 23ad78ca46d45a..bd7de6b20226c4 100644 --- a/src/core/server/core_app/core_app.ts +++ b/src/core/server/core_app/core_app.ts @@ -12,7 +12,7 @@ import { Env } from '@kbn/config'; import { schema } from '@kbn/config-schema'; import { fromRoot } from '@kbn/utils'; -import { IRouter, IBasePath, IKibanaResponse, KibanaResponseFactory } from '../http'; +import { IRouter, IBasePath, IKibanaResponse, KibanaResponseFactory, KibanaRequest } from '../http'; import { HttpResources, HttpResourcesServiceToolkit } from '../http_resources'; import { InternalCorePreboot, InternalCoreSetup } from '../internal_types'; import { CoreContext } from '../core_context'; @@ -27,6 +27,7 @@ interface CommonRoutesParams { basePath: IBasePath; uiPlugins: UiPlugins; onResourceNotFound: ( + req: KibanaRequest, res: HttpResourcesServiceToolkit & KibanaResponseFactory ) => Promise; } @@ -64,7 +65,20 @@ export class CoreApp { httpResources: corePreboot.httpResources.createRegistrar(router), router, uiPlugins, - onResourceNotFound: (res) => res.renderCoreApp(), + onResourceNotFound: async (req, res) => + // THe API consumers might call various Kibana APIs (e.g. `/api/status`) when Kibana is still at the preboot + // stage, and the main HTTP server that registers API handlers isn't up yet. At this stage we don't know if + // the API endpoint exists or not, and hence cannot reply with `404`. We also should not reply with completely + // unexpected response (`200 text/html` for the Core app). The only suitable option is to reply with `503` + // like we do for all other unknown non-GET requests at the preboot stage. + req.route.path.startsWith('/api/') || req.route.path.startsWith('/internal/') + ? res.customError({ + statusCode: 503, + headers: { 'Retry-After': '30' }, + body: 'Kibana server is not ready yet', + bypassErrorFormat: true, + }) + : res.renderCoreApp(), }); }); } @@ -91,7 +105,7 @@ export class CoreApp { httpResources: resources, router, uiPlugins, - onResourceNotFound: async (res) => res.notFound(), + onResourceNotFound: async (req, res) => res.notFound(), }); resources.register( @@ -148,7 +162,7 @@ export class CoreApp { const { query, params } = req; const { path } = params; if (!path || !path.endsWith('/') || path.startsWith('/')) { - return onResourceNotFound(res); + return onResourceNotFound(req, res); } // remove trailing slash From cc366dd8881d311fdc15b0dbdb84dacb16e88c70 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20S=C3=A1nchez?= Date: Tue, 2 Nov 2021 09:48:29 +0100 Subject: [PATCH 042/110] [Security Solution][Endpoint] Fix error when searching with special characters in policies filter (#116444) * Fix error when searchin with special characters in policies filter * remove unused brackets * Refactor test uses userEvent instead of fireEvent to supress act() usage Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../policies_selector.test.tsx | 68 +++++++++---------- .../policies_selector/policies_selector.tsx | 2 +- 2 files changed, 34 insertions(+), 36 deletions(-) diff --git a/x-pack/plugins/security_solution/public/management/components/policies_selector/policies_selector.test.tsx b/x-pack/plugins/security_solution/public/management/components/policies_selector/policies_selector.test.tsx index f93c7399cac335..12a0e461863e8d 100644 --- a/x-pack/plugins/security_solution/public/management/components/policies_selector/policies_selector.test.tsx +++ b/x-pack/plugins/security_solution/public/management/components/policies_selector/policies_selector.test.tsx @@ -6,7 +6,9 @@ */ import { I18nProvider } from '@kbn/i18n/react'; -import { render, act, fireEvent, RenderResult } from '@testing-library/react'; +import { render, RenderResult } from '@testing-library/react'; +import userEvent from '@testing-library/user-event'; + import React from 'react'; import { EndpointDocGenerator } from '../../../../common/endpoint/generate_data'; @@ -46,13 +48,11 @@ describe('Policies selector', () => { const defaultIncludedPolicies = 'abc123'; const defaultExcludedPolicies = 'global'; const element = getElement({ defaultExcludedPolicies, defaultIncludedPolicies }); - act(() => { - fireEvent.click(element.getByTestId('policiesSelectorButton')); - }); + + userEvent.click(element.getByTestId('policiesSelectorButton')); expect(element.getByText(policy.name)).toHaveTextContent(policy.name); - act(() => { - fireEvent.click(element.getByText('Unassigned entries')); - }); + + userEvent.click(element.getByText('Unassigned entries')); expect(onChangeSelectionMock).toHaveBeenCalledWith([ { checked: 'on', id: 'abc123', name: 'test policy A' }, { checked: 'off', id: 'global', name: 'Global entries' }, @@ -65,12 +65,10 @@ describe('Policies selector', () => { const defaultIncludedPolicies = 'abc123'; const defaultExcludedPolicies = 'global'; const element = getElement({ defaultExcludedPolicies, defaultIncludedPolicies }); - act(() => { - fireEvent.click(element.getByTestId('policiesSelectorButton')); - }); - act(() => { - fireEvent.click(element.getByText(policy.name)); - }); + + userEvent.click(element.getByTestId('policiesSelectorButton')); + + userEvent.click(element.getByText(policy.name)); expect(onChangeSelectionMock).toHaveBeenCalledWith([ { checked: 'off', id: 'abc123', name: 'test policy A' }, { checked: 'off', id: 'global', name: 'Global entries' }, @@ -82,12 +80,10 @@ describe('Policies selector', () => { const defaultIncludedPolicies = 'abc123'; const defaultExcludedPolicies = 'global'; const element = getElement({ defaultExcludedPolicies, defaultIncludedPolicies }); - act(() => { - fireEvent.click(element.getByTestId('policiesSelectorButton')); - }); - act(() => { - fireEvent.click(element.getByText('Global entries')); - }); + + userEvent.click(element.getByTestId('policiesSelectorButton')); + + userEvent.click(element.getByText('Global entries')); expect(onChangeSelectionMock).toHaveBeenCalledWith([ { checked: 'on', id: 'abc123', name: 'test policy A' }, { checked: undefined, id: 'global', name: 'Global entries' }, @@ -99,27 +95,29 @@ describe('Policies selector', () => { describe('When filter policy', () => { it('should filter policy by name', () => { const element = getElement({}); - act(() => { - fireEvent.click(element.getByTestId('policiesSelectorButton')); - }); - act(() => { - fireEvent.change(element.getByTestId('policiesSelectorSearch'), { - target: { value: policy.name }, - }); - }); + + userEvent.click(element.getByTestId('policiesSelectorButton')); + + userEvent.type(element.getByTestId('policiesSelectorSearch'), policy.name); expect(element.queryAllByText('Global entries')).toStrictEqual([]); expect(element.getByText(policy.name)).toHaveTextContent(policy.name); }); it('should filter with no results', () => { const element = getElement({}); - act(() => { - fireEvent.click(element.getByTestId('policiesSelectorButton')); - }); - act(() => { - fireEvent.change(element.getByTestId('policiesSelectorSearch'), { - target: { value: 'no results' }, - }); - }); + + userEvent.click(element.getByTestId('policiesSelectorButton')); + + userEvent.type(element.getByTestId('policiesSelectorSearch'), 'no results'); + expect(element.queryAllByText('Global entries')).toStrictEqual([]); + expect(element.queryAllByText('Unassigned entries')).toStrictEqual([]); + expect(element.queryAllByText(policy.name)).toStrictEqual([]); + }); + it('should filter with special chars', () => { + const element = getElement({}); + + userEvent.click(element.getByTestId('policiesSelectorButton')); + + userEvent.type(element.getByTestId('policiesSelectorSearch'), '*'); expect(element.queryAllByText('Global entries')).toStrictEqual([]); expect(element.queryAllByText('Unassigned entries')).toStrictEqual([]); expect(element.queryAllByText(policy.name)).toStrictEqual([]); diff --git a/x-pack/plugins/security_solution/public/management/components/policies_selector/policies_selector.tsx b/x-pack/plugins/security_solution/public/management/components/policies_selector/policies_selector.tsx index b86c8f6de7abd1..556be843d050fc 100644 --- a/x-pack/plugins/security_solution/public/management/components/policies_selector/policies_selector.tsx +++ b/x-pack/plugins/security_solution/public/management/components/policies_selector/policies_selector.tsx @@ -135,7 +135,7 @@ export const PoliciesSelector = memo( const dropdownItems = useMemo( () => itemsList.map((item, index) => - item.name.match(new RegExp(query, 'i')) ? ( + item.name.toLowerCase().includes(query.toLowerCase()) ? ( Date: Tue, 2 Nov 2021 09:59:37 +0100 Subject: [PATCH 043/110] Add column-gap to HeaderSectionComponent (#115952) * Add column-gap to HeaderSectionComponent * Please code review by using gutterSize instead of flex column-gap * Add eui-textBreakNormal to header_section title It makes sure that words in the title don't break into a new line Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../header_section/__snapshots__/index.test.tsx.snap | 10 +++++++--- .../public/common/components/header_section/index.tsx | 6 +++--- .../alerts_kpis/alerts_count_panel/index.tsx | 2 +- .../alerts_kpis/alerts_histogram_panel/index.tsx | 6 +----- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/x-pack/plugins/security_solution/public/common/components/header_section/__snapshots__/index.test.tsx.snap b/x-pack/plugins/security_solution/public/common/components/header_section/__snapshots__/index.test.tsx.snap index fe589b1e253a9f..7fe76e05b2f027 100644 --- a/x-pack/plugins/security_solution/public/common/components/header_section/__snapshots__/index.test.tsx.snap +++ b/x-pack/plugins/security_solution/public/common/components/header_section/__snapshots__/index.test.tsx.snap @@ -6,14 +6,14 @@ exports[`HeaderSection it renders 1`] = ` > @@ -23,7 +23,11 @@ exports[`HeaderSection it renders 1`] = `

- Test title + + Test title +

= ({ hideSubtitle = false, }) => (
- + - +

- {title} + {title} {tooltip && ( <> {' '} diff --git a/x-pack/plugins/security_solution/public/detections/components/alerts_kpis/alerts_count_panel/index.tsx b/x-pack/plugins/security_solution/public/detections/components/alerts_kpis/alerts_count_panel/index.tsx index c8d45ca67068ad..29324d186784ea 100644 --- a/x-pack/plugins/security_solution/public/detections/components/alerts_kpis/alerts_count_panel/index.tsx +++ b/x-pack/plugins/security_solution/public/detections/components/alerts_kpis/alerts_count_panel/index.tsx @@ -94,7 +94,7 @@ export const AlertsCountPanel = memo( {i18n.COUNT_TABLE_TITLE}} + title={i18n.COUNT_TABLE_TITLE} titleSize="s" hideSubtitle > diff --git a/x-pack/plugins/security_solution/public/detections/components/alerts_kpis/alerts_histogram_panel/index.tsx b/x-pack/plugins/security_solution/public/detections/components/alerts_kpis/alerts_histogram_panel/index.tsx index 147d41e8533df8..9095f181b00c1a 100644 --- a/x-pack/plugins/security_solution/public/detections/components/alerts_kpis/alerts_histogram_panel/index.tsx +++ b/x-pack/plugins/security_solution/public/detections/components/alerts_kpis/alerts_histogram_panel/index.tsx @@ -257,11 +257,7 @@ export const AlertsHistogramPanel = memo( }, [showLinkToAlerts, goToDetectionEngine, formatUrl]); const titleText = useMemo( - () => ( - - {onlyField == null ? title : i18n.TOP(onlyField)} - - ), + () => (onlyField == null ? title : i18n.TOP(onlyField)), [onlyField, title] ); From 56d3efdcab95b4d84b80f0168f89f7e40dead8c5 Mon Sep 17 00:00:00 2001 From: Pete Hampton Date: Tue, 2 Nov 2021 09:24:46 +0000 Subject: [PATCH 044/110] [Telemetry] Migrate off unix epoch to UTC ISO Timestamp. (#116744) Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../plugins/security_solution/server/lib/telemetry/helpers.ts | 2 +- x-pack/plugins/security_solution/server/lib/telemetry/types.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/x-pack/plugins/security_solution/server/lib/telemetry/helpers.ts b/x-pack/plugins/security_solution/server/lib/telemetry/helpers.ts index 86d41f5040cc6b..37f6debd502577 100644 --- a/x-pack/plugins/security_solution/server/lib/telemetry/helpers.ts +++ b/x-pack/plugins/security_solution/server/lib/telemetry/helpers.ts @@ -161,7 +161,7 @@ export const ruleExceptionListItemToTelemetryEvent = ( export const templateExceptionList = (listData: ExceptionListItem[], listType: string) => { return listData.map((item) => { const template: ListTemplate = { - '@timestamp': new Date().getTime(), + '@timestamp': moment().toISOString(), }; // cast exception list type to a TelemetryEvent for allowlist filtering diff --git a/x-pack/plugins/security_solution/server/lib/telemetry/types.ts b/x-pack/plugins/security_solution/server/lib/telemetry/types.ts index 6aaf6f4371475f..c65e40895de543 100644 --- a/x-pack/plugins/security_solution/server/lib/telemetry/types.ts +++ b/x-pack/plugins/security_solution/server/lib/telemetry/types.ts @@ -226,7 +226,7 @@ export interface ExceptionListItem { } export interface ListTemplate { - '@timestamp': number; + '@timestamp': string; detection_rule?: TelemetryEvent; endpoint_exception?: TelemetryEvent; endpoint_event_filter?: TelemetryEvent; From 6edabd121616c18ee5e3494ea2daff18faa45026 Mon Sep 17 00:00:00 2001 From: Walter Rafelsberger Date: Tue, 2 Nov 2021 10:25:48 +0100 Subject: [PATCH 045/110] [ML] Fix boolean field support. (#116608) Fixes support for boolean field types to be accepted as field candidates for APM correlation and failed transaction analysis. --- .../queries/query_field_candidates.ts | 16 ++++++++++++---- .../queries/query_field_value_pairs.ts | 5 ++++- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/x-pack/plugins/apm/server/lib/search_strategies/queries/query_field_candidates.ts b/x-pack/plugins/apm/server/lib/search_strategies/queries/query_field_candidates.ts index 292be1b5817aad..612225a2348cbf 100644 --- a/x-pack/plugins/apm/server/lib/search_strategies/queries/query_field_candidates.ts +++ b/x-pack/plugins/apm/server/lib/search_strategies/queries/query_field_candidates.ts @@ -7,6 +7,8 @@ import type * as estypes from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; +import { ES_FIELD_TYPES } from '@kbn/field-types'; + import type { ElasticsearchClient } from 'src/core/server'; import type { SearchStrategyParams } from '../../../../common/search_strategies/types'; @@ -22,6 +24,12 @@ import { hasPrefixToInclude } from '../utils'; import { getQueryWithParams } from './get_query_with_params'; import { getRequestBase } from './get_request_base'; +const SUPPORTED_ES_FIELD_TYPES = [ + ES_FIELD_TYPES.KEYWORD, + ES_FIELD_TYPES.IP, + ES_FIELD_TYPES.BOOLEAN, +]; + export const shouldBeExcluded = (fieldName: string) => { return ( FIELDS_TO_EXCLUDE_AS_CANDIDATE.has(fieldName) || @@ -54,7 +62,7 @@ export const fetchTransactionDurationFieldCandidates = async ( params: SearchStrategyParams ): Promise<{ fieldCandidates: string[] }> => { const { index } = params; - // Get all fields with keyword mapping + // Get all supported fields const respMapping = await esClient.fieldCaps({ index, fields: '*', @@ -64,9 +72,9 @@ export const fetchTransactionDurationFieldCandidates = async ( const acceptableFields: Set = new Set(); Object.entries(respMapping.body.fields).forEach(([key, value]) => { - const fieldTypes = Object.keys(value); - const isSupportedType = fieldTypes.some( - (type) => type === 'keyword' || type === 'ip' + const fieldTypes = Object.keys(value) as ES_FIELD_TYPES[]; + const isSupportedType = fieldTypes.some((type) => + SUPPORTED_ES_FIELD_TYPES.includes(type) ); // Definitely include if field name matches any of the wild card if (hasPrefixToInclude(key) && isSupportedType) { diff --git a/x-pack/plugins/apm/server/lib/search_strategies/queries/query_field_value_pairs.ts b/x-pack/plugins/apm/server/lib/search_strategies/queries/query_field_value_pairs.ts index 39d6aea2f38bda..e57ef5ee341ee7 100644 --- a/x-pack/plugins/apm/server/lib/search_strategies/queries/query_field_value_pairs.ts +++ b/x-pack/plugins/apm/server/lib/search_strategies/queries/query_field_value_pairs.ts @@ -60,12 +60,15 @@ const fetchTransactionDurationFieldTerms = async ( resp.body.aggregations .attribute_terms as estypes.AggregationsMultiBucketAggregate<{ key: string; + key_as_string?: string; }> )?.buckets; if (buckets?.length >= 1) { return buckets.map((d) => ({ fieldName, - fieldValue: d.key, + // The terms aggregation returns boolean fields as { key: 0, key_as_string: "false" }, + // so we need to pick `key_as_string` if it's present, otherwise searches on boolean fields would fail later on. + fieldValue: d.key_as_string ?? d.key, })); } } catch (e) { From 95cadcc9f171872d3ebf4c2917732504882575fd Mon Sep 17 00:00:00 2001 From: Miriam <31922082+MiriamAparicio@users.noreply.github.com> Date: Tue, 2 Nov 2021 10:10:24 +0000 Subject: [PATCH 046/110] Replace noHits variable (#116438) * Replace noHits variable * fix types * changes after review --- .../service_overview.test.tsx | 6 +- .../failed_transaction_rate_chart/index.tsx | 10 ++- .../use_transaction_trace_samples_fetcher.ts | 12 +--- .../java/gc/fetch_and_transform_gc_metrics.ts | 2 - .../metrics/by_agent/shared/memory/index.ts | 2 +- .../metrics/transform_metrics_chart.test.ts | 1 - .../lib/metrics/transform_metrics_chart.ts | 3 +- .../get_service_map_service_node_info.test.ts | 3 +- .../get_service_map_service_node_info.ts | 5 +- .../lib/transaction_groups/get_error_rate.ts | 23 +++--- .../trace_samples/get_trace_samples/index.ts | 15 ++-- .../tests/error_rate/service_apis.ts | 2 +- .../tests/transactions/error_rate.ts | 71 +++++++------------ 13 files changed, 54 insertions(+), 101 deletions(-) diff --git a/x-pack/plugins/apm/public/components/app/service_overview/service_overview.test.tsx b/x-pack/plugins/apm/public/components/app/service_overview/service_overview.test.tsx index aae6dddbec718c..7e9b4325591d9a 100644 --- a/x-pack/plugins/apm/public/components/app/service_overview/service_overview.test.tsx +++ b/x-pack/plugins/apm/public/components/app/service_overview/service_overview.test.tsx @@ -130,13 +130,11 @@ describe('ServiceOverview', () => { 'GET /internal/apm/services/{serviceName}/transactions/charts/error_rate': { currentPeriod: { - transactionErrorRate: [], - noHits: true, + timeseries: [], average: null, }, previousPeriod: { - transactionErrorRate: [], - noHits: true, + timeseries: [], average: null, }, }, diff --git a/x-pack/plugins/apm/public/components/shared/charts/failed_transaction_rate_chart/index.tsx b/x-pack/plugins/apm/public/components/shared/charts/failed_transaction_rate_chart/index.tsx index cf57f618940b4b..cda0058bdacd3e 100644 --- a/x-pack/plugins/apm/public/components/shared/charts/failed_transaction_rate_chart/index.tsx +++ b/x-pack/plugins/apm/public/components/shared/charts/failed_transaction_rate_chart/index.tsx @@ -40,13 +40,11 @@ type ErrorRate = const INITIAL_STATE: ErrorRate = { currentPeriod: { - noHits: true, - transactionErrorRate: [], + timeseries: [], average: null, }, previousPeriod: { - noHits: true, - transactionErrorRate: [], + timeseries: [], average: null, }, }; @@ -116,7 +114,7 @@ export function FailedTransactionRateChart({ const timeseries = [ { - data: data.currentPeriod.transactionErrorRate, + data: data.currentPeriod.timeseries, type: 'linemark', color: theme.eui.euiColorVis7, title: i18n.translate('xpack.apm.errorRate.chart.errorRate', { @@ -126,7 +124,7 @@ export function FailedTransactionRateChart({ ...(comparisonEnabled ? [ { - data: data.previousPeriod.transactionErrorRate, + data: data.previousPeriod.timeseries, type: 'area', color: theme.eui.euiColorMediumShade, title: i18n.translate( diff --git a/x-pack/plugins/apm/public/hooks/use_transaction_trace_samples_fetcher.ts b/x-pack/plugins/apm/public/hooks/use_transaction_trace_samples_fetcher.ts index 48c2d555fd43b0..741100aca16e97 100644 --- a/x-pack/plugins/apm/public/hooks/use_transaction_trace_samples_fetcher.ts +++ b/x-pack/plugins/apm/public/hooks/use_transaction_trace_samples_fetcher.ts @@ -17,7 +17,6 @@ export interface TraceSample { } const INITIAL_DATA = { - noHits: true, traceSamples: [] as TraceSample[], }; @@ -71,16 +70,7 @@ export function useTransactionTraceSamplesFetcher({ }, }); - if (response.noHits) { - return response; - } - - const { traceSamples } = response; - - return { - noHits: false, - traceSamples, - }; + return response; } }, // the samples should not be refetched if the transactionId or traceId changes diff --git a/x-pack/plugins/apm/server/lib/metrics/by_agent/java/gc/fetch_and_transform_gc_metrics.ts b/x-pack/plugins/apm/server/lib/metrics/by_agent/java/gc/fetch_and_transform_gc_metrics.ts index 06138931c004ea..fb66cb96490854 100644 --- a/x-pack/plugins/apm/server/lib/metrics/by_agent/java/gc/fetch_and_transform_gc_metrics.ts +++ b/x-pack/plugins/apm/server/lib/metrics/by_agent/java/gc/fetch_and_transform_gc_metrics.ts @@ -123,7 +123,6 @@ export async function fetchAndTransformGcMetrics({ if (!aggregations) { return { ...chartBase, - noHits: true, series: [], }; } @@ -170,7 +169,6 @@ export async function fetchAndTransformGcMetrics({ return { ...chartBase, - noHits: response.hits.total.value === 0, series, }; } diff --git a/x-pack/plugins/apm/server/lib/metrics/by_agent/shared/memory/index.ts b/x-pack/plugins/apm/server/lib/metrics/by_agent/shared/memory/index.ts index addc17e5b09d88..828ee282604714 100644 --- a/x-pack/plugins/apm/server/lib/metrics/by_agent/shared/memory/index.ts +++ b/x-pack/plugins/apm/server/lib/metrics/by_agent/shared/memory/index.ts @@ -107,7 +107,7 @@ export async function getMemoryChartData({ operationName: 'get_cgroup_memory_metrics_charts', }); - if (cgroupResponse.noHits) { + if (cgroupResponse.series.length === 0) { return await fetchAndTransformMetrics({ environment, kuery, diff --git a/x-pack/plugins/apm/server/lib/metrics/transform_metrics_chart.test.ts b/x-pack/plugins/apm/server/lib/metrics/transform_metrics_chart.test.ts index d626842a5f5dc4..107e2d5774816e 100644 --- a/x-pack/plugins/apm/server/lib/metrics/transform_metrics_chart.test.ts +++ b/x-pack/plugins/apm/server/lib/metrics/transform_metrics_chart.test.ts @@ -60,7 +60,6 @@ test('transformDataToMetricsChart should transform an ES result into a chart obj expect(chart).toMatchInlineSnapshot(` Object { "key": "test_chart_key", - "noHits": false, "series": Array [ Object { "color": "red", diff --git a/x-pack/plugins/apm/server/lib/metrics/transform_metrics_chart.ts b/x-pack/plugins/apm/server/lib/metrics/transform_metrics_chart.ts index 999830dabefc47..7eaa90845d6522 100644 --- a/x-pack/plugins/apm/server/lib/metrics/transform_metrics_chart.ts +++ b/x-pack/plugins/apm/server/lib/metrics/transform_metrics_chart.ts @@ -19,14 +19,13 @@ export function transformDataToMetricsChart( result: ESSearchResponse, chartBase: ChartBase ) { - const { aggregations, hits } = result; + const { aggregations } = result; const timeseriesData = aggregations?.timeseriesData; return { title: chartBase.title, key: chartBase.key, yUnit: chartBase.yUnit, - noHits: hits.total.value === 0, series: Object.keys(chartBase.series).map((seriesKey, i) => { const overallValue = aggregations?.[seriesKey]?.value; diff --git a/x-pack/plugins/apm/server/lib/service_map/get_service_map_service_node_info.test.ts b/x-pack/plugins/apm/server/lib/service_map/get_service_map_service_node_info.test.ts index afb88189a5fd25..e064d97bb7aee9 100644 --- a/x-pack/plugins/apm/server/lib/service_map/get_service_map_service_node_info.test.ts +++ b/x-pack/plugins/apm/server/lib/service_map/get_service_map_service_node_info.test.ts @@ -49,8 +49,7 @@ describe('getServiceMapServiceNodeInfo', () => { it('returns data', async () => { jest.spyOn(getErrorRateModule, 'getErrorRate').mockResolvedValueOnce({ average: 0.5, - transactionErrorRate: [], - noHits: false, + timeseries: [{ x: 1634808240000, y: 0 }], }); const setup = { diff --git a/x-pack/plugins/apm/server/lib/service_map/get_service_map_service_node_info.ts b/x-pack/plugins/apm/server/lib/service_map/get_service_map_service_node_info.ts index 43147684ef3f78..2f089adf70c1c7 100644 --- a/x-pack/plugins/apm/server/lib/service_map/get_service_map_service_node_info.ts +++ b/x-pack/plugins/apm/server/lib/service_map/get_service_map_service_node_info.ts @@ -104,7 +104,7 @@ async function getErrorStats({ end, }: Options) { return withApmSpan('get_error_rate_for_service_map_node', async () => { - const { noHits, average } = await getErrorRate({ + const { average } = await getErrorRate({ environment, setup, serviceName, @@ -113,8 +113,7 @@ async function getErrorStats({ end, kuery: '', }); - - return { avgErrorRate: noHits ? null : average }; + return { avgErrorRate: average }; }); } diff --git a/x-pack/plugins/apm/server/lib/transaction_groups/get_error_rate.ts b/x-pack/plugins/apm/server/lib/transaction_groups/get_error_rate.ts index e85bd61ac440af..b7318e81a84a3e 100644 --- a/x-pack/plugins/apm/server/lib/transaction_groups/get_error_rate.ts +++ b/x-pack/plugins/apm/server/lib/transaction_groups/get_error_rate.ts @@ -49,8 +49,7 @@ export async function getErrorRate({ start: number; end: number; }): Promise<{ - noHits: boolean; - transactionErrorRate: Coordinate[]; + timeseries: Coordinate[]; average: number | null; }> { const { apmEventClient } = setup; @@ -111,20 +110,16 @@ export async function getErrorRate({ 'get_transaction_group_error_rate', params ); - - const noHits = resp.hits.total.value === 0; - if (!resp.aggregations) { - return { noHits, transactionErrorRate: [], average: null }; + return { timeseries: [], average: null }; } - const transactionErrorRate = getFailedTransactionRateTimeSeries( + const timeseries = getFailedTransactionRateTimeSeries( resp.aggregations.timeseries.buckets ); - const average = calculateFailedTransactionRate(resp.aggregations.outcomes); - return { noHits, transactionErrorRate, average }; + return { timeseries, average }; } export async function getErrorRatePeriods({ @@ -171,22 +166,22 @@ export async function getErrorRatePeriods({ start: comparisonStart, end: comparisonEnd, }) - : { noHits: true, transactionErrorRate: [], average: null }; + : { timeseries: [], average: null }; const [currentPeriod, previousPeriod] = await Promise.all([ currentPeriodPromise, previousPeriodPromise, ]); - const firstCurrentPeriod = currentPeriod.transactionErrorRate; + const currentPeriodTimeseries = currentPeriod.timeseries; return { currentPeriod, previousPeriod: { ...previousPeriod, - transactionErrorRate: offsetPreviousPeriodCoordinates({ - currentPeriodTimeseries: firstCurrentPeriod, - previousPeriodTimeseries: previousPeriod.transactionErrorRate, + timeseries: offsetPreviousPeriodCoordinates({ + currentPeriodTimeseries, + previousPeriodTimeseries: previousPeriod.timeseries, }), }, }; diff --git a/x-pack/plugins/apm/server/lib/transactions/trace_samples/get_trace_samples/index.ts b/x-pack/plugins/apm/server/lib/transactions/trace_samples/get_trace_samples/index.ts index b085c0fc4a8396..9b96cf19c516d8 100644 --- a/x-pack/plugins/apm/server/lib/transactions/trace_samples/get_trace_samples/index.ts +++ b/x-pack/plugins/apm/server/lib/transactions/trace_samples/get_trace_samples/index.ts @@ -93,19 +93,14 @@ export async function getTraceSamples({ }, }); - return response.hits.hits; + return response.hits.hits.map((hit) => ({ + transactionId: hit._source.transaction.id, + traceId: hit._source.trace.id, + })); } - const samplesForDistributionHits = await getTraceSamplesHits(); - - const traceSamples = samplesForDistributionHits.map((hit) => ({ - transactionId: hit._source.transaction.id, - traceId: hit._source.trace.id, - })); - return { - noHits: samplesForDistributionHits.length === 0, - traceSamples, + traceSamples: await getTraceSamplesHits(), }; }); } diff --git a/x-pack/test/apm_api_integration/tests/error_rate/service_apis.ts b/x-pack/test/apm_api_integration/tests/error_rate/service_apis.ts index f0f917e865fa95..d5bf0bd21c7e85 100644 --- a/x-pack/test/apm_api_integration/tests/error_rate/service_apis.ts +++ b/x-pack/test/apm_api_integration/tests/error_rate/service_apis.ts @@ -87,7 +87,7 @@ export default function ApiTest({ getService }: FtrProviderContext) { serviceInventoryAPIResponse.body.items[0].transactionErrorRate; const errorRateChartApiMean = meanBy( - transactionsErrorRateChartAPIResponse.body.currentPeriod.transactionErrorRate.filter( + transactionsErrorRateChartAPIResponse.body.currentPeriod.timeseries.filter( (item) => isFiniteNumber(item.y) && item.y > 0 ), 'y' diff --git a/x-pack/test/apm_api_integration/tests/transactions/error_rate.ts b/x-pack/test/apm_api_integration/tests/transactions/error_rate.ts index 89f818f58e875f..0507bc8f28b475 100644 --- a/x-pack/test/apm_api_integration/tests/transactions/error_rate.ts +++ b/x-pack/test/apm_api_integration/tests/transactions/error_rate.ts @@ -38,8 +38,8 @@ export default function ApiTest({ getService }: FtrProviderContext) { const body = response.body as ErrorRate; expect(body).to.be.eql({ - currentPeriod: { noHits: true, transactionErrorRate: [], average: null }, - previousPeriod: { noHits: true, transactionErrorRate: [], average: null }, + currentPeriod: { timeseries: [], average: null }, + previousPeriod: { timeseries: [], average: null }, }); }); @@ -62,8 +62,8 @@ export default function ApiTest({ getService }: FtrProviderContext) { const body = response.body as ErrorRate; expect(body).to.be.eql({ - currentPeriod: { noHits: true, transactionErrorRate: [], average: null }, - previousPeriod: { noHits: true, transactionErrorRate: [], average: null }, + currentPeriod: { timeseries: [], average: null }, + previousPeriod: { timeseries: [], average: null }, }); }); }); @@ -89,10 +89,10 @@ export default function ApiTest({ getService }: FtrProviderContext) { expect(errorRateResponse.currentPeriod.average).to.be.greaterThan(0); expect(errorRateResponse.previousPeriod.average).to.be(null); - expect(errorRateResponse.currentPeriod.transactionErrorRate.length).to.be.greaterThan(0); - expect(errorRateResponse.previousPeriod.transactionErrorRate).to.empty(); + expect(errorRateResponse.currentPeriod.timeseries.length).to.be.greaterThan(0); + expect(errorRateResponse.previousPeriod.timeseries).to.empty(); - const nonNullDataPoints = errorRateResponse.currentPeriod.transactionErrorRate.filter( + const nonNullDataPoints = errorRateResponse.currentPeriod.timeseries.filter( ({ y }) => y !== null ); @@ -101,24 +101,18 @@ export default function ApiTest({ getService }: FtrProviderContext) { it('has the correct start date', () => { expectSnapshot( - new Date( - first(errorRateResponse.currentPeriod.transactionErrorRate)?.x ?? NaN - ).toISOString() + new Date(first(errorRateResponse.currentPeriod.timeseries)?.x ?? NaN).toISOString() ).toMatchInline(`"2021-08-03T06:50:00.000Z"`); }); it('has the correct end date', () => { expectSnapshot( - new Date( - last(errorRateResponse.currentPeriod.transactionErrorRate)?.x ?? NaN - ).toISOString() + new Date(last(errorRateResponse.currentPeriod.timeseries)?.x ?? NaN).toISOString() ).toMatchInline(`"2021-08-03T07:20:00.000Z"`); }); it('has the correct number of buckets', () => { - expectSnapshot(errorRateResponse.currentPeriod.transactionErrorRate.length).toMatchInline( - `61` - ); + expectSnapshot(errorRateResponse.currentPeriod.timeseries.length).toMatchInline(`61`); }); it('has the correct calculation for average', () => { @@ -128,7 +122,7 @@ export default function ApiTest({ getService }: FtrProviderContext) { }); it('has the correct error rate', () => { - expectSnapshot(errorRateResponse.currentPeriod.transactionErrorRate).toMatch(); + expectSnapshot(errorRateResponse.currentPeriod.timeseries).toMatch(); }); }); @@ -157,14 +151,15 @@ export default function ApiTest({ getService }: FtrProviderContext) { expect(errorRateResponse.currentPeriod.average).to.be.greaterThan(0); expect(errorRateResponse.previousPeriod.average).to.be.greaterThan(0); - expect(errorRateResponse.currentPeriod.transactionErrorRate.length).to.be.greaterThan(0); - expect(errorRateResponse.previousPeriod.transactionErrorRate.length).to.be.greaterThan(0); + expect(errorRateResponse.currentPeriod.timeseries.length).to.be.greaterThan(0); + expect(errorRateResponse.previousPeriod.timeseries.length).to.be.greaterThan(0); - const currentPeriodNonNullDataPoints = - errorRateResponse.currentPeriod.transactionErrorRate.filter(({ y }) => y !== null); + const currentPeriodNonNullDataPoints = errorRateResponse.currentPeriod.timeseries.filter( + ({ y }) => y !== null + ); const previousPeriodNonNullDataPoints = - errorRateResponse.previousPeriod.transactionErrorRate.filter(({ y }) => y !== null); + errorRateResponse.previousPeriod.timeseries.filter(({ y }) => y !== null); expect(currentPeriodNonNullDataPoints.length).to.be.greaterThan(0); expect(previousPeriodNonNullDataPoints.length).to.be.greaterThan(0); @@ -172,37 +167,25 @@ export default function ApiTest({ getService }: FtrProviderContext) { it('has the correct start date', () => { expectSnapshot( - new Date( - first(errorRateResponse.currentPeriod.transactionErrorRate)?.x ?? NaN - ).toISOString() + new Date(first(errorRateResponse.currentPeriod.timeseries)?.x ?? NaN).toISOString() ).toMatchInline(`"2021-08-03T07:05:10.000Z"`); expectSnapshot( - new Date( - first(errorRateResponse.previousPeriod.transactionErrorRate)?.x ?? NaN - ).toISOString() + new Date(first(errorRateResponse.previousPeriod.timeseries)?.x ?? NaN).toISOString() ).toMatchInline(`"2021-08-03T07:05:10.000Z"`); }); it('has the correct end date', () => { expectSnapshot( - new Date( - last(errorRateResponse.currentPeriod.transactionErrorRate)?.x ?? NaN - ).toISOString() + new Date(last(errorRateResponse.currentPeriod.timeseries)?.x ?? NaN).toISOString() ).toMatchInline(`"2021-08-03T07:20:10.000Z"`); expectSnapshot( - new Date( - last(errorRateResponse.previousPeriod.transactionErrorRate)?.x ?? NaN - ).toISOString() + new Date(last(errorRateResponse.previousPeriod.timeseries)?.x ?? NaN).toISOString() ).toMatchInline(`"2021-08-03T07:20:10.000Z"`); }); it('has the correct number of buckets', () => { - expectSnapshot(errorRateResponse.currentPeriod.transactionErrorRate.length).toMatchInline( - `91` - ); - expectSnapshot( - errorRateResponse.previousPeriod.transactionErrorRate.length - ).toMatchInline(`91`); + expectSnapshot(errorRateResponse.currentPeriod.timeseries.length).toMatchInline(`91`); + expectSnapshot(errorRateResponse.previousPeriod.timeseries.length).toMatchInline(`91`); }); it('has the correct calculation for average', () => { @@ -215,13 +198,13 @@ export default function ApiTest({ getService }: FtrProviderContext) { }); it('has the correct error rate', () => { - expectSnapshot(errorRateResponse.currentPeriod.transactionErrorRate).toMatch(); - expectSnapshot(errorRateResponse.previousPeriod.transactionErrorRate).toMatch(); + expectSnapshot(errorRateResponse.currentPeriod.timeseries).toMatch(); + expectSnapshot(errorRateResponse.previousPeriod.timeseries).toMatch(); }); it('matches x-axis on current period and previous period', () => { - expect(errorRateResponse.currentPeriod.transactionErrorRate.map(({ x }) => x)).to.be.eql( - errorRateResponse.previousPeriod.transactionErrorRate.map(({ x }) => x) + expect(errorRateResponse.currentPeriod.timeseries.map(({ x }) => x)).to.be.eql( + errorRateResponse.previousPeriod.timeseries.map(({ x }) => x) ); }); }); From 1685a84143da62bcca846b0e15ef2ee00d02f10a Mon Sep 17 00:00:00 2001 From: Stratoula Kalafateli Date: Tue, 2 Nov 2021 12:19:44 +0200 Subject: [PATCH 047/110] [Timelion] Fixes the deprecation message (#116910) Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- src/plugins/vis_types/timelion/server/ui_settings.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/plugins/vis_types/timelion/server/ui_settings.ts b/src/plugins/vis_types/timelion/server/ui_settings.ts index 1d8dc997a3f6aa..40907b02714873 100644 --- a/src/plugins/vis_types/timelion/server/ui_settings.ts +++ b/src/plugins/vis_types/timelion/server/ui_settings.ts @@ -30,7 +30,8 @@ export function getUiSettings( }), deprecation: { message: i18n.translate('timelion.uiSettings.legacyChartsLibraryDeprication', { - defaultMessage: 'This setting is deprecated and will not be supported as of 8.0.', + defaultMessage: + 'This setting is deprecated and will not be supported in a future version.', }), docLinksKey: 'timelionSettings', }, From 356d143f2e18faebd1872968e610d788385de238 Mon Sep 17 00:00:00 2001 From: Stratoula Kalafateli Date: Tue, 2 Nov 2021 12:19:55 +0200 Subject: [PATCH 048/110] [Visualize] Fixes the deprecation message of the colorMapping setting (#116921) Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- src/plugins/charts/server/plugin.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/plugins/charts/server/plugin.ts b/src/plugins/charts/server/plugin.ts index c7559b525cd223..86c90c73c38b03 100644 --- a/src/plugins/charts/server/plugin.ts +++ b/src/plugins/charts/server/plugin.ts @@ -37,7 +37,8 @@ export class ChartsServerPlugin implements Plugin { message: i18n.translate( 'charts.advancedSettings.visualization.colorMappingTextDeprecation', { - defaultMessage: 'This setting is deprecated and will not be supported as of 8.0.', + defaultMessage: + 'This setting is deprecated and will not be supported in a future version.', } ), docLinksKey: 'visualizationSettings', From c7f7cd39f5ab7c15f3c92cd18ba308fe6be82d20 Mon Sep 17 00:00:00 2001 From: Gloria Hornero Date: Tue, 2 Nov 2021 11:34:09 +0100 Subject: [PATCH 049/110] [Security Solution] Fixes upgrade tests (#116425) Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- x-pack/test/security_solution_cypress/runner.ts | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/x-pack/test/security_solution_cypress/runner.ts b/x-pack/test/security_solution_cypress/runner.ts index 4283b85af0c179..a111c327b1ac6a 100644 --- a/x-pack/test/security_solution_cypress/runner.ts +++ b/x-pack/test/security_solution_cypress/runner.ts @@ -117,7 +117,6 @@ export async function SecuritySolutionCypressUpgradeCliTestRunner({ getService, }: FtrProviderContext) { const log = getService('log'); - const config = getService('config'); await withProcRunner(log, async (procs) => { await procs.run('cypress', { @@ -126,10 +125,10 @@ export async function SecuritySolutionCypressUpgradeCliTestRunner({ cwd: resolve(__dirname, '../../plugins/security_solution'), env: { FORCE_COLOR: '1', - CYPRESS_BASE_URL: Url.format(config.get('servers.kibana')), - CYPRESS_ELASTICSEARCH_URL: Url.format(config.get('servers.elasticsearch')), - CYPRESS_ELASTICSEARCH_USERNAME: config.get('servers.elasticsearch.username'), - CYPRESS_ELASTICSEARCH_PASSWORD: config.get('servers.elasticsearch.password'), + CYPRESS_BASE_URL: process.env.TEST_KIBANA_URL, + CYPRESS_ELASTICSEARCH_URL: process.env.TEST_ES_URL, + CYPRESS_ELASTICSEARCH_USERNAME: process.env.TEST_ES_USER, + CYPRESS_ELASTICSEARCH_PASSWORD: process.env.TEST_ES_PASS, ...process.env, }, wait: true, From 0593c614a9c81bf39cfec9bfb2c6e4bfb51b0da0 Mon Sep 17 00:00:00 2001 From: Walter Rafelsberger Date: Tue, 2 Nov 2021 11:40:58 +0100 Subject: [PATCH 050/110] [ML] APM Correlations: Fix percentiles values. (#116639) A change in the ES range agg no longer accepts numbers with decimals if the underlying field is typed as long. This PR fixes the issue by rounding the percentiles values we pass on to the range agg. --- .../latency_correlations_search_service.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/x-pack/plugins/apm/server/lib/search_strategies/latency_correlations/latency_correlations_search_service.ts b/x-pack/plugins/apm/server/lib/search_strategies/latency_correlations/latency_correlations_search_service.ts index f170818d018d46..5fed2f4eb4dc47 100644 --- a/x-pack/plugins/apm/server/lib/search_strategies/latency_correlations/latency_correlations_search_service.ts +++ b/x-pack/plugins/apm/server/lib/search_strategies/latency_correlations/latency_correlations_search_service.ts @@ -151,7 +151,11 @@ export const latencyCorrelationsSearchServiceProvider: LatencyCorrelationsSearch params, percentileAggregationPercents ); - const percentiles = Object.values(percentilesRecords); + + // We need to round the percentiles values + // because the queries we're using based on it + // later on wouldn't allow numbers with decimals. + const percentiles = Object.values(percentilesRecords).map(Math.round); addLogMessage(`Loaded percentiles.`); From 6d5ba9be5ea17cd53251337ede65604139a1909d Mon Sep 17 00:00:00 2001 From: Dario Gieselaar Date: Tue, 2 Nov 2021 11:48:05 +0100 Subject: [PATCH 051/110] [APM] Use Synthtrace in Cypress tests (#116948) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Søren Louv-Jansen Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- packages/elastic-apm-synthtrace/src/index.ts | 2 + .../elastic-apm-synthtrace/src/lib/browser.ts | 39 +++++++++++ .../get_chrome_user_agent_defaults.ts | 20 ++++++ .../elastic-apm-synthtrace/src/lib/entity.ts | 9 +++ .../src/lib/instance.ts | 5 ++ .../src/lib/rum_span.ts | 11 ++++ .../src/lib/rum_transaction.ts | 11 ++++ .../src/lib/utils/create_logger.ts | 4 +- x-pack/plugins/apm/ftr_e2e/cypress.json | 4 +- .../es_archiver/apm_8.0.0/data.json.gz | Bin 4795717 -> 0 bytes .../mappings.json | 0 .../cypress/fixtures/synthtrace/opbeans.ts | 39 +++++++++-- .../read_only_user/dependencies.spec.ts | 34 +++++++--- .../integration/read_only_user/home.spec.ts | 20 +++++- .../service_overview/header_filters.spec.ts | 16 ++++- .../service_overview/instances_table.spec.ts | 27 ++++++-- .../service_overview/service_overview.spec.ts | 19 +++++- .../service_overview/time_comparison.spec.ts | 27 ++++++-- .../transactions_overview.spec.ts | 19 +++++- .../apm/ftr_e2e/cypress/plugins/index.js | 28 -------- .../apm/ftr_e2e/cypress/plugins/index.ts | 61 ++++++++++++++++++ x-pack/plugins/apm/ftr_e2e/cypress_start.ts | 28 +++++--- .../archives_metadata.ts => synthtrace.ts} | 15 +++-- .../cancel_es_request_on_abort.ts | 4 +- .../annotations/get_stored_annotations.ts | 4 +- 25 files changed, 363 insertions(+), 83 deletions(-) create mode 100644 packages/elastic-apm-synthtrace/src/lib/browser.ts create mode 100644 packages/elastic-apm-synthtrace/src/lib/defaults/get_chrome_user_agent_defaults.ts create mode 100644 packages/elastic-apm-synthtrace/src/lib/rum_span.ts create mode 100644 packages/elastic-apm-synthtrace/src/lib/rum_transaction.ts delete mode 100644 x-pack/plugins/apm/ftr_e2e/cypress/fixtures/es_archiver/apm_8.0.0/data.json.gz rename x-pack/plugins/apm/ftr_e2e/cypress/fixtures/es_archiver/{apm_8.0.0 => apm_mappings_only_8.0.0}/mappings.json (100%) delete mode 100644 x-pack/plugins/apm/ftr_e2e/cypress/plugins/index.js create mode 100644 x-pack/plugins/apm/ftr_e2e/cypress/plugins/index.ts rename x-pack/plugins/apm/ftr_e2e/{cypress/fixtures/es_archiver/archives_metadata.ts => synthtrace.ts} (50%) diff --git a/packages/elastic-apm-synthtrace/src/index.ts b/packages/elastic-apm-synthtrace/src/index.ts index 97cde3e2c4f7d2..70105438ff5ae4 100644 --- a/packages/elastic-apm-synthtrace/src/index.ts +++ b/packages/elastic-apm-synthtrace/src/index.ts @@ -7,10 +7,12 @@ */ export { service } from './lib/service'; +export { browser } from './lib/browser'; export { timerange } from './lib/timerange'; export { getTransactionMetrics } from './lib/utils/get_transaction_metrics'; export { getSpanDestinationMetrics } from './lib/utils/get_span_destination_metrics'; export { getObserverDefaults } from './lib/defaults/get_observer_defaults'; +export { getChromeUserAgentDefaults } from './lib/defaults/get_chrome_user_agent_defaults'; export { toElasticsearchOutput } from './lib/output/to_elasticsearch_output'; export { getBreakdownMetrics } from './lib/utils/get_breakdown_metrics'; export { cleanWriteTargets } from './lib/utils/clean_write_targets'; diff --git a/packages/elastic-apm-synthtrace/src/lib/browser.ts b/packages/elastic-apm-synthtrace/src/lib/browser.ts new file mode 100644 index 00000000000000..0fd8b44b69851d --- /dev/null +++ b/packages/elastic-apm-synthtrace/src/lib/browser.ts @@ -0,0 +1,39 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { Entity, UserAgentFields } from './entity'; +import { RumSpan } from './rum_span'; +import { RumTransaction } from './rum_transaction'; + +export class Browser extends Entity { + transaction(transactionName: string, transactionType: string = 'page-load') { + return new RumTransaction({ + ...this.fields, + 'transaction.name': transactionName, + 'transaction.type': transactionType, + }); + } + + span(spanName: string, spanType: string, spanSubtype: string) { + return new RumSpan({ + ...this.fields, + 'span.name': spanName, + 'span.type': spanType, + 'span.subtype': spanSubtype, + }); + } +} + +export function browser(serviceName: string, production: string, userAgent: UserAgentFields) { + return new Browser({ + 'agent.name': 'rum-js', + 'service.name': serviceName, + 'service.environment': production, + ...userAgent, + }); +} diff --git a/packages/elastic-apm-synthtrace/src/lib/defaults/get_chrome_user_agent_defaults.ts b/packages/elastic-apm-synthtrace/src/lib/defaults/get_chrome_user_agent_defaults.ts new file mode 100644 index 00000000000000..0031456248c1a8 --- /dev/null +++ b/packages/elastic-apm-synthtrace/src/lib/defaults/get_chrome_user_agent_defaults.ts @@ -0,0 +1,20 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { UserAgentFields } from '../entity'; + +export function getChromeUserAgentDefaults(): UserAgentFields { + return { + 'user_agent.original': + 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36', + 'user_agent.device.name': 'MacBook', + 'user_agent.name': 'Chrome', + 'user_agent.version': 95, + 'user_agent.os.name': 'MacOS', + }; +} diff --git a/packages/elastic-apm-synthtrace/src/lib/entity.ts b/packages/elastic-apm-synthtrace/src/lib/entity.ts index bf8fc10efd3a7e..c6e0c7193f8bac 100644 --- a/packages/elastic-apm-synthtrace/src/lib/entity.ts +++ b/packages/elastic-apm-synthtrace/src/lib/entity.ts @@ -15,6 +15,14 @@ export type ApplicationMetricFields = Partial<{ 'system.process.cpu.total.norm.pct': number; }>; +export type UserAgentFields = Partial<{ + 'user_agent.original': string; + 'user_agent.os.name': string; + 'user_agent.name': string; + 'user_agent.device.name': string; + 'user_agent.version': number; +}>; + export interface Exception { message: string; } @@ -32,6 +40,7 @@ export type Fields = Partial<{ 'error.grouping_name': string; 'error.grouping_key': string; 'host.name': string; + 'kubernetes.pod.uid': string; 'metricset.name': string; 'observer.version': string; 'observer.version_major': number; diff --git a/packages/elastic-apm-synthtrace/src/lib/instance.ts b/packages/elastic-apm-synthtrace/src/lib/instance.ts index 3570f497c90555..08444fde48ba6b 100644 --- a/packages/elastic-apm-synthtrace/src/lib/instance.ts +++ b/packages/elastic-apm-synthtrace/src/lib/instance.ts @@ -38,6 +38,11 @@ export class Instance extends Entity { }); } + podId(podId: string) { + this.fields['kubernetes.pod.uid'] = podId; + return this; + } + appMetrics(metrics: ApplicationMetricFields) { return new Metricset({ ...this.fields, diff --git a/packages/elastic-apm-synthtrace/src/lib/rum_span.ts b/packages/elastic-apm-synthtrace/src/lib/rum_span.ts new file mode 100644 index 00000000000000..620da9041ddd8c --- /dev/null +++ b/packages/elastic-apm-synthtrace/src/lib/rum_span.ts @@ -0,0 +1,11 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { Span } from './span'; + +export class RumSpan extends Span {} diff --git a/packages/elastic-apm-synthtrace/src/lib/rum_transaction.ts b/packages/elastic-apm-synthtrace/src/lib/rum_transaction.ts new file mode 100644 index 00000000000000..84528874101790 --- /dev/null +++ b/packages/elastic-apm-synthtrace/src/lib/rum_transaction.ts @@ -0,0 +1,11 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { Transaction } from './transaction'; + +export class RumTransaction extends Transaction {} diff --git a/packages/elastic-apm-synthtrace/src/lib/utils/create_logger.ts b/packages/elastic-apm-synthtrace/src/lib/utils/create_logger.ts index 4afdda74105cfd..88d0d4af3a66be 100644 --- a/packages/elastic-apm-synthtrace/src/lib/utils/create_logger.ts +++ b/packages/elastic-apm-synthtrace/src/lib/utils/create_logger.ts @@ -6,7 +6,9 @@ * Side Public License, v 1. */ -import { isPromise } from 'util/types'; +function isPromise(val: any): val is Promise { + return val && typeof val === 'object' && 'then' in val && typeof val.then === 'function'; +} export enum LogLevel { trace = 0, diff --git a/x-pack/plugins/apm/ftr_e2e/cypress.json b/x-pack/plugins/apm/ftr_e2e/cypress.json index ee62f12976678d..1791baaa5aae49 100644 --- a/x-pack/plugins/apm/ftr_e2e/cypress.json +++ b/x-pack/plugins/apm/ftr_e2e/cypress.json @@ -2,7 +2,7 @@ "fileServerFolder": "./cypress", "fixturesFolder": "./cypress/fixtures", "integrationFolder": "./cypress/integration", - "pluginsFile": "./cypress/plugins/index.js", + "pluginsFile": "./cypress/plugins/index.ts", "screenshotsFolder": "./cypress/screenshots", "supportFile": "./cypress/support/index.ts", "videosFolder": "./cypress/videos", @@ -13,4 +13,4 @@ "viewportWidth": 1440, "video": false, "screenshotOnRunFailure": false -} \ No newline at end of file +} diff --git a/x-pack/plugins/apm/ftr_e2e/cypress/fixtures/es_archiver/apm_8.0.0/data.json.gz b/x-pack/plugins/apm/ftr_e2e/cypress/fixtures/es_archiver/apm_8.0.0/data.json.gz deleted file mode 100644 index 1450997a0107e67242e42604ec8cfbe4d6af98d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4795717 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�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�^>Ky_3Lm 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

lzj32R5!?VU^uzD~Xi+JZfz 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�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≺_kvQEv7XOvpH$u4YjdPb2h?S98t%M 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

{K(4$s*1s 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 z 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%0D~F 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

yfdws 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%0AfBdYGkns&4Iez#YD9M>2U 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 z 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

&Yqeo|A%{FHJ{?3##esz{Qkd+Hu5%jiM{ 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

7_x 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

fg3y&qK@fOgd0FS}g6q;b^F76@9&^ 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

vVU_jS9D%KG(MA7pca1r_j>4GiFs(+7 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

  • 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[-GaPu@fx*tx`ym6g0kY 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≺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

    BS5>3o#9$ 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%0AMIlahN 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 z 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�Ld@B4iD33Yhn-04B+|BhDn>R2MnG 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 z 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

    FY4+`h%| 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ǖkCI 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

    X!9C&`7{F(eLBRs-I*l5Uo8P(^oJ6T|d3Dz~F$ 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 z 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

    GEE1J>73g@3T6TmRyF@u zO>Kcc}LL4Ug(V z*eE7yQ_Y+$q@Ggf#8u4aypFh3_il>f@A7@SaL75YX+)2|mLTB|Wyk)wK~AT5oz3n7jFGJLh5ftS6yW>qc?`atbMFJOrRN+RgaVGF`z=< z32akNKpD+O?7w+H46+DPk%S~73JF0hM+7mJf=WOX5`u&xA`OZAufq$PmRz?5nO?t$hPYgRKgKvkK|Z^3#uLJuxyN%#x=Se!IJrjSmL*7Ln-Yb=u)_WL{1o7AJEIr;1J9Q30o} zQfeA9lu%1fbAF(vju75ZY>~xvtE`{YNtHngdoGCJ+z93T(~{J@2)O7HDhIEI+MVQ?th^TUmgYqfGCBv_PgzVU|4MGFTK*$_qSORDvAhim zN5(KXUoV{)B9wyE!vVvCaYe5TQY=HO7%~hL0hzZn1OmCzqZ)-*;(CXFAehGO`cvvx zrIj3Sh;tC>M}iV3#f^6mnc@rzh!BF(!xyK7pJ2Yt0@^%OLHc~uJ}WGaDoE9>Y0)6Pekg$}e$FzoKLfE>>ZnJ3pkuT@(Br2uI0q`_Wb)H36X=Q$aAkrjgE z*(jQo%Ix7D%PH&$k~;}9hg9_VTW@1UzY4kRyw1GNT!Y6=%VheS)pT^#)P{Is{8dR? zs7G9|`2jDAM4w3IDK4CaQ9mcNsfbiE27~ z7gU;pO^^vdGBZd+331{w0sqa)x-hJ?IL?M^-kIsN_8*80)H*M|&Hn$0}TfH<}Je=cFKQ||I1-aVo#(VM&4UMxN z&ZpX>CU$q^#Dm&>@X)QK?@urDK*HyvQ}Usw;_sr6q7dHDeI--@Y_&0-*sGCYf`&11jilOb6bfS+TGETd-t=$8E{!?O#8>$ z-T8iN<4@2pWSXJ2{oT(VU)R1TSYMJ0`a9fcx?zuO3 zibJF4scm*KIa7Z@CRo&<;%KolT#+D&wnTAXT;gD2RcMBeRfyU)3X)C!#3cOEuRIaN z?o@Yz^9lZs5?C}eNz4`*C{P8DS)yAm)xJpc!hkxSNe(QpL9zFM8&)|Bu}C7j^r-q9 zN>qX!GzNZ)h@1x+*@xwza6m^c4)cCqZkkBke!fe3Q`SoXHKz)aFrlSV*w8wC$&nZm z6f%1QpIb?WZzMxY((fMcc;Au=G(|b}z8EB5y8jG$QOl`*?^cwU6z2cd*!o>s-ZyzD z^=N*mME=q#a>V*&T1>g?qYgV*gmUiHCG!))2NsUca04&8(dU%X`1>8zjowVFX<0@>zD?^N zL=q*p#O0tlj_A_GH-pNzW@soayF+EB;TFGaVKz)2yZbtpEKT* zEIqw6F1Dgl{+n=GX)dWP`ftK%aoG~^yC@?mn*SU)8B%n<6mOQ!fZ`;nQX;=Io=-?E z>O658+PsP~kz%!y_>U<;Ka)m!#MU|K1Gn8?jYwdZ9Hq`)5$D;_F=ELleT$ANL4?mY ztw_e}ES!&)&yOk|`;VFl=Aa_B`P2ScG7+AU>sROoTY1uHr*PR9*zAYjvM;#w2fMK_ zFkbH79yT{S^JRT0uAB%>o(?uouRYr%Z75w>;d+OudEVlaFIOK|E)KKuLgyCMHy1@v zPlj*JVfb@JyLlI?W&)cv9b;kFkYI)DkJ8Tgjyvj`Y*>Qv6Zdeu?X6+T5mi-I=hGmY zr#<|y(*e?&$V{LofXtDydn%6VU1?gnKVH`_4imNGDYp+i4KHbS?jOU{P90t|lt3Zu zX#^N@OEZ)~E~Um$xI?OdH~#mTn|iRE-FQKg*ed(c{>R_y<{& zQs_1e8BIi~3aGCDj4$tct@UZ%q=GUM&mW9#Aq{pPT^SA-(zqbhl1Hd%mq8%l5j8rf zo>q7)6>}i8qD8-j-R07B9IZ}F8w8_aq)-qC@Dy;%VR)M(=3IV1(E7n(>oW zR6G?ZBqUHaBae2g1!Lx90xBl5Zkdh#tLYg`4^QklCx*x6NEXqFQYwN^X7f5V0AMIX zU+X>sn3~YBIp~6an?(afpj~=@4A$$cf0?kltPeg$;krLnlEe3t!*#mSYP15V$@_6_ z%KtMwjJOSLwj(g9|IsJ7KzR)2dY+zlD%t{nBnDTlf?#{EDc*|SHm}V#&v**p?bc%b zsd%@Fa8rZD^Wg)Z;d}w53zN6>m&`qW@d;v-bJ@3EL0+Kf<@Dko@~o4eORtLvu?_d9 zRcDV;m-~mAE1x&DTsoT**00|0&(e4I+R~*MA50HVVX{#uj5y8~Dw&zLg5@Xtk6-kQ zqz=k{W01JV^+zJQgM)VMP*kNOC*c@rBk-R3Hdt=>1QAXUz|xPV1S^m>o}QOmQF-F$4jfkBb29&c5_#8dIeHFy!#-fcT>Nk zoU0XOD0RWW7=a>B|C2=amSgOJlUTo$WP`}P_^Z>^%`+sfh{vkd)!rbZ55dy#yrwZc z?@}8J)&2UjQyQ+fPKn3wGX>IU!*C(+a#%-k^dGdt8~q=&H>rjg;Od*LXh zoyv_0`HH|k66&f?)6cqB`T7b zS@i95>|30wuy=QQp7sCi_T}lytL58Z|IqQR*sq?qhG`rv#O3T+0941Jwdx@|TUm@&0Ml%Eo9#Fq+YO8mbTEuf}iysUh7 zuKCA=;JtKJHc}P#eD;+U-~jRo43p!~c#;53$^(p|KSeMCR3ba>b8GRR19c86mD5x8 zQ!vUz6GRRIMGvmsU$%)yJRU3By1Zh^GHtP-Olmj6UlVW<3IR~aBH0IIFU>ITU1Eoc zkx~cT2*@H^X(Qb@qnc2KH8IL49zz5i7c`CM?2D+5jK=(hfY~O(>5$$1OKiC707b{E z8&uqb(lu3nbc91m3w*$QAHVGt{2!w;wHiAq?v^~T@X~U#Un!25X_6RUfk>;w6DTeP$12B zOo5veu2+~Jln7rgCymxK6&4sZGv=w_hPT8+h8!n;6olyZtR@jAH&s?f7_cH52a*oG z9gY%|jIM44=z!9gdWaQe>9`e=iVul5R4G|ag|)wXc$6xs+KXD2r`UVBhD15Ms(;$; zeP?1dDhR~9scvb392CoVRel%10b2BrJXkn?5N#i{NH6n$lw3(=w%<>JhZW~o>3m#@ zB&sE1vf&ni*+j9NH+*rcBqQ{F8B1VytE)M()GHG1Kt)qRU8xBMK9@4Te3K>1W&Sc9 zvB@G6bTs1rD2Jv0Lvo}^*g>Cz%b^glE$|iiz1Q-NIW`l;{EO-^T{LPY*g*%og{RwD7ASN?tXZ=G){6rlSi0hr?p z90hhhF)%_uyF_G2=D-g+kT;fAzBJzwTi|4w1n9K*m1@I@6ti|o0%;U_0 z1B!99EermwWK33K5$ZvqN|Mk?Va>?R5`r)sSsY(1nRV$1cN%)V!n0pw96F=W$+bT& zemZp*fHrmjx?1>*Vu z1j;BxkhW=iFJO7Gl%eQ-;T=2fWC#){!uu0p_tUC9qOXh2YxWi=0tKZy?sNNA zTiuUKN?AqEoi+QDDs`I+8DXZ;sW~mF)bXnF;aczm`v?qN70rdeX6zB~+ zXOI^I8^&P;J7fg*KXNS1c$?GdG^dAy+w~VFu8sN)uh*OBsO`lh9FC#QNi8RD!}Fvp9MKAsc<{3PUhonHf{l z(LPnzdqUkse@z4@O&%xB+tDKKz0 zsDyw*3Qhtunu*?p1c+-8CY5Bw>zBEmwyd&Adgnof$^MqSs9fl=|09m)a($dM!vXqv z+oS$Emi6YX^?Cm|(cuRhPyGn3H;P~bj5_=J`hn-VXnjNlyraZ`Zy+W5YaL8U9|Sr0 zuXx!6g%FZtI5E`^vON>|C2J?iHi(B;I#{FKkk%qq3`XJCmfPp6`Yn@m z(Jy|c59To^4XLGF$9K-nGFs2w5NdC)?=TODN|GY9bM>}L1Bj=w+Z1#I z^6q1=ygG*W4RoJ#aMf-SE9&3fjq*9gPFRhM@kXC6^1s58sJ z1Sf&MUt*g(bBktG*pUh0=W>8nG?AcE9aE;IRlan>_m&n}Ho_i%A%{c+nh*rg5{-00)bT#L6i3{K#f-7n1Y`Sh@X zv0nj8xQh>K`2#4Tr~NhuIA8wLS!p-9t1q@SXg3WZyy=JT5p@en2b)_K*??o9`8{2) z-UPQ$$T_E5BSRZ4VPo8qlpY66*7>x0Ef!>8RJNIGW1UFq+0EMBsrE86zjtcJTK zBogJ7SUbZg)uMOthhW*SjOWZ`K6aoW7Et?0Y9V6d{S(*$Gqm0m_}T#mYHYL0ptUm` z>!`IO;sg&iyIG7(I%h{uTX?)2sY|hWJ9}${a z&a}Rub;doAr<$4dFY6RwZ+rW^*KCWMhpR;u+s}8RboabH_zWw9JMT6syktlWqn&@b z&Tf4(wn{lsbi@B2&G9-gtwmT;Gk%-5dq4lLJEIq5*V3eYhz`^kMrhGeXkK=6%AzB1mJ-QXLJ_Hi(ckotYyy<^UA)5H;$R zD2YIrEbx7UD~5Y^D3N7_&!S={$E&t_(mK#N7V)4_>0L)0!M)k=dRcG<>-W)DmBv$6bq733?BPp2d#W2~2))y_lW86 zY3Q5GvTh%=ppQ*oP3*Sd_4y`eUO9{}&Qe{ipXJjF1`F3F|00P-1FiR{K~(2ONK4;t zhSM9A|55C&a#j{LWkQ)jjw5~7(?jKM5=vNrsnN1I&D-=IJb0CT#Inhbr_mpStZsu7 zEAg`uBpx?Q(FIe%M1v|Ht-lmzp_@Mx<`zcYDCE6JidgVJ6y~Dl**_oy(LH_$$$jju~ zYf$T*v!nGe7~!sV9xE@8$J4e)?{@X&M_)$U7zOc86qvb3fQ9do`h`6IQ*lSfRxlDX zOgEIgh3P=fp!Jp2QUeV_6xLYG6c;>`pGUh!^fm^T({|~8{QwuR62HGRM6e|0g86-_ z5W>3rBA@nQ$4^s|S)vTX-MYRnCS!D%yDPo&Vj6b#<6#P1;UKEU<~NS>@3m{ws_)6I zX%FbZZHkFyI-1d`h7Yevyj9cI-Fcicn7c`kzCeqnF=YF?`ge1vW(D+XL|r~m3icRX z*T~|9XF%#Y)hPeLBlFt(2qJD|N?~y{`z`jNU{@kGy*6n)hakv1$o>mRUPwNVmzAfa zu$@LJ1|S&=>dlYcv^sqzXeDlbS-`@TXgpiGhAe1?3!~v93VgztHAx6E?{Q9%&C8je z{@`PiSA#161^d0cLS743>8j|fm0_Qg!la{5TK=W0&InNX=W>Ox=tpLh3e<>Im109-^W4_T=_k!GyB40CVsc93%#bI@Q&IFG7m==%#v zNmaUHc0q)`BUO_t`(J#KtMMOvQ9p=r^L4lUwU&dE3&VoVFqTAe3=`Gy=~o8> zj=6%~_hWS@QA2WeyG-hK;@;?x0KkM=7g641Zw-?3!-P(0FR9A+fbdyxJ!EIc9r(h4 zPo{)$cPGq%_)>#&t8hPT2|LzV2I3&jsgzLxeBafCa0v@0`BqJQk~w9BaFB6660kv?^!c>pJ=pSTJGTM2##=Ts&i^*0ml= zr!cjOHY`iRYUwyng(sPfy`G$JDM4MHhPe>Ndgx?@=-U_*c*Puw9_@od7vg`?hVd`kdGjoc0Hq@#bED zHeq5!SftT!@pD9n^pTEu=#M-^gv$SIcKes0EB?S^ZN`Tdn|jLRvh6KSL=^|~vF>q| z#RYLSRmZMzUAA^^Ud(K}U;nw_EG7J6Qc1+5`JUY#Lf`c%TM$v#-)ja@UlzrO>(|v_7Inb)RPDATGME3%f?2F8TS+z0zQO($D zLyLY<^f9E#EaW*2I@7{+V(~S+0{XuWul51{e}-4ML%LTES-qYx!2cay^|P~hEuCaJ zYvviARYP@I^i7qx2YFcnRW}TJ0!s2W^^xdWVy-;F>Phz!bsui!pdQ5;?IP7LHy=F& z(Z&#OZqoM6vNmkzYM$25o;+^%K)Pcw+&AYSY@vA{q2cJ8>1p@MK56`TIXJ#2lFIyO z9yvfv@g-RqUD0nr5#H=#|GFSPJ+t(NjVru>KN--*+r?>}If|CM(~WFz47Am&4Ix2N zjx~&Qq*rJ1F=CcUnhehV5ndMyB+>;4BoZ9c??Ngm{E zr%>Bt+h|bMS*BqPNqLAN!X~ws@jMD1gMKc(SkV{Rw}3R`E8J0@B z8L3L9UO?#;H++XzjzZkr_w7(k-_?oURTRx>jl!VW+^{K2{qW)JrU8%G5Q~_GB?wnV4MnS_8CUlTq1pg1?cM)6=XwWwYP!MIBF4^&&!;enE7)u$J`AhC< z6Vn&%JAz*QrDPpK7v`=*@w z-;E}iL~+s)IUQBfN+p1?u<|4yLDvx{7~p_ks^KWT1#b}Zy_FD&HRpvt`;s_h#rcJEoi3%~ewy<=YvFyqY>8tsRa z_ijFnUR{c~69PBCC4au){V*k??ZN+kyjPIc?r_A`qC(=XhV zV#7^0+0TlwyC!?M{5iDI;$38G@cN;x>pBTze_@;F#=|*wDil*)5n^ddh)MD|uBmn( zUjs+_>x|Vow<_-{g z-M(QGd1XGi?i_|>@w7bcn4ZV(gdw;~pS|(oIZ*|hpX zp8l!wtelAiFF!;D5`QRpXz2dga#Hj?A4js+H_=sWiH|YCrqxN#@{d5aqztIehB#uH z#l4Mx^Y{>qdnnoTs1PVwB_ay2WwAK-$xXJA>IO@{C1N7t(sKqwncB$;r|SYVqHOXr zMzB2!mSPg9sIh{mLVKIPH-oQMC?#3x#skwa(+rn6bY2KgC6-+^hHR#*D_&sdks0L? z8AVt(=)xlfl3G}kudA}0-f^S^FZg|zmo@I7$@7Y!3JF zBGOsM?^xarAex%08MsZ2yJf4oq_qRuY9t8go^P;!*agXKeg5b%sf4d(;8Dr5w*b zQOC_dev@K7K9pyZFr}8!GP$X&k;F1PqHG&il$C_hm+5#5+SsZx>76;ZXSiXncw$a; z`8>XU!(L|oUGu<fTSgr@?jEey;a}JW?C&US4YI z3xb-6p($o7)#_9|n`Ka=vAPIBv;0~cfI>&GRaol1b(M_zU~x=IvQ^YU*gJ%I($o;J zOxdgJ3W!q9kd+As^5T|`O%-JshCIiKd%Na+J(YXI$Zv3tYDF*&fnYsIuqex)XYjUU zB-FfU2r-9&{hS*}^{fNz>~IYY=_=>E$*($$g6y!Exw*tNFG$Jyi5B6_v@r~#yhtrs zk^X%OQI?c}05>)Zo?KS#92U${&X12#MH{kuTFCT)<{aFM~5S41dg)Y z3sr^6tle5ouLVfR31iK!n#!v9CzLu}sdl&0HA!^e0?}Y2q&>QK{1tAR^ujm0=buC)llVd0c07-*X%-Fr)TxE^i zJDAuF8HBoyvEI|`U+F)S4UhYZC%8_q^;E<60^Cu`Ry7o6?6F~FBX&a9Nlj97P%WNI z-WH#&(q_ApL-%d-f~`s;o@j)XOW&%H@Sqt&eU7#MV%Aio^F41XPYzFMOFSKHo4;Fw z&a65(7}k#~+#ik%a-j`N8{gkf4Vg`D@wLF5{NYs?qkXr_i=E-TsxZ!z$@RIc>m*yxXmP3+9w_g!D7DMpcDYBv zLGIOgdjTn<|I|fQBhlq2zDg__` z3VH@p5;zE0OoWi`83#>fLP?KMWK&Egcq+5l%w)|Wz5hNLh>s#O^Ln-2dq|}Anx)n^ zYS#eg>~Y5QO^UfF0*&>6fz$;dli+i ziC*pI#LBu60!RNEtxm{nIxa^er%3qF zuqxPsh%=ZHD8@Yk;Q(&~I$jkUr4RkV`Wk$Ts4OC-KZ%+%MO3`UkipKb8%a8$372Mq zMS((5*AC0FvNF87(h(Lc0@%vS2Oy5z>q6T zh!fg~?U0G>pmhwXr}Q%by3uk`U2PP_(G!2}dA~0nO(F9gnWe&1DLn<;WK+Uy=vgEK zU_n#Y9A-Cnpde~RK!Qx~4*mih(z@P4M%GoGj&udP=m@FPDs&jvG(DTlLL3yaOR&q8lbYin4uPix=Vcv*g(KEqNR@}!TsQyh{`T|j`If4skK*aQpa~tcV(ruBgBZUic)Ar>*EvUg(@rz;)=u9EG6x6SqoaiZ z53AzP$=?aVmvpJ{NCNU!*5TW#U*mrF0{?^Mq9qIus(jLMQwv4xA_2_N`K9+eroa8Am2i@YT~Ie$kTskH{#LM57-e# zecOX!8Nw0Kq)&O`-+>9?iN69VMB^7D`H24WEcoWLmdRsL*d+JojPRe$)o~mVY|EnS zn>QbZWQH`58WYhDSVUpeaRHQss2L@tR;BIV3nH^c*D@>Ivs6@y?w3&62=U22@VfRg z01^nuU}A)%G1&rO@mnHbgQ~vpf1YIli3GqyMP%@KLjZ~3<3(h0*-7!b*=F1V-e80n z`LRKaO6+uAV4K$9u&Vh1$<$Q4jKZT03=2#PC-dUP-ik}*B8f6}9Qvb5WW~0LPJWML zCQkQjPWz|wA)vf=rI$lU4!7pIurY48`IU4EGGuOf1N}*M@c-Gf10MpI(@SqmHYngS z4uy|7@+89=h=?xlQrYv99Jo<(2Ap+pc}tzcHry^UC;q{vv`1W^Tt^C!QWO$Akpj8k zx0?O`9;BYOjf%MsHCLddqAZK_cJgfOIPQvt@T7if+%yE$c-l49+RPHMi8;UN*Vnvw9uS)g&03`vW(6Yj@X?6*n2fY)c$U|D= z0uX4F)Y_r($>*RIu9!X@gURyv2to%TQ9Ek|@t%J+ynR|EhgVnN5#)_#amZ~cwuoG_ zK#Yb;;lw5n$4cxqkrDeo@L*Skg#1Dnk_AT=l^~>xX=8wU1BhYokrNxJ7x}Z%F945F z5*cC>pFG@19}^!DpDdz>4-*?=^8`U4nrMta3QtrYq@0RZjz%|ZLq-+YgAd=Upv3nz zQygtAP&sAH!G=KErhW;i!FS*Fh_cRVZFF~iFr~m9K@N@XQ< zK0J;Kp~A2KCUNO2YH^Ud-+OoP3k1+A#92thFgJLVeQ2u%KUqeXmJd@l25syI02d)I zy00@Yga4Sfw|-a3YjFUy!%^2+SNA;!UFzFN@#7hE)*$lfaXCW`dbyN1HlHz8q`YxP zKL+_Wl=7glQA`Fi<&>Oq=3D}a9pJ>y z31-4sc1>M#X5qs!V5_OJO-M~2>$rn>j#P=`kH?xTm-hLfWpR3uxADQ_s7-gyUfBs5 z*UEM{xm~yZ(GiAHe;i+i;l=29C*{Q|?8b+Gx<)hpdKx4*vufEHC#T8N3AYJNfyEGD zzWVakzvseD<4Is$molmoXdfG)`4YPoY*XV>8V|X2tXg=iy}#dWdDhv!nK@U{t*yFy zR{N3sdcIof+x1%nxpdyl?0mU;IG?e)otUeoe|(DT*!9ahIDTDs?%OVk8VmA8aB*zb zY4`Rt!Tj`c`_0Mi^4V&VzB|~~XSD0!?EUFt#$kEz6ZItD^`&yg!@gM?kj)CSzCS<< z>t*{%XC@{HCp98YUJ_J|ks^%S3iES?we!Pea${zKKMFc3t#8P6MY_#)_*(bY=JM)1 z!D(e=hW|Q;B&aGC$2ls9$II5$%8YYUxFo{^LU-CU!xMdNZQRu*MtKZSDuQ#PL0J0T z%~Hh}xV_WZJUm^^9#cW;M{WB1ed~EH87qso5pJwj?qNfi)+xo>(P6{wm=`tK&$Wg( zdOGJv6w-OrZ2bFxPnO~6-H2JU^T>o{)qd9O3z_LDUT z$ROg-g1k;!VM4H&7~3@?#dpm50CD4XVhk=8;RYh|heuz<=K)?_8n&Z<3Oq#66IA76 z@gmmvCU5U&afY*}i|MM4T4IBYKEKThPRcYIzirr2XIsx59VX0DPg#i|F;Onst%Ok^ zMT)6m$Sj`#rf16C4;+g6A}=VyFQ-u=h&>dY7A{$2f;7#Qo&fHsxp z8DbO=^=5!R%HysH$jFLr7~-!f!d;yHe8Q@5aLjIVSfbimFE~{8?-=WfK61|84Ds3| zgJ^C|UL+Y>gXa)GqpYdxpS(!PAiFZAQ}fB_S>&@(3HcRK_?y*+fDIKJy#+Ftl;l*WecMGF@OLC2s-M{TX#+9(Z;6m|dk@ zpc1}CZ0{sgLspVdDMX`SX&f;vxNLEPMy= zR)jQ&t!5#NW6%h^R3LOhq9!GThNLt7=|+BQjJ*rGgU_fdfgWGbHPX9bRz(ki0CEqo z@q4+bp@*u8QsPP#fgZCAR(fHue3l-AyoFKdgoZ#ff8#QKEI!9^|6+I+3 zWsb)yxvriN9nH2ODSMwLA*)PpgHluQkbyJ}_AReMkB5JHDVriuoELM|LT^bo!;s_1 zj8SSvzE`Dm*>cF^nr%>V40CtCYIzO80)0>5HeRBefa6tsS$2T(IC>dC--3?~6Q@O} z=5^~FAU1-}!qS;R>-H(LBgZoOW+!}+2b3qLky@=)X_T<3gmQxAPm0UdnPX>qxC#*c z?{*xgU)BUD6c!ym0XdKg#zp|4X!e-~3kXScWZO7e0;8rkY}Zp8@dcUp@U~!r}W$0y)83zQv?Wzqx@2Yz)sC5D|#RbzT_7 zR*eyz9wpE+nk>RnpL#N$d@MWBZv6fo+|`BAm}$O!YbR)QAUGe*#h}iXUxp^VkcQ&d__fy$&)K43eA@vxL#= z^GV^SAO;}GFGd(=*>n1eFv#x~5M!P??>zH3cIZMHPAl+S+hA=mXk?jg(85G(nw`xs zreL$=-g_L(I)KCdVyMK zW;MSa1#D;PpzOF!>(nSv?zwaExz0T%3_@Z+E;ObO9zR(FkCMZeFlj~yFWCuibB9+V z;H?Bs$h6B>5A!%iwFA}7z0Yz}^%YC_yh*EJLRI%7?ow;T>6f6>(^N?@##1^SU!C+i zuf@A+WYbGl>*j;xXWaRhrM!g(XbduAbe{=yC)y&ukiWPv0F+3s4zX5`{p>5fAGUGQ zD+OE2;>7+%HCp-f)ARTth>oWFGuAUZr~h;b{|!mevgiECJqV9C4itm4;8}82McuX` zi~1o!C95N!)m%=?%m_^!C(YXxq4Ip(*3m z^m6iz{`T4=1?wGv*k$r?k*E4fu%$Md?Ml_i@=}J9vIL2E#-OU>N}Ojh_sYV0 zoAbj4Ua%xCS=%geGiQ}im9p2&zLjdSV=MN-zs&P>Wrp&j{)7@5R@_rX8QH)Fks?s3 zZJj=Y>7_n`S*3X+|5pp!>Se2U4_it*n!)*Hm+o8C%BlxR33F)0$JELNkjBoCj<+e4 z6KjGaxtaIpzU1xt>S2S^sd#Y*^o95%kGcCM%}qsA4oSGVdzKsSyfa{B9{T{m2WZa9 ze9BpL`(=JRhNd#gt&>@td1NhGq&E+>v$fgS$KLDXWU8DvD8Q7-NbM#H zzYv}9vrk_~`54!->SGB>K4%WsYj$|Z@NIhmZF4}RPN<^;zL_~&%?ii32W=`o7AUl= zY+r++51Y|Q;KSKAlB{DnnNlkJUH*+ExV&KKZ}RCik6&d1fX#5v+GBgToLhIlI%4j! z5CT7m{KLlU?e{gcJ`LV_FMNBf52Q{5jweFIev;P7#kJpng)B{ri0=6ViG|z6v%~8L z*6aXM99ss%v1Q)M1}V8Zv;**%b-q;!|Y>FqSs64X0-=SXofzW`N*$=n^W)9Ro_i| z?Y>_k0d6Xw=`nc86UO1z#&2<(Kd#}Fvi1|V>I4s<4QUyS|BCm$-~5_q5*Od4URT@2 zBwsgf9cMGaGknsK83xi^p=v>p^Iee}fP#B>cKA1JV^j zk-~U2b_N9pps4);aCu5gb#PWYYq!4PP%ND&oFSo%?J-ywHFTAra1j|%PXw-0BOv3!_Q zc$_W{(TpEY`*JsuW|oPWLzJ9FEoJmnCjw_+w8-DN&Wqf)0|C(2*Swgjbl0Gk?DWR6 zE^2FfXHPfB>Uv|VXY2-!=OwZ*>y#NL>e`RPFE;e286;{Dnxz!)|Hw|{BalL9NEfDR zSt4wr9175pei2X9&73ljNhqH2^E+V7yRzVb0``}K1fLki-NyR4V4$FL0p&7Fsunfv zls$Md_3|OB|53f@&b-N^X}z3S07ig0(}~0)U*Lw~`9WV45(F zI&TA@bt;iUDtq-Co(Nv0UAvmqas@#}LWj<0fa-ggpwyk537p?!)Bw1NZ46*JB$Zi? zEtpz-td1d@W3`8B-nyBIt$HosG4s{Hb^e|66TGP}1WaW+q4OojxUzb2)?{l&mjuUM zopiO@oO;F*)z9bvij#X(MZDp~90WHiWp^eqwqh*L)T1&vgB78(W$sfz zG!|eqd0c&fNEn*v8FF&jZ|Zx=PH4Ld#^4fC2f^8{`xqc$k9G0e-c{|kE2BI{8^iF{ z67AQbS3-njaN*Y4qy#gm)$ki8XuEv6(2vS0rUKxG9>qD~TRwgRXMUzXW)|srJjdSm zAPKjY+p7nA)3}(%5s1Uq`zB%pm5f;fXozc*hj##Khl_Q53$6wPkjrqxTrUj|led$B zr8$+rF`XvMb2jj{WeZ(#Gi?M4!dHN5kPK>G>ZA;=Ge`77IVEtfJ_umO^kBYb{K?|5 zA{(ROwqx|?>EnoCEp#!wZkZ}u@3q~gZRsjHdOjgQ+z!aY-HwNdG*bX5$4#XwxPnhY z374wKB7m})a*%t5})Aqsa0K1 z{xzGX%n|RyIH$c{ty1w?jV(O}`pX!=(LHv4ne3eybuAy0Fwjj5A7b_*yIHWCWu-M& zE6v~gB6?eO*d;O}1eMjIvw4?XMHi`QXi137YC#$ChH~ia2 zS>Mg}$9<0N+v~CD?bFu#X|8Ul&0%rK+_(?zoapVHX5RCGO;<41I;+XGp%&KjSL@j0 z^S@e0qA>1Ez()HQqKSe=duTRp3+xN5&W_(E94=NqlW~2@6H#qLeK=ET!;3B(s>Mz> zRQ|k0jt{0bb!H=dWy5Sy)02$pYW&vIro_&c3jcJA0!2-OIW_a9_dH0XA94z*&it6Z z16oa*j9>PkQ;>ka#qZjkX3RYUFy7mpyq2f-0YTdmwF{9?-+@e-feWuj-kNVOjTP9h z5cI><2EL_|Ee-!@045WHMY!9Xx|s9?!EFQ4ze)SkC@xp`&Sa=uJ!NRpKx}-qgL~@$ zqd@?sb1e*t+}{y6)P|6u91-0PE55g5EN|E-JqAhb9(mRGrrV!U_8;x`N-g`)teuQ- z@S7nsoW_iy3gO8Eo{o#;zaIgReWa|o3nr^E*vjWeX6RT>l~5J^G6+1^pqz5KEH z^ymUZlS}osjEL~5>qs&3tZ{6N8%uMWO7yW13VS)Z(0Fj?aE0i6i0n9fazfR6@@O`W z3b4h|Ub$>&e@Zu%Y+_FbW$krz;+W$SWGpP38)4UMyk86%2hUe z%)Q?k5WUEVFf`z}`(V~{Neh^_Xlp%^;;4=rc6*o|wcl=|3!J{_{n44-0*4o{_A>ab z#PU+3wu2*%oaRGCzm!wdfFtHyps{MWu^(Qy5Po?Bzm_Yl$X2+K%eb2=d)0ojJlJ}Q zgYlnsr}M{lWjqfLTXo_$RR9C9XriA^Q@yh*AyEQs zuZIRbT^+#Iob`0gCHJLN$cN;X52_I>&G8Tt#Z<_3ODHG>83)rzC>sP-%y?~gIOt0a zg*E|n8pchLXUYmXlVp_mRKW}@U<`?z5|$M8ltVO$oE)pp!2O&l;5Is$N&R)D##XX* zdLoqiLG<$USZm4*m*x{4I7Jm8xZj^`>=nZ1(Zm!eWGe(3Doc?0eT(CT+9MRo++rIB z?#z(%5=a$u6++~Q#QwXuS0O|CVXY|M;0bg~>tj!mr?5eri?**qj@T|1Z-yk+P>Ajt zBGgk9L56;R3ijDfj2_^akr)4xWTKEOOWNe?n8V5`h)9B-5V}&3>lE^n2;klyRDs-# z#rjNP&dR8`NM>%5qA#xySDB~*&4fMGw93_paesz>#6R4b!Yqg^JT`PiQ7rJXsaW#_ zCob3ye>8-2Gm%t(BF3n!p9`4ZMu+evyPCEacaN4hW(zdX-(DL{)<~q7KDRs|CPoj5 zu{M5HVV+vCL0s{CbjE23b%i*$l2yutBj?<|v1*zbMMF1!`hmF+Cd^$D2YJ2_=8)=X zi7Ou_O#N#MDj#ObDcjvd;B6ACTiJXI3v_H%2A#TG5fQmDIAeOvCDS>Ch5j~X$%G$w z6nC!7W#=jf;8$ewmXn*_sX!H>mawx6@Ey0|a8J`f{p$0HY`J%}0W-QS1n>sCEpZQC~ z&(t(&n>6RAD<(izaKnIw9`ypgXku95kRTEiS(F>vSV@qM!tVLk(?QIXYq>y5 z89oN1jH&WG`Y^hpqGWLLC9EIHXh`@#m0y1n4yrFgx%IC{_$?*!Y9*3}9|;(10F>YH z(_R_nuC#`lcLh(ZP_$dj#KOTgFI9K?bR*%h#n7k9p-hKG9muJ!G|ZbjTW9I3r1+`6 zs09>9(7ZBJ1SYFukRo(lXRoIR@!k{K1kh{L1Rz&!z5*_y{(VvXyBt`K=?eJLpw1!& z#p6S9^5 zvsl>mS3^x#3Ov4%84D2EHrGJSqm^Hwmne?+PdN&KM?#kD&xbT4!$VBY?gpqqcTdb- zpqDWhI+f}z^No^+$ZY#o^8c`Pj=_~K+Scxl)v;~cwrzCMvC*+@+qP}nwr$(~(tGc- z@40oqe{-#*vZ_|qTbX#q7(C2id7{5;0Y+57KWWt@KHu9mi~h<8tHn(`wQXOr-PJq7MprQ^1X3n|Aia z7-EGPaD1&aK&i_V>BYT^peSv6O3a=j5UI>2eNCdC*QZumhU}73i`^I>W_}Zr%eIN}Ou3<-}l)Dn_MgYc9u!4Aq-GEY(Ms(Xne8Vn@ zRsI=Mr~A<^Pk-|=8cBSUKIDkM36tVRP(c*md})%`B~GUgAR?)bmk&cs_~)nHU=Yn- zq&jHvK}Jvt>B-s_#Awzr?9|1)js%;cy50!S(t8}ymx3J#&mItasXE<^dZV$H!ALrY zY8C|We5??MJ(#MHdOAWoZR9spM0iA7sq!-6!6Cw8sL?Q$f+Wk-5A99-hqF|p+Z zAfpa9?D6z+mxApG_Z>MKVKzDXIUDMN?V!Dnfr^7|hfqzxeXbM9NY@w6fy686#*R7b zj#=x)xP0WIQQB%g2H*)6bdPT7@4c^D8#o?rT0kv7 zYxA~sM}*vVoX)_fX+nSpquKeim-{1ZFK>;-aiaH?MJy=ck!{1k8@{~Xe1LvQ1>drg zo4f@ap_D^{NKou1tpUE%A9jd8-8axb)$_?#&EZ;l4oxl#&!?aD4)+X|v@)S;O>J?6 zwr6*qjf$|H*nhrd#Al8r!cx=E{&xQ%(Wmi4tG%aUmFH#iSLUjyh(> zr2>rR36}S15i|(o*RtVf?hi-M1M|SWUnh#^eS))Q;h?`T=?qquyZbTonChV_05PP} zb!gHYLAU3eHZh)8a%TZv$)0NK2?|=<<0u$PCkqA`FGhA-kP zkbB)h&3zqP=-U9Kk?X@Ev|&AxOrDUuc^7o!@` z5``rK8qHE`ps|*Ur&a<@{Prx)Kaxb|M4PR6kk2@>abDhv@g->Hv{EOGEg2n6&`9{k zqDP<*;$&W27qHZGRhR3lm*j(CZL+9)9qkbLk-du25Z%FThkxv%qwMfKR6(6@r$X_9 z6Qq&KrF9Oiqb12i#3|w$HNsOSi`E8dQI7)3IE^6QHRG(=;n0or=)Ndu@3g{xmLE)zpep_R^dH*<1l{kIO~L zuM1T8p@|PL8iep&0^XNjvWhf*A%(*f4Z_EUNVhIdIFvw+PPc+!71L!~wF^MBG-$fT zK|4MU;B)*;@#E&QmHZk^=>)MwxFv_6t)M!S(PVJ zz<6b{vj)>Vc$y%^6ltz@U9vyC!z3ML%P2P%28=%XaB&z1POb{~%h}kdEW;^IeYf;5F=WA7wKI7q|3K);mWx$ ze0g&#W-of@LI$X&S)U0FK(!HA>A4qBm0c*hj5~>D^aqfKcip&D173D7Zg129)-I%y ze?*;2f4r6A(ub&xns8CsTd^uY;L+2iq* znWchz&YQ42gc_%8oh3N^qF;Zd{OTHA%P*mP6Tg`GYcn^eveS6y!dOJWcYmW9IW>fC z0e6o(TDP~R9teg6XL2rT7r!r0S}wkh?Vmp{4H`&!-(ZE{_NFlhTJV{#)!8=G%9D1$ zYA#LPU%Kwwh!cT<@!&Cle4!cF^t%I%{Q94x2~LMxXQfy$f?{GCXVeeX3})?FkTYe= zF8HWbakw9cgBcqjXA3|ro6hQ{_2C*6Ox>8E@YUJTF>U4MS$(7;WMv(63ao*^d|u{w z_)cxd;cF){PaiBcgBiO|!xxuP>~Qvq{SnkM94(P{B8gdbxv36zI1dpQb!5^UEhZw4 z7!G!p!^~g+o(knX%*essaJQZG&CKX&G} zx@CQ`#^&-|k{^;TI>)01HQ|iRC9Pa?aXv#<2Gi?kCXNO?%WR#I;iMxs!mSMCfP-UN zfMGgMVmSt(n*d6t^`mp>Qk9K&>zGpB2c2x`m_Yw@>MyG%r!~hSm94F&(&azp2U9(Q zRXU|ep_NKto>Dh{)sZI(epRCPXIs8w5c?>d_8ECeU(4;(uz>jZ7q_;T{Rg-1uLkRp zHAEejE98&Of*3$!j&%|)+B*b!qt1NQo z8hB1t+s3vD`QNw;Uukc)SGaW=-Wb{!bx6}*_O^616kAl1#gO7I18^mj@EQtvg5a!4 z+>y>(+BvK{6QK#7cKJk?iU?aSh9K*q{`Evg(Ben{7e3IM{^QwzO_bya?4n1w*}m|0 zxZ7lSlEijVQ{8~VppEA7FL|N>Us*w1_8|g`tC>DDE*|W5G$Lq3=N^3AV)$^uf`stV zqJsEvjYM#WnDElmH-rFm!REQd4-3rZv{3 z6@P;c+EZHpfDV#Jw=2&EJdOHQuwS6VvCw1U&eR{!Ve22z0WAf%px9=EU@U2ReO1s}#BeIm0$#wLWM%)goYKNTb`QmC95p z(o%vkIL)QfJ(i}8Tunz>o_4U$TnA|EQ;Ag&g_t9)5CZW#>giU&OZfKEs13TSGdekn zyW)8`ww$W$1!IDGYi-_eVnwH7E~5B(Z?Q36Ebxg$M<1ViRPLBD<121IC0Y(RgwixT;z~=cc!WM$g{5XEVcq`Vs$SqDqJ&cmSAWvW@s4%8ys^r+bN zM*cguQMrz`$&>=hj$Zuw=5uzD`V%}KA*p?Pg-Hz&;6um?;Bi` zZ}$F5b89yJ$x52S-Ke5UQH~h$Cuwv318Lrho`_RzBLR{motT(d@eg_cQVbjer|X8h zyBC**pqHuPyDF`&;o04Pkxl&H0|z7IRUG~cYqFQjYdwR}{&0QA3P12X*S~z)Dsq1D zcwE0yDTo{u@w@#3oYty7U#3_;-tY39-L5|Dr>zFV9RtS)jxRnwt_1}Em|bz9>}NRL z7mYjE)@a1lTCJyU65a2^VFp1ZJhra{YOQTb!1+Q8Os5CKceOAE7jaO&lFLM}u&`MI zWuEO`y2Aw`U{V8J11&3ad>n7)l6C}SptYEIF0f%dA9rrn=A5uue{wt{_hikozcMzV zwYS&}Rxz=h*aV5>1>v(dI-~(3&_P_G><+0>)n?T*XMB0z0z#5stQ48Wy;=|c{`F@q zwcdiP|MH6lfI+L%BWhtu$?Tk~CLlP(QsB@Wm6tnph#0(C9r_sejcw_fk=6236#IS3 zt)A4`PL3G2>?;4ZG7N}UIea&*e;oq*=rOfX?1ET51#5U61oP`@i+Z6|g zP$?ubA)&0#0M{rBECkDrel52fw>wok=I;*@5w2uEHhvUdG{)$&KQyU3zl&z49v(^> z&W!V%EP&f9AVW~=IA#0;5S{!1h-Nhd{T&<(a{UmAB{xvFJWzMF$-yf=Cw*m3b;EL~ zuYArwOf2{acd<8SC~eRf1_(*N{XKN|aFm6N4!ARGjjyq*I@f3XpPBnp7D6vS%lAjN z?Rd?pS4&{}ck>FalYE>?}nW#6HfT5l%k zcewN0S1St$g&7BMLXXMscMtPWg=?K(v5WyZF+ zosSlkNj@G6$=aRd<`#)k4yYwvv!I`f8-{ zu*wm$`dP`KcvraCSp(3Typ<|=yK@C797`1L05eJRui)bh4yqIzkEn+ZP7lZNFys>@ ziS%Qmr1+Ung_t=lsY6uxnPE_tt&rJjo%>o6=6Y@Y36gLSekpPbkJfxkm{P~5#k<0^ zso@$bcu|lUI^e@kg>X44ho!FLIlMOR8J_O~UimZAAJjPHOPf}1GNEugrhE926pjHk z$t0%JbZ^QeO@WYmk)++z0{Rt%nf9oG8xf@`5lsMWD&kQl4623t$ttl*;EIiitE=`Q zkqGM1)Y+P|rG4%7FvBsXESqi~65z_Ke;r?TL5=UL*}{l3o=P*GR*p|oY8JATW^q}i z_=hO!>8b@ASYVCHhw1slkAAs(_d;Q?rYavgTdV|Uyv2UrYvuB&i*}C8E_e7@MJGF) zn&r=h{zn876N7&os07}Hlj|24CTbbPlH&a+!q()y8a1o@uC~c?HFEzn5q7bGPk%4l zG}k?>Q-HXLR)H*i4O9r9=E7-Zy7G;f)n0-XSfH^t3*^E@R~p8j4XNd)1RM!8Hc5|@ z^G=;;u%b{Jm@a=J6Eki`5Gw4FX3lK{1Tf5uN2#X{$c4gDc;-px^M#o#T&lm669)Zk zLre4OaQ~D76%)L|It<@SL#Lcio?u9zI20LO9uos0RXl$%o`n*p zqR_Qyyx@cR_q(KEc=06yok%|}Y}58rKWg|Er&DdZkVe-kwo;Y;3DJYU2e zkhUM6aoa*Ca-Uu~dQ%5B?OPKP1vm zh96`GhWWbe!FG!1TXYs*1G~rww>YbTSfeglS`Xcm3fSzv^+*m=2YFggle|HGNNxik znFx{59Lj9m@>wn(hNw_TCGIdZkUy zB7#yKDGUt$sHbzf^YIwL(O%)9c6Qyi!sYb3-DG_U4YR6xyK{DXFvnV|R~(BjWBLYO zYz<99)US6Wo%XlW@E^rqHckZs0IpiF{(8Sb-lCTZ!5FTde%vFr8Df_x`i3waG+ zM3ui%KJ4;XmH6Q+{>u|jM&7Lg@vGs1jisogAXziX_v;!W^<^7NuMR^$!8b%!Quabs zkbTGz41p9QQZ>!?uV+Utv?nCvrs{u8#faVEEZiXzCK9_QA?#5EPjmKHmo^zb zV3ZY6H}@4Gg2?qiZBjy{|*1PLEwbm`I zot|#**u9dFALiuWpZ`lES#)u7Rmt{u6N17O@Abhm*_d~=CGXqzj#p|pJIApc7~5*s z|E+Wh#!>uoQrA*7ZZa{_X72RknX9xwXwW(+8^z_;=E74y|7#aZ$~B()L9z-Q>$GSJ zv=HT0G-2V!*n{fiML3&=hVEN{ub;$LO6hd;-Sq%TOEo;JEvBpWLaW?ib??}qzVkES zn#Z(v1+jiw{o}8FEcM^}*llgKqN4ZrM3!+!%gn`T1_9mM3&$4s(&Y{_dzSRB zRQFe>*f0!vCMF={AhkB)PkvEfZ*+ymV%cx2Z-#;ZAwlu$CoQY~FDWP&8A~MvN88Y3 zrxxSS!qv+A*zDJ zbR(tirrJ^IQG3^PlM-fK3x#hHe>9&@!#o(L4RR(~_<1Uy3p{4=e5~?{z5;|`iMVTq zxNGn8MEOAq(sK|NZYaaEB~w@^De?8!{d}}%;Zr_hmWtDmAS)FP_amMb{+919;PtLg zTuL6S5|9+88aV8f$#e`92*6B++`kG;2jbR!7_c&gNZdGBux5v~(k^-2FC6$gH4~rj^P|Ntat=c{qVY?ZdLM9iQjV?@%^I1y#Dl(7(kC9bSZgH^zv_d zS>qZZpAL7P573`abXxdCPA5cs)nfU3tpM~lN7mj zoR3a%5t9nE--h9{na9zkiW~qI#y3QYwK&)aX`t&#G(C#Xv{HMA_gUh2+ftlvJ4KGD zo&l2$54BfWPR8$A5xu8OHtT?8pmqycPgU5Gdw>4A?A%W+7>f(j;ciFB@3XDR(od1^ zx`K!okr+v#Xay;t1+z~G)s)Bc1Omjuhq25%X!B412a@AZfA{C6lK`{)XY2C*XX_#s zx82!SSisqXvzhkp=1_BM`!w~$)b?!G^jHb=>7mShL-U+>2~E%av)ApQ$ulVdEcdy^k8X<{X{=>&thD--ZZ?Ul1%FIMQwa ze=*qr&HzMR3J5r~lf5}){h|nD5Xi~IaXTGrCpGkA-+A0|8^-i~Aq(V?+ey>*IrIqR zyRu)(b$O`rrnh|=uxin1{Uh#`6jcK|mFu#nCPw(wP5p;eX#G6sE*JV%qy(Uzzw~L_ z0`&UI;^;#^(OQ@+2g`ehv*s)M3e%OZ3)LdTdy02r(ZaBl=Xeu(nC)`q;zO5SZTTA` zNO^>r^Od`)mO3DUsk;?CKgs8M=;(t=)K|Fkd3v+o<$Mnj)DMVW&4%qUkSzwg?Os6C zPs+EZkrgXw(`rzaghgF1hVev=*~%aMt?tV>?-REeh3?kNqmw3X@7p(J1|UqUAo)N7 z4%8eKAh{2{&q70!`Kz_%(<-Lt$ef((hgR#p-_x{soSr&+75?~Tw^#9Qf6+ z4YPVR8Eh8lY|%e;oy+Evt-Z3HsvS!6%LCyi*-ydivRjIdmgIhgJ4~(h=z(Ti2>sJz zTq9#&7*Kkpaf1CT9rX8@L8Tt?Zx%^_wcXqdaQ7;cXN{i1t9JCU@!L}c%+2@dsQXlz z1-7+m!UnlWI-!Z!m zqpiD^ZHY&7*`sXY-!7SJcQu=@s(I{Y+vZtX0u|ymyFY$Eom!{uR1;xaJ4PRkw#i| zF%4k^g{&600fm>;t_aVX!z-5RN^99-vWEw*6K{Tl3r@}0_$Z`qb4{qBn^k79_=c%_8ArR8|))LJMdn_V;(y{c&}N&k&HJ-QAlsTOVy})3Ig9@e>It} zyO%g!bAS1mP5Shz&-^8=ri1-)6bjxj;a_ePh~Z!Ew?<(uwZy11J5ohvAP>(Dld9>^ zVb`+Bz8Wco0~94Xp=L7?W1EmxOJy~YU{?#qmsBo0CQiB+3{D82uEJsn?;E|h(yM5l zC#Td+CU2s+f}7+#+_ojH7E&MOAIyOhP|RNcQMfQ=TN*y(R9$OV@7{#1b-YU&e&vyO z4H9c>lc<%)>PJ|FQ=2tGkOnSe4Mqly*N?Ymgb7f>EbB!Hjkxr2?iQfBG9k12Y{J1~ zaY&*Y7bJ%-9E{54ckbrHhoN29AkhhU@?lvOfcuRo) zlMJ6gK^olW>xD@Ff}>`g+i(JRsg;E1=uFsxr+Jp821(OG_nc}1MnPSZ04o{4>U=lyZ<>kREn(Ya0 z?2ye5dPvY7#|jGq_(&sl$MIOYVR6<2}dCdm^#18Hj=W!jLB9}w;IO3zkwN5 ze&ob$nYt*rpBVWSSIzta2)745REmRH#v)kcWZ@KxOh_t_ToQ2NKOCrtYnx;t@4p0&c!36!SA z;6-B1R40p_`ryUi0gIYqVQNHNL^v5l3#qD>y6qT7?f!(iWHY1r17PLyTDIPy)lwEv zTO)DgI_+t~5#eA1SG*>124#=k11k}m1@JAdvw&Fm%NhuY3hT)P#8DS#g{vdBr9#=u z!g598_EHE??sK$^BH5JpDpGt!WME9ugM!!y&XRj{e+q>>tkA*Rf#|7_gF&R-(PwvT`kVy-p9-I4u{`%hSp8@2{h6tFOC_pS~UWc5gsx z2>Mb{OneLf7EFA~!EjD@rp`m?vyXcLUBv?TFO{Ukl=t( zniL__;g;aXi!%)AKhEkWO~mW7@RWSYVc;7yf73oF&XY<1i2)ddQU`_)8J!Cw{}T~# ziR}7Q{uPmjaHa$~cA<|RVN{Zmp?d7U3h*V;w8mJ~41*BdFe@NA0E8o8zJQh?gE{e2 zSf6G51hOb{NE9Y)IDAUxq`)IP2$Xd1q-U5!hOw`&9roa?Fj$)#(dXITcRQzLqIks^ zPc8$@5I^Zrf)?C=HaA%NH%xaKv6ppyPr*-F%yy==YvZ!MzML#p5PKv#5SC<4vW5(=5zYLbhjKi#${HfXlMLa^4Bh&h>(pnqbvj>GnS5!HK4&{EWT6RUY$m>p&`777yJx4fw~5qsHtrkD*Y7wRFs>V! zrn>fFm6^A%hLe;=0}{fM57g(6Y_`28d8nL~D0s2KQkfWq9uGuazkY+x!l*4afX05> zOrJL}z`V@T9@2j~4E+Yq8H{W0y!9o$4C{>P_5GMYz@JZGv&yM208xuE1Ki`xpYwVB zar$kaZw6Me??2LM0%MRKz8%PFJb9^8cx5wIEDsw0A8}veX;q8Xk5@{LRul5i*S$pF z+}weWPj}|TD=+d4tlj(Hwb#~+QnaOB<)YSe(_PEdL(}o?$lMI`Ccf z5XKoPZKNQW8$vye{u2Czmjax|Lgdm zc-HfU$RGTR$b+?Puo`c-jlJ#!?)s`v9A0k+8t(2XBKROn9p^-140bX{RPtohs(ao} z<@W9#Twx8Z5TScY>M5fR1s_jXs3%u2?+1R2M&a)WW^d&_vn7hnd77f9Qilnoh>8R zkZ`Ho!@0tde#PSXTC*@=HBcgO&RF=x#LedYV_ZoujR8B z=vv%}#uXDe(VF{i#pX!}wAH!xR@>AvN8am!js&Y16DJ>2*;wn5%1O2n=~c!{)tB*D zPdRXu@!dKj3=@EpsFCEe=&NCn_{n$EdLk$vJxq)#>$T;+Pl|q&=sW+M8$APIzs`*t z_uKgvz9wo5{NX>kO+5AajiCBh9($-O;cKyS6+S1v( zz41SJxS4b=+HmXtJbwn$oV(^MYYXa<$&N9JVw`5m3LBFlNTjFNiXUxEdDx>saX zzpFUYtkY~;YPDGy_*sMH;)wy*^XhldvDn^(>H*9}6L4(T3ecSBU`ayu0$}L^EgNWt zAwI?rYlX6Q(ef8+-+H6)Wb3qgQnfNcZ5by??V=Jn7XDp+?@{9=q7c7Ry_3F;`laF& z=z9O?)woi3;tnhc`(^I=6`|+!ANEB9mE$WudOEnMe8121lJ>US7-AHn8;{(ysezJq zkaAmxz$v|*w+LFH%>JW_6Qs=}P`mGXg5as;>VdTTZ{|gZ6+eO+Ro8l;8uYTiivxgV z!Dz+DJa@)S89SmW?GdRy>i*e{ zK5Upy@PsifSR0K{_vs!d!2;-|&=lO4bd09XKe^r69KH=yD^PQW_RdBe)~Gf1lN*Eh zn`e?M1p-QxCmkTh7PV{pl=Y_8PBF}C?B~Ww-|yl|5+i~NFb_)T^iL>gHOC49fR*eo zY-adhY$h@F3!7NkQzl<@%(kPR?XftMzyN%lbwd4G&K7m1{MZJET8H*sxtQ)gU+eOe z7H=p{&*!{UToh*qVh%XI_)qsg<4EbK|w+Dd0!fD*8X~~U7$45O^OsA z+uIoUS{OLoX*2c4?Q$AM?fW8u)C3uXAOHwHT{hAM`b!Z-K~sBI zTY28kdD6dxk>Me7GmRH=EhNE~%gt2M?Za<(|LVEg+KK)_#qjKtdt3kWxUsFBOizm$ zDAAtieNm8zADX#xYWQYpMp#Xzi=$L_}@x`BrnU%j9V zIfsIQZoYplq}1M;w}{+Fqi9Qd95_jPTdC&;%d^}@z(YSQvUEKhRQkMOMYAV+GQI7H zyZj)g9eZY~PH(Z^0kNC2{nH0ds6!jN$Wfp;I=Mou2F1#)hizTL2ge(_mSo`VIa5HE z#tgl$+;76SNNWk3{OGZCed*^T#ke;$e#}(?OcY;-S$mgrF=aY@R0LIDDQsY(r|Zdz z#2yrd=KYRT5v|ZrL#!3tww)ifqQ(T-;pbW5OdZ4r+F3o5p@49~#=H{b~VPR*cTLk$<(?i#a zU*;psx&TN*wzU2pqW2<#Q_N=_J8rjgp-JD6AlapAPs}g~z6Kf@9-1^uNp}61K;%i6()Hfb+%>Qmi9`zQvcSL^2|`niOQuyqunDEGQzlG=sb3xoO`LO&iAgim^4em7HgaSjZs#&2!$0Z-vCNY@2F zNRp6p>E+CrR#VZ8{%|E;?baK8L6U&7-uLi27~_NGfE<{p zD~8}UjluyPLxy00nFJ>bv-*E*=1YmvlAU@6HP}0Yk_1kgeZs+>I_*2+8|Onn6E$isf{wv zY|7PU_MKG2`W~E2} z?wQoe!q79v&&jrunV%I&cBI#@l<6=vh;}f{U(gA_@k6Jh>6pjTUo-w#Ca9?PwV7hG z(|=}l5+Z4#RCrYkm1&J8i%>?m^p-}utIja_qc@z>91z2KYJ}xRl4C;pV!OF~23v+b z@O1F!*oruVKJw7K(e<=ygn77X5WhA1C~+=$IZ6oMaS;uW_+tf~c8JG;|p1WLx+Es!r5Y92kiY zEQPIOR?4D5%T|mwc~ZX>j*~D@?6D*Y)9L{;a*N-k@=;7NF`6FE>}J6k@?$p6Clj2^ zBhG6j&+i})+4Ze39&!=Hgd>q091bZSC$>ZRGH^q}=`T+e99oyq_!bXiKI^*$tHIoA zc!W@&og{c1x&h8T4KT}KTMaAJW$#PB)4>xncap_OEbBS#)Ij>j(;N;#d*dAT;1f=K znxx@i8s~08{J5YgpN46CK`=8~csNb``(w`P8g_g?;PTZEe*Zaib9zDWIb2F%zXScJ zWmF{m)-6zlWmG-RqL(0pq$yMD5iRvzvM`puwyd(@WWwz@KLzCog(9H(Qh4cQBBK~0 z$34N}93{n`pHxLbg5vT88jjjZ!8$E)V?|5`BfKQOKb|I34aJNSEEL`0m}|eIq#fU} zr*Ehvf&0>Urc5_1LJr=VKQS=Yz%KISf^0~o31(D8!t4fv5TV~W8BgsgrW(uU@CAdE zPw@nK@#Q8!1k%f3mxq8@51hhd;+X>RcMF;^Nr4v`+wies#7TAG3`uX1^HdZ$GAu?XF@u0V4O_q8qbNFG|sofeP2G-XFa~{Uf!>|I~1VeaFi(!7Hb7XfSjfB zkrLlCARPx^%l0{Tq&K+lBGAgfQJqYalUQ!^hDx3ya_l>}7eJc62mX+>Mwj5A@U*vo zOAv{!e6jX#W;=%tA6+rg0Vs;NPN8d85X9hYYNajtQcbno{S^p5bSYq28AaHy8E>30n`jqc-Gmr(V070ba4wkhNI zA&rj|tVk$d{hGJKok0pUhAA`zAMETWlyi41HwWI=Jb+3pyH9vOz;>yOnx43r6*6o( zmlJ{`jYyN?F*@XPQGx=266%yKi5=f2dm+R+(ICP)60VF77a_if2_QGZ+)P3K z=QZ}*L82fDe7dL|{&eu4qUn$uExUNB-JM?CMoxf)xHS4maE0LZ+i@TAlu4vy z4nnZ>+zj{_5*+<>FiEw@fObw<539ES2%C=&cwl!I0lrr}ifV*&mol1ZT_PWAyAKz= zS&QKcLF~g2A@^<5!;qvT(AVG5QF%dn(t1}u%a8btB4)tFiI(EwkJ5XarGFxD>aQ?B{b~QL73~d%#b3& zXzaTIyp#vqDg&|zWFRS+fdN07T3@AwVFz7Cp8Hsieoi^Qa%j{L`-8)h*GWL8oR z-%@WpemlidJgt&`;NryUM^V3t*~8w|`tisAff@9q7gwRd`t z?agvPZcv28s8>BBNci{znY4nL77yp+{#eeQ5Op^hPJA3QDwmx*z&&lxDK(1Cj=HXP|JGPMO# z%?a#^$U=te_jI)FK1q;y?1geigO#-R^W5Y32aVj>)+9|43P;Qc>9sbA<>7iZx=_i9 zDt5!LkAZTQ?-W9DoxtpZah{l;w_8V(Jm!66&Bf=xTlkVRpyVDv9!!N-X;lNK6avE+ z39FZ0`F=cB$gp8VOppi?P}u_Dl^63No2y7_;^UnuxCB4xbAwCM6w2!CWw z7#A733CD*iy2M(>*Pixnk!5f&u=2x*S)fcXh37I8>!af{@|NXt5?V&{5(g@HzkAa1 z;VS9$;%X^3mW8L&x%2bk?LM&4GV*cKR{i?X$TgiJX$%a{b}ulN#TJ_L z#meE!b`YHJHbsA9ao5W^pz=j>gmX74Hn%p{H@A^x#R6uMaJ5jRa?)dy2Tik$qlpoX zroFj#wi54dbv!ikef9LSS74c91iLYU)4bC?Q?U@@?PH7?%z!10qx?>Fq>`adk*PcX zIl-6LB{;)qUGo-_^XPDSKa2E_IZ1)m9?`(djuF;_l)>bi`=!=oksVYtYOXS!mmvi6 z4R1ML2wWe~`(o`Y;I>EQ@yntp>*otyo$cZ&Vt+gC^?lMhC85Xs^UCk9y*y3H*rdJX znj3_|nK4$X%AEDlFXmTT<{Mv~(hl^WvAKuSPz)za8KaApQh9ITmE?R1W!83#D2m%@ zXf!tAe&bY>u6=%60$sM1S6Jhcon@xDc|ixaAy0r8k4=lmlOCUepA4;MPggSy+NRD` z!2p&sA3B4i^Z1GI(`nAcw!QIV^)-Dac=!<>CPACcXDJW!7B5k#ZVlbx%g=%Z9JHCb zx4M;aEa4gD1Z!c+#1NQ>?OaFa1@%Ut7Mln_L5!-Z5m9x0 zH}oNGq!^R@Y7~IW;_ic|@j6>bFhkWvz}xJiO3C|`t8Ujjb#)WJiC!@1+RpjS8`L?H zNPa9?Cvm->m&i4o_M!5Z0%E;cZm(8#V^j%BSBk}jku$2cY;X)R{{)-)?qX=~*V?dzg}YvVUy8qRPx6<>9e?u?ck@<3 zK$QPtupw}onEQc7ohR!7KnLXzP8_++G46GS3;7VrBnBg2lsZ~o(dHbmohCajt8c*< z5lt7Ij5seTN|!$boNNP-OdhC!Ta6eu$1tK;RJJNc#M|FC0@6DlSFqLi%SZx0wuBiM zAGKYYHcwR6n6hS>Ri3jcy0fuL_qzJFK7hOi^ccN0rzvPxxTmZsC{~1MZD!Rj%9&jFl4snJiL~VXQcq0sQH@KD>eTo2O5(H~Ej{6XP1Q2&Cw#N5iQ{ zZPz1pCRieHcappGsmC8L2}#lQ`a;r2uOHA2DM9wEOUj6?3eXKm_oa?iuNO(zmI;}NhySmw9 zyZAZ-fsttYf+M#N9*$MT?r$}C%`2KCwh8hXg>i=*X*X%@ylvfxH1Qx}WRsSZ`zac7 zv~HpE#JG`uPQu~f=yFJ8%o(+?1U)&D0yH+`q>y14Wxg?4@G8+>Zd{8R)Zd>2-~(&R z^E7%=ET*ro=EDxHKt|{RxjK28hDMTcTh)kaGdI)o?GDJ&pH0Dr$Hw?$XT`;hGG>ws z?G7S&(%D*fC(OYIF!1%ktr$g?${;Z1a@2mX%w#+p`_mM1^w*V08GZOVwi&;O97a0? znhQ04gWV6+&I!&<=oX{^#^UKj2gO?NMCtquVHX5a2o>>zjxksfv4GOzR?wp|;GmN5gt*~{b^~%q`d+MO= z=f_%2DWW*F0nxq;or$Y7u-%UC%?C}H#!Q7nzgq1gL|}|0yk;zsg@|+EzvnWrn&NO# zI5XL0s-wtS)%+He3E02+S*%~o=y7W`R3lstnC}E8(l)roaEtwfN165xb+X}|)oMr9 z=HlHx_z2s%XCfdYE2g&f z77Kr>hpovp8xff~yBTJo1=z}k95l_t=SnkY(9Sxk#YbEaRLQw1Dzs&sFbmif8h^QP zn`LN2O%Co=tjxH^v}sq4sqL;;&k}8Tt~a&{v-Y{5Q<$_t!(n5|T@dQ08es3}b081o;aD>V^&Kpq-SvrKg>U%wnjhgqy$s3u1Xudc7 zm3wM8T}WjN5xPcjY`+VwWccz0TvAb>{{b#hCZ5tS&CA4yb`rw5OrCK2gARpt675kE z=Ym9tp7j(EF0(clEP2a~+^xZ!vZmO+aV%f?*dLAhE0I04B^x|#Umux)vWj(Fo9aD4 zR>^Dlu60^Oy!DL&o{;5~i7IFX0*tK~^f#R5qjV@<^dIv=RtxENb(e+B} zB%o9+c3>~%z`RS|g{nO@Q@ERxKe4WxT36rq7wKV+sPOnhQVD(n6+`3_+a>8+)rNtn z5(fsee0h^KY>Hw*@VDO)?yLoqNz$92mV9d$yPignbeOR;7+I9gjhKgTCE&CK;0kNz zldShUZ`yKhd*^61@_fggs|1ZW|;NgmxxY57X`8dLF205K!ZOUN+( zYoJIL_M=+~6W?9QCE@@6`-fy;Da%02H$)exnMJ+{=vs-6dQOAkOpIcm1CmT4#FaIQ zmA3}&hEfc*s{j_n6_0U~cr)tXi2Ui0K z=@16Y7ZVR71v{R_sZfZ{j{E#BD9t@n7sk6s ztwFuU>1Css?EDU2-=%5ibifc7D*4@9TqCLT$22av8fCI%05kkTBD~VmL~E9i3h4RN z`Q+lm1>yoI0CAje5>$gh4l$r5C{%-x1a;7l5xj9!*2WS8LlwF}U__V-%5yMS9F&`_ z7G;1+ilJl@grsN;aqvN%d=V~T-2kP;WzyQN>6nl?Wg@hjbX;`+!=J3g-(29N0L)Pu1Py64 zblH4S8vFYAX6RgaH2gsfxCA4b3PuzKdOIk8#Me&*zHK~HYuc~FuwdMCvXv(U)8yAe z1ms8xzIUxMCx^dq-`_kt7C#~vg>8*x8@UK+OjS(PZ%-Ls$<-$6?3hClccpP_a$+~A z+rToQ7G=KapWSyWsCAE)oVwsRxfY!Bv;}vatOJauO$%UNwHaH3q0+DE%?<8Nv`0B1TIG; zDho=UA|rPVMDBzn*WyDB!7nH2z+_7pvtzZmhE=e{m6Ec9Pd>K1`^zrLXG8#yBtBmL zI|+CSkxrb?Pfb5Y>ir7<#FoOgtAPl71Kr7Cx@~ZAO);AXq7d+Go71Ptd*)3zdVnzr z{0=nw>r5V#s^xhgsQFK@zj8r*``*5s=K&C78HH$wU%4P5HbnYjuUS`O)LOD)?j>ed z2=J6C|F`sy68_P|kQq4)>L|g%kk%**Oqakeow{D#ksk^*id%^%6&IYCd3yci8?i|M zC}xQHk2sKDmG3j=B>6o{`6j;y?!k`zs>1EMdQ%8-O*k1;$*M`K?0Zg3vm8C_E6 z5SJ!FJFr&RURj6BhMQh%i_j>sIiY-6gjjxKUj?oZb@gCLFq9@OwbM(hRE%#5_;D-r z)B1hG90A2{s0m`=3fIo)Fs9SH^jS(*T3 z8ifU^kn*Dk1tRNZE8&30jZ(P>XTf2@-Ic9^D0>*Yxk_Sx!v#xS8AX_o)nKoG`4st; znl7s;lW3_8FIctpv03Lge91SaG*pda0*L` z^<&S}A&j{c66a_^ye2U`1R+r*eAxg&_#h+zUvhx+IyRw@K0U(GhXxv(;g4DVfc`ee6aZ6C52#%n0YwH4O8xX0hiQsmk!1Z0jZ$G0XDb+)9ZQK5LPB5i2R~p z`1k?KV0`%u{-`A2U(V_nIDUSxe+?1%Ku|>iaVE9_-@?Hq((v&HROhq&$QEZQd+EXx zQWDQ!zByK$Gc+lRt{#}YeTXParIRs^6-B}*{ zP}%as4=$WP7u4O2`Oq*N^t_wP&{Hkrf@v^ z6fz(!J<2gI+xj{v3ehpx+F127?gNa@B!YIkB4~IN}W?wqPZP(cWW%mvgr{^!o0H_yxhe5ZF4U7Y`cF} z5Ut(!W&rEp8|#s8>T#9U&QE!(x6KKsv-xFZ2`Nk!Al{_;oDaklfy^|CEl#VYw8{^uo#KVBnU}Tp$%Ua(ENJ%c+%JDF+AlxXfXV%Sl?}U5*u%VT^(Mwx3;eC z9L^VFD;lG!idz~*ul3ydAjwVQg*NX<{-iqO$LxfO|1|jTPDF{!Vm|EHFfEQ%U?t&R zsCzVVT<+$T8#w5LAckUn!LL|{1d{=?-B!*Z_WP@^F2*Dh@~#jh-mznuuut2!DgS)l z&zjHs)$Hf5tF|n3)D=ge%T2q)_YYr47nxbK-nHO_o@l-v+A|k$3d5D&vwtbVh`TO* z>SuRXd(Hjvw~w!vFu^pCk=x#kQ5-xR?3f!4;GZp#jH!T~T{_ zs&=Pp83KT2P97Si974Ol(%j}-xv~l=nx0F|SPii)wl*>SJQ@9qb#T6YGH6cR7YKyG zljS$h3uB!mI($DcF?@G^`f9_5G2S#M@U2iFu}L@QmpInOutN+SK`w!^iU{jdthpED zWD(}10XZ)^y(4+&zJ(u8!Nan+AtTf68@qMWt*}A*@;G#%piXd%_EK_j)QTn$%0`{b zMBP7I696BS#f&{!BcyovB?^k5bjaaj43-kb(e1UUqhscR3A(L+=onV|Ei;mVM5DK> z!ep@Oe~2@BP-83#9CT!Wo)V1L7B|bfl>HpyVk_?MtUo*$$N)*iRf3^eG;f;{`>brS zc;IE}LGVzzo-fb3eUy(cKawDO*f+rn>-?--UB*HJtW4gJChfRqx=IT23lR1TPu)Hz zbeKX=E_|Fjes^%=&HVcD*!gi+wlG8ytJwVx3!0vou9#v%1Yu1(-F3uq9RT^gO652R zV7}C15oU9mJ$j2D`Xq?iL3b8S)yhT3+%4m-d-sO-?L+^_HlY{iJF$gyNODvj!5^1i zb`)H26@QJRm$(2Vdkdq>Bt;m zvzPQ5G{&wv{PH=0Bg){*{uVzg!R8 z%{M$dSlEK7W+u%I$%Pgks))~UreioyYb_WS9_ua^W{_0yBpg0fh*qSMx+edx;FN6q!BV-LC^l^pkMD*N z=s_LvK(gAxQd=PqG6RMhu7pZWLO&Q4n}vS3(6FNth?ct6aJ3dw5e)EJN{5_+v_^vd zaWB4IL)unOt1-lo;%5c8Ang1MA;tet31|Uv97xd62+=36k>M~a>l9H?3m|x4^MP0- zacg2AkxI~WydbYKxayL)@&ixuB_{d$&;4xTCedmuj@iqK`^tHV+ez!i&8Tz#SAGnS ze3&`N2^cLR3#b}}i+*Xyg4sD0iz-)#~Ux|a9^vU~I<(6V$?|O?HDVXolo&)wP*F@pw zgiT*NZs+4woB3t`xQh}^qyF(p-!iV@9u4i>#m2r^~9TIFX|iio5%jB%p6 zLM|*Ue6*g1WudLBc+KA36&Ut;Q0q z{*!oB?^4^$`o`HEz)X0j1xDeB%~}#NQ1Z@L^>}M7B1C_L=}cO6dA*jP(#t$iX_%zW&7K4`*wZhroqz1;TQv(L9 zD^7%(NocPWgp1b8e8mUuM_nwYCLS>7rZl~Qi*Nj>#pEfOp>-p;dv`JOBHD?#xyi0% z4UwrXC12eH>8;?$3;sd$BoFAV!yWKjg7oP&WE&Pn^hbAs5&=1se7X;>bNfMm5N|pt zk9>xy{?9Ko%2uje&4fwzsT{p?4=TYNBx&$ti-5AY{Y)6bfVZ1d9E-xX^XER*S_IS)8pAx51Ja_VTAd)cgV9BY!Ulb0@6h-hhd#WA1`m`6bSzU5PwN~)sdGE zoS*2=!y$A4UfK`JTOfRdfF*7)dUsTq?IQro{@74`qNrFl;T^O;L#^Bt1X02Y_Y{Om z!%19)q|$D#i_-L-YHW`1LqxY&7BaXQQAusPj6XpU`yjX(*BUqTtyb$^uUr%Xp_Xbt zT@&S!e0`C55jV4`v}7J@=*Ik6X=;YbY*yNzzy0T4@ua^{xaOUXu2@K$0zZKmc0L0L z=l;(nPgs;JE|n~XGgt28-W&I~!yp}4S!g)j@ZK!Dq<4jJ3!DlJP9G~V@Yo!2Y6p5A zIZ}fd3?wf7ArNxzw_GH|Ds)9T&i+_LKl`2aImbOMC^B-NsNJlRg97E3q2Npe1;7OOD$!gFbmr(`SEGL4Y=Gl4%IHho%OUk{-ikpU#%b)&|yr%B# z>{wkL(-xLgzt6MCnB}6Ix|nwAEWapW6`rH$yLG)h`V--KI@pHY^F_UpXPc3vScKQ4 zygm|+?Eav{`cTyt*j`7t5tp&e1l_e-^4^Uo69WQyL6l&q|RvM)5JlC z6=Y=5jHY4K1&C`PRG-ba{yN2|{9wBXOSfz^#M(a5*E?C0s7+z=3(qoW|Aa9B~temG`W-ZdS2;GfAY_w27WSFQnoTmNK?m4-i zzLfPJqOnnwLBzw}@)D!`qAn5mT+S>ng5hvS>I@Q}rB8rVT-> zUFkx8;IuoNEE+*s@|qEnL8M_%2AEoHjRwm!5h(yn`UmUfNMbBgk};k-g#kbnoSqsR z*~mtT{cmJ#fOz5Mq$}!-WWH6dPp!ezVqS_m+je8kK19od%2+!}_s#B=>BrH}cjh4x z9+q${uXHTo4aE&V^F2@d*kpgw&y|2>@98PYR|?SAUTDzu=~=I&C)pj5P+VfKhVVC& z$m$XDLp0q6AV&mQ{P9fw6@)1^{xvx>Bt)$EkUoTYaFl$nL%XmIkF%a7bL}?+h?rf_ zMW5i<(WDH-PPtJO*LFZX7)mXzxLE_P;$*2UC8it*}hN(FwP7#5@L`0zMAa*4Yb!mz}jSI0&#Sp2N4 zl?Tc0{StmS2onakrU$y43J-Uik01Br&u{w0-e;dW*)QF=k5N$}?Pw|G!dO7mmD*fkSXy4y?*Q|u0?ksR5MRjdwpf3 zdTpLMdc|Jft>PL3eok$`$G&bl#BQ1URfBhtJf;2Da2m8lxw!vvLL67YDfUxmI!+Fg zIE8^p&^NVzMqGqw9sfy8=f;rv3fVo#LT6#H#I)gldq5;n(^;i7Gq5_bnKw|IG8zN0 z=C=qD(5npG*(&wLRx)(hJ_|h60RjF}fX-r=4)CtnOn?q+Z6anR!<9?V&~wfYM08^8 z6q5{9GkV#a1V2`e;Uo&HhEOdu@y=9CAP+-CreruUn_mxGTn+JRkGViH%+_T+t$= z2^lhW{3GDRqzN6*8KCiDd#ZiY-~yyjoq%XJP!a7^m#eqA^U%y-XCmg=7U^3$#-A@o~Z@8^Vp6TF}*?rAjc z*b<>0b-U5TE)|)(!X9qIt4eCC<$)u`>QMPP7!j7t5#OcA*mL(B^9%yva7I}+WzLo4!=$EdQW_R*cSD=DD|i1 zZG1VSy}j6);{6EiA_+;yv+`>J-ysQUcZYM9lOX#04Nd^t%M3LXBhH4*`MOi#76fuR z0UH6h3=D(MG0GF2vOd*M#UduiZ@M?A$RnI zawS zpM8zsizFJaHJ(<;OfY>UIukMY+ zZ8zTR2?imeYaydAh!Svc!u0?B&A#Eu@P_v!Sod45q|?Bf*xelTta6ZwRE9wucw!gk zl`OPDkmAfTM7FH|G0bo(`#*823raTc&f$Oaf6D3wOTpr-9g23{P8q! zLCD^Q-AksGO!4l18%kvZRs>q8G{r@F9wVy)4b2@Nfazgg~>{FqEnD+!nA=i3-NS10b z7jas2Yf)iTJ;|U{nk@TQV z$U3RmAMa<+dyf(DYDKq^6V~@ufP=%6i^@e$CY(ji`CurK z^~!hNZ5YS}*W-b;mR(G=L62Sw9a#I-sU-=Rtpiw1W9pd|)Az~6g?Z&qZn2ncPA;yi z^mNPENpr(Ta>&g}u6GlS<Y zETmbm?ZdqJ1oyEBHHEo*_apOtlbCC@>vP7%&FI0a<+!&q<874r1_PDz!{Z|7@6D>0 zbC`z9VZQ3^T<1?}4@{n15R=~!X3E5b!p6y@)^s6{x{yU38!c6>>j#${-icX)`{|iy z-tWHG-bU8qR_UJdI~p~gndi>iB;K$Oi$>nj$+}fS58Ynx`)6NGimK($>;}A`kFB@e z_5S7f3>ZNlL(9FxIAl-UzL+I^wLZ~sqgG~hBBRNo6r9X6cWH}(3;O%%>8_l<3C3Vq zy3eQdgVj+-(@3AYPuZX%-XFSCoW<2F24ViaL_lIiE)0XpR$=-_s#q4v+?>6741@9H zSrXTv)?thRI`H@bRM&oZ0VRO_0m4x~1=n0i{NiEEdkOeQkg~TA1K}!J2V3ov{A}|* za?-#%Fyu89mIHT-3a2fq@F$)7psG7kRh6FZEPrEcCk9WMm)Ig=S#AQMs!i7S6l2=X zeye8gzMe-WnXv9^xrV;&#%&qNNx^LD>{iyhFJj#k8f!0`L1pPE&t7U=*L*f)Xpdj+ zRI6Xbo!PWbUw^=Tuf}9(Z?!U!KxJ&F<(M+Mn96sCV3JAYww=2uFrXseJb!)1y3sNL zmJjIASAW0ucHqoZxC3 z(Ym!kNz63GJEZj~UP#MikD;#E29FqQcTo99%7_k24j6IE8>k;>Z`y-=-_?!c<*Gsb z;>jgO|KZ6EH#6T_z;7L2_sN)kJt?!^eC%sQ>dN9AosZFQWk8}ie{o56HAcb7om=U^ zXfXZVx8f=y0+)d~a*Hp@((TIm6pttB=htK%WqhwwcZeT;m^Tjt?GYmP2HvfTXF{Mx z7&CC;wqv&UYKJDB6q$7i`S*eCyPj1rJsXUL?EM%L;6+JGiznpCHgQzk3#J1=z{HB* z_)ZH1)K(Q;jpc<;ME4DtQ9=k>9`lYD+qi%Gk6#3l4>YyAj#jS%zw~8bm&pgOp_deN zZ0$GeieG*65`gWY==BGJMc^v&2UQT2a`XcQ$Kg_PvB}4ZCO8#wB%7V!9>}& zc5hh=6Gfa8l^~>#9AHBD8uW=J0F8uVhEu3_WrhMk8GGsAp@dk%Ldb@QY|hCatrR5$ zOn;tsRFjm+jxh;mnYa5gA6e-};z|m@W&dO`!cE*7^4t=>HF3A`XD)~Xw<2nZ-4cdg z+e+B2^_cwoN*o(gcVqd^Qm8mv_d|L)tbf5SNvq0rH3^-3!=q18us;5V0Z-&rZjtSa~^$&v--c#Xt6OU5mcyJw!9{>B+rj*{hZDw^Lm1~34^$7+_eY<|PCx!?L9*JuwW?h)`=udYJY;cb!N2FQj zx4#c6_x!7xodfYKYfs(j=S!uG6)71_6<{0etH)~F5=gv@9yi%NFlm-2K29cA?dUS{ zV;2S^ZnBVOZUEKwc}mRvw1z_1SewsQi*PzvMi40*XsF^XHTo&oxs?&J^lnuhJ!r0i z=!GypI~Y)%^3bc?Hz{QWW!?QVujlheE5H}OLd#hP5A$R-8rPp4W^-_jW=`K(t$8!B zs@5su8kJ`5ftpe9H %>7jV$gsS`_*D&Xr!LAV|H!gg0Z;nyI~eou$R4)%RWxK}l@Px2B$cd_)nXy~{LIPBVpyh9&|J|bDX~mP&te{QE zi^NwU6{cUM8i^F0;bz*}AS?8N#H+0@TdLg=@* zBd0+@O(YuyeoDZn0B=ILUwh5sa&a`eCJ#0Yu_$Vbp?HO&0B;uya`~44j4Q!b(lW`~ zKJtDE3G#TG$y4!C|JdU{{v5rf_X8&uj_f`_ln4wtiCrCJ7!JqYA54T{L${vmz~EL+ z8zPciNYtbfO-^A3S@b>pV^JyYaa-DVz3?65oZ_+!Ak0^!GyNO%_cXq$V5kT<&8mu5_BB#_`! zlqKzLxM5vS8%|o3wxVciJ25C$^L5w}) ztu%P~i0b>YzAyf3@o?m0u<he=oEu&zF4!gdcvqSVW5Y^&tpznk9q%p2_W;GO>QSr~xS zLQ}&hBsC2@rGZD(7rg~)=w7@9S|6*lgflA#9rWz~Lrp#OGbKieUrn5lS_PAjfVAM= zCU)UHcGhic+#`=6(hxz`l}S*DI4>?_6wog6rvi~|Y@}>#`>=;Xg+rRKcuNdeMF$eU zTR4F+zpHfRFuW>7W2})O4Urs$8s@#M9RW7s{@i^^X{*Lw#hj$50fNOH=Q^iAY^Z&C z?XLko@CYghVUSfo!nWK7F&!e`SRi2~5aAYsxJrT(gYSgk5kz!#b2!?Zl;wdkWsV?w_MQXdzF3@~*S6%& z&(z2CQ^KBHqyhPVjHbZsa5UEDTHY{~XDdzjiR)T3! z4u3ShXfFl($Z@rGRJ1ug_|g0^gVzQx=bPsz?xFQYHg;CW1}_^H#9;R3*>-KJlgrsx z&sX+l$ELUY$4mce^YE*2w*>rSs&NKRMh80&r+4?Km5cAl?r2{QM0NB*($gbsFzF{7 zFE^*_?Z;tRoD|F^b|!Y#Ww)CnL+(@&OhBI0)Z`|1*1O$Z83e}~he>XFC;L_~(Rm~r*__uT z+uhyK{qp52X@9sgXfny}K7U507j*8Xm6pfZrV=1*^cwZ|4dGHER;f*|SDs!e%PXRE4HTQF8#zbkjU1B=4`(^&>bhuCMN}6vXW<+GtHglm zS3nifdL(o3&}%x*`r3#?GeAIQ5&I2Q`ug$0O4#V?iNCbMBG&JPlMVGCXQ*4u3-%CH zHS=wMy=)aElHkz>CiIzsCgt~wR!#SV9@MF|1%{H&h+t&Enw(+3M)R1j9a3}NZ>^8- za4a&C8ro>0XYf}yffn~*p;Gmh{)y#o3zF9`muM8TG5e|~!+E`CFu2bttGdJXQ*!)W z0jSb=NSuohu0A#^l4aPqYObGR|SpQNd%@5UybJx5Jqi|Jr z!XVVW=cQg0zTZe)ik1#%01>l?f0}vWMe3o88R{eGjaLQs8{pz&Y-jL zm^t+_M5i|kefl#`2gid zcXdMGr4q+(6e#$g|JgV>nf3fSaHti_^mT5yfsE?`mkH&FN6n#S+9jBCV4_e)Nu2( zB03s3jYv_WjuFmSMnOh^dH(Pn`t>H+^s?;#I3>W~EyC8! z8~%Mt5K9M^!HYcOUSc7k+@xFLyXL}7oW4_~AAg;v(ow`fzB=srp_;qiF|L*y?}^^f z=5L2FMk6Vka=4s4J=z0w1`S|kr1Q<-+)i@rfAR5JjbD8HyU{8$cZ%n7ve9Nh#kYL2 zhOtv8&`R2zQ}@WTO!OXCRkR;7HPcIckY)>@{Uw0fUA{N8ebMdXL6$LtIBTki7hq;; zX5jz(LqgM!@BFdne5-~sX7DuaxfSBY#_9R;bxMdF(ueG8&fT#0lzzdu!HSm7D>mzV z^(|*l6{c%Bz_?9Ym$mM}PL@N{5BV&9c{$755-9?pRUTl5;{3>4TrOlFD+RHgehl?i z#b`Z0+Pb`qKv4I6g2i4BgxXb+u5>^;o6z0YropZvqTNXnR9Y;=pHL>paxAmFt9S0_ zaFLf=*6V4uLs@PYL|KzNFSRX?-1k2}F#O|i(}iHVC1D6JDXe>$?Na1!?5_5-(`y=_ zURq7H_jNAYw{zSVs+lGc8#E1v{D0csoZ*<#S_7vj1@IM_-&f8pwa=+=qVd z&JB#Ce;wJrLvGd4e;@q{s-QwIKgLRKfuK$P%Bo1^6shzsUt8ZE-47wt9;O9M?7u%@ z4-cxdGv@8Wl>Pv6a{EfEShc1)ZMhcAF4-R{XW&cT8Jf#{Xp%x>K~|Tn8w0N6`BGYW zAp>TVIcERH7TGcv0cJ`bIzygv%ysnQ!wjiLAOj?dCY2*pSz{x^ z1eFE5sFTEqqo=5>%3Bx&pQjTbQO3Uv$gUyj*C%n((@}pV4jQiC zAQA8jkderzvNR$w%`O^v(2eh^J<^<~tfQbDXlc&J%|$f@Vj%6;UDS_lJN$0xy+M{= znbz+8CAN3HKC9tUG%cX^h!(+rW7l%(2TW)g#Bca8`{U|~n4>>&kZE_()uaEKI~>FT!`k1p4ojsU&{Wy zwq>+nD2QyRATdIsr~-9pTv*>rlIVOtv239&*hv6=8JPoPwfHAcn7~#P9mGOD<$9>t z^HxRj${cb`$=A^`wj?sH#CGp{yc|CbcDx+C?Yhs z1A}ETkn>fO$su|KHIU^R@)OHUItHQ8{aaadu7yC8aG?s0Vjz=B zb0XCN{8hg&3xCz9-ZjefQ+cS#;L2taHVNoC1@=pL@dy>rA4VjZ&pfnjv?oxmrVpyiH zUhM2N&)6Asrm=nn6(dZq#6pjXve8o$y-tPAo;{0`lbaWTn%0eHx>Y>=i`ungUe#l6 zl|Qvx*EUFs{AylRO1+>aqNC@x`9zz+pEn+3O7Mu5>}sR=Btc|C>;h>NNXRf8KvSiW z0ZF^nXVMf%qIx1YMf3Rs9xTQ6rzv zQFkDogZ4uWz*xrzPOI$;2eF(MB+G)z1shEX;bJ99^3~>RlB>u^lvN)K{f)y^0V^zD z0N9J4L^J#s@)`hIE5x5$pnx=S2N^!iExvOFH~X^De}f)*puqs1FX9WI(Cl_0t!Vnu zbA$M|Km%>?k3i#lb(i*AWM1lE3PZjRy8pEAOQ3;*dEzKB;U`wv7ksCvuqD|paetm67+%b8TF zv}R@!v|Ek`LuE!!h2xR_yPTWnb+vw|ZuRBcRp^Q01I*W9guwNAMq>VrK7ND<=HfbG zdl0F=4O0awwa@09kvyw%vg5a6FPTr`L2xXkUZxId)hKn)45T8auF{_0j_xgvfmD8}243p-+ zj(?~=OkdOP%t6YQSm8+m3@LzKaE`xRTB2-_Tgjm#|1^vN)sxz$GB!P__`z5L25ck{Vt^f7C zeS();wLF9kG?4yVbXf>3djEXPaP)!)2n-k^&Jv*~d74v=dOMN$ukr(cG1jIqH-d=bSvaG>H~{P8K;R={ zKj31qYC@OZW+b`?D+gyG2S?%zyGp^U=MFZYzjZ7QveT13_<6yKr~kkez`9$j(_LsM zF=53bM<~8Kb-wV^Z#`g+5pn;=6(E?*n>yXod+7`rl`PpZC12~NHKX#D`Oa_3yKFBu zc(bij-F~$Lr~CdF^p{(feJPmB?ojA2w`}25!MCwEu-u!i*hy6?|F{~JE-7-x3z-1J z&M5v}e+&oCY_$P->5j+eYs8th1#ygg|#=$mIOkf68v zC_1H92A6zC=@kX9PBL6m!o*CTN>G^=X}}Vj`QJaV(7ra@^kh{^hdNq+C1;tg-jV;> z2XIcHw@v?tU)HYvpM7BI$A9(#cl`hC19(3F+6Qvz&vJm7PyK;sd}%lTAHX71&HvLr zK*{(2*FF&W|F#cQ03<$4gge!fZS_LASu#Gfh(Rp!KU-zoYl+m%pp&DzHUx&SzWw# z?pVs*y%P89@jue}3Paum|NCJcab1$Tpi4u75LP5n0NbH$OqTjo=(aC4pR`D5YLT3X z*FP{*4F*irF;V#jyfUm#X`f@Rw*TJj&)m)dtf?iumgOyiaI0@?Y+99Vud5z50`wv% z+cnwg$rrm{2VhgU@wYi~NiQY;B^LZeA|(w6)Q@J$=QI%of`JL1r6%Y`{*-o*I5hmBJJqX$RH%#cm zu?Xh1B9xTjCY;WVCujw*+IYQqeLmeK=hqJfKX!NVzPx)vyv3?mQkNIjeBYK!^_i4e zvc2F&On3>QYUVK0kF813m#7hfq6hpg3?`N_Ec6ce*hUA!IcTBI#4q89Kn9eXuc%z+N zkcejFk0dP3Z}r0;7gH7^AmzW!G}n?0G$`RPOBGM5F3Mh}v?n0#Yz{U={rrgdM2h@p zqc9be+2}-CC@_|0MKkp1(NMtp_h))Us-ts3t%SZ?3-Q_AmlIIU z64}8G^{zdW{?+agjLL&l( znXwrUgaq@Ajl99&p&JnzGPNY{1~O9oU7@;{#BffxrYr2C(l=C1cfG97eC-?(V?X{@ zDiBxdjVhmwB=PQC&FiU^Tq>O|Mx|1;>I|BbW`uFtihj4*JLtnjfZvlK{zDLqKhSVe zF2yErcn$CSt%OEz$dvt4^?FD$zdpoN#)>+;lu)Lsz z*dHfxij9*91jDbiPLEQQ<{=i{gI+;72FpF zZSVty`%#Z2UCX5w`<@V}Ak9(GBJXZjnNLyept&9x2LeTkD|A8l4}CVgeUf}4aUCf6 z%QkPR<`{=YOV(7yJ$mC+cBCVIW&Jnw1;u=|A7djX{JGbFoBj@J_<^WDjxg&+B?`G0 zeHFk6sP;?7AU}jG`||r@mfa=889&^piVF)F;eaLZY}sdp_xFNCI;B39dOD@5B!nR` zv{POEik*tAKkvb!>Gy_^hTITi)gByYt@u@fks_mwsnZA&!O&Y1>oPKWUq&)q?Rg1; z8zQG9ylyZ9T^sr?jKfOnRHlj$w>09dy}Vp+HDg%?D!+nWByT?d9%F1K@usdw2Ra_y zTG%h?H*$#fxyU6aJDKSz&WQ;9WiOzIgZ8a1P7gaXWJOJ?;vt9LlP-+_8w^HPw!hKP zm)!^)RuA!t{L#nCjDW3#L->Nww;93Md}7-Zbk2|~jd6r10*AO|YK8j|SJA9(>&Oou z#Td&ymL5!Gx-yhaklZMqaRkOw% zk6~q>$i6;3qNREd%%pj-&Nh6&x(X~21nreu1?z$KmU%QEEK_8}+k6j2ieQ`zLp4c* zMcpitSfWt}^rIu8DimZsaF7xo0&Pr=X}$o|9^L^zh$VE}(HR;`^QOJ%v%wa>m969J zda%NoaVuxUec#$y`}ON}c(`Llu5Q}9Eqm)!G`s*CoK_gf4!`#o5q2wV5mP1!{%=G$ z8AA6)H~aPwlc$oYRL5@R&N13m-X z;6q69Qsd$r{4_!rErR_W#(^RQwc+2F3%Lw;LQ0gWUY~w-9ktY- z$ujI(KJT6$2Y{Uk@2Uou250X>{9_PW-L7Js%j{=ol?6iIRYZ})$i7#nd1nRRC?}Bs zkbep#&V;BTw0$?f2AO+Gm1yq$JmG|@5dQX{F};YIxaFhxJOL>TPZLZva9;5#*lf-i zq`Vup6sB%?CnY(kUqgnOXGF2BN@kq;VH*8ji;`bWS`@NLG3g^7hrTX%%i3o^%P|e6 zjHKvQO@TAN*9ty7$t1ZPIeA>Hh_EFY38`!0URWSGARY)LC1H<8{d@h_LKb_a29;GL9#eeTeF@|cK&rjRhX>a-_j3k&ERUO_-e82KkfToY7K zO{EaYLQy^!_Q-VXrCjn{9xZ-+>X5&5;fB`@Xe@pI}n_l2&vT1tdok%SS?DD`!*rns$D zrOYRQbwC;A7liAQPCjKqTToe08NB(3Mc<{{+t}ve>(Xfi_Rk=DZMLD?7@rjZe$O9I zrap=Buc74cu*?vh(CdT%FQfoBbqrFa zdz2$Z<3i%bGZ$%?n(W|mAXUr_)z+eKd5h3LYy5U*9LI-?u(K&5_n28!PmjGaDA{f6 zkY!%~$%P0cVTYq5g#L6tyik<_y7;V+Y+d+J!yWj?s>oFlhl>Nl6LoRSX9`{LsDliN$HaRFV)?_zrjG?lcYCU%zv2|t(u zdP2^FHoCsO8-Pgmx=&_JpQ!Y%U*XBo#bu`XF}JQIQD{v`b4(~3U#IuVl;s@9vXq$4 zAO@nGFNTQAl}TjM=rvACMf#7a2h)pZzCw38^e40%DEL13Yic;_KP~dShz!4; zw_><6fi-%EOh)~FCa0Akq+N1IBZ21KKN`KRSedvWBF_3$k_ON0Mgv7#fx8~$38`NM z2B6-NPpQ>B6H@ZRSe^w2n>jvjpbRwxuq^KxU^~to`NJ%zSq$pPo$+3kXy@U;%;o*D z`2ipLwRrh8i->|Swe9hRkkupu@9K)094^cuaZYxMA2#=EmWjR3pp3icmJW=L^1HYz zhEX;{1qbFb-S4HMI-gBwEbUKK+s7qMN#;TH2LfsE25J#}QXn zhE*6Kip>8;kv{x#dhLUJMy85&#aD- zNSMm8!?w$ZN-zC*vq@Jk9ea&2%VpvIs92xmV0DRZ-}r9qb@Sp_t$Kaj>WKQ9K@&2y zq`pI;x)aA@?c&8e2zP%G{tEI|>`L!;Ii=C}@8s7&9zlZvj|DvWHUDSwYkA7))r?+} z@wN9T3NCx0{|s#4-f^n$l8gUpwGBbPvETHeUJ1ev9*Pn*RZ#y=F%JomG;dfI4uttA z99p7JpoAIKoJwNEv;b4weQ-o4E18-<_mD<4UI2iW{TXcI3q5^e=qD92LxJZ;g?FE` zxo1usfJ>SbBx8OS7dWzOE{CAL&Lm-Cpro;=jCK1IQATea{^X`?PlSjogfxq$L5UdV z3Ph_)jZxL2!NB6zm!fVK+Jn|SX7R^Jt^mOqGJGy6yahS#SLEnnxVWW#Mafiwvak3~ zPQRosu{Z%u^}4Vo5ItYmUuG*QLO9py1=?;Uxi~eD-9T0#v+<3tS2q%`F!7IS8lk@l zJ=&mA6GE&`Wmkm`u7s2^<)Hk*3mWsD=|Wwt-rA!D!$$_0ufed8!ni0T zmN-`b&BMjtC=kTsW{4A^g-Ivz!Y&EpT>A>n>ivCAY5Dx%8u_-&HI%b5xS04NWpoFa zzq{*sUB>%uN1LI{_WFFxSn?G)n`60BF7JZ2MQ*K&?Y4@+5hWB&s4uDmg%2l&2ci!o zTHYWcf)^HebBB$ju#)G{;G+@tbXteNlU5t4We{_d4HCZ_+8N|WhMe|bVIYyN2*|=8mHkU-Mwz9iFh+46l?5mF3FX`K zk6~w;eetFY=|-6CWbcXews*iZsz6J++laD?4QhTkCa#K5JM^&4ItSK=A8^l0!cw%w zBU{N17n5lOthFWDF5QE-F<%ppz>^?&-m1&72C-5(%A;QAZQJkUhQZFsR&mfMfN!7p!nf1#<|Dw!RnS~3JTnG%)vNA&nFXW3(A$$b}v%na#uDYY4zmkp>&8a~pwS&hUHuN52=zl_nv zz73Mpg#Ir8lqDBJf3$YE>H8^Ftj+?&sjN?nFUKKn*p#Ett5*4cF%!rDu{^kmOynL% zOR_v|Gp2;$?jk>p4`Q<2j%!w?wTU08o_;(+&UyD1oQ;mHJNQ(-UcJ`04#VrZca&5G%i?P0v*-4wP&Kkkbb-OiA&%@T%O4oc*zez&A=a^YC0zUc6>-i0jQx$+|@{}yDclqY2_hUY> zV)30)^xZms_G!*Zr<=WY=rP0Tm)}HhO+H??F5r#TJPJ=uILCf=YV+doARkRw>(J_z zn1yF_N&5vYrs?K^r2WvRMkf_;)<%L~W6$4xU?L__lDRjk7!d|gg#GG731^PAg)fwC zapES4TAP&zX(d5ykNSC^jDu&6u7-T>hm6;qA)fnM=nstX#bXzN#@=*9v(Znk7lv;q zMC`xi1(YqJNjV!3OWd{vJUGA%mL;E;g+jKEmA@7Q>DHq!6$Ua{ry|ivSqV@_@av|< zXa&z6sVpL%bemfutUw8Ef-4U-GY)II%pu|&d*;wBgW=*rh(V(S3;7k~4?m;QUjOtv z5Y~ZmkR0>?eJNiXR^JmsM+ac~+2+AO?JDnyhL%2@X}F5b4SETj7rSV%V=t(g;Ii^H zL+GFGCg5~eLvo6lO7ti4_4I1T%a%|?;Ssg8ncc4fM~Ee)wP~!QulsA`oHNKTzai=2 z#-_xEuIn^CzIQdp#Ru}vl9Pl$pGBo$gQJc|aS8@f?Z28=n^H5tSeem={Qxj`4)(lc z5goYhKa#a3&9A$Q0GIyaI(WwLMXAL5G)1c1rpCFvKs^8OzpzdX1RZ06exx0fSbuSB zoi(kWz5p^{OUm$ ziYPGpxy$B?GOpXn!^O4C_pmaoxXuFoFhej#VFcXH!wV9+LI z)YH=;CYNPw=i1aSy*0zm%gv+3)y=Lz!S%8{b2lU#zmxY{mnZMz_a7=v9;S5P5l3792&-EV-s9;FNO>3bJmFrvOo>A;jtH$UReg8*5QN1 zh=b@E(o+Yx=}5bcCUEiMiLCMXwJL`m?1IGMTCie)AMmo06Q&Iflx)IlW5Br)Js`<& zVz$!>gj88km{aR3AKlt>V znp)8*7`}eRl;#~blK)7_AW+L9%ey`F1TnxG&pUoi?bDFz)`M|4VgijWqHsj+!ew~~ zA%xHNxr8KrgAKsIn!Tal7*G^@jMER&=&@bjHyc>=RXMkMDe=C0*1wCx_vTlq{A7VU zlvxs$u|$P7e?nHlg*KlPRfA<#CZdjRAQR|J7O27u0kaIy?YSZc+8lP366gEZ7{(}{ zXSVW6g*Bc|q0VEn^v7hqll+h+(W!ZPi&L}r!5Y%=oB7f@ihymj!BH{l-4GLclr-CA z-V{)NQ}{}RtT|N7yPBb{U^Z~qQJhv|?bOmKUV6K2?$G!KK3M_8odayRG?)aXn{T?< zHRqtljg9B~QjoYx6)?f+!SaCJJ5PwbPSy@b+%0Y$-zKMavO8{zI!DRZO$*qJk^>_x zNLWWUIVl8%aA~6&ulVGos{x2FGB z*bpvYJn=))+Q@vp**cxT-goQj72A+sIgdnbdbFrSp7f%`KE$1As=blr(K8{HkuU|Kh53tw_)-rWVsnd89&d}Zj@PHNelvX=_(dyf0;&015&l6|2%?sEm z$K`A^=^}9h>f0j1>HeSsl%F~*m@%uUKG)eir>N}HFb7-_>@NM9lYU8N6`4=~Yu!-}$V16DlDB%Mt=chX}bb zA={dM$Cdt~_02Ct*zlJCEWASu7aMZtJpR)z&G+F$?tPhmy1w{GCzk`K%EcOKOqrX? zyf0zOXOEiz@ODF^DJeVnSsd>D+)^-5j=y$Q@qyLjsTIY=P51JYde>re7fbp!YoB5m zwo9CiZ@o+!?8tL<`#`ap>4;N5f$)`E{k-o=_q>uH_%b!|8v<){(vz}uRz)9DZl6uW zq;y-=$C_Z-H}3OL$*oC?Shl1~GV?2L0K2SeA1)>h#>5YI%LGwJ0$Is*+H{4KA&qd; z%paK5^#HR__D5E~P6!^T5ei};|2LL1oC5bM;FhzjBn`43PcQX%MnepEmG?s7CCqd` z4SHOB<}W`M6FF%eh9p8U3JMe>OCig-`lI%Z3BfHHOaAr7@JCfa6}IfhkVGXF3jGv_ zdWWCWaC=`Mf)0=YvXM*$il7sc%Eao+Q_EtPz>DOqM$r%D#@6=|1Ip^&V_@$kN2qI! zL5&-$(9CSPD{lp!xxeN#KBJ6qLCdb~A*??E6Yu2RHv=_bsRr$^2hUsO`8GbSeXNLJ zjxFBcWe)Dg0T`XL>iDstYctaTjDV3O|E&F|pf*5)LPC&8)<=TVD5DQcRhOxlqK3hs z|1wS6Q@VGv+k#aH!HgkS0ASv^vLHo37cnT8qD1Yz{tpJ4l zDoZVVakNAZm;}00p-%z@$=*jnu}S*E%;8kv7d>nVejz>JBMenwDuA(0#Y~r%DXaT+ zpsw`{>m{cmIksg%o?A;hnd|5aBO_SApL=2NC>X#-GX-x>o*U;Y20fXJ#4KzKfd_A1 z*b?234B!F&Caw+mQ&1bgf^bSN3oqZ7#r3WzuZyeye%kvFKqGRYm{hlb^3WhFmE2MxhXdxc6i za&f0oksN*B?6FT;2-;M(5aMGEeKIEsTo8S!*eOQ7wU&1H*8k}B$x;-Ka#FxHrDfwb z=cknr+#{~Ij0Com(!mEt{o#z-?yKT^G-z!ZwDB*^_sXrAA6C64);;^Y1uzgL_UCDE zO0s(Hwr|DftuLtEOg+`iD!uQ-H25E$ydRj?yBHfLwE7~311|m7DEeF)n06K*2}-Cj zp}*wuJ-)M2l-!lx`r_zG5ROL&^G#|dLTAMHi%dJ0rYmEb`t^UcriB3m+BMDtj`#R{UM47eHi);~`T*@*uzrk-t&H3AmejLcWwV=YZhP{~D{v5J}B=JAA9R?p2+SChZ>UJEQ% z9j=*Iv^JQIi>;U&t5A!DB+c=P*i~jSc+U1BoUp>cj2k)1YYLG-bMr=Od+kM$5&sKA>1KfK z-OPDiJM14h^G8FR7L@v5)_u+EoxcxdAHDnUq_X(;Jc?eu`)60SZ*CuXh9aB0eDEg- zm^qbpqu==FDV5)@$$1q&AchA^;4E5AyiCT_Q}eB0N>>pTCzZ2RUP_H!YBhx0tH2bP zs%x+^x((`{T;{ymmM3-nxD0kSzzku)$s%?-3o)oZ-0XSPy8qlJBr{n`u~jO~A1RRK z;}-Q}=gB7Zw?~4I-btd9j2Pm z++E^nu?&&JU##yJAqoCz=ATdt5n3CZRf8YdySs8kUT!(p#GZas%wThLjhrnu-sn7< zvUDa~=u}_4+z#{*HS-7PHPM}939^89ol z`2P|gdU5miWI+t}HCQ3foIgPJf!$xfFdrvRVDd=Z;J3P4^-*rU`ufLclND^VxdS%Z zTvgAph`_xrT!;)wg!NX+o7lT_fF11FCs;Z9&6PUup$1*Ov^MM`_amVvq80J5A9{yq z^bd}v%jmQ^=cw&;ll2dd_S!5h%d?Se-1Li0qIKRYXm8(R=`p5QX%kHQe5gOYNlX3@#G~)(*M{k#3KY z4F__zG{qXxH&jWg2m51;qPK{{h|0YrETM=w>ObZ@j%^lk2G}Ks6pg}h^1C-TH~Tm^ zoDnwEO^>$!Mbn79S28igWqM5hU|IsCG*t~d>J#x>XoM5mU`RRp-}ZyAp+#H}&i$pj z+TmBB{tEbgdS^wqlA>nTp^0L)cGry(_6%jpZNd?(A}#ZSq_{yQpz(#Rm+#R$841t( z|BZ1?!SrxJX89)I$yq+5mDyKfTsuK*OGHtzXV1DRf{O{|ZTbn`zT|h?t1J^=P-Wqa zaGKSjB$)^OcyKGr7_q4`wM{5cOetp4aX%#uq_#p0V#jU$ECGXp`0UUI5fb+61l{EV zJTqjWMQ_M|outp-c?g4@r2RGa=y{_>+(tj7TIrX6$^yi*)soXt>=eX3N?M?l;I)hN zBkYOzJ`n{7OV>~*&8PEN{x9Wb?rcdSlZ?d&#V+3M?V}4ecjA$T{TrLJ-Z#(oH$&Gm zr?-JOPnMY!&nGGARc@4B#%(R;o2jsV(4F3H{^Z`-l0DPO@0;C7CA!i0g{avydH}im z*^$HZwfM|wNXb>a1ivTNW|vtjX1D|A#GI1kplZq7n|$5Tx|P`U2@PR7<2=Q{7etxt z)x~zDs8WqJh$?EQBulE*i=`uNr92f!oiM8?`Diaa$1 zJO7>SbY_Drj_4k0*ljHZvE#btGSs@>WmUVCq=rl@Gb96JRhXXz8KfVodvh-YKD~8) zl-&Y0jLG9yn7`BO%djX+)C@l3bE*4l#jTdQxkJBvE{5ppCRx%L`qC$*7==7HN;dn6kk+ zqnMH~?Ia-LjZG?bgvk5LAk9749D&54D=!SwnpGCU9!b=t2a_M`jEyLPf}wDEbsK1< zS3}OG8c<=;m6ZOZ^v9t*aum9%5j;eas#kbVwUWJZ1<6OCGbp?>)4Ek|4A+O`R z(6}9LY_Cln;P}*MbvJYoHOb^(*3Ts|%l-t3g zRy@AVB95^SW_og;V(zvpuxwf!(qf+$ZPQ9qb>wZFURhaa@n zZF&r2N7pV`3o>BNCrf$R6zy}}3=->NH}7sm$>z|0t@t72%ieC_bzC>+YA62jeW6PI zg$rE0BAKgbP2cOxU`tT)*K6_CLd|dLwm&~So0;cUPFm=&E$6M=^IGd6Z<+=U1|8mw z%?$2O+WO{ATeYela3b-ZMag!mb4FST^7MJv*TM!T+U%CRZ~9^7UL%W_qXmhM_stQ$ zocrz9h{2QNcO#Fn!H=wg6YRaH=`b?pAvRp~Ld~!~=~3;8yYBb)Nl^+!Y=$UR^f_jm z(vES)k5NMA%^@!rcf1|W%PD=j-m(h|M8W%?Sk2XIuK3uNa9y+^HBUk!Mq+cMn$5Jf zW4fJ?P~`4twD0ua?JuAZdJ|+>maO=l5i~tw>#UpOa$5IA*xYm5pG;O)!W}QQ#N^T( zxZIOVyM9So4{WE}#Mp4OQ$o6ysK0<%w$^re`ho*oSYK!AyYlktlX#kUFPS^*i^9GA zY`W$0g{qs6|0r!T@dcy$?6qZhPo!0~rJ%Bcj|1+qiS^|%kC?#U?GzoigW{WghNv%VvZDstjEk@;Sc8w`K0*@+sZ z85ZH8F~}w_Op7%YPQQy`J7e9TxLXvnj5x}?6L2#4?L7Ww`$&9vSCvLaHj;w15Uxfs zRk8{%tzIad@tkhz957{b5E=(0_FW)i-3ptgtwYf)|XHv-15Z08SM zSgZuq}F4}wN=;J&08kh8uYh~$=IISw1aNp*xWZ3c47*qR@2@eSm8V*k3@ zwxFKpILtP)QMX*4_*T<*74Lc#(sl2EsG2u^HHD?SS^4pJ_dz!3FoEdcE z2lJOhu1N3S!Oo&+LCzBNXn)?Fw0s#I?lhaQunF9us?RgV4jg@Y8vPEdEodb#V?@3n zT#|8r&CADjDxN+ey&ZvauBbEFUt-^O;JCtA!q6g_4IIH5OJUIurr1iAyObw@?W7Z< zgdIl041+ZbWH8}qMR7ldqPKA>vJs(15m2e_@u#fmdUv>!U0KLiUhAs^t338XsE)(4 zrerFHzNz|TBBF|v>x5qbZI)V z$Acr&4pvCa(5>@LW-LuGQR&EPUp`^3XuU>hX zMYzJhw$)PuBgHvBT@{V8&FdBeT-B{9t%n+O;}I{-KC^;-gqFkWEM1)$!e?dy^XkUW z3x)kSmBI^b(j%+oqHKr^Ly_*ZEEG_~q>5Yuj5Le=`P>lluk^QV*k)w%4mOMAIIh)9 zRb0F4(1S9w%=|6PQ9@^NnWHw3qvVHnR-)(wh7uFqt=H3+V z`uvTHZ3r_Z0%oDH;&mOEv`<@t(3D)G@!wL%#~n+~yS@#7*hNa*bnk*sb{W>B1)bXE zrL{em>judlG-_{~Ftwii;(CmAECq#G{SH@&D>Da)lwp55C7AYEbCF(7db>P!kT#U* zRSMqP8AxQoSb!jLP9Xd6oz;-mgt|(gliP$^7B`&8KG-ms1)~IMfaZ%mNM8F{86@wO z!o&eXiK<&{n~<2;Z_=O9~4$@tUE|H){#pq&xoIa8_?wX z;aX|4xXi2X)N`R5qusi0D~%}o9SduWq(ubwE}4O&S0HCva###GfBZdA#tZ5Twp6h3 z7TLcRqPzmB{(R$~1w|^NO??OhS?qnXDb!s!Cu%27C3nQkU0YrV@xu1fN`Lf7=R)J8 z68L}wZ1+y*#1$+z+Yco(rzVDE1Jko$fD2?&iJ0?=(OQR#+AmJDXUNV`UxY2m@QBrV zU*aYW&CY&k$fn{d7FKkP`qGMc@^IFs!j6aP3*>nJg3;b$pfTCM49@eMdIYd zb;PJkM7C`4!TC?p(+Sfjg-$#x3AR+QSng}YG?Nptw)=iNRzQw{Z^@u+pbb+wx3daR zqed$|QU7wl{xra_3KA?Ot64xKaJ|9DW{sD9{V^A|R*nHHEnC7x%vHn%q(SCL*wPoG zdh)7PrQbA`tHrGGwHuK}mF4~z>OY)WzL?ZHhWh%Yu~&HmY3_;BIxzkWgKgUQk-?0A4I)By72NO1I|DxctHSD%gn+ zh-_s}#z1#gHow*%^7>q>1mdsGU&qO&?~=Lw{u*#xrW^i0^jo|rRPhQ-Fc8=xo0KCDV(7rDFjvse4u$CJa?i;=Ysh2F6awQARMC|X6pD|*6|W~lYI%bK=UpUxG5*X`ds z*Y`IoY9?ceCfEciJlUU7(?4_bdDi=YQM!maf<7(Sv98e!vUP&4Y{!kwA2TlrtTJ%v z3lvwsvPWYyHL&zQE0m|FN!;9@U)!CXZv-En>;$obQ24mL+#kK~+^%m@`VeO}xCN{- zz2FTdEwX%YR)gKN8g{cSr{wS**BcKy{$S1Oa%X%#74^v8Ldy!2WH_`jc{nd$*VPuw zuDS?24|-blE7tP17~rk;$L!2rF1Fd7g{@r0TPVN1=Mn2!ohTGxGs+$wwWDCIq_@`$ z4K0u>{Hg;lAK^Gp0LV42Z5e!mT3|;b8Cx)%$cebOtzn^KGuTo$d%eUhU24b=4RfSSO83)%gKF2T zWICBznNU66h#zkBF7s(beWp8|jSW2&N_APd?puIUb^2Cs>g!d zO^(;yoU!?w(I=q>d1EZT-Lk_(9c!s^8M`lA-j67 zz`q;z7May9S)x^-)1M6*D!UA)AvWHfEH+Y|4~f6-TH{}PH%dqh2CUmZdw3ljkssI> zpM=N&rvQOJUX3q>x|_b#-z=K~yw4A*p2t}icm*Ei1jiI|4Tt~<5lA*e(PaQ6OU24% z?2ahH0c!DZCFHEa{YkAqPcpTR{fMM;9>4X)s3i1v{=V((md5dV)pE|9o*9&x+`pYl z;svOXcgEj?Ah+lSxXCY)`qcr+8=nJlRbfLC-USo1lN>`a8P_(*qQmbXctr4LR>+oxj|Q8E-L2Y(l*VBN;x_(6 zIs0D?Elv|MM%9wGqU!8Us6^D{iD2_nF~tB2>qp@7^?_X&o1aEm11trwM^-bE+j@(K zh-1G+yp1_Sw_==O&s2{aF6%1pb9$R8NMa1y#`b8bou7L&aqDwmBUWQxTVbh8mWss@ zH0%Ca#mt#8sV37&YWU~lZ;$s;NoHYK!7P11Q;2X}$86(y^b}^A%@FK32M<85A?a{n5vi!?vROL|A9W$_5O6o^hSR>cxPFBMxzs-|rnL*6#JE^-hDIL;av53K4bo#VOJ-hy{mQ`%%wS<8 zSZ1X#EOJe|iD>j5v@!1Muq}|hNW!)V>4z{j@@b~;EU1ulBJ@h6nHQm=Y&g5@vvIvw zRGFAY?rhZ#8Pu5r;Bat*cHbsg#ze&+DD&Fm4GZ zlAgeuzCekLY?5T_N8=f)AG}Mu!whmR4-Gow8oGVj47MqVC5`ATpi&(s1-i)40!0a& zc|}E4y(DZMm7O9tyd>mzwu?l*_eVFb*^OR7MdO5e!BIpy12SY=whzcdrO2kMFw)zI6)DL z&{##dL_-WfD3F-cFBFROKLtn-3L*f4F=4TLpqrf&pGPK>9Zwu!5}K}LfQ#PN)DM%Y z*2<0{XXLFLz|HU>rqO%|xoq6FCLt5&$Ou-C^Pt~1L-PC|d^FdefLa7jjrSjz^gnp% z-vZ#`+mkEk6o!YAi95N2#T|nq21GMvuLW3*6hR%TXaS)}RDS2W;WY+|#Qwww2sLOE zljgfA8^XI9!e`LEbep4xCH^9=4eSTdYC!OoWs)b?=+GOqk{0rc^g1gm04Bop=QX2~ zIC}sin9gZ4$>BJ)_HYXFnCuuN9VKVdqQK@dI16EJ_+4wWLD1IkcotPkq(mn9Ucq`M zRA?=E#%*C1x%Jr~KkB3g+GGj`%vzRZ!$_oBc*r$eNVFz67+U-!rpYX(NhX8bKtBM? zvLTX4oc}(BLGF&?v>Omp&>(b9`+WnzWVP~n;7(m$@2lsPK>ACaZV4COUn@->tjwIb0>e4f0LB#Q5e0}*>S373n z7$97t2Sgh%me+b*Bb*uSAGbqF{CGPc1u{5m@jpto)i)dr{{ddfqQ<>w&0v4uIqm;Q z*=k5@K5U|z18JgT2c0)!9hPf9H`M6(u-j0tXJfpbUA#uDb3AfHJ3cV_SVt#1=hb}q<=lyI%l($V z*Jq+z#I_giM?{~5wX^063WcyWGF012LX8R>Fqt@4IDv|j+_-#7&p_B$^pFr9P@Y5_ zwJSE56*EOg^v%WgWFR+@c&<^iLN+Boc?u0_3xYL^nTeV;fC*FzJ;PF3+G0?D0GRSe zXEeT6mz|*q$o(MYBo-iq+ZS#c?3j&q9B}v7TiOY}GK0Y;GC;cog`Q0SJLq>dKKr_V zYYSKomnOzH_OfS;UMVJe``UnWoeG|>Zxjsf``Dk?nyXa`3e0LA!aAV_II3rQyIEEg zt9lqfq|oD3@UhZ6kSMU3%#Vc|@FyawVjcw4B8x~^CicYDrY%Xz>9d@jwWoXKa%?UN zHTii)>Wg)D-k8<;1qrbAh!_8Q5fZ#4l!Y?pc#mrv?R!8;y7L}27N6ouL=f=a{T&n- zKWmhRD)fe^`!f#}IdGzvrt);HBk^KstkzlrDO5k*(0=DnlOxeKEna)%-H(j^g4E&g zU#H1$~nYbq-tzAL^_&0)J8a>Wp;TWor6 zD~a4(;GxW&*7r3Ip7t<2pI3tIE)Hae^^!p~igBo?KNRfQwI_Wan-4BrNiwwH7u=-G zaKg%cJee<F=#yx~sU3{7hAZaJ-p8cvwzd;d*_hi$;H)+8`zRy!` zZOf#o4E~u^uk?dd0?@(>pS5uI&%u=#8^5LrH(Oy01*cdGg6D5njo%KL> zJkLn#TW5Ql+-7dnMcu~_Jjdb9qB3eQpI5aLnkKBj)cYO-KXan^ZX|Y3%g*C=& z#R*}nYVGSdf(xL2wuf(u45Jn(KIn@WZz-^3s_3LA>vJOdxcq1x`*P*@Sh=x(eY26W zJ`W{kjx085sK4VdYrxtjE_gS26M)#8rYg)#iDsC&Q+jv0A$%*)2E|a`BPu^AveQb! zJQ4pcJ@!A6Lt<2erg@A*LA%g!ysA%#qs&qq$*I9plp#SPG-Z=~xZLkiG9?N zN$=)KHX8=}*<5RQ1`D_oqO1XmwY^>zItda+&5m`EkEvVvjeIsM=?InKg= z;iVjy)#rU4pZ|@Q4klEvWrHIMJ>#}ohzF{FzY-lMY(<6*6uSL$97i(6yIu^sZv>s5 zJ0U0=nF4%`s$NS;9;`=Tk`+ekb(`WV`d^^GG}Q<=VwDH!NW%&zb=D z4A>J>hvn?#WqbWLrmIVba?J7Zd;0Lj*|1xg zS}pM^8jxr8p(qHLnK59IVc|X%{hWd$G(>eY`n(4<9$8QMiy2V#THkrL#q;*=r7pmc zlbg3BYrT_EPASTZ2*S#VQoY_vF#CxmCI#=h?WB&Og-MS!HvQkaqtk_%!GW3_MAq1$ zPhFuOK`#%;V9ilk#^_U)kAOiuY=JWQlrM%OP)nW_#y+}WjD4pohaUBHF2L+}DI%4d z$}RhgQ1vd%lH0>rrx#q-=uO+p>kZu%zJ{%<40vMdD%ADc>hqd+3FdbDo~~1u)3VO? z_Y8G)yG<0>l!S9dl#nHlN`Ru;?JS!h>MkA)8=UU{n33 zPl}wx(zTa8roZT!5=HmQVISteDmR~kONH!>e?8~5!y_qxGDjxwyY#8A^w)->EIpKKLr_n)FTnXYOtt-)7NE2{enk?mCHbWe zYd%koEz<>-Isy+LyqU=yHhD{Luh|&-VbOO?hxmVv)EaS!^=O%w2kqLNgQ&|oZWV7> zozZQr@DWGXv|__M%Px+dU)kkT62^yjL(NskSzBK?MmWuSo9Kwz$kd9SmY`w{95dcE zgzftKNj?NV*9y$&z<;+{giRGhA5JRfRptE?{IyJXz%@CPJHGL?GumOSG=3R3I@9+C zpe4$OHmGC)S1&y5%L#XYNg6N3j5vwHlk-`>t_tdaD4a-!AAuEFI7IxkeQ2C<<;A-U zJL+8+IQC299B4-Gkfnj8U|KUL0ycpm&}AD&&>V}{OWu7?`4jk?Kg(Y5hlx0Brk{y` z_5TNK`!iY5TTtZ!m;Hn#VB~l4vo#)>c&s-Y z$Et-ke0oz<%5GEoi!@E0P~}jF<>i(;hBO4C@k~T;CbfT2TQTICPw?0O8Zfvsp2|vns5Qpi*=nIBPg=+G6VMBRLA7}dnF8? z@GUuo=Nr)r$E5#zOB3ETNbOzO4JGUqmS3T35eRGmQA^<(1rOsO*)Ky0HIO)K%q3dr z7%0M$uq|F^bM3YpdaEM6{kn6=|2Id0CY}iUxK>dt`NM9`!zS*4Hllcu{wwsu(7@*2 zeW({pj#>O4wumd%(z0l;f1qK|w(MG4zKcfk7s%4cTH3iMatJ=worfZ_ue*iD)z z%or^IHv>WtVp9QXVO56q(1b-Q>Oah??f3~!C|{shi}><<`cTh=Ia+nWv`G|?1DyI{ zWYQe_z(5ifQqlc|zk>_sBKF+!t^4JY$EU1bU>=)+tW>&@K+z^7r>p6UtwK%lq%@%a zaMbr2F2;;dKiiV0a2dI*=}Y-ZO)5>2CC_tYBY~inJPot%s&ZW>Y3%qEt}F#$@>4Y0 ziCv&dmhU&EjIzSU3YMf;PCQ2%>YG%*M&7Q5FK^}B<6@hKth7AstKYtzpSrzKRsB9c zbaE8t#ng}zey)YLho1S4S~jHlPmJi_Jkfd`4k3a~6JbqJ-z9RGiBS1oNqR1h>?z_@ zb`ei)y*PFnpvtXwiv^*nvs6@)@JwoW#V68%7{mt^0fZ(7nrNYL^sGPBrkMO+%u_NF z?AJ^NpP4WIhgZFsgng9|fxT#oJ<--@;(V`MfBE55Go)f{(?&SyjOEo3riFIe4kR?; z{7~)0ar-@a0!c3&`AlosFci+>et5_z-#`9s&r{U)!Az#{8&CuPv2#lRuHBMqBvqY#W;(3S{E2bGs!_+5i^Ez+|byE)3M@qS6*m~_6W)1@U+rWQ1eTLo2?_i zww&a!xIKX?q{8>3x8TF6XkNJrx#na*TvU-$;D>;-V|gY1{vA1=1~5y>Kq;jsqZB0S zI2f(5fa0ufC^l16*M4Y85u4~OMG!4DGUfZ;I98KTwDgc2>P}x&0nb`)l5C#v1oHj_ zR38yxZBkK7iJGkckrgmO+s_U}piQyI*r$Z@GY<__f?*|#gF$wdo(eS>FPl)vR1*DO zw-RfPzs+D*)jCVdd?8wRzb+S{_`KjOVW0k^B=pb6?86Io>z6hOUy}a!8wOi2G-0HG z6|3`x_B7EQR3MGXZ7jOsL{{RS%98Y-sDkqglmlUtN%EN*W@wJQzQp388RP@l4szUl zEX_q+osTzmpPUKKS&P#H=~I6)5j7J%vCi-ss!%3lQ7?3JR&QLfb6A{7p4j|h+z>aa zP1^qrY%Ka4*ytWb5S@t{Y4ATig()wKHWZdrC2;cN*AZd#zMt#1c=y53G1AWt^`P7^ z&jAmN&ty52n>NMj`+reqbXD8#mM*;fUs{Rnw`@nTpCrM$?)t%vs`rKY#*|DRQ=7K>v-Jorb?dJswAmr*M5Z$0a+V97~rdsX1S^{mI# zg+0x6v0~mXOc4nGhp@K_swUV_3x_vpY_vKv*4`z?s1JVI^D@4(94WypT;)g$2dOTN9AQse$%T6!o14C*zB5{ zdu>I$`cP%?Y@EM5Ltkp_oE)LQ2Dx|59={Rq3@>iT2EFNYd?R-0I(qBMQeuCzSifz{ zt7Lc#)r9G3y-%O?IErf3(Pg{(L&>BrzjNU@AQpZVtNhMfiMR6+mRx&1>fEIhn*J}- z6f>c=%T-64JEmI}G89IrLP9ZBl%vG~Tsn=s`ko3cGkexEgg>1*`gW1K)pjA6w}Hd5 zx%x3x(i28nBYibt3AfQ|d_q`Q75VhIXxWb6)3-b{y1JzIZf3A5ILiJ+f?F^TDGspS z{W55-QxLNC>2lgY*xd_f z*Z^@%;Ma((!PHT6BIIc4WeY1HXPP}J`{eq(1Fw<4iL3DAPcnXc&?JG&F`KGzUJ7K! zb@aF>T6Tp$%?ct^UBkG27i2ZY&8^>j0mlSzn=enm-l{ysQ%CNLj$W1b z++$q2oj@zs8hCz+O8ln=biHx>dt?^yHH0jGY`4R!wCH=%bdVni)}cOpW^CGD(;`N# zy`eyVKRx3byJk+}+Rk)3t()CG+ZqIRM5Z*aO+nj6MY)sT=xK~TqpSx^vS!<4dhz!k zxA9xox;+oK{^VX6Suw~X^L~0;^D$v~@3KL~y8Kp_1tg3E4z-P}T;OAmNvZR>)-uqk z6$ko_IaV?OO4dxLc(LO#G}YkhTK~F?b&sq6!)2T=O2P_TCt@CulPvu0CN6f3KZIkC z7#8O(O0Spsqu-R{Z@;N8xcir}(8VBioA{;p1Z5?4*|VRfL9gpFZO2j`eWs#wr@zBN zH$UU!+d}l}E+M>TjKVUxUz)yHd9WwyT^s1_!&Uz30=YiUg^n__%s7Blx=<@GbffKD zJFO6S=C(8qr@U^yw`pkm2-_w^ZlSA(tAk%G`+y0Cu5txjSScW=r}(4Gp&LFzY!`eZW^*QFwc5FLfPy{rEX`B0VGEE&M!dL1wd=f zor%+Cqiv7`wW|XoBsejLffsIrx9oRRLiR>hpm3acZA%68p%VSfg3wB8^I`?GKu9Zo z;+1I=xp`SPH!j5lRe!tptI&CmBO75dNjl~Xixku(sRK^AqA{KWA8~*FF7}t9UzGK} zjBxuF>9Au5ClWkq=`bq2FCU>)hujVWs-0=G-s|3hX)e^h8T{YJGslxo$k#O%_-ZuE zBN`T&=%GjugK8Y?*arxp;m*8o*PGdk&LQ49TyKN8UJtzIK4!7@+zOZLPtW_y95R+X zHJ5z@sJPyamhF_%D7dnJHpc5Nv9k@4*&>Ctm9R?smmhdQjl-5W{H#l^5-<`|h$4ct zqkZBeSiJCwrZ(Ibt}JqQ9y$*neo*q=S*0~wD~R`vBBp)aW=8n@Iq@8<`~Foa|3&#H zc*!0PgWs@^+|J>*NHQ9VPDahF>Cpl<*EMk*_MlWFR4S*cVore_um}sk0T{h;lR_>+ zXFjJ^9j;%95rkk(Vr;9PfidLVw99(K2xSa^-kl{Nw#Z81)G=l2*T97@ApMyX4tUi@blcFwAEi_|&mV+`7zDF-lZQ zPj=&lH{!)G^B@g`^*iY}EtkZpi)UlpGk3#l(HMA2rJ(~LlkPFdwrD6+CK56fYSK}u zj_&Hm**A!deO0in6{^G-iHWA|JG4Y19{CyFJ);PIjrpafQ$bKFwp58u4Wa^HF|RM8 zr$%Yc0h!E;F@N7#UiN9>rIwxy0mo;&gj7kBF~o3{d7^g6XzVLkZ);%vxIPkFUprm} zWyO9f?r&LRHzMTqzUARxYk6@x2(oGC>u*nY7q7p9QXk2dK`m+_DKYR4Tmu1R)jO*m z(SdWKhAs2*xMBYNcm}?7`ji_u^MZ2QJdqMOUCT2BDvwuN*X}sri;xtEaKnelLQ|Z&=nIJ&GDbd*GG+ zJa)?;Uq0)g8JFY$+j$A&W(U8T#nLG!?(6GpOnR!TADiRH`(-gOAyd6ri9_V79N zs4ar~VV}m$SlN+JVw~yz^g3JBya&>dq#vqW2Q-lTAGI0&AGP_}u&3%nQo-%i2l5tY zobBmSbPfNjGmE^5b-mIiUJo0cL9DqFTJDV7crep-t+EQUMBO9axyatB*5$u5QhC6V zFh`yBxiU(&Qf8N(9Ja&aAC25$6j5>)d7$86(Co6^FZs?xqpD_|6K#za~Vh`FL z2?mR;5XpNEu>khfL0+K9mO@{9KE+Lgv!|SbC%3rkmT3KSMW&l z!s{q-rn~XuAt@HGZ=LiU3POU*G!y7xVu;DQBjyr}Ff_qv!PMV~%~whjhB97NVT z8#C}kN$t^jv+$CmHOchejZ^QE+;3jgE!E=!4$mnkW(MiPi-3%4!Dim-)!4lN{=}&* zOG9sc$Kjc&u6Ojs{>iAqsr6NcW}rpZ;3L_s;regHfPVwO5@JH_#cdkx_dk?d$jhR) zG)&C2hSRrB|6VoqcyS~&Tad(VXt6Y80|V`A68rKj(o*Lt~>yjufb)VTF_+4QMJ-Ra7{#ba;If#d~_b-HGYI->`LbU(&%; z-Ieymr2WZSvyJuuuf^EA3n56HKb73G!%(jRM^$PHFL(Llq97w%pH=C9?83>HH6#m6 zK;I9FGPTGPG1DHs{vuS}Kv{Q*3+cubR9`~=pzcK5HVcl&ZY=f)Xc6sXhg z$s@{h>gThAHsyHVpg+je3l2y$=6#;wate9_g&sr(;ttPuMK<5(J%N7CJ$jzQ59K}F z_vjCr>iFw_p{WZy6W1u8ZaQ?kuQNi;K_7kA`MUgZVU5M#)wk#%Q)zk5!8eZlgjt_b zw7OA{-6z2kTA8?eSX2d#BF&nfc8Z2VqIX`@)BmEWGQiPKMKIw`>*KHwbR%ix6>-!H zN=XP>p{yBytj4h{AqirrS}`nk0Q3|!;w6jB(vmP1@qRO9V{klAxpklr1$1pL)4XQW z!Fe0lDClR&SzbngM2U6nJdfq!y& zJ;=-BLD+1Pg)cvctcipo*DM;+0|yAm7NfAQ1JXWKhM9y(>P*U;D`Nq(G%{8cHHZN+ zNf1+V(-vVEF6Ro&h-EPHcN|W5CY%cmUORWEnhW>H=mh zp^*1KnWl=kl8u$muP-nG9-fDhrzmb+&AoQ1AvMynmTEtXOsdwngWG*Azf8wgN4TWF zdx?nulrJeI^@#?{Kj>#mkWe;KHtO6Nwp(_u<07k6)bq*j%Su666r%~u5;Twe&y04l z5Q}Iu_snABen#V#ClR+TJ*oQr0g+6bF=~?%Ej1-(J+yhZG%jq~Sb#Eae+O-qGj|ml z|4V&CgQx4mrh;arRHzMMg;Xf&0%?=7_+KxU6ICVDfm-!{JW9l&Ro%SkWk(jLf`&4m z#DG82S>*#oi~KNEkYEhRLV)J-3hCYXbm|%BQ6{S*D4T-1si;iimnk!vn6HYF2>rGB z9M<+s2C2vE0UhOP7GI~5L@9VFzIYYXKI3+w-44u)+Kb-54KOPl{RfPq^Mo`!J$+=C}BmX>S zv1FWn*Ds!xxAw=Xos1~aUywHJO@Y`|P3xzYoBKlACmntnF5HCdE>Rm^D{E^TJnr5* zudW4APq=<(ZhJ)tO$g3+QPwl&n7{V$d(7I`(n=QJ-|9Uts&;zw{4%1>N8D*-@1y}K zmQY&w1o+-deC}QMg|yTMDtRdkPfws(2+qb9UH89DpD)yU^LVY&3-JkLwYBA?cbsQy z;P%m_5$+=I8tpoy>smzc>iRG*mE_X7IB%R z-Y6MYR!;I;ldpy#*qkk+pawCt+-VZ@#cH7sQsMeCUz31d-r#gtrr&F9Y>ISQrfc0e zlzh&u+ACUrgoF?MMUXs0aeY0|rBjT=nivW(jtuP!zKuRaz1^`W1NC%{c|R%7ci6DH zNiFGi_sZhPw0L~?d_VHt>vn>k-R3dv>|UnL;)kcIn^nDs$ya{=j|!<~>0@*Ln+Xk2 zSN7V9t>R8>2;%TFQ5vOm0~7O+d%qa9A?F`vLKO~y8dA&@AtT+?gV+mxL zVwk)ML*wSy6qQ5{I^Es8Ebgiw_i!isqrZG;s4yH;SXgP4u)$`j8)ew+-DXdgH9Ey5 z!&tO$Ja8}S)9wO04j-Jc6js{XC=~NAH+!_%KEOyHvxet{T^Sa;xV4C%7^b2=x2#5S z69fEVbNP{8^dsh(VP5OEf)>+7tt3x3tyI>C4f;Zh^5Q|`mYztRG(E3>$qSh(!gqjfT-ZIXfL6@if}t)DBwC2 zFnlqfo0%_d?Okm#He<`%LoSaY35@5ViHO2&qv>h{n1_|JcMy`w-YstHJSg3MZFI;85OH zT1*d>tiTpeH;>>@X6)$WMOHR*vG`gfFnB zB?S~AC}tI7^i>N*mSOBEVC-3;mI0B+{<2~?md4|$Lwcb);5Q2c>vxV#k{;KGMv|`Y zkE$%A#3{db@HL@8Un!WgxYkLHDJQx%+&mwdom$XD&6I&v&{~hNN9m~bBp4632yP(Q z7N0jKfw3p3#m$-Kt1H;0$}!K-LKv$oX*gc*Se&S$+(n+yuZ`}Zq3OG<=l8mX`z-!b z;LjiG7%LdkKBy})rrbHFcvho@f-L*icv|QYc z+S?jEd)A>nC{8+rRL3+ZGe8_rStaLaJ4;`Kh#q z2$dehW-I%uuun-yO1Sx|SYWZ2lWMuH+KOi#qq1w-+q2sB8dac{OH@+>OVQZV)s*#> zLzKx>Zb{V>AaE0pIZMCVnrE1(RTtwE6LZKU1gBE_=k?p!5oo8cq7_jZC<`E)fCDEK zXw*rmtX(6Ux9nQJ6W(Z=_`bYlaVLj6{EyU$WaTFfE8pKJAr^PgQXU+l>EK;v!+uI zCzAm=$tvc2B=viGVwaJtam};Qq@4P&QLseF)r#Uk=V|3iDV+x0=60w3bI<&8-;~Al zTpq6Dv@k+_L;T~G<>nr3yQu?3yDz4gu;x?qKOcZAo~4kKn+O&AGLaKc!iTgRIf5zv zS9i_2-oD@Tf1nXSke=RBs04HKKr$Xie|{Q4Wtb#m5hn2L&rQVdCK!n^fL=jBub+Z% z5A=PHx(iZd#C=DMnKBb_QWmXH!EbGf6Pr3Ngb@VT)Z?gMm;W+S_kE3`V^O8)xdA;f zeci%bp_2U<;XCWGgBqyTnV(8%;ksC}q3&RJY!%qOdfUO9q8eS5D_kT!mcHFU4JI~o zb#kS^4J?#b=ly=@v03>J>*eb?Pea}9M!#qP3b2# zPNzggvP)HPSbR~GAB8HTFD4sv9BBWVB7kKy2U8uTKupje^pO(h|w3= z$1GohalhE%Z_~imk+yv~rf7cb@SZ8{mB!n6n?5vA<3TUn?Mj{yZ;B1*?pfS*@e@ZS zm##5cL#x}$7vCvHprn(4oCJ?=ygUEV&>$6(!~-YH?MPl{LyjWct-VJ!=}Z=a64Tqa z%bDj-y|3;F=mT77x+dq(ZI4ik5zA|-ga7v19Fy-Q)tgA_&?6eeSv-GfQh8XnL1;Y~ zRIQTcXDs~{e&nvirW;HxuWXbjT-5g@i)*=^_0GX~YEu~J$?S<0ktIDv6GvlIVz7F6 z4IQg2Si7F)>3|#SB*Sp1K!oij%!;+W{pE{#j~28`1@u`@6_y1x$S8?&ZEf^7|3T(K z)u_)dyeOlL*tU|)n|M+d9XHT0ey+`MEXg~^Qh1zC}`e^jb67CLc_1_GVAz|bTWvi6~;vE#Xo$E&#>CJ^`BQt z=wYr|{jbOBzi$-Y)Oz0bSoipQ$1^+}6sp!(Mab>LvwgAcZwZqxS&c&h593i7!rlE* z2-q26CZ!ZuSIGSGqY3`L%*i9L<4!sK_JZ31UB2}e@2Tp!>cW!;tP*aqOtqj(AXSKE zn(GO2Gr<*7cPvDs-21CNlo-Ni#2utf!DtA*Ozhk(G$BArt%9+b?;Dg56}qcElp2(5 zt2Q`!pRQe?_oZV7G?eTFScm{Gu?ffzQERel^3)MGUyUQD&D`dM!uUB|8uAhf5cP0? z4}bqM4|L^v(oR}?lk7x>F3K_{FSIo-_|DsB%REQTkqqck9EO#WY!@@G^w*ua8+(VU z<zLbL}7qY93vYpaE#)W z;Z;HvwtV5s>u9oD##jC2TD^ZoD1fallGyL9E}qzU3z3Am3EN$NUAXTFvSaW#%Td>4`v8=E?Gk@Az8yH1@x-U3=aN-wpl-N@uX#PZG+%U%pAmn<(~-p zT0Ih}D@|*|+~WpU%TRrBt5xO1mppz#&4bz?vY5Mn(-K}e9CUZr&W}gk*yri}@#;z5 zz^PdS8Y1)^-QQ%An@9Rv1hjCqU8ctl03M`drv8&Eg9k~~ z+j?L@FMD7J*64WQF>swJ9T^d3tS795=GuQ}t=y&vNW;9!{~AX%PNwqV?=%v3*h-E z43%fAkeq)|;G5lr*3FAHN#2KVmLE|tejiaVRo?m^7isGc$xdXQ-rK@5vsdDcb7|wd zAH0lFTvw}=drIS=FHFrfPAh&c?%y`a%|Gx*Q7G2N zU$!2)Q*2@gmC8F)LbDcHPFz-1w?xU#jSku|I@#4;75(JzWva+t9XOfzW4XTkW7hAl z+TBjFt3W?j$t>vmbMDn}C4o<@ml-W#3N z9>ngK9ABiDy}VAGgUq(alI^C>dY%EhBnPiyb%EzSh&Znc*`E*iT%nD@d3LRlbZ@P( zHn?nV@yiV(KIN7!Ke&FLl_!xcHe+~Vz|AAj=$t0xx@){T?2(6jZvjlHevn@{r&Crx z+Dx-_cCCdYm}k$^k|Jz!);^&YEZSF0*y5i6gJJTi`fvT!nhNbQ>VbL@d1PzZxk;r zBLfbIh$TOoQ3^GVSxtfzF9W2N)3CQg5AAiX)9bJgx4P;gA-#--@l>_$Z;!)ThiN={kgC4RzBc&aLtQPI<$okL`jv}bwiiC< zQ$S?}6wR_}cs32zhh2Tl0h7K9`cbThs{3HG5DP2LcnAJwndAJ9VN-Vj6Mz zwstW&W`S`qRzd=E89UOFZ2mgKg0CowkyCh&@PonezJM$pO6 z-}PL(sII);FYn2?dWp0qpTnr*#0GeGXu~uI!WqSxKgxVQl!d=#J|~Rhi{qHe1C(3R z>G)o&tNcH@T;^VGF7Kl}viSKHPW{k`n)9Whk|8-J&`}Qw1Mm;lnFUIshV0Ao*f5~O zI0wMK_aQM8mHTJ+x#1W8Gj|PH1+NuV!^hYUu9LA@`WiE| zpt|V`cY|EJ(?$|qh~}Z)Q!EqupK6BkA2Eb^TilW765Fy(=h?4b@lv}*W@S? zw)l)P)O{zHgB^mgry;SR{UTn-dkF;(!rr-d*}p|xDS=oaOgbF>`joTwa51P-5P(SC zL6r*mtL;}>&@Y#7#P4`X&H?PqswY^J5R#$9H3*5c=C@g}iL0*)7J4C?#I(b&1JNSv z4o7g+LV8)MbC;C%{jAI=$RNxd1~SX-?PIww17AHB&^ZcW+|ICiecX-3sO;BQH#mPH z59yiz4VKiY)Xu`W0wy6@eOqL4qez+H5Tja0 zgrk7DZRMbT_7i8RouM6}CWew6KX(4x#o|a5snP42*py%Oeb|HyqLi0 zSs!sTd7{t46&F4FzraO(=g$;${qPcJ^lXgK!owmzaP8qc(^U@>#S~MH`oo3Sq-e(j7BnWb-nI{aC%vKb)Jk< z+ZCcv8a2!6UfKN=pTMeeo|eWw!-OV{wMz`IGfXGjIk7WrhGd3~hwE{0{alQsMTCPY zN*S5Sq#q9ps6z?}Nq`Mg>Wf{M=+Mz1rPT=AQt=r!DS<7d?|p4)!QVbdg>No5jX=m#J5g-Tv7alyd>Ha% z)(%?@_(%h=0&rrPpJeU3);fdWwKywh8W66%3`s>;}brL=F5LRM2zg=GVRI z74yOxMkHA_7$%VP!m_mj`@-2~6hPJ}6N|)y9?wXc5x)vm@oi4^vZAzjV9l$jnWDk_J@@KGZifd2 zPlvL!Ku9Ch(NhiwiLF#`QVUE{S@o{$eJ`fmxc(V}hSBWZ)!DX8@lkJqn2LBK;f&+q zXH!r}V_tLSn2ffmiA6jpMG>WDtS;ie}miSvw!jTe5-F zn-{hp?Z;YNIlP1Wa|7btcK)vE+aad+s_*a4Yxi9bRCt({A#WGcM0?P3L}H z-|^g;N(=VH(Mu`mFO2!@Y&T6vX~mDFj7ss^xwKDc&?wWg#^d^tU6q|p!8Ov=qQF|y z=B{GX1_;UEQqhS_xEeh4=)1$QX`2a|#> z{3x1;T3~`Fk@h1Y=PHUAz0U<_m7od7P)+)}(^?AFKU-V?p0{d%c#6xDfmQCU(G(=P zoLDR%10Sg(3a^IhkXkH|3lV}dCl3le35ODbLuwxV&(41@!sS6B3jG%hoz1)TVjU!Q z8M#C>4uS3jHK>eoatHBr^if|Dot8erL>rbiOMMTb@hqjN=-)K4d&aT0bVzRA8^4=W z04)NjhXt353JoBd>(}?ho@MT`u=>K`wkdHLP`bDuyxRLl;vHf9C`SOq*!SUew7$)w z-HDJj{{J4=K*MiFHg*Jp%HoVrHrpo`JNs{2&mDRDMNwVetIsc&GU6XCEI5-87IL&4 z6MhF!buiorg)sl$_B|qWsc4OV+xJxcSfQ-1+Ld_8UyyYp)-( zu}Y%DzDgD`unw0dypr@|4HCMXoP(25j#rKrud^ud567Q*&!WzH`YsbN6UUOK#!3%= z#HSja9W)74p$&n3==qO|21w-~+F?>9pURxF2mT)91&C@Y)Xm#zoCeg*$UR8Rfwwk} zlaRQNpdj8*84Pd70Cu39V+HWC4a74bw^u= zTeBzo&E=$Bg@$XH9Ut`8@{*|h?ZR}F@Ni1Y;ourW1BUkyH<_`4OJ$?6)1ij=Lx}{93xv2A+Fk;4#XCRRe62ecE#t&t1%S8y`B0U1+ePKj(+SHZ* zLc1>p$#0~mjpn2)mDk#bFd}cm+Yj8v(lXOOAAijN#q!a#xotglK71`8H`gn01x7c=aw)N>>z5CZNEN(Ml}AP%lE>0c#|Vj{;H%T)Zv_LS<#I`)q9gy~DH2JD z*t`@eGMiRYB)BJ2xN;L1C-}P|o8;pd`SUYz$6dSWm~F|-L$O?vkVx9tNYmUW<+JlQbN}%V$ zS<8E|!ZU=*p>A+L_8`FtDCqe=0h9ua;#JGU5(@>SpIjtCq8B~;LH;;<4qNt0zdBZT=o=iE2YMipMRtYLT!zh_WJxM)QA za~a$#eR=ZmI@Y>*b_>XHRcfTozUe zjm4-mS-4Uc?woVm-MK}ObapJ}(-mECFmVWo{6iTk501q?bRsTUQVJSPP7^DwJuj#C zAabt9FE&(_arE-`>eEkQAMM$g3}J)V#dRn3AK|@(x7^jQvuF40h2G|Eg)SA!h1O;Z zBMgyff=-dHw9)N2JjkT%Ji}@M1E64*N5_Gk8IMPO2QwIb+o71`XD>bct1&KAS2uSUDp za?RmB;(KRH{j46IzGL!o3bMmjdL&!gHwbR9By;d+n22ut3@PUDdVRbMDsYZ07Xv6W zJtOS(gq!Q7i`}j$^4}cON=)8qlQo%DSjFm?CvN1nS@y>lD3ve8m9%fBN{2u4dDfLN zi%wLlvpK?yvcmx{zzmuW(heRKw;2Fs%88PS)WaXYKnD-Em> zAA`;&RobksJo5&0-uoWTBXZKz4f=xL7nXQ}Bwz4O&MSZrMYZC>J5^m>{7==-wI89q z@DVOR&(pVx8Yj2R=N&lIUj>9=^G8zjD_C) z<1i}sZe^%+y>~^5V(8wx6{I<@k}ai6+GMKdLFt$Oka*ry6Ij&-SLAT1Ih+x~G<@RNL@hw4q{{~E3NAI1t<;b03n z(Q5KZ`ab-DczrO`q(KBUH-dqo>S!_dzyelS2a#S)O68(H{1{)VL1iMqFBa2A z!rj&uYT|a0jtWJ8PM3O0^Era)KmesWr0P+iI3fl|+6T%!W8m zLVZLJJIEwS9a&GnIkp=X5s^7e)102H2^hmoF^xq-<2*@<^KrUxE0MSb=hg@Cy^pOs zdu-^9!128+_E%F+ji_BEMI6r?YZO5O>+3SEN6rQ?${U8RFOQV{b*k)%euj#ReH3o) zd{*3{E!4Nkxn@U~Jw?{k1||J?qZcR1I>TLTE%|tkllM#tT71yUo!!`?`|Nq~lhuD( z5H&wMUgy6o?E0t6*=WCL&9`L4Oa#P=n7k$Iyu6v9rP&bg(+HcQaK5i;7c(B|1tv;6 zvh&s6CM_Qh=8r3h@?$)ljmhvE#lnI(Y&mDtktcISw1%4bz)T_o z=TkC~Q);W}N%C1)hfpLK1tt_FD(uIGzPd%T{2b|{Hn(os9;5!-NfVl)Hcwvf-{j*U z$WbJ#hw2_Pc6@Q4@%pN<3*PEj8|9KF`YVh5-KqWh()4-rbbsMa4y*Ima<>8VY4zzk zaH1_EDy?nMhX3^J%!Z&Ni}siHYf5j0U&d?RPE;CUppLv{k_#lorL#>S-~03I9k44B zF$%$%uaoBZSogViefsWlKaCxdJ=GFQgdA5;HAr-jurX@=yn~7avk7P16}ULgkAE^Y z<90_ zN8`dyP-5X_$KgHO6&%Sayhn_xHvSXc-Wo6Vk<%wODNxH^&}zY_1X|I*G=>{`c)tEv z_RC%KGn#<1 z8h&xCbdD>CGPDwzoD+Ph|Ih0^Xr&60VjRaw!cWQxH?1<&rMoxgcFO9{VC5*)65Z6F z%l>;&1YJ&wRTn=NBhqsumT@yu#$!syMbJ@%hwHO>Fhq->rYCXiySPcOXAONR!bx2& z)@@F&%UbD56Rlh$@2m2!a$Z`3EHgzdPzF{}nWIeLB#m0HA$wjr1J(q4T~~VMS;13T zDqFXHU%KxAZBAC4kiEd0jX`_!rH%UAcQ!DSeNl+*BUbm1N8W}`V1(B)hu{xgy1~>%&p3 z{$Gw_Q{ZrCR-nwj`L1&o>?qvXD?c})R2R^9Hn>W4BhtYjNk27IY^n74M9 zgd`INJ;_glKI>2rygp&MgV>Nj&1EdAQFb#k*_In&%o^H=+ zs+!yy$n55RF0~!ndxop>05(18;=+4RPUxy2cBuMFXbt*a7$SHoi3C|k3>p+;@u7q7 z;X*0DY~y|erao(2BW0(?zf!F6fUcCc+zy`laeb<%B;&yR#P#Rhq#ylz6|;x&t+D^3 zRz((jo^I;AE(uLLGBL%|5Mz#^vO(W*Th8^7W4 zw1KzZOK0DgR~d6TSwpVK(SGYs!}3yRCrRFWQXPWBjp9L#?A9g!z=)e9ZijCj78s)u zYLMa!vpB44cIEG9y^~HKBxHOfA}8$I^-KPNWO5}i76xjeuV<9Fl8QuT5{N4i5Wz>B z_5&#nQC}P})m@r%T78o?sBy^zgE8aLl=EH#%wVj;6Ny!tFF0xla#}dQB$5;~&)-Pu z%jZe|o0Llk$9fDQ66Js;l7^n2OHszFRy(D0bTPq-^tIX7o*HXk#)EY9Cfl(Xt0PdBhCbxUzGN(q`_3>2y*k#vy!<4g{gg`d4 zE8HJ!Up?fNmy%%Xb1(y&_0>uxx_}?PT!dmm(5cQKiKBKIEe4THu%ohvIfsT7769;Xk6FtO*rtL~L zr*)k~ltF2UOLJc@5!^;e%yR`(DWC@W$ITK=+41xC>z|8dpGSx5{lEQISpScHtFLh> z^C2!X`KdH=Q-ZV%hmd|D;hd0{2=8VcD)RgmbrxOGr*~w1b>Y&ERGEA9m$d)#<+Ms4 zeED%wR{5$a+W(ad$Id{!$ATSE#)PA&D*+?rM(RTqra%+L1Sk+poiuFsZ63heT8>af zEzSqCm`FE95JCEG=ok%%)A$0S9e)X9?6jt>f60<*qbpI0dJolfeK>tY1Y+jv6i+1R z3k6L)_Z7^Cbz6-*IQpM&(*Ie=fgoRFNGHg{1qjgY^85>J0+bqwLN11El$Y%v6{6dQK9WY$bwqRDWt5a&Up8z_k>+(16}DM6g)+|G;%UR-kAL`p4<_%P#!)Uo*HYgg zr!grb+0%cR=2;iwte(0C?Z5EE3Zd#4NOO3F@a{ChBC^Dlb0=?2<6G62e@U4hIPuaz z1_!eU9~~-d8wlOLPaS_*0<-&y&TO;He36pqpl{#+KtKeG1Sa&ht~+k>Pdz)P$kA@7 zOAV=tPPs0fmz?LidFwPDS*!no39LEUMeZIpaMBKl6!;*YJuIq$RJ8TEmmd-6gq};D z%cf18fdg%uoz5RKY%9+syLS*45__YJ2SC;mYE=l30QG<@7;(zBN`O@lA6wL?9Ptgw zsbfL8Xx2e0B_ z_rU}1v3B1qwR4#59xLoCYSY{p=%e>Z>@`elX``+~Wn9ExXC_+-vMV3DcC>5j+hj`QZCb`v8D5pi;tf05A> zEFn`dIL4M25d~lPtiOO-*Ng^9w1^y=Pe1yZH57*dN*-_kP!hJdbANnlhG-5f|7O^O zROA@+jR|~q?4pEGgxSs2D0;sJoCXg=GoSv}q@4$oYE0$B_s4)UhO#7vjkv(E^VzFk zI8Fh25?YmN2e`eO(pZ%_DxJK5vH7|Ua?mFx=adN>?XTFOqjHzg;-qf=Bt!SGaOxSP zPW3kk4vWxx`5MIpYtP@vHVW7NYI+qT}|q={7n5l!yK zge8Y=%W+_$jNmYsebHE0CnUa%=wrtq$WTa@L)j4fLGtI*`~kvuS^xC`VnAsQeLPx4 z0hx4K!2zJTWbhe}<#S{kXr!gn&u{F|UrJ_#K=7b#=RP9@MZS#jj4GP%Z^$OWbrQ76rA~Z(1 zvt*x3`ua{$P*J}z89T{-s6u3Cy>O9tDg$sF=1e^(%wl6ijDB3k*-&syvVWF;`tSbk z{j<=G#r|pk<>KA#iXVWq6(d$k=d9w6UjikTGZX{oGZerGn(SziEO5zE$n2+-S{sjR zIpuCI$C0@N^jrcK%|GIHcLcfc{S%K^tOqF}FYX9a{J(P&{}#*{Kt2-2r&1*NASJ^L zhfmEtx8GC{&lu2=g)=63`J8;6OR%F$7tx1wF@iLN;U)^frwzw{sS)e~ol!!gaE@LQ z(1&C_`AX8mq91}!`p@@&EaIy{K_I|0iq61h1rCV{zD`?|``6K`kq|d#Pf5$c8bIc= zNq)U#`O|o(`??IwDl20E=J1c8{?mZR<(!QTxfmdmAM5@>i;AAyj%(j`!7sLedIl%^17W<_LFb>2=iW&V|dvU z#@6{O+UpV)24a2)C0TAgR<2S?eJ#iDg8YOK5i*WNR*OLQw^ZiE5@lJ;kR&FeNSrNM#r|~&LIm#^r(T{XYS4$xR1g>1 zibea!M1EHU+md(IYYSREQ0L3Cp+W_M)sR0M%8Hu7$A;eg?nNjOS%H)(NlpZJF1(vd zJ)?Cmb6+exVMBPNZt^|jEVdssF*8&i+?a!*Z)hm4icv2r9ml1hNYq|FybaQgUdV(g z0Ls$!e^b1;1Z22;%NN6evTQH-R<3RoxY{JuJLv6%b-yl>d%Go$NEKsU3u)Q7CPTg$ z1dB`s^pD6z9P1l}7Rg)mw1vHW>RVKz$>i;FP0{(5w<%s+ziW|7X7Q#S3G*R4?JFx% z#*{xAj#F544y3ArDP~f8ky?16FT5y;2K>RHD`!y+x&ftxJ-3%mLyNh;I}sp15;G93 zpS>_Aj%&+ZbFgZ#E=2q9fGAr;_DNG63WjffIeMD(_l>8`JnZ|WxN zjEaB%<4+`*Fj1}Cg&wy#5K>p}*8tr7Pf5^Tj?7FSJ|r^UQp@$I>1sbbDk!`saRdVk+s6yk9;l+X7oY&KWv>-aHVaxwY$@?ZQHhO z+w9nO(n&hDI<{@wwr$%^{^Z5Czkk<0S}RX-lB!j;?s<Y zQ8>$_#zZY08V3kHcWPZq3Qhs$p4-8@e%Z37E2Z#ifrswh-GIg027@P#75UUUe9T@} zGsEw#jcIXHk-5m^_3q(81jk9|Q*d9Abw%A+vDU#%KG7684cyIa~lis={&Zh!Ni&R+3|dtzwLjKqW>@_%gmzG%@s+AUm3UYEVRi zKrTCaB3M{?|A?%dlT1biKPmVpag3T6ecf!()RNdf<5>%B3>lKXBU8cVE1hqWjs&09 z=HXNJXtG#M5JRZcg$#pAKUIZPJh^@owXgzJSYvzQ8bDBCB4xlE53F*VDwgt`RJd4o zF<1$4sd}IiSr_=xZ>3m?b@b-lvL9XDqK-Os7k8=B46;(0l6-*q)G2D9QS(1`TJgH(3^038v4l9mD#uY88!Y?M*~yrgJM zgSV-*9U_QLx-%{5c<;vJrcBaq(T(Z8t8HTsGa7s8n^IQ1{99p}oqg8-lb)I$xqtFS zPqi}&!m1n&ilKks+15}Y09frsbe=Y&3&n{e_5=u7nY4y z93Kmc&DvK|IghW>{u6{H@dZd-1cU|9$ylr1X}^qq9(_M*Zde6x;UwW*?S+T!<6v(bK6c$S?$LgGBA7?z#&|6^NPLtiKbVI{;hi&QVZ#H|RsB9e z65ldTY0wRmu>N`+)K!1ssXfa1s(|}-JoS70&ddABJ4GvC!U%`m%5P1Goa*J@p}~#B z+v*~kCy5kx{p^+w#B{B-POsJZc6UE7fVI_7mqPC2+-I|VtJ)rG zQ0@TRf7=z;P{+MDCGjy#zFAT=zSyRGnXW*^UPr8{9*>=* zTGvcK7(Kc8WK2(89Jo22){UX5m;6Xut6jmSZ_uYm1anIm_;jtRcXd2kwzQ6oJ^0^? zoorjQ%C(#f8})C&r|Q52nr6t$(F!g1z*G|FDJr9*5}2v7_MJBP$u+vucWa=ZQu8<$1hDga*`J1-ONTqTXVLMEZbfX4FR7|!)n}evdr@PV>@f6fR z@_1o#<=9F8BCD3 z#>ZB)T^cx+IZ_jE=CfQlp|dLaerW``o7CVUrj3!C4#~YJal(taP|MsH(nAynLz%WT z=7!HwUBX7Rbq{eOQu40MxZHzf$pX%+6Wghv9iCGN1P(Ks`}`!ynpBeuP=mc&Q}i6qz>=nYS0@vpMKr^A zkWVG&n~h_PY!CNV`rq=+{cXWl%w^stE56jK9E%klr;5tv1^Wrfd(I|m<9vM(<&_ot zAGhII8eR@l$X2KK9ygrc9>P1r&eJp zVWTF_FXx$?@637?Zxx&Ryx7sOCe-DhE=O<(`Cs~yzXw)vyQ9PG-3hu5?PKJ!m7@ll`;z{ChXIa!?XZ8Jyy;8SOAejAtl$A#Y+ zONxfbiuL=1fzxf1^OoNer#~jAeWI9H+pmMzq97>4RJ;NHPUXTd7rneFR`4@`XbZe_ z{s%{R^;b2X?<84YS>S%VUb+Fqy!s<%n;X*BLdmKz98!f1_e9R(aqV*fkx?&VMea*m zoOygL^ahFP+QsFcU)(N?@j$}EG&|!1hw+iz998!gvd09qh5j$+vg}P)qx<~|sT(?+ zNDY6+dfxU2&T{&d8&J$r=>xfh-xXfkS(j$2i};=c1X`V-l;E+3(>vrc)v z{W0GUzERlns#L5G83kSldtJV;$>ryCb=r#f-)R0q{l%E7pL6DL^Zx{X?q!vZm+ENG z*$yH**|~|`-;7^(6LTb7V|5y7a4vQg(kVEEe%Ch4p+IRUSd zeH%iEOBG|$hdn3%(Shs9O0@~RCSuneV^QIcpnoYgsIiO;qAQfZdIE&#`IFNoeXA55 zF+zKP?3^BL?LRKx*5z(y1~z!kJ>L_nIf(WZM^ZltHX_G>ddhkOO`jUFV}k0{>Y}LQ82T3cob_K~0-l;X|CI&TC%~$w{dR5tk{Xi1@Qzte3C&^`2J{ur zq5ZL6^%!x??`-XCtmmu+ug*InMa#c|UFQ#N zI#e?fR3rOtJ*go#ie1Y~-uyOm(`c9w>eecKX3b8$DZQy&V|dl`p~)5;3Ah#Ws^u2{ z(n@_(hy6E#sEXn?tCmmPYm-ELGF%o=&!<3=z> z+K$R!ocOLbmWcxkS-_)LKozFWj!P#o~zNlF`CrlSrX}D4^B^1IKtx^UEe6au{Q(&_#EM zkOt`~e&EHaY24Ri{hsP<1Hp2oRZrXSdzvoyXS4u|0xqL=IYUVv>L_2fH@ZGl&rU2^ zQAhJv$r>y6P_R;>QlkudYLbVI#b1CA62mn*!WBMgr8feg8)Dc)bI&Ivj!NXcZg(MV z!EUw+J2s{3+8rN2G z@J!RLkzpFZ)$zP4({16+h>eJ1t!&(Q)9PePzZ$!h4*9T$ehz=ISEcsXkNo2EjJdxH zqGAA<;Ach0!H3kgo+e?Sfu}U_h6`s0gza1`wa zWC;;-TLx6QPU3JLvT>Zp9-_UtvHsfR(be`jT{FIU`8!c{WjZz3r zWREY7ZXD&heGhH~cmD!QijWa&{%@7*4~imL`ptO0AHj+6qF2M5b-IQQ%^MufKEOQ4 z!H~-{QC(aXk*`#vjdo#QU|{L-FEH>Go-P&%e<7tyE(3DYIAtg)!=f2JX?INEPY=qj zN7}YnuP#cjD%+_G%i5Ol+Q9lg+2Qt5lS!*3J-;1>sOPiE4OSk49-Q;YcFU7zOKUGO zPOvV=mxN34G$uXapt9K3t`7zMVVxxr)iD#?J>!{gbT;jD=v^9b<&lPf)(f~G@HdG< zTLZMADtST1u554~ECQq~I-k5?cAQb8bHwyub$equ`)AGl@!h{Xuh2*>eogi&H0F?> zbTc-{1kzj-07(>6psGt(Jb)2r=^v2tloS9iA~fb9iJOiQ^KxdWf#2pyK+!NILj5$` zPN7s!I{|zQtLYH8_wq-WxH~fT=u7;s(bfxfvOTJ{SywPBtU{!>tw-Poii_%!r7$0; zPYwInyE`#OCOj3+#W^2XyukLtOCoo3TRN`702>XVbCc$0aV4(N(Ai|j>Tr+$hOo=R zl@vDZg)o$~hSA#lf%ZuTA%WS<$EE5HH{!!onzM*EGzmhr4^|ia1v6Pt<^r;$Um9o` z%Q>4!`Cwmva`}XiIN6)Kt2&;pjRRx%!1mO;gK%6paa)~Zcf8fMv~;-Mz6T6w!fn3y zXS!=Y75(?piTvl%324FR(n-Gd|5`dZ`>&-F|Hq=>fXTV7sjI-VoCkO7;rd%ErsSvW z3ZBa&UE}(D_l$^om`El(lVw&Zj@G|M$g!=VUs)@E505e~-VJhQc+V#;lwAr^7t*pE#jEz?i?m=gEZ-M2k zU+aMKj*Q-gio9ww&BniC>p0o@dUBINH8U3cy0x2_>J0u;gQ_ zqtdDuv4B_K(VdIBL0MrDhyQjl4#=UG3KnxgB2gj-p+J`&4VLaevGztsCE`2O!ecr6 z0e-M8&48bqM<`sN`+S9~@nfFSWO6(mSC7>PuCALu#{_j1r`&Zntmigdxfe`G!S7yK z9IpC({q4+ncZ~<<&4x~YG&fh9v=|)0BS6m<1bv%2gUn zVuDS-Za{Ezk#$Sk1+70&#)qlloI*(~>N?l4p4jS6`klnp?PNfY`6%s_DG1Fa1tPE zGt>A6pcyf9`ptivKs;!1-%JYEf$4q>pIH7XaEy5Tr@+CE?7a#AH0kGoY|$ib@H|=;pfBt93S)p3WsVqDe}uwALq}dW@Yeo#124Ht_4=Gwe2xSwz9_e z^bI$ZH!o5*)BSt;#F4*Onmx5FfN1nDt{dkrv`^MhIxG_!nx5JxxlOfF!&!#g^dyXO zw%igvC+MO-@^X`BXImhuvGU{;dyhe|h|+W~XPYyj)kb}CrWRf9tiMDWJ(yc9;U%UB z6DuNsHa&=i6~{6J^_53jQ1lP)gfWd)T`z?hBJvw{cEVBYlVZ4cANp|)@Jt8Z<|kUe z3u_|tj}c>lG2Y9D&2zAh=%kTGTOdlK;(y$BgSzCCiXZ}p3R~pSl2cpDtOQ$>^ z7Zr#i#QWgntQfV+^%v|0qYyQ{YWUoHEw1A(LKCnyM@6Lj+-KIc%YLl4Bo14ppmWq) z`HsA_b>WZ7%Q}vlwPflHtHE=OC;d_T@)rIXj+P&3K@1d`lqdszI?N~z$B-&nk}-Od zAQAV!asBDJ7`<(m{x&tV_pUB$rA5RuxWJJAUo&$KaqA?Zw_QZDwMN_fX2XaaOFV`C zfQNY+B+W~qBXf3|KZ0FOX78DF7k`K6CGEl-QJ`^SA_aHj3KQ*!<-tw=VG1!#N$u4g zO9FESv+N|{g_*+=YV1%?=9zQLS_R5MPAoqYRry5jBJsaNGfs<%(%j~Pe{pbYdk;|a zF}5a6jS35FRmcvD4(**#Q#u~Y>lg*IQLW^7n?Mz9jxy>%Y}@@T%o}^?bWNLzIIOlg z@n7TeA+;Q;p-CA&X3n)Q#c9bCkEem@ADp(DXf@SVJnZUDRVcM@((yKNNZVy zTvIVj{UkF~Pxg;Xc&e2%=281LTQqz3QJ(*OL!7A4MkoGs+0ehwrn!5d>un9i%o?xz z!u0<9@{$A7Li1_gS(tP|SzS2aK-WmuH7fbw66OE9}~9Dk0Aop64ci8ZbU2TP6kFIPYc_kQ8{+&)UfE zyX1w!-b8tV)5}UpD6qsxZ>G;hj2O>Z<)%H}VAF}kc67xw?V-zr6 zyXKj&8CU*V$`76$P~T$`y{zm5sG}ccVe8f1Unv?PLN%bqBX|^*b1(@S&M;XOVne3P zmI%U{zaHkuDW;$uXz9{2F=lr+d&X`}dn$?WgrrbsdF3NP&iGQY_t2x+N9)evPj1Q$cv7Wl2-k_)8b5Ja4*Nos5ZG3erodm^l$-qv z&rUlcR7hpv#nZ$Ma2zFCc|3U306IoRV1zudFm}V;?o}#|3f#rQO#d=F z=q9g&j=Js#uN(G^!B~k-I~ttmYB@5gp6krRa~@0D-`?*#y|o=l()VMxdWc@k96NoE z6;T39YuKLLO}UCF;;uF9^u)=6xvVL_`{Yxlu#jVa>lF!x)QH(K%P@@-1Jx2%M**nI z^Gbl5h<&GW{)r4A2`06BI_hg+>bMK1_OlY|`vIGMT5P&-;wh4bX0Vc+N`B#|xb2E^ zA&w&}gicY8ozkE*yHyC>s0oFQRUL~>R*E)LMF3h@NClovbXWIn=zBbX7m?lNYRS1t zSfM;RUSHDWAkYaQQ4{SM z%oAi3=C;hDYHA1 ztErn@Eb&C`_&Aa3(}K9Ar(3LOyE*59SA@WJj07a73ZSqVaN9ZE-hxELI(UnH!h zw?m}wk8FzK<9`U_xqy|SvP4uDweD>ahk0$k?1x8nVDPKI63zX{bObBb7ER019Jn#n z!UCKbcN$ly%I)pg-`6qJQx(wNjnw02<-qn0|2$*+p(!xV^<39%D<(dwZ5sz?5P27o zd*yfK6Wc+Zm>N)`7JWAf=~~W3!W(xdVJikQc~WmRGbX#2-94oyOB)t349k$h)I!6T z5Q{<{zT6E#!8u;sA@J&uOpfe_oPmUB{;-!-Zay;-I{o)o$Vfc zPSmU-@X(0p0d<7El{!DkHJlhV&PG8xx)J&7d`j>EeoX_U`C-FhactBVZ6dbqnKnXDbVDw<4sR8n8Yg9Cy-qb zMtSc`0+#dY+0(E?v^9&f6AzXJk0G8{6+2!!gKf;0yG9aPWpj009X&?BBHFV#HI+JPa`ccc~vMBaBi}mB@$wuMseSfe;s&`vHnBY$Co0?oP&6w zm1?N-j8p<;9b!kuodmx9cQvf~Kh-een$Kz&guvuK)v&1ls)pgE(Ri&;Tif4wW_eCG zvtn4!o;O!N=(0NQFZ9SM$dQ9b7yo;XB9Io5Z?p+nvIfb}j$@*T5H}b}Z2->K;>HOV z`@0$ztPKf+tRioqsdllSeN#8{rd|DWJhe140c0`~|L}xhKQfX7|=Ey zy?!38Mw3fAJ0Mn|D+i&yy|1cWQtAH9A_}MuGn_g)nuccSrpXmzS!R!EBChcv9Hqh3 zIVSs+QOQka4eUFUjy%(7Ur7>PPBsV1tjenbf>A(YX-Fb2I!~8JE(ROq5R^?~c-TbN z8p^c2FIV;|F_fC{okknxhc2rl)s1ri>AsFu9uzBSU_cKin|joH;?NT|bSg&_pG`5N zrZbQAucnyczfCdVf0|-5Lpk|#OJ`0U+NlXTZ)eC#0CIlR88sFEW~T3;}S+|>r&}yN91~#LSI!e2S@O{16L3M z!+B2sCr6{FG&N<)o5eZh-=GsuQz^WMF#^ui(DJIqTf>0`$XguA2T!q^e^ta-^1;L% z1TqhTw!leepI%sKDJC$20)6Fwl_N0u+UrHVhi@7I49g%hs4ypw}Zw8Ak=Gzy-F zTC-ZspgOm#K>TQIF+N|#wezp`&z<)T&v0pfaTf=`5X*}J^e41wMhR2=qRJY*PtZ(M z|Ew3CJ>ipcI#lP3AB|1NXHf(yxsZ4keJI z(=R7jfz`m3l0-vMCD85(SiZZN2np;6274{I!^#xo`(cE1I+pa}4gH{VdX9C`@wh=^ z&vYd~liDIk-Zyt#q`H*@E=->IfNJD}M(!6p4Je#OPp>ezf|^|^3b@szkyvthaFs)Q zW4NH9LszSHQO%J~E!;^h+608V@J{ zVmmB^><}FXkCBe%qtvgaD2;&~y*uKg-wO1ESx~S|64@uD`*4`~!Vcui206Lypk-bg(0=({fQP;~e0OOIq-QsGSrcxK(76(V1ZJbk@-I4YoZM(pB` z-z8U*T9vX_vY&;XMKiN)c9SSk#>1*<+%yx}Y(AJ2V5y1LU|=HjS|~=*)#hhFc+jG= z5^g@!MT2Hv5HYdNaYg0e&M&=RVzPia$U3XK*O?_-8=YU@)G^esLwW z^p8{xSnX_QkL|NX&v)!;*0(5jZFNW@HzHyLLieTS+?BJj{aFY zH4O4b8$$M-RMmj9ZwkGLvnGZtB5VlN|49}I5eXBQsf|gsfhcm*la z<)_l)eZ3NZl02RkKC`-3k(v1GH0LpUCcCG@w8@D(`Lc|Bk7Ngxy%TX+fn;AQQbYDK zoc}u$TA%J#6Os>Tk}R!UtjTF;0TJQp;IL} z7m_Nk@3Mc#O9<4R4d{(b=E~K+p>K{F>4~x(7Ge3N-VUTO-n{2Z!3a24Nky919fi)3 z*O2>4(R}7R388!yvzai1!Xa?OUr-`n{qZ>PN?KquNJn|J^Vq5O0Kwv&+Z=sn0;$H*MT5`yq+)zjA;E13M={);Z=_1Aiq1rMrwbDduo7!#`J6Wqrp=2)nc#OjLquAU6Y6;RuwRECe~!(- z5PwBI465~qQC0WjZ`JaLt#NAuC?J~sWtwd#~!73;lzRr)n_{9lU#!(^q`jNFolNrKc6^1ADFCTvtC2DtIb;(M&;O2obXf z0Q)FK)I|v~4?(+Kk?RP^UEqBqQt90nZV4qaeWX(F#M#8_zi~*8o<}lIZnKYXzg>+q z?@&H&vxe@Jz^ldYj;2Aa;P~m>gQXX6xHi({rHI(Br9le1q1hi}4Qi54K>Tg;w54P- zLw#r{!PKt%ZmD??jAC%<^YCSKVzq&~lPxw{jgMrs7;ycm{^Tc1G)c= z<<#eBn>u5sh(#l|ag?|=uHadpFf(XQqPPi8hi}iZm^bA#m zj}|ZMgtW|(A_-2(kOMJgGe{4@Sw<9TEcR(a$X@pu=VeT9A%%~%h!#ityxr~X-Nw5o zVn>BxwT;yFR^MJ+(~lWfESQAo9gECX9FX7?+X?2sL~!1epMSvKtw~+c%XANH3X*0- zD3=Hr_9F-}n6z%NdRd-L55Q8{5R>K4PN6PwJfvQa7?%9&;oJK9`_xpMgl!WYnREmT zNuMdg?S`FvD@$#H{X9A_1Jv`n|6}~8i`GM7mO}-H4ZCU6OXSN%3p<^R{*%vN-#4{@ z7K7|>7w!MYbnoXa_HA9sl~;kMqr5VZJ$5AS<$k`K>*6!ywwPqBv3#v{Z~b^V?~vAR z<67tOXliNTQMd7StMenlY!De}=kU0jDQRe_kkM}UetXt^cs%%2kA6Dsc|RVW?Ro5K zoga@kA9v5rQ>IuXaa3x74=%6QwuwKUygn{(mw4Wv)YyBj)e zZ^?f1aqw_qtU}VdxR@?Ckf}Nrk8QL|S2I9)wHcc`aA?&~kWsGVwOq51o%q_{u>I(| z#pJSdaDM_?JuC>fM~%Rx;XT~*N&VsHPurMwV*=wtWv6wg$9~1PXs@f8ONWE*?|?^l z%J^?-Eby9CDl-1I>QOJ`y|RgvC&r*!Wju}ba|)4fv$Sur)YF+S8`8~88vi<@dwq=Q zw0y(Cmn&AL#q?}Z4~~cfzedPDvj6PK#)Jk#h|WE>;o06a&19Rn1?w&qA9F_OVy|JW z-)x^vO1wD8SnJQVc<)U;O0!w}OPIyQn-hHrHC zPq{R$`kpf{oMh=Adg&&W=2hdS6dw0_XUnWL8!c@6wz$4`VNCZVJdUG5O|RZEgQbFf z(#D`Ev1aKoyju3l$`4rXNcMKHk-gJr!J(gn<9AXWQ@r5W88U4=77=bY`Lf6Fh0fxZ z393&IUBmIh@`t^{4MFh}WQ%qpn%Z;6mO-v^$3Y7sqb1T6kjX08-a4zV%bY=Na2eMS zi%riFLr?PIt?x$TW6Dbw#ut(2P3*_Mgzy{Z_J$N7ZQ}F$wvNK!eHK-_-lb!UjyQRaxJnDt4YiClSZR)GL!GXA9d2PAVzbX_nM4f z?kolKnUd^ttOO_NJUff~af-FDnxc@LZLijwU8P;4K;)qgtRz$b6Y^A$tDjOiE{lSQ z07((1w>;Tv)jjsFPw4L4grwqHPHnnO6Q&rj4Z4#$t) zKkMhmCXOey3!iN$&=nLZ3N2;uc&jhG$C=ns&AclvXNbQjG^}U%nnu9$#Z7Xa$>ga< zNS#Sqx>AZP$BMhluQZX|SyHar%7nP_r_w>XmPqo7C(Bkker^c@{N&GPjFr|PP9mH( zNxILSPM?K$m#;fV^>ilXG*qrYFqM(f12ZMbO^do0j;h~OCofMBSq{Aw(-KXgC38WV z?(brV1T-RqFV{Df;@;u5O4QmZGgxqj(3I7X^QGz9QQx}Cpn>j|a%p`zkQq3Eu!>Tr z0f`KK`VjE8It5XNNx+fGl@L8*96`q32}P%%7d=CANUh2OeNU)XJ#8{l6gz_yk?zcn zDD!m`N0rIL8wDr&u@1Y4Bn3qR;+z!o@~ve>%n{*1ynWH}MZaY*WO44W(g9fEhRddc zs#h7poQ&HYd26BuqXnUXSgXilyJ5?Ir8>9?IlQRotjhf+n(@t@`0~Dn^)~`{yDVf9D z>a^&+jM@WOk>yj*&%t9|%U@tiXWdq-%n*v4T}k-C2Ch zgke1j%e??9V1mw=g;l>f3apFdv^l0S`EL5?6dx{!!>BL!RFP=3B?%Gz^EsT)q%Pp? z>VdP(c6m*&g0-OJ1g2+Z6%xH3Xc;-#0%oQBd)a-DD+}Vm^wE;XD_mmu*47c{e(ub@cIZf2a;FM7h!?w5_WodifaxwsFLWWQZ!(`;!y zYW{fMKU(=N>YcIoVZf@?CmdPG?;Yi2V)P5b);BNaDcy`2GjF3!djcHg+b)@@; zaLbCoLMWVEX>Cd7olTwFxIs7MtUAI*L@^4H*h_iB2Bbl8_JP8LAQ4x^NWFG&`UH0^ zi(_|Ti7J=t=*0|?rdeANe7=D+$6DK44Rl!B{ZV8-Oo-P7xW+`0vHF?PI1oG%Xu7Et zCMWc~-ask&SO#=}Fx~Wxd*9_s*ov`T-^T8216iOOh{{#uQxiwa>lXNNS1xzUcJ*`% z>$@(%D-6=*Lj=k9kI0VpS6k2ZEdVMtZu4yRLB#O9hF>p2mS)l9R-P;xfI%E%K~aBV zP(yPo`u)z}{z5Mn1A+B`-4-GtL;n|Tz|ti2n*(%~FP@9Vxn5{z>I+Ddn2pGEhxeW8 zd3UL@-vW_=G!O|>V#% zx+y&|^}LE{klccnqXGY*{BTeu{;F$ zpxXjIR#UTxp&5s-yU&68bVkj3y5dKx zvoLu^SHL55Cc)GAih(86~lns++3a!rdblqwBd-dFuO(p2n=HI%o^ucDLo~c&<`F;oY5rIG%6o-zD3aQ`1Z~XYq=mN-T=A36p4t9n6NqqH!rDR zwc-cS+BwHUM9h4TH*u8$K5y_hB7j=7z``OmGPq2^U+~|>0SiOE!8L~i2Fc4Qd5r1h zCf14rPc+^WfBl+S?3XqO+c5IeKv&1Z`rA{W<=f5ON*yfjeOOI)+`1iLAqV*fvq(q~ z@mszO!no@#E6LvoI@MmpU+wv-A|%=Me-KKzf-G^u@1r%p(EY)-))Vh0w;W@f@ z%Jl%dio}I34Ma~}KoBfBlNr8-GoX3(`Qs)YrJ}TefAY;PRR&t&&Hm@le3KW?eXQ88 zE+)+>vM*C48iN*^TDXcNr?a+*k#*^O_o4=Zr&YD^Ef|87`wKf4z*UL5wr9_2887vo z-e6Eb-xHf!7Z2)1X`1>9QfaY|K~pQ1{OUwJHCoNFR;@ixocuM6W&bsdWq%E0XT^G? z5{s;Fg03pE1t@#x4sT5?f#64T$t~WE-%d)dH@&gbQ8rS4H<<;VaNv^Q-mcY zKu2~7F>x?-l#uUkt?P=I(c^GVTdzGZVm3lk_~j>s14JeHWUgHnN<^Kp@MpT<-BcTh z4U}TYn*@GWG|GS>YG-|Voh-adeJ+tIQWz0RT!W}7D0+#M@?KRUmv){trdl(xL5Kid zB|6%KYX)AL4_~iR;D(c~V&GK>oBJ+hA+Hrji!Ld}uCbfSUYJP+kyS_admHw|D4W<> zNNb1j7D5+Kst@(|7cLL7!BL@gYbUn?Ly4bDTp!EB=&`He#=hn=dg&a8ngj;gSaBG@ zqHP`)QI-*rMZ~1}y#w$#5+0>7k#hW1iVyJYsgJ7L2EmbYV*{1&@`qze6k@+9zgL6v z0((3|@Og><4Az|rp$4AoXq-r$Rm#SaKC^$x-lNQ6<+RbNC#lO=Xsl7~ssT4vke zAwq|SfSl+Z=lEO)rQw3lA(xdh3Lu4r5nwk?kJCaC@8s@gObpf&S-6hiE-n8^JkX_g z`N`o|BSGd(YRACRg`KK}=6Iy(_SPlXzaLX2g9H6K7UpL8zSEUVe~jmHyz7e_VQMKv zxRY-CM~K>>KQT9nZ`p_r6a)YJ5wUoei=3~Cl{9yE3M+?Oi@VM3P0P;yOG8Jy=flg2 z;4-{v385t-L`3Me!f&-N^ts<1zo+0I4XmzI-p`$Mx-Mk8-cOin5PkyrmsK^1(6i8H zfiSgOR&OOE_u|f=@FcZy9=K6iF1XrTIeXG_>$kDnwf>ns zr2lcD?&(iby zOI79V)0Vce@!lR=$)4%%AwJi#KRS;@qA_Dho}&*3eq`dPGjs`MkmpWIPERgTWi-L8aRn#SXrz+*5joez5gmzyD0lUj^bnN>*`M3VKTUuouPesPq zJCHFr(bN_qbEcR4zKySdKbG(?E_24uPujkOQF7w9%s-T?J;??lE`Qy7GO@rqTN%93 z!cy@kGQDm>d9q!!(TTlirJ7DN4NiYiavNEOYWCKc{F}r%Odt+pMP}V;DE~8NRm_v`U zn6_WiPX(%fq@Se64wpsovWiS0^5X8SbDKo?%CsZ^e+Ys76Lsat%b1*J=@9|<#CuK1 z!jVO?^?Nl%>hTbTl0^+v1*!y@G7C=*GLS-D5m01RPDmO^gzI-`j4kI<7`8t!&pQ^^ zIM%(dI$+q6Psf?q6Kq%1{07D)VW;$H%TAS?$BW`07c5dcIsY0%0AjO`z*A1PXzvuw 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

    w{;Al>nEHiyoV9!S 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 diff --git a/x-pack/plugins/apm/ftr_e2e/cypress/fixtures/es_archiver/apm_8.0.0/mappings.json b/x-pack/plugins/apm/ftr_e2e/cypress/fixtures/es_archiver/apm_mappings_only_8.0.0/mappings.json similarity index 100% rename from x-pack/plugins/apm/ftr_e2e/cypress/fixtures/es_archiver/apm_8.0.0/mappings.json rename to x-pack/plugins/apm/ftr_e2e/cypress/fixtures/es_archiver/apm_mappings_only_8.0.0/mappings.json diff --git a/x-pack/plugins/apm/ftr_e2e/cypress/fixtures/synthtrace/opbeans.ts b/x-pack/plugins/apm/ftr_e2e/cypress/fixtures/synthtrace/opbeans.ts index b03aa9a4fbd834..bd01c83b9cc6ef 100644 --- a/x-pack/plugins/apm/ftr_e2e/cypress/fixtures/synthtrace/opbeans.ts +++ b/x-pack/plugins/apm/ftr_e2e/cypress/fixtures/synthtrace/opbeans.ts @@ -4,19 +4,30 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ -import { service, timerange } from '@elastic/apm-synthtrace'; +import { + service, + browser, + timerange, + getChromeUserAgentDefaults, +} from '@elastic/apm-synthtrace'; export function opbeans({ from, to }: { from: number; to: number }) { const range = timerange(from, to); - const opbeansJava = service('opbeans-java', 'production', 'java').instance( - 'opbeans-java-prod-1' - ); + const opbeansJava = service('opbeans-java', 'production', 'java') + .instance('opbeans-java-prod-1') + .podId('opbeans-java-prod-1-pod'); const opbeansNode = service('opbeans-node', 'production', 'nodejs').instance( 'opbeans-node-prod-1' ); + const opbeansRum = browser( + 'opbeans-rum', + 'production', + getChromeUserAgentDefaults() + ); + return [ ...range .interval('1s') @@ -27,6 +38,15 @@ export function opbeans({ from, to }: { from: number; to: number }) { .timestamp(timestamp) .duration(1000) .success() + .errors(opbeansJava.error('[MockError] Foo').timestamp(timestamp)) + .children( + opbeansJava + .span('SELECT * FROM product', 'db', 'postgresql') + .timestamp(timestamp) + .duration(50) + .success() + .destination('postgresql') + ) .serialize(), ...opbeansNode .transaction('GET /api/product/:id') @@ -34,6 +54,17 @@ export function opbeans({ from, to }: { from: number; to: number }) { .duration(500) .success() .serialize(), + ...opbeansNode + .transaction('Worker job', 'Worker') + .timestamp(timestamp) + .duration(1000) + .success() + .serialize(), + ...opbeansRum + .transaction('/') + .timestamp(timestamp) + .duration(1000) + .serialize(), ]), ]; } diff --git a/x-pack/plugins/apm/ftr_e2e/cypress/integration/read_only_user/dependencies.spec.ts b/x-pack/plugins/apm/ftr_e2e/cypress/integration/read_only_user/dependencies.spec.ts index 0ab2d5682a900c..2c2e93d463c508 100644 --- a/x-pack/plugins/apm/ftr_e2e/cypress/integration/read_only_user/dependencies.spec.ts +++ b/x-pack/plugins/apm/ftr_e2e/cypress/integration/read_only_user/dependencies.spec.ts @@ -4,13 +4,31 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ +import { synthtrace } from '../../../synthtrace'; +import { opbeans } from '../../fixtures/synthtrace/opbeans'; + +const start = '2021-10-10T00:00:00.000Z'; +const end = '2021-10-10T00:15:00.000Z'; const timeRange = { - rangeFrom: Cypress.env('START_DATE'), - rangeTo: Cypress.env('END_DATE'), + rangeFrom: start, + rangeTo: end, }; describe('Dependencies', () => { + before(async () => { + await synthtrace.index( + opbeans({ + from: new Date(start).getTime(), + to: new Date(end).getTime(), + }) + ); + }); + + after(async () => { + await synthtrace.clean(); + }); + beforeEach(() => { cy.loginAsReadOnlyUser(); }); @@ -40,21 +58,21 @@ describe('Dependencies', () => { cy.get('[data-test-subj="throughputChart"]'); cy.get('[data-test-subj="errorRateChart"]'); - cy.contains('opbeans-python').click({ force: true }); + cy.contains('opbeans-java').click({ force: true }); - cy.contains('h1', 'opbeans-python'); + cy.contains('h1', 'opbeans-java'); }); }); describe('service overview page', () => { it('shows dependency information and you can navigate to a page for a dependency', () => { cy.visit( - `/app/apm/services/opbeans-python/overview?${new URLSearchParams( + `/app/apm/services/opbeans-java/overview?${new URLSearchParams( timeRange )}` ); - cy.contains('postgresql').click({ force: true }); + cy.contains('a', 'postgresql').click({ force: true }); cy.contains('h1', 'postgresql'); }); @@ -63,7 +81,7 @@ describe('Dependencies', () => { describe('service dependencies tab', () => { it('shows dependency information and you can navigate to a page for a dependency', () => { cy.visit( - `/app/apm/services/opbeans-python/overview?${new URLSearchParams( + `/app/apm/services/opbeans-java/overview?${new URLSearchParams( timeRange )}` ); @@ -72,7 +90,7 @@ describe('Dependencies', () => { cy.contains('Time spent by dependency'); - cy.contains('postgresql').click({ force: true }); + cy.contains('a', 'postgresql').click({ force: true }); cy.contains('h1', 'postgresql'); }); diff --git a/x-pack/plugins/apm/ftr_e2e/cypress/integration/read_only_user/home.spec.ts b/x-pack/plugins/apm/ftr_e2e/cypress/integration/read_only_user/home.spec.ts index 8457282f5c2566..1e09ec6dbf7c13 100644 --- a/x-pack/plugins/apm/ftr_e2e/cypress/integration/read_only_user/home.spec.ts +++ b/x-pack/plugins/apm/ftr_e2e/cypress/integration/read_only_user/home.spec.ts @@ -6,9 +6,11 @@ */ import url from 'url'; -import archives_metadata from '../../fixtures/es_archiver/archives_metadata'; +import { synthtrace } from '../../../synthtrace'; +import { opbeans } from '../../fixtures/synthtrace/opbeans'; -const { start, end } = archives_metadata['apm_8.0.0']; +const start = '2021-10-10T00:00:00.000Z'; +const end = '2021-10-10T00:15:00.000Z'; const serviceInventoryHref = url.format({ pathname: '/app/apm/services', @@ -27,6 +29,19 @@ const apisToIntercept = [ ]; describe('Home page', () => { + before(async () => { + await synthtrace.index( + opbeans({ + from: new Date(start).getTime(), + to: new Date(end).getTime(), + }) + ); + }); + + after(async () => { + await synthtrace.clean(); + }); + beforeEach(() => { cy.loginAsReadOnlyUser(); }); @@ -44,7 +59,6 @@ describe('Home page', () => { cy.visit( `${serviceInventoryHref}&kuery=not%20(processor.event%3A%22transaction%22)` ); - cy.contains('opbeans-python'); cy.contains('opbeans-java'); cy.contains('opbeans-node'); }); diff --git a/x-pack/plugins/apm/ftr_e2e/cypress/integration/read_only_user/service_overview/header_filters.spec.ts b/x-pack/plugins/apm/ftr_e2e/cypress/integration/read_only_user/service_overview/header_filters.spec.ts index 6950a0bbadb9cd..a7667002d4ea95 100644 --- a/x-pack/plugins/apm/ftr_e2e/cypress/integration/read_only_user/service_overview/header_filters.spec.ts +++ b/x-pack/plugins/apm/ftr_e2e/cypress/integration/read_only_user/service_overview/header_filters.spec.ts @@ -5,9 +5,11 @@ * 2.0. */ import url from 'url'; -import archives_metadata from '../../../fixtures/es_archiver/archives_metadata'; +import { synthtrace } from '../../../../synthtrace'; +import { opbeans } from '../../../fixtures/synthtrace/opbeans'; -const { start, end } = archives_metadata['apm_8.0.0']; +const start = '2021-10-10T00:00:00.000Z'; +const end = '2021-10-10T00:15:00.000Z'; const serviceOverviewHref = url.format({ pathname: '/app/apm/services/opbeans-node/overview', @@ -62,6 +64,16 @@ const apisToIntercept = [ ]; describe('Service overview - header filters', () => { + before(async () => { + await synthtrace.index( + opbeans({ from: new Date(start).getTime(), to: new Date(end).getTime() }) + ); + }); + + after(async () => { + await synthtrace.clean(); + }); + beforeEach(() => { cy.loginAsReadOnlyUser(); }); diff --git a/x-pack/plugins/apm/ftr_e2e/cypress/integration/read_only_user/service_overview/instances_table.spec.ts b/x-pack/plugins/apm/ftr_e2e/cypress/integration/read_only_user/service_overview/instances_table.spec.ts index c7d9fa4e32106c..dad92b83349818 100644 --- a/x-pack/plugins/apm/ftr_e2e/cypress/integration/read_only_user/service_overview/instances_table.spec.ts +++ b/x-pack/plugins/apm/ftr_e2e/cypress/integration/read_only_user/service_overview/instances_table.spec.ts @@ -6,15 +6,19 @@ */ import url from 'url'; -import archives_metadata from '../../../fixtures/es_archiver/archives_metadata'; +import { synthtrace } from '../../../../synthtrace'; +import { opbeans } from '../../../fixtures/synthtrace/opbeans'; -const { start, end } = archives_metadata['apm_8.0.0']; +const start = '2021-10-10T00:00:00.000Z'; +const end = '2021-10-10T00:15:00.000Z'; const serviceOverviewHref = url.format({ pathname: '/app/apm/services/opbeans-java/overview', query: { rangeFrom: start, rangeTo: end }, }); +const serviceNodeName = 'opbeans-java-prod-1'; + const apisToIntercept = [ { endpoint: @@ -27,8 +31,7 @@ const apisToIntercept = [ name: 'instancesDetailsRequest', }, { - endpoint: - '/internal/apm/services/opbeans-java/service_overview_instances/details/31651f3c624b81c55dd4633df0b5b9f9ab06b151121b0404ae796632cd1f87ad?*', + endpoint: `/internal/apm/services/opbeans-java/service_overview_instances/details/${serviceNodeName}?*`, name: 'instanceDetailsRequest', }, ]; @@ -49,8 +52,18 @@ describe('Instances table', () => { // }); describe('when data is loaded', () => { - const serviceNodeName = - '31651f3c624b81c55dd4633df0b5b9f9ab06b151121b0404ae796632cd1f87ad'; + before(async () => { + await synthtrace.index( + opbeans({ + from: new Date(start).getTime(), + to: new Date(end).getTime(), + }) + ); + }); + + after(async () => { + await synthtrace.clean(); + }); it('has data in the table', () => { cy.visit(serviceOverviewHref); @@ -91,7 +104,7 @@ describe('Instances table', () => { cy.wait('@instancesDetailsRequest'); cy.get( `[data-test-subj="instanceActionsButton_${serviceNodeName}"]` - ).realClick(); + ).click(); cy.contains('Pod logs'); cy.contains('Pod metrics'); cy.contains('Container logs'); diff --git a/x-pack/plugins/apm/ftr_e2e/cypress/integration/read_only_user/service_overview/service_overview.spec.ts b/x-pack/plugins/apm/ftr_e2e/cypress/integration/read_only_user/service_overview/service_overview.spec.ts index b0cf424b8067e1..5601ade671908f 100644 --- a/x-pack/plugins/apm/ftr_e2e/cypress/integration/read_only_user/service_overview/service_overview.spec.ts +++ b/x-pack/plugins/apm/ftr_e2e/cypress/integration/read_only_user/service_overview/service_overview.spec.ts @@ -6,9 +6,11 @@ */ import url from 'url'; -import archives_metadata from '../../../fixtures/es_archiver/archives_metadata'; +import { synthtrace } from '../../../../synthtrace'; +import { opbeans } from '../../../fixtures/synthtrace/opbeans'; -const { start, end } = archives_metadata['apm_8.0.0']; +const start = '2021-10-10T00:00:00.000Z'; +const end = '2021-10-10T00:15:00.000Z'; const serviceOverviewPath = '/app/apm/services/opbeans-node/overview'; const baseUrl = url.format({ @@ -17,6 +19,19 @@ const baseUrl = url.format({ }); describe('Service Overview', () => { + before(async () => { + await synthtrace.index( + opbeans({ + from: new Date(start).getTime(), + to: new Date(end).getTime(), + }) + ); + }); + + after(async () => { + await synthtrace.clean(); + }); + beforeEach(() => { cy.loginAsReadOnlyUser(); }); diff --git a/x-pack/plugins/apm/ftr_e2e/cypress/integration/read_only_user/service_overview/time_comparison.spec.ts b/x-pack/plugins/apm/ftr_e2e/cypress/integration/read_only_user/service_overview/time_comparison.spec.ts index 65a82a8ab6bdf1..e905c86a5854c0 100644 --- a/x-pack/plugins/apm/ftr_e2e/cypress/integration/read_only_user/service_overview/time_comparison.spec.ts +++ b/x-pack/plugins/apm/ftr_e2e/cypress/integration/read_only_user/service_overview/time_comparison.spec.ts @@ -6,9 +6,11 @@ */ import url from 'url'; import moment from 'moment'; -import archives_metadata from '../../../fixtures/es_archiver/archives_metadata'; +import { synthtrace } from '../../../../synthtrace'; +import { opbeans } from '../../../fixtures/synthtrace/opbeans'; -const { start, end } = archives_metadata['apm_8.0.0']; +const start = '2021-10-10T00:00:00.000Z'; +const end = '2021-10-10T00:15:00.000Z'; const serviceOverviewPath = '/app/apm/services/opbeans-java/overview'; const serviceOverviewHref = url.format({ @@ -49,6 +51,19 @@ const apisToIntercept = [ ]; describe('Service overview: Time Comparison', () => { + before(async () => { + await synthtrace.index( + opbeans({ + from: new Date(start).getTime(), + to: new Date(end).getTime(), + }) + ); + }); + + after(async () => { + await synthtrace.clean(); + }); + beforeEach(() => { cy.loginAsReadOnlyUser(); }); @@ -79,8 +94,12 @@ describe('Service overview: Time Comparison', () => { cy.contains('opbeans-java'); cy.get('[data-test-subj="comparisonSelect"]').should('be.enabled'); - const comparisonStartEnd = - 'comparisonStart=2021-08-02T06%3A50%3A00.000Z&comparisonEnd=2021-08-02T07%3A20%3A15.910Z'; + const comparisonStartEnd = `comparisonStart=${encodeURIComponent( + moment(start).subtract(1, 'day').toISOString() + )}&comparisonEnd=${encodeURIComponent( + moment(end).subtract(1, 'day').toISOString() + )}`; + // When the page loads it fetches all APIs with comparison time range cy.wait(apisToIntercept.map(({ name }) => `@${name}`)).then( (interceptions) => { diff --git a/x-pack/plugins/apm/ftr_e2e/cypress/integration/read_only_user/transactions_overview/transactions_overview.spec.ts b/x-pack/plugins/apm/ftr_e2e/cypress/integration/read_only_user/transactions_overview/transactions_overview.spec.ts index 9180e6371fda7d..3deb4b8619f603 100644 --- a/x-pack/plugins/apm/ftr_e2e/cypress/integration/read_only_user/transactions_overview/transactions_overview.spec.ts +++ b/x-pack/plugins/apm/ftr_e2e/cypress/integration/read_only_user/transactions_overview/transactions_overview.spec.ts @@ -6,9 +6,11 @@ */ import url from 'url'; -import archives_metadata from '../../../fixtures/es_archiver/archives_metadata'; +import { synthtrace } from '../../../../synthtrace'; +import { opbeans } from '../../../fixtures/synthtrace/opbeans'; -const { start, end } = archives_metadata['apm_8.0.0']; +const start = '2021-10-10T00:00:00.000Z'; +const end = '2021-10-10T00:15:00.000Z'; const serviceOverviewHref = url.format({ pathname: '/app/apm/services/opbeans-node/transactions', @@ -16,6 +18,19 @@ const serviceOverviewHref = url.format({ }); describe('Transactions Overview', () => { + before(async () => { + await synthtrace.index( + opbeans({ + from: new Date(start).getTime(), + to: new Date(end).getTime(), + }) + ); + }); + + after(async () => { + await synthtrace.clean(); + }); + beforeEach(() => { cy.loginAsReadOnlyUser(); }); diff --git a/x-pack/plugins/apm/ftr_e2e/cypress/plugins/index.js b/x-pack/plugins/apm/ftr_e2e/cypress/plugins/index.js deleted file mode 100644 index aeeb88c6d12798..00000000000000 --- a/x-pack/plugins/apm/ftr_e2e/cypress/plugins/index.js +++ /dev/null @@ -1,28 +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. - */ - -/// -// *********************************************************** -// This example plugins/index.js can be used to load plugins -// -// You can change the location of this file or turn off loading -// the plugins file with the 'pluginsFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/plugins-guide -// *********************************************************** - -// This function is called when a project is opened or re-opened (e.g. due to -// the project's config changing) - -/** - * @type {Cypress.PluginConfig} - */ -module.exports = () => { - // `on` is used to hook into various events Cypress emits - // `config` is the resolved Cypress config -}; diff --git a/x-pack/plugins/apm/ftr_e2e/cypress/plugins/index.ts b/x-pack/plugins/apm/ftr_e2e/cypress/plugins/index.ts new file mode 100644 index 00000000000000..350d90ccb3fe49 --- /dev/null +++ b/x-pack/plugins/apm/ftr_e2e/cypress/plugins/index.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 Fs from 'fs'; +import { Client, HttpConnection } from '@elastic/elasticsearch'; +import { SynthtraceEsClient } from '@elastic/apm-synthtrace'; +import { createLogger, LogLevel } from '@elastic/apm-synthtrace'; +import { CA_CERT_PATH } from '@kbn/dev-utils'; + +// *********************************************************** +// This example plugins/index.ts can be used to load plugins +// +// You can change the location of this file or turn off loading +// the plugins file with the 'pluginsFile' configuration option. +// +// You can read more here: +// https://on.cypress.io/plugins-guide +// *********************************************************** + +// This function is called when a project is opened or re-opened (e.g. due to +// the project's config changing) + +/** + * @type {Cypress.PluginConfig} + */ +const plugin: Cypress.PluginConfig = (on, config) => { + // `on` is used to hook into various events Cypress emits + // `config` is the resolved Cypress config + + const node = config.env.ES_NODE; + const requestTimeout = config.env.ES_REQUEST_TIMEOUT; + const isCloud = config.env.TEST_CLOUD; + + const client = new Client({ + node, + requestTimeout, + Connection: HttpConnection, + ...(isCloud ? { tls: { ca: Fs.readFileSync(CA_CERT_PATH, 'utf-8') } } : {}), + }); + + const synthtraceEsClient = new SynthtraceEsClient( + client, + createLogger(LogLevel.info) + ); + + on('task', { + 'synthtrace:index': async (events) => { + await synthtraceEsClient.index(events); + return null; + }, + 'synthtrace:clean': async () => { + await synthtraceEsClient.clean(); + return null; + }, + }); +}; + +module.exports = plugin; diff --git a/x-pack/plugins/apm/ftr_e2e/cypress_start.ts b/x-pack/plugins/apm/ftr_e2e/cypress_start.ts index 0cfc58653801a6..2d0be8c0070897 100644 --- a/x-pack/plugins/apm/ftr_e2e/cypress_start.ts +++ b/x-pack/plugins/apm/ftr_e2e/cypress_start.ts @@ -10,7 +10,6 @@ import Url from 'url'; import cypress from 'cypress'; import { FtrProviderContext } from './ftr_provider_context'; -import archives_metadata from './cypress/fixtures/es_archiver/archives_metadata'; import { createApmUsersAndRoles } from '../scripts/create-apm-users-and-roles/create_apm_users_and_roles'; import { esArchiverLoad, esArchiverUnload } from './cypress/tasks/es_archiver'; @@ -35,8 +34,7 @@ async function cypressStart( ) { const config = getService('config'); - const archiveName = 'apm_8.0.0'; - const { start, end } = archives_metadata[archiveName]; + const archiveName = 'apm_mappings_only_8.0.0'; const kibanaUrl = Url.format({ protocol: config.get('servers.kibana.protocol'), @@ -56,21 +54,33 @@ async function cypressStart( }, }); - console.log('Loading esArchiver...'); - await esArchiverLoad('apm_8.0.0'); + const esNode = Url.format({ + protocol: config.get('servers.elasticsearch.protocol'), + port: config.get('servers.elasticsearch.port'), + hostname: config.get('servers.elasticsearch.hostname'), + auth: `${config.get('servers.elasticsearch.username')}:${config.get( + 'servers.elasticsearch.password' + )}`, + }); + + const esRequestTimeout = config.get('timeouts.esRequestTimeout'); + + console.log(`Loading ES archive "${archiveName}"`); + await esArchiverLoad(archiveName); const res = await cypressExecution({ ...(spec !== undefined ? { spec } : {}), config: { baseUrl: kibanaUrl }, env: { - START_DATE: start, - END_DATE: end, KIBANA_URL: kibanaUrl, + ES_NODE: esNode, + ES_REQUEST_TIMEOUT: esRequestTimeout, + TEST_CLOUD: process.env.TEST_CLOUD, }, }); - console.log('Removing esArchiver...'); - await esArchiverUnload('apm_8.0.0'); + console.log('Unloading ES archives...'); + await esArchiverUnload(archiveName); return res; } diff --git a/x-pack/plugins/apm/ftr_e2e/cypress/fixtures/es_archiver/archives_metadata.ts b/x-pack/plugins/apm/ftr_e2e/synthtrace.ts similarity index 50% rename from x-pack/plugins/apm/ftr_e2e/cypress/fixtures/es_archiver/archives_metadata.ts rename to x-pack/plugins/apm/ftr_e2e/synthtrace.ts index 3382f0f8ee4601..3c818b65200b63 100644 --- a/x-pack/plugins/apm/ftr_e2e/cypress/fixtures/es_archiver/archives_metadata.ts +++ b/x-pack/plugins/apm/ftr_e2e/synthtrace.ts @@ -5,10 +5,13 @@ * 2.0. */ -/* eslint-disable-next-line*/ - export default { - 'apm_8.0.0': { - start: '2021-08-03T06:50:15.910Z', - end: '2021-08-03T07:20:15.910Z', - }, +export const synthtrace = { + index: (events: any[]) => + new Promise((resolve) => { + cy.task('synthtrace:index', events).then(resolve); + }), + clean: () => + new Promise((resolve) => { + cy.task('synthtrace:clean').then(resolve); + }), }; diff --git a/x-pack/plugins/apm/server/lib/helpers/create_es_client/cancel_es_request_on_abort.ts b/x-pack/plugins/apm/server/lib/helpers/create_es_client/cancel_es_request_on_abort.ts index 41dc33dfa193f4..386372fbf655e3 100644 --- a/x-pack/plugins/apm/server/lib/helpers/create_es_client/cancel_es_request_on_abort.ts +++ b/x-pack/plugins/apm/server/lib/helpers/create_es_client/cancel_es_request_on_abort.ts @@ -16,7 +16,5 @@ export function cancelEsRequestOnAbort>( controller.abort(); }); - promise.finally(() => subscription.unsubscribe()); - - return promise; + return promise.finally(() => subscription.unsubscribe()); } diff --git a/x-pack/plugins/apm/server/lib/services/annotations/get_stored_annotations.ts b/x-pack/plugins/apm/server/lib/services/annotations/get_stored_annotations.ts index ac1c2653bf1480..308a1b9a2db26c 100644 --- a/x-pack/plugins/apm/server/lib/services/annotations/get_stored_annotations.ts +++ b/x-pack/plugins/apm/server/lib/services/annotations/get_stored_annotations.ts @@ -55,12 +55,12 @@ export function getStoredAnnotations({ try { const response: ESSearchResponse = - await (unwrapEsResponse( + (await unwrapEsResponse( client.search({ index: annotationsClient.index, body, }) - ) as any); + )) as any; return response.hits.hits.map((hit) => { return { From b03a8695df6ae8cb03caf00ff773bc29274dd804 Mon Sep 17 00:00:00 2001 From: Dima Arnautov Date: Tue, 2 Nov 2021 11:53:37 +0100 Subject: [PATCH 052/110] [ML] Replace console statement, add status code check (#116999) --- x-pack/plugins/ml/server/lib/log.ts | 2 +- .../server/models/data_frame_analytics/models_provider.ts | 6 +++++- x-pack/plugins/ml/server/routes/trained_models.ts | 4 ++-- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/x-pack/plugins/ml/server/lib/log.ts b/x-pack/plugins/ml/server/lib/log.ts index afa5e977d9056d..3efd651e91d5b0 100644 --- a/x-pack/plugins/ml/server/lib/log.ts +++ b/x-pack/plugins/ml/server/lib/log.ts @@ -25,7 +25,7 @@ export let mlLog: MlLog; export function initMlServerLog(logInitialization: LogInitialization) { mlLog = { fatal: (message: string) => logInitialization.log.fatal(message), - error: (message: string) => logInitialization.log.error(message), + error: (message: string | Error) => logInitialization.log.error(message), warn: (message: string) => logInitialization.log.warn(message), info: (message: string) => logInitialization.log.info(message), debug: (message: string) => logInitialization.log.debug(message), diff --git a/x-pack/plugins/ml/server/models/data_frame_analytics/models_provider.ts b/x-pack/plugins/ml/server/models/data_frame_analytics/models_provider.ts index b404f517e4b6fd..fb8480d621d557 100644 --- a/x-pack/plugins/ml/server/models/data_frame_analytics/models_provider.ts +++ b/x-pack/plugins/ml/server/models/data_frame_analytics/models_provider.ts @@ -49,7 +49,11 @@ export function modelsProvider( modelIds.map((id: string) => [id, null]) ); - const { body } = await client.asCurrentUser.ingest.getPipeline(); + const { body, statusCode } = await client.asCurrentUser.ingest.getPipeline(); + + if (statusCode !== 200) { + return modelIdsMap; + } for (const [pipelineName, pipelineDefinition] of Object.entries(body)) { const { processors } = pipelineDefinition as { processors: Array> }; diff --git a/x-pack/plugins/ml/server/routes/trained_models.ts b/x-pack/plugins/ml/server/routes/trained_models.ts index a20a97a3fcb42c..1837f9e88edf36 100644 --- a/x-pack/plugins/ml/server/routes/trained_models.ts +++ b/x-pack/plugins/ml/server/routes/trained_models.ts @@ -15,6 +15,7 @@ import { import { modelsProvider } from '../models/data_frame_analytics'; import { TrainedModelConfigResponse } from '../../common/types/trained_models'; import { memoryOverviewServiceProvider } from '../models/memory_overview'; +import { mlLog } from '../lib/log'; export function trainedModelsRoutes({ router, routeGuard }: RouteInitialization) { /** @@ -77,8 +78,7 @@ export function trainedModelsRoutes({ router, routeGuard }: RouteInitialization) } } catch (e) { // the user might not have required permissions to fetch pipelines - // eslint-disable-next-line no-console - console.log(e); + mlLog.error(e); } return response.ok({ From 14c0d35a6258a78cc687b6eb8d8f192b3e70b644 Mon Sep 17 00:00:00 2001 From: Joe Reuter Date: Tue, 2 Nov 2021 11:59:22 +0100 Subject: [PATCH 053/110] fix relative urls in external url service (#116404) --- .../public/http/external_url_service.test.ts | 58 ++++++++++++++++++- src/core/public/http/external_url_service.ts | 6 +- 2 files changed, 60 insertions(+), 4 deletions(-) diff --git a/src/core/public/http/external_url_service.test.ts b/src/core/public/http/external_url_service.test.ts index dcd99280151bfa..ee757c50467600 100644 --- a/src/core/public/http/external_url_service.test.ts +++ b/src/core/public/http/external_url_service.test.ts @@ -155,6 +155,40 @@ describe('External Url Service', () => { }); }); + internalRequestScenarios.forEach(({ description, policy, allowExternal }) => { + describe(description, () => { + it('allows relative URLs without absolute path replacing last path segment', () => { + const { setup } = setupService({ location, serverBasePath, policy }); + const urlCandidate = `my_other_app?foo=bar`; + const result = setup.validateUrl(urlCandidate); + + expect(result).toBeInstanceOf(URL); + expect(result?.toString()).toEqual(`${kibanaRoot}/app/${urlCandidate}`); + }); + + it('allows relative URLs without absolute path replacing multiple path segments', () => { + const { setup } = setupService({ location, serverBasePath, policy }); + const urlCandidate = `/api/my_other_app?foo=bar`; + const result = setup.validateUrl(`..${urlCandidate}`); + + expect(result).toBeInstanceOf(URL); + expect(result?.toString()).toEqual(`${kibanaRoot}${urlCandidate}`); + }); + + if (!allowExternal) { + describe('handles bypass of base path via relative URL', () => { + it('does not allow relative URLs that escape base path', () => { + const { setup } = setupService({ location, serverBasePath, policy: [] }); + const urlCandidate = `../../base_path_escape`; + const result = setup.validateUrl(urlCandidate); + + expect(result).toBeNull(); + }); + }); + } + }); + }); + describe('handles protocol resolution bypass', () => { it('does not allow relative URLs that include a host', () => { const { setup } = setupService({ location, serverBasePath, policy: [] }); @@ -194,7 +228,7 @@ describe('External Url Service', () => { internalRequestScenarios.forEach(({ description, policy }) => { describe(description, () => { - it('allows relative URLs', () => { + it('allows relative URLs with absolute path', () => { const { setup } = setupService({ location, serverBasePath, policy }); const urlCandidate = `/some/path?foo=bar`; const result = setup.validateUrl(`${serverBasePath}${urlCandidate}`); @@ -214,6 +248,28 @@ describe('External Url Service', () => { }); }); + internalRequestScenarios.forEach(({ description, policy }) => { + describe(description, () => { + it('allows relative URLs without absolute path replacing last path segment', () => { + const { setup } = setupService({ location, serverBasePath, policy }); + const urlCandidate = `my_other_app?foo=bar`; + const result = setup.validateUrl(urlCandidate); + + expect(result).toBeInstanceOf(URL); + expect(result?.toString()).toEqual(`${kibanaRoot}/app/${urlCandidate}`); + }); + + it('allows relative URLs without absolute path replacing multiple path segments', () => { + const { setup } = setupService({ location, serverBasePath, policy }); + const urlCandidate = `/api/my_other_app?foo=bar`; + const result = setup.validateUrl(`..${urlCandidate}`); + + expect(result).toBeInstanceOf(URL); + expect(result?.toString()).toEqual(`${kibanaRoot}${urlCandidate}`); + }); + }); + }); + describe('handles protocol resolution bypass', () => { it('does not allow relative URLs that include a host', () => { const { setup } = setupService({ location, serverBasePath, policy: [] }); diff --git a/src/core/public/http/external_url_service.ts b/src/core/public/http/external_url_service.ts index dbd7313b65059b..166e167b3b994b 100644 --- a/src/core/public/http/external_url_service.ts +++ b/src/core/public/http/external_url_service.ts @@ -14,7 +14,7 @@ import { InjectedMetadataSetup } from '../injected_metadata'; import { Sha256 } from '../utils'; interface SetupDeps { - location: Pick; + location: Pick; injectedMetadata: InjectedMetadataSetup; } @@ -52,11 +52,11 @@ function normalizeProtocol(protocol: string) { const createExternalUrlValidation = ( rules: IExternalUrlPolicy[], - location: Pick, + location: Pick, serverBasePath: string ) => { - const base = new URL(location.origin + serverBasePath); return function validateExternalUrl(next: string) { + const base = new URL(location.href); const url = new URL(next, base); const isInternalURL = From 29e807f2e21180764f3e16c33a6eaeb8838475f3 Mon Sep 17 00:00:00 2001 From: Stratoula Kalafateli Date: Tue, 2 Nov 2021 13:05:46 +0200 Subject: [PATCH 054/110] [Lens] Allows users to not render suggestions (#115946) * [Lens] Allows users to not render suggestions * Improve the transitions * change implementation and use EuiAccordion instead * Fixes the scrolling problem on the suggestions panel * Apply PR comments Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../editor_frame/suggestion_panel.scss | 9 +- .../editor_frame/suggestion_panel.test.tsx | 18 ++- .../editor_frame/suggestion_panel.tsx | 119 ++++++++++-------- .../lens/public/visualization_container.scss | 2 +- 4 files changed, 87 insertions(+), 61 deletions(-) diff --git a/x-pack/plugins/lens/public/editor_frame_service/editor_frame/suggestion_panel.scss b/x-pack/plugins/lens/public/editor_frame_service/editor_frame/suggestion_panel.scss index b9f233d2b29508..37a4a88c32f22e 100644 --- a/x-pack/plugins/lens/public/editor_frame_service/editor_frame/suggestion_panel.scss +++ b/x-pack/plugins/lens/public/editor_frame_service/editor_frame/suggestion_panel.scss @@ -1,10 +1,6 @@ @import '../../mixins'; @import '../../variables'; -.lnsSuggestionPanel__title { - margin-left: $euiSizeXS / 2; -} - .lnsSuggestionPanel__suggestions { @include euiScrollBar; @include lnsOverflowShadowHorizontal; @@ -16,7 +12,10 @@ // Padding / negative margins to make room for overflow shadow padding-left: $euiSizeXS; margin-left: -$euiSizeXS; - padding-bottom: $euiSizeXS; +} + +.lnsSuggestionPanel { + padding-bottom: $euiSizeS; } .lnsSuggestionPanel__button { diff --git a/x-pack/plugins/lens/public/editor_frame_service/editor_frame/suggestion_panel.test.tsx b/x-pack/plugins/lens/public/editor_frame_service/editor_frame/suggestion_panel.test.tsx index 26e0be35557145..47070822a80801 100644 --- a/x-pack/plugins/lens/public/editor_frame_service/editor_frame/suggestion_panel.test.tsx +++ b/x-pack/plugins/lens/public/editor_frame_service/editor_frame/suggestion_panel.test.tsx @@ -18,7 +18,7 @@ import { act } from 'react-dom/test-utils'; import { ReactExpressionRendererType } from '../../../../../../src/plugins/expressions/public'; import { SuggestionPanel, SuggestionPanelProps, SuggestionPanelWrapper } from './suggestion_panel'; import { getSuggestions, Suggestion } from './suggestion_helpers'; -import { EuiIcon, EuiPanel, EuiToolTip } from '@elastic/eui'; +import { EuiIcon, EuiPanel, EuiToolTip, EuiAccordion } from '@elastic/eui'; import { LensIconChartDatatable } from '../../assets/chart_datatable'; import { mountWithProvider } from '../../mocks'; import { LensAppState, PreviewState, setState, setToggleFullscreen } from '../../state_management'; @@ -264,8 +264,10 @@ describe('suggestion_panel', () => { preloadedState, }); - expect(instance.find(EuiIcon)).toHaveLength(1); - expect(instance.find(EuiIcon).prop('type')).toEqual(LensIconChartDatatable); + expect(instance.find('[data-test-subj="lnsSuggestionsPanel"]').find(EuiIcon)).toHaveLength(1); + expect( + instance.find('[data-test-subj="lnsSuggestionsPanel"]').find(EuiIcon).prop('type') + ).toEqual(LensIconChartDatatable); }); it('should return no suggestion if visualization has missing index-patterns', async () => { @@ -292,6 +294,16 @@ describe('suggestion_panel', () => { expect(instance.html()).toEqual(null); }); + it('should hide the selections when the accordion is hidden', async () => { + const { instance } = await mountWithProvider(); + expect(instance.find(EuiAccordion)).toHaveLength(1); + act(() => { + instance.find(EuiAccordion).at(0).simulate('change'); + }); + + expect(instance.find('[data-test-subj="lnsSuggestionsPanel"]')).toEqual({}); + }); + it('should render preview expression if there is one', () => { mockDatasource.getLayers.mockReturnValue(['first']); (getSuggestions as jest.Mock).mockReturnValue([ diff --git a/x-pack/plugins/lens/public/editor_frame_service/editor_frame/suggestion_panel.tsx b/x-pack/plugins/lens/public/editor_frame_service/editor_frame/suggestion_panel.tsx index 5e5e19ea29e846..2f5ca01774ba17 100644 --- a/x-pack/plugins/lens/public/editor_frame_service/editor_frame/suggestion_panel.tsx +++ b/x-pack/plugins/lens/public/editor_frame_service/editor_frame/suggestion_panel.tsx @@ -8,17 +8,17 @@ import './suggestion_panel.scss'; import { camelCase, pick } from 'lodash'; -import React, { useState, useEffect, useMemo, useRef } from 'react'; +import React, { useState, useEffect, useMemo, useRef, useCallback } from 'react'; import { FormattedMessage } from '@kbn/i18n/react'; +import useLocalStorage from 'react-use/lib/useLocalStorage'; import { EuiIcon, EuiTitle, EuiPanel, EuiIconTip, EuiToolTip, - EuiFlexGroup, - EuiFlexItem, EuiButtonEmpty, + EuiAccordion, } from '@elastic/eui'; import { IconType } from '@elastic/eui/src/components/icon/icon'; import { Ast, toExpression } from '@kbn/interpreter/common'; @@ -58,6 +58,7 @@ import { } from '../../state_management'; const MAX_SUGGESTIONS_DISPLAYED = 5; +const LOCAL_STORAGE_SUGGESTIONS_PANEL = 'LENS_SUGGESTIONS_PANEL_HIDDEN'; export interface SuggestionPanelProps { datasourceMap: DatasourceMap; @@ -189,6 +190,15 @@ export function SuggestionPanel({ const existsStagedPreview = useLensSelector((state) => Boolean(state.lens.stagedPreview)); const currentVisualization = useLensSelector(selectCurrentVisualization); const currentDatasourceStates = useLensSelector(selectCurrentDatasourceStates); + // get user's selection from localStorage, this key defines if the suggestions panel will be hidden or not + const [hideSuggestions, setHideSuggestions] = useLocalStorage( + LOCAL_STORAGE_SUGGESTIONS_PANEL, + false + ); + + const toggleSuggestions = useCallback(() => { + setHideSuggestions(!hideSuggestions); + }, [setHideSuggestions, hideSuggestions]); const missingIndexPatterns = getMissingIndexPattern( activeDatasourceId ? datasourceMap[activeDatasourceId] : null, @@ -322,9 +332,10 @@ export function SuggestionPanel({ return (

    - - - +

    -
    - {existsStagedPreview && ( - + } + forceState={hideSuggestions ? 'closed' : 'open'} + onToggle={toggleSuggestions} + extraAction={ + existsStagedPreview && + !hideSuggestions && ( - - )} -
    - -
    - {currentVisualization.activeId && ( - - )} - {suggestions.map((suggestion, index) => { - return ( + ) + } + > +
    + {currentVisualization.activeId && !hideSuggestions && ( { - trackUiEvent('suggestion_clicked'); - if (lastSelectedSuggestion === index) { - rollbackToCurrentVisualization(); - } else { - setLastSelectedSuggestion(index); - switchToSuggestion(dispatchLens, suggestion); - } - }} - selected={index === lastSelectedSuggestion} + onSelect={rollbackToCurrentVisualization} + selected={lastSelectedSuggestion === -1} + showTitleAsLabel /> - ); - })} -
    + )} + {!hideSuggestions && + suggestions.map((suggestion, index) => { + return ( + { + trackUiEvent('suggestion_clicked'); + if (lastSelectedSuggestion === index) { + rollbackToCurrentVisualization(); + } else { + setLastSelectedSuggestion(index); + switchToSuggestion(dispatchLens, suggestion); + } + }} + selected={index === lastSelectedSuggestion} + /> + ); + })} +
    +
    ); } diff --git a/x-pack/plugins/lens/public/visualization_container.scss b/x-pack/plugins/lens/public/visualization_container.scss index c3c15eff3819ac..9fc16a0afc3650 100644 --- a/x-pack/plugins/lens/public/visualization_container.scss +++ b/x-pack/plugins/lens/public/visualization_container.scss @@ -1,6 +1,6 @@ .lnsVisualizationContainer { @include euiScrollBar; - overflow: auto; + overflow: auto hidden; user-select: text; } From f2b9acf67b421a530e011d12aa9386c488d829b9 Mon Sep 17 00:00:00 2001 From: Or Ouziel Date: Tue, 2 Nov 2021 13:53:56 +0200 Subject: [PATCH 055/110] replace any with unknown in http client and types (#114265) --- .../kibana-plugin-core-public.httpresponse.md | 2 +- ...plugin-core-public.ihttpfetcherror.body.md | 2 +- ...bana-plugin-core-public.ihttpfetcherror.md | 4 +-- ...ublic.ihttpresponseinterceptoroverrides.md | 2 +- .../core/public/kibana-plugin-core-public.md | 1 + ...ore-public.responseerrorbody.attributes.md | 11 ++++++++ ...na-plugin-core-public.responseerrorbody.md | 21 ++++++++++++++ ...n-core-public.responseerrorbody.message.md | 11 ++++++++ ...ore-public.responseerrorbody.statuscode.md | 11 ++++++++ examples/preboot_example/public/app.tsx | 5 ++-- src/core/public/http/fetch.test.ts | 2 +- src/core/public/http/fetch.ts | 20 +++++++++---- src/core/public/http/types.ts | 28 ++++++++++++------- src/core/public/index.ts | 1 + src/core/public/public.api.md | 26 +++++++++++------ .../saved_objects/saved_objects_client.ts | 14 +++++----- .../providers/value_suggestion_provider.ts | 4 +-- .../query/saved_query/saved_query_service.ts | 22 +++++++++------ .../data_views/data_views_api_client.ts | 8 ++++-- .../public/request/send_request.ts | 2 +- .../index_pattern_editor_flyout_content.tsx | 2 +- .../field_editor/lib/validate_script.ts | 5 +++- .../public/scripting_languages/index.ts | 4 +-- .../public/progress_indicator.tsx | 2 +- .../public/submit_error_callout.tsx | 4 +-- .../public/verification_code_form.tsx | 4 +-- src/plugins/share/public/lib/url_shortener.ts | 2 +- .../public/services/create_reporter.ts | 3 +- .../components/timelion_expression_input.tsx | 4 +-- .../core_plugins/execution_context.ts | 7 +++-- .../public/components/view_alert.tsx | 6 ++-- .../public/components/view_astros_alert.tsx | 8 ++++-- .../components/app/service_map/index.tsx | 4 +-- .../plugins/apm/public/hooks/use_fetcher.tsx | 10 ++++--- .../apm/public/services/rest/callApi.ts | 2 +- .../public/services/kibana/custom_element.ts | 4 +-- .../canvas/public/services/kibana/workpad.ts | 2 +- .../canvas/public/setup_expressions.ts | 2 +- x-pack/plugins/canvas/public/store.ts | 2 +- .../cases/public/containers/configure/api.ts | 16 +++++------ .../components/analytics/analytics_logic.ts | 4 +-- .../analytics_tables/shared_columns.tsx | 2 +- .../components/api_logs/api_logs_logic.ts | 19 +++++++------ .../components/add_domain/add_domain_logic.ts | 3 +- .../components/crawler/crawler_logic.ts | 13 +++++++-- .../crawler/crawler_overview_logic.ts | 4 +-- .../crawler/crawler_single_domain_logic.ts | 6 ++-- .../credentials/credentials_logic.ts | 15 +++++++--- .../components/suggestions_logic.tsx | 2 +- .../curations/curation/curation_logic.ts | 4 +-- .../components/curations/curations_logic.ts | 22 +++++++++------ .../curation_suggestion_logic.ts | 3 +- .../curations_settings_logic.ts | 4 +-- .../document_creation_logic.ts | 5 +++- .../documents/document_detail_logic.ts | 2 +- .../components/engine/engine_logic.ts | 4 ++- .../engine_overview/engine_overview_logic.ts | 4 ++- .../components/engines/engines_logic.ts | 4 +-- .../relevance_tuning_logic.ts | 8 +++--- .../result_settings/result_settings_logic.ts | 13 +++++++-- .../sample_response/sample_response_logic.ts | 4 ++- .../role_mappings/role_mappings_logic.ts | 9 ++++-- .../schema/reindex_job/reindex_job_logic.ts | 2 +- .../components/schema/schema_base_logic.ts | 4 ++- .../components/schema/schema_logic.ts | 7 +++-- .../components/search/search_logic.ts | 7 +++-- .../components/search_ui/search_ui_logic.ts | 6 +++- .../components/synonyms/synonyms_logic.ts | 15 ++++++---- ...ic_endpoint_inline_editable_table_logic.ts | 10 ++++--- .../components/add_source/add_source_logic.ts | 20 ++++++++----- .../display_settings_logic.ts | 11 +++++--- .../components/schema/schema_logic.ts | 8 ++++-- .../synchronization/synchronization_logic.ts | 4 ++- .../views/content_sources/source_logic.ts | 12 ++++---- .../views/content_sources/sources_logic.ts | 7 +++-- .../views/groups/group_logic.ts | 8 +++--- .../views/groups/groups_logic.ts | 19 ++++++++----- .../oauth_authorize/oauth_authorize_logic.ts | 6 ++-- .../views/overview/overview_logic.ts | 4 ++- .../role_mappings/role_mappings_logic.ts | 12 ++++---- .../search_authorize_logic.ts | 4 +-- .../views/security/security_logic.ts | 4 +-- .../views/settings/settings_logic.ts | 16 +++++++---- .../graph/public/helpers/format_http_error.ts | 12 ++++---- .../graph/public/helpers/use_graph_loader.ts | 10 +++---- .../graph/public/services/fetch_top_nodes.ts | 4 +-- .../public/application/services/api_errors.ts | 13 ++++++--- .../public/application/services/api.ts | 4 +-- .../pages/link_to/use_host_ip_to_name.ts | 2 +- .../indexpattern_datasource/field_item.tsx | 4 +-- x-pack/plugins/licensing/public/plugin.ts | 5 ++-- .../es_search_source/es_search_source.tsx | 7 ++--- .../es_search_source/util/feature_edit.ts | 10 +++++-- .../application/hooks/use_alerts_modal.ts | 11 ++++++-- .../hooks/use_request_error_handler.tsx | 6 ++-- .../public/application/pages/apm/instance.tsx | 4 +-- .../application/pages/apm/instances.tsx | 4 +-- .../public/application/pages/apm/overview.tsx | 2 +- .../application/pages/beats/instance.tsx | 4 +-- .../application/pages/beats/instances.tsx | 4 +-- .../application/pages/beats/overview.tsx | 2 +- .../pages/elasticsearch/index_page.tsx | 2 +- .../pages/elasticsearch/ml_jobs_page.tsx | 6 ++-- .../pages/elasticsearch/node_page.tsx | 2 +- .../pages/elasticsearch/nodes_page.tsx | 2 +- .../pages/elasticsearch/overview.tsx | 2 +- .../application/pages/kibana/instance.tsx | 2 +- .../application/pages/kibana/instances.tsx | 2 +- .../pages/logstash/node_pipelines.tsx | 2 +- .../application/pages/logstash/overview.tsx | 2 +- .../application/pages/logstash/pipeline.tsx | 2 +- .../application/pages/logstash/pipelines.tsx | 2 +- .../application/pages/page_template.tsx | 4 +-- .../monitoring/public/lib/setup_mode.tsx | 6 ++-- .../components/app/cases/case_view/helpers.ts | 2 +- .../public/agent_policies/use_agent_policy.ts | 2 +- .../public/agents/use_osquery_policies.ts | 8 ++++-- .../common/hooks/use_osquery_integration.tsx | 25 +++++++++++------ .../plugins/osquery/public/components/app.tsx | 2 +- ...squery_managed_custom_button_extension.tsx | 4 +-- ...managed_policy_create_import_extension.tsx | 15 ++++++---- .../public/live_queries/form/index.tsx | 2 +- .../osquery/public/packs/use_create_pack.ts | 2 +- .../plugins/osquery/public/packs/use_packs.ts | 2 +- .../osquery/public/packs/use_update_pack.ts | 2 +- .../saved_queries/use_create_saved_query.ts | 2 +- .../public/saved_queries/use_saved_queries.ts | 2 +- .../public/saved_queries/use_saved_query.ts | 2 +- .../saved_queries/use_update_saved_query.ts | 2 +- .../application/hooks/use_submit_code.ts | 2 +- .../public/application/services/api_errors.ts | 12 ++++++-- .../reporting_api_client.ts | 8 +++--- .../panel_actions/get_csv_panel_action.tsx | 2 +- .../public/crud_app/services/api_errors.ts | 27 ++++++++++++++++-- .../application/hooks/use_request_profile.ts | 5 +++- .../roles/edit_role/edit_role_page.tsx | 2 +- .../pages/endpoint_hosts/store/middleware.ts | 10 ++++--- .../public/spaces_manager/spaces_manager.ts | 6 ++-- .../public/container/use_update_alerts.ts | 9 +++--- .../public/app/services/es_index_service.ts | 2 +- .../builtin_action_types/resilient/api.ts | 6 ++-- .../action_connector_api/connector_types.ts | 4 ++- .../lib/action_connector_api/connectors.ts | 4 ++- .../lib/action_connector_api/create.ts | 7 +++-- .../lib/action_connector_api/delete.ts | 4 ++- .../lib/action_connector_api/execute.ts | 2 +- .../lib/action_connector_api/update.ts | 17 ++++++----- .../application/lib/alert_api/aggregate.ts | 21 ++++++++------ .../lib/alert_api/alert_summary.ts | 4 +-- .../application/lib/alert_api/create.ts | 4 +-- .../application/lib/alert_api/delete.ts | 2 +- .../application/lib/alert_api/get_rule.ts | 5 +++- .../application/lib/alert_api/health.ts | 13 +++++++-- .../application/lib/alert_api/resolve_rule.ts | 3 +- .../application/lib/alert_api/rule_types.ts | 4 ++- .../public/application/lib/alert_api/rules.ts | 9 +++++- .../public/application/lib/alert_api/state.ts | 6 ++-- .../application/lib/alert_api/update.ts | 19 +++++++------ .../public/common/lib/data_apis.ts | 14 ++++++---- .../empty_state/empty_state_error.tsx | 12 ++++---- .../monitor_list/monitor_list.test.tsx | 4 +-- .../plugins/uptime/public/state/api/alerts.ts | 7 +++-- .../uptime/public/state/api/journey.ts | 4 ++- .../uptime/public/state/api/monitor.ts | 4 +-- .../public/state/api/monitor_duration.ts | 2 +- .../plugins/uptime/public/state/api/utils.ts | 21 ++++++++------ .../public/state/reducers/monitor_list.ts | 11 +++++--- .../uptime/public/state/reducers/types.ts | 4 +-- .../watcher/public/application/lib/api.ts | 10 +++---- 169 files changed, 732 insertions(+), 428 deletions(-) create mode 100644 docs/development/core/public/kibana-plugin-core-public.responseerrorbody.attributes.md create mode 100644 docs/development/core/public/kibana-plugin-core-public.responseerrorbody.md create mode 100644 docs/development/core/public/kibana-plugin-core-public.responseerrorbody.message.md create mode 100644 docs/development/core/public/kibana-plugin-core-public.responseerrorbody.statuscode.md diff --git a/docs/development/core/public/kibana-plugin-core-public.httpresponse.md b/docs/development/core/public/kibana-plugin-core-public.httpresponse.md index 80a1cb8f026344..dcbfa556da65df 100644 --- a/docs/development/core/public/kibana-plugin-core-public.httpresponse.md +++ b/docs/development/core/public/kibana-plugin-core-public.httpresponse.md @@ -8,7 +8,7 @@ Signature: ```typescript -export interface HttpResponse +export interface HttpResponse ``` ## Properties diff --git a/docs/development/core/public/kibana-plugin-core-public.ihttpfetcherror.body.md b/docs/development/core/public/kibana-plugin-core-public.ihttpfetcherror.body.md index 2a5b5067e0301a..d053a5a9d360c0 100644 --- a/docs/development/core/public/kibana-plugin-core-public.ihttpfetcherror.body.md +++ b/docs/development/core/public/kibana-plugin-core-public.ihttpfetcherror.body.md @@ -7,5 +7,5 @@ Signature: ```typescript -readonly body?: any; +readonly body?: TResponseBody; ``` diff --git a/docs/development/core/public/kibana-plugin-core-public.ihttpfetcherror.md b/docs/development/core/public/kibana-plugin-core-public.ihttpfetcherror.md index 779cb4d3e59e54..8c21d1636711f3 100644 --- a/docs/development/core/public/kibana-plugin-core-public.ihttpfetcherror.md +++ b/docs/development/core/public/kibana-plugin-core-public.ihttpfetcherror.md @@ -8,14 +8,14 @@ Signature: ```typescript -export interface IHttpFetchError extends Error +export interface IHttpFetchError extends Error ``` ## Properties | Property | Type | Description | | --- | --- | --- | -| [body](./kibana-plugin-core-public.ihttpfetcherror.body.md) | any | | +| [body](./kibana-plugin-core-public.ihttpfetcherror.body.md) | TResponseBody | | | [name](./kibana-plugin-core-public.ihttpfetcherror.name.md) | string | | | [req](./kibana-plugin-core-public.ihttpfetcherror.req.md) | Request | | | [request](./kibana-plugin-core-public.ihttpfetcherror.request.md) | Request | | diff --git a/docs/development/core/public/kibana-plugin-core-public.ihttpresponseinterceptoroverrides.md b/docs/development/core/public/kibana-plugin-core-public.ihttpresponseinterceptoroverrides.md index 1e862bc4ae8087..4b55cec8f3a2f3 100644 --- a/docs/development/core/public/kibana-plugin-core-public.ihttpresponseinterceptoroverrides.md +++ b/docs/development/core/public/kibana-plugin-core-public.ihttpresponseinterceptoroverrides.md @@ -9,7 +9,7 @@ Properties that can be returned by HttpInterceptor.request to override the respo Signature: ```typescript -export interface IHttpResponseInterceptorOverrides +export interface IHttpResponseInterceptorOverrides ``` ## Properties diff --git a/docs/development/core/public/kibana-plugin-core-public.md b/docs/development/core/public/kibana-plugin-core-public.md index e5fbe7c3524ed1..a32dceafd74a9d 100644 --- a/docs/development/core/public/kibana-plugin-core-public.md +++ b/docs/development/core/public/kibana-plugin-core-public.md @@ -97,6 +97,7 @@ The plugin integrates with the core system via lifecycle events: `setup` | [Plugin](./kibana-plugin-core-public.plugin.md) | The interface that should be returned by a PluginInitializer. | | [PluginInitializerContext](./kibana-plugin-core-public.plugininitializercontext.md) | The available core services passed to a PluginInitializer | | [ResolvedSimpleSavedObject](./kibana-plugin-core-public.resolvedsimplesavedobject.md) | This interface is a very simple wrapper for SavedObjects resolved from the server with the [SavedObjectsClient](./kibana-plugin-core-public.savedobjectsclient.md). | +| [ResponseErrorBody](./kibana-plugin-core-public.responseerrorbody.md) | | | [SavedObject](./kibana-plugin-core-public.savedobject.md) | | | [SavedObjectAttributes](./kibana-plugin-core-public.savedobjectattributes.md) | The data for a Saved Object is stored as an object in the attributes property. | | [SavedObjectError](./kibana-plugin-core-public.savedobjecterror.md) | | diff --git a/docs/development/core/public/kibana-plugin-core-public.responseerrorbody.attributes.md b/docs/development/core/public/kibana-plugin-core-public.responseerrorbody.attributes.md new file mode 100644 index 00000000000000..bf64b25c04f924 --- /dev/null +++ b/docs/development/core/public/kibana-plugin-core-public.responseerrorbody.attributes.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-core-public](./kibana-plugin-core-public.md) > [ResponseErrorBody](./kibana-plugin-core-public.responseerrorbody.md) > [attributes](./kibana-plugin-core-public.responseerrorbody.attributes.md) + +## ResponseErrorBody.attributes property + +Signature: + +```typescript +attributes?: Record; +``` diff --git a/docs/development/core/public/kibana-plugin-core-public.responseerrorbody.md b/docs/development/core/public/kibana-plugin-core-public.responseerrorbody.md new file mode 100644 index 00000000000000..8a990909fac3ec --- /dev/null +++ b/docs/development/core/public/kibana-plugin-core-public.responseerrorbody.md @@ -0,0 +1,21 @@ + + +[Home](./index.md) > [kibana-plugin-core-public](./kibana-plugin-core-public.md) > [ResponseErrorBody](./kibana-plugin-core-public.responseerrorbody.md) + +## ResponseErrorBody interface + + +Signature: + +```typescript +export interface ResponseErrorBody +``` + +## Properties + +| Property | Type | Description | +| --- | --- | --- | +| [attributes](./kibana-plugin-core-public.responseerrorbody.attributes.md) | Record<string, unknown> | | +| [message](./kibana-plugin-core-public.responseerrorbody.message.md) | string | | +| [statusCode](./kibana-plugin-core-public.responseerrorbody.statuscode.md) | number | | + diff --git a/docs/development/core/public/kibana-plugin-core-public.responseerrorbody.message.md b/docs/development/core/public/kibana-plugin-core-public.responseerrorbody.message.md new file mode 100644 index 00000000000000..a3355ddafde1ee --- /dev/null +++ b/docs/development/core/public/kibana-plugin-core-public.responseerrorbody.message.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-core-public](./kibana-plugin-core-public.md) > [ResponseErrorBody](./kibana-plugin-core-public.responseerrorbody.md) > [message](./kibana-plugin-core-public.responseerrorbody.message.md) + +## ResponseErrorBody.message property + +Signature: + +```typescript +message: string; +``` diff --git a/docs/development/core/public/kibana-plugin-core-public.responseerrorbody.statuscode.md b/docs/development/core/public/kibana-plugin-core-public.responseerrorbody.statuscode.md new file mode 100644 index 00000000000000..a342bb0187d72f --- /dev/null +++ b/docs/development/core/public/kibana-plugin-core-public.responseerrorbody.statuscode.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-core-public](./kibana-plugin-core-public.md) > [ResponseErrorBody](./kibana-plugin-core-public.responseerrorbody.md) > [statusCode](./kibana-plugin-core-public.responseerrorbody.statuscode.md) + +## ResponseErrorBody.statusCode property + +Signature: + +```typescript +statusCode: number; +``` diff --git a/examples/preboot_example/public/app.tsx b/examples/preboot_example/public/app.tsx index 364b7d5bfe8d32..d95df8cf72164b 100644 --- a/examples/preboot_example/public/app.tsx +++ b/examples/preboot_example/public/app.tsx @@ -17,7 +17,7 @@ import { EuiText, } from '@elastic/eui'; import React, { useEffect, useState } from 'react'; -import type { HttpSetup, IHttpFetchError } from 'src/core/public'; +import type { HttpSetup, IHttpFetchError, ResponseErrorBody } from 'src/core/public'; export const App = ({ http, token }: { http: HttpSetup; token?: string }) => { const onCompleteSetup = async ({ shouldReloadConfig }: { shouldReloadConfig: boolean }) => { @@ -41,7 +41,8 @@ export const App = ({ http, token }: { http: HttpSetup; token?: string }) => { .post('/api/preboot/connect_to_es', { body: JSON.stringify(elasticsearchConfig) }) .then( (response) => setConnectResponse(JSON.stringify(response)), - (err: IHttpFetchError) => setConnectResponse(err?.body?.message || 'ERROR') + (err: IHttpFetchError) => + setConnectResponse(err?.body?.message || 'ERROR') ); }; diff --git a/src/core/public/http/fetch.test.ts b/src/core/public/http/fetch.test.ts index d1af183e9e180e..e897d69057e029 100644 --- a/src/core/public/http/fetch.test.ts +++ b/src/core/public/http/fetch.test.ts @@ -438,7 +438,7 @@ describe('Fetch', () => { headers: { 'Content-Type': 'application/ndjson' }, }); - const data = await fetchInstance.post('/my/path', { + const data = await fetchInstance.post('/my/path', { body, headers: { 'Content-Type': undefined, diff --git a/src/core/public/http/fetch.ts b/src/core/public/http/fetch.ts index 372445b2b09028..4ee81f4b47aa0c 100644 --- a/src/core/public/http/fetch.ts +++ b/src/core/public/http/fetch.ts @@ -92,9 +92,9 @@ export class Fetch { ); if (optionsWithPath.asResponse) { - resolve(interceptedResponse); + resolve(interceptedResponse as HttpResponse); } else { - resolve(interceptedResponse.body); + resolve(interceptedResponse.body as TResponseBody); } } catch (error) { if (!(error instanceof HttpInterceptHaltError)) { @@ -142,7 +142,9 @@ export class Fetch { return new Request(url, fetchOptions as RequestInit); } - private async fetchResponse(fetchOptions: HttpFetchOptionsWithPath): Promise> { + private async fetchResponse( + fetchOptions: HttpFetchOptionsWithPath + ): Promise> { const request = this.createRequest(fetchOptions); let response: Response; let body = null; @@ -181,9 +183,15 @@ export class Fetch { } private shorthand(method: string): HttpHandler { - return (pathOrOptions: string | HttpFetchOptionsWithPath, options?: HttpFetchOptions) => { - const optionsWithPath = validateFetchArguments(pathOrOptions, options); - return this.fetch({ ...optionsWithPath, method }); + return ( + pathOrOptions: string | HttpFetchOptionsWithPath, + options?: HttpFetchOptions + ) => { + const optionsWithPath: HttpFetchOptionsWithPath = validateFetchArguments( + pathOrOptions, + options + ); + return this.fetch>({ ...optionsWithPath, method }); }; } } diff --git a/src/core/public/http/types.ts b/src/core/public/http/types.ts index 4d59c52813e182..876799765ea1c4 100644 --- a/src/core/public/http/types.ts +++ b/src/core/public/http/types.ts @@ -296,18 +296,19 @@ export interface HttpFetchOptionsWithPath extends HttpFetchOptions { * @public */ export interface HttpHandler { - (path: string, options: HttpFetchOptions & { asResponse: true }): Promise< + ( + path: string, + options: HttpFetchOptions & { asResponse: true } + ): Promise>; + (options: HttpFetchOptionsWithPath & { asResponse: true }): Promise< HttpResponse >; - (options: HttpFetchOptionsWithPath & { asResponse: true }): Promise< - HttpResponse - >; - (path: string, options?: HttpFetchOptions): Promise; - (options: HttpFetchOptionsWithPath): Promise; + (path: string, options?: HttpFetchOptions): Promise; + (options: HttpFetchOptionsWithPath): Promise; } /** @public */ -export interface HttpResponse { +export interface HttpResponse { /** The original {@link HttpFetchOptionsWithPath} used to send this request. */ readonly fetchOptions: Readonly; /** Raw request sent to Kibana server. */ @@ -322,7 +323,7 @@ export interface HttpResponse { * Properties that can be returned by HttpInterceptor.request to override the response. * @public */ -export interface IHttpResponseInterceptorOverrides { +export interface IHttpResponseInterceptorOverrides { /** Raw response received, may be undefined if there was an error. */ readonly response?: Readonly; /** Parsed body received, may be undefined if there was an error. */ @@ -330,7 +331,14 @@ export interface IHttpResponseInterceptorOverrides { } /** @public */ -export interface IHttpFetchError extends Error { +export interface ResponseErrorBody { + message: string; + statusCode: number; + attributes?: Record; +} + +/** @public */ +export interface IHttpFetchError extends Error { readonly name: string; readonly request: Request; readonly response?: Response; @@ -342,7 +350,7 @@ export interface IHttpFetchError extends Error { * @deprecated Provided for legacy compatibility. Prefer the `response` property instead. */ readonly res?: Response; - readonly body?: any; // TODO: this should be unknown + readonly body?: TResponseBody; } /** @public */ diff --git a/src/core/public/index.ts b/src/core/public/index.ts index b2d3d21a09999c..40326d9c676065 100644 --- a/src/core/public/index.ts +++ b/src/core/public/index.ts @@ -157,6 +157,7 @@ export type { IAnonymousPaths, IExternalUrl, IHttpInterceptController, + ResponseErrorBody, IHttpFetchError, IHttpResponseInterceptorOverrides, } from './http'; diff --git a/src/core/public/public.api.md b/src/core/public/public.api.md index 5d63d2b6f77cea..6c377bd2870aef 100644 --- a/src/core/public/public.api.md +++ b/src/core/public/public.api.md @@ -805,17 +805,17 @@ export interface HttpFetchQuery { // @public export interface HttpHandler { // (undocumented) - (path: string, options: HttpFetchOptions & { + (path: string, options: HttpFetchOptions & { asResponse: true; }): Promise>; // (undocumented) - (options: HttpFetchOptionsWithPath & { + (options: HttpFetchOptionsWithPath & { asResponse: true; }): Promise>; // (undocumented) - (path: string, options?: HttpFetchOptions): Promise; + (path: string, options?: HttpFetchOptions): Promise; // (undocumented) - (options: HttpFetchOptionsWithPath): Promise; + (options: HttpFetchOptionsWithPath): Promise; } // @public @@ -867,7 +867,7 @@ export interface HttpRequestInit { } // @public (undocumented) -export interface HttpResponse { +export interface HttpResponse { readonly body?: TResponseBody; readonly fetchOptions: Readonly; readonly request: Readonly; @@ -934,9 +934,9 @@ export interface IExternalUrlPolicy { } // @public (undocumented) -export interface IHttpFetchError extends Error { +export interface IHttpFetchError extends Error { // (undocumented) - readonly body?: any; + readonly body?: TResponseBody; // (undocumented) readonly name: string; // @deprecated (undocumented) @@ -956,7 +956,7 @@ export interface IHttpInterceptController { } // @public -export interface IHttpResponseInterceptorOverrides { +export interface IHttpResponseInterceptorOverrides { readonly body?: TResponseBody; readonly response?: Readonly; } @@ -1188,6 +1188,16 @@ export interface ResolvedSimpleSavedObject { saved_object: SimpleSavedObject; } +// @public (undocumented) +export interface ResponseErrorBody { + // (undocumented) + attributes?: Record; + // (undocumented) + message: string; + // (undocumented) + statusCode: number; +} + // Warning: (ae-missing-release-tag) "SavedObject" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) diff --git a/src/core/public/saved_objects/saved_objects_client.ts b/src/core/public/saved_objects/saved_objects_client.ts index d3810d8932f1aa..c19233809a94be 100644 --- a/src/core/public/saved_objects/saved_objects_client.ts +++ b/src/core/public/saved_objects/saved_objects_client.ts @@ -292,7 +292,7 @@ export class SavedObjectsClient { overwrite: options.overwrite, }; - const createRequest: Promise> = this.savedObjectsFetch(path, { + const createRequest = this.savedObjectsFetch>(path, { method: 'POST', query, body: JSON.stringify({ @@ -571,10 +571,10 @@ export class SavedObjectsClient { upsert, }; - return this.savedObjectsFetch(path, { + return this.savedObjectsFetch>(path, { method: 'PUT', body: JSON.stringify(body), - }).then((resp: SavedObject) => { + }).then((resp) => { return this.createSavedObject(resp); }); } @@ -588,11 +588,11 @@ export class SavedObjectsClient { public bulkUpdate(objects: SavedObjectsBulkUpdateObject[] = []) { const path = this.getPath(['_bulk_update']); - return this.savedObjectsFetch(path, { + return this.savedObjectsFetch<{ saved_objects: Array> }>(path, { method: 'PUT', body: JSON.stringify(objects), }).then((resp) => { - resp.saved_objects = resp.saved_objects.map((d: SavedObject) => this.createSavedObject(d)); + resp.saved_objects = resp.saved_objects.map((d) => this.createSavedObject(d)); return renameKeys< PromiseType>, SavedObjectsBatchResponse @@ -624,8 +624,8 @@ export class SavedObjectsClient { * the old kfetch error format of `{res: {status: number}}` whereas `http.fetch` * uses `{response: {status: number}}`. */ - private savedObjectsFetch(path: string, { method, query, body }: HttpFetchOptions) { - return this.http.fetch(path, { method, query, body }); + private savedObjectsFetch(path: string, { method, query, body }: HttpFetchOptions) { + return this.http.fetch(path, { method, query, body }); } } diff --git a/src/plugins/data/public/autocomplete/providers/value_suggestion_provider.ts b/src/plugins/data/public/autocomplete/providers/value_suggestion_provider.ts index 0c98d0733c6474..588bac4739c538 100644 --- a/src/plugins/data/public/autocomplete/providers/value_suggestion_provider.ts +++ b/src/plugins/data/public/autocomplete/providers/value_suggestion_provider.ts @@ -56,7 +56,7 @@ export const setupValueSuggestionProvider = ( } const requestSuggestions = memoize( - ( + ( index: string, field: IFieldType, query: string, @@ -68,7 +68,7 @@ export const setupValueSuggestionProvider = ( ) => { usageCollector?.trackRequest(); return core.http - .fetch(`/api/kibana/suggestions/values/${index}`, { + .fetch(`/api/kibana/suggestions/values/${index}`, { method: 'POST', body: JSON.stringify({ query, diff --git a/src/plugins/data/public/query/saved_query/saved_query_service.ts b/src/plugins/data/public/query/saved_query/saved_query_service.ts index 8ec9167a3a0c2a..17b47c78c7000a 100644 --- a/src/plugins/data/public/query/saved_query/saved_query_service.ts +++ b/src/plugins/data/public/query/saved_query/saved_query_service.ts @@ -12,14 +12,14 @@ import { SavedQueryAttributes } from '../../../common'; export const createSavedQueryService = (http: HttpStart) => { const createQuery = async (attributes: SavedQueryAttributes, { overwrite = false } = {}) => { - const savedQuery = await http.post('/api/saved_query/_create', { + const savedQuery = await http.post('/api/saved_query/_create', { body: JSON.stringify(attributes), }); return savedQuery; }; const updateQuery = async (id: string, attributes: SavedQueryAttributes) => { - const savedQuery = await http.put(`/api/saved_query/${id}`, { + const savedQuery = await http.put(`/api/saved_query/${id}`, { body: JSON.stringify(attributes), }); return savedQuery; @@ -27,9 +27,10 @@ export const createSavedQueryService = (http: HttpStart) => { // we have to tell the saved objects client how many to fetch, otherwise it defaults to fetching 20 per page const getAllSavedQueries = async (): Promise => { - const { savedQueries } = await http.post('/api/saved_query/_find', { - body: JSON.stringify({ perPage: 10000 }), - }); + const { savedQueries } = await http.post<{ savedQueries: SavedQuery[] }>( + '/api/saved_query/_find', + { body: JSON.stringify({ perPage: 10000 }) } + ); return savedQueries; }; @@ -39,7 +40,10 @@ export const createSavedQueryService = (http: HttpStart) => { perPage: number = 50, page: number = 1 ): Promise<{ total: number; queries: SavedQuery[] }> => { - const { total, savedQueries: queries } = await http.post('/api/saved_query/_find', { + const { total, savedQueries: queries } = await http.post<{ + savedQueries: SavedQuery[]; + total: number; + }>('/api/saved_query/_find', { body: JSON.stringify({ page, perPage, search }), }); @@ -47,15 +51,15 @@ export const createSavedQueryService = (http: HttpStart) => { }; const getSavedQuery = (id: string): Promise => { - return http.get(`/api/saved_query/${id}`); + return http.get(`/api/saved_query/${id}`); }; const deleteSavedQuery = (id: string) => { - return http.delete(`/api/saved_query/${id}`); + return http.delete<{}>(`/api/saved_query/${id}`); }; const getSavedQueryCount = async (): Promise => { - return http.get('/api/saved_query/_count'); + return http.get('/api/saved_query/_count'); }; return { diff --git a/src/plugins/data_views/public/data_views/data_views_api_client.ts b/src/plugins/data_views/public/data_views/data_views_api_client.ts index d4da9a55c25d1a..90cc82f2a1ec02 100644 --- a/src/plugins/data_views/public/data_views/data_views_api_client.ts +++ b/src/plugins/data_views/public/data_views/data_views_api_client.ts @@ -19,9 +19,9 @@ export class DataViewsApiClient implements IDataViewsApiClient { this.http = http; } - private _request(url: string, query?: any) { + private _request(url: string, query?: any) { return this.http - .fetch(url, { + .fetch(url, { query, }) .catch((resp: any) => { @@ -60,7 +60,9 @@ export class DataViewsApiClient implements IDataViewsApiClient { } async hasUserIndexPattern(): Promise { - const response = await this._request(this._getUrl(['has_user_index_pattern'])); + const response = await this._request<{ result: boolean }>( + this._getUrl(['has_user_index_pattern']) + ); return response.result; } } diff --git a/src/plugins/es_ui_shared/public/request/send_request.ts b/src/plugins/es_ui_shared/public/request/send_request.ts index 11ab99cfb69786..bdc6386ad15c6d 100644 --- a/src/plugins/es_ui_shared/public/request/send_request.ts +++ b/src/plugins/es_ui_shared/public/request/send_request.ts @@ -31,7 +31,7 @@ export const sendRequest = async ( ): Promise> => { try { const stringifiedBody = typeof body === 'string' ? body : JSON.stringify(body); - const response = await httpClient[method](path, { + const response = await httpClient[method]<{ data?: D } & D>(path, { body: stringifiedBody, query, asSystemRequest, diff --git a/src/plugins/index_pattern_editor/public/components/index_pattern_editor_flyout_content.tsx b/src/plugins/index_pattern_editor/public/components/index_pattern_editor_flyout_content.tsx index bbe729d4684b7b..5a6ad9aafdbdd4 100644 --- a/src/plugins/index_pattern_editor/public/components/index_pattern_editor_flyout_content.tsx +++ b/src/plugins/index_pattern_editor/public/components/index_pattern_editor_flyout_content.tsx @@ -167,7 +167,7 @@ const IndexPatternEditorFlyoutContentComponent = ({ useEffect(() => { const getRollups = async () => { try { - const response = await http.get('/api/rollup/indices'); + const response = await http.get('/api/rollup/indices'); if (response) { setRollupIndicesCapabilities(response); } diff --git a/src/plugins/index_pattern_management/public/components/field_editor/lib/validate_script.ts b/src/plugins/index_pattern_management/public/components/field_editor/lib/validate_script.ts index 8c710e80523482..5bff350b332a0f 100644 --- a/src/plugins/index_pattern_management/public/components/field_editor/lib/validate_script.ts +++ b/src/plugins/index_pattern_management/public/components/field_editor/lib/validate_script.ts @@ -18,7 +18,10 @@ export const executeScript = async ({ http, }: ExecuteScriptParams): Promise => { return http - .post('/internal/index-pattern-management/preview_scripted_field', { + .post<{ + statusCode: ExecuteScriptResult['status']; + body: { hits: ExecuteScriptResult['hits'] }; + }>('/internal/index-pattern-management/preview_scripted_field', { body: JSON.stringify({ index: indexPatternTitle, name, diff --git a/src/plugins/index_pattern_management/public/scripting_languages/index.ts b/src/plugins/index_pattern_management/public/scripting_languages/index.ts index 46bb0a359ae89a..f01802786ea573 100644 --- a/src/plugins/index_pattern_management/public/scripting_languages/index.ts +++ b/src/plugins/index_pattern_management/public/scripting_languages/index.ts @@ -21,12 +21,12 @@ export const getEnabledScriptingLanguages = ( http: HttpStart, toasts: NotificationsStart['toasts'] ) => - http.get('/api/kibana/scripts/languages').catch(() => { + http.get('/api/kibana/scripts/languages').catch(() => { toasts.addDanger( i18n.translate('indexPatternManagement.scriptingLanguages.errorFetchingToastDescription', { defaultMessage: 'Error getting available scripting languages from Elasticsearch', }) ); - return []; + return [] as estypes.ScriptLanguage[]; }); diff --git a/src/plugins/interactive_setup/public/progress_indicator.tsx b/src/plugins/interactive_setup/public/progress_indicator.tsx index 73f757246af530..21bdcd2f786884 100644 --- a/src/plugins/interactive_setup/public/progress_indicator.tsx +++ b/src/plugins/interactive_setup/public/progress_indicator.tsx @@ -51,7 +51,7 @@ export const ProgressIndicator: FunctionComponent = ({ o } catch (error) { const { response, body = {} } = error as IHttpFetchError; isAvailable = response ? response.status < 500 : undefined; - isPastPreboot = isKibanaPastPreboot(response, body); + isPastPreboot = isKibanaPastPreboot(response, body as StatusResponse); } return isAvailable === true && isPastPreboot ? 'complete' diff --git a/src/plugins/interactive_setup/public/submit_error_callout.tsx b/src/plugins/interactive_setup/public/submit_error_callout.tsx index 728bbeff559de6..9622d08d48b867 100644 --- a/src/plugins/interactive_setup/public/submit_error_callout.tsx +++ b/src/plugins/interactive_setup/public/submit_error_callout.tsx @@ -11,7 +11,7 @@ import type { FunctionComponent } from 'react'; import React from 'react'; import { FormattedMessage } from '@kbn/i18n/react'; -import type { IHttpFetchError } from 'kibana/public'; +import type { IHttpFetchError, ResponseErrorBody } from 'kibana/public'; import { ERROR_CONFIGURE_FAILURE, @@ -29,7 +29,7 @@ export interface SubmitErrorCalloutProps { } export const SubmitErrorCallout: FunctionComponent = (props) => { - const error = props.error as IHttpFetchError; + const error = props.error as IHttpFetchError; if ( error.body?.statusCode === 404 || diff --git a/src/plugins/interactive_setup/public/verification_code_form.tsx b/src/plugins/interactive_setup/public/verification_code_form.tsx index 0f2676a80364e7..9ff86c63aca7fa 100644 --- a/src/plugins/interactive_setup/public/verification_code_form.tsx +++ b/src/plugins/interactive_setup/public/verification_code_form.tsx @@ -20,7 +20,7 @@ import React from 'react'; import { i18n } from '@kbn/i18n'; import { FormattedMessage } from '@kbn/i18n/react'; -import type { IHttpFetchError } from 'kibana/public'; +import type { IHttpFetchError, ResponseErrorBody } from 'kibana/public'; import { VERIFICATION_CODE_LENGTH } from '../common'; import { SingleCharsField } from './single_chars_field'; @@ -71,7 +71,7 @@ export const VerificationCodeForm: FunctionComponent }); } catch (error) { if ((error as IHttpFetchError).response?.status === 403) { - form.setError('code', (error as IHttpFetchError).body?.message); + form.setError('code', (error as IHttpFetchError).body?.message || ''); return; } else { throw error; diff --git a/src/plugins/share/public/lib/url_shortener.ts b/src/plugins/share/public/lib/url_shortener.ts index 6d0b7ae91e3418..9a0ae9cfb0bad0 100644 --- a/src/plugins/share/public/lib/url_shortener.ts +++ b/src/plugins/share/public/lib/url_shortener.ts @@ -29,7 +29,7 @@ export async function shortenUrl( params: { url: relativeUrl }, }); - const resp = await post('/api/short_url', { + const resp = await post<{ id: string }>('/api/short_url', { body, }); diff --git a/src/plugins/usage_collection/public/services/create_reporter.ts b/src/plugins/usage_collection/public/services/create_reporter.ts index e5006646fe368c..fb187d1c0c4860 100644 --- a/src/plugins/usage_collection/public/services/create_reporter.ts +++ b/src/plugins/usage_collection/public/services/create_reporter.ts @@ -22,7 +22,8 @@ export function createReporter(config: AnalyicsReporterConfig): Reporter { debug, storage: localStorage, async http(report) { - const response = await fetch.post('/api/ui_counters/_report', { + // eslint-disable-next-line @typescript-eslint/no-explicit-any + const response = await fetch.post('/api/ui_counters/_report', { body: JSON.stringify({ report }), asSystemRequest: true, }); diff --git a/src/plugins/vis_types/timelion/public/components/timelion_expression_input.tsx b/src/plugins/vis_types/timelion/public/components/timelion_expression_input.tsx index dd949f57bce28b..88e6d255733ed0 100644 --- a/src/plugins/vis_types/timelion/public/components/timelion_expression_input.tsx +++ b/src/plugins/vis_types/timelion/public/components/timelion_expression_input.tsx @@ -25,7 +25,7 @@ interface TimelionExpressionInputProps { } function TimelionExpressionInput({ value, setValue }: TimelionExpressionInputProps) { - const functionList = useRef([]); + const functionList = useRef([]); const kibana = useKibana(); const argValueSuggestions = useMemo(getArgValueSuggestions, []); @@ -84,7 +84,7 @@ function TimelionExpressionInput({ value, setValue }: TimelionExpressionInputPro useEffect(() => { if (kibana.services.http) { - kibana.services.http.get('../api/timelion/functions').then((data) => { + kibana.services.http.get('../api/timelion/functions').then((data) => { functionList.current = data; }); } diff --git a/test/plugin_functional/test_suites/core_plugins/execution_context.ts b/test/plugin_functional/test_suites/core_plugins/execution_context.ts index 7dc9922dca51d8..6d1da821d3daa7 100644 --- a/test/plugin_functional/test_suites/core_plugins/execution_context.ts +++ b/test/plugin_functional/test_suites/core_plugins/execution_context.ts @@ -33,9 +33,10 @@ export default function ({ getService, getPageObjects }: PluginFunctionalProvide description: 'какое-то странное описание', }; - const result = await coreStart.http.get('/execution_context/pass', { - context, - }); + const result = await coreStart.http.get<{ ['x-opaque-id']: string }>( + '/execution_context/pass', + { context } + ); return result['x-opaque-id']; }) diff --git a/x-pack/examples/alerting_example/public/components/view_alert.tsx b/x-pack/examples/alerting_example/public/components/view_alert.tsx index 40eeb9fd360dca..5f3581871e2bd5 100644 --- a/x-pack/examples/alerting_example/public/components/view_alert.tsx +++ b/x-pack/examples/alerting_example/public/components/view_alert.tsx @@ -38,10 +38,12 @@ export const ViewAlertPage = withRouter(({ http, id }: Props) => { useEffect(() => { if (!alert) { - http.get(`${LEGACY_BASE_ALERT_API_PATH}/alert/${id}`).then(setAlert); + http.get(`${LEGACY_BASE_ALERT_API_PATH}/alert/${id}`).then(setAlert); } if (!alertState) { - http.get(`${LEGACY_BASE_ALERT_API_PATH}/alert/${id}/state`).then(setAlertState); + http + .get(`${LEGACY_BASE_ALERT_API_PATH}/alert/${id}/state`) + .then(setAlertState); } }, [alert, alertState, http, id]); diff --git a/x-pack/examples/alerting_example/public/components/view_astros_alert.tsx b/x-pack/examples/alerting_example/public/components/view_astros_alert.tsx index 8eef1882b93899..1bab422c2bcf03 100644 --- a/x-pack/examples/alerting_example/public/components/view_astros_alert.tsx +++ b/x-pack/examples/alerting_example/public/components/view_astros_alert.tsx @@ -44,10 +44,14 @@ export const ViewPeopleInSpaceAlertPage = withRouter(({ http, id }: Props) => { useEffect(() => { if (!alert) { - http.get(`${LEGACY_BASE_ALERT_API_PATH}/alert/${id}`).then(setAlert); + http + .get | null>(`${LEGACY_BASE_ALERT_API_PATH}/alert/${id}`) + .then(setAlert); } if (!alertState) { - http.get(`${LEGACY_BASE_ALERT_API_PATH}/alert/${id}/state`).then(setAlertState); + http + .get(`${LEGACY_BASE_ALERT_API_PATH}/alert/${id}/state`) + .then(setAlertState); } }, [alert, alertState, http, id]); diff --git a/x-pack/plugins/apm/public/components/app/service_map/index.tsx b/x-pack/plugins/apm/public/components/app/service_map/index.tsx index 75d5837f738c5c..0ec1e6630003a3 100644 --- a/x-pack/plugins/apm/public/components/app/service_map/index.tsx +++ b/x-pack/plugins/apm/public/components/app/service_map/index.tsx @@ -168,8 +168,8 @@ export function ServiceMap({ status === FETCH_STATUS.FAILURE && error && 'body' in error && - error.body.statusCode === 500 && - error.body.message === SERVICE_MAP_TIMEOUT_ERROR + error.body?.statusCode === 500 && + error.body?.message === SERVICE_MAP_TIMEOUT_ERROR ) { return ( diff --git a/x-pack/plugins/apm/public/hooks/use_fetcher.tsx b/x-pack/plugins/apm/public/hooks/use_fetcher.tsx index 72fb8ac0bb3cf5..b77f6f9cf0fbb1 100644 --- a/x-pack/plugins/apm/public/hooks/use_fetcher.tsx +++ b/x-pack/plugins/apm/public/hooks/use_fetcher.tsx @@ -7,7 +7,7 @@ import { i18n } from '@kbn/i18n'; import React, { useEffect, useMemo, useState } from 'react'; -import { IHttpFetchError } from 'src/core/public'; +import { IHttpFetchError, ResponseErrorBody } from 'src/core/public'; import { useKibana } from '../../../../../src/plugins/kibana_react/public'; import { useTimeRangeId } from '../context/time_range_id/use_time_range_id'; import { @@ -26,10 +26,12 @@ export enum FETCH_STATUS { export interface FetcherResult { data?: Data; status: FETCH_STATUS; - error?: IHttpFetchError; + error?: IHttpFetchError; } -function getDetailsFromErrorResponse(error: IHttpFetchError) { +function getDetailsFromErrorResponse( + error: IHttpFetchError +) { const message = error.body?.message ?? error.response?.statusText; return ( <> @@ -118,7 +120,7 @@ export function useFetcher( } as FetcherResult>); } } catch (e) { - const err = e as Error | IHttpFetchError; + const err = e as Error | IHttpFetchError; if (!signal.aborted) { const errorDetails = diff --git a/x-pack/plugins/apm/public/services/rest/callApi.ts b/x-pack/plugins/apm/public/services/rest/callApi.ts index 9b6d0c383e9a7d..196878a08821e3 100644 --- a/x-pack/plugins/apm/public/services/rest/callApi.ts +++ b/x-pack/plugins/apm/public/services/rest/callApi.ts @@ -66,7 +66,7 @@ export async function callApi( | 'delete' | 'patch'; - const res = await http[lowercaseMethod](pathname, options); + const res = await http[lowercaseMethod](pathname, options); if (isCachable(fetchOptions)) { cache.set(cacheKey, res); diff --git a/x-pack/plugins/canvas/public/services/kibana/custom_element.ts b/x-pack/plugins/canvas/public/services/kibana/custom_element.ts index ec3b68d2d0bba7..093373d55a3c50 100644 --- a/x-pack/plugins/canvas/public/services/kibana/custom_element.ts +++ b/x-pack/plugins/canvas/public/services/kibana/custom_element.ts @@ -25,8 +25,8 @@ export const customElementServiceFactory: CanvasCustomElementServiceFactory = ({ create: (customElement) => http.post(apiPath, { body: JSON.stringify(customElement) }), get: (customElementId) => http - .get(`${apiPath}/${customElementId}`) - .then(({ data: element }: { data: CustomElement }) => element), + .get<{ data: CustomElement }>(`${apiPath}/${customElementId}`) + .then(({ data: element }) => element), update: (id, element) => http.put(`${apiPath}/${id}`, { body: JSON.stringify(element) }), remove: (id) => http.delete(`${apiPath}/${id}`), find: async (name) => { diff --git a/x-pack/plugins/canvas/public/services/kibana/workpad.ts b/x-pack/plugins/canvas/public/services/kibana/workpad.ts index 35b82735845d07..9f69d5096237cc 100644 --- a/x-pack/plugins/canvas/public/services/kibana/workpad.ts +++ b/x-pack/plugins/canvas/public/services/kibana/workpad.ts @@ -63,7 +63,7 @@ export const workpadServiceFactory: CanvasWorkpadServiceFactory = ({ coreStart, return { get: async (id: string) => { - const workpad = await coreStart.http.get(`${getApiPath()}/${id}`); + const workpad = await coreStart.http.get(`${getApiPath()}/${id}`); return { css: DEFAULT_WORKPAD_CSS, variables: [], ...workpad }; }, diff --git a/x-pack/plugins/canvas/public/setup_expressions.ts b/x-pack/plugins/canvas/public/setup_expressions.ts index e182d8efa097fe..54f1c6dbc0d961 100644 --- a/x-pack/plugins/canvas/public/setup_expressions.ts +++ b/x-pack/plugins/canvas/public/setup_expressions.ts @@ -26,7 +26,7 @@ export const setupExpressions = async ({ const loadServerFunctionWrappers = async () => { if (!cached) { cached = (async () => { - const serverFunctionList = await coreSetup.http.get(API_ROUTE_FUNCTIONS); + const serverFunctionList = await coreSetup.http.get(API_ROUTE_FUNCTIONS); const batchedFunction = bfetch.batchedFunction({ url: API_ROUTE_FUNCTIONS }); const { serialize } = serializeProvider(expressions.getTypes()); diff --git a/x-pack/plugins/canvas/public/store.ts b/x-pack/plugins/canvas/public/store.ts index e8821bafbb052d..7fe4eb21ee46f2 100644 --- a/x-pack/plugins/canvas/public/store.ts +++ b/x-pack/plugins/canvas/public/store.ts @@ -32,7 +32,7 @@ export async function createFreshStore(core: CoreSetup) { const basePath = core.http.basePath.get(); // Retrieve server functions - const serverFunctionsResponse = await core.http.get(API_ROUTE_FUNCTIONS); + const serverFunctionsResponse = await core.http.get>(API_ROUTE_FUNCTIONS); const serverFunctions = Object.values(serverFunctionsResponse); initialState.app = { diff --git a/x-pack/plugins/cases/public/containers/configure/api.ts b/x-pack/plugins/cases/public/containers/configure/api.ts index f7d0cf1ad9aefb..1fd358e4dae9dc 100644 --- a/x-pack/plugins/cases/public/containers/configure/api.ts +++ b/x-pack/plugins/cases/public/containers/configure/api.ts @@ -30,10 +30,10 @@ import { import { CaseConfigure } from './types'; export const fetchConnectors = async ({ signal }: ApiProps): Promise => { - const response = await KibanaServices.get().http.fetch(`${CASE_CONFIGURE_CONNECTORS_URL}/_find`, { - method: 'GET', - signal, - }); + const response = await KibanaServices.get().http.fetch( + `${CASE_CONFIGURE_CONNECTORS_URL}/_find`, + { method: 'GET', signal } + ); return response; }; @@ -97,10 +97,10 @@ export const patchCaseConfigure = async ( }; export const fetchActionTypes = async ({ signal }: ApiProps): Promise => { - const response = await KibanaServices.get().http.fetch(getAllConnectorTypesUrl(), { - method: 'GET', - signal, - }); + const response = await KibanaServices.get().http.fetch( + getAllConnectorTypesUrl(), + { method: 'GET', signal } + ); return convertArrayToCamelCase(response) as ActionTypeConnector[]; }; diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/analytics/analytics_logic.ts b/x-pack/plugins/enterprise_search/public/applications/app_search/components/analytics/analytics_logic.ts index 3f6436424a63b1..68916164f31898 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/analytics/analytics_logic.ts +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/analytics/analytics_logic.ts @@ -160,7 +160,7 @@ export const AnalyticsLogic = kea(url, { query }); actions.onAnalyticsDataLoad(response); } catch (e) { flashAPIErrors(e); @@ -180,7 +180,7 @@ export const AnalyticsLogic = kea(url, { query: queryParams }); actions.onQueryDataLoad(response); } catch (e) { diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/analytics/components/analytics_tables/shared_columns.tsx b/x-pack/plugins/enterprise_search/public/applications/app_search/components/analytics/components/analytics_tables/shared_columns.tsx index 0b65c59a184197..e7c98332ee6518 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/analytics/components/analytics_tables/shared_columns.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/analytics/components/analytics_tables/shared_columns.tsx @@ -86,7 +86,7 @@ export const ACTIONS_COLUMN = { try { const query = (item as Query).key || (item as RecentQuery).query_string || '""'; - const response = await http.get( + const response = await http.get<{ id: string }>( `/internal/app_search/engines/${engineName}/curations/find_or_create`, { query: { query } } ); diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/api_logs/api_logs_logic.ts b/x-pack/plugins/enterprise_search/public/applications/app_search/components/api_logs/api_logs_logic.ts index 86c8ec8c5fbd18..800e038cc1923b 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/api_logs/api_logs_logic.ts +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/api_logs/api_logs_logic.ts @@ -104,14 +104,17 @@ export const ApiLogsLogic = kea>({ const { engineName } = EngineLogic.values; try { - const response = await http.get(`/internal/app_search/engines/${engineName}/api_logs`, { - query: { - 'page[current]': values.meta.page.current, - 'filters[date][from]': getDateString(-1), - 'filters[date][to]': getDateString(), - sort_direction: 'desc', - }, - }); + const response = await http.get( + `/internal/app_search/engines/${engineName}/api_logs`, + { + query: { + 'page[current]': values.meta.page.current, + 'filters[date][from]': getDateString(-1), + 'filters[date][to]': getDateString(), + sort_direction: 'desc', + }, + } + ); // Manual fetches (e.g. page load, user pagination) should update the view immediately, // while polls are stored in-state until the user manually triggers the 'Refresh' action diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/components/add_domain/add_domain_logic.ts b/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/components/add_domain/add_domain_logic.ts index ab85f8a585d1aa..494d123cae1254 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/components/add_domain/add_domain_logic.ts +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/components/add_domain/add_domain_logic.ts @@ -23,6 +23,7 @@ import { CrawlerDomain, CrawlerDomainValidationResult, CrawlerDomainValidationResultChange, + CrawlerDomainValidationResultFromServer, CrawlerDomainValidationStepName, } from '../../types'; import { crawlDomainValidationToResult, crawlerDataServerToClient } from '../../utils'; @@ -207,7 +208,7 @@ export const AddDomainLogic = kea(route, { body: JSON.stringify({ url: values.addDomainFormInputValue.trim(), checks }), }); const result = crawlDomainValidationToResult(data); diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_logic.ts b/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_logic.ts index 5b9960ddf54e00..d1530c79a6821a 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_logic.ts +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_logic.ts @@ -12,7 +12,14 @@ import { flashAPIErrors } from '../../../shared/flash_messages'; import { HttpLogic } from '../../../shared/http'; import { EngineLogic } from '../engine'; -import { CrawlerData, CrawlerDomain, CrawlEvent, CrawlRequest, CrawlerStatus } from './types'; +import { + CrawlerData, + CrawlerDomain, + CrawlEvent, + CrawlRequest, + CrawlerStatus, + CrawlerDataFromServer, +} from './types'; import { crawlerDataServerToClient } from './utils'; const POLLING_DURATION = 1000; @@ -104,7 +111,9 @@ export const CrawlerLogic = kea>({ const { engineName } = EngineLogic.values; try { - const response = await http.get(`/internal/app_search/engines/${engineName}/crawler`); + const response = await http.get( + `/internal/app_search/engines/${engineName}/crawler` + ); const crawlerData = crawlerDataServerToClient(response); actions.onReceiveCrawlerData(crawlerData); diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_overview_logic.ts b/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_overview_logic.ts index c6a26e50a6758f..605d45effaa24a 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_overview_logic.ts +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_overview_logic.ts @@ -13,7 +13,7 @@ import { HttpLogic } from '../../../shared/http'; import { EngineLogic } from '../engine'; import { CrawlerLogic } from './crawler_logic'; -import { CrawlerDomain } from './types'; +import { CrawlerDataFromServer, CrawlerDomain } from './types'; import { crawlerDataServerToClient, getDeleteDomainSuccessMessage } from './utils'; interface CrawlerOverviewActions { @@ -31,7 +31,7 @@ export const CrawlerOverviewLogic = kea( `/internal/app_search/engines/${engineName}/crawler/domains/${domain.id}`, { query: { diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_single_domain_logic.ts b/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_single_domain_logic.ts index 9452ae1d578ed9..64687e24ccb297 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_single_domain_logic.ts +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_single_domain_logic.ts @@ -16,7 +16,7 @@ import { EngineLogic, generateEnginePath } from '../engine'; import { CrawlerLogic } from './crawler_logic'; -import { CrawlerDomain, EntryPoint, Sitemap, CrawlRule } from './types'; +import { CrawlerDomain, EntryPoint, Sitemap, CrawlRule, CrawlerDomainFromServer } from './types'; import { crawlerDomainServerToClient, getDeleteDomainSuccessMessage } from './utils'; export interface CrawlerSingleDomainValues { @@ -92,7 +92,7 @@ export const CrawlerSingleDomainLogic = kea< const { engineName } = EngineLogic.values; try { - const response = await http.get( + const response = await http.get( `/internal/app_search/engines/${engineName}/crawler/domains/${domainId}` ); @@ -113,7 +113,7 @@ export const CrawlerSingleDomainLogic = kea< }; try { - const response = await http.put( + const response = await http.put( `/internal/app_search/engines/${engineName}/crawler/domains/${domain.id}`, { body: JSON.stringify(payload), diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/credentials/credentials_logic.ts b/x-pack/plugins/enterprise_search/public/applications/app_search/components/credentials/credentials_logic.ts index 52e1b1825b1809..30380b8b41e3b2 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/credentials/credentials_logic.ts +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/credentials/credentials_logic.ts @@ -239,7 +239,10 @@ export const CredentialsLogic = kea({ 'page[current]': meta.page.current, 'page[size]': meta.page.size, }; - const response = await http.get('/internal/app_search/credentials', { query }); + const response = await http.get<{ meta: Meta; results: ApiToken[] }>( + '/internal/app_search/credentials', + { query } + ); actions.setCredentialsData(response.meta, response.results); } catch (e) { flashAPIErrors(e); @@ -248,7 +251,9 @@ export const CredentialsLogic = kea({ fetchDetails: async () => { try { const { http } = HttpLogic.values; - const response = await http.get('/internal/app_search/credentials/details'); + const response = await http.get( + '/internal/app_search/credentials/details' + ); actions.setCredentialsDetails(response); } catch (e) { @@ -287,11 +292,13 @@ export const CredentialsLogic = kea({ const body = JSON.stringify(data); if (id) { - const response = await http.put(`/internal/app_search/credentials/${name}`, { body }); + const response = await http.put(`/internal/app_search/credentials/${name}`, { + body, + }); actions.onApiTokenUpdateSuccess(response); flashSuccessToast(UPDATE_MESSAGE(name)); } else { - const response = await http.post('/internal/app_search/credentials', { body }); + const response = await http.post('/internal/app_search/credentials', { body }); actions.onApiTokenCreateSuccess(response); flashSuccessToast(CREATE_MESSAGE(name)); } diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/components/suggestions_logic.tsx b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/components/suggestions_logic.tsx index 074d2114ee8cb4..f0100fcafac4e2 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/components/suggestions_logic.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/components/suggestions_logic.tsx @@ -74,7 +74,7 @@ export const SuggestionsLogic = kea( `/internal/app_search/engines/${engineName}/search_relevance_suggestions`, { body: JSON.stringify({ diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/curation_logic.ts b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/curation_logic.ts index 6393ccf9742254..b5aecc417003e4 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/curation_logic.ts +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/curation_logic.ts @@ -228,7 +228,7 @@ export const CurationLogic = kea( `/internal/app_search/engines/${engineName}/curations/${props.curationId}`, { query: { skip_record_analytics: 'true' } } ); @@ -248,7 +248,7 @@ export const CurationLogic = kea( `/internal/app_search/engines/${engineName}/curations/${props.curationId}`, { body: JSON.stringify({ diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curations_logic.ts b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curations_logic.ts index 487072584583ff..422c2e85751623 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curations_logic.ts +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curations_logic.ts @@ -85,12 +85,15 @@ export const CurationsLogic = kea( + `/internal/app_search/engines/${engineName}/curations`, + { + query: { + 'page[current]': meta.page.current, + 'page[size]': meta.page.size, + }, + } + ); actions.onCurationsLoad(response); } catch (e) { flashAPIErrors(e); @@ -118,9 +121,10 @@ export const CurationsLogic = kea( + `/internal/app_search/engines/${engineName}/curations`, + { body: JSON.stringify({ queries }) } + ); navigateToUrl(generateEnginePath(ENGINE_CURATION_PATH, { curationId: response.id })); } catch (e) { flashAPIErrors(e); diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/views/curation_suggestion/curation_suggestion_logic.ts b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/views/curation_suggestion/curation_suggestion_logic.ts index 8e6c3a9c6a6ae5..5c51272baea8b3 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/views/curation_suggestion/curation_suggestion_logic.ts +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/views/curation_suggestion/curation_suggestion_logic.ts @@ -79,7 +79,8 @@ export const CurationSuggestionLogic = kea< const { engineName } = EngineLogic.values; try { - const suggestionResponse = await http.get( + // eslint-disable-next-line @typescript-eslint/no-explicit-any + const suggestionResponse = await http.get( `/internal/app_search/engines/${engineName}/search_relevance_suggestions/${props.query}`, { query: { diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/views/curations_settings/curations_settings_logic.ts b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/views/curations_settings/curations_settings_logic.ts index 3984cbd024da46..3d090653ca74aa 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/views/curations_settings/curations_settings_logic.ts +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/views/curations_settings/curations_settings_logic.ts @@ -71,7 +71,7 @@ export const CurationsSettingsLogic = kea< const { engineName } = EngineLogic.values; try { - const response = await http.get( + const response = await http.get<{ curation: CurationsSettings }>( `/internal/app_search/engines/${engineName}/search_relevance_suggestions/settings` ); actions.onCurationsSettingsLoad(response.curation); @@ -95,7 +95,7 @@ export const CurationsSettingsLogic = kea< const { http } = HttpLogic.values; const { engineName } = EngineLogic.values; try { - const response = await http.put( + const response = await http.put<{ curation: CurationsSettings }>( `/internal/app_search/engines/${engineName}/search_relevance_suggestions/settings`, { body: JSON.stringify({ curation: currationsSetting }), diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/document_creation/document_creation_logic.ts b/x-pack/plugins/enterprise_search/public/applications/app_search/components/document_creation/document_creation_logic.ts index e92bc068824b02..5ea2f0fe7cf73d 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/document_creation/document_creation_logic.ts +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/document_creation/document_creation_logic.ts @@ -181,7 +181,10 @@ export const DocumentCreationLogic = kea< const promises = chunk(documents, CHUNK_SIZE).map((documentsChunk) => { const body = JSON.stringify({ documents: documentsChunk }); - return http.post(`/internal/app_search/engines/${engineName}/documents`, { body }); + return http.post( + `/internal/app_search/engines/${engineName}/documents`, + { body } + ); }); try { diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/documents/document_detail_logic.ts b/x-pack/plugins/enterprise_search/public/applications/app_search/components/documents/document_detail_logic.ts index 25c16a7df2c503..9c41c55f5033c8 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/documents/document_detail_logic.ts +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/documents/document_detail_logic.ts @@ -59,7 +59,7 @@ export const DocumentDetailLogic = kea({ try { const { http } = HttpLogic.values; - const response = await http.get( + const response = await http.get<{ fields: FieldDetails[] }>( `/internal/app_search/engines/${engineName}/documents/${documentId}` ); actions.setFields(response.fields); diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/engine/engine_logic.ts b/x-pack/plugins/enterprise_search/public/applications/app_search/components/engine/engine_logic.ts index aa5e15a3265b16..0cfe8d0c2f933d 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/engine/engine_logic.ts +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/engine/engine_logic.ts @@ -132,7 +132,9 @@ export const EngineLogic = kea>({ const { http } = HttpLogic.values; try { - const response = await http.get(`/internal/app_search/engines/${engineName}`); + const response = await http.get( + `/internal/app_search/engines/${engineName}` + ); actions.setEngineData(response); } catch (error) { if (error?.response?.status >= 400 && error?.response?.status < 500) { diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/engine_overview/engine_overview_logic.ts b/x-pack/plugins/enterprise_search/public/applications/app_search/components/engine_overview/engine_overview_logic.ts index 73cfef8530521a..878681a728e2b9 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/engine_overview/engine_overview_logic.ts +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/engine_overview/engine_overview_logic.ts @@ -84,7 +84,9 @@ export const EngineOverviewLogic = kea( + `/internal/app_search/engines/${engineName}/overview` + ); actions.onOverviewMetricsLoad(response); } catch (e) { flashAPIErrors(e); diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/engines/engines_logic.ts b/x-pack/plugins/enterprise_search/public/applications/app_search/components/engines/engines_logic.ts index 507b83cc8b5cfe..c6fb1a401c5913 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/engines/engines_logic.ts +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/engines/engines_logic.ts @@ -119,7 +119,7 @@ export const EnginesLogic = kea>({ const { enginesMeta } = values; try { - const response = await http.get('/internal/app_search/engines', { + const response = await http.get('/internal/app_search/engines', { query: { type: 'indexed', 'page[current]': enginesMeta.page.current, @@ -136,7 +136,7 @@ export const EnginesLogic = kea>({ const { metaEnginesMeta } = values; try { - const response = await http.get('/internal/app_search/engines', { + const response = await http.get('/internal/app_search/engines', { query: { type: 'meta', 'page[current]': metaEnginesMeta.page.current, diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/relevance_tuning/relevance_tuning_logic.ts b/x-pack/plugins/enterprise_search/public/applications/app_search/components/relevance_tuning/relevance_tuning_logic.ts index c94de74b5ab22e..fd2ed0693257d7 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/relevance_tuning/relevance_tuning_logic.ts +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/relevance_tuning/relevance_tuning_logic.ts @@ -246,7 +246,7 @@ export const RelevanceTuningLogic = kea< const url = `/internal/app_search/engines/${engineName}/search_settings/details`; try { - const response = await http.get(url); + const response = await http.get(url); actions.onInitializeRelevanceTuning({ ...response, searchSettings: { @@ -278,7 +278,7 @@ export const RelevanceTuningLogic = kea< const filteredBoosts = removeEmptyValueBoosts(boosts); try { - const response = await http.post(url, { + const response = await http.post<{ results: Result[] }>(url, { query: { query, }, @@ -313,7 +313,7 @@ export const RelevanceTuningLogic = kea< const url = `/internal/app_search/engines/${engineName}/search_settings`; try { - const response = await http.put(url, { + const response = await http.put(url, { body: JSON.stringify(removeBoostStateProps(values.searchSettings)), }); flashSuccessToast(UPDATE_SUCCESS_MESSAGE, { text: SUCCESS_CHANGES_MESSAGE }); @@ -337,7 +337,7 @@ export const RelevanceTuningLogic = kea< const url = `/internal/app_search/engines/${engineName}/search_settings/reset`; try { - const response = await http.post(url); + const response = await http.post(url); flashSuccessToast(DELETE_SUCCESS_MESSAGE, { text: SUCCESS_CHANGES_MESSAGE }); actions.onSearchSettingsSuccess(response); } catch (e) { diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/result_settings/result_settings_logic.ts b/x-pack/plugins/enterprise_search/public/applications/app_search/components/result_settings/result_settings_logic.ts index 5ff153c3beb64c..99b3e6157e227d 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/result_settings/result_settings_logic.ts +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/result_settings/result_settings_logic.ts @@ -12,13 +12,14 @@ import { i18n } from '@kbn/i18n'; import { flashAPIErrors, flashSuccessToast } from '../../../shared/flash_messages'; import { HttpLogic } from '../../../shared/http'; -import { Schema, SchemaConflicts } from '../../../shared/schema/types'; +import { Schema, SchemaConflicts, SchemaType } from '../../../shared/schema/types'; import { EngineLogic } from '../engine'; import { DEFAULT_SNIPPET_SIZE } from './constants'; import { FieldResultSetting, FieldResultSettingObject, + ServerFieldResultSetting, ServerFieldResultSettingObject, } from './types'; @@ -299,7 +300,11 @@ export const ResultSettingsLogic = kea; + schemaConflicts?: SchemaConflicts; + searchSettings: { result_fields: Record }; + }>(url); actions.initializeResultFields(serverFieldResultSettings, schema, schemaConflicts); } catch (e) { @@ -322,7 +327,9 @@ export const ResultSettingsLogic = kea; + }>(url, { body: JSON.stringify({ result_fields: values.reducedServerResultFields, }), diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/result_settings/sample_response/sample_response_logic.ts b/x-pack/plugins/enterprise_search/public/applications/app_search/components/result_settings/sample_response/sample_response_logic.ts index d4c5a842daac9b..34f1478ad24fe0 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/result_settings/sample_response/sample_response_logic.ts +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/result_settings/sample_response/sample_response_logic.ts @@ -14,6 +14,7 @@ import { flashAPIErrors } from '../../../../shared/flash_messages'; import { HttpLogic } from '../../../../shared/http'; import { EngineLogic } from '../../engine'; +import { FieldValue } from '../../result/types'; import { SampleSearchResponse, ServerFieldResultSettingObject } from '../types'; const NO_RESULTS_MESSAGE = i18n.translate( @@ -71,7 +72,7 @@ export const SampleResponseLogic = kea> }>(url, { query: { query }, body: JSON.stringify({ page: { @@ -84,6 +85,7 @@ export const SampleResponseLogic = kea(route); actions.setRoleMappings(response); } catch (e) { flashAPIErrors(e); @@ -367,7 +367,7 @@ export const RoleMappingsLogic = kea(route); actions.setRoleMappingsData(response); } catch (e) { flashAPIErrors(e); @@ -466,7 +466,10 @@ export const RoleMappingsLogic = kea( + '/internal/app_search/single_user_role_mapping', + { body } + ); actions.setSingleUserRoleMapping(response); actions.setUserCreated(); actions.initializeRoleMappings(); diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/schema/reindex_job/reindex_job_logic.ts b/x-pack/plugins/enterprise_search/public/applications/app_search/components/schema/reindex_job/reindex_job_logic.ts index fb50c9390a8d9d..e8ac47dbecbf2e 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/schema/reindex_job/reindex_job_logic.ts +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/schema/reindex_job/reindex_job_logic.ts @@ -53,7 +53,7 @@ export const ReindexJobLogic = kea( `/internal/app_search/engines/${engineName}/reindex_job/${id}` ); actions.onLoadSuccess(response); diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/schema/schema_base_logic.ts b/x-pack/plugins/enterprise_search/public/applications/app_search/components/schema/schema_base_logic.ts index b9107666a881bf..b299f827676d6c 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/schema/schema_base_logic.ts +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/schema/schema_base_logic.ts @@ -56,7 +56,9 @@ export const SchemaBaseLogic = kea( + `/internal/app_search/engines/${engineName}/schema` + ); actions.onSchemaLoad(response); } catch (e) { flashAPIErrors(e); diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/schema/schema_logic.ts b/x-pack/plugins/enterprise_search/public/applications/app_search/components/schema/schema_logic.ts index b26fd920645824..536a63700c5cd9 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/schema/schema_logic.ts +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/schema/schema_logic.ts @@ -146,9 +146,10 @@ export const SchemaLogic = kea>({ clearFlashMessages(); try { - const response = await http.post(`/internal/app_search/engines/${engineName}/schema`, { - body: JSON.stringify(schema), - }); + const response = await http.post( + `/internal/app_search/engines/${engineName}/schema`, + { body: JSON.stringify(schema) } + ); actions.onSchemaLoad(response); flashSuccessToast(successMessage || UPDATE_SCHEMA_SUCCESS); } catch (e) { diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/search/search_logic.ts b/x-pack/plugins/enterprise_search/public/applications/app_search/components/search/search_logic.ts index 424baedf210f50..1b14b89f81a4ba 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/search/search_logic.ts +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/search/search_logic.ts @@ -61,9 +61,10 @@ export const SearchLogic = kea>({ const { engineName } = EngineLogic.values; try { - const response = await http.post(`/internal/app_search/engines/${engineName}/search`, { - query: { query }, - }); + const response = await http.post<{ results: Result[] }>( + `/internal/app_search/engines/${engineName}/search`, + { query: { query } } + ); actions.onSearch(response); } catch (e) { flashAPIErrors(e); diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/search_ui/search_ui_logic.ts b/x-pack/plugins/enterprise_search/public/applications/app_search/components/search_ui/search_ui_logic.ts index 7a3e429d842f8b..1466cfa1ff9b73 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/search_ui/search_ui_logic.ts +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/search_ui/search_ui_logic.ts @@ -106,7 +106,11 @@ export const SearchUILogic = kea> const url = `/internal/app_search/engines/${engineName}/search_ui/field_config`; try { - const initialFieldValues = await http.get(url); + const initialFieldValues = await http.get< + InitialFieldValues & { + defaultValues: Pick; + } + >(url); const { defaultValues: { urlField, titleField }, validFields, diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/synonyms/synonyms_logic.ts b/x-pack/plugins/enterprise_search/public/applications/app_search/components/synonyms/synonyms_logic.ts index 123a2e50fdf2f5..906877e79fedf3 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/synonyms/synonyms_logic.ts +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/synonyms/synonyms_logic.ts @@ -115,12 +115,15 @@ export const SynonymsLogic = kea> const { engineName } = EngineLogic.values; try { - const response = await http.get(`/internal/app_search/engines/${engineName}/synonyms`, { - query: { - 'page[current]': meta.page.current, - 'page[size]': meta.page.size, - }, - }); + const response = await http.get( + `/internal/app_search/engines/${engineName}/synonyms`, + { + query: { + 'page[current]': meta.page.current, + 'page[size]': meta.page.size, + }, + } + ); actions.onSynonymsLoad(response); } catch (e) { flashAPIErrors(e); diff --git a/x-pack/plugins/enterprise_search/public/applications/shared/tables/generic_endpoint_inline_editable_table/generic_endpoint_inline_editable_table_logic.ts b/x-pack/plugins/enterprise_search/public/applications/shared/tables/generic_endpoint_inline_editable_table/generic_endpoint_inline_editable_table_logic.ts index 9cb1061993dc31..71c993dca9cb95 100644 --- a/x-pack/plugins/enterprise_search/public/applications/shared/tables/generic_endpoint_inline_editable_table/generic_endpoint_inline_editable_table_logic.ts +++ b/x-pack/plugins/enterprise_search/public/applications/shared/tables/generic_endpoint_inline_editable_table/generic_endpoint_inline_editable_table_logic.ts @@ -83,7 +83,9 @@ export const GenericEndpointInlineEditableTableLogic = kea< const { addRoute, onAdd, dataProperty } = props; try { - const response = await http.post(addRoute, { body: JSON.stringify(item) }); + const response = await http.post>(addRoute, { + body: JSON.stringify(item), + }); const itemsFromResponse = response[dataProperty]; onAdd(item, itemsFromResponse); @@ -99,7 +101,7 @@ export const GenericEndpointInlineEditableTableLogic = kea< const { deleteRoute, onDelete, dataProperty } = props; try { - const response = await http.delete(deleteRoute(item)); + const response = await http.delete>(deleteRoute(item)); const itemsFromResponse = response[dataProperty]; onDelete(item, itemsFromResponse); @@ -116,7 +118,7 @@ export const GenericEndpointInlineEditableTableLogic = kea< const dataToSubmit = stripIdAndCreatedAtFromItem(item); try { - const response = await http.put(updateRoute(item), { + const response = await http.put>(updateRoute(item), { body: JSON.stringify(dataToSubmit), }); const itemsFromResponse = response[dataProperty]; @@ -141,7 +143,7 @@ export const GenericEndpointInlineEditableTableLogic = kea< try { actions.setLoading(); - const response = await http.put(reorderRoute, { + const response = await http.put>(reorderRoute, { body: JSON.stringify({ [dataProperty]: reorderedItemIds }), }); const itemsFromResponse = response[dataProperty]; diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/add_source/add_source_logic.ts b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/add_source/add_source_logic.ts index 6f09cbb15c7db0..06055e95626764 100644 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/add_source/add_source_logic.ts +++ b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/add_source/add_source_logic.ts @@ -392,7 +392,7 @@ export const AddSourceLogic = kea(route); actions.setSourceConfigData(response); } catch (e) { flashAPIErrors(e); @@ -415,7 +415,7 @@ export const AddSourceLogic = kea(route, { query }); actions.setSourceConnectData(response); successCallback(response.oauthUrl); } catch (e) { @@ -435,7 +435,7 @@ export const AddSourceLogic = kea(route, { query }); actions.setSourceConnectData(response); } catch (e) { flashAPIErrors(e); @@ -449,7 +449,7 @@ export const AddSourceLogic = kea(route); actions.setPreContentSourceConfigData(response); } catch (e) { flashAPIErrors(e); @@ -482,7 +482,7 @@ export const AddSourceLogic = kea(route, { body: JSON.stringify(params), }); if (successCallback) successCallback(); @@ -527,7 +527,13 @@ export const AddSourceLogic = kea(route, { query }); const { serviceName, indexPermissions, serviceType, preContentSourceId, hasConfigureStep } = response; @@ -574,7 +580,7 @@ export const AddSourceLogic = kea params[key] === undefined && delete params[key]); try { - const response = await HttpLogic.values.http.post(route, { + const response = await HttpLogic.values.http.post(route, { body: JSON.stringify({ ...params }), }); actions.setCustomSourceData(response); diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/display_settings/display_settings_logic.ts b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/display_settings/display_settings_logic.ts index 2d7667e08d8f85..d62bd6252f1306 100644 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/display_settings/display_settings_logic.ts +++ b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/display_settings/display_settings_logic.ts @@ -381,8 +381,10 @@ export const DisplaySettingsLogic = kea< : `/internal/workplace_search/account/sources/${sourceId}/display_settings/config`; try { - const response = await HttpLogic.values.http.get(route); + const response = await HttpLogic.values.http.get(route); actions.onInitializeDisplaySettings({ + // isOrganization is not typed + // @ts-expect-error TS2345 isOrganization, sourceId, serverRoute: route, @@ -396,9 +398,10 @@ export const DisplaySettingsLogic = kea< const { searchResultConfig, serverRoute } = values; try { - const response = await HttpLogic.values.http.post(serverRoute, { - body: JSON.stringify({ ...searchResultConfig }), - }); + const response = await HttpLogic.values.http.post( + serverRoute, + { body: JSON.stringify({ ...searchResultConfig }) } + ); actions.setServerResponseData(response); } catch (e) { flashAPIErrors(e); diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/schema/schema_logic.ts b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/schema/schema_logic.ts index d664197afaa265..218bb368e848f7 100644 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/schema/schema_logic.ts +++ b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/schema/schema_logic.ts @@ -272,7 +272,9 @@ export const SchemaLogic = kea>({ : `/internal/workplace_search/account/sources/${sourceId}/schemas`; try { - const response = await http.get(route); + const response = await http.get(route); + // TODO: fix + // @ts-expect-error TS2783 actions.onInitializeSchema({ sourceId, ...response }); } catch (e) { flashAPIErrors(e); @@ -287,7 +289,7 @@ export const SchemaLogic = kea>({ try { await actions.initializeSchema(); - const response = await http.get(route); + const response = await http.get(route); actions.onInitializeSchemaFieldErrors({ fieldCoercionErrors: response.fieldCoercionErrors, }); @@ -339,7 +341,7 @@ export const SchemaLogic = kea>({ actions.resetMostRecentIndexJob(emptyReindexJob); try { - const response = await http.post(route, { + const response = await http.post(route, { body: JSON.stringify({ ...updatedSchema }), }); actions.onSchemaSetSuccess(response); diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/synchronization/synchronization_logic.ts b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/synchronization/synchronization_logic.ts index 87a55f0e7dd3aa..2f4fdca44d4415 100644 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/synchronization/synchronization_logic.ts +++ b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/synchronization/synchronization_logic.ts @@ -20,10 +20,12 @@ import { BLOCKED_TIME_WINDOWS_PATH, getContentSourcePath, } from '../../../../routes'; + import { BlockedWindow, DayOfWeek, IndexingSchedule, + ContentSourceFullData, SyncJobType, TimeUnit, } from '../../../../types'; @@ -313,7 +315,7 @@ export const SynchronizationLogic = kea< const route = `/internal/workplace_search/org/sources/${sourceId}/settings`; try { - const response = await HttpLogic.values.http.patch(route, { + const response = await HttpLogic.values.http.patch(route, { body: JSON.stringify(body), }); diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/source_logic.ts b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/source_logic.ts index 0b67e3f2da79bc..e97d48889d8092 100644 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/source_logic.ts +++ b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/source_logic.ts @@ -159,7 +159,9 @@ export const SourceLogic = kea>({ : `/internal/workplace_search/account/sources/${sourceId}`; try { - const response = await HttpLogic.values.http.get(route); + const response = await HttpLogic.values.http.get< + ContentSourceFullData & { errors?: string } + >(route); actions.setContentSource(response); if (response.isFederatedSource) { actions.initializeFederatedSummary(sourceId); @@ -186,7 +188,7 @@ export const SourceLogic = kea>({ initializeFederatedSummary: async ({ sourceId }) => { const route = `/internal/workplace_search/account/sources/${sourceId}/federated_summary`; try { - const response = await HttpLogic.values.http.get(route); + const response = await HttpLogic.values.http.get<{ summary: DocumentSummaryItem[] }>(route); actions.onUpdateSummary(response.summary); } catch (e) { flashAPIErrors(e); @@ -206,7 +208,7 @@ export const SourceLogic = kea>({ } = values; try { - const response = await HttpLogic.values.http.post(route, { + const response = await HttpLogic.values.http.post(route, { body: JSON.stringify({ query, page }), }); actions.setSearchResults(response); @@ -221,7 +223,7 @@ export const SourceLogic = kea>({ : `/internal/workplace_search/account/sources/${sourceId}/settings`; try { - const response = await HttpLogic.values.http.patch(route, { + const response = await HttpLogic.values.http.patch<{ name: string }>(route, { body: JSON.stringify({ content_source: source }), }); if (source.name) { @@ -239,7 +241,7 @@ export const SourceLogic = kea>({ : `/internal/workplace_search/account/sources/${sourceId}`; try { - const response = await HttpLogic.values.http.delete(route); + const response = await HttpLogic.values.http.delete<{ name: string }>(route); KibanaLogic.values.navigateToUrl(getSourcesPath(SOURCES_PATH, isOrganization)); flashSuccessToast( i18n.translate( diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/sources_logic.ts b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/sources_logic.ts index b2c53b0a4b5499..90b1f83281e942 100644 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/sources_logic.ts +++ b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/sources_logic.ts @@ -163,7 +163,7 @@ export const SourcesLogic = kea>( : '/internal/workplace_search/account/sources'; try { - const response = await HttpLogic.values.http.get(route); + const response = await HttpLogic.values.http.get(route); breakpoint(); // Prevents errors if logic unmounts while fetching actions.pollForSourceStatusChanges(); actions.onInitializeSources(response); @@ -256,7 +256,7 @@ export const fetchSourceStatuses = async ( let response; try { - response = await HttpLogic.values.http.get(route); + response = await HttpLogic.values.http.get(route); breakpoint(); SourcesLogic.actions.setServerSourceStatuses(response); } catch (e) { @@ -267,7 +267,8 @@ export const fetchSourceStatuses = async ( } } - return response; + // TODO: remove casting. return type should be ContentSourceStatus[] | undefined + return response as ContentSourceStatus[]; }; const updateSourcesOnToggle = ( diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/groups/group_logic.ts b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/groups/group_logic.ts index 3ba7d68d0b3e94..6e465854ff44f7 100644 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/groups/group_logic.ts +++ b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/groups/group_logic.ts @@ -174,7 +174,7 @@ export const GroupLogic = kea>({ listeners: ({ actions, values }) => ({ initializeGroup: async ({ groupId }) => { try { - const response = await HttpLogic.values.http.get( + const response = await HttpLogic.values.http.get( `/internal/workplace_search/groups/${groupId}` ); actions.onInitializeGroup(response); @@ -220,7 +220,7 @@ export const GroupLogic = kea>({ } = values; try { - const response = await HttpLogic.values.http.put( + const response = await HttpLogic.values.http.put( `/internal/workplace_search/groups/${id}`, { body: JSON.stringify({ group: { name: groupNameInputValue } }), @@ -247,7 +247,7 @@ export const GroupLogic = kea>({ } = values; try { - const response = await HttpLogic.values.http.post( + const response = await HttpLogic.values.http.post( `/internal/workplace_search/groups/${id}/share`, { body: JSON.stringify({ content_source_ids: selectedGroupSources }), @@ -279,7 +279,7 @@ export const GroupLogic = kea>({ ); try { - const response = await HttpLogic.values.http.put( + const response = await HttpLogic.values.http.put( `/internal/workplace_search/groups/${id}/boosts`, { body: JSON.stringify({ content_source_boosts: boosts }), diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/groups/groups_logic.ts b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/groups/groups_logic.ts index 19c16f6147dcca..c14538346ad31c 100644 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/groups/groups_logic.ts +++ b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/groups/groups_logic.ts @@ -255,7 +255,9 @@ export const GroupsLogic = kea>({ listeners: ({ actions, values }) => ({ initializeGroups: async () => { try { - const response = await HttpLogic.values.http.get('/internal/workplace_search/groups'); + const response = await HttpLogic.values.http.get( + '/internal/workplace_search/groups' + ); actions.onInitializeGroups(response); } catch (e) { flashAPIErrors(e); @@ -288,7 +290,7 @@ export const GroupsLogic = kea>({ }; try { - const response = await HttpLogic.values.http.post( + const response = await HttpLogic.values.http.post( '/internal/workplace_search/groups/search', { body: JSON.stringify({ @@ -307,7 +309,7 @@ export const GroupsLogic = kea>({ fetchGroupUsers: async ({ groupId }) => { actions.setAllGroupLoading(true); try { - const response = await HttpLogic.values.http.get( + const response = await HttpLogic.values.http.get( `/internal/workplace_search/groups/${groupId}/group_users` ); actions.setGroupUsers(response); @@ -317,10 +319,13 @@ export const GroupsLogic = kea>({ }, saveNewGroup: async () => { try { - const response = await HttpLogic.values.http.post('/internal/workplace_search/groups', { - body: JSON.stringify({ group_name: values.newGroupName }), - headers, - }); + const response = await HttpLogic.values.http.post( + '/internal/workplace_search/groups', + { + body: JSON.stringify({ group_name: values.newGroupName }), + headers, + } + ); actions.getSearchResults(true); const SUCCESS_MESSAGE = i18n.translate( diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/oauth_authorize/oauth_authorize_logic.ts b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/oauth_authorize/oauth_authorize_logic.ts index e21cde02481a0c..95a8dd4b3fbad6 100644 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/oauth_authorize/oauth_authorize_logic.ts +++ b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/oauth_authorize/oauth_authorize_logic.ts @@ -96,7 +96,7 @@ export const OAuthAuthorizeLogic = kea(oauthAuthorizeRoute, { query }); if (response.status === 'redirect') { window.location.replace(response.redirect_uri); @@ -113,7 +113,7 @@ export const OAuthAuthorizeLogic = kea(oauthAuthorizeRoute, { body: JSON.stringify({ client_id: cachedPreAuth.clientId, response_type: cachedPreAuth.responseType, @@ -135,7 +135,7 @@ export const OAuthAuthorizeLogic = kea(oauthAuthorizeRoute, { body: JSON.stringify({ client_id: cachedPreAuth.clientId, response_type: cachedPreAuth.responseType, diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/overview/overview_logic.ts b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/overview/overview_logic.ts index 1d79e66e778fb0..494f46a8efb3ec 100644 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/overview/overview_logic.ts +++ b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/overview/overview_logic.ts @@ -97,7 +97,9 @@ export const OverviewLogic = kea> listeners: ({ actions }) => ({ initializeOverview: async () => { try { - const response = await HttpLogic.values.http.get('/internal/workplace_search/overview'); + const response = await HttpLogic.values.http.get( + '/internal/workplace_search/overview' + ); actions.setServerData(response); } catch (e) { flashAPIErrors(e); diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/role_mappings/role_mappings_logic.ts b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/role_mappings/role_mappings_logic.ts index 29103aa0c39af6..092b70e1f4ae88 100644 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/role_mappings/role_mappings_logic.ts +++ b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/role_mappings/role_mappings_logic.ts @@ -356,7 +356,9 @@ export const RoleMappingsLogic = kea(route); actions.setRoleMappings(response); } catch (e) { flashAPIErrors(e); @@ -367,7 +369,7 @@ export const RoleMappingsLogic = kea(route); actions.setRoleMappingsData(response); } catch (e) { flashAPIErrors(e); @@ -466,11 +468,9 @@ export const RoleMappingsLogic = kea( '/internal/workplace_search/org/single_user_role_mapping', - { - body, - } + { body } ); actions.setSingleUserRoleMapping(response); actions.setUserCreated(); diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/search_authorize/search_authorize_logic.ts b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/search_authorize/search_authorize_logic.ts index 852d0370e00b37..9b80882ff41505 100644 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/search_authorize/search_authorize_logic.ts +++ b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/search_authorize/search_authorize_logic.ts @@ -71,7 +71,7 @@ export const SearchAuthorizeLogic = kea< }; try { - const response = await http.get(oauthAuthorizeRoute, { query }); + const response = await http.get(oauthAuthorizeRoute, { query }); if (response.status === 'redirect') { window.location.replace(response.redirect_uri); @@ -91,7 +91,7 @@ export const SearchAuthorizeLogic = kea< const { cachedPreAuth } = values; try { - const response = await http.post(oauthAuthorizeRoute, { + const response = await http.post<{ redirect_uri: string }>(oauthAuthorizeRoute, { body: JSON.stringify({ client_id: cachedPreAuth.clientId, response_type: cachedPreAuth.responseType, diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/security/security_logic.ts b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/security/security_logic.ts index e06504edbf0acf..6484677b6df6ba 100644 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/security/security_logic.ts +++ b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/security/security_logic.ts @@ -138,7 +138,7 @@ export const SecurityLogic = kea> const { http } = HttpLogic.values; try { - const response = await http.get(route); + const response = await http.get(route); actions.setServerProps(response); } catch (e) { flashAPIErrors(e); @@ -151,7 +151,7 @@ export const SecurityLogic = kea> const { http } = HttpLogic.values; try { - const response = await http.patch(route, { body }); + const response = await http.patch(route, { body }); actions.setSourceRestrictionsUpdated(response); flashSuccessToast(SOURCE_RESTRICTIONS_SUCCESS_MESSAGE); AppLogic.actions.setSourceRestriction(isEnabled); diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/settings/settings_logic.ts b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/settings/settings_logic.ts index 4faaca58ab8a07..64dfa3f8e13bb6 100644 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/settings/settings_logic.ts +++ b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/settings/settings_logic.ts @@ -200,7 +200,7 @@ export const SettingsLogic = kea> const route = '/internal/workplace_search/org/settings'; try { - const response = await http.get(route); + const response = await http.get(route); actions.setServerProps(response); } catch (e) { flashAPIErrors(e); @@ -211,7 +211,7 @@ export const SettingsLogic = kea> const route = '/internal/workplace_search/org/settings/connectors'; try { - const response = await http.get(route); + const response = await http.get(route); actions.onInitializeConnectors(response); } catch (e) { flashAPIErrors(e); @@ -225,7 +225,9 @@ export const SettingsLogic = kea> const body = JSON.stringify({ name }); try { - const response = await http.put(route, { body }); + const response = await http.put<{ + organizationName: string; + }>(route, { body }); actions.setUpdatedName(response); flashSuccessToast(ORG_UPDATED_MESSAGE); AppLogic.actions.setOrgName(name); @@ -240,7 +242,7 @@ export const SettingsLogic = kea> const body = JSON.stringify({ logo }); try { - const response = await http.put(imageRoute, { body }); + const response = await http.put<{ logo: string | null }>(imageRoute, { body }); actions.setLogo(response.logo); flashSuccessToast(ORG_UPDATED_MESSAGE); } catch (e) { @@ -255,7 +257,7 @@ export const SettingsLogic = kea> const body = JSON.stringify({ icon }); try { - const response = await http.put(imageRoute, { body }); + const response = await http.put<{ icon: string | null }>(imageRoute, { body }); actions.setIcon(response.icon); flashSuccessToast(ORG_UPDATED_MESSAGE); } catch (e) { @@ -275,7 +277,9 @@ export const SettingsLogic = kea> clearFlashMessages(); try { - const response = await http.put(route, { body }); + const response = await http.put<{ + oauthApplication: IOauthApplication; + }>(route, { body }); actions.setUpdatedOauthApplication(response); flashSuccessToast(OAUTH_APP_UPDATED_MESSAGE); } catch (e) { diff --git a/x-pack/plugins/graph/public/helpers/format_http_error.ts b/x-pack/plugins/graph/public/helpers/format_http_error.ts index 79c1bc8a456381..13ab8c02848bfa 100644 --- a/x-pack/plugins/graph/public/helpers/format_http_error.ts +++ b/x-pack/plugins/graph/public/helpers/format_http_error.ts @@ -6,9 +6,11 @@ */ import { i18n } from '@kbn/i18n'; -import { IHttpFetchError } from 'kibana/public'; +import { IHttpFetchError, ResponseErrorBody } from 'kibana/public'; -export function formatHttpError(error: IHttpFetchError) { +export function formatHttpError( + error: IHttpFetchError +) { if (!error.response) { return i18n.translate('xpack.graph.fatalError.unavailableServerErrorMessage', { defaultMessage: @@ -20,9 +22,9 @@ export function formatHttpError(error: IHttpFetchError) { return i18n.translate('xpack.graph.fatalError.errorStatusMessage', { defaultMessage: 'Error {errStatus} {errStatusText}: {errMessage}', values: { - errStatus: error.body.status, - errStatusText: error.body.statusText, - errMessage: error.body.message, + errStatus: error.body?.status, + errStatusText: error.body?.statusText, + errMessage: error.body?.message, }, }); } diff --git a/x-pack/plugins/graph/public/helpers/use_graph_loader.ts b/x-pack/plugins/graph/public/helpers/use_graph_loader.ts index c133f6bf260cde..c895d4156fa7ba 100644 --- a/x-pack/plugins/graph/public/helpers/use_graph_loader.ts +++ b/x-pack/plugins/graph/public/helpers/use_graph_loader.ts @@ -7,7 +7,7 @@ import { useCallback, useState } from 'react'; import { ToastsStart } from 'kibana/public'; -import { IHttpFetchError, CoreStart } from 'kibana/public'; +import { IHttpFetchError, ResponseErrorBody, CoreStart } from 'kibana/public'; import { i18n } from '@kbn/i18n'; import { ExploreRequest, GraphExploreCallback, GraphSearchCallback, SearchRequest } from '../types'; import { formatHttpError } from './format_http_error'; @@ -21,7 +21,7 @@ export const useGraphLoader = ({ toastNotifications, coreStart }: UseGraphLoader const [loading, setLoading] = useState(false); const handleHttpError = useCallback( - (error: IHttpFetchError) => { + (error: IHttpFetchError) => { toastNotifications.addDanger(formatHttpError(error)); }, [toastNotifications] @@ -59,10 +59,10 @@ export const useGraphLoader = ({ toastNotifications, coreStart }: UseGraphLoader }; setLoading(true); return coreStart.http - .post('../api/graph/graphExplore', request) + .post<{ resp: { timed_out: unknown } }>('../api/graph/graphExplore', request) .then(function (data) { const response = data.resp; - if (response.timed_out) { + if (response?.timed_out) { toastNotifications.addWarning( i18n.translate('xpack.graph.exploreGraph.timedOutWarningText', { defaultMessage: 'Exploration timed out', @@ -88,7 +88,7 @@ export const useGraphLoader = ({ toastNotifications, coreStart }: UseGraphLoader }; setLoading(true); coreStart.http - .post('../api/graph/searchProxy', request) + .post<{ resp: unknown }>('../api/graph/searchProxy', request) .then(function (data) { const response = data.resp; responseHandler(response); diff --git a/x-pack/plugins/graph/public/services/fetch_top_nodes.ts b/x-pack/plugins/graph/public/services/fetch_top_nodes.ts index 34d34317d71165..1b1e91ac7277b6 100644 --- a/x-pack/plugins/graph/public/services/fetch_top_nodes.ts +++ b/x-pack/plugins/graph/public/services/fetch_top_nodes.ts @@ -96,8 +96,8 @@ export async function fetchTopNodes( .reduce((allAggs, subAgg) => ({ ...allAggs, ...subAgg })); const body = createSamplerSearchBody(aggs); - const response: TopTermsAggResponse = ( - await post('../api/graph/searchProxy', { + const response = ( + await post<{ resp: TopTermsAggResponse }>('../api/graph/searchProxy', { body: JSON.stringify({ index, body }), }) ).resp; diff --git a/x-pack/plugins/index_lifecycle_management/public/application/services/api_errors.ts b/x-pack/plugins/index_lifecycle_management/public/application/services/api_errors.ts index fc37b62e30eb25..5fcc0054cdeb00 100644 --- a/x-pack/plugins/index_lifecycle_management/public/application/services/api_errors.ts +++ b/x-pack/plugins/index_lifecycle_management/public/application/services/api_errors.ts @@ -5,10 +5,15 @@ * 2.0. */ -import { IHttpFetchError } from 'src/core/public'; +import { IHttpFetchError, ResponseErrorBody } from 'src/core/public'; import { fatalErrors, toasts } from './notification'; -function createToastConfig(error: IHttpFetchError, errorTitle: string) { +interface CommonErrorBody extends ResponseErrorBody { + error: string; + attributes: { causes: unknown[] }; +} + +function createToastConfig(error: IHttpFetchError, errorTitle: string) { if (error && error.body) { // Error body shape is defined by the API. const { error: errorString, statusCode, message: errorMessage, attributes } = error.body; @@ -23,7 +28,7 @@ function createToastConfig(error: IHttpFetchError, errorTitle: string) { } } -export function showApiWarning(error: IHttpFetchError, errorTitle: string) { +export function showApiWarning(error: IHttpFetchError, errorTitle: string) { const toastConfig = createToastConfig(error, errorTitle); if (toastConfig) { @@ -35,7 +40,7 @@ export function showApiWarning(error: IHttpFetchError, errorTitle: string) { return fatalErrors.add(error, errorTitle); } -export function showApiError(error: IHttpFetchError, errorTitle: string) { +export function showApiError(error: IHttpFetchError, errorTitle: string) { const toastConfig = createToastConfig(error, errorTitle); if (toastConfig) { diff --git a/x-pack/plugins/index_management/public/application/services/api.ts b/x-pack/plugins/index_management/public/application/services/api.ts index 5929df2f2821d1..5cfb881cb22cfa 100644 --- a/x-pack/plugins/index_management/public/application/services/api.ts +++ b/x-pack/plugins/index_management/public/application/services/api.ts @@ -76,7 +76,7 @@ export async function deleteDataStreams(dataStreams: string[]) { } export async function loadIndices() { - const response = await httpService.httpClient.get(`${API_BASE_PATH}/indices`); + const response = await httpService.httpClient.get(`${API_BASE_PATH}/indices`); return response.data ? response.data : response; } @@ -87,7 +87,7 @@ export async function reloadIndices( const body = JSON.stringify({ indexNames, }); - const response = await httpService.httpClient.post(`${API_BASE_PATH}/indices/reload`, { + const response = await httpService.httpClient.post(`${API_BASE_PATH}/indices/reload`, { body, asSystemRequest, }); diff --git a/x-pack/plugins/infra/public/pages/link_to/use_host_ip_to_name.ts b/x-pack/plugins/infra/public/pages/link_to/use_host_ip_to_name.ts index f42e17c147a450..e2c25ba6fcfe25 100644 --- a/x-pack/plugins/infra/public/pages/link_to/use_host_ip_to_name.ts +++ b/x-pack/plugins/infra/public/pages/link_to/use_host_ip_to_name.ts @@ -24,7 +24,7 @@ export const useHostIpToName = (ipAddress: string | null, indexPattern: string | throw new Error('HTTP service is unavailable'); } if (ipAddress && indexPattern) { - const response = await fetch('/api/infra/ip_to_host', { + const response = await fetch('/api/infra/ip_to_host', { method: 'POST', body: JSON.stringify({ ip: ipAddress, diff --git a/x-pack/plugins/lens/public/indexpattern_datasource/field_item.tsx b/x-pack/plugins/lens/public/indexpattern_datasource/field_item.tsx index 7aa972612c82f1..5d8ba778e30d14 100644 --- a/x-pack/plugins/lens/public/indexpattern_datasource/field_item.tsx +++ b/x-pack/plugins/lens/public/indexpattern_datasource/field_item.tsx @@ -165,7 +165,7 @@ export const InnerFieldItem = function InnerFieldItem(props: FieldItemProps) { setState((s) => ({ ...s, isLoading: true })); core.http - .post(`/api/lens/index_stats/${indexPattern.id}/field`, { + .post>(`/api/lens/index_stats/${indexPattern.id}/field`, { body: JSON.stringify({ dslQuery: esQuery.buildEsQuery( indexPattern, @@ -178,7 +178,7 @@ export const InnerFieldItem = function InnerFieldItem(props: FieldItemProps) { fieldName: field.name, }), }) - .then((results: FieldStatsResponse) => { + .then((results) => { setState((s) => ({ ...s, isLoading: false, diff --git a/x-pack/plugins/licensing/public/plugin.ts b/x-pack/plugins/licensing/public/plugin.ts index 1db463a47dbf0e..f147b560ad5d3a 100644 --- a/x-pack/plugins/licensing/public/plugin.ts +++ b/x-pack/plugins/licensing/public/plugin.ts @@ -14,6 +14,7 @@ import { createLicenseUpdate } from '../common/license_update'; import { License } from '../common/license'; import { mountExpiredBanner } from './expired_banner'; import { FeatureUsageService } from './services'; +import type { PublicLicenseJSON } from '../common/types'; export const licensingSessionStorageKey = 'xpack.licensing'; @@ -148,9 +149,9 @@ export class LicensingPlugin implements Plugin => { + private fetchLicense = async (core: CoreSetup): Promise => { try { - const response = await core.http.get({ + const response = await core.http.get({ path: this.infoEndpoint, asSystemRequest: true, }); diff --git a/x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.tsx b/x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.tsx index 5a08db36561362..488cafd07b6942 100644 --- a/x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.tsx +++ b/x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.tsx @@ -460,14 +460,13 @@ export class ESSearchSource extends AbstractESSource implements ITiledSingleLaye if (!(this.indexPattern && this.indexPattern.title)) { return []; } - let success; - let matchingIndexes; try { - ({ success, matchingIndexes } = await getMatchingIndexes(this.indexPattern.title)); + const { success, matchingIndexes } = await getMatchingIndexes(this.indexPattern.title); + return success ? matchingIndexes : []; } catch (e) { // Fail silently + return []; } - return success ? matchingIndexes : []; } async supportsFeatureEditing(): Promise { diff --git a/x-pack/plugins/maps/public/classes/sources/es_search_source/util/feature_edit.ts b/x-pack/plugins/maps/public/classes/sources/es_search_source/util/feature_edit.ts index af39019c2d14c2..c4e12ee177f679 100644 --- a/x-pack/plugins/maps/public/classes/sources/es_search_source/util/feature_edit.ts +++ b/x-pack/plugins/maps/public/classes/sources/es_search_source/util/feature_edit.ts @@ -42,7 +42,10 @@ export const deleteFeatureFromIndex = async (indexName: string, featureId: strin }; export const getMatchingIndexes = async (indexPattern: string) => { - return await getHttp().fetch({ + return await getHttp().fetch<{ + success: boolean; + matchingIndexes: string[]; + }>({ path: GET_MATCHING_INDEXES_PATH, method: 'GET', query: { indexPattern }, @@ -50,7 +53,10 @@ export const getMatchingIndexes = async (indexPattern: string) => { }; export const getIsDrawLayer = async (index: string) => { - return await getHttp().fetch({ + return await getHttp().fetch<{ + success: boolean; + isDrawingIndex: boolean; + }>({ path: CHECK_IS_DRAWING_INDEX, method: 'GET', query: { index }, diff --git a/x-pack/plugins/monitoring/public/application/hooks/use_alerts_modal.ts b/x-pack/plugins/monitoring/public/application/hooks/use_alerts_modal.ts index 123dd39f7b54dd..db692889e1140f 100644 --- a/x-pack/plugins/monitoring/public/application/hooks/use_alerts_modal.ts +++ b/x-pack/plugins/monitoring/public/application/hooks/use_alerts_modal.ts @@ -5,8 +5,8 @@ * 2.0. */ import { useKibana } from '../../../../../../src/plugins/kibana_react/public'; -import { showAlertsToast } from '../../alerts/lib/alerts_toast'; import { useRequestErrorHandler } from './use_request_error_handler'; +import { EnableAlertResponse, showAlertsToast } from '../../alerts/lib/alerts_toast'; export const useAlertsModal = () => { const { services } = useKibana(); @@ -29,7 +29,14 @@ export const useAlertsModal = () => { async function enableAlerts() { try { - const response = await services.http?.post('../api/monitoring/v1/alerts/enable', {}); + if (!services.http?.post) { + throw new Error('HTTP service is unavailable'); + } + + const response = await services.http.post( + '../api/monitoring/v1/alerts/enable', + {} + )!; window.localStorage.setItem('ALERTS_MODAL_DECISION_MADE', 'true'); showAlertsToast(response); } catch (err) { diff --git a/x-pack/plugins/monitoring/public/application/hooks/use_request_error_handler.tsx b/x-pack/plugins/monitoring/public/application/hooks/use_request_error_handler.tsx index 6c7c86a3301352..b4c2a4e86d3745 100644 --- a/x-pack/plugins/monitoring/public/application/hooks/use_request_error_handler.tsx +++ b/x-pack/plugins/monitoring/public/application/hooks/use_request_error_handler.tsx @@ -7,14 +7,14 @@ import React, { useCallback } from 'react'; import { useHistory } from 'react-router-dom'; import { includes } from 'lodash'; -import { IHttpFetchError } from 'kibana/public'; +import { IHttpFetchError, ResponseErrorBody } from 'kibana/public'; import { FormattedMessage } from '@kbn/i18n/react'; import { EuiButton, EuiSpacer, EuiText } from '@elastic/eui'; import { formatMsg } from '../../../../../../src/plugins/kibana_legacy/public'; import { toMountPoint, useKibana } from '../../../../../../src/plugins/kibana_react/public'; import { MonitoringStartPluginDependencies } from '../../types'; -export function formatMonitoringError(err: IHttpFetchError) { +export function formatMonitoringError(err: IHttpFetchError) { if (err.response?.status && err.response?.status !== -1) { return ( @@ -37,7 +37,7 @@ export const useRequestErrorHandler = () => { const { services } = useKibana(); const history = useHistory(); return useCallback( - (err: IHttpFetchError) => { + (err: IHttpFetchError) => { if (err.response?.status === 403) { // redirect to error message view history.push('/access-denied'); diff --git a/x-pack/plugins/monitoring/public/application/pages/apm/instance.tsx b/x-pack/plugins/monitoring/public/application/pages/apm/instance.tsx index 3fa7819c5e4178..9f8260b4fa0d90 100644 --- a/x-pack/plugins/monitoring/public/application/pages/apm/instance.tsx +++ b/x-pack/plugins/monitoring/public/application/pages/apm/instance.tsx @@ -59,7 +59,7 @@ export const ApmInstancePage: React.FC = ({ clusters }) => { const getPageData = useCallback(async () => { const bounds = services.data?.query.timefilter.timefilter.getBounds(); const url = `../api/monitoring/v1/clusters/${clusterUuid}/apm/${instance}`; - const response = await services.http?.fetch(url, { + const response = await services.http?.fetch<{ apmSummary: { name: string } }>(url, { method: 'POST', body: JSON.stringify({ ccs, @@ -71,7 +71,7 @@ export const ApmInstancePage: React.FC = ({ clusters }) => { }); setData(response); - setInstanceName(response.apmSummary.name); + setInstanceName(response?.apmSummary.name || ''); }, [ccs, clusterUuid, instance, services.data?.query.timefilter.timefilter, services.http]); return ( diff --git a/x-pack/plugins/monitoring/public/application/pages/apm/instances.tsx b/x-pack/plugins/monitoring/public/application/pages/apm/instances.tsx index 2543b054ee5bbf..fa3420d439ecad 100644 --- a/x-pack/plugins/monitoring/public/application/pages/apm/instances.tsx +++ b/x-pack/plugins/monitoring/public/application/pages/apm/instances.tsx @@ -60,7 +60,7 @@ export const ApmInstancesPage: React.FC = ({ clusters }) => { const getPageData = useCallback(async () => { const bounds = services.data?.query.timefilter.timefilter.getBounds(); const url = `../api/monitoring/v1/clusters/${clusterUuid}/apm/instances`; - const response = await services.http?.fetch(url, { + const response = await services.http?.fetch<{ stats: { total: number } }>(url, { method: 'POST', body: JSON.stringify({ ccs, @@ -72,7 +72,7 @@ export const ApmInstancesPage: React.FC = ({ clusters }) => { }); setData(response); - updateTotalItemCount(response.stats.total); + updateTotalItemCount(response?.stats.total); }, [ ccs, clusterUuid, diff --git a/x-pack/plugins/monitoring/public/application/pages/apm/overview.tsx b/x-pack/plugins/monitoring/public/application/pages/apm/overview.tsx index 516c293c535461..39144505d9818b 100644 --- a/x-pack/plugins/monitoring/public/application/pages/apm/overview.tsx +++ b/x-pack/plugins/monitoring/public/application/pages/apm/overview.tsx @@ -50,7 +50,7 @@ export const ApmOverviewPage: React.FC = ({ clusters }) => { const bounds = services.data?.query.timefilter.timefilter.getBounds(); const url = `../api/monitoring/v1/clusters/${clusterUuid}/apm`; - const response = await services.http?.fetch(url, { + const response = await services.http?.fetch(url, { method: 'POST', body: JSON.stringify({ ccs, diff --git a/x-pack/plugins/monitoring/public/application/pages/beats/instance.tsx b/x-pack/plugins/monitoring/public/application/pages/beats/instance.tsx index 4c66bbba631fbb..70dba8d5f0d3c1 100644 --- a/x-pack/plugins/monitoring/public/application/pages/beats/instance.tsx +++ b/x-pack/plugins/monitoring/public/application/pages/beats/instance.tsx @@ -59,7 +59,7 @@ export const BeatsInstancePage: React.FC = ({ clusters }) => { const getPageData = useCallback(async () => { const bounds = services.data?.query.timefilter.timefilter.getBounds(); const url = `../api/monitoring/v1/clusters/${clusterUuid}/beats/beat/${instance}`; - const response = await services.http?.fetch(url, { + const response = await services.http?.fetch<{ summary: { name: string } }>(url, { method: 'POST', body: JSON.stringify({ ccs, @@ -71,7 +71,7 @@ export const BeatsInstancePage: React.FC = ({ clusters }) => { }); setData(response); - setBeatName(response.summary.name); + setBeatName(response?.summary.name || ''); }, [ccs, clusterUuid, instance, services.data?.query.timefilter.timefilter, services.http]); return ( diff --git a/x-pack/plugins/monitoring/public/application/pages/beats/instances.tsx b/x-pack/plugins/monitoring/public/application/pages/beats/instances.tsx index b33789f510f2ed..a677d22cbd3a70 100644 --- a/x-pack/plugins/monitoring/public/application/pages/beats/instances.tsx +++ b/x-pack/plugins/monitoring/public/application/pages/beats/instances.tsx @@ -49,7 +49,7 @@ export const BeatsInstancesPage: React.FC = ({ clusters }) => { const getPageData = useCallback(async () => { const bounds = services.data?.query.timefilter.timefilter.getBounds(); const url = `../api/monitoring/v1/clusters/${clusterUuid}/beats/beats`; - const response = await services.http?.fetch(url, { + const response = await services.http?.fetch<{ stats: { total: number } }>(url, { method: 'POST', body: JSON.stringify({ ccs, @@ -61,7 +61,7 @@ export const BeatsInstancesPage: React.FC = ({ clusters }) => { }); setData(response); - updateTotalItemCount(response.stats.total); + updateTotalItemCount(response?.stats.total); }, [ ccs, clusterUuid, diff --git a/x-pack/plugins/monitoring/public/application/pages/beats/overview.tsx b/x-pack/plugins/monitoring/public/application/pages/beats/overview.tsx index aec89c92055c45..fad66cd03e444c 100644 --- a/x-pack/plugins/monitoring/public/application/pages/beats/overview.tsx +++ b/x-pack/plugins/monitoring/public/application/pages/beats/overview.tsx @@ -50,7 +50,7 @@ export const BeatsOverviewPage: React.FC = ({ clusters }) => { const bounds = services.data?.query.timefilter.timefilter.getBounds(); const url = `../api/monitoring/v1/clusters/${clusterUuid}/beats`; - const response = await services.http?.fetch(url, { + const response = await services.http?.fetch(url, { method: 'POST', body: JSON.stringify({ ccs, diff --git a/x-pack/plugins/monitoring/public/application/pages/elasticsearch/index_page.tsx b/x-pack/plugins/monitoring/public/application/pages/elasticsearch/index_page.tsx index db8c40ba22943b..5a3a48bdfe17f4 100644 --- a/x-pack/plugins/monitoring/public/application/pages/elasticsearch/index_page.tsx +++ b/x-pack/plugins/monitoring/public/application/pages/elasticsearch/index_page.tsx @@ -69,7 +69,7 @@ export const ElasticsearchIndexPage: React.FC = ({ clusters }) = const bounds = services.data?.query.timefilter.timefilter.getBounds(); const url = `../api/monitoring/v1/clusters/${clusterUuid}/elasticsearch/indices/${index}`; if (services.http?.fetch && clusterUuid) { - const response = await services.http?.fetch(url, { + const response = await services.http?.fetch<{ shards: unknown[]; nodes: unknown[] }>(url, { method: 'POST', body: JSON.stringify({ timeRange: { diff --git a/x-pack/plugins/monitoring/public/application/pages/elasticsearch/ml_jobs_page.tsx b/x-pack/plugins/monitoring/public/application/pages/elasticsearch/ml_jobs_page.tsx index 46bb4cc20242fe..0f002323c310f0 100644 --- a/x-pack/plugins/monitoring/public/application/pages/elasticsearch/ml_jobs_page.tsx +++ b/x-pack/plugins/monitoring/public/application/pages/elasticsearch/ml_jobs_page.tsx @@ -56,7 +56,7 @@ export const ElasticsearchMLJobsPage: React.FC = ({ clusters }) const getPageData = useCallback(async () => { const bounds = services.data?.query.timefilter.timefilter.getBounds(); const url = `../api/monitoring/v1/clusters/${clusterUuid}/elasticsearch/ml_jobs`; - const response = await services.http?.fetch(url, { + const response = await services.http?.fetch<{ rows: MLJobs; clusterStatus: unknown }>(url, { method: 'POST', body: JSON.stringify({ ccs, @@ -67,8 +67,8 @@ export const ElasticsearchMLJobsPage: React.FC = ({ clusters }) }), }); setData({ - clusterStatus: response.clusterStatus, - jobs: (response.rows as MLJobs).map((job) => { + clusterStatus: response?.clusterStatus, + jobs: response?.rows?.map((job) => { if ('ml' in job && job.ml?.job) { return { ...job.ml.job, diff --git a/x-pack/plugins/monitoring/public/application/pages/elasticsearch/node_page.tsx b/x-pack/plugins/monitoring/public/application/pages/elasticsearch/node_page.tsx index f6402dd8cba630..e09a1a2343c7b1 100644 --- a/x-pack/plugins/monitoring/public/application/pages/elasticsearch/node_page.tsx +++ b/x-pack/plugins/monitoring/public/application/pages/elasticsearch/node_page.tsx @@ -82,7 +82,7 @@ export const ElasticsearchNodePage: React.FC = ({ clusters }) => const bounds = services.data?.query.timefilter.timefilter.getBounds(); const url = `../api/monitoring/v1/clusters/${clusterUuid}/elasticsearch/nodes/${node}`; if (services.http?.fetch && clusterUuid) { - const response = await services.http?.fetch(url, { + const response = await services.http?.fetch<{ shards: unknown[]; nodes: unknown[] }>(url, { method: 'POST', body: JSON.stringify({ showSystemIndices, diff --git a/x-pack/plugins/monitoring/public/application/pages/elasticsearch/nodes_page.tsx b/x-pack/plugins/monitoring/public/application/pages/elasticsearch/nodes_page.tsx index 9933188b887d54..5d5fa4df458e18 100644 --- a/x-pack/plugins/monitoring/public/application/pages/elasticsearch/nodes_page.tsx +++ b/x-pack/plugins/monitoring/public/application/pages/elasticsearch/nodes_page.tsx @@ -66,7 +66,7 @@ export const ElasticsearchNodesPage: React.FC = ({ clusters }) = const url = `../api/monitoring/v1/clusters/${clusterUuid}/elasticsearch/nodes`; if (services.http?.fetch && clusterUuid) { setIsLoading(true); - const response = await services.http?.fetch(url, { + const response = await services.http?.fetch<{ totalNodeCount: number }>(url, { method: 'POST', body: JSON.stringify({ ccs, diff --git a/x-pack/plugins/monitoring/public/application/pages/elasticsearch/overview.tsx b/x-pack/plugins/monitoring/public/application/pages/elasticsearch/overview.tsx index d093ba6e6f0daa..16fa6de24b6b70 100644 --- a/x-pack/plugins/monitoring/public/application/pages/elasticsearch/overview.tsx +++ b/x-pack/plugins/monitoring/public/application/pages/elasticsearch/overview.tsx @@ -57,7 +57,7 @@ export const ElasticsearchOverviewPage: React.FC = ({ clusters } const bounds = services.data?.query.timefilter.timefilter.getBounds(); const url = `../api/monitoring/v1/clusters/${clusterUuid}/elasticsearch`; - const response = await services.http?.fetch(url, { + const response = await services.http?.fetch(url, { method: 'POST', body: JSON.stringify({ ccs, diff --git a/x-pack/plugins/monitoring/public/application/pages/kibana/instance.tsx b/x-pack/plugins/monitoring/public/application/pages/kibana/instance.tsx index 2d2fe99758ff78..262590b6806afc 100644 --- a/x-pack/plugins/monitoring/public/application/pages/kibana/instance.tsx +++ b/x-pack/plugins/monitoring/public/application/pages/kibana/instance.tsx @@ -138,7 +138,7 @@ export const KibanaInstancePage: React.FC = ({ clusters }) => { const bounds = services.data?.query.timefilter.timefilter.getBounds(); const url = `../api/monitoring/v1/clusters/${clusterUuid}/kibana/${instance}`; if (services.http?.fetch && clusterUuid) { - const response = await services.http?.fetch(url, { + const response = await services.http?.fetch<{ kibanaSummary: { name: string } }>(url, { method: 'POST', body: JSON.stringify({ ccs, diff --git a/x-pack/plugins/monitoring/public/application/pages/kibana/instances.tsx b/x-pack/plugins/monitoring/public/application/pages/kibana/instances.tsx index a27c1418eabc1d..f20099b286808e 100644 --- a/x-pack/plugins/monitoring/public/application/pages/kibana/instances.tsx +++ b/x-pack/plugins/monitoring/public/application/pages/kibana/instances.tsx @@ -54,7 +54,7 @@ export const KibanaInstancesPage: React.FC = ({ clusters }) => { const bounds = services.data?.query.timefilter.timefilter.getBounds(); const url = `../api/monitoring/v1/clusters/${clusterUuid}/kibana/instances`; if (services.http?.fetch && clusterUuid) { - const response = await services.http?.fetch(url, { + const response = await services.http?.fetch<{ kibanas: { length: number } }>(url, { method: 'POST', body: JSON.stringify({ ccs, diff --git a/x-pack/plugins/monitoring/public/application/pages/logstash/node_pipelines.tsx b/x-pack/plugins/monitoring/public/application/pages/logstash/node_pipelines.tsx index 5ac5fe356db9f4..35f4c0ce2ac44c 100644 --- a/x-pack/plugins/monitoring/public/application/pages/logstash/node_pipelines.tsx +++ b/x-pack/plugins/monitoring/public/application/pages/logstash/node_pipelines.tsx @@ -62,7 +62,7 @@ export const LogStashNodePipelinesPage: React.FC = ({ clusters } const getPageData = useCallback(async () => { const bounds = services.data?.query.timefilter.timefilter.getBounds(); const url = `../api/monitoring/v1/clusters/${clusterUuid}/logstash/node/${match.params.uuid}/pipelines`; - const response = await services.http?.fetch(url, { + const response = await services.http?.fetch(url, { method: 'POST', body: JSON.stringify({ ccs, diff --git a/x-pack/plugins/monitoring/public/application/pages/logstash/overview.tsx b/x-pack/plugins/monitoring/public/application/pages/logstash/overview.tsx index 1412f7b9c55fb3..60c9463d39bda9 100644 --- a/x-pack/plugins/monitoring/public/application/pages/logstash/overview.tsx +++ b/x-pack/plugins/monitoring/public/application/pages/logstash/overview.tsx @@ -41,7 +41,7 @@ export const LogStashOverviewPage: React.FC = ({ clusters }) => const bounds = services.data?.query.timefilter.timefilter.getBounds(); const url = `../api/monitoring/v1/clusters/${clusterUuid}/logstash`; - const response = await services.http?.fetch(url, { + const response = await services.http?.fetch(url, { method: 'POST', body: JSON.stringify({ ccs, diff --git a/x-pack/plugins/monitoring/public/application/pages/logstash/pipeline.tsx b/x-pack/plugins/monitoring/public/application/pages/logstash/pipeline.tsx index cf9b5628222f4a..7d057863ba3fcf 100644 --- a/x-pack/plugins/monitoring/public/application/pages/logstash/pipeline.tsx +++ b/x-pack/plugins/monitoring/public/application/pages/logstash/pipeline.tsx @@ -65,7 +65,7 @@ export const LogStashPipelinePage: React.FC = ({ clusters }) => ? `../api/monitoring/v1/clusters/${clusterUuid}/logstash/pipeline/${pipelineId}/${pipelineHash}` : `../api/monitoring/v1/clusters/${clusterUuid}/logstash/pipeline/${pipelineId}`; - const response = await services.http?.fetch(url, { + const response = await services.http?.fetch(url, { method: 'POST', body: JSON.stringify({ ccs, diff --git a/x-pack/plugins/monitoring/public/application/pages/logstash/pipelines.tsx b/x-pack/plugins/monitoring/public/application/pages/logstash/pipelines.tsx index 7c876c1e950cb4..ace8c23a480ba0 100644 --- a/x-pack/plugins/monitoring/public/application/pages/logstash/pipelines.tsx +++ b/x-pack/plugins/monitoring/public/application/pages/logstash/pipelines.tsx @@ -49,7 +49,7 @@ export const LogStashPipelinesPage: React.FC = ({ clusters }) => const bounds = services.data?.query.timefilter.timefilter.getBounds(); const url = `../api/monitoring/v1/clusters/${clusterUuid}/logstash/pipelines`; - const response = await services.http?.fetch(url, { + const response = await services.http?.fetch(url, { method: 'POST', body: JSON.stringify({ ccs, diff --git a/x-pack/plugins/monitoring/public/application/pages/page_template.tsx b/x-pack/plugins/monitoring/public/application/pages/page_template.tsx index a508714612c28f..c951d325c13f4a 100644 --- a/x-pack/plugins/monitoring/public/application/pages/page_template.tsx +++ b/x-pack/plugins/monitoring/public/application/pages/page_template.tsx @@ -8,7 +8,7 @@ import { EuiTab, EuiTabs } from '@elastic/eui'; import React, { useContext, useState, useEffect, useCallback } from 'react'; import { useHistory } from 'react-router-dom'; -import { IHttpFetchError } from 'kibana/public'; +import { IHttpFetchError, ResponseErrorBody } from 'kibana/public'; import { useTitle } from '../hooks/use_title'; import { MonitoringToolbar } from '../../components/shared/toolbar'; import { MonitoringTimeContainer } from '../hooks/use_monitoring_time'; @@ -66,7 +66,7 @@ export const PageTemplate: React.FC = ({ setIsRequestPending(true); getPageData?.() .then(getPageDataResponseHandler) - .catch((err: IHttpFetchError) => { + .catch((err: IHttpFetchError) => { handleRequestError(err); setHasError(true); }) diff --git a/x-pack/plugins/monitoring/public/lib/setup_mode.tsx b/x-pack/plugins/monitoring/public/lib/setup_mode.tsx index e582f4aa408128..2fae120012d735 100644 --- a/x-pack/plugins/monitoring/public/lib/setup_mode.tsx +++ b/x-pack/plugins/monitoring/public/lib/setup_mode.tsx @@ -9,7 +9,7 @@ import React from 'react'; import { render } from 'react-dom'; import { get, includes } from 'lodash'; import { i18n } from '@kbn/i18n'; -import { HttpStart, IHttpFetchError } from 'kibana/public'; +import { HttpStart, IHttpFetchError, ResponseErrorBody } from 'kibana/public'; import { KibanaContextProvider } from '../../../../../src/plugins/kibana_react/public'; import { Legacy } from '../legacy_shims'; import { SetupModeEnterButton } from '../components/setup_mode/enter_button'; @@ -23,7 +23,7 @@ function isOnPage(hash: string) { let globalState: GlobalState; let httpService: HttpStart; -let errorHandler: (error: IHttpFetchError) => void; +let errorHandler: (error: IHttpFetchError) => void; interface ISetupModeState { enabled: boolean; @@ -162,7 +162,7 @@ export const setSetupModeMenuItem = () => { export const initSetupModeState = async ( state: GlobalState, http: HttpStart, - handleErrors: (error: IHttpFetchError) => void, + handleErrors: (error: IHttpFetchError) => void, callback?: () => void ) => { globalState = state; diff --git a/x-pack/plugins/observability/public/components/app/cases/case_view/helpers.ts b/x-pack/plugins/observability/public/components/app/cases/case_view/helpers.ts index e8ba66c3327782..56e5610e1b117c 100644 --- a/x-pack/plugins/observability/public/components/app/cases/case_view/helpers.ts +++ b/x-pack/plugins/observability/public/components/app/cases/case_view/helpers.ts @@ -28,7 +28,7 @@ export const useFetchAlertDetail = (alertId: string): [boolean, TopAlert | null] const fetchData = async () => { try { setLoading(true); - const response = await http.get('/internal/rac/alerts', { + const response = await http.get>('/internal/rac/alerts', { query: { id: alertId, }, diff --git a/x-pack/plugins/osquery/public/agent_policies/use_agent_policy.ts b/x-pack/plugins/osquery/public/agent_policies/use_agent_policy.ts index 15f1e48f1536e5..678ea76ea5e84e 100644 --- a/x-pack/plugins/osquery/public/agent_policies/use_agent_policy.ts +++ b/x-pack/plugins/osquery/public/agent_policies/use_agent_policy.ts @@ -21,7 +21,7 @@ export const useAgentPolicy = ({ policyId, skip, silent }: UseAgentPolicy) => { const { http } = useKibana().services; const setErrorToast = useErrorToast(); - return useQuery( + return useQuery( ['agentPolicy', { policyId }], () => http.get(`/internal/osquery/fleet_wrapper/agent_policies/${policyId}`), { diff --git a/x-pack/plugins/osquery/public/agents/use_osquery_policies.ts b/x-pack/plugins/osquery/public/agents/use_osquery_policies.ts index cf777092da5cf4..759e9f22c71b8c 100644 --- a/x-pack/plugins/osquery/public/agents/use_osquery_policies.ts +++ b/x-pack/plugins/osquery/public/agents/use_osquery_policies.ts @@ -18,10 +18,12 @@ export const useOsqueryPolicies = () => { const { isLoading: osqueryPoliciesLoading, data: osqueryPolicies = [] } = useQuery( ['osqueryPolicies'], - () => http.get('/internal/osquery/fleet_wrapper/package_policies'), + () => + http.get<{ items: Array<{ policy_id: string }> }>( + '/internal/osquery/fleet_wrapper/package_policies' + ), { - select: (response) => - uniq(response.items.map((p: { policy_id: string }) => p.policy_id)), + select: (response) => uniq(response.items.map((p) => p.policy_id)), onSuccess: () => setErrorToast(), onError: (error: Error) => setErrorToast(error, { diff --git a/x-pack/plugins/osquery/public/common/hooks/use_osquery_integration.tsx b/x-pack/plugins/osquery/public/common/hooks/use_osquery_integration.tsx index 1994ea348e30c1..92f32d6535b4c9 100644 --- a/x-pack/plugins/osquery/public/common/hooks/use_osquery_integration.tsx +++ b/x-pack/plugins/osquery/public/common/hooks/use_osquery_integration.tsx @@ -15,14 +15,21 @@ export const useOsqueryIntegrationStatus = () => { const { http } = useKibana().services; const setErrorToast = useErrorToast(); - return useQuery('integration', () => http.get('/internal/osquery/status'), { - onError: (error: Error) => - setErrorToast(error, { - title: i18n.translate('xpack.osquery.osquery_integration.fetchError', { - defaultMessage: 'Error while fetching osquery integration', + return useQuery( + 'integration', + () => + http.get<{ name: string; version: string; title: string; install_status: string }>( + '/internal/osquery/status' + ), + { + onError: (error: Error) => + setErrorToast(error, { + title: i18n.translate('xpack.osquery.osquery_integration.fetchError', { + defaultMessage: 'Error while fetching osquery integration', + }), }), - }), - refetchOnReconnect: false, - refetchOnWindowFocus: false, - }); + refetchOnReconnect: false, + refetchOnWindowFocus: false, + } + ); }; diff --git a/x-pack/plugins/osquery/public/components/app.tsx b/x-pack/plugins/osquery/public/components/app.tsx index ea1f9698795aac..f4c805d3753511 100644 --- a/x-pack/plugins/osquery/public/components/app.tsx +++ b/x-pack/plugins/osquery/public/components/app.tsx @@ -24,7 +24,7 @@ const OsqueryAppComponent = () => { const section = useMemo(() => location.pathname.split('/')[1] ?? 'overview', [location.pathname]); const { data: osqueryIntegration, isFetched } = useOsqueryIntegrationStatus(); - if (isFetched && osqueryIntegration.install_status !== 'installed') { + if (isFetched && osqueryIntegration?.install_status !== 'installed') { return ; } diff --git a/x-pack/plugins/osquery/public/fleet_integration/osquery_managed_custom_button_extension.tsx b/x-pack/plugins/osquery/public/fleet_integration/osquery_managed_custom_button_extension.tsx index 67791cb34e6839..c3770f202c087e 100644 --- a/x-pack/plugins/osquery/public/fleet_integration/osquery_managed_custom_button_extension.tsx +++ b/x-pack/plugins/osquery/public/fleet_integration/osquery_managed_custom_button_extension.tsx @@ -24,8 +24,8 @@ export const OsqueryManagedCustomButtonExtension = React.memo { const fetchStatus = () => { - http.get('/internal/osquery/status').then((response) => { - setDisabled(response.install_status !== 'installed'); + http.get<{ install_status: string }>('/internal/osquery/status').then((response) => { + setDisabled(response?.install_status !== 'installed'); }); }; fetchStatus(); diff --git a/x-pack/plugins/osquery/public/fleet_integration/osquery_managed_policy_create_import_extension.tsx b/x-pack/plugins/osquery/public/fleet_integration/osquery_managed_policy_create_import_extension.tsx index 4ac20e6144c08c..63b30f5d20c7ac 100644 --- a/x-pack/plugins/osquery/public/fleet_integration/osquery_managed_policy_create_import_extension.tsx +++ b/x-pack/plugins/osquery/public/fleet_integration/osquery_managed_policy_create_import_extension.tsx @@ -261,11 +261,14 @@ export const OsqueryManagedPolicyCreateImportExtension = React.memo< if (editMode && policyAgentsCount === null) { const fetchAgentsCount = async () => { try { - const response = await http.fetch(agentRouteService.getStatusPath(), { - query: { - policyId: policy?.policy_id, - }, - }); + const response = await http.fetch<{ results: { total: number } }>( + agentRouteService.getStatusPath(), + { + query: { + policyId: policy?.policy_id, + }, + } + ); if (response.results) { setPolicyAgentsCount(response.results.total); } @@ -276,7 +279,7 @@ export const OsqueryManagedPolicyCreateImportExtension = React.memo< const fetchAgentPolicyDetails = async () => { if (policy?.policy_id) { try { - const response = await http.fetch( + const response = await http.fetch<{ item: AgentPolicy }>( agentPolicyRouteService.getInfoPath(policy?.policy_id) ); if (response.item) { diff --git a/x-pack/plugins/osquery/public/live_queries/form/index.tsx b/x-pack/plugins/osquery/public/live_queries/form/index.tsx index 6d13c76d9d5928..0c0151b36203c3 100644 --- a/x-pack/plugins/osquery/public/live_queries/form/index.tsx +++ b/x-pack/plugins/osquery/public/live_queries/form/index.tsx @@ -86,7 +86,7 @@ const LiveQueryFormComponent: React.FC = ({ const { data, isLoading, mutateAsync, isError, isSuccess } = useMutation( (payload: Record) => - http.post('/internal/osquery/action', { + http.post('/internal/osquery/action', { body: JSON.stringify(payload), }), { diff --git a/x-pack/plugins/osquery/public/packs/use_create_pack.ts b/x-pack/plugins/osquery/public/packs/use_create_pack.ts index 05756afde40d83..41104361cc4a3b 100644 --- a/x-pack/plugins/osquery/public/packs/use_create_pack.ts +++ b/x-pack/plugins/osquery/public/packs/use_create_pack.ts @@ -29,7 +29,7 @@ export const useCreatePack = ({ withRedirect }: UseCreatePackProps) => { return useMutation( (payload) => - http.post('/internal/osquery/packs', { + http.post('/internal/osquery/packs', { body: JSON.stringify(payload), }), { diff --git a/x-pack/plugins/osquery/public/packs/use_packs.ts b/x-pack/plugins/osquery/public/packs/use_packs.ts index 9870cb481450f8..72dbf4115247df 100644 --- a/x-pack/plugins/osquery/public/packs/use_packs.ts +++ b/x-pack/plugins/osquery/public/packs/use_packs.ts @@ -22,7 +22,7 @@ export const usePacks = ({ return useQuery( [PACKS_ID, { pageIndex, pageSize, sortField, sortDirection }], async () => - http.get('/internal/osquery/packs', { + http.get('/internal/osquery/packs', { query: { pageIndex, pageSize, sortField, sortDirection }, }), { diff --git a/x-pack/plugins/osquery/public/packs/use_update_pack.ts b/x-pack/plugins/osquery/public/packs/use_update_pack.ts index d9aecbe9ac5982..d7a0ccf7269eab 100644 --- a/x-pack/plugins/osquery/public/packs/use_update_pack.ts +++ b/x-pack/plugins/osquery/public/packs/use_update_pack.ts @@ -32,7 +32,7 @@ export const useUpdatePack = ({ withRedirect, options }: UseUpdatePackProps) => return useMutation( // @ts-expect-error update types ({ id, ...payload }) => - http.put(`/internal/osquery/packs/${id}`, { + http.put(`/internal/osquery/packs/${id}`, { body: JSON.stringify(payload), }), { diff --git a/x-pack/plugins/osquery/public/saved_queries/use_create_saved_query.ts b/x-pack/plugins/osquery/public/saved_queries/use_create_saved_query.ts index c736cdf9c35457..a8061fd9a5cce5 100644 --- a/x-pack/plugins/osquery/public/saved_queries/use_create_saved_query.ts +++ b/x-pack/plugins/osquery/public/saved_queries/use_create_saved_query.ts @@ -29,7 +29,7 @@ export const useCreateSavedQuery = ({ withRedirect }: UseCreateSavedQueryProps) return useMutation( (payload) => - http.post('/internal/osquery/saved_query', { + http.post('/internal/osquery/saved_query', { body: JSON.stringify(payload), }), { diff --git a/x-pack/plugins/osquery/public/saved_queries/use_saved_queries.ts b/x-pack/plugins/osquery/public/saved_queries/use_saved_queries.ts index 22ed81a62a5b3d..a7047dfec82d91 100644 --- a/x-pack/plugins/osquery/public/saved_queries/use_saved_queries.ts +++ b/x-pack/plugins/osquery/public/saved_queries/use_saved_queries.ts @@ -24,7 +24,7 @@ export const useSavedQueries = ({ return useQuery( [SAVED_QUERIES_ID, { pageIndex, pageSize, sortField, sortDirection }], () => - http.get('/internal/osquery/saved_query', { + http.get('/internal/osquery/saved_query', { query: { pageIndex, pageSize, sortField, sortDirection }, }), { diff --git a/x-pack/plugins/osquery/public/saved_queries/use_saved_query.ts b/x-pack/plugins/osquery/public/saved_queries/use_saved_query.ts index 04d7a9b505372c..811550feb38fe2 100644 --- a/x-pack/plugins/osquery/public/saved_queries/use_saved_query.ts +++ b/x-pack/plugins/osquery/public/saved_queries/use_saved_query.ts @@ -26,7 +26,7 @@ export const useSavedQuery = ({ savedQueryId }: UseSavedQueryProps) => { return useQuery( [SAVED_QUERY_ID, { savedQueryId }], - () => http.get(`/internal/osquery/saved_query/${savedQueryId}`), + () => http.get(`/internal/osquery/saved_query/${savedQueryId}`), { keepPreviousData: true, onSuccess: (data) => { diff --git a/x-pack/plugins/osquery/public/saved_queries/use_update_saved_query.ts b/x-pack/plugins/osquery/public/saved_queries/use_update_saved_query.ts index b2e23163a74c81..cc35654d50d540 100644 --- a/x-pack/plugins/osquery/public/saved_queries/use_update_saved_query.ts +++ b/x-pack/plugins/osquery/public/saved_queries/use_update_saved_query.ts @@ -29,7 +29,7 @@ export const useUpdateSavedQuery = ({ savedQueryId }: UseUpdateSavedQueryProps) return useMutation( (payload) => - http.put(`/internal/osquery/saved_query/${savedQueryId}`, { + http.put(`/internal/osquery/saved_query/${savedQueryId}`, { body: JSON.stringify(payload), }), { diff --git a/x-pack/plugins/painless_lab/public/application/hooks/use_submit_code.ts b/x-pack/plugins/painless_lab/public/application/hooks/use_submit_code.ts index f182ff2f3302b5..11cde8ad03d575 100644 --- a/x-pack/plugins/painless_lab/public/application/hooks/use_submit_code.ts +++ b/x-pack/plugins/painless_lab/public/application/hooks/use_submit_code.ts @@ -31,7 +31,7 @@ export const useSubmitCode = (http: HttpSetup) => { const requestId = ++currentRequestIdRef.current; try { - const result = await http.post(`${API_BASE_PATH}/execute`, { + const result = await http.post(`${API_BASE_PATH}/execute`, { // Stringify the string, because http runs it through JSON.parse, and we want to actually // send a JSON string. body: JSON.stringify(formatRequestPayload(config, PayloadFormat.UGLY)), diff --git a/x-pack/plugins/remote_clusters/public/application/services/api_errors.ts b/x-pack/plugins/remote_clusters/public/application/services/api_errors.ts index 190c6c16e14773..1f10478bf3543a 100644 --- a/x-pack/plugins/remote_clusters/public/application/services/api_errors.ts +++ b/x-pack/plugins/remote_clusters/public/application/services/api_errors.ts @@ -8,7 +8,13 @@ import { IHttpFetchError } from 'kibana/public'; import { toasts, fatalError } from './notification'; -function createToastConfig(error: IHttpFetchError, errorTitle: string) { +interface CommonErrorBody { + statusCode: number; + message: string; + error: string; +} + +function createToastConfig(error: IHttpFetchError, errorTitle: string) { // Expect an error in the shape provided by http service. if (error && error.body) { const { error: errorString, statusCode, message } = error.body; @@ -19,7 +25,7 @@ function createToastConfig(error: IHttpFetchError, errorTitle: string) { } } -export function showApiWarning(error: IHttpFetchError, errorTitle: string) { +export function showApiWarning(error: IHttpFetchError, errorTitle: string) { const toastConfig = createToastConfig(error, errorTitle); if (toastConfig) { @@ -31,7 +37,7 @@ export function showApiWarning(error: IHttpFetchError, errorTitle: string) { return fatalError.add(error, errorTitle); } -export function showApiError(error: IHttpFetchError, errorTitle: string) { +export function showApiError(error: IHttpFetchError, errorTitle: string) { const toastConfig = createToastConfig(error, errorTitle); if (toastConfig) { diff --git a/x-pack/plugins/reporting/public/lib/reporting_api_client/reporting_api_client.ts b/x-pack/plugins/reporting/public/lib/reporting_api_client/reporting_api_client.ts index 7a391368f65b3c..b27c2a65be963c 100644 --- a/x-pack/plugins/reporting/public/lib/reporting_api_client/reporting_api_client.ts +++ b/x-pack/plugins/reporting/public/lib/reporting_api_client/reporting_api_client.ts @@ -87,7 +87,7 @@ export class ReportingAPIClient implements IReportingAPI { } public async deleteReport(jobId: string) { - return await this.http.delete(`${API_LIST_URL}/delete/${jobId}`, { + return await this.http.delete(`${API_LIST_URL}/delete/${jobId}`, { asSystemRequest: true, }); } @@ -108,7 +108,7 @@ export class ReportingAPIClient implements IReportingAPI { } public async total() { - return await this.http.get(`${API_LIST_URL}/count`, { + return await this.http.get(`${API_LIST_URL}/count`, { asSystemRequest: true, }); } @@ -196,13 +196,13 @@ export class ReportingAPIClient implements IReportingAPI { public getServerBasePath = () => this.http.basePath.serverBasePath; public verifyBrowser() { - return this.http.post(`${API_BASE_URL}/diagnose/browser`, { + return this.http.post(`${API_BASE_URL}/diagnose/browser`, { asSystemRequest: true, }); } public verifyScreenCapture() { - return this.http.post(`${API_BASE_URL}/diagnose/screenshot`, { + return this.http.post(`${API_BASE_URL}/diagnose/screenshot`, { asSystemRequest: true, }); } diff --git a/x-pack/plugins/reporting/public/panel_actions/get_csv_panel_action.tsx b/x-pack/plugins/reporting/public/panel_actions/get_csv_panel_action.tsx index fbfaeab9bc4f22..b55b7e636472c9 100644 --- a/x-pack/plugins/reporting/public/panel_actions/get_csv_panel_action.tsx +++ b/x-pack/plugins/reporting/public/panel_actions/get_csv_panel_action.tsx @@ -144,7 +144,7 @@ export class ReportingCsvPanelAction implements ActionDefinition this.isDownloading = false; const download = `${savedSearch.title}.csv`; - const blob = new Blob([rawResponse], { type: 'text/csv;charset=utf-8;' }); + const blob = new Blob([rawResponse as BlobPart], { type: 'text/csv;charset=utf-8;' }); // Hack for IE11 Support if (window.navigator.msSaveOrOpenBlob) { diff --git a/x-pack/plugins/rollup/public/crud_app/services/api_errors.ts b/x-pack/plugins/rollup/public/crud_app/services/api_errors.ts index 2749e165e15681..a2adfd7a385292 100644 --- a/x-pack/plugins/rollup/public/crud_app/services/api_errors.ts +++ b/x-pack/plugins/rollup/public/crud_app/services/api_errors.ts @@ -8,7 +8,14 @@ import { IHttpFetchError } from 'src/core/public'; import { getNotifications, getFatalErrors } from '../../kibana_services'; -function createToastConfig(error: IHttpFetchError, errorTitle: string) { +function createToastConfig( + error: IHttpFetchError<{ + statusCode: number; + message: string; + error: string; + }>, + errorTitle: string +) { if (error && error.body) { // Error body shape is defined by the API. const { error: errorString, statusCode, message } = error.body; @@ -20,7 +27,14 @@ function createToastConfig(error: IHttpFetchError, errorTitle: string) { } } -export function showApiWarning(error: IHttpFetchError, errorTitle: string) { +export function showApiWarning( + error: IHttpFetchError<{ + statusCode: number; + message: string; + error: string; + }>, + errorTitle: string +) { const toastConfig = createToastConfig(error, errorTitle); if (toastConfig) { @@ -32,7 +46,14 @@ export function showApiWarning(error: IHttpFetchError, errorTitle: string) { return getFatalErrors().add(error, errorTitle); } -export function showApiError(error: IHttpFetchError, errorTitle: string) { +export function showApiError( + error: IHttpFetchError<{ + statusCode: number; + message: string; + error: string; + }>, + errorTitle: string +) { const toastConfig = createToastConfig(error, errorTitle); if (toastConfig) { diff --git a/x-pack/plugins/searchprofiler/public/application/hooks/use_request_profile.ts b/x-pack/plugins/searchprofiler/public/application/hooks/use_request_profile.ts index aba51c5aedeccd..c27ca90e6e2f28 100644 --- a/x-pack/plugins/searchprofiler/public/application/hooks/use_request_profile.ts +++ b/x-pack/plugins/searchprofiler/public/application/hooks/use_request_profile.ts @@ -66,7 +66,10 @@ export const useRequestProfile = () => { } try { - const resp = await http.post('../api/searchprofiler/profile', { + const resp = await http.post< + | { ok: true; resp: { profile: { shards: ShardSerialized[] } } } + | { ok: false; err: { msg: string } } + >('../api/searchprofiler/profile', { body: JSON.stringify(payload), headers: { 'Content-Type': 'application/json' }, }); diff --git a/x-pack/plugins/security/public/management/roles/edit_role/edit_role_page.tsx b/x-pack/plugins/security/public/management/roles/edit_role/edit_role_page.tsx index 4c71dcd935ff96..10e1729dbd34bf 100644 --- a/x-pack/plugins/security/public/management/roles/edit_role/edit_role_page.tsx +++ b/x-pack/plugins/security/public/management/roles/edit_role/edit_role_page.tsx @@ -224,7 +224,7 @@ function useRole( function useSpaces(http: HttpStart, fatalErrors: FatalErrorsSetup) { const [spaces, setSpaces] = useState<{ enabled: boolean; list: Space[] } | null>(null); useEffect(() => { - http.get('/api/spaces/space').then( + http.get('/api/spaces/space').then( (fetchedSpaces) => setSpaces({ enabled: true, list: fetchedSpaces }), (err: IHttpFetchError) => { // Spaces plugin can be disabled and hence this endpoint can be unavailable. diff --git a/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.ts b/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.ts index 0f05dffe651565..3506d2c22ce3ff 100644 --- a/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.ts +++ b/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.ts @@ -11,6 +11,7 @@ import semverGte from 'semver/functions/gte'; import { CoreStart, HttpStart } from 'kibana/public'; import { ActivityLog, + GetHostPolicyResponse, HostInfo, HostIsolationRequestBody, HostIsolationResponse, @@ -577,9 +578,10 @@ async function loadEndpointDetails({ // call the policy response api try { - const policyResponse = await coreStart.http.get(BASE_POLICY_RESPONSE_ROUTE, { - query: { agentId: selectedEndpoint }, - }); + const policyResponse = await coreStart.http.get( + BASE_POLICY_RESPONSE_ROUTE, + { query: { agentId: selectedEndpoint } } + ); dispatch({ type: 'serverReturnedEndpointPolicyResponse', payload: policyResponse, @@ -610,7 +612,7 @@ async function endpointDetailsMiddleware({ if (listData(getState()).length === 0) { const { page_index: pageIndex, page_size: pageSize } = uiQueryParams(getState()); try { - const response = await coreStart.http.post(HOST_METADATA_LIST_ROUTE, { + const response = await coreStart.http.post(HOST_METADATA_LIST_ROUTE, { body: JSON.stringify({ paging_properties: [{ page_index: pageIndex }, { page_size: pageSize }], }), diff --git a/x-pack/plugins/spaces/public/spaces_manager/spaces_manager.ts b/x-pack/plugins/spaces/public/spaces_manager/spaces_manager.ts index d0406d744b72a9..62f3a39a6b48b4 100644 --- a/x-pack/plugins/spaces/public/spaces_manager/spaces_manager.ts +++ b/x-pack/plugins/spaces/public/spaces_manager/spaces_manager.ts @@ -140,7 +140,9 @@ export class SpacesManager { type: string ): Promise<{ shareToAllSpaces: boolean }> { return this.http - .get('/internal/security/_share_saved_object_permissions', { query: { type } }) + .get<{ shareToAllSpaces: boolean }>('/internal/security/_share_saved_object_permissions', { + query: { type }, + }) .catch((err) => { const isNotFound = err?.body?.statusCode === 404; if (isNotFound) { @@ -190,7 +192,7 @@ export class SpacesManager { if (this.isAnonymousPath()) { return; } - const activeSpace = await this.http.get('/internal/spaces/_active_space'); + const activeSpace = await this.http.get('/internal/spaces/_active_space'); this.activeSpace$.next(activeSpace); } diff --git a/x-pack/plugins/timelines/public/container/use_update_alerts.ts b/x-pack/plugins/timelines/public/container/use_update_alerts.ts index 37a1fe1671fbdb..b5d76f2fe324a9 100644 --- a/x-pack/plugins/timelines/public/container/use_update_alerts.ts +++ b/x-pack/plugins/timelines/public/container/use_update_alerts.ts @@ -40,14 +40,15 @@ export const useUpdateAlertsStatus = ( return { updateAlertStatus: async ({ status, index, query }) => { if (useDetectionEngine) { - return http.fetch(DETECTION_ENGINE_SIGNALS_STATUS_URL, { + return http.fetch(DETECTION_ENGINE_SIGNALS_STATUS_URL, { method: 'POST', body: JSON.stringify({ status, query }), }); } else { - const { body } = await http.post(RAC_ALERTS_BULK_UPDATE_URL, { - body: JSON.stringify({ index, status, query }), - }); + const { body } = await http.post<{ body: estypes.UpdateByQueryResponse }>( + RAC_ALERTS_BULK_UPDATE_URL, + { body: JSON.stringify({ index, status, query }) } + ); return body; } }, diff --git a/x-pack/plugins/transform/public/app/services/es_index_service.ts b/x-pack/plugins/transform/public/app/services/es_index_service.ts index d9014602cc3938..c8d3f625a9281c 100644 --- a/x-pack/plugins/transform/public/app/services/es_index_service.ts +++ b/x-pack/plugins/transform/public/app/services/es_index_service.ts @@ -11,7 +11,7 @@ import { IIndexPattern } from '../../../../../../src/plugins/data/common'; export class IndexService { async canDeleteIndex(http: HttpSetup) { - const privilege = await http.get(`${API_BASE_PATH}privileges`); + const privilege = await http.get<{ hasAllPrivileges: boolean }>(`${API_BASE_PATH}privileges`); if (!privilege) { return false; } diff --git a/x-pack/plugins/triggers_actions_ui/public/application/components/builtin_action_types/resilient/api.ts b/x-pack/plugins/triggers_actions_ui/public/application/components/builtin_action_types/resilient/api.ts index e3a46c5a875c79..daca46247ae3e4 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/components/builtin_action_types/resilient/api.ts +++ b/x-pack/plugins/triggers_actions_ui/public/application/components/builtin_action_types/resilient/api.ts @@ -7,7 +7,7 @@ import { HttpSetup } from 'kibana/public'; import { BASE_ACTION_API_PATH } from '../../../constants'; -import { rewriteResponseToCamelCase } from '../rewrite_response_body'; +import { ConnectorExecutorResult, rewriteResponseToCamelCase } from '../rewrite_response_body'; export async function getIncidentTypes({ http, @@ -18,7 +18,7 @@ export async function getIncidentTypes({ signal: AbortSignal; connectorId: string; }): Promise> { - const res = await http.post( + const res = await http.post>( `${BASE_ACTION_API_PATH}/connector/${encodeURIComponent(connectorId)}/_execute`, { body: JSON.stringify({ @@ -39,7 +39,7 @@ export async function getSeverity({ signal: AbortSignal; connectorId: string; }): Promise> { - const res = await http.post( + const res = await http.post>( `${BASE_ACTION_API_PATH}/connector/${encodeURIComponent(connectorId)}/_execute`, { body: JSON.stringify({ diff --git a/x-pack/plugins/triggers_actions_ui/public/application/lib/action_connector_api/connector_types.ts b/x-pack/plugins/triggers_actions_ui/public/application/lib/action_connector_api/connector_types.ts index 6f7e8b03658e0f..e1b63280cc9153 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/lib/action_connector_api/connector_types.ts +++ b/x-pack/plugins/triggers_actions_ui/public/application/lib/action_connector_api/connector_types.ts @@ -27,6 +27,8 @@ const rewriteBodyReq: RewriteRequestCase = ({ }); export async function loadActionTypes({ http }: { http: HttpSetup }): Promise { - const res = await http.get(`${BASE_ACTION_API_PATH}/connector_types`); + const res = await http.get[0]>( + `${BASE_ACTION_API_PATH}/connector_types` + ); return rewriteResponseRes(res); } diff --git a/x-pack/plugins/triggers_actions_ui/public/application/lib/action_connector_api/connectors.ts b/x-pack/plugins/triggers_actions_ui/public/application/lib/action_connector_api/connectors.ts index 7011ec016c089f..70997ca52dab1c 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/lib/action_connector_api/connectors.ts +++ b/x-pack/plugins/triggers_actions_ui/public/application/lib/action_connector_api/connectors.ts @@ -34,6 +34,8 @@ const transformConnector: RewriteRequestCase< }); export async function loadAllActions({ http }: { http: HttpSetup }): Promise { - const res = await http.get(`${BASE_ACTION_API_PATH}/connectors`); + const res = await http.get[0]>( + `${BASE_ACTION_API_PATH}/connectors` + ); return rewriteResponseRes(res); } diff --git a/x-pack/plugins/triggers_actions_ui/public/application/lib/action_connector_api/create.ts b/x-pack/plugins/triggers_actions_ui/public/application/lib/action_connector_api/create.ts index 7a63f6a19f583a..624aff1cd77733 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/lib/action_connector_api/create.ts +++ b/x-pack/plugins/triggers_actions_ui/public/application/lib/action_connector_api/create.ts @@ -42,8 +42,9 @@ export async function createActionConnector({ http: HttpSetup; connector: Omit; }): Promise { - const res = await http.post(`${BASE_ACTION_API_PATH}/connector`, { - body: JSON.stringify(rewriteBodyRequest(connector)), - }); + const res = await http.post[0]>( + `${BASE_ACTION_API_PATH}/connector`, + { body: JSON.stringify(rewriteBodyRequest(connector)) } + ); return rewriteBodyRes(res); } diff --git a/x-pack/plugins/triggers_actions_ui/public/application/lib/action_connector_api/delete.ts b/x-pack/plugins/triggers_actions_ui/public/application/lib/action_connector_api/delete.ts index 868e5390045ccd..8c9495158cc579 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/lib/action_connector_api/delete.ts +++ b/x-pack/plugins/triggers_actions_ui/public/application/lib/action_connector_api/delete.ts @@ -17,7 +17,9 @@ export async function deleteActions({ const successes: string[] = []; const errors: string[] = []; await Promise.all( - ids.map((id) => http.delete(`${BASE_ACTION_API_PATH}/connector/${encodeURIComponent(id)}`)) + ids.map((id) => + http.delete(`${BASE_ACTION_API_PATH}/connector/${encodeURIComponent(id)}`) + ) ).then( function (fulfilled) { successes.push(...fulfilled); diff --git a/x-pack/plugins/triggers_actions_ui/public/application/lib/action_connector_api/execute.ts b/x-pack/plugins/triggers_actions_ui/public/application/lib/action_connector_api/execute.ts index d97ad7d5962b74..0a305413f61f7d 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/lib/action_connector_api/execute.ts +++ b/x-pack/plugins/triggers_actions_ui/public/application/lib/action_connector_api/execute.ts @@ -31,7 +31,7 @@ export async function executeAction({ http: HttpSetup; params: Record; }): Promise> { - const res = await http.post( + const res = await http.post[0]>( `${BASE_ACTION_API_PATH}/connector/${encodeURIComponent(id)}/_execute`, { body: JSON.stringify({ params }), diff --git a/x-pack/plugins/triggers_actions_ui/public/application/lib/action_connector_api/update.ts b/x-pack/plugins/triggers_actions_ui/public/application/lib/action_connector_api/update.ts index f2319ace29d685..a45dc8cfca2f9e 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/lib/action_connector_api/update.ts +++ b/x-pack/plugins/triggers_actions_ui/public/application/lib/action_connector_api/update.ts @@ -36,13 +36,16 @@ export async function updateActionConnector({ connector: Pick; id: string; }): Promise { - const res = await http.put(`${BASE_ACTION_API_PATH}/connector/${encodeURIComponent(id)}`, { - body: JSON.stringify({ - name: connector.name, - config: connector.config, - secrets: connector.secrets, - }), - }); + const res = await http.put[0]>( + `${BASE_ACTION_API_PATH}/connector/${encodeURIComponent(id)}`, + { + body: JSON.stringify({ + name: connector.name, + config: connector.config, + secrets: connector.secrets, + }), + } + ); return rewriteBodyRes(res); } diff --git a/x-pack/plugins/triggers_actions_ui/public/application/lib/alert_api/aggregate.ts b/x-pack/plugins/triggers_actions_ui/public/application/lib/alert_api/aggregate.ts index 589677ec2322d2..917a491586b36b 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/lib/alert_api/aggregate.ts +++ b/x-pack/plugins/triggers_actions_ui/public/application/lib/alert_api/aggregate.ts @@ -8,7 +8,7 @@ import { HttpSetup } from 'kibana/public'; import { AlertAggregations } from '../../../types'; import { INTERNAL_BASE_ALERTING_API_PATH } from '../../constants'; import { mapFiltersToKql } from './map_filters_to_kql'; -import { RewriteRequestCase } from '../../../../../actions/common'; +import { AsApiContract, RewriteRequestCase } from '../../../../../actions/common'; const rewriteBodyRes: RewriteRequestCase = ({ rule_execution_status: alertExecutionStatus, @@ -32,13 +32,16 @@ export async function loadAlertAggregations({ alertStatusesFilter?: string[]; }): Promise { const filters = mapFiltersToKql({ typesFilter, actionTypesFilter, alertStatusesFilter }); - const res = await http.get(`${INTERNAL_BASE_ALERTING_API_PATH}/rules/_aggregate`, { - query: { - search_fields: searchText ? JSON.stringify(['name', 'tags']) : undefined, - search: searchText, - filter: filters.length ? filters.join(' and ') : undefined, - default_search_operator: 'AND', - }, - }); + const res = await http.get>( + `${INTERNAL_BASE_ALERTING_API_PATH}/rules/_aggregate`, + { + query: { + search_fields: searchText ? JSON.stringify(['name', 'tags']) : undefined, + search: searchText, + filter: filters.length ? filters.join(' and ') : undefined, + default_search_operator: 'AND', + }, + } + ); return rewriteBodyRes(res); } diff --git a/x-pack/plugins/triggers_actions_ui/public/application/lib/alert_api/alert_summary.ts b/x-pack/plugins/triggers_actions_ui/public/application/lib/alert_api/alert_summary.ts index 701c8f3a7beec8..35a757f4b6afeb 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/lib/alert_api/alert_summary.ts +++ b/x-pack/plugins/triggers_actions_ui/public/application/lib/alert_api/alert_summary.ts @@ -7,7 +7,7 @@ import { HttpSetup } from 'kibana/public'; import { INTERNAL_BASE_ALERTING_API_PATH } from '../../constants'; import { AlertInstanceSummary } from '../../../types'; -import { RewriteRequestCase } from '../../../../../actions/common'; +import { RewriteRequestCase, AsApiContract } from '../../../../../actions/common'; const rewriteBodyRes: RewriteRequestCase = ({ alerts, @@ -38,7 +38,7 @@ export async function loadAlertInstanceSummary({ http: HttpSetup; alertId: string; }): Promise { - const res = await http.get( + const res = await http.get>( `${INTERNAL_BASE_ALERTING_API_PATH}/rule/${encodeURIComponent(alertId)}/_alert_summary` ); return rewriteBodyRes(res); diff --git a/x-pack/plugins/triggers_actions_ui/public/application/lib/alert_api/create.ts b/x-pack/plugins/triggers_actions_ui/public/application/lib/alert_api/create.ts index bd92769b4bbf39..36d2a17bcd4d53 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/lib/alert_api/create.ts +++ b/x-pack/plugins/triggers_actions_ui/public/application/lib/alert_api/create.ts @@ -5,7 +5,7 @@ * 2.0. */ import { HttpSetup } from 'kibana/public'; -import { RewriteResponseCase } from '../../../../../actions/common'; +import { AsApiContract, RewriteResponseCase } from '../../../../../actions/common'; import { Alert, AlertUpdates } from '../../../types'; import { BASE_ALERTING_API_PATH } from '../../constants'; import { transformAlert } from './common_transformations'; @@ -37,7 +37,7 @@ export async function createAlert({ http: HttpSetup; alert: AlertCreateBody; }): Promise { - const res = await http.post(`${BASE_ALERTING_API_PATH}/rule`, { + const res = await http.post>(`${BASE_ALERTING_API_PATH}/rule`, { body: JSON.stringify(rewriteBodyRequest(alert)), }); return transformAlert(res); diff --git a/x-pack/plugins/triggers_actions_ui/public/application/lib/alert_api/delete.ts b/x-pack/plugins/triggers_actions_ui/public/application/lib/alert_api/delete.ts index b853e722e6fc36..d223dd08ca29a5 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/lib/alert_api/delete.ts +++ b/x-pack/plugins/triggers_actions_ui/public/application/lib/alert_api/delete.ts @@ -17,7 +17,7 @@ export async function deleteAlerts({ const successes: string[] = []; const errors: string[] = []; await Promise.all( - ids.map((id) => http.delete(`${BASE_ALERTING_API_PATH}/rule/${encodeURIComponent(id)}`)) + ids.map((id) => http.delete(`${BASE_ALERTING_API_PATH}/rule/${encodeURIComponent(id)}`)) ).then( function (fulfilled) { successes.push(...fulfilled); diff --git a/x-pack/plugins/triggers_actions_ui/public/application/lib/alert_api/get_rule.ts b/x-pack/plugins/triggers_actions_ui/public/application/lib/alert_api/get_rule.ts index 9fa882c02fa228..fd4de0c3dae689 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/lib/alert_api/get_rule.ts +++ b/x-pack/plugins/triggers_actions_ui/public/application/lib/alert_api/get_rule.ts @@ -5,6 +5,7 @@ * 2.0. */ import { HttpSetup } from 'kibana/public'; +import { AsApiContract } from '../../../../../actions/common'; import { Alert } from '../../../types'; import { BASE_ALERTING_API_PATH } from '../../constants'; import { transformAlert } from './common_transformations'; @@ -16,6 +17,8 @@ export async function loadAlert({ http: HttpSetup; alertId: string; }): Promise { - const res = await http.get(`${BASE_ALERTING_API_PATH}/rule/${encodeURIComponent(alertId)}`); + const res = await http.get>( + `${BASE_ALERTING_API_PATH}/rule/${encodeURIComponent(alertId)}` + ); return transformAlert(res); } diff --git a/x-pack/plugins/triggers_actions_ui/public/application/lib/alert_api/health.ts b/x-pack/plugins/triggers_actions_ui/public/application/lib/alert_api/health.ts index 9468f4b3c03e09..b9df3938fafaa2 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/lib/alert_api/health.ts +++ b/x-pack/plugins/triggers_actions_ui/public/application/lib/alert_api/health.ts @@ -38,7 +38,14 @@ export async function alertingFrameworkHealth({ }: { http: HttpSetup; }): Promise { - const res = await http.get(`${BASE_ALERTING_API_PATH}/_health`); - const alertingFrameworkHeath = rewriteAlertingFrameworkHeath(res.alerting_framework_heath); - return { ...rewriteBodyRes(res), alertingFrameworkHeath }; + const res = await http.get>( + `${BASE_ALERTING_API_PATH}/_health` + ); + const alertingFrameworkHeath = rewriteAlertingFrameworkHeath( + res.alerting_framework_heath as unknown as AsApiContract + ); + return { + ...rewriteBodyRes(res), + alertingFrameworkHeath, + }; } diff --git a/x-pack/plugins/triggers_actions_ui/public/application/lib/alert_api/resolve_rule.ts b/x-pack/plugins/triggers_actions_ui/public/application/lib/alert_api/resolve_rule.ts index bc2a19d298f8a5..fa2867ffd85e7a 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/lib/alert_api/resolve_rule.ts +++ b/x-pack/plugins/triggers_actions_ui/public/application/lib/alert_api/resolve_rule.ts @@ -5,6 +5,7 @@ * 2.0. */ import { HttpSetup } from 'kibana/public'; +import { AsApiContract } from '../../../../../actions/common'; import { ResolvedRule } from '../../../types'; import { INTERNAL_BASE_ALERTING_API_PATH } from '../../constants'; import { transformResolvedRule } from './common_transformations'; @@ -16,7 +17,7 @@ export async function resolveRule({ http: HttpSetup; ruleId: string; }): Promise { - const res = await http.get( + const res = await http.get>( `${INTERNAL_BASE_ALERTING_API_PATH}/rule/${encodeURIComponent(ruleId)}/_resolve` ); return transformResolvedRule(res); diff --git a/x-pack/plugins/triggers_actions_ui/public/application/lib/alert_api/rule_types.ts b/x-pack/plugins/triggers_actions_ui/public/application/lib/alert_api/rule_types.ts index 67d317643ec068..530c158838c2bb 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/lib/alert_api/rule_types.ts +++ b/x-pack/plugins/triggers_actions_ui/public/application/lib/alert_api/rule_types.ts @@ -36,6 +36,8 @@ const rewriteBodyReq: RewriteRequestCase = ({ }); export async function loadAlertTypes({ http }: { http: HttpSetup }): Promise { - const res = await http.get(`${BASE_ALERTING_API_PATH}/rule_types`); + const res = await http.get>>>( + `${BASE_ALERTING_API_PATH}/rule_types` + ); return rewriteResponseRes(res); } diff --git a/x-pack/plugins/triggers_actions_ui/public/application/lib/alert_api/rules.ts b/x-pack/plugins/triggers_actions_ui/public/application/lib/alert_api/rules.ts index f0bbb57180bb46..3475cbb04408e7 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/lib/alert_api/rules.ts +++ b/x-pack/plugins/triggers_actions_ui/public/application/lib/alert_api/rules.ts @@ -38,7 +38,14 @@ export async function loadAlerts({ data: Alert[]; }> { const filters = mapFiltersToKql({ typesFilter, actionTypesFilter, alertStatusesFilter }); - const res = await http.get(`${BASE_ALERTING_API_PATH}/rules/_find`, { + const res = await http.get< + AsApiContract<{ + page: number; + perPage: number; + total: number; + data: Array>; + }> + >(`${BASE_ALERTING_API_PATH}/rules/_find`, { query: { page: page.index + 1, per_page: page.size, diff --git a/x-pack/plugins/triggers_actions_ui/public/application/lib/alert_api/state.ts b/x-pack/plugins/triggers_actions_ui/public/application/lib/alert_api/state.ts index 428bc5b99a70b4..f5529c5d7d5b52 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/lib/alert_api/state.ts +++ b/x-pack/plugins/triggers_actions_ui/public/application/lib/alert_api/state.ts @@ -34,10 +34,10 @@ export async function loadAlertState({ alertId: string; }): Promise { return await http - .get(`${INTERNAL_BASE_ALERTING_API_PATH}/rule/${alertId}/state`) - .then((state: AsApiContract | EmptyHttpResponse) => - state ? rewriteBodyRes(state) : {} + .get | EmptyHttpResponse>( + `${INTERNAL_BASE_ALERTING_API_PATH}/rule/${alertId}/state` ) + .then((state) => (state ? rewriteBodyRes(state) : {})) .then((state: AlertTaskState) => { return pipe( alertStateSchema.decode(state), diff --git a/x-pack/plugins/triggers_actions_ui/public/application/lib/alert_api/update.ts b/x-pack/plugins/triggers_actions_ui/public/application/lib/alert_api/update.ts index 930c0c2fb21a08..8b9365b0a46678 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/lib/alert_api/update.ts +++ b/x-pack/plugins/triggers_actions_ui/public/application/lib/alert_api/update.ts @@ -8,7 +8,7 @@ import { HttpSetup } from 'kibana/public'; import { pick } from 'lodash'; import { BASE_ALERTING_API_PATH } from '../../constants'; import { Alert, AlertUpdates } from '../../../types'; -import { RewriteResponseCase } from '../../../../../actions/common'; +import { RewriteResponseCase, AsApiContract } from '../../../../../actions/common'; import { transformAlert } from './common_transformations'; type AlertUpdatesBody = Pick< @@ -41,12 +41,15 @@ export async function updateAlert({ >; id: string; }): Promise { - const res = await http.put(`${BASE_ALERTING_API_PATH}/rule/${encodeURIComponent(id)}`, { - body: JSON.stringify( - rewriteBodyRequest( - pick(alert, ['throttle', 'name', 'tags', 'schedule', 'params', 'actions', 'notifyWhen']) - ) - ), - }); + const res = await http.put>( + `${BASE_ALERTING_API_PATH}/rule/${encodeURIComponent(id)}`, + { + body: JSON.stringify( + rewriteBodyRequest( + pick(alert, ['throttle', 'name', 'tags', 'schedule', 'params', 'actions', 'notifyWhen']) + ) + ), + } + ); return transformAlert(res); } diff --git a/x-pack/plugins/triggers_actions_ui/public/common/lib/data_apis.ts b/x-pack/plugins/triggers_actions_ui/public/common/lib/data_apis.ts index 7b97c8bdfaa691..d8a1ecabcd500b 100644 --- a/x-pack/plugins/triggers_actions_ui/public/common/lib/data_apis.ts +++ b/x-pack/plugins/triggers_actions_ui/public/common/lib/data_apis.ts @@ -22,9 +22,10 @@ export async function getMatchingIndices({ if (!pattern.endsWith('*')) { pattern = `${pattern}*`; } - const { indices } = await http.post(`${DATA_API_ROOT}/_indices`, { - body: JSON.stringify({ pattern }), - }); + const { indices } = await http.post>( + `${DATA_API_ROOT}/_indices`, + { body: JSON.stringify({ pattern }) } + ); return indices; } @@ -43,9 +44,10 @@ export async function getESIndexFields({ aggregatable: boolean; }> > { - const { fields } = await http.post(`${DATA_API_ROOT}/_fields`, { - body: JSON.stringify({ indexPatterns: indexes }), - }); + const { fields } = await http.post<{ fields: ReturnType }>( + `${DATA_API_ROOT}/_fields`, + { body: JSON.stringify({ indexPatterns: indexes }) } + ); return fields; } diff --git a/x-pack/plugins/uptime/public/components/overview/empty_state/empty_state_error.tsx b/x-pack/plugins/uptime/public/components/overview/empty_state/empty_state_error.tsx index 3bf6c4f4bcb14b..9848ea77d4673a 100644 --- a/x-pack/plugins/uptime/public/components/overview/empty_state/empty_state_error.tsx +++ b/x-pack/plugins/uptime/public/components/overview/empty_state/empty_state_error.tsx @@ -8,15 +8,15 @@ import { EuiEmptyPrompt, EuiPanel, EuiTitle, EuiFlexGroup, EuiFlexItem } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; import React, { Fragment } from 'react'; -import { IHttpFetchError } from 'src/core/public'; +import { IHttpFetchError, ResponseErrorBody } from 'src/core/public'; interface EmptyStateErrorProps { - errors: IHttpFetchError[]; + errors: Array>; } export const EmptyStateError = ({ errors }: EmptyStateErrorProps) => { const unauthorized = errors.find( - (error: IHttpFetchError) => error.message && error.message.includes('unauthorized') + (error) => error.message && error.message.includes('unauthorized') ); return ( @@ -47,9 +47,9 @@ export const EmptyStateError = ({ errors }: EmptyStateErrorProps) => { body={ {!unauthorized && - errors.map((error: IHttpFetchError) => ( -

    - {error.body.message || error.message} + errors.map((error) => ( +

    + {error.body?.message || error.message}

    ))}
    diff --git a/x-pack/plugins/uptime/public/components/overview/monitor_list/monitor_list.test.tsx b/x-pack/plugins/uptime/public/components/overview/monitor_list/monitor_list.test.tsx index 80b1463ac2f435..de077931167c18 100644 --- a/x-pack/plugins/uptime/public/components/overview/monitor_list/monitor_list.test.tsx +++ b/x-pack/plugins/uptime/public/components/overview/monitor_list/monitor_list.test.tsx @@ -18,7 +18,7 @@ import { import { MonitorListComponent, noItemsMessage } from './monitor_list'; import * as redux from 'react-redux'; import moment from 'moment'; -import { IHttpFetchError } from '../../../../../../../src/core/public'; +import { IHttpFetchError, ResponseErrorBody } from '../../../../../../../src/core/public'; import { mockMoment } from '../../../lib/helper/test_helpers'; import { render } from '../../../lib/helper/rtl_helpers'; import { NO_DATA_MESSAGE } from './translations'; @@ -185,7 +185,7 @@ describe('MonitorList component', () => { , loading: false, }} pageSize={10} diff --git a/x-pack/plugins/uptime/public/state/api/alerts.ts b/x-pack/plugins/uptime/public/state/api/alerts.ts index d74a73befb5d04..e175f7ac61bd3a 100644 --- a/x-pack/plugins/uptime/public/state/api/alerts.ts +++ b/x-pack/plugins/uptime/public/state/api/alerts.ts @@ -127,8 +127,11 @@ export const fetchAlertRecords = async ({ sort_field: 'name.keyword', sort_order: 'asc', }; - const alerts = await apiService.get(API_URLS.RULES_FIND, data); - return alerts.data.find((alert: Alert) => alert.params.monitorId === monitorId); + const alerts = await apiService.get<{ data: Array> }>( + API_URLS.RULES_FIND, + data + ); + return alerts.data.find((alert) => alert.params.monitorId === monitorId) as Alert; }; export const disableAlertById = async ({ alertId }: { alertId: string }) => { diff --git a/x-pack/plugins/uptime/public/state/api/journey.ts b/x-pack/plugins/uptime/public/state/api/journey.ts index 8ed3fadf5c346f..b982da90d9dc54 100644 --- a/x-pack/plugins/uptime/public/state/api/journey.ts +++ b/x-pack/plugins/uptime/public/state/api/journey.ts @@ -20,7 +20,9 @@ import { } from '../../../common/runtime_types/ping/synthetics'; export async function fetchScreenshotBlockSet(params: string[]): Promise { - return apiService.post('/api/uptime/journey/screenshot/block', { hashes: params }); + return apiService.post('/api/uptime/journey/screenshot/block', { + hashes: params, + }); } export async function fetchJourneySteps( diff --git a/x-pack/plugins/uptime/public/state/api/monitor.ts b/x-pack/plugins/uptime/public/state/api/monitor.ts index 4991727a3dcdd1..ef04b38f37469f 100644 --- a/x-pack/plugins/uptime/public/state/api/monitor.ts +++ b/x-pack/plugins/uptime/public/state/api/monitor.ts @@ -27,7 +27,7 @@ export const fetchMonitorDetails = async ({ dateStart, dateEnd, }; - return await apiService.get(API_URLS.MONITOR_DETAILS, params, MonitorDetailsType); + return await apiService.get(API_URLS.MONITOR_DETAILS, params, MonitorDetailsType); }; type ApiParams = QueryParams & ApiRequest; @@ -38,5 +38,5 @@ export const fetchMonitorLocations = async ({ monitorId, dateStart, dateEnd }: A dateEnd, monitorId, }; - return await apiService.get(API_URLS.MONITOR_LOCATIONS, params, MonitorLocationsType); + return await apiService.get(API_URLS.MONITOR_LOCATIONS, params, MonitorLocationsType); }; diff --git a/x-pack/plugins/uptime/public/state/api/monitor_duration.ts b/x-pack/plugins/uptime/public/state/api/monitor_duration.ts index 56838d06bf94fb..c8010e18d08680 100644 --- a/x-pack/plugins/uptime/public/state/api/monitor_duration.ts +++ b/x-pack/plugins/uptime/public/state/api/monitor_duration.ts @@ -16,5 +16,5 @@ export const fetchMonitorDuration = async ({ monitorId, dateStart, dateEnd }: Ba dateEnd, }; - return await apiService.get(API_URLS.MONITOR_DURATION, queryParams); + return await apiService.get(API_URLS.MONITOR_DURATION, queryParams); }; diff --git a/x-pack/plugins/uptime/public/state/api/utils.ts b/x-pack/plugins/uptime/public/state/api/utils.ts index d10064f1ff7a13..0399129a804660 100644 --- a/x-pack/plugins/uptime/public/state/api/utils.ts +++ b/x-pack/plugins/uptime/public/state/api/utils.ts @@ -71,8 +71,13 @@ class ApiService { return ApiService.instance; } - public async get(apiUrl: string, params?: HttpFetchQuery, decodeType?: any, asResponse = false) { - const response = await this._http!.fetch({ + public async get( + apiUrl: string, + params?: HttpFetchQuery, + decodeType?: any, + asResponse = false + ) { + const response = await this._http!.fetch({ path: apiUrl, query: params, asResponse, @@ -83,7 +88,7 @@ class ApiService { if (decodeType) { const decoded = decodeType.decode(response); if (isRight(decoded)) { - return decoded.right; + return decoded.right as T; } else { // eslint-disable-next-line no-console console.error( @@ -98,8 +103,8 @@ class ApiService { return response; } - public async post(apiUrl: string, data?: any, decodeType?: any) { - const response = await this._http!.post(apiUrl, { + public async post(apiUrl: string, data?: any, decodeType?: any) { + const response = await this._http!.post(apiUrl, { method: 'POST', body: JSON.stringify(data), }); @@ -107,7 +112,7 @@ class ApiService { if (decodeType) { const decoded = decodeType.decode(response); if (isRight(decoded)) { - return decoded.right; + return decoded.right as T; } else { // eslint-disable-next-line no-console console.warn( @@ -118,8 +123,8 @@ class ApiService { return response; } - public async delete(apiUrl: string) { - const response = await this._http!.delete(apiUrl); + public async delete(apiUrl: string) { + const response = await this._http!.delete(apiUrl); if (response instanceof Error) { throw response; } diff --git a/x-pack/plugins/uptime/public/state/reducers/monitor_list.ts b/x-pack/plugins/uptime/public/state/reducers/monitor_list.ts index 8a2c7df05018ea..2e833bd033c46e 100644 --- a/x-pack/plugins/uptime/public/state/reducers/monitor_list.ts +++ b/x-pack/plugins/uptime/public/state/reducers/monitor_list.ts @@ -6,12 +6,12 @@ */ import { handleActions, Action } from 'redux-actions'; -import { IHttpFetchError } from 'src/core/public'; +import { IHttpFetchError, ResponseErrorBody } from 'src/core/public'; import { getMonitorList, getMonitorListSuccess, getMonitorListFailure } from '../actions'; import { MonitorSummariesResult } from '../../../common/runtime_types'; export interface MonitorList { - error?: IHttpFetchError; + error?: IHttpFetchError; loading: boolean; list: MonitorSummariesResult; } @@ -25,7 +25,7 @@ export const initialState: MonitorList = { loading: false, }; -type Payload = MonitorSummariesResult & IHttpFetchError; +type Payload = MonitorSummariesResult & IHttpFetchError; export const monitorListReducer = handleActions( { @@ -42,7 +42,10 @@ export const monitorListReducer = handleActions( error: undefined, list: { ...action.payload }, }), - [String(getMonitorListFailure)]: (state: MonitorList, action: Action) => ({ + [String(getMonitorListFailure)]: ( + state: MonitorList, + action: Action> + ) => ({ ...state, error: action.payload, loading: false, diff --git a/x-pack/plugins/uptime/public/state/reducers/types.ts b/x-pack/plugins/uptime/public/state/reducers/types.ts index c9dc30ed3dde3c..71cf9a59f6478f 100644 --- a/x-pack/plugins/uptime/public/state/reducers/types.ts +++ b/x-pack/plugins/uptime/public/state/reducers/types.ts @@ -5,10 +5,10 @@ * 2.0. */ -import { IHttpFetchError } from 'src/core/public'; +import { IHttpFetchError, ResponseErrorBody } from 'src/core/public'; export interface AsyncInitState { data: ReduceStateType | null; loading: boolean; - error?: IHttpFetchError | null; + error?: IHttpFetchError | null; } diff --git a/x-pack/plugins/watcher/public/application/lib/api.ts b/x-pack/plugins/watcher/public/application/lib/api.ts index 1957ee8a52e287..61ea124695cb98 100644 --- a/x-pack/plugins/watcher/public/application/lib/api.ts +++ b/x-pack/plugins/watcher/public/application/lib/api.ts @@ -91,7 +91,7 @@ export const deleteWatches = async (watchIds: string[]) => { const body = JSON.stringify({ watchIds, }); - const { results } = await getHttpClient().post(`${basePath}/watches/delete`, { body }); + const { results } = await getHttpClient().post(`${basePath}/watches/delete`, { body }); return results; }; @@ -110,7 +110,7 @@ export const activateWatch = async (id: string) => { }; export const loadWatch = async (id: string) => { - const { watch } = await getHttpClient().get(`${basePath}/watch/${id}`); + const { watch } = await getHttpClient().get(`${basePath}/watch/${id}`); return Watch.fromUpstreamJson(watch); }; @@ -122,12 +122,12 @@ export const getMatchingIndices = async (pattern: string) => { pattern = `${pattern}*`; } const body = JSON.stringify({ pattern }); - const { indices } = await getHttpClient().post(`${basePath}/indices`, { body }); + const { indices } = await getHttpClient().post(`${basePath}/indices`, { body }); return indices; }; export const fetchFields = async (indexes: string[]) => { - const { fields } = await getHttpClient().post(`${basePath}/fields`, { + const { fields } = await getHttpClient().post(`${basePath}/fields`, { body: JSON.stringify({ indexes }), }); return fields; @@ -190,7 +190,7 @@ export const useLoadSettings = () => { }; export const ackWatchAction = async (watchId: string, actionId: string) => { - const { watchStatus } = await getHttpClient().put( + const { watchStatus } = await getHttpClient().put( `${basePath}/watch/${watchId}/action/${actionId}/acknowledge` ); return WatchStatus.fromUpstreamJson(watchStatus); From 61ab4a3c59e062ac440a8c7bfcaa089cb32d04d4 Mon Sep 17 00:00:00 2001 From: Joe Portner <5295965+jportner@users.noreply.github.com> Date: Tue, 2 Nov 2021 07:57:21 -0400 Subject: [PATCH 056/110] Fix sample data for share-capable objects (#116378) --- .../components/sample_data_set_cards.js | 2 +- src/plugins/home/public/index.ts | 2 + src/plugins/home/server/index.ts | 24 ++- src/plugins/home/server/services/index.ts | 20 ++- .../sample_data/data_sets/ecommerce/index.ts | 4 +- .../data_sets/ecommerce/saved_objects.ts | 15 +- .../sample_data/data_sets/flights/index.ts | 4 +- .../sample_data/data_sets/logs/index.ts | 4 +- .../data_sets/logs/saved_objects.ts | 36 ++-- .../home/server/services/sample_data/index.ts | 7 +- .../lib/find_sample_objects.test.mock.ts | 19 ++ .../lib/find_sample_objects.test.ts | 125 +++++++++++++ .../sample_data/lib/find_sample_objects.ts | 104 +++++++++++ .../lib/sample_dataset_registry_types.ts | 33 +++- .../sample_data/lib/sample_dataset_schema.ts | 8 - .../server/services/sample_data/lib/utils.ts | 13 ++ .../services/sample_data/routes/install.ts | 54 +++--- .../services/sample_data/routes/list.ts | 165 +++++++++++------- .../services/sample_data/routes/uninstall.ts | 74 ++++---- .../services/sample_data/routes/utils.ts | 17 ++ .../sample_data/sample_data_registry.ts | 22 +-- .../home/server/services/tutorials/index.ts | 1 + test/api_integration/apis/home/sample_data.ts | 152 +++++++++++----- .../server/sample_data/load_sample_data.ts | 19 +- .../graph/server/sample_data/ecommerce.ts | 18 +- .../graph/server/sample_data/flights.ts | 18 +- .../plugins/graph/server/sample_data/logs.ts | 18 +- x-pack/plugins/infra/server/plugin.ts | 3 +- x-pack/plugins/maps/server/plugin.ts | 18 +- .../lib/sample_data_sets/sample_data_sets.ts | 14 +- 30 files changed, 739 insertions(+), 274 deletions(-) create mode 100644 src/plugins/home/server/services/sample_data/lib/find_sample_objects.test.mock.ts create mode 100644 src/plugins/home/server/services/sample_data/lib/find_sample_objects.test.ts create mode 100644 src/plugins/home/server/services/sample_data/lib/find_sample_objects.ts create mode 100644 src/plugins/home/server/services/sample_data/lib/utils.ts create mode 100644 src/plugins/home/server/services/sample_data/routes/utils.ts diff --git a/src/plugins/home/public/application/components/sample_data_set_cards.js b/src/plugins/home/public/application/components/sample_data_set_cards.js index 7f5882f108fc88..3c5eeb4d840261 100644 --- a/src/plugins/home/public/application/components/sample_data_set_cards.js +++ b/src/plugins/home/public/application/components/sample_data_set_cards.js @@ -67,7 +67,6 @@ export class SampleDataSetCards extends React.Component { sampleDataSets: sampleDataSets.sort((a, b) => { return a.name.toLowerCase().localeCompare(b.name.toLowerCase()); }), - processingStatus: {}, }); }; @@ -82,6 +81,7 @@ export class SampleDataSetCards extends React.Component { try { await installSampleDataSet(id, targetSampleDataSet.defaultIndex); + await this.loadSampleDataSets(); // reload the list of sample data sets } catch (fetchError) { if (this._isMounted) { this.setState((prevState) => ({ diff --git a/src/plugins/home/public/index.ts b/src/plugins/home/public/index.ts index 7abaf5d19f008d..009382eee0009a 100644 --- a/src/plugins/home/public/index.ts +++ b/src/plugins/home/public/index.ts @@ -19,7 +19,9 @@ export type { export { FeatureCatalogueCategory } from './services'; export type { + AddDataTab, FeatureCatalogueEntry, + FeatureCatalogueRegistry, FeatureCatalogueSolution, Environment, TutorialVariables, diff --git a/src/plugins/home/server/index.ts b/src/plugins/home/server/index.ts index c75ce4e83921cb..feffc2f2e003c0 100644 --- a/src/plugins/home/server/index.ts +++ b/src/plugins/home/server/index.ts @@ -7,8 +7,21 @@ */ export type { HomeServerPluginSetup, HomeServerPluginStart } from './plugin'; -export type { TutorialProvider } from './services'; -export type { SampleDatasetProvider, SampleDataRegistrySetup } from './services'; +export { EmbeddableTypes, TutorialsCategory } from './services'; +export type { + AppLinkData, + ArtifactsSchema, + TutorialProvider, + TutorialSchema, + InstructionSetSchema, + InstructionsSchema, + TutorialContext, + SampleDatasetProvider, + SampleDataRegistrySetup, + SampleDatasetDashboardPanel, + SampleObject, + ScopedTutorialContextFactory, +} from './services'; import { PluginInitializerContext, PluginConfigDescriptor } from 'kibana/server'; import { HomeServerPlugin } from './plugin'; import { configSchema, ConfigSchema } from '../config'; @@ -23,10 +36,3 @@ export const config: PluginConfigDescriptor = { export const plugin = (initContext: PluginInitializerContext) => new HomeServerPlugin(initContext); export { INSTRUCTION_VARIANT } from '../common/instruction_variant'; -export { TutorialsCategory } from './services/tutorials'; -export type { - ArtifactsSchema, - TutorialSchema, - InstructionSetSchema, - InstructionsSchema, -} from './services/tutorials'; diff --git a/src/plugins/home/server/services/index.ts b/src/plugins/home/server/services/index.ts index 5674a3501f0644..28086fc86d52ca 100644 --- a/src/plugins/home/server/services/index.ts +++ b/src/plugins/home/server/services/index.ts @@ -9,10 +9,9 @@ // provided to other plugins as APIs // should model the plugin lifecycle -export { TutorialsRegistry } from './tutorials'; -export type { TutorialsRegistrySetup, TutorialsRegistryStart } from './tutorials'; +export { TutorialsRegistry, TutorialsCategory } from './tutorials'; -export { TutorialsCategory } from './tutorials'; +export type { TutorialsRegistrySetup, TutorialsRegistryStart } from './tutorials'; export type { InstructionSetSchema, @@ -22,12 +21,19 @@ export type { ArtifactsSchema, TutorialSchema, TutorialProvider, + TutorialContext, TutorialContextFactory, ScopedTutorialContextFactory, } from './tutorials'; -export { SampleDataRegistry } from './sample_data'; +export { EmbeddableTypes, SampleDataRegistry } from './sample_data'; -export type { SampleDataRegistrySetup, SampleDataRegistryStart } from './sample_data'; - -export type { SampleDatasetSchema, SampleDatasetProvider } from './sample_data'; +export type { + AppLinkData, + SampleDataRegistrySetup, + SampleDataRegistryStart, + SampleDatasetDashboardPanel, + SampleDatasetProvider, + SampleDatasetSchema, + SampleObject, +} from './sample_data'; diff --git a/src/plugins/home/server/services/sample_data/data_sets/ecommerce/index.ts b/src/plugins/home/server/services/sample_data/data_sets/ecommerce/index.ts index cc328f3edbf71d..08747f08fc923d 100644 --- a/src/plugins/home/server/services/sample_data/data_sets/ecommerce/index.ts +++ b/src/plugins/home/server/services/sample_data/data_sets/ecommerce/index.ts @@ -10,7 +10,7 @@ import path from 'path'; import { i18n } from '@kbn/i18n'; import { getSavedObjects } from './saved_objects'; import { fieldMappings } from './field_mappings'; -import { SampleDatasetSchema, AppLinkSchema } from '../../lib/sample_dataset_registry_types'; +import { SampleDatasetSchema } from '../../lib/sample_dataset_registry_types'; const ecommerceName = i18n.translate('home.sampleData.ecommerceSpecTitle', { defaultMessage: 'Sample eCommerce orders', @@ -18,7 +18,6 @@ const ecommerceName = i18n.translate('home.sampleData.ecommerceSpecTitle', { const ecommerceDescription = i18n.translate('home.sampleData.ecommerceSpecDescription', { defaultMessage: 'Sample data, visualizations, and dashboards for tracking eCommerce orders.', }); -const initialAppLinks = [] as AppLinkSchema[]; export const ecommerceSpecProvider = function (): SampleDatasetSchema { return { @@ -28,7 +27,6 @@ export const ecommerceSpecProvider = function (): SampleDatasetSchema { previewImagePath: '/plugins/home/assets/sample_data_resources/ecommerce/dashboard.png', darkPreviewImagePath: '/plugins/home/assets/sample_data_resources/ecommerce/dashboard_dark.png', overviewDashboard: '722b74f0-b882-11e8-a6d9-e546fe2bba5f', - appLinks: initialAppLinks, defaultIndex: 'ff959d40-b880-11e8-a6d9-e546fe2bba5f', savedObjects: getSavedObjects(), dataIndices: [ diff --git a/src/plugins/home/server/services/sample_data/data_sets/ecommerce/saved_objects.ts b/src/plugins/home/server/services/sample_data/data_sets/ecommerce/saved_objects.ts index 9559aa6b930a31..25923f247ca8b4 100644 --- a/src/plugins/home/server/services/sample_data/data_sets/ecommerce/saved_objects.ts +++ b/src/plugins/home/server/services/sample_data/data_sets/ecommerce/saved_objects.ts @@ -140,9 +140,10 @@ export const getSavedObjects = (): SavedObject[] => [ { id: '9c6f83f0-bb4d-11e8-9c84-77068524bcab', type: 'visualization', - updated_at: '2018-10-01T15:13:03.270Z', + updated_at: '2021-10-28T15:07:24.077Z', version: '1', - migrationVersion: {}, + coreMigrationVersion: '8.0.0', + migrationVersion: { visualization: '8.0.0' }, attributes: { title: i18n.translate('home.sampleData.ecommerceSpec.salesCountMapTitle', { defaultMessage: '[eCommerce] Sales Count Map', @@ -154,10 +155,16 @@ export const getSavedObjects = (): SavedObject[] => [ version: 1, kibanaSavedObjectMeta: { searchSourceJSON: - '{"index":"ff959d40-b880-11e8-a6d9-e546fe2bba5f","query":{"query":"","language":"kuery"},"filter":[]}', + '{"query":{"query":"","language":"kuery"},"filter":[],"indexRefName":"kibanaSavedObjectMeta.searchSourceJSON.index"}', }, }, - references: [], + references: [ + { + id: 'ff959d40-b880-11e8-a6d9-e546fe2bba5f', + name: 'kibanaSavedObjectMeta.searchSourceJSON.index', + type: 'index-pattern', + }, + ], }, { attributes: { diff --git a/src/plugins/home/server/services/sample_data/data_sets/flights/index.ts b/src/plugins/home/server/services/sample_data/data_sets/flights/index.ts index 29260b99674000..ac0987559eb796 100644 --- a/src/plugins/home/server/services/sample_data/data_sets/flights/index.ts +++ b/src/plugins/home/server/services/sample_data/data_sets/flights/index.ts @@ -10,7 +10,7 @@ import path from 'path'; import { i18n } from '@kbn/i18n'; import { getSavedObjects } from './saved_objects'; import { fieldMappings } from './field_mappings'; -import { SampleDatasetSchema, AppLinkSchema } from '../../lib/sample_dataset_registry_types'; +import { SampleDatasetSchema } from '../../lib/sample_dataset_registry_types'; const flightsName = i18n.translate('home.sampleData.flightsSpecTitle', { defaultMessage: 'Sample flight data', @@ -18,7 +18,6 @@ const flightsName = i18n.translate('home.sampleData.flightsSpecTitle', { const flightsDescription = i18n.translate('home.sampleData.flightsSpecDescription', { defaultMessage: 'Sample data, visualizations, and dashboards for monitoring flight routes.', }); -const initialAppLinks = [] as AppLinkSchema[]; export const flightsSpecProvider = function (): SampleDatasetSchema { return { @@ -28,7 +27,6 @@ export const flightsSpecProvider = function (): SampleDatasetSchema { previewImagePath: '/plugins/home/assets/sample_data_resources/flights/dashboard.png', darkPreviewImagePath: '/plugins/home/assets/sample_data_resources/flights/dashboard_dark.png', overviewDashboard: '7adfa750-4c81-11e8-b3d7-01146121b73d', - appLinks: initialAppLinks, defaultIndex: 'd3d7af60-4c81-11e8-b3d7-01146121b73d', savedObjects: getSavedObjects(), dataIndices: [ diff --git a/src/plugins/home/server/services/sample_data/data_sets/logs/index.ts b/src/plugins/home/server/services/sample_data/data_sets/logs/index.ts index 43d42c25574311..77d5f868ad285c 100644 --- a/src/plugins/home/server/services/sample_data/data_sets/logs/index.ts +++ b/src/plugins/home/server/services/sample_data/data_sets/logs/index.ts @@ -10,7 +10,7 @@ import path from 'path'; import { i18n } from '@kbn/i18n'; import { getSavedObjects } from './saved_objects'; import { fieldMappings } from './field_mappings'; -import { SampleDatasetSchema, AppLinkSchema } from '../../lib/sample_dataset_registry_types'; +import { SampleDatasetSchema } from '../../lib/sample_dataset_registry_types'; const logsName = i18n.translate('home.sampleData.logsSpecTitle', { defaultMessage: 'Sample web logs', @@ -18,7 +18,6 @@ const logsName = i18n.translate('home.sampleData.logsSpecTitle', { const logsDescription = i18n.translate('home.sampleData.logsSpecDescription', { defaultMessage: 'Sample data, visualizations, and dashboards for monitoring web logs.', }); -const initialAppLinks = [] as AppLinkSchema[]; export const GLOBE_ICON_PATH = '/plugins/home/assets/sample_data_resources/logs/icon.svg'; export const logsSpecProvider = function (): SampleDatasetSchema { @@ -29,7 +28,6 @@ export const logsSpecProvider = function (): SampleDatasetSchema { previewImagePath: '/plugins/home/assets/sample_data_resources/logs/dashboard.png', darkPreviewImagePath: '/plugins/home/assets/sample_data_resources/logs/dashboard_dark.png', overviewDashboard: 'edf84fe0-e1a0-11e7-b6d5-4dc382ef7f5b', - appLinks: initialAppLinks, defaultIndex: '90943e30-9a47-11e8-b64d-95841ca0b247', savedObjects: getSavedObjects(), dataIndices: [ diff --git a/src/plugins/home/server/services/sample_data/data_sets/logs/saved_objects.ts b/src/plugins/home/server/services/sample_data/data_sets/logs/saved_objects.ts index c60110176b67b6..840fc6e2c175c5 100644 --- a/src/plugins/home/server/services/sample_data/data_sets/logs/saved_objects.ts +++ b/src/plugins/home/server/services/sample_data/data_sets/logs/saved_objects.ts @@ -14,9 +14,10 @@ export const getSavedObjects = (): SavedObject[] => [ { id: '06cf9c40-9ee8-11e7-8711-e7a007dcef99', type: 'visualization', - updated_at: '2018-08-29T13:22:17.617Z', + updated_at: '2021-10-28T15:07:36.622Z', version: '1', - migrationVersion: {}, + coreMigrationVersion: '8.0.0', + migrationVersion: { visualization: '8.0.0' }, attributes: { title: i18n.translate('home.sampleData.logsSpec.visitorsMapTitle', { defaultMessage: '[Logs] Visitors Map', @@ -28,10 +29,16 @@ export const getSavedObjects = (): SavedObject[] => [ version: 1, kibanaSavedObjectMeta: { searchSourceJSON: - '{"index":"90943e30-9a47-11e8-b64d-95841ca0b247","filter":[],"query":{"query":"","language":"kuery"}}', + '{"filter":[],"query":{"query":"","language":"kuery"},"indexRefName":"kibanaSavedObjectMeta.searchSourceJSON.index"}', }, }, - references: [], + references: [ + { + id: '90943e30-9a47-11e8-b64d-95841ca0b247', + name: 'kibanaSavedObjectMeta.searchSourceJSON.index', + type: 'index-pattern', + }, + ], }, { id: 'cb099a20-ea66-11eb-9425-113343a037e3', @@ -88,25 +95,32 @@ export const getSavedObjects = (): SavedObject[] => [ { id: '69a34b00-9ee8-11e7-8711-e7a007dcef99', type: 'visualization', - updated_at: '2018-08-29T13:24:46.136Z', + updated_at: '2021-10-28T14:38:21.435Z', version: '2', - migrationVersion: {}, + coreMigrationVersion: '8.0.0', + migrationVersion: { visualization: '8.0.0' }, attributes: { title: i18n.translate('home.sampleData.logsSpec.goalsTitle', { defaultMessage: '[Logs] Goals', }), visState: - '{"title":"[Logs] Goals","type":"gauge","params":{"type":"gauge","addTooltip":true,"addLegend":false,"gauge":{"verticalSplit":false,"extendRange":true,"percentageMode":false,"gaugeType":"Arc","gaugeStyle":"Full","backStyle":"Full","orientation":"vertical","colorSchema":"Green to Red","gaugeColorMode":"Labels","colorsRange":[{"from":0,"to":500},{"from":500,"to":1000},{"from":1000,"to":1500}],"invertColors":true,"labels":{"show":false,"color":"black"},"scale":{"show":true,"labels":false,"color":"#333"},"type":"meter","style":{"bgWidth":0.9,"width":0.9,"mask":false,"bgMask":false,"maskBars":50,"bgFill":"#eee","bgColor":false,"subText":"visitors","fontSize":60,"labelColor":true}},"isDisplayWarning":false},"aggs":[{"id":"1","enabled":true,"type":"cardinality","schema":"metric","params":{"field":"clientip","customLabel":"Unique Visitors"}}]}', + '{"title":"[Logs] Goals","type":"gauge","params":{"type":"gauge","addTooltip":true,"addLegend":false,"gauge":{"extendRange":true,"percentageMode":false,"gaugeType":"Arc","gaugeStyle":"Full","backStyle":"Full","orientation":"vertical","colorSchema":"Green to Red","gaugeColorMode":"Labels","colorsRange":[{"from":0,"to":500},{"from":500,"to":1000},{"from":1000,"to":1500}],"invertColors":true,"labels":{"show":false,"color":"black"},"scale":{"show":true,"labels":false,"color":"#333"},"type":"meter","style":{"bgWidth":0.9,"width":0.9,"mask":false,"bgMask":false,"maskBars":50,"bgFill":"#eee","bgColor":false,"subText":"visitors","fontSize":60,"labelColor":true},"alignment":"horizontal"},"isDisplayWarning":false},"aggs":[{"id":"1","enabled":true,"type":"cardinality","schema":"metric","params":{"field":"clientip","customLabel":"Unique Visitors"}}]}', uiStateJSON: '{"vis":{"defaultColors":{"0 - 500":"rgb(165,0,38)","500 - 1000":"rgb(255,255,190)","1000 - 1500":"rgb(0,104,55)"},"colors":{"75 - 100":"#629E51","50 - 75":"#EAB839","0 - 50":"#E24D42","0 - 100":"#E24D42","200 - 300":"#7EB26D","500 - 1000":"#E5AC0E","0 - 500":"#E24D42","1000 - 1500":"#7EB26D"},"legendOpen":true}}', description: '', version: 1, kibanaSavedObjectMeta: { searchSourceJSON: - '{"index":"90943e30-9a47-11e8-b64d-95841ca0b247","filter":[],"query":{"query":"","language":"kuery"}}', + '{"filter":[],"query":{"query":"","language":"kuery"},"indexRefName":"kibanaSavedObjectMeta.searchSourceJSON.index"}', }, }, - references: [], + references: [ + { + id: '90943e30-9a47-11e8-b64d-95841ca0b247', + name: 'kibanaSavedObjectMeta.searchSourceJSON.index', + type: 'index-pattern', + }, + ], }, { id: '7cbd2350-2223-11e8-b802-5bcf64c2cfb4', @@ -366,13 +380,13 @@ export const getSavedObjects = (): SavedObject[] => [ { id: 'edf84fe0-e1a0-11e7-b6d5-4dc382ef7f5b', type: 'dashboard', - updated_at: '2021-07-21T21:43:43.870Z', + updated_at: '2021-10-28T15:07:36.622Z', version: '3', references: [ { id: '06cf9c40-9ee8-11e7-8711-e7a007dcef99', name: '4:panel_4', - type: 'map', + type: 'visualization', }, { id: '4eb6e500-e1c7-11e7-b6d5-4dc382ef7f5b', diff --git a/src/plugins/home/server/services/sample_data/index.ts b/src/plugins/home/server/services/sample_data/index.ts index 30384dad8951d1..9af76ac3c765c3 100644 --- a/src/plugins/home/server/services/sample_data/index.ts +++ b/src/plugins/home/server/services/sample_data/index.ts @@ -10,7 +10,12 @@ export { SampleDataRegistry } from './sample_data_registry'; export type { SampleDataRegistrySetup, SampleDataRegistryStart } from './sample_data_registry'; +export { EmbeddableTypes } from './lib/sample_dataset_registry_types'; + export type { - SampleDatasetSchema, + AppLinkData, + SampleDatasetDashboardPanel, SampleDatasetProvider, + SampleDatasetSchema, + SampleObject, } from './lib/sample_dataset_registry_types'; diff --git a/src/plugins/home/server/services/sample_data/lib/find_sample_objects.test.mock.ts b/src/plugins/home/server/services/sample_data/lib/find_sample_objects.test.mock.ts new file mode 100644 index 00000000000000..0d40ea23942e8f --- /dev/null +++ b/src/plugins/home/server/services/sample_data/lib/find_sample_objects.test.mock.ts @@ -0,0 +1,19 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +export const mockBuildNode = jest.fn(); + +jest.mock('@kbn/es-query', () => { + return { + nodeTypes: { + function: { + buildNode: mockBuildNode, + }, + }, + }; +}); diff --git a/src/plugins/home/server/services/sample_data/lib/find_sample_objects.test.ts b/src/plugins/home/server/services/sample_data/lib/find_sample_objects.test.ts new file mode 100644 index 00000000000000..93a3e8c1d5f9c1 --- /dev/null +++ b/src/plugins/home/server/services/sample_data/lib/find_sample_objects.test.ts @@ -0,0 +1,125 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { mockBuildNode } from './find_sample_objects.test.mock'; + +import type { SavedObject, SavedObjectsFindResponse } from 'src/core/server'; +import { savedObjectsClientMock, loggingSystemMock } from 'src/core/server/mocks'; +import { findSampleObjects } from './find_sample_objects'; + +describe('findSampleObjects', () => { + function setup() { + const mockClient = savedObjectsClientMock.create(); + const mockLogger = loggingSystemMock.createLogger(); + return { + client: mockClient, + logger: mockLogger, + }; + } + + beforeEach(() => { + mockBuildNode.mockReset(); + }); + + it('searches for objects and returns expected results', async () => { + const { client, logger } = setup(); + const obj1 = { type: 'obj-type-1', id: 'obj-id-1' }; + const obj2 = { type: 'obj-type-2', id: 'obj-id-2' }; + const obj3 = { type: 'obj-type-3', id: 'obj-id-3' }; + const obj4 = { type: 'obj-type-3', id: 'obj-id-4' }; + const objects = [obj1, obj2, obj3, obj4]; + const params = { client, logger, objects }; + + client.bulkGet.mockResolvedValue({ + saved_objects: [ + obj1, // bulkGet success for obj1 + { ...obj2, error: { statusCode: 403 } }, // bulkGet failure - will not attempt to find by originId since the error is not 404 + { ...obj3, error: { statusCode: 404 } }, // bulkGet failure - will attempt to find by originId since the error is 404 + { ...obj4, error: { statusCode: 404 } }, // bulkGet failure - will attempt to find by originId since the error is 404 + ] as SavedObject[], + }); + client.find.mockResolvedValue({ + saved_objects: [{ type: obj4.type, id: 'obj-id-x', originId: obj4.id }], // find success for obj4 + total: 1, + } as SavedObjectsFindResponse); + const result = await findSampleObjects(params); + + expect(result).toEqual([ + { ...obj1, foundObjectId: obj1.id }, + { ...obj2, foundObjectId: undefined }, + { ...obj3, foundObjectId: undefined }, + { ...obj4, foundObjectId: 'obj-id-x' }, + ]); + expect(client.bulkGet).toHaveBeenCalledWith(objects); + expect(mockBuildNode).toHaveBeenCalledTimes(3); + expect(mockBuildNode).toHaveBeenNthCalledWith(1, 'is', `${obj3.type}.originId`, obj3.id); + expect(mockBuildNode).toHaveBeenNthCalledWith(2, 'is', `${obj4.type}.originId`, obj4.id); + expect(mockBuildNode).toHaveBeenNthCalledWith(3, 'or', expect.any(Array)); + expect(client.find).toHaveBeenCalledWith(expect.objectContaining({ type: ['obj-type-3'] })); // obj3 and obj4 have the same type; the type param is deduplicated + expect(logger.warn).not.toHaveBeenCalled(); + }); + + it('skips find if there are no objects left to search for', async () => { + const { client, logger } = setup(); + const obj1 = { type: 'obj-type-1', id: 'obj-id-1' }; + const obj2 = { type: 'obj-type-2', id: 'obj-id-2' }; + const objects = [obj1, obj2]; + const params = { client, logger, objects }; + + client.bulkGet.mockResolvedValue({ + saved_objects: [ + obj1, // bulkGet success for obj1 + { ...obj2, error: { statusCode: 403 } }, // bulkGet failure - will not attempt to find by originId since the error is not 404 + ] as SavedObject[], + }); + const result = await findSampleObjects(params); + + expect(result).toEqual([ + { ...obj1, foundObjectId: obj1.id }, + { ...obj2, foundObjectId: undefined }, + ]); + expect(client.bulkGet).toHaveBeenCalledWith(objects); + expect(mockBuildNode).not.toHaveBeenCalled(); + expect(client.find).not.toHaveBeenCalled(); + expect(logger.warn).not.toHaveBeenCalled(); + }); + + it('logs expected warnings', async () => { + const { client, logger } = setup(); + const obj1 = { type: 'obj-type-1', id: 'obj-id-1' }; + const objects = [obj1]; + const params = { client, logger, objects }; + + client.bulkGet.mockResolvedValue({ + saved_objects: [ + { ...obj1, error: { statusCode: 404 } }, // bulkGet failure - will attempt to find by originId since the error is 404 + ] as SavedObject[], + }); + client.find.mockResolvedValue({ + saved_objects: [ + { type: obj1.type, id: 'obj-id-x', originId: obj1.id }, // find success for obj4 + { type: obj1.type, id: 'obj-id-y', originId: obj1.id }, // find success for obj4 + ], + total: 10001, + } as SavedObjectsFindResponse); + const result = await findSampleObjects(params); + expect(result).toEqual([{ ...obj1, foundObjectId: 'obj-id-x' }]); // obj-id-y is ignored + expect(client.bulkGet).toHaveBeenCalledWith(objects); + expect(mockBuildNode).toHaveBeenCalledTimes(2); + expect(mockBuildNode).toHaveBeenNthCalledWith(1, 'is', `${obj1.type}.originId`, obj1.id); + expect(mockBuildNode).toHaveBeenNthCalledWith(2, 'or', expect.any(Array)); + expect(client.find).toHaveBeenCalledWith(expect.objectContaining({ type: ['obj-type-1'] })); + expect(logger.warn).toHaveBeenCalledTimes(2); + expect(logger.warn).toHaveBeenCalledWith( + 'findSampleObjects got 10001 results, only using the first 10000' + ); + expect(logger.warn).toHaveBeenCalledWith( + 'Found two sample objects with the same origin "obj-id-1" (previously found "obj-id-x", ignoring "obj-id-y")' + ); + }); +}); diff --git a/src/plugins/home/server/services/sample_data/lib/find_sample_objects.ts b/src/plugins/home/server/services/sample_data/lib/find_sample_objects.ts new file mode 100644 index 00000000000000..904470acc2c847 --- /dev/null +++ b/src/plugins/home/server/services/sample_data/lib/find_sample_objects.ts @@ -0,0 +1,104 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import * as esKuery from '@kbn/es-query'; +import type { Logger, SavedObjectsClientContract } from 'src/core/server'; + +const MAX_OBJECTS_TO_FIND = 10000; // we only expect up to a few dozen, search for 10k to be safe; anything over this is ignored + +export interface FindSampleObjectsParams { + client: SavedObjectsClientContract; + logger: Logger; + objects: SampleObject[]; +} + +export interface SampleObject { + type: string; + id: string; +} + +export interface FindSampleObjectsResponseObject { + type: string; + id: string; + /** Contains a string if this sample data object was found, or undefined if it was not. */ + foundObjectId: string | undefined; +} + +/** + * Given an array of objects in a sample dataset, this function attempts to find if those objects exist in the current space. + * It attempts to find objects with an origin of the sample data (e.g., matching `id` or `originId`). + */ +export async function findSampleObjects({ client, logger, objects }: FindSampleObjectsParams) { + const bulkGetResponse = await client.bulkGet(objects); + + let resultsMap = new Map(); + const objectsToFind: SampleObject[] = []; + objects.forEach((object, i) => { + const bulkGetResult = bulkGetResponse.saved_objects[i]; + if (!bulkGetResult.error) { + const { type, id } = object; + const key = getObjKey(type, id); + resultsMap.set(key, id); + } else if (bulkGetResult.error.statusCode === 404) { + objectsToFind.push(object); + } + }); + + if (objectsToFind.length > 0) { + const options = { + type: getUniqueTypes(objectsToFind), + filter: createKueryFilter(objectsToFind), + fields: ['title'], // we don't want to return all source fields, so we have to specify at least one source field + perPage: MAX_OBJECTS_TO_FIND, + }; + const findResponse = await client.find(options); + if (findResponse.total > MAX_OBJECTS_TO_FIND) { + // As of this writing, it is not possible to encounter this scenario when using Kibana import or copy-to-space, because at most one + // object can exist in a given space. However, as of today, when objects are shareable you _could_ get Kibana into a state where + // multiple objects of the same origin exist in the same space. + // #116677 describes solutions to fully mitigate this edge case in the future. + logger.warn( + `findSampleObjects got ${findResponse.total} results, only using the first ${MAX_OBJECTS_TO_FIND}` + ); + } + resultsMap = findResponse.saved_objects.reduce((acc, { type, id, originId }) => { + const key = getObjKey(type, originId!); + const existing = acc.get(key); + if (existing) { + // As of this writing, it is not possible to encounter this scenario when using Kibana import or copy-to-space, because at most one + // object can exist in a given space. However, as of today, when objects are shareable you _could_ get Kibana into a state where + // multiple objects of the same origin exist in the same space. + // #116677 describes solutions to fully mitigate this edge case in the future. + logger.warn( + `Found two sample objects with the same origin "${originId}" (previously found "${existing}", ignoring "${id}")` + ); + return acc; + } + return acc.set(key, id); + }, resultsMap); + } + + return objects.map(({ type, id }) => { + const key = getObjKey(type, id); + return { type, id, foundObjectId: resultsMap.get(key) }; + }); +} + +function getUniqueTypes(objects: SampleObject[]) { + return [...new Set(objects.map(({ type }) => type))]; +} + +function createKueryFilter(objects: SampleObject[]) { + const { buildNode } = esKuery.nodeTypes.function; + const kueryNodes = objects.map(({ type, id }) => buildNode('is', `${type}.originId`, id)); // the repository converts this node into "and (type is ..., originId is ...)" + return buildNode('or', kueryNodes); +} + +function getObjKey(type: string, id: string) { + return `${type}:${id}`; +} diff --git a/src/plugins/home/server/services/sample_data/lib/sample_dataset_registry_types.ts b/src/plugins/home/server/services/sample_data/lib/sample_dataset_registry_types.ts index 09af7728f74d22..8d26d08460b5b2 100644 --- a/src/plugins/home/server/services/sample_data/lib/sample_dataset_registry_types.ts +++ b/src/plugins/home/server/services/sample_data/lib/sample_dataset_registry_types.ts @@ -7,7 +7,7 @@ */ import type { SampleDatasetSchema } from './sample_dataset_schema'; -export type { SampleDatasetSchema, AppLinkSchema, DataIndexSchema } from './sample_dataset_schema'; +export type { SampleDatasetSchema, DataIndexSchema } from './sample_dataset_schema'; export enum DatasetStatusTypes { NOT_INSTALLED = 'not_installed', @@ -28,3 +28,34 @@ export enum EmbeddableTypes { VISUALIZE_EMBEDDABLE_TYPE = 'visualization', } export type SampleDatasetProvider = () => SampleDatasetSchema; + +/** This type is used to identify an object in a sample dataset. */ +export interface SampleObject { + /** The type of the sample object. */ + type: string; + /** The ID of the sample object. */ + id: string; +} + +/** + * This type is used by consumers to register a new app link for a sample dataset. + */ +export interface AppLinkData { + /** + * The sample object that is used for this app link's path; if the path does not use an object ID, set this to null. + */ + sampleObject: SampleObject | null; + /** + * Function that returns the path for this app link. Note that the `objectId` can be different than the given `sampleObject.id`, depending + * on how the sample data was installed. If the `sampleObject` is null, the `objectId` argument will be an empty string. + */ + getPath: (objectId: string) => string; + /** + * The label for this app link. + */ + label: string; + /** + * The icon for this app link. + */ + icon: string; +} diff --git a/src/plugins/home/server/services/sample_data/lib/sample_dataset_schema.ts b/src/plugins/home/server/services/sample_data/lib/sample_dataset_schema.ts index 87b042aebcc1f5..66f69abca3f18f 100644 --- a/src/plugins/home/server/services/sample_data/lib/sample_dataset_schema.ts +++ b/src/plugins/home/server/services/sample_data/lib/sample_dataset_schema.ts @@ -48,13 +48,6 @@ const dataIndexSchema = schema.object({ export type DataIndexSchema = TypeOf; -const appLinkSchema = schema.object({ - path: schema.string(), - label: schema.string(), - icon: schema.string(), -}); -export type AppLinkSchema = TypeOf; - export const sampleDataSchema = schema.object({ id: schema.string({ validate(value: string) { @@ -71,7 +64,6 @@ export const sampleDataSchema = schema.object({ // saved object id of main dashboard for sample data set overviewDashboard: schema.string(), - appLinks: schema.arrayOf(appLinkSchema, { defaultValue: [] }), // saved object id of default index-pattern for sample data set defaultIndex: schema.string(), diff --git a/src/plugins/home/server/services/sample_data/lib/utils.ts b/src/plugins/home/server/services/sample_data/lib/utils.ts new file mode 100644 index 00000000000000..153fe6923583d8 --- /dev/null +++ b/src/plugins/home/server/services/sample_data/lib/utils.ts @@ -0,0 +1,13 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import type { SampleObject } from './sample_dataset_registry_types'; + +export function getUniqueObjectTypes(objects: SampleObject[]) { + return [...new Set(objects.map(({ type }) => type))]; +} diff --git a/src/plugins/home/server/services/sample_data/routes/install.ts b/src/plugins/home/server/services/sample_data/routes/install.ts index d0457f0a6d301c..17d35c6cb4b7ee 100644 --- a/src/plugins/home/server/services/sample_data/routes/install.ts +++ b/src/plugins/home/server/services/sample_data/routes/install.ts @@ -6,13 +6,9 @@ * Side Public License, v 1. */ +import { Readable } from 'stream'; import { schema } from '@kbn/config-schema'; -import type { - IRouter, - Logger, - IScopedClusterClient, - SavedObjectsBulkCreateObject, -} from 'src/core/server'; +import { IRouter, Logger, IScopedClusterClient } from 'src/core/server'; import { SampleDatasetSchema } from '../lib/sample_dataset_registry_types'; import { createIndexName } from '../lib/create_index_name'; import { @@ -22,6 +18,8 @@ import { } from '../lib/translate_timestamp'; import { loadData } from '../lib/load_data'; import { SampleDataUsageTracker } from '../usage/usage'; +import { getSavedObjectsClient } from './utils'; +import { getUniqueObjectTypes } from '../lib/utils'; const insertDataIntoIndex = ( dataIndexConfig: any, @@ -143,35 +141,31 @@ export function createInstallRoute( } } - let createResults; - try { - const { getClient, typeRegistry } = context.core.savedObjects; - - const includedHiddenTypes = sampleDataset.savedObjects - .map((object) => object.type) - .filter((supportedType) => typeRegistry.isHidden(supportedType)); + const { getImporter } = context.core.savedObjects; + const objectTypes = getUniqueObjectTypes(sampleDataset.savedObjects); + const savedObjectsClient = getSavedObjectsClient(context, objectTypes); + const importer = getImporter(savedObjectsClient); - const client = getClient({ includedHiddenTypes }); + const savedObjects = sampleDataset.savedObjects.map(({ version, ...obj }) => obj); + const readStream = Readable.from(savedObjects); - const savedObjects = sampleDataset.savedObjects as SavedObjectsBulkCreateObject[]; - createResults = await client.bulkCreate( - savedObjects.map(({ version, ...savedObject }) => savedObject), - { overwrite: true } - ); + try { + const { errors = [] } = await importer.import({ + readStream, + overwrite: true, + createNewCopies: false, + }); + if (errors.length > 0) { + const errMsg = `sample_data install errors while loading saved objects. Errors: ${JSON.stringify( + errors.map(({ type, id, error }) => ({ type, id, error })) // discard other fields + )}`; + logger.warn(errMsg); + return res.customError({ body: errMsg, statusCode: 500 }); + } } catch (err) { - const errMsg = `bulkCreate failed, error: ${err.message}`; + const errMsg = `import failed, error: ${err.message}`; throw new Error(errMsg); } - const errors = createResults.saved_objects.filter((savedObjectCreateResult) => { - return Boolean(savedObjectCreateResult.error); - }); - if (errors.length > 0) { - const errMsg = `sample_data install errors while loading saved objects. Errors: ${JSON.stringify( - errors - )}`; - logger.warn(errMsg); - return res.customError({ body: errMsg, statusCode: 403 }); - } usageTracker.addInstall(params.id); // FINALLY diff --git a/src/plugins/home/server/services/sample_data/routes/list.ts b/src/plugins/home/server/services/sample_data/routes/list.ts index e3e213196889c2..a7ca32341f1f59 100644 --- a/src/plugins/home/server/services/sample_data/routes/list.ts +++ b/src/plugins/home/server/services/sample_data/routes/list.ts @@ -6,75 +6,122 @@ * Side Public License, v 1. */ -import { IRouter } from 'src/core/server'; -import { SampleDatasetSchema } from '../lib/sample_dataset_registry_types'; +import type { IRouter, Logger, RequestHandlerContext } from 'src/core/server'; +import type { AppLinkData, SampleDatasetSchema } from '../lib/sample_dataset_registry_types'; import { createIndexName } from '../lib/create_index_name'; +import type { FindSampleObjectsResponseObject } from '../lib/find_sample_objects'; +import { findSampleObjects } from '../lib/find_sample_objects'; +import { getUniqueObjectTypes } from '../lib/utils'; +import { getSavedObjectsClient } from './utils'; const NOT_INSTALLED = 'not_installed'; const INSTALLED = 'installed'; const UNKNOWN = 'unknown'; -export const createListRoute = (router: IRouter, sampleDatasets: SampleDatasetSchema[]) => { - router.get({ path: '/api/sample_data', validate: false }, async (context, req, res) => { - const registeredSampleDatasets = sampleDatasets.map((sampleDataset) => { - return { - id: sampleDataset.id, - name: sampleDataset.name, - description: sampleDataset.description, - previewImagePath: sampleDataset.previewImagePath, - darkPreviewImagePath: sampleDataset.darkPreviewImagePath, - overviewDashboard: sampleDataset.overviewDashboard, - appLinks: sampleDataset.appLinks, - defaultIndex: sampleDataset.defaultIndex, - dataIndices: sampleDataset.dataIndices.map(({ id }) => ({ id })), - status: sampleDataset.status, - statusMsg: sampleDataset.statusMsg, - }; - }); - const isInstalledPromises = registeredSampleDatasets.map(async (sampleDataset) => { - for (let i = 0; i < sampleDataset.dataIndices.length; i++) { - const dataIndexConfig = sampleDataset.dataIndices[i]; - const index = createIndexName(sampleDataset.id, dataIndexConfig.id); - try { - const { body: indexExists } = - await context.core.elasticsearch.client.asCurrentUser.indices.exists({ - index, - }); - if (!indexExists) { - sampleDataset.status = NOT_INSTALLED; - return; - } +export const createListRoute = ( + router: IRouter, + sampleDatasets: SampleDatasetSchema[], + appLinksMap: Map, + logger: Logger +) => { + router.get({ path: '/api/sample_data', validate: false }, async (context, _req, res) => { + const allExistingObjects = await findExistingSampleObjects(context, logger, sampleDatasets); - const { body: count } = await context.core.elasticsearch.client.asCurrentUser.count({ - index, - }); - if (count.count === 0) { - sampleDataset.status = NOT_INSTALLED; - return; - } - } catch (err) { - sampleDataset.status = UNKNOWN; - sampleDataset.statusMsg = err.message; - return; - } - } - try { - await context.core.savedObjects.client.get('dashboard', sampleDataset.overviewDashboard); - } catch (err) { - if (context.core.savedObjects.client.errors.isNotFoundError(err)) { - sampleDataset.status = NOT_INSTALLED; - return; - } + const registeredSampleDatasets = await Promise.all( + sampleDatasets.map(async (sampleDataset) => { + const existingObjects = allExistingObjects.get(sampleDataset.id)!; + const findObjectId = (type: string, id: string) => + existingObjects.find((object) => object.type === type && object.id === id) + ?.foundObjectId ?? id; - sampleDataset.status = UNKNOWN; - sampleDataset.statusMsg = err.message; - return; - } + const appLinks = (appLinksMap.get(sampleDataset.id) ?? []).map((data) => { + const { sampleObject, getPath, label, icon } = data; + if (sampleObject === null) { + return { path: getPath(''), label, icon }; + } + const objectId = findObjectId(sampleObject.type, sampleObject.id); + return { path: getPath(objectId), label, icon }; + }); + const sampleDataStatus = await getSampleDatasetStatus( + context, + allExistingObjects, + sampleDataset + ); - sampleDataset.status = INSTALLED; - }); + return { + id: sampleDataset.id, + name: sampleDataset.name, + description: sampleDataset.description, + previewImagePath: sampleDataset.previewImagePath, + darkPreviewImagePath: sampleDataset.darkPreviewImagePath, + overviewDashboard: findObjectId('dashboard', sampleDataset.overviewDashboard), + appLinks, + defaultIndex: findObjectId('index-pattern', sampleDataset.defaultIndex), + dataIndices: sampleDataset.dataIndices.map(({ id }) => ({ id })), + ...sampleDataStatus, + }; + }) + ); - await Promise.all(isInstalledPromises); return res.ok({ body: registeredSampleDatasets }); }); }; + +type ExistingSampleObjects = Map; +async function findExistingSampleObjects( + context: RequestHandlerContext, + logger: Logger, + sampleDatasets: SampleDatasetSchema[] +) { + const objects = sampleDatasets + .map(({ savedObjects }) => savedObjects.map(({ type, id }) => ({ type, id }))) + .flat(); + const objectTypes = getUniqueObjectTypes(objects); + const client = getSavedObjectsClient(context, objectTypes); + const findSampleObjectsResult = await findSampleObjects({ client, logger, objects }); + + let objectCounter = 0; + return sampleDatasets.reduce((acc, { id, savedObjects }) => { + const datasetResults = savedObjects.map(() => findSampleObjectsResult[objectCounter++]); + return acc.set(id, datasetResults); + }, new Map()); +} + +// TODO: introduce PARTIALLY_INSTALLED status (#116677) +async function getSampleDatasetStatus( + context: RequestHandlerContext, + existingSampleObjects: ExistingSampleObjects, + sampleDataset: SampleDatasetSchema +): Promise<{ status: string; statusMsg?: string }> { + const dashboard = existingSampleObjects + .get(sampleDataset.id)! + .find(({ type, id }) => type === 'dashboard' && id === sampleDataset.overviewDashboard); + if (!dashboard?.foundObjectId) { + return { status: NOT_INSTALLED }; + } + + for (let i = 0; i < sampleDataset.dataIndices.length; i++) { + const dataIndexConfig = sampleDataset.dataIndices[i]; + const index = createIndexName(sampleDataset.id, dataIndexConfig.id); + try { + const { body: indexExists } = + await context.core.elasticsearch.client.asCurrentUser.indices.exists({ + index, + }); + if (!indexExists) { + return { status: NOT_INSTALLED }; + } + + const { body: count } = await context.core.elasticsearch.client.asCurrentUser.count({ + index, + }); + if (count.count === 0) { + return { status: NOT_INSTALLED }; + } + } catch (err) { + return { status: UNKNOWN, statusMsg: err.message }; + } + } + + return { status: INSTALLED }; +} diff --git a/src/plugins/home/server/services/sample_data/routes/uninstall.ts b/src/plugins/home/server/services/sample_data/routes/uninstall.ts index 3108c06492dd80..b0e8e6f102f1ea 100644 --- a/src/plugins/home/server/services/sample_data/routes/uninstall.ts +++ b/src/plugins/home/server/services/sample_data/routes/uninstall.ts @@ -6,16 +6,20 @@ * Side Public License, v 1. */ +import { isBoom } from '@hapi/boom'; import { schema } from '@kbn/config-schema'; -import _ from 'lodash'; -import { IRouter } from 'src/core/server'; +import type { IRouter, Logger } from 'src/core/server'; import { SampleDatasetSchema } from '../lib/sample_dataset_registry_types'; import { createIndexName } from '../lib/create_index_name'; import { SampleDataUsageTracker } from '../usage/usage'; +import { findSampleObjects } from '../lib/find_sample_objects'; +import { getUniqueObjectTypes } from '../lib/utils'; +import { getSavedObjectsClient } from './utils'; export function createUninstallRoute( router: IRouter, sampleDatasets: SampleDatasetSchema[], + logger: Logger, usageTracker: SampleDataUsageTracker ): void { router.delete( @@ -25,16 +29,7 @@ export function createUninstallRoute( params: schema.object({ id: schema.string() }), }, }, - async ( - { - core: { - elasticsearch: { client: esClient }, - savedObjects: { getClient: getSavedObjectsClient, typeRegistry }, - }, - }, - request, - response - ) => { + async (context, request, response) => { const sampleDataset = sampleDatasets.find(({ id }) => id === request.params.id); if (!sampleDataset) { @@ -46,41 +41,46 @@ export function createUninstallRoute( const index = createIndexName(sampleDataset.id, dataIndexConfig.id); try { - await esClient.asCurrentUser.indices.delete({ - index, - }); + // TODO: don't delete the index if sample data exists in other spaces (#116677) + await context.core.elasticsearch.client.asCurrentUser.indices.delete({ index }); } catch (err) { - return response.customError({ - statusCode: err.status, - body: { - message: `Unable to delete sample data index "${index}", error: ${err.message}`, - }, - }); + // if the index doesn't exist, ignore the error and proceed + if (err.body.status !== 404) { + return response.customError({ + statusCode: err.body.status, + body: { + message: `Unable to delete sample data index "${index}", error: ${err.body.error.type}`, + }, + }); + } } } - const includedHiddenTypes = sampleDataset.savedObjects - .map((object) => object.type) - .filter((supportedType) => typeRegistry.isHidden(supportedType)); - - const savedObjectsClient = getSavedObjectsClient({ includedHiddenTypes }); + const objects = sampleDataset.savedObjects.map(({ type, id }) => ({ type, id })); + const objectTypes = getUniqueObjectTypes(objects); + const client = getSavedObjectsClient(context, objectTypes); + const findSampleObjectsResult = await findSampleObjects({ client, logger, objects }); - const deletePromises = sampleDataset.savedObjects.map(({ type, id }) => - savedObjectsClient.delete(type, id) + const objectsToDelete = findSampleObjectsResult.filter(({ foundObjectId }) => foundObjectId); + const deletePromises = objectsToDelete.map(({ type, foundObjectId }) => + client.delete(type, foundObjectId!).catch((err) => { + // if the object doesn't exist, ignore the error and proceed + if (isBoom(err) && err.output.statusCode === 404) { + return; + } + throw err; + }) ); try { await Promise.all(deletePromises); } catch (err) { - // ignore 404s since users could have deleted some of the saved objects via the UI - if (_.get(err, 'output.statusCode') !== 404) { - return response.customError({ - statusCode: err.status, - body: { - message: `Unable to delete sample dataset saved objects, error: ${err.message}`, - }, - }); - } + return response.customError({ + statusCode: err.body.status, + body: { + message: `Unable to delete sample dataset saved objects, error: ${err.body.error.type}`, + }, + }); } // track the usage operation in a non-blocking way diff --git a/src/plugins/home/server/services/sample_data/routes/utils.ts b/src/plugins/home/server/services/sample_data/routes/utils.ts new file mode 100644 index 00000000000000..6bab00895440ab --- /dev/null +++ b/src/plugins/home/server/services/sample_data/routes/utils.ts @@ -0,0 +1,17 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import type { RequestHandlerContext } from 'src/core/server'; + +export function getSavedObjectsClient(context: RequestHandlerContext, objectTypes: string[]) { + const { getClient, typeRegistry } = context.core.savedObjects; + const includedHiddenTypes = objectTypes.filter((supportedType) => + typeRegistry.isHidden(supportedType) + ); + return getClient({ includedHiddenTypes }); +} diff --git a/src/plugins/home/server/services/sample_data/sample_data_registry.ts b/src/plugins/home/server/services/sample_data/sample_data_registry.ts index ef453592d9790f..f8dd12746832b0 100644 --- a/src/plugins/home/server/services/sample_data/sample_data_registry.ts +++ b/src/plugins/home/server/services/sample_data/sample_data_registry.ts @@ -11,8 +11,8 @@ import { SavedObject } from 'src/core/public'; import { SampleDatasetProvider, SampleDatasetSchema, - AppLinkSchema, SampleDatasetDashboardPanel, + AppLinkData, } from './lib/sample_dataset_registry_types'; import { sampleDataSchema } from './lib/sample_dataset_schema'; @@ -27,6 +27,7 @@ import { registerSampleDatasetWithIntegration } from './lib/register_with_integr export class SampleDataRegistry { constructor(private readonly initContext: PluginInitializerContext) {} private readonly sampleDatasets: SampleDatasetSchema[] = []; + private readonly appLinksMap = new Map(); private registerSampleDataSet(specProvider: SampleDatasetProvider) { let value: SampleDatasetSchema; @@ -69,14 +70,10 @@ export class SampleDataRegistry { this.initContext.logger.get('sample_data', 'usage') ); const router = core.http.createRouter(); - createListRoute(router, this.sampleDatasets); - createInstallRoute( - router, - this.sampleDatasets, - this.initContext.logger.get('sampleData'), - usageTracker - ); - createUninstallRoute(router, this.sampleDatasets, usageTracker); + const logger = this.initContext.logger.get('sampleData'); + createListRoute(router, this.sampleDatasets, this.appLinksMap, logger); + createInstallRoute(router, this.sampleDatasets, logger, usageTracker); + createUninstallRoute(router, this.sampleDatasets, logger, usageTracker); this.registerSampleDataSet(flightsSpecProvider); this.registerSampleDataSet(logsSpecProvider); @@ -100,7 +97,7 @@ export class SampleDataRegistry { sampleDataset.savedObjects = sampleDataset.savedObjects.concat(savedObjects); }, - addAppLinksToSampleDataset: (id: string, appLinks: AppLinkSchema[]) => { + addAppLinksToSampleDataset: (id: string, appLinks: AppLinkData[]) => { const sampleDataset = this.sampleDatasets.find((dataset) => { return dataset.id === id; }); @@ -109,9 +106,8 @@ export class SampleDataRegistry { throw new Error(`Unable to find sample dataset with id: ${id}`); } - sampleDataset.appLinks = sampleDataset.appLinks - ? sampleDataset.appLinks.concat(appLinks) - : []; + const existingAppLinks = this.appLinksMap.get(id) ?? []; + this.appLinksMap.set(id, [...existingAppLinks, ...appLinks]); }, replacePanelInSampleDatasetDashboard: ({ diff --git a/src/plugins/home/server/services/tutorials/index.ts b/src/plugins/home/server/services/tutorials/index.ts index f745d0190efd57..36e780b2382967 100644 --- a/src/plugins/home/server/services/tutorials/index.ts +++ b/src/plugins/home/server/services/tutorials/index.ts @@ -19,6 +19,7 @@ export type { ArtifactsSchema, TutorialSchema, TutorialProvider, + TutorialContext, TutorialContextFactory, ScopedTutorialContextFactory, } from './lib/tutorials_registry_types'; diff --git a/test/api_integration/apis/home/sample_data.ts b/test/api_integration/apis/home/sample_data.ts index 2525cbe3300443..55fee03186cbbe 100644 --- a/test/api_integration/apis/home/sample_data.ts +++ b/test/api_integration/apis/home/sample_data.ts @@ -7,6 +7,7 @@ */ import expect from '@kbn/expect'; +import type { Response } from 'superagent'; import { FtrProviderContext } from '../../ftr_provider_context'; export default function ({ getService }: FtrProviderContext) { @@ -15,81 +16,142 @@ export default function ({ getService }: FtrProviderContext) { const es = getService('es'); const MILLISECOND_IN_WEEK = 1000 * 60 * 60 * 24 * 7; + const SPACES = ['default', 'other']; + const FLIGHTS_OVERVIEW_DASHBOARD_ID = '7adfa750-4c81-11e8-b3d7-01146121b73d'; // default ID of the flights overview dashboard + const FLIGHTS_CANVAS_APPLINK_PATH = + '/app/canvas#/workpad/workpad-a474e74b-aedc-47c3-894a-db77e62c41e0'; // includes default ID of the flights canvas applink path describe('sample data apis', () => { before(async () => { await esArchiver.emptyKibanaIndex(); }); - describe('list', () => { - it('should return list of sample data sets with installed status', async () => { - const resp = await supertest.get(`/api/sample_data`).set('kbn-xsrf', 'kibana').expect(200); - - expect(resp.body).to.be.an('array'); - expect(resp.body.length).to.be.above(0); - expect(resp.body[0].status).to.be('not_installed'); - }); + after(async () => { + await esArchiver.emptyKibanaIndex(); }); - describe('install', () => { - it('should return 404 if id does not match any sample data sets', async () => { - await supertest.post(`/api/sample_data/xxxx`).set('kbn-xsrf', 'kibana').expect(404); - }); + for (const space of SPACES) { + const apiPath = `/s/${space}/api/sample_data`; - it('should return 200 if success', async () => { - const resp = await supertest - .post(`/api/sample_data/flights`) - .set('kbn-xsrf', 'kibana') - .expect(200); + describe(`list in the ${space} space (before install)`, () => { + it('should return list of sample data sets with installed status', async () => { + const resp = await supertest.get(apiPath).set('kbn-xsrf', 'kibana').expect(200); - expect(resp.body).to.eql({ - elasticsearchIndicesCreated: { kibana_sample_data_flights: 13059 }, - kibanaSavedObjectsLoaded: 11, + const flightsData = findFlightsData(resp); + expect(flightsData.status).to.be('not_installed'); + // Check and make sure the sample dataset reflects the default object IDs, because no sample data objects exist. + // Instead of checking each object ID, we check the dashboard and canvas app link as representatives. + expect(flightsData.overviewDashboard).to.be(FLIGHTS_OVERVIEW_DASHBOARD_ID); + expect(flightsData.appLinks[0].path).to.be(FLIGHTS_CANVAS_APPLINK_PATH); }); }); - it('should load elasticsearch index containing sample data with dates relative to current time', async () => { - const resp = await es.search<{ timestamp: string }>({ - index: 'kibana_sample_data_flights', + describe(`install in the ${space} space`, () => { + it('should return 404 if id does not match any sample data sets', async () => { + await supertest.post(`${apiPath}/xxxx`).set('kbn-xsrf', 'kibana').expect(404); }); - const doc = resp.hits.hits[0]; - const docMilliseconds = Date.parse(doc._source!.timestamp); - const nowMilliseconds = Date.now(); - const delta = Math.abs(nowMilliseconds - docMilliseconds); - expect(delta).to.be.lessThan(MILLISECOND_IN_WEEK * 4); - }); + it('should return 200 if success', async () => { + const resp = await supertest + .post(`${apiPath}/flights`) + .set('kbn-xsrf', 'kibana') + .expect(200); - describe('parameters', () => { - it('should load elasticsearch index containing sample data with dates relative to now parameter', async () => { - const nowString = `2000-01-01T00:00:00`; - await supertest - .post(`/api/sample_data/flights?now=${nowString}`) - .set('kbn-xsrf', 'kibana'); + expect(resp.body).to.eql({ + elasticsearchIndicesCreated: { kibana_sample_data_flights: 13059 }, + kibanaSavedObjectsLoaded: 11, + }); + }); + it('should load elasticsearch index containing sample data with dates relative to current time', async () => { const resp = await es.search<{ timestamp: string }>({ index: 'kibana_sample_data_flights', }); const doc = resp.hits.hits[0]; const docMilliseconds = Date.parse(doc._source!.timestamp); - const nowMilliseconds = Date.parse(nowString); + const nowMilliseconds = Date.now(); const delta = Math.abs(nowMilliseconds - docMilliseconds); expect(delta).to.be.lessThan(MILLISECOND_IN_WEEK * 4); }); + + describe('parameters', () => { + it('should load elasticsearch index containing sample data with dates relative to now parameter', async () => { + const nowString = `2000-01-01T00:00:00`; + await supertest.post(`${apiPath}/flights?now=${nowString}`).set('kbn-xsrf', 'kibana'); + + const resp = await es.search<{ timestamp: string }>({ + index: 'kibana_sample_data_flights', + }); + + const doc = resp.hits.hits[0]; + const docMilliseconds = Date.parse(doc._source!.timestamp); + const nowMilliseconds = Date.parse(nowString); + const delta = Math.abs(nowMilliseconds - docMilliseconds); + expect(delta).to.be.lessThan(MILLISECOND_IN_WEEK * 4); + }); + }); }); - }); - describe('uninstall', () => { - it('should uninstall sample data', async () => { - await supertest.delete(`/api/sample_data/flights`).set('kbn-xsrf', 'kibana').expect(204); + describe(`list in the ${space} space (after install)`, () => { + it('should return list of sample data sets with installed status', async () => { + const resp = await supertest.get(apiPath).set('kbn-xsrf', 'kibana').expect(200); + + const flightsData = findFlightsData(resp); + expect(flightsData.status).to.be('installed'); + // Check and make sure the sample dataset reflects the existing object IDs in each space. + // Instead of checking each object ID, we check the dashboard and canvas app link as representatives. + if (space === 'default') { + expect(flightsData.overviewDashboard).to.be(FLIGHTS_OVERVIEW_DASHBOARD_ID); + expect(flightsData.appLinks[0].path).to.be(FLIGHTS_CANVAS_APPLINK_PATH); + } else { + // the sample data objects installed in the 'other' space had their IDs regenerated upon import + expect(flightsData.overviewDashboard).not.to.be(FLIGHTS_OVERVIEW_DASHBOARD_ID); + expect(flightsData.appLinks[0].path).not.to.be(FLIGHTS_CANVAS_APPLINK_PATH); + } + }); }); + } + + for (const space of SPACES) { + const apiPath = `/s/${space}/api/sample_data`; - it('should remove elasticsearch index containing sample data', async () => { - const resp = await es.indices.exists({ - index: 'kibana_sample_data_flights', + describe(`uninstall in the ${space} space`, () => { + it('should uninstall sample data', async () => { + // Note: the second time this happens, the index has already been removed, but the uninstall works anyway + await supertest.delete(`${apiPath}/flights`).set('kbn-xsrf', 'kibana').expect(204); + }); + + it('should remove elasticsearch index containing sample data', async () => { + const resp = await es.indices.exists({ + index: 'kibana_sample_data_flights', + }); + expect(resp).to.be(false); }); - expect(resp).to.be(false); }); - }); + + describe(`list in the ${space} space (after uninstall)`, () => { + it('should return list of sample data sets with installed status', async () => { + const resp = await supertest.get(apiPath).set('kbn-xsrf', 'kibana').expect(200); + + const flightsData = findFlightsData(resp); + expect(flightsData.status).to.be('not_installed'); + // Check and make sure the sample dataset reflects the default object IDs, because no sample data objects exist. + // Instead of checking each object ID, we check the dashboard and canvas app link as representatives. + expect(flightsData.overviewDashboard).to.be(FLIGHTS_OVERVIEW_DASHBOARD_ID); + expect(flightsData.appLinks[0].path).to.be(FLIGHTS_CANVAS_APPLINK_PATH); + }); + }); + } }); } + +function findFlightsData(response: Response) { + expect(response.body).to.be.an('array'); + expect(response.body.length).to.be.above(0); + // @ts-expect-error Binding element 'id' implicitly has an 'any' type. + const flightsData = response.body.find(({ id }) => id === 'flights'); + if (!flightsData) { + throw new Error('Could not find flights data'); + } + return flightsData; +} diff --git a/x-pack/plugins/canvas/server/sample_data/load_sample_data.ts b/x-pack/plugins/canvas/server/sample_data/load_sample_data.ts index 96d1789a7cae4d..d891a5405a4247 100644 --- a/x-pack/plugins/canvas/server/sample_data/load_sample_data.ts +++ b/x-pack/plugins/canvas/server/sample_data/load_sample_data.ts @@ -28,11 +28,16 @@ export function loadSampleData( return savedObject; }); } + const getPath = (objectId: string) => `/app/canvas#/workpad/${objectId}`; addSavedObjectsToSampleDataset('ecommerce', updateCanvasWorkpadTimestamps(ecommerceSavedObjects)); addAppLinksToSampleDataset('ecommerce', [ { - path: '/app/canvas#/workpad/workpad-e08b9bdb-ec14-4339-94c4-063bddfd610e', + sampleObject: { + type: 'canvas-workpad', + id: 'workpad-e08b9bdb-ec14-4339-94c4-063bddfd610e', + }, + getPath, icon: 'canvasApp', label, }, @@ -41,7 +46,11 @@ export function loadSampleData( addSavedObjectsToSampleDataset('flights', updateCanvasWorkpadTimestamps(flightsSavedObjects)); addAppLinksToSampleDataset('flights', [ { - path: '/app/canvas#/workpad/workpad-a474e74b-aedc-47c3-894a-db77e62c41e0', + sampleObject: { + type: 'canvas-workpad', + id: 'workpad-a474e74b-aedc-47c3-894a-db77e62c41e0', + }, + getPath, icon: 'canvasApp', label, }, @@ -50,7 +59,11 @@ export function loadSampleData( addSavedObjectsToSampleDataset('logs', updateCanvasWorkpadTimestamps(webLogsSavedObjects)); addAppLinksToSampleDataset('logs', [ { - path: '/app/canvas#/workpad/workpad-ad72a4e9-b422-480c-be6d-a64a0b79541d', + sampleObject: { + type: 'canvas-workpad', + id: 'workpad-ad72a4e9-b422-480c-be6d-a64a0b79541d', + }, + getPath, icon: 'canvasApp', label, }, diff --git a/x-pack/plugins/graph/server/sample_data/ecommerce.ts b/x-pack/plugins/graph/server/sample_data/ecommerce.ts index 36e125864600d2..fe2f319acef884 100644 --- a/x-pack/plugins/graph/server/sample_data/ecommerce.ts +++ b/x-pack/plugins/graph/server/sample_data/ecommerce.ts @@ -348,7 +348,6 @@ const wsState: any = { maxValuesPerDoc: 1, minDocCount: 3, }, - indexPatternRefName: 'indexPattern_0', }; export function registerEcommerceSampleData(sampleDataRegistry: SampleDataRegistrySetup) { @@ -365,16 +364,11 @@ export function registerEcommerceSampleData(sampleDataRegistry: SampleDataRegist numVertices: 12, version: 1, wsState: JSON.stringify(JSON.stringify(wsState)), + legacyIndexPatternRef: 'kibana_sample_data_ecommerce', }, - references: [ - { - name: 'indexPattern_0', - type: 'index-pattern', - id: 'kibana_sample_data_ecommerce', - }, - ], + references: [], migrationVersion: { - 'graph-workspace': '7.0.0', + 'graph-workspace': '7.11.0', }, updated_at: '2020-01-09T16:40:36.122Z', }, @@ -383,7 +377,11 @@ export function registerEcommerceSampleData(sampleDataRegistry: SampleDataRegist export function registerEcommerceSampleDataLink(sampleDataRegistry: SampleDataRegistrySetup) { sampleDataRegistry.addAppLinksToSampleDataset(datasetId, [ { - path: createWorkspacePath('46fa9d30-319c-11ea-bbe4-818d9c786051'), + sampleObject: { + type: 'graph-workspace', + id: '46fa9d30-319c-11ea-bbe4-818d9c786051', + }, + getPath: createWorkspacePath, label: i18n.translate('xpack.graph.sampleData.label', { defaultMessage: 'Graph' }), icon: APP_ICON, }, diff --git a/x-pack/plugins/graph/server/sample_data/flights.ts b/x-pack/plugins/graph/server/sample_data/flights.ts index 61beacc3552f75..f378c916e4b87e 100644 --- a/x-pack/plugins/graph/server/sample_data/flights.ts +++ b/x-pack/plugins/graph/server/sample_data/flights.ts @@ -1602,7 +1602,6 @@ const wsState: any = { maxValuesPerDoc: 1, minDocCount: 3, }, - indexPatternRefName: 'indexPattern_0', }; export function registerFlightsSampleData(sampleDataRegistry: SampleDataRegistrySetup) { @@ -1619,16 +1618,11 @@ export function registerFlightsSampleData(sampleDataRegistry: SampleDataRegistry numVertices: 91, version: 1, wsState: JSON.stringify(JSON.stringify(wsState)), + legacyIndexPatternRef: 'kibana_sample_data_flights', }, - references: [ - { - name: 'indexPattern_0', - type: 'index-pattern', - id: 'kibana_sample_data_flights', - }, - ], + references: [], migrationVersion: { - 'graph-workspace': '7.0.0', + 'graph-workspace': '7.11.0', }, updated_at: '2020-01-09T15:55:24.013Z', }, @@ -1637,7 +1631,11 @@ export function registerFlightsSampleData(sampleDataRegistry: SampleDataRegistry export function registerFlightsSampleDataLink(sampleDataRegistry: SampleDataRegistrySetup) { sampleDataRegistry.addAppLinksToSampleDataset(datasetId, [ { - path: createWorkspacePath('5dc018d0-32f8-11ea-bbe4-818d9c786051'), + sampleObject: { + type: 'graph-workspace', + id: '5dc018d0-32f8-11ea-bbe4-818d9c786051', + }, + getPath: createWorkspacePath, label: i18n.translate('xpack.graph.sampleData.label', { defaultMessage: 'Graph' }), icon: APP_ICON, }, diff --git a/x-pack/plugins/graph/server/sample_data/logs.ts b/x-pack/plugins/graph/server/sample_data/logs.ts index fbbbd8b493ceef..af1132f5d37bc7 100644 --- a/x-pack/plugins/graph/server/sample_data/logs.ts +++ b/x-pack/plugins/graph/server/sample_data/logs.ts @@ -419,7 +419,6 @@ const wsState: any = { maxValuesPerDoc: 1, minDocCount: 3, }, - indexPatternRefName: 'indexPattern_0', }; export function registerLogsSampleData(sampleDataRegistry: SampleDataRegistrySetup) { @@ -436,16 +435,11 @@ export function registerLogsSampleData(sampleDataRegistry: SampleDataRegistrySet numVertices: 27, version: 1, wsState: JSON.stringify(JSON.stringify(wsState)), + legacyIndexPatternRef: 'kibana_sample_data_logs', }, - references: [ - { - name: 'indexPattern_0', - type: 'index-pattern', - id: 'kibana_sample_data_logs', - }, - ], + references: [], migrationVersion: { - 'graph-workspace': '7.0.0', + 'graph-workspace': '7.11.0', }, updated_at: '2020-01-09T16:40:36.122Z', }, @@ -454,7 +448,11 @@ export function registerLogsSampleData(sampleDataRegistry: SampleDataRegistrySet export function registerLogsSampleDataLink(sampleDataRegistry: SampleDataRegistrySetup) { sampleDataRegistry.addAppLinksToSampleDataset(datasetId, [ { - path: createWorkspacePath('e2141080-32fa-11ea-bbe4-818d9c786051'), + sampleObject: { + type: 'graph-workspace', + id: 'e2141080-32fa-11ea-bbe4-818d9c786051', + }, + getPath: createWorkspacePath, label: i18n.translate('xpack.graph.sampleData.label', { defaultMessage: 'Graph' }), icon: APP_ICON, }, diff --git a/x-pack/plugins/infra/server/plugin.ts b/x-pack/plugins/infra/server/plugin.ts index 247888fc2ae70b..26d9f115405a68 100644 --- a/x-pack/plugins/infra/server/plugin.ts +++ b/x-pack/plugins/infra/server/plugin.ts @@ -158,7 +158,8 @@ export class InfraServerPlugin implements Plugin { plugins.home.sampleData.addAppLinksToSampleDataset('logs', [ { - path: `/app/logs`, + sampleObject: null, // indicates that there is no sample object associated with this app link's path + getPath: () => `/app/logs`, label: logsSampleDataLinkLabel, icon: 'logsApp', }, diff --git a/x-pack/plugins/maps/server/plugin.ts b/x-pack/plugins/maps/server/plugin.ts index 8145b2bd8bb28d..b98f7a8d55e03c 100644 --- a/x-pack/plugins/maps/server/plugin.ts +++ b/x-pack/plugins/maps/server/plugin.ts @@ -77,7 +77,11 @@ export class MapsPlugin implements Plugin { home.sampleData.addAppLinksToSampleDataset('ecommerce', [ { - path: getFullPath('2c9c1f60-1909-11e9-919b-ffe5949a18d2'), + sampleObject: { + type: MAP_SAVED_OBJECT_TYPE, + id: '2c9c1f60-1909-11e9-919b-ffe5949a18d2', + }, + getPath: getFullPath, label: sampleDataLinkLabel, icon: APP_ICON, }, @@ -99,7 +103,11 @@ export class MapsPlugin implements Plugin { home.sampleData.addAppLinksToSampleDataset('flights', [ { - path: getFullPath('5dd88580-1906-11e9-919b-ffe5949a18d2'), + sampleObject: { + type: MAP_SAVED_OBJECT_TYPE, + id: '5dd88580-1906-11e9-919b-ffe5949a18d2', + }, + getPath: getFullPath, label: sampleDataLinkLabel, icon: APP_ICON, }, @@ -120,7 +128,11 @@ export class MapsPlugin implements Plugin { home.sampleData.addSavedObjectsToSampleDataset('logs', getWebLogsSavedObjects()); home.sampleData.addAppLinksToSampleDataset('logs', [ { - path: getFullPath('de71f4f0-1902-11e9-919b-ffe5949a18d2'), + sampleObject: { + type: MAP_SAVED_OBJECT_TYPE, + id: 'de71f4f0-1902-11e9-919b-ffe5949a18d2', + }, + getPath: getFullPath, label: sampleDataLinkLabel, icon: APP_ICON, }, diff --git a/x-pack/plugins/ml/server/lib/sample_data_sets/sample_data_sets.ts b/x-pack/plugins/ml/server/lib/sample_data_sets/sample_data_sets.ts index 91c4327f953ff0..8833f2eb617a64 100644 --- a/x-pack/plugins/ml/server/lib/sample_data_sets/sample_data_sets.ts +++ b/x-pack/plugins/ml/server/lib/sample_data_sets/sample_data_sets.ts @@ -15,10 +15,16 @@ export function initSampleDataSets(mlLicense: MlLicense, plugins: PluginsSetup) defaultMessage: 'ML jobs', }); const { addAppLinksToSampleDataset } = plugins.home.sampleData; + const getCreateJobPath = (jobId: string, dataViewId: string) => + `/app/ml/modules/check_view_or_create?id=${jobId}&index=${dataViewId}`; addAppLinksToSampleDataset('ecommerce', [ { - path: '/app/ml/modules/check_view_or_create?id=sample_data_ecommerce&index=ff959d40-b880-11e8-a6d9-e546fe2bba5f', + sampleObject: { + type: 'index-pattern', + id: 'ff959d40-b880-11e8-a6d9-e546fe2bba5f', + }, + getPath: (objectId) => getCreateJobPath('sample_data_ecommerce', objectId), label: sampleDataLinkLabel, icon: 'machineLearningApp', }, @@ -26,7 +32,11 @@ export function initSampleDataSets(mlLicense: MlLicense, plugins: PluginsSetup) addAppLinksToSampleDataset('logs', [ { - path: '/app/ml/modules/check_view_or_create?id=sample_data_weblogs&index=90943e30-9a47-11e8-b64d-95841ca0b247', + sampleObject: { + type: 'index-pattern', + id: '90943e30-9a47-11e8-b64d-95841ca0b247', + }, + getPath: (objectId) => getCreateJobPath('sample_data_weblogs', objectId), label: sampleDataLinkLabel, icon: 'machineLearningApp', }, From 47480cf8ada1a310ef5f5173b48552aeae5084ea Mon Sep 17 00:00:00 2001 From: Stacey Gammon Date: Tue, 2 Nov 2021 08:13:20 -0400 Subject: [PATCH 057/110] remove unused public code from share plugin (#116905) --- src/plugins/share/public/index.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/plugins/share/public/index.ts b/src/plugins/share/public/index.ts index 73b685e2cab5ac..75f541dd5ae3d2 100644 --- a/src/plugins/share/public/index.ts +++ b/src/plugins/share/public/index.ts @@ -37,7 +37,6 @@ export { useLocatorUrl } from '../common/url_service/locators/use_locator_url'; import { SharePlugin } from './plugin'; -export { KibanaURL } from './kibana_url'; export { downloadMultipleAs, downloadFileAs } from './lib/download_as'; export type { DownloadableContent } from './lib/download_as'; From c7b53f16b76bdbfca766f3c592798ca9438f6ed5 Mon Sep 17 00:00:00 2001 From: Miriam <31922082+MiriamAparicio@users.noreply.github.com> Date: Tue, 2 Nov 2021 12:25:17 +0000 Subject: [PATCH 058/110] [APM] Apm errors api tests (#116764) * changes after review * move file to errors folder --- .../tests/errors/error_group_list.ts | 150 ++++++ .../test/apm_api_integration/tests/index.ts | 482 +++++++++--------- 2 files changed, 393 insertions(+), 239 deletions(-) create mode 100644 x-pack/test/apm_api_integration/tests/errors/error_group_list.ts diff --git a/x-pack/test/apm_api_integration/tests/errors/error_group_list.ts b/x-pack/test/apm_api_integration/tests/errors/error_group_list.ts new file mode 100644 index 00000000000000..4b5cbf4a2662ae --- /dev/null +++ b/x-pack/test/apm_api_integration/tests/errors/error_group_list.ts @@ -0,0 +1,150 @@ +/* + * 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 '@kbn/expect'; +import { service, timerange } from '@elastic/apm-synthtrace'; +import { + APIClientRequestParamsOf, + APIReturnType, +} from '../../../../plugins/apm/public/services/rest/createCallApmApi'; +import { RecursivePartial } from '../../../../plugins/apm/typings/common'; +import { FtrProviderContext } from '../../common/ftr_provider_context'; +import { registry } from '../../common/registry'; + +type ErrorGroups = APIReturnType<'GET /internal/apm/services/{serviceName}/errors'>['errorGroups']; + +export default function ApiTest({ getService }: FtrProviderContext) { + const apmApiClient = getService('apmApiClient'); + const synthtraceEsClient = getService('synthtraceEsClient'); + + const serviceName = 'synth-go'; + const start = new Date('2021-01-01T00:00:00.000Z').getTime(); + const end = new Date('2021-01-01T00:15:00.000Z').getTime() - 1; + + async function callApi( + overrides?: RecursivePartial< + APIClientRequestParamsOf<'GET /internal/apm/services/{serviceName}/errors'>['params'] + > + ) { + return await apmApiClient.readUser({ + endpoint: `GET /internal/apm/services/{serviceName}/errors`, + params: { + path: { serviceName, ...overrides?.path }, + query: { + start: new Date(start).toISOString(), + end: new Date(end).toISOString(), + environment: 'ENVIRONMENT_ALL', + kuery: '', + ...overrides?.query, + }, + }, + }); + } + + registry.when('when data is not loaded', { config: 'basic', archives: [] }, () => { + it('handles empty state', async () => { + const response = await callApi(); + expect(response.status).to.be(200); + expect(response.body.errorGroups).to.empty(); + }); + }); + + registry.when( + 'when data is loaded', + { config: 'basic', archives: ['apm_mappings_only_8.0.0'] }, + () => { + describe('errors group', () => { + const appleTransaction = { + name: 'GET /apple 🍎 ', + successRate: 75, + failureRate: 25, + }; + + const bananaTransaction = { + name: 'GET /banana 🍌', + successRate: 50, + failureRate: 50, + }; + + before(async () => { + const serviceInstance = service(serviceName, 'production', 'go').instance('instance-a'); + + await synthtraceEsClient.index([ + ...timerange(start, end) + .interval('1m') + .rate(appleTransaction.successRate) + .flatMap((timestamp) => + serviceInstance + .transaction(appleTransaction.name) + .timestamp(timestamp) + .duration(1000) + .success() + .serialize() + ), + ...timerange(start, end) + .interval('1m') + .rate(appleTransaction.failureRate) + .flatMap((timestamp) => + serviceInstance + .transaction(appleTransaction.name) + .errors(serviceInstance.error('error 1', 'foo').timestamp(timestamp)) + .duration(1000) + .timestamp(timestamp) + .failure() + .serialize() + ), + ...timerange(start, end) + .interval('1m') + .rate(bananaTransaction.successRate) + .flatMap((timestamp) => + serviceInstance + .transaction(bananaTransaction.name) + .timestamp(timestamp) + .duration(1000) + .success() + .serialize() + ), + ...timerange(start, end) + .interval('1m') + .rate(bananaTransaction.failureRate) + .flatMap((timestamp) => + serviceInstance + .transaction(bananaTransaction.name) + .errors(serviceInstance.error('error 2', 'bar').timestamp(timestamp)) + .duration(1000) + .timestamp(timestamp) + .failure() + .serialize() + ), + ]); + }); + + after(() => synthtraceEsClient.clean()); + + describe('returns the correct data', () => { + let errorGroups: ErrorGroups; + before(async () => { + const response = await callApi(); + errorGroups = response.body.errorGroups; + }); + + it('returns correct number of errors', () => { + expect(errorGroups.length).to.equal(2); + expect(errorGroups.map((error) => error.message).sort()).to.eql(['error 1', 'error 2']); + }); + + it('returns correct occurences', () => { + const numberOfBuckets = 15; + expect(errorGroups.map((error) => error.occurrenceCount).sort()).to.eql([ + appleTransaction.failureRate * numberOfBuckets, + bananaTransaction.failureRate * numberOfBuckets, + ]); + }); + }); + }); + } + ); +} diff --git a/x-pack/test/apm_api_integration/tests/index.ts b/x-pack/test/apm_api_integration/tests/index.ts index 29b40b6ff62cf1..b6693e9d344f25 100644 --- a/x-pack/test/apm_api_integration/tests/index.ts +++ b/x-pack/test/apm_api_integration/tests/index.ts @@ -14,245 +14,249 @@ export default function apmApiIntegrationTests(providerContext: FtrProviderConte describe('APM API tests', function () { this.tags('ciGroup1'); - // inspect feature - describe('inspect/inspect', function () { - loadTestFile(require.resolve('./inspect/inspect')); - }); - - // alerts - describe('alerts/chart_preview', function () { - loadTestFile(require.resolve('./alerts/chart_preview')); - }); - - describe('alerts/rule_registry', function () { - loadTestFile(require.resolve('./alerts/rule_registry')); - }); - - // correlations - describe('correlations/failed_transactions', function () { - loadTestFile(require.resolve('./correlations/failed_transactions')); - }); - - describe('correlations/latency', function () { - loadTestFile(require.resolve('./correlations/latency')); - }); - - describe('event_metadata/event_metadata', function () { - loadTestFile(require.resolve('./event_metadata/event_metadata')); - }); - - describe('metrics_charts/metrics_charts', function () { - loadTestFile(require.resolve('./metrics_charts/metrics_charts')); - }); - - describe('observability_overview/has_data', function () { - loadTestFile(require.resolve('./observability_overview/has_data')); - }); - - describe('observability_overview/observability_overview', function () { - loadTestFile(require.resolve('./observability_overview/observability_overview')); - }); - - describe('service_maps/service_maps', function () { - loadTestFile(require.resolve('./service_maps/service_maps')); - }); - - // Service overview - describe('service_overview/dependencies', function () { - loadTestFile(require.resolve('./service_overview/dependencies')); - }); - - describe('service_overview/instances_main_statistics', function () { - loadTestFile(require.resolve('./service_overview/instances_main_statistics')); - }); - - describe('service_overview/instances_detailed_statistics', function () { - loadTestFile(require.resolve('./service_overview/instances_detailed_statistics')); - }); - - describe('service_overview/instance_details', function () { - loadTestFile(require.resolve('./service_overview/instance_details')); - }); - - // Services - describe('services/agent', function () { - loadTestFile(require.resolve('./services/agent')); - }); - - describe('services/annotations', function () { - loadTestFile(require.resolve('./services/annotations')); - loadTestFile(require.resolve('./services/derived_annotations')); - }); - - describe('services/service_details', function () { - loadTestFile(require.resolve('./services/service_details')); - }); - - describe('services/service_icons', function () { - loadTestFile(require.resolve('./services/service_icons')); - }); - - describe('services/throughput', function () { - loadTestFile(require.resolve('./services/throughput')); - }); - - describe('service apis throughput', function () { - loadTestFile(require.resolve('./throughput/service_apis')); - }); - - describe('dependencies throughput', function () { - loadTestFile(require.resolve('./throughput/dependencies_apis')); - }); - - describe('services/top_services', function () { - loadTestFile(require.resolve('./services/top_services')); - }); - - describe('services/transaction_types', function () { - loadTestFile(require.resolve('./services/transaction_types')); - }); - - describe('services/error_groups_main_statistics', function () { - loadTestFile(require.resolve('./services/error_groups/error_groups_main_statistics')); - }); - - describe('services/error_groups_detailed_statistics', function () { - loadTestFile(require.resolve('./services/error_groups/error_groups_detailed_statistics')); - }); - - describe('services/detailed_statistics', function () { - loadTestFile(require.resolve('./services/services_detailed_statistics')); - }); - - // Settinges - describe('settings/anomaly_detection/basic', function () { - loadTestFile(require.resolve('./settings/anomaly_detection/basic')); - }); - - describe('settings/anomaly_detection/no_access_user', function () { - loadTestFile(require.resolve('./settings/anomaly_detection/no_access_user')); - }); - - describe('settings/anomaly_detection/read_user', function () { - loadTestFile(require.resolve('./settings/anomaly_detection/read_user')); - }); - - describe('settings/anomaly_detection/write_user', function () { - loadTestFile(require.resolve('./settings/anomaly_detection/write_user')); - }); - - describe('settings/agent_configuration', function () { - loadTestFile(require.resolve('./settings/agent_configuration')); - }); - - describe('settings/custom_link', function () { - loadTestFile(require.resolve('./settings/custom_link')); - }); - - // suggestions - describe('suggestions', function () { - loadTestFile(require.resolve('./suggestions/suggestions')); - }); - - // traces - describe('traces/top_traces', function () { - loadTestFile(require.resolve('./traces/top_traces')); - }); - describe('/internal/apm/traces/{traceId}', function () { - loadTestFile(require.resolve('./traces/trace_by_id')); - }); - - // transactions - describe('transactions/breakdown', function () { - loadTestFile(require.resolve('./transactions/breakdown')); - }); - - describe('transactions/trace_samples', function () { - loadTestFile(require.resolve('./transactions/trace_samples')); - }); - - describe('transactions/error_rate', function () { - loadTestFile(require.resolve('./transactions/error_rate')); - }); - - describe('transactions/latency_overall_distribution', function () { - loadTestFile(require.resolve('./transactions/latency_overall_distribution')); - }); - - describe('transactions/latency', function () { - loadTestFile(require.resolve('./transactions/latency')); - }); - - describe('transactions/transactions_groups_main_statistics', function () { - loadTestFile(require.resolve('./transactions/transactions_groups_main_statistics')); - }); - - describe('transactions/transactions_groups_detailed_statistics', function () { - loadTestFile(require.resolve('./transactions/transactions_groups_detailed_statistics')); - }); - - // feature control - describe('feature_controls', function () { - loadTestFile(require.resolve('./feature_controls')); - }); - - // CSM - describe('csm/csm_services', function () { - loadTestFile(require.resolve('./csm/csm_services')); - }); - - describe('csm/has_rum_data', function () { - loadTestFile(require.resolve('./csm/has_rum_data')); - }); - - describe('csm/js_errors', function () { - loadTestFile(require.resolve('./csm/js_errors')); - }); - - describe('csm/long_task_metrics', function () { - loadTestFile(require.resolve('./csm/long_task_metrics')); - }); - - describe('csm/page_load_dist', function () { - loadTestFile(require.resolve('./csm/page_load_dist')); - }); - - describe('csm/page_views', function () { - loadTestFile(require.resolve('./csm/page_views')); - }); - - describe('csm/url_search', function () { - loadTestFile(require.resolve('./csm/url_search')); - }); - - describe('csm/web_core_vitals', function () { - loadTestFile(require.resolve('./csm/web_core_vitals')); - }); - - describe('historical_data/has_data', function () { - loadTestFile(require.resolve('./historical_data/has_data')); - }); - - describe('error_rate/service_apis', function () { - loadTestFile(require.resolve('./error_rate/service_apis')); - }); - - describe('latency/service_apis', function () { - loadTestFile(require.resolve('./latency/service_apis')); - }); - - describe('errors/distribution', function () { - loadTestFile(require.resolve('./errors/distribution')); - }); - - // Dependencies - describe('dependencies/metadata', function () { - loadTestFile(require.resolve('./dependencies/metadata')); - }); - - describe('dependencies/top_dependencies', function () { - loadTestFile(require.resolve('./dependencies/top_dependencies')); - }); + // // inspect feature + // describe('inspect/inspect', function () { + // loadTestFile(require.resolve('./inspect/inspect')); + // }); + + // // alerts + // describe('alerts/chart_preview', function () { + // loadTestFile(require.resolve('./alerts/chart_preview')); + // }); + + // describe('alerts/rule_registry', function () { + // loadTestFile(require.resolve('./alerts/rule_registry')); + // }); + + // // correlations + // describe('correlations/failed_transactions', function () { + // loadTestFile(require.resolve('./correlations/failed_transactions')); + // }); + + // describe('correlations/latency', function () { + // loadTestFile(require.resolve('./correlations/latency')); + // }); + + // describe('event_metadata/event_metadata', function () { + // loadTestFile(require.resolve('./event_metadata/event_metadata')); + // }); + + // describe('metrics_charts/metrics_charts', function () { + // loadTestFile(require.resolve('./metrics_charts/metrics_charts')); + // }); + + // describe('observability_overview/has_data', function () { + // loadTestFile(require.resolve('./observability_overview/has_data')); + // }); + + // describe('observability_overview/observability_overview', function () { + // loadTestFile(require.resolve('./observability_overview/observability_overview')); + // }); + + // describe('service_maps/service_maps', function () { + // loadTestFile(require.resolve('./service_maps/service_maps')); + // }); + + // // Service overview + // describe('service_overview/dependencies', function () { + // loadTestFile(require.resolve('./service_overview/dependencies')); + // }); + + // describe('service_overview/instances_main_statistics', function () { + // loadTestFile(require.resolve('./service_overview/instances_main_statistics')); + // }); + + // describe('service_overview/instances_detailed_statistics', function () { + // loadTestFile(require.resolve('./service_overview/instances_detailed_statistics')); + // }); + + // describe('service_overview/instance_details', function () { + // loadTestFile(require.resolve('./service_overview/instance_details')); + // }); + + // // Services + // describe('services/agent', function () { + // loadTestFile(require.resolve('./services/agent')); + // }); + + // describe('services/annotations', function () { + // loadTestFile(require.resolve('./services/annotations')); + // loadTestFile(require.resolve('./services/derived_annotations')); + // }); + + // describe('services/service_details', function () { + // loadTestFile(require.resolve('./services/service_details')); + // }); + + // describe('services/service_icons', function () { + // loadTestFile(require.resolve('./services/service_icons')); + // }); + + // describe('services/throughput', function () { + // loadTestFile(require.resolve('./services/throughput')); + // }); + + // describe('service apis throughput', function () { + // loadTestFile(require.resolve('./throughput/service_apis')); + // }); + + // describe('dependencies throughput', function () { + // loadTestFile(require.resolve('./throughput/dependencies_apis')); + // }); + + // describe('services/top_services', function () { + // loadTestFile(require.resolve('./services/top_services')); + // }); + + // describe('services/transaction_types', function () { + // loadTestFile(require.resolve('./services/transaction_types')); + // }); + + // describe('services/error_groups_main_statistics', function () { + // loadTestFile(require.resolve('./services/error_groups/error_groups_main_statistics')); + // }); + + // describe('services/error_groups_detailed_statistics', function () { + // loadTestFile(require.resolve('./services/error_groups/error_groups_detailed_statistics')); + // }); + + // describe('services/detailed_statistics', function () { + // loadTestFile(require.resolve('./services/services_detailed_statistics')); + // }); + + // // Settings + // describe('settings/anomaly_detection/basic', function () { + // loadTestFile(require.resolve('./settings/anomaly_detection/basic')); + // }); + + // describe('settings/anomaly_detection/no_access_user', function () { + // loadTestFile(require.resolve('./settings/anomaly_detection/no_access_user')); + // }); + + // describe('settings/anomaly_detection/read_user', function () { + // loadTestFile(require.resolve('./settings/anomaly_detection/read_user')); + // }); + + // describe('settings/anomaly_detection/write_user', function () { + // loadTestFile(require.resolve('./settings/anomaly_detection/write_user')); + // }); + + // describe('settings/agent_configuration', function () { + // loadTestFile(require.resolve('./settings/agent_configuration')); + // }); + + // describe('settings/custom_link', function () { + // loadTestFile(require.resolve('./settings/custom_link')); + // }); + + // // suggestions + // describe('suggestions', function () { + // loadTestFile(require.resolve('./suggestions/suggestions')); + // }); + + // // traces + // describe('traces/top_traces', function () { + // loadTestFile(require.resolve('./traces/top_traces')); + // }); + // describe('/internal/apm/traces/{traceId}', function () { + // loadTestFile(require.resolve('./traces/trace_by_id')); + // }); + + // // transactions + // describe('transactions/breakdown', function () { + // loadTestFile(require.resolve('./transactions/breakdown')); + // }); + + // describe('transactions/trace_samples', function () { + // loadTestFile(require.resolve('./transactions/trace_samples')); + // }); + + // describe('transactions/error_rate', function () { + // loadTestFile(require.resolve('./transactions/error_rate')); + // }); + + // describe('transactions/latency_overall_distribution', function () { + // loadTestFile(require.resolve('./transactions/latency_overall_distribution')); + // }); + + // describe('transactions/latency', function () { + // loadTestFile(require.resolve('./transactions/latency')); + // }); + + // describe('transactions/transactions_groups_main_statistics', function () { + // loadTestFile(require.resolve('./transactions/transactions_groups_main_statistics')); + // }); + + // describe('transactions/transactions_groups_detailed_statistics', function () { + // loadTestFile(require.resolve('./transactions/transactions_groups_detailed_statistics')); + // }); + + // // feature control + // describe('feature_controls', function () { + // loadTestFile(require.resolve('./feature_controls')); + // }); + + // // CSM + // describe('csm/csm_services', function () { + // loadTestFile(require.resolve('./csm/csm_services')); + // }); + + // describe('csm/has_rum_data', function () { + // loadTestFile(require.resolve('./csm/has_rum_data')); + // }); + + // describe('csm/js_errors', function () { + // loadTestFile(require.resolve('./csm/js_errors')); + // }); + + // describe('csm/long_task_metrics', function () { + // loadTestFile(require.resolve('./csm/long_task_metrics')); + // }); + + // describe('csm/page_load_dist', function () { + // loadTestFile(require.resolve('./csm/page_load_dist')); + // }); + + // describe('csm/page_views', function () { + // loadTestFile(require.resolve('./csm/page_views')); + // }); + + // describe('csm/url_search', function () { + // loadTestFile(require.resolve('./csm/url_search')); + // }); + + // describe('csm/web_core_vitals', function () { + // loadTestFile(require.resolve('./csm/web_core_vitals')); + // }); + + // describe('historical_data/has_data', function () { + // loadTestFile(require.resolve('./historical_data/has_data')); + // }); + + // describe('error_rate/service_apis', function () { + // loadTestFile(require.resolve('./error_rate/service_apis')); + // }); + + // describe('latency/service_apis', function () { + // loadTestFile(require.resolve('./latency/service_apis')); + // }); + + // describe('errors/distribution', function () { + // loadTestFile(require.resolve('./errors/distribution')); + // }); + + describe('errors/error_group_list', function () { + loadTestFile(require.resolve('./errors/error_group_list')); + }); + + // // Dependencies + // describe('dependencies/metadata', function () { + // loadTestFile(require.resolve('./dependencies/metadata')); + // }); + + // describe('dependencies/top_dependencies', function () { + // loadTestFile(require.resolve('./dependencies/top_dependencies')); + // }); registry.run(providerContext); }); From 63cf1d0ab51ced63a81c0e460bad346d45abfdab Mon Sep 17 00:00:00 2001 From: Nicolas Chaulet Date: Tue, 2 Nov 2021 08:43:22 -0400 Subject: [PATCH 059/110] [Fleet] Delete non existing streams in overrideInputs (#116998) --- .../server/services/package_policy.test.ts | 94 +++++++++++++++++++ .../fleet/server/services/package_policy.ts | 21 ++++- 2 files changed, 113 insertions(+), 2 deletions(-) diff --git a/x-pack/plugins/fleet/server/services/package_policy.test.ts b/x-pack/plugins/fleet/server/services/package_policy.test.ts index 46747762213f19..b6207316829ee7 100644 --- a/x-pack/plugins/fleet/server/services/package_policy.test.ts +++ b/x-pack/plugins/fleet/server/services/package_policy.test.ts @@ -1843,6 +1843,100 @@ describe('Package policy service', () => { expect(logfileStream?.enabled).toBe(false); }); }); + + describe('when a datastream is deleted from an input', () => { + it('it remove the non existing datastream', () => { + const basePackagePolicy: NewPackagePolicy = { + name: 'base-package-policy', + description: 'Base Package Policy', + namespace: 'default', + enabled: true, + policy_id: 'xxxx', + output_id: 'xxxx', + package: { + name: 'test-package', + title: 'Test Package', + version: '0.0.1', + }, + inputs: [ + { + type: 'logs', + policy_template: 'template_1', + enabled: true, + vars: { + path: { + type: 'text', + value: ['/var/log/logfile.log'], + }, + }, + streams: [ + { + enabled: true, + data_stream: { dataset: 'dataset.test123', type: 'log' }, + }, + ], + }, + ], + }; + + const packageInfo: PackageInfo = { + name: 'test-package', + description: 'Test Package', + title: 'Test Package', + version: '0.0.1', + latestVersion: '0.0.1', + release: 'experimental', + format_version: '1.0.0', + owner: { github: 'elastic/fleet' }, + policy_templates: [ + { + name: 'template_1', + title: 'Template 1', + description: 'Template 1', + inputs: [ + { + type: 'logs', + title: 'Log', + description: 'Log Input', + vars: [ + { + name: 'path', + type: 'text', + }, + ], + }, + ], + }, + ], + // @ts-ignore + assets: {}, + }; + + const inputsOverride: NewPackagePolicyInput[] = [ + { + type: 'logs', + enabled: true, + streams: [], + vars: { + path: { + type: 'text', + value: '/var/log/new-logfile.log', + }, + }, + }, + ]; + + const result = overridePackageInputs( + basePackagePolicy, + packageInfo, + // TODO: Update this type assertion when the `InputsOverride` type is updated such + // that it no longer causes unresolvable type errors when used directly + inputsOverride as InputsOverride[], + false + ); + expect(result.inputs[0]?.vars?.path.value).toEqual(['/var/log/logfile.log']); + }); + }); }); }); diff --git a/x-pack/plugins/fleet/server/services/package_policy.ts b/x-pack/plugins/fleet/server/services/package_policy.ts index c03ccfc43ebd89..39902d35feb08f 100644 --- a/x-pack/plugins/fleet/server/services/package_policy.ts +++ b/x-pack/plugins/fleet/server/services/package_policy.ts @@ -404,6 +404,7 @@ class PackagePolicyService { pkgName: packagePolicy.package.name, pkgVersion: packagePolicy.package.version, }); + const registryPkgInfo = await Registry.fetchInfo(pkgInfo.name, pkgInfo.version); inputs = await this._compilePackagePolicyInputs( registryPkgInfo, @@ -1111,7 +1112,9 @@ export function overridePackageInputs( } if (override.vars) { - originalInput = deepMergeVars(originalInput, override) as NewPackagePolicyInput; + const indexOfInput = inputs.indexOf(originalInput); + inputs[indexOfInput] = deepMergeVars(originalInput, override) as NewPackagePolicyInput; + originalInput = inputs[indexOfInput]; } if (override.streams) { @@ -1130,10 +1133,24 @@ export function overridePackageInputs( } if (stream.vars) { - originalStream = deepMergeVars(originalStream, stream as InputsOverride); + const indexOfStream = originalInput.streams.indexOf(originalStream); + originalInput.streams[indexOfStream] = deepMergeVars( + originalStream, + stream as InputsOverride + ); + originalStream = originalInput.streams[indexOfStream]; } } } + + // Filter all stream that have been removed from the input + originalInput.streams = originalInput.streams.filter((originalStream) => { + return ( + override.streams?.some( + (s) => s.data_stream.dataset === originalStream.data_stream.dataset + ) ?? false + ); + }); } const resultingPackagePolicy: NewPackagePolicy = { From 0de567aa990b7b717ef0151bb522aa0c9940563b Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Tue, 2 Nov 2021 12:51:58 +0000 Subject: [PATCH 060/110] skip flaky suite (#116070) --- x-pack/test/functional/apps/monitoring/logstash/pipelines.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/test/functional/apps/monitoring/logstash/pipelines.js b/x-pack/test/functional/apps/monitoring/logstash/pipelines.js index 72a6ff8e1af23f..931afc83e84159 100644 --- a/x-pack/test/functional/apps/monitoring/logstash/pipelines.js +++ b/x-pack/test/functional/apps/monitoring/logstash/pipelines.js @@ -15,7 +15,8 @@ export default function ({ getService, getPageObjects }) { const pipelinesList = getService('monitoringLogstashPipelines'); const lsClusterSummaryStatus = getService('monitoringLogstashSummaryStatus'); - describe('Logstash pipelines', () => { + // FLAKY: https://github.com/elastic/kibana/issues/116070 + describe.skip('Logstash pipelines', () => { const { setup, tearDown } = getLifecycleMethods(getService, getPageObjects); before(async () => { From 02e8271e363331d1629957aa0751c6a8a4c269fe Mon Sep 17 00:00:00 2001 From: Michael Dokolin Date: Tue, 2 Nov 2021 13:53:54 +0100 Subject: [PATCH 061/110] [Data] Add extra logging to detect flaky test problem (#113661) --- .../test_suites/run_pipeline/esaggs_timeshift.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/test/interpreter_functional/test_suites/run_pipeline/esaggs_timeshift.ts b/test/interpreter_functional/test_suites/run_pipeline/esaggs_timeshift.ts index 244d07d2cfc820..adfd724f063b49 100644 --- a/test/interpreter_functional/test_suites/run_pipeline/esaggs_timeshift.ts +++ b/test/interpreter_functional/test_suites/run_pipeline/esaggs_timeshift.ts @@ -12,6 +12,10 @@ import { ExpectExpression, expectExpressionProvider } from './helpers'; import { FtrProviderContext } from '../../../functional/ftr_provider_context'; function getCell(esaggsResult: any, row: number, column: number): unknown | undefined { + if (esaggsResult && !esaggsResult.columns) { + throw new Error(`Unexpected esaggs result: ${JSON.stringify(esaggsResult, undefined, ' ')}`); + } + const columnId = esaggsResult?.columns[column]?.id; if (!columnId) { return; @@ -37,8 +41,7 @@ export default function ({ }: FtrProviderContext & { updateBaselines: boolean }) { let expectExpression: ExpectExpression; - // FLAKY https://github.com/elastic/kibana/issues/107028 - describe.skip('esaggs timeshift tests', () => { + describe('esaggs timeshift tests', () => { before(() => { expectExpression = expectExpressionProvider({ getService, updateBaselines }); }); @@ -98,6 +101,7 @@ export default function ({ 'esaggs_shift_single_percentile', expression ).getResponse(); + // percentile is not stable expect(getCell(result, 0, 0)).to.be.within(10000, 20000); expect(getCell(result, 0, 1)).to.be.within(10000, 20000); From 4d8363a92d1f5ce511000f24c7929f9cdf3d3ff7 Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Tue, 2 Nov 2021 13:02:14 +0000 Subject: [PATCH 062/110] skip flaky suite (#116881) --- .../apps/dashboard/feature_controls/dashboard_security.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/test/functional/apps/dashboard/feature_controls/dashboard_security.ts b/x-pack/test/functional/apps/dashboard/feature_controls/dashboard_security.ts index 70f6fc49f00637..624a2cae63b78c 100644 --- a/x-pack/test/functional/apps/dashboard/feature_controls/dashboard_security.ts +++ b/x-pack/test/functional/apps/dashboard/feature_controls/dashboard_security.ts @@ -502,7 +502,8 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { }); }); - describe('no dashboard privileges', () => { + // FLAKY: https://github.com/elastic/kibana/issues/116881 + describe.skip('no dashboard privileges', () => { before(async () => { await security.role.create('no_dashboard_privileges_role', { elasticsearch: { From f130759e827bf8332fea3a662b7efacc142c8eec Mon Sep 17 00:00:00 2001 From: Mark Hopkin Date: Tue, 2 Nov 2021 13:12:14 +0000 Subject: [PATCH 063/110] [Fleet] Fix add agent help not closing when button clicked (#117104) * close help popover when button clicked * reduce popover z-index to hide behind modals --- .../policies/components/package_policy_agents_cell.tsx | 6 +++++- .../fleet/public/components/add_agent_help_popover.tsx | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/detail/policies/components/package_policy_agents_cell.tsx b/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/detail/policies/components/package_policy_agents_cell.tsx index 0ecab3290051e4..fc3007b174ced5 100644 --- a/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/detail/policies/components/package_policy_agents_cell.tsx +++ b/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/detail/policies/components/package_policy_agents_cell.tsx @@ -22,8 +22,12 @@ const AddAgentButton = ({ onAddAgent }: { onAddAgent: () => void }) => ( ); const AddAgentButtonWithPopover = ({ onAddAgent }: { onAddAgent: () => void }) => { - const button = ; const [isHelpOpen, setIsHelpOpen] = useState(true); + const onAddAgentCloseHelp = () => { + setIsHelpOpen(false); + onAddAgent(); + }; + const button = ; return ( ; }) => { const { docLinks } = useStartServices(); - + const theme = useTheme() as EuiTheme; const optionalProps: { offset?: number } = {}; if (offset !== undefined) { @@ -55,6 +58,7 @@ export const AddAgentHelpPopover = ({ />
    } + zIndex={theme.eui.euiZLevel1 - 1} // put popover behind any modals that happen to be open isStepOpen={isOpen} minWidth={300} onFinish={() => {}} From 2a1eaadeb8aa636e709e1ceb5f07cc4da826198c Mon Sep 17 00:00:00 2001 From: Tim Sullivan Date: Tue, 2 Nov 2021 06:57:52 -0700 Subject: [PATCH 064/110] [Reporting] Stabilize ILM test for Cloud (#117003) Closes https://github.com/elastic/kibana/issues/109456 --- .../reporting_and_security/ilm_migration_apis.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/x-pack/test/reporting_api_integration/reporting_and_security/ilm_migration_apis.ts b/x-pack/test/reporting_api_integration/reporting_and_security/ilm_migration_apis.ts index d1dc091992dd64..6a2139a70dde50 100644 --- a/x-pack/test/reporting_api_integration/reporting_and_security/ilm_migration_apis.ts +++ b/x-pack/test/reporting_api_integration/reporting_and_security/ilm_migration_apis.ts @@ -24,6 +24,7 @@ export default function ({ getService }: FtrProviderContext) { before(async () => { await esArchiver.load('x-pack/test/functional/es_archives/reporting/logs'); await esArchiver.load('x-pack/test/functional/es_archives/logstash_functional'); + await reportingAPI.migrateReportingIndices(); // ensure that the ILM policy exists for the first test }); after(async () => { From 55fb58b9f4efb5de37a6ab042d5d54a9775bdefb Mon Sep 17 00:00:00 2001 From: Tobias Stadler Date: Tue, 2 Nov 2021 15:05:51 +0100 Subject: [PATCH 065/110] xpack.actions.{proxy}VerificationMode is actual xpack.actions.ssl.{proxy}VerificationMode (#114593) * xpack.actions.proxyVerificationMode is actual xpack.actions.ssl.proxyVerificationMode * xpack.actions.verificationMode is actual xpack.actions.ssl.verificationMode Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- x-pack/plugins/actions/server/index.test.ts | 4 ++-- x-pack/plugins/actions/server/index.ts | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/x-pack/plugins/actions/server/index.test.ts b/x-pack/plugins/actions/server/index.test.ts index 9021879fa38aa9..fe8cf98a48f43b 100644 --- a/x-pack/plugins/actions/server/index.test.ts +++ b/x-pack/plugins/actions/server/index.test.ts @@ -51,10 +51,10 @@ describe('index', () => { '"xpack.actions.customHostSettings[].ssl.rejectUnauthorized" is deprecated.Use "xpack.actions.customHostSettings[].ssl.verificationMode" instead, with the setting "verificationMode:full" eql to "rejectUnauthorized:true", and "verificationMode:none" eql to "rejectUnauthorized:false".' ); expect(messages[1]).toBe( - '"xpack.actions.rejectUnauthorized" is deprecated. Use "xpack.actions.verificationMode" instead, with the setting "verificationMode:full" eql to "rejectUnauthorized:true", and "verificationMode:none" eql to "rejectUnauthorized:false".' + '"xpack.actions.rejectUnauthorized" is deprecated. Use "xpack.actions.ssl.verificationMode" instead, with the setting "verificationMode:full" eql to "rejectUnauthorized:true", and "verificationMode:none" eql to "rejectUnauthorized:false".' ); expect(messages[2]).toBe( - '"xpack.actions.proxyRejectUnauthorizedCertificates" is deprecated. Use "xpack.actions.proxyVerificationMode" instead, with the setting "proxyVerificationMode:full" eql to "rejectUnauthorized:true",and "proxyVerificationMode:none" eql to "rejectUnauthorized:false".' + '"xpack.actions.proxyRejectUnauthorizedCertificates" is deprecated. Use "xpack.actions.ssl.proxyVerificationMode" instead, with the setting "proxyVerificationMode:full" eql to "rejectUnauthorized:true",and "proxyVerificationMode:none" eql to "rejectUnauthorized:false".' ); }); }); diff --git a/x-pack/plugins/actions/server/index.ts b/x-pack/plugins/actions/server/index.ts index e6c82969a0aa28..e1c60b9fd0491a 100644 --- a/x-pack/plugins/actions/server/index.ts +++ b/x-pack/plugins/actions/server/index.ts @@ -103,13 +103,13 @@ export const config: PluginConfigDescriptor = { level: 'warning', configPath: `${fromPath}.rejectUnauthorized`, message: - `"xpack.actions.rejectUnauthorized" is deprecated. Use "xpack.actions.verificationMode" instead, ` + + `"xpack.actions.rejectUnauthorized" is deprecated. Use "xpack.actions.ssl.verificationMode" instead, ` + `with the setting "verificationMode:full" eql to "rejectUnauthorized:true", ` + `and "verificationMode:none" eql to "rejectUnauthorized:false".`, correctiveActions: { manualSteps: [ `Remove "xpack.actions.rejectUnauthorized" from your kibana configs.`, - `Use "xpack.actions.verificationMode" ` + + `Use "xpack.actions.ssl.verificationMode" ` + `with the setting "verificationMode:full" eql to "rejectUnauthorized:true", ` + `and "verificationMode:none" eql to "rejectUnauthorized:false".`, ], @@ -131,13 +131,13 @@ export const config: PluginConfigDescriptor = { level: 'warning', configPath: `${fromPath}.proxyRejectUnauthorizedCertificates`, message: - `"xpack.actions.proxyRejectUnauthorizedCertificates" is deprecated. Use "xpack.actions.proxyVerificationMode" instead, ` + + `"xpack.actions.proxyRejectUnauthorizedCertificates" is deprecated. Use "xpack.actions.ssl.proxyVerificationMode" instead, ` + `with the setting "proxyVerificationMode:full" eql to "rejectUnauthorized:true",` + `and "proxyVerificationMode:none" eql to "rejectUnauthorized:false".`, correctiveActions: { manualSteps: [ `Remove "xpack.actions.proxyRejectUnauthorizedCertificates" from your kibana configs.`, - `Use "xpack.actions.proxyVerificationMode" ` + + `Use "xpack.actions.ssl.proxyVerificationMode" ` + `with the setting "proxyVerificationMode:full" eql to "rejectUnauthorized:true",` + `and "proxyVerificationMode:none" eql to "rejectUnauthorized:false".`, ], From 1860f8759e3b3e30b10f9d4ecfe41f185438b053 Mon Sep 17 00:00:00 2001 From: Caroline Horn <549577+cchaos@users.noreply.github.com> Date: Tue, 2 Nov 2021 10:12:11 -0400 Subject: [PATCH 066/110] [Global Nav] Moved Overview page/link to the accordion/Solution title (#114018) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * [Global Nav] Moved Overview page/link to the accordion/Solution title * Using Cloud logo for deployment link and fixing isActive state * Change Deployment section to dark background * Completely remove locking ability * Change buttonElement if overview page exists * Snaps from button/div * PR Feedback: - Puts `Overview` links back for Observability and Security - Increases hit area and scopes underline of anchor tag within the accordion header - Uses `id`’s to find Overview pages instead of `title` text --- .../collapsible_nav.test.tsx.snap | 45 +++++--- .../header/__snapshots__/header.test.tsx.snap | 41 +------ .../chrome/ui/header/collapsible_nav.scss | 21 ++++ .../chrome/ui/header/collapsible_nav.tsx | 101 ++++++++---------- src/core/public/chrome/ui/header/header.tsx | 2 - src/core/public/chrome/ui/header/nav_link.tsx | 38 +++++-- x-pack/plugins/cloud/public/plugin.test.ts | 4 +- x-pack/plugins/cloud/public/plugin.ts | 2 +- .../translations/translations/ja-JP.json | 4 - .../translations/translations/zh-CN.json | 4 - .../advanced_settings_security.ts | 2 +- .../feature_controls/canvas_security.ts | 4 +- .../feature_controls/dashboard_security.ts | 10 +- .../feature_controls/discover_security.ts | 5 +- .../graph/feature_controls/graph_security.ts | 4 +- .../index_patterns_security.ts | 2 +- .../feature_controls/management_security.ts | 2 +- .../maps/feature_controls/maps_security.ts | 2 +- .../feature_controls/visualize_security.ts | 4 +- 19 files changed, 147 insertions(+), 150 deletions(-) diff --git a/src/core/public/chrome/ui/header/__snapshots__/collapsible_nav.test.tsx.snap b/src/core/public/chrome/ui/header/__snapshots__/collapsible_nav.test.tsx.snap index 571b564f903298..a16c15555f5e5d 100644 --- a/src/core/public/chrome/ui/header/__snapshots__/collapsible_nav.test.tsx.snap +++ b/src/core/public/chrome/ui/header/__snapshots__/collapsible_nav.test.tsx.snap @@ -425,7 +425,7 @@ exports[`CollapsibleNav renders links grouped by category 1`] = ` } >
    -

    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 b4)<-)os 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

  • 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

    diff --git a/src/core/public/chrome/ui/header/__snapshots__/header.test.tsx.snap b/src/core/public/chrome/ui/header/__snapshots__/header.test.tsx.snap index e73d5e8002a029..d2b1078641437a 100644 --- a/src/core/public/chrome/ui/header/__snapshots__/header.test.tsx.snap +++ b/src/core/public/chrome/ui/header/__snapshots__/header.test.tsx.snap @@ -1272,45 +1272,7 @@ exports[`Header renders 1`] = ` "closed": false, "hasError": false, "isStopped": false, - "observers": Array [ - Subscriber { - "_parentOrParents": null, - "_subscriptions": Array [ - SubjectSubscription { - "_parentOrParents": [Circular], - "_subscriptions": null, - "closed": false, - "subject": [Circular], - "subscriber": [Circular], - }, - ], - "closed": false, - "destination": SafeSubscriber { - "_complete": undefined, - "_context": [Circular], - "_error": undefined, - "_next": [Function], - "_parentOrParents": null, - "_parentSubscriber": [Circular], - "_subscriptions": null, - "closed": false, - "destination": Object { - "closed": true, - "complete": [Function], - "error": [Function], - "next": [Function], - }, - "isStopped": false, - "syncErrorThrowable": false, - "syncErrorThrown": false, - "syncErrorValue": null, - }, - "isStopped": false, - "syncErrorThrowable": true, - "syncErrorThrown": false, - "syncErrorValue": null, - }, - ], + "observers": Array [], "thrownError": null, } } @@ -4338,7 +4300,6 @@ exports[`Header renders 1`] = ` } homeHref="/" id="generated-id" - isLocked={true} isNavOpen={false} navLinks$={ BehaviorSubject { diff --git a/src/core/public/chrome/ui/header/collapsible_nav.scss b/src/core/public/chrome/ui/header/collapsible_nav.scss index d72775d374d47f..5f84863ad73094 100644 --- a/src/core/public/chrome/ui/header/collapsible_nav.scss +++ b/src/core/public/chrome/ui/header/collapsible_nav.scss @@ -3,3 +3,24 @@ max-height: $euiSize * 10; margin-right: -$euiSizeS; } + +/** + * 1. Increase the hit area of the link (anchor) + * 2. Only show the text underline when hovering on the text/anchor portion + */ + +.kbnCollapsibleNav__solutionGroupButton { + display: block; /* 1 */ + + &:hover { + text-decoration: none; /* 2 */ + } +} + +.kbnCollapsibleNav__solutionGroupLink { + display: block; /* 1 */ + + &:hover { + text-decoration: underline; /* 2 */ + } +} diff --git a/src/core/public/chrome/ui/header/collapsible_nav.tsx b/src/core/public/chrome/ui/header/collapsible_nav.tsx index ccc0e17b655b14..ef380ee47e235e 100644 --- a/src/core/public/chrome/ui/header/collapsible_nav.tsx +++ b/src/core/public/chrome/ui/header/collapsible_nav.tsx @@ -14,13 +14,12 @@ import { EuiHorizontalRule, EuiListGroup, EuiListGroupItem, - EuiShowFor, EuiCollapsibleNavProps, EuiButton, } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; import { groupBy, sortBy } from 'lodash'; -import React, { Fragment, useMemo, useRef } from 'react'; +import React, { Fragment, useMemo } from 'react'; import useObservable from 'react-use/lib/useObservable'; import * as Rx from 'rxjs'; import { ChromeNavLink, ChromeRecentlyAccessedHistoryItem } from '../..'; @@ -33,6 +32,7 @@ import { createRecentNavLink, isModifiedOrPrevented, createEuiButtonItem, + createOverviewLink, } from './nav_link'; function getAllCategories(allCategorizedLinks: Record) { const allCategories = {} as Record; @@ -72,7 +72,6 @@ interface Props { appId$: InternalApplicationStart['currentAppId$']; basePath: HttpStart['basePath']; id: string; - isLocked: boolean; isNavOpen: boolean; homeHref: string; navLinks$: Rx.Observable; @@ -86,10 +85,17 @@ interface Props { button: EuiCollapsibleNavProps['button']; } +const overviewIDsToHide = ['kibanaOverview', 'enterpriseSearch']; +const overviewIDs = [ + ...overviewIDsToHide, + 'observability-overview', + 'securitySolutionUI:overview', + 'management', +]; + export function CollapsibleNav({ basePath, id, - isLocked, isNavOpen, homeHref, storage = window.localStorage, @@ -104,23 +110,29 @@ export function CollapsibleNav({ const allowedLinks = useMemo( () => allLinks.filter( - // Filterting out hidden links and the integrations one in favor of a specific Add Data button at the bottom - (link) => !link.hidden && link.id !== 'integrations' + (link) => + // Filterting out hidden links, + !link.hidden && + // integrations link in favor of a specific Add Data button at the bottom, + link.id !== 'integrations' && + // and non-data overview pages + !overviewIDsToHide.includes(link.id) ), [allLinks] ); + // Find just the integrations link const integrationsLink = useMemo( - () => - allLinks.find( - // Find just the integrations link - (link) => link.id === 'integrations' - ), + () => allLinks.find((link) => link.id === 'integrations'), + [allLinks] + ); + // Find all the overview (landing page) links + const overviewLinks = useMemo( + () => allLinks.filter((link) => overviewIDs.includes(link.id)), [allLinks] ); const recentlyAccessed = useObservable(observables.recentlyAccessed$, []); const customNavLink = useObservable(observables.customNavLink$, undefined); const appId = useObservable(observables.appId$, ''); - const lockRef = useRef(null); const groupedNavLinks = groupBy(allowedLinks, (link) => link?.category?.id); const { undefined: unknowns = [], ...allCategorizedLinks } = groupedNavLinks; const categoryDictionary = getAllCategories(allCategorizedLinks); @@ -153,7 +165,7 @@ export function CollapsibleNav({ @@ -166,12 +178,13 @@ export function CollapsibleNav({ dataTestSubj: 'collapsibleNavCustomNavLink', onClick: closeNav, externalLink: true, + iconProps: { color: 'ghost' }, }), ]} maxWidth="none" - color="text" gutterSize="none" size="s" + color="ghost" /> @@ -270,13 +283,31 @@ export function CollapsibleNav({ {/* Kibana, Observability, Security, and Management sections */} {orderedCategories.map((categoryName) => { const category = categoryDictionary[categoryName]!; + const overviewLink = overviewLinks.find((link) => link.category === category); return ( + {category.label} + + ) : ( + category.label + ) + } isCollapsible={true} initialIsOpen={getIsCategoryOpen(category.id, storage)} onToggle={(isCategoryOpen) => setIsCategoryOpen(category.id, isCategoryOpen, storage)} @@ -305,45 +336,6 @@ export function CollapsibleNav({ ))} - - {/* Docking button only for larger screens that can support it*/} - - - - { - onIsLockedUpdate(!isLocked); - if (lockRef.current) { - lockRef.current.focus(); - } - }} - iconType={isLocked ? 'lock' : 'lockOpen'} - /> - - - {integrationsLink && ( @@ -355,7 +347,6 @@ export function CollapsibleNav({ link: integrationsLink, navigateToUrl, onClick: closeNav, - dataTestSubj: `collapsibleNavAppButton-${integrationsLink.id}`, })} fill fullWidth diff --git a/src/core/public/chrome/ui/header/header.tsx b/src/core/public/chrome/ui/header/header.tsx index 578c87411e5437..40108760cc0be4 100644 --- a/src/core/public/chrome/ui/header/header.tsx +++ b/src/core/public/chrome/ui/header/header.tsx @@ -84,7 +84,6 @@ export function Header({ ...observables }: HeaderProps) { const isVisible = useObservable(observables.isVisible$, false); - const isLocked = useObservable(observables.isLocked$, false); const [isNavOpen, setIsNavOpen] = useState(false); const [navId] = useState(htmlIdGenerator()()); const breadcrumbsAppendExtension = useObservable(breadcrumbsAppendExtension$); @@ -160,7 +159,6 @@ export function Header({ : undefined, }), @@ -77,7 +80,7 @@ export function createEuiButtonItem({ navigateToUrl, dataTestSubj, }: Omit) { - const { href, disabled, url } = link; + const { href, disabled, url, id } = link; return { href, @@ -90,7 +93,30 @@ export function createEuiButtonItem({ navigateToUrl(url); }, isDisabled: disabled, - 'data-test-subj': dataTestSubj, + dataTestSubj: `collapsibleNavAppButton-${id}`, + }; +} + +export function createOverviewLink({ + link, + onClick = () => {}, + navigateToUrl, +}: Omit) { + const { href, url } = link; + + return { + href, + /* Use href and onClick to support "open in new tab" and SPA navigation in the same link */ + onClick(event: React.MouseEvent) { + // Prevent the accordions from opening or closing when clicking just the link + event.stopPropagation(); + if (!isModifiedOrPrevented(event)) { + onClick(); + } + event.preventDefault(); + navigateToUrl(url); + }, + 'data-test-subj': `collapsibleNavAppLink-overview`, }; } diff --git a/x-pack/plugins/cloud/public/plugin.test.ts b/x-pack/plugins/cloud/public/plugin.test.ts index c1c94375d70638..43659d137a6e0a 100644 --- a/x-pack/plugins/cloud/public/plugin.test.ts +++ b/x-pack/plugins/cloud/public/plugin.test.ts @@ -348,7 +348,7 @@ describe('Cloud Plugin', () => { expect(coreStart.chrome.setCustomNavLink.mock.calls[0]).toMatchInlineSnapshot(` Array [ Object { - "euiIconType": "arrowLeft", + "euiIconType": "logoCloud", "href": "https://cloud.elastic.co/abc123", "title": "Manage this deployment", }, @@ -370,7 +370,7 @@ describe('Cloud Plugin', () => { expect(coreStart.chrome.setCustomNavLink.mock.calls[0]).toMatchInlineSnapshot(` Array [ Object { - "euiIconType": "arrowLeft", + "euiIconType": "logoCloud", "href": "https://cloud.elastic.co/abc123", "title": "Manage this deployment", }, diff --git a/x-pack/plugins/cloud/public/plugin.ts b/x-pack/plugins/cloud/public/plugin.ts index 64b03acdc3ffd7..e71b145c438edf 100644 --- a/x-pack/plugins/cloud/public/plugin.ts +++ b/x-pack/plugins/cloud/public/plugin.ts @@ -131,7 +131,7 @@ export class CloudPlugin implements Plugin { title: i18n.translate('xpack.cloud.deploymentLinkLabel', { defaultMessage: 'Manage this deployment', }), - euiIconType: 'arrowLeft', + euiIconType: 'logoCloud', href: getFullCloudUrl(baseUrl, deploymentUrl), }); } diff --git a/x-pack/plugins/translations/translations/ja-JP.json b/x-pack/plugins/translations/translations/ja-JP.json index 7ab4c7d31d745f..857e97daa35152 100644 --- a/x-pack/plugins/translations/translations/ja-JP.json +++ b/x-pack/plugins/translations/translations/ja-JP.json @@ -1359,11 +1359,7 @@ "core.ui.primaryNav.pinnedLinksAriaLabel": "ピン留めされたリンク", "core.ui.primaryNav.screenReaderLabel": "プライマリ", "core.ui.primaryNav.toggleNavAriaLabel": "プライマリナビゲーションを切り替える", - "core.ui.primaryNavSection.dockAriaLabel": "プライマリナビゲーションリンクを固定する", - "core.ui.primaryNavSection.dockLabel": "ナビゲーションを固定する", "core.ui.primaryNavSection.screenReaderLabel": "プライマリナビゲーションリンク、{category}", - "core.ui.primaryNavSection.undockAriaLabel": "プライマリナビゲーションリンクの固定を解除する", - "core.ui.primaryNavSection.undockLabel": "ナビゲーションの固定を解除する", "core.ui.publicBaseUrlWarning.configMissingDescription": "{configKey}が見つかりません。本番環境を実行するときに構成してください。一部の機能が正常に動作しない場合があります。", "core.ui.publicBaseUrlWarning.configMissingTitle": "構成がありません", "core.ui.publicBaseUrlWarning.muteWarningButtonLabel": "ミュート警告", diff --git a/x-pack/plugins/translations/translations/zh-CN.json b/x-pack/plugins/translations/translations/zh-CN.json index 1208277001cb96..6c860a5b2cc4d0 100644 --- a/x-pack/plugins/translations/translations/zh-CN.json +++ b/x-pack/plugins/translations/translations/zh-CN.json @@ -1375,11 +1375,7 @@ "core.ui.primaryNav.pinnedLinksAriaLabel": "置顶链接", "core.ui.primaryNav.screenReaderLabel": "主分片", "core.ui.primaryNav.toggleNavAriaLabel": "切换主导航", - "core.ui.primaryNavSection.dockAriaLabel": "停靠主导航", - "core.ui.primaryNavSection.dockLabel": "停靠导航", "core.ui.primaryNavSection.screenReaderLabel": "主导航链接, {category}", - "core.ui.primaryNavSection.undockAriaLabel": "取消停靠主导航", - "core.ui.primaryNavSection.undockLabel": "取消停靠导航", "core.ui.publicBaseUrlWarning.configMissingDescription": "{configKey} 缺失,在生产环境中运行时应配置。某些功能可能运行不正常。", "core.ui.publicBaseUrlWarning.configMissingTitle": "配置缺失", "core.ui.publicBaseUrlWarning.muteWarningButtonLabel": "静音警告", diff --git a/x-pack/test/functional/apps/advanced_settings/feature_controls/advanced_settings_security.ts b/x-pack/test/functional/apps/advanced_settings/feature_controls/advanced_settings_security.ts index ebe76ee52499b0..7efa86c3acf282 100644 --- a/x-pack/test/functional/apps/advanced_settings/feature_controls/advanced_settings_security.ts +++ b/x-pack/test/functional/apps/advanced_settings/feature_controls/advanced_settings_security.ts @@ -177,7 +177,7 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { it('does not show Management navlink', async () => { const navLinks = (await appsMenu.readLinks()).map((link) => link.text); - expect(navLinks).to.eql(['Overview', 'Discover']); + expect(navLinks).to.eql(['Discover']); }); it(`does not allow navigation to advanced settings; shows "not found" error`, async () => { diff --git a/x-pack/test/functional/apps/canvas/feature_controls/canvas_security.ts b/x-pack/test/functional/apps/canvas/feature_controls/canvas_security.ts index 5a73f31c8427f8..983a3101b9e31e 100644 --- a/x-pack/test/functional/apps/canvas/feature_controls/canvas_security.ts +++ b/x-pack/test/functional/apps/canvas/feature_controls/canvas_security.ts @@ -67,7 +67,7 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { it('shows canvas navlink', async () => { const navLinks = (await appsMenu.readLinks()).map((link) => link.text); - expect(navLinks).to.eql(['Overview', 'Canvas']); + expect(navLinks).to.eql(['Canvas']); }); it(`landing page shows "Create new workpad" button`, async () => { @@ -142,7 +142,7 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { it('shows canvas navlink', async () => { const navLinks = (await appsMenu.readLinks()).map((link) => link.text); - expect(navLinks).to.eql(['Overview', 'Canvas']); + expect(navLinks).to.eql(['Canvas']); }); it(`landing page shows disabled "Create new workpad" button`, async () => { diff --git a/x-pack/test/functional/apps/dashboard/feature_controls/dashboard_security.ts b/x-pack/test/functional/apps/dashboard/feature_controls/dashboard_security.ts index 624a2cae63b78c..e7aa3e6a54e603 100644 --- a/x-pack/test/functional/apps/dashboard/feature_controls/dashboard_security.ts +++ b/x-pack/test/functional/apps/dashboard/feature_controls/dashboard_security.ts @@ -89,11 +89,7 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { it('only shows the dashboard navlink', async () => { const navLinks = await appsMenu.readLinks(); - expect(navLinks.map((link) => link.text)).to.eql([ - 'Overview', - 'Dashboard', - 'Stack Management', - ]); + expect(navLinks.map((link) => link.text)).to.eql(['Dashboard', 'Stack Management']); }); it(`landing page shows "Create new Dashboard" button`, async () => { @@ -296,7 +292,7 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { it('shows dashboard navlink', async () => { const navLinks = (await appsMenu.readLinks()).map((link) => link.text); - expect(navLinks).to.eql(['Overview', 'Dashboard']); + expect(navLinks).to.eql(['Dashboard']); }); it(`landing page doesn't show "Create new Dashboard" button`, async () => { @@ -427,7 +423,7 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { it('shows dashboard navlink', async () => { const navLinks = (await appsMenu.readLinks()).map((link) => link.text); - expect(navLinks).to.eql(['Overview', 'Dashboard']); + expect(navLinks).to.eql(['Dashboard']); }); it(`landing page doesn't show "Create new Dashboard" button`, async () => { diff --git a/x-pack/test/functional/apps/discover/feature_controls/discover_security.ts b/x-pack/test/functional/apps/discover/feature_controls/discover_security.ts index 2010bfd56d2afb..8ebf277d63cbe1 100644 --- a/x-pack/test/functional/apps/discover/feature_controls/discover_security.ts +++ b/x-pack/test/functional/apps/discover/feature_controls/discover_security.ts @@ -91,7 +91,6 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { it('shows discover navlink', async () => { const navLinks = await appsMenu.readLinks(); expect(navLinks.map((link) => link.text)).to.eql([ - 'Overview', 'Discover', 'Stack Management', // because `global_discover_all_role` enables search sessions and reporting ]); @@ -201,7 +200,7 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { it('shows discover navlink', async () => { const navLinks = (await appsMenu.readLinks()).map((link) => link.text); - expect(navLinks).to.eql(['Overview', 'Discover']); + expect(navLinks).to.eql(['Discover']); }); it(`doesn't show save button`, async () => { @@ -293,7 +292,7 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { it('shows discover navlink', async () => { const navLinks = (await appsMenu.readLinks()).map((link) => link.text); - expect(navLinks).to.eql(['Overview', 'Discover']); + expect(navLinks).to.eql(['Discover']); }); it(`doesn't show save button`, async () => { diff --git a/x-pack/test/functional/apps/graph/feature_controls/graph_security.ts b/x-pack/test/functional/apps/graph/feature_controls/graph_security.ts index 913a5034bacc5f..69f2f585d8dba5 100644 --- a/x-pack/test/functional/apps/graph/feature_controls/graph_security.ts +++ b/x-pack/test/functional/apps/graph/feature_controls/graph_security.ts @@ -67,7 +67,7 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { it('shows graph navlink', async () => { const navLinks = await appsMenu.readLinks(); - expect(navLinks.map((link) => link.text)).to.eql(['Overview', 'Graph']); + expect(navLinks.map((link) => link.text)).to.eql(['Graph']); }); it('landing page shows "Create new graph" button', async () => { @@ -130,7 +130,7 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { it('shows graph navlink', async () => { const navLinks = (await appsMenu.readLinks()).map((link) => link.text); - expect(navLinks).to.eql(['Overview', 'Graph']); + expect(navLinks).to.eql(['Graph']); }); it('does not show a "Create new Workspace" button', async () => { diff --git a/x-pack/test/functional/apps/index_patterns/feature_controls/index_patterns_security.ts b/x-pack/test/functional/apps/index_patterns/feature_controls/index_patterns_security.ts index c1610ebe0709f2..d04ec8f4d66b4a 100644 --- a/x-pack/test/functional/apps/index_patterns/feature_controls/index_patterns_security.ts +++ b/x-pack/test/functional/apps/index_patterns/feature_controls/index_patterns_security.ts @@ -179,7 +179,7 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { it('does not show Management navlink', async () => { const navLinks = (await appsMenu.readLinks()).map((link) => link.text); - expect(navLinks).to.eql(['Overview', 'Discover']); + expect(navLinks).to.eql(['Discover']); }); it(`doesn't show Index Patterns in management side-nav`, async () => { diff --git a/x-pack/test/functional/apps/management/feature_controls/management_security.ts b/x-pack/test/functional/apps/management/feature_controls/management_security.ts index 8235bf6e1e9e26..5366274cd6f587 100644 --- a/x-pack/test/functional/apps/management/feature_controls/management_security.ts +++ b/x-pack/test/functional/apps/management/feature_controls/management_security.ts @@ -36,7 +36,7 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { it('should not show the Stack Management nav link', async () => { const links = await appsMenu.readLinks(); - expect(links.map((link) => link.text)).to.eql(['Overview', 'Dashboard']); + expect(links.map((link) => link.text)).to.eql(['Dashboard']); }); it('should render the "application not found" view when navigating to management directly', async () => { diff --git a/x-pack/test/functional/apps/maps/feature_controls/maps_security.ts b/x-pack/test/functional/apps/maps/feature_controls/maps_security.ts index b141aeea16cfe2..dcd82ea05ccf3b 100644 --- a/x-pack/test/functional/apps/maps/feature_controls/maps_security.ts +++ b/x-pack/test/functional/apps/maps/feature_controls/maps_security.ts @@ -165,7 +165,7 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { it('shows Maps navlink', async () => { const navLinks = (await appsMenu.readLinks()).map((link) => link.text); - expect(navLinks).to.eql(['Overview', 'Maps']); + expect(navLinks).to.eql(['Maps']); }); it(`does not show create new button`, async () => { diff --git a/x-pack/test/functional/apps/visualize/feature_controls/visualize_security.ts b/x-pack/test/functional/apps/visualize/feature_controls/visualize_security.ts index 7bfae9ba36be42..d089ab47c0cf71 100644 --- a/x-pack/test/functional/apps/visualize/feature_controls/visualize_security.ts +++ b/x-pack/test/functional/apps/visualize/feature_controls/visualize_security.ts @@ -214,7 +214,7 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { it('shows visualize navlink', async () => { const navLinks = (await appsMenu.readLinks()).map((link) => link.text); - expect(navLinks).to.eql(['Overview', 'Visualize Library']); + expect(navLinks).to.eql(['Visualize Library']); }); it(`landing page shows "Create new Visualization" button`, async () => { @@ -329,7 +329,7 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { it('shows visualize navlink', async () => { const navLinks = (await appsMenu.readLinks()).map((link) => link.text); - expect(navLinks).to.eql(['Overview', 'Visualize Library']); + expect(navLinks).to.eql(['Visualize Library']); }); it(`landing page shows "Create new Visualization" button`, async () => { From 157a37114fba5b1e88c018492e733ed66c29b231 Mon Sep 17 00:00:00 2001 From: Julia Bardi <90178898+juliaElastic@users.noreply.github.com> Date: Tue, 2 Nov 2021 15:14:28 +0100 Subject: [PATCH 067/110] [Fleet] cypress setup (#113106) * added cypress setup for fleet * updated readme * fixed types * fix unused * starting up fleet server in cypress * added more fleet tests * added package update test * updated readme * trying jenkins run * trying jenkins run * trying jenkins run * fix types, cypress config * example of mocked requests * added getBySel * fix test after refactor * removed duplication * fix tests * added to buildkite * updated tests * starting agent with docker * trying to fix ip address * ifconfig * ip address * ip address * ip address * type fix * remove extra logging * fixed test * fix buildkite * cleanup * cleanup * using docker for fleet_server * fix * fix * trying to fix * update config * test * test * test * test * revert changes * test * test * static ip on linux * docker version * try again * fixed review comments * fixed types Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> Co-authored-by: Patryk Kopycinski --- .../pipelines/pull_request/fleet_cypress.yml | 11 + .../pipelines/pull_request/pipeline.js | 10 + .../scripts/steps/functional/fleet_cypress.sh | 20 + .gitignore | 5 + src/dev/typescript/projects.ts | 3 + test/scripts/jenkins_fleet_cypress.sh | 15 + vars/tasks.groovy | 8 + x-pack/plugins/fleet/.gitignore | 0 x-pack/plugins/fleet/cypress/README.md | 148 +++ x-pack/plugins/fleet/cypress/cypress.json | 19 + .../fixtures/integrations/agent_policies.json | 978 +++++++++++++++ .../fixtures/integrations/agent_policy.json | 644 ++++++++++ .../cypress/fixtures/integrations/apache.json | 1059 +++++++++++++++++ .../create_integration_response.json | 255 ++++ .../cypress/fixtures/integrations/list.json | 260 ++++ .../cypress/integration/fleet_startup.spec.ts | 33 + .../cypress/integration/integrations.spec.ts | 96 ++ x-pack/plugins/fleet/cypress/plugins/index.ts | 28 + x-pack/plugins/fleet/cypress/screens/fleet.ts | 11 + .../fleet/cypress/screens/integrations.ts | 25 + .../fleet/cypress/screens/navigation.ts | 8 + .../plugins/fleet/cypress/support/commands.ts | 17 + x-pack/plugins/fleet/cypress/support/index.ts | 47 + .../fleet/cypress/tasks/integrations.ts | 58 + .../plugins/fleet/cypress/tasks/navigation.ts | 19 + x-pack/plugins/fleet/cypress/tsconfig.json | 17 + x-pack/plugins/fleet/package.json | 8 +- .../components/search_and_filter_bar.tsx | 1 + .../detail/policies/package_policies.tsx | 2 +- .../epm/screens/detail/settings/settings.tsx | 4 +- .../screens/detail/settings/update_button.tsx | 1 + x-pack/scripts/functional_tests_server.js | 0 x-pack/test/fleet_cypress/agent.ts | 114 ++ x-pack/test/fleet_cypress/artifact_manager.ts | 14 + x-pack/test/fleet_cypress/cli_config.ts | 19 + x-pack/test/fleet_cypress/config.ts | 44 + x-pack/test/fleet_cypress/fleet_server.ts | 83 ++ .../fleet_cypress/ftr_provider_context.d.ts | 12 + x-pack/test/fleet_cypress/resource_manager.ts | 24 + x-pack/test/fleet_cypress/runner.ts | 105 ++ x-pack/test/fleet_cypress/services.ts | 8 + x-pack/test/fleet_cypress/visual_config.ts | 19 + 42 files changed, 4248 insertions(+), 4 deletions(-) create mode 100644 .buildkite/pipelines/pull_request/fleet_cypress.yml create mode 100755 .buildkite/scripts/steps/functional/fleet_cypress.sh create mode 100755 test/scripts/jenkins_fleet_cypress.sh create mode 100644 x-pack/plugins/fleet/.gitignore create mode 100644 x-pack/plugins/fleet/cypress/README.md create mode 100644 x-pack/plugins/fleet/cypress/cypress.json create mode 100644 x-pack/plugins/fleet/cypress/fixtures/integrations/agent_policies.json create mode 100644 x-pack/plugins/fleet/cypress/fixtures/integrations/agent_policy.json create mode 100644 x-pack/plugins/fleet/cypress/fixtures/integrations/apache.json create mode 100644 x-pack/plugins/fleet/cypress/fixtures/integrations/create_integration_response.json create mode 100644 x-pack/plugins/fleet/cypress/fixtures/integrations/list.json create mode 100644 x-pack/plugins/fleet/cypress/integration/fleet_startup.spec.ts create mode 100644 x-pack/plugins/fleet/cypress/integration/integrations.spec.ts create mode 100644 x-pack/plugins/fleet/cypress/plugins/index.ts create mode 100644 x-pack/plugins/fleet/cypress/screens/fleet.ts create mode 100644 x-pack/plugins/fleet/cypress/screens/integrations.ts create mode 100644 x-pack/plugins/fleet/cypress/screens/navigation.ts create mode 100644 x-pack/plugins/fleet/cypress/support/commands.ts create mode 100644 x-pack/plugins/fleet/cypress/support/index.ts create mode 100644 x-pack/plugins/fleet/cypress/tasks/integrations.ts create mode 100644 x-pack/plugins/fleet/cypress/tasks/navigation.ts create mode 100644 x-pack/plugins/fleet/cypress/tsconfig.json mode change 100644 => 100755 x-pack/scripts/functional_tests_server.js create mode 100644 x-pack/test/fleet_cypress/agent.ts create mode 100644 x-pack/test/fleet_cypress/artifact_manager.ts create mode 100644 x-pack/test/fleet_cypress/cli_config.ts create mode 100644 x-pack/test/fleet_cypress/config.ts create mode 100644 x-pack/test/fleet_cypress/fleet_server.ts create mode 100644 x-pack/test/fleet_cypress/ftr_provider_context.d.ts create mode 100644 x-pack/test/fleet_cypress/resource_manager.ts create mode 100644 x-pack/test/fleet_cypress/runner.ts create mode 100644 x-pack/test/fleet_cypress/services.ts create mode 100644 x-pack/test/fleet_cypress/visual_config.ts diff --git a/.buildkite/pipelines/pull_request/fleet_cypress.yml b/.buildkite/pipelines/pull_request/fleet_cypress.yml new file mode 100644 index 00000000000000..bfaa3faae7783b --- /dev/null +++ b/.buildkite/pipelines/pull_request/fleet_cypress.yml @@ -0,0 +1,11 @@ +steps: + - command: .buildkite/scripts/steps/functional/fleet_cypress.sh + label: 'Fleet Cypress Tests' + agents: + queue: ci-group-6 + depends_on: build + timeout_in_minutes: 120 + retry: + automatic: + - exit_status: '*' + limit: 1 diff --git a/.buildkite/scripts/pipelines/pull_request/pipeline.js b/.buildkite/scripts/pipelines/pull_request/pipeline.js index c5ed216042b680..d0f38dc773357e 100644 --- a/.buildkite/scripts/pipelines/pull_request/pipeline.js +++ b/.buildkite/scripts/pipelines/pull_request/pipeline.js @@ -76,6 +76,16 @@ const uploadPipeline = (pipelineContent) => { pipeline.push(getPipeline('.buildkite/pipelines/pull_request/apm_cypress.yml')); } + if ( + (await doAnyChangesMatch([ + /^x-pack\/plugins\/fleet/, + /^x-pack\/test\/fleet_cypress/, + ])) || + process.env.GITHUB_PR_LABELS.includes('ci:all-cypress-suites') + ) { + pipeline.push(getPipeline('.buildkite/pipelines/pull_request/fleet_cypress.yml')); + } + if (await doAnyChangesMatch([/^x-pack\/plugins\/uptime/])) { pipeline.push(getPipeline('.buildkite/pipelines/pull_request/uptime.yml')); } diff --git a/.buildkite/scripts/steps/functional/fleet_cypress.sh b/.buildkite/scripts/steps/functional/fleet_cypress.sh new file mode 100755 index 00000000000000..3847ffda088229 --- /dev/null +++ b/.buildkite/scripts/steps/functional/fleet_cypress.sh @@ -0,0 +1,20 @@ +#!/usr/bin/env bash + +set -euo pipefail + +source .buildkite/scripts/common/util.sh + +.buildkite/scripts/bootstrap.sh +.buildkite/scripts/download_build_artifacts.sh + +export JOB=kibana-fleet-cypress + +echo "--- Fleet Cypress tests" + +cd "$XPACK_DIR" + +checks-reporter-with-killswitch "Fleet Cypress Tests" \ + node scripts/functional_tests \ + --debug --bail \ + --kibana-install-dir "$KIBANA_BUILD_LOCATION" \ + --config test/fleet_cypress/cli_config.ts diff --git a/.gitignore b/.gitignore index 32c77b20ef2045..c08ae529c2c36d 100644 --- a/.gitignore +++ b/.gitignore @@ -86,3 +86,8 @@ report.asciidoc /bazel /bazel-* .bazelrc.user + +elastic-agent-* +fleet-server-* +elastic-agent.yml +fleet-server.yml \ No newline at end of file diff --git a/src/dev/typescript/projects.ts b/src/dev/typescript/projects.ts index de432b51c0bbfd..e5657dd4663a38 100644 --- a/src/dev/typescript/projects.ts +++ b/src/dev/typescript/projects.ts @@ -63,6 +63,9 @@ export const PROJECTS = [ name: 'apm/ftr_e2e', disableTypeCheck: true, }), + createProject('x-pack/plugins/fleet/cypress/tsconfig.json', { + name: 'fleet/cypress', + }), createProject('x-pack/plugins/uptime/e2e/tsconfig.json', { name: 'uptime/synthetics-e2e-tests', diff --git a/test/scripts/jenkins_fleet_cypress.sh b/test/scripts/jenkins_fleet_cypress.sh new file mode 100755 index 00000000000000..085c78cbf0a412 --- /dev/null +++ b/test/scripts/jenkins_fleet_cypress.sh @@ -0,0 +1,15 @@ +#!/usr/bin/env bash + +source test/scripts/jenkins_test_setup_xpack.sh + +echo " -> Running fleet cypress tests" +cd "$XPACK_DIR" + +checks-reporter-with-killswitch "Fleet Cypress Tests" \ + node scripts/functional_tests \ + --debug --bail \ + --kibana-install-dir "$KIBANA_INSTALL_DIR" \ + --config test/fleet_cypress/cli_config.ts + +echo "" +echo "" diff --git a/vars/tasks.groovy b/vars/tasks.groovy index 050b62646fb3bc..c6d926287750c9 100644 --- a/vars/tasks.groovy +++ b/vars/tasks.groovy @@ -164,6 +164,14 @@ def functionalXpack(Map params = [:]) { task(kibanaPipeline.functionalTestProcess('xpack-UptimePlaywright', './test/scripts/jenkins_uptime_playwright.sh')) } } + + whenChanged([ + 'x-pack/plugins/fleet/', + ]) { + if (githubPr.isPr()) { + task(kibanaPipeline.functionalTestProcess('xpack-FleetCypress', './test/scripts/jenkins_fleet_cypress.sh')) + } + } } } diff --git a/x-pack/plugins/fleet/.gitignore b/x-pack/plugins/fleet/.gitignore new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/x-pack/plugins/fleet/cypress/README.md b/x-pack/plugins/fleet/cypress/README.md new file mode 100644 index 00000000000000..085ed7533e036e --- /dev/null +++ b/x-pack/plugins/fleet/cypress/README.md @@ -0,0 +1,148 @@ +# Cypress Tests + +The `fleet/cypress` directory contains functional UI tests that execute using [Cypress](https://www.cypress.io/). + +## Running the tests + +There are currently three ways to run the tests, comprised of two execution modes and two target environments, which will be detailed below. + +### Execution modes + +#### Interactive mode + +When you run Cypress in interactive mode, an interactive runner is displayed that allows you to see commands as they execute while also viewing the application under test. For more information, please see [cypress documentation](https://docs.cypress.io/guides/core-concepts/test-runner.html#Overview). + +#### Headless mode + +A headless browser is a browser simulation program that does not have a user interface. These programs operate like any other browser, but do not display any UI. This is why meanwhile you are executing the tests on this mode you are not going to see the application under test. Just the output of the test is displayed on the terminal once the execution is finished. + +### Target environments + +#### FTR (CI) + +This is the configuration used by CI. It uses the FTR to spawn both a Kibana instance (http://localhost:5620) and an Elasticsearch instance (http://localhost:9220) with a preloaded minimum set of data (see preceding "Test data" section), and then executes cypress against this stack. You can find this configuration in `x-pack/test/fleet_cypress` + +### Test Execution: Examples + +#### FTR + Headless (Chrome) + +Since this is how tests are run on CI, this will likely be the configuration you want to reproduce failures locally, etc. + +```shell +# bootstrap kibana from the project root +yarn kbn bootstrap + +# build the plugins/assets that cypress will execute against +node scripts/build_kibana_platform_plugins + +# launch the cypress test runner +cd x-pack/plugins/fleet +yarn cypress:run-as-ci +``` +#### FTR + Interactive + +This is the preferred mode for developing new tests. + +```shell +# bootstrap kibana from the project root +yarn kbn bootstrap + +# build the plugins/assets that cypress will execute against +node scripts/build_kibana_platform_plugins + +# launch the cypress test runner +cd x-pack/plugins/fleet +yarn cypress:open-as-ci +``` + +Alternatively, kibana test server can be started separately, to pick up changes in UI (e.g. change in data-test-subj selector) + +``` +# launch kibana test server +node scripts/functional_tests_server --config x-pack/test/fleet_cypress/config.ts + +# launch cypress runner +node scripts/functional_test_runner --config x-pack/test/fleet_cypress/visual_config.ts +``` + +Note that you can select the browser you want to use on the top right side of the interactive runner. + +## Folder Structure + +### integration/ + +Cypress convention. Contains the specs that are going to be executed. + +### fixtures/ + +Cypress convention. Fixtures are used as external pieces of static data when we stub responses. + +### plugins/ + +Cypress convention. As a convenience, by default Cypress will automatically include the plugins file cypress/plugins/index.js before every single spec file it runs. + +### screens/ + +Contains the elements we want to interact with in our tests. + +Each file inside the screens folder represents a screen in our application. + +### tasks/ + +_Tasks_ are functions that may be reused across tests. + +Each file inside the tasks folder represents a screen of our application. + +## Test data + +The data the tests need: + +- Is generated on the fly using our application APIs (preferred way) +- Is ingested on the ELS instance using the `es_archive` utility + +### How to generate a new archive + +**Note:** As mentioned above, archives are only meant to contain external data, e.g. beats data. Due to the tendency for archived domain objects (rules, signals) to quickly become out of date, it is strongly suggested that you generate this data within the test, through interaction with either the UI or the API. + +We use es_archiver to manage the data that our Cypress tests need. + +1. Set up a clean instance of kibana and elasticsearch (if this is not possible, try to clean/minimize the data that you are going to archive). +2. With the kibana and elasticsearch instance up and running, create the data that you need for your test. +3. When you are sure that you have all the data you need run the following command from: `x-pack/plugins/fleet` + +```sh +node ../../../scripts/es_archiver save --dir ../../test/fleet_cypress/es_archives --config ../../../test/functional/config.js --es-url http://:@: +``` + +Example: + +```sh +node ../../../scripts/es_archiver save custom_rules ".kibana",".siem-signal*" --dir ../../test/fleet_cypress/es_archives --config ../../../test/functional/config.js --es-url http://elastic:changeme@localhost:9220 +``` + +Note that the command will create the folder if it does not exist. + +## Development Best Practices + +### Clean up the state + +Remember to clean up the state of the test after its execution, typically with the `cleanKibana` function. Be mindful of failure scenarios, as well: if your test fails, will it leave the environment in a recoverable state? + +### Minimize the use of es_archive + +When possible, create all the data that you need for executing the tests using the application APIS or the UI. + +### Speed up test execution time + +Loading the web page takes a big amount of time, in order to minimize that impact, the following points should be +taken into consideration until another solution is implemented: + +- Group the tests that are similar in different contexts. +- For every context login only once, clean the state between tests if needed without re-loading the page. +- All tests in a spec file must be order-independent. + +Remember that minimizing the number of times the web page is loaded, we minimize as well the execution time. + +## Linting + +Optional linting rules for Cypress and linting setup can be found [here](https://github.com/cypress-io/eslint-plugin-cypress#usage) diff --git a/x-pack/plugins/fleet/cypress/cypress.json b/x-pack/plugins/fleet/cypress/cypress.json new file mode 100644 index 00000000000000..158001b045561a --- /dev/null +++ b/x-pack/plugins/fleet/cypress/cypress.json @@ -0,0 +1,19 @@ +{ + "baseUrl": "http://localhost:5620", + "defaultCommandTimeout": 60000, + "requestTimeout": 60000, + "responseTimetout": 60000, + "execTimeout": 120000, + "pageLoadTimeout": 120000, + "nodeVersion": "system", + "retries": { + "runMode": 2 + }, + "screenshotsFolder": "../../../target/kibana-fleet/cypress/screenshots", + "trashAssetsBeforeRuns": false, + "video": false, + "videosFolder": "../../../target/kibana-fleet/cypress/videos", + "viewportHeight": 900, + "viewportWidth": 1440, + "screenshotOnRunFailure": true +} diff --git a/x-pack/plugins/fleet/cypress/fixtures/integrations/agent_policies.json b/x-pack/plugins/fleet/cypress/fixtures/integrations/agent_policies.json new file mode 100644 index 00000000000000..ba1360e11a21d4 --- /dev/null +++ b/x-pack/plugins/fleet/cypress/fixtures/integrations/agent_policies.json @@ -0,0 +1,978 @@ +{ + "items": [ + { + "id": "30e16140-2106-11ec-a289-25321523992d", + "namespace": "default", + "monitoring_enabled": [ + "logs", + "metrics" + ], + "name": "Default policy", + "description": "Default agent policy created by Kibana", + "is_default": true, + "is_preconfigured": true, + "status": "active", + "is_managed": false, + "revision": 4, + "updated_at": "2021-09-29T09:52:13.879Z", + "updated_by": "elastic", + "package_policies": [ + { + "id": "15785537-fdf2-4e38-bd49-ae0537bbe162", + "version": "WzU5NSwxXQ==", + "name": "system-1", + "namespace": "default", + "package": { + "name": "system", + "title": "System", + "version": "1.4.0" + }, + "enabled": true, + "policy_id": "30e16140-2106-11ec-a289-25321523992d", + "output_id": "1ffdf460-2106-11ec-a289-25321523992d", + "inputs": [ + { + "type": "logfile", + "policy_template": "system", + "enabled": true, + "streams": [ + { + "enabled": true, + "data_stream": { + "type": "logs", + "dataset": "system.auth" + }, + "vars": { + "paths": { + "value": [ + "/var/log/auth.log*", + "/var/log/secure*" + ], + "type": "text" + } + }, + "id": "logfile-system.auth-15785537-fdf2-4e38-bd49-ae0537bbe162", + "compiled_stream": { + "paths": [ + "/var/log/auth.log*", + "/var/log/secure*" + ], + "exclude_files": [ + ".gz$" + ], + "multiline": { + "pattern": "^\\s", + "match": "after" + }, + "processors": [ + { + "add_locale": null + } + ] + } + }, + { + "enabled": true, + "data_stream": { + "type": "logs", + "dataset": "system.syslog" + }, + "vars": { + "paths": { + "value": [ + "/var/log/messages*", + "/var/log/syslog*" + ], + "type": "text" + } + }, + "id": "logfile-system.syslog-15785537-fdf2-4e38-bd49-ae0537bbe162", + "compiled_stream": { + "paths": [ + "/var/log/messages*", + "/var/log/syslog*" + ], + "exclude_files": [ + ".gz$" + ], + "multiline": { + "pattern": "^\\s", + "match": "after" + }, + "processors": [ + { + "add_locale": null + } + ] + } + } + ] + }, + { + "type": "winlog", + "policy_template": "system", + "enabled": true, + "streams": [ + { + "enabled": true, + "data_stream": { + "type": "logs", + "dataset": "system.application" + }, + "vars": { + "event_id": { + "type": "text" + }, + "processors": { + "type": "yaml" + }, + "tags": { + "value": [], + "type": "text" + } + }, + "id": "winlog-system.application-15785537-fdf2-4e38-bd49-ae0537bbe162", + "compiled_stream": { + "name": "Application", + "condition": "${host.platform} == 'windows'", + "ignore_older": "72h", + "tags": null + } + }, + { + "enabled": true, + "data_stream": { + "type": "logs", + "dataset": "system.security" + }, + "vars": { + "event_id": { + "type": "text" + }, + "processors": { + "type": "yaml" + }, + "tags": { + "value": [], + "type": "text" + } + }, + "id": "winlog-system.security-15785537-fdf2-4e38-bd49-ae0537bbe162", + "compiled_stream": { + "name": "Security", + "condition": "${host.platform} == 'windows'", + "tags": null + } + }, + { + "enabled": true, + "data_stream": { + "type": "logs", + "dataset": "system.system" + }, + "vars": { + "event_id": { + "type": "text" + }, + "processors": { + "type": "yaml" + }, + "tags": { + "value": [], + "type": "text" + } + }, + "id": "winlog-system.system-15785537-fdf2-4e38-bd49-ae0537bbe162", + "compiled_stream": { + "name": "System", + "condition": "${host.platform} == 'windows'", + "tags": null + } + } + ], + "vars": { + "preserve_original_event": { + "value": false, + "type": "bool" + } + } + }, + { + "type": "system/metrics", + "policy_template": "system", + "enabled": true, + "streams": [ + { + "enabled": false, + "data_stream": { + "type": "metrics", + "dataset": "system.core" + }, + "vars": { + "period": { + "value": "10s", + "type": "text" + }, + "core.metrics": { + "value": [ + "percentages" + ], + "type": "text" + } + }, + "id": "system/metrics-system.core-15785537-fdf2-4e38-bd49-ae0537bbe162" + }, + { + "enabled": true, + "data_stream": { + "type": "metrics", + "dataset": "system.cpu" + }, + "vars": { + "period": { + "value": "10s", + "type": "text" + }, + "cpu.metrics": { + "value": [ + "percentages", + "normalized_percentages" + ], + "type": "text" + } + }, + "id": "system/metrics-system.cpu-15785537-fdf2-4e38-bd49-ae0537bbe162", + "compiled_stream": { + "metricsets": [ + "cpu" + ], + "cpu.metrics": [ + "percentages", + "normalized_percentages" + ], + "period": "10s" + } + }, + { + "enabled": true, + "data_stream": { + "type": "metrics", + "dataset": "system.diskio" + }, + "vars": { + "period": { + "value": "10s", + "type": "text" + }, + "diskio.include_devices": { + "value": [], + "type": "text" + } + }, + "id": "system/metrics-system.diskio-15785537-fdf2-4e38-bd49-ae0537bbe162", + "compiled_stream": { + "metricsets": [ + "diskio" + ], + "diskio.include_devices": null, + "period": "10s" + } + }, + { + "enabled": true, + "data_stream": { + "type": "metrics", + "dataset": "system.filesystem" + }, + "vars": { + "period": { + "value": "1m", + "type": "text" + }, + "processors": { + "value": "- drop_event.when.regexp:\n system.filesystem.mount_point: ^/(sys|cgroup|proc|dev|etc|host|lib|snap)($|/)\n", + "type": "yaml" + } + }, + "id": "system/metrics-system.filesystem-15785537-fdf2-4e38-bd49-ae0537bbe162", + "compiled_stream": { + "metricsets": [ + "filesystem" + ], + "period": "1m", + "processors": [ + { + "drop_event.when.regexp": { + "system.filesystem.mount_point": "^/(sys|cgroup|proc|dev|etc|host|lib|snap)($|/)" + } + } + ] + } + }, + { + "enabled": true, + "data_stream": { + "type": "metrics", + "dataset": "system.fsstat" + }, + "vars": { + "period": { + "value": "1m", + "type": "text" + }, + "processors": { + "value": "- drop_event.when.regexp:\n system.fsstat.mount_point: ^/(sys|cgroup|proc|dev|etc|host|lib|snap)($|/)\n", + "type": "yaml" + } + }, + "id": "system/metrics-system.fsstat-15785537-fdf2-4e38-bd49-ae0537bbe162", + "compiled_stream": { + "metricsets": [ + "fsstat" + ], + "period": "1m", + "processors": [ + { + "drop_event.when.regexp": { + "system.fsstat.mount_point": "^/(sys|cgroup|proc|dev|etc|host|lib|snap)($|/)" + } + } + ] + } + }, + { + "enabled": true, + "data_stream": { + "type": "metrics", + "dataset": "system.load" + }, + "vars": { + "period": { + "value": "10s", + "type": "text" + } + }, + "id": "system/metrics-system.load-15785537-fdf2-4e38-bd49-ae0537bbe162", + "compiled_stream": { + "metricsets": [ + "load" + ], + "condition": "${host.platform} != 'windows'", + "period": "10s" + } + }, + { + "enabled": true, + "data_stream": { + "type": "metrics", + "dataset": "system.memory" + }, + "vars": { + "period": { + "value": "10s", + "type": "text" + } + }, + "id": "system/metrics-system.memory-15785537-fdf2-4e38-bd49-ae0537bbe162", + "compiled_stream": { + "metricsets": [ + "memory" + ], + "period": "10s" + } + }, + { + "enabled": true, + "data_stream": { + "type": "metrics", + "dataset": "system.network" + }, + "vars": { + "period": { + "value": "10s", + "type": "text" + }, + "network.interfaces": { + "value": [], + "type": "text" + } + }, + "id": "system/metrics-system.network-15785537-fdf2-4e38-bd49-ae0537bbe162", + "compiled_stream": { + "metricsets": [ + "network" + ], + "period": "10s", + "network.interfaces": null + } + }, + { + "enabled": true, + "data_stream": { + "type": "metrics", + "dataset": "system.process" + }, + "vars": { + "period": { + "value": "10s", + "type": "text" + }, + "process.include_top_n.by_cpu": { + "value": 5, + "type": "integer" + }, + "process.include_top_n.by_memory": { + "value": 5, + "type": "integer" + }, + "process.cmdline.cache.enabled": { + "value": true, + "type": "bool" + }, + "process.cgroups.enabled": { + "value": false, + "type": "bool" + }, + "process.env.whitelist": { + "value": [], + "type": "text" + }, + "process.include_cpu_ticks": { + "value": false, + "type": "bool" + }, + "processes": { + "value": [ + ".*" + ], + "type": "text" + } + }, + "id": "system/metrics-system.process-15785537-fdf2-4e38-bd49-ae0537bbe162", + "compiled_stream": { + "metricsets": [ + "process" + ], + "period": "10s", + "process.include_top_n.by_cpu": 5, + "process.include_top_n.by_memory": 5, + "process.cmdline.cache.enabled": true, + "process.cgroups.enabled": false, + "process.include_cpu_ticks": false, + "processes": [ + ".*" + ] + } + }, + { + "enabled": true, + "data_stream": { + "type": "metrics", + "dataset": "system.process.summary" + }, + "vars": { + "period": { + "value": "10s", + "type": "text" + } + }, + "id": "system/metrics-system.process.summary-15785537-fdf2-4e38-bd49-ae0537bbe162", + "compiled_stream": { + "metricsets": [ + "process_summary" + ], + "period": "10s" + } + }, + { + "enabled": true, + "data_stream": { + "type": "metrics", + "dataset": "system.socket_summary" + }, + "vars": { + "period": { + "value": "10s", + "type": "text" + } + }, + "id": "system/metrics-system.socket_summary-15785537-fdf2-4e38-bd49-ae0537bbe162", + "compiled_stream": { + "metricsets": [ + "socket_summary" + ], + "period": "10s" + } + }, + { + "enabled": true, + "data_stream": { + "type": "metrics", + "dataset": "system.uptime" + }, + "vars": { + "period": { + "value": "10s", + "type": "text" + } + }, + "id": "system/metrics-system.uptime-15785537-fdf2-4e38-bd49-ae0537bbe162", + "compiled_stream": { + "metricsets": [ + "uptime" + ], + "period": "10s" + } + } + ], + "vars": { + "system.hostfs": { + "type": "text" + } + } + }, + { + "type": "httpjson", + "policy_template": "system", + "enabled": false, + "streams": [ + { + "enabled": false, + "data_stream": { + "type": "logs", + "dataset": "system.application" + }, + "vars": { + "interval": { + "value": "10s", + "type": "text" + }, + "search": { + "value": "search sourcetype=\"XmlWinEventLog:Application\"", + "type": "text" + }, + "tags": { + "value": [ + "forwarded" + ], + "type": "text" + } + }, + "id": "httpjson-system.application-15785537-fdf2-4e38-bd49-ae0537bbe162" + }, + { + "enabled": false, + "data_stream": { + "type": "logs", + "dataset": "system.security" + }, + "vars": { + "interval": { + "value": "10s", + "type": "text" + }, + "search": { + "value": "search sourcetype=\"XmlWinEventLog:Security\"", + "type": "text" + }, + "tags": { + "value": [ + "forwarded" + ], + "type": "text" + } + }, + "id": "httpjson-system.security-15785537-fdf2-4e38-bd49-ae0537bbe162" + }, + { + "enabled": false, + "data_stream": { + "type": "logs", + "dataset": "system.system" + }, + "vars": { + "interval": { + "value": "10s", + "type": "text" + }, + "search": { + "value": "search sourcetype=\"XmlWinEventLog:System\"", + "type": "text" + }, + "tags": { + "value": [ + "forwarded" + ], + "type": "text" + } + }, + "id": "httpjson-system.system-15785537-fdf2-4e38-bd49-ae0537bbe162" + } + ], + "vars": { + "url": { + "value": "https://server.example.com:8089", + "type": "text" + }, + "username": { + "type": "text" + }, + "password": { + "type": "password" + }, + "token": { + "type": "password" + }, + "preserve_original_event": { + "value": false, + "type": "bool" + }, + "ssl": { + "value": "#certificate_authorities:\n# - |\n# -----BEGIN CERTIFICATE-----\n# MIIDCjCCAfKgAwIBAgITJ706Mu2wJlKckpIvkWxEHvEyijANBgkqhkiG9w0BAQsF\n# ADAUMRIwEAYDVQQDDAlsb2NhbGhvc3QwIBcNMTkwNzIyMTkyOTA0WhgPMjExOTA2\n# MjgxOTI5MDRaMBQxEjAQBgNVBAMMCWxvY2FsaG9zdDCCASIwDQYJKoZIhvcNAQEB\n# BQADggEPADCCAQoCggEBANce58Y/JykI58iyOXpxGfw0/gMvF0hUQAcUrSMxEO6n\n# fZRA49b4OV4SwWmA3395uL2eB2NB8y8qdQ9muXUdPBWE4l9rMZ6gmfu90N5B5uEl\n# 94NcfBfYOKi1fJQ9i7WKhTjlRkMCgBkWPkUokvBZFRt8RtF7zI77BSEorHGQCk9t\n# /D7BS0GJyfVEhftbWcFEAG3VRcoMhF7kUzYwp+qESoriFRYLeDWv68ZOvG7eoWnP\n# PsvZStEVEimjvK5NSESEQa9xWyJOmlOKXhkdymtcUd/nXnx6UTCFgnkgzSdTWV41\n# CI6B6aJ9svCTI2QuoIq2HxX/ix7OvW1huVmcyHVxyUECAwEAAaNTMFEwHQYDVR0O\n# BBYEFPwN1OceFGm9v6ux8G+DZ3TUDYxqMB8GA1UdIwQYMBaAFPwN1OceFGm9v6ux\n# 8G+DZ3TUDYxqMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAG5D\n# 874A4YI7YUwOVsVAdbWtgp1d0zKcPRR+r2OdSbTAV5/gcS3jgBJ3i1BN34JuDVFw\n# 3DeJSYT3nxy2Y56lLnxDeF8CUTUtVQx3CuGkRg1ouGAHpO/6OqOhwLLorEmxi7tA\n# H2O8mtT0poX5AnOAhzVy7QW0D/k4WaoLyckM5hUa6RtvgvLxOwA0U+VGurCDoctu\n# 8F4QOgTAWyh8EZIwaKCliFRSynDpv3JTUwtfZkxo6K6nce1RhCWFAsMvDZL8Dgc0\n# yvgJ38BRsFOtkRuAGSf6ZUwTO8JJRRIFnpUzXflAnGivK9M13D5GEQMmIl6U9Pvk\n# sxSmbIUfc2SGJGCJD4I=\n# -----END CERTIFICATE-----\n", + "type": "yaml" + } + } + } + ], + "revision": 1, + "created_at": "2021-09-29T09:18:23.207Z", + "created_by": "system", + "updated_at": "2021-09-29T09:18:23.207Z", + "updated_by": "system" + }, + { + "id": "63172a6b-4f00-4376-b5e6-fe9b3f00fc79", + "version": "WzczOSwxXQ==", + "name": "apache-1", + "description": "", + "namespace": "default", + "policy_id": "30e16140-2106-11ec-a289-25321523992d", + "enabled": true, + "output_id": "", + "inputs": [ + { + "type": "logfile", + "policy_template": "apache", + "enabled": true, + "streams": [ + { + "enabled": true, + "data_stream": { + "type": "logs", + "dataset": "apache.access" + }, + "vars": { + "paths": { + "value": [ + "/var/log/apache2/access.log*", + "/var/log/apache2/other_vhosts_access.log*", + "/var/log/httpd/access_log*" + ], + "type": "text" + }, + "tags": { + "value": [ + "apache-access" + ], + "type": "text" + }, + "preserve_original_event": { + "value": false, + "type": "bool" + }, + "processors": { + "type": "yaml" + } + }, + "id": "logfile-apache.access-63172a6b-4f00-4376-b5e6-fe9b3f00fc79", + "compiled_stream": { + "paths": [ + "/var/log/apache2/access.log*", + "/var/log/apache2/other_vhosts_access.log*", + "/var/log/httpd/access_log*" + ], + "tags": [ + "apache-access" + ], + "exclude_files": [ + ".gz$" + ] + } + }, + { + "enabled": true, + "data_stream": { + "type": "logs", + "dataset": "apache.error" + }, + "vars": { + "paths": { + "value": [ + "/var/log/apache2/error.log*", + "/var/log/httpd/error_log*" + ], + "type": "text" + }, + "tags": { + "value": [ + "apache-error" + ], + "type": "text" + }, + "preserve_original_event": { + "value": false, + "type": "bool" + }, + "processors": { + "type": "yaml" + } + }, + "id": "logfile-apache.error-63172a6b-4f00-4376-b5e6-fe9b3f00fc79", + "compiled_stream": { + "paths": [ + "/var/log/apache2/error.log*", + "/var/log/httpd/error_log*" + ], + "exclude_files": [ + ".gz$" + ], + "tags": [ + "apache-error" + ], + "processors": [ + { + "add_locale": null + } + ] + } + } + ] + }, + { + "type": "httpjson", + "policy_template": "apache", + "enabled": false, + "streams": [ + { + "enabled": false, + "data_stream": { + "type": "logs", + "dataset": "apache.access" + }, + "vars": { + "interval": { + "value": "10s", + "type": "text" + }, + "search": { + "value": "search sourcetype=\"access*\"", + "type": "text" + }, + "tags": { + "value": [ + "forwarded", + "apache-access" + ], + "type": "text" + }, + "preserve_original_event": { + "value": false, + "type": "bool" + }, + "processors": { + "type": "yaml" + } + }, + "id": "httpjson-apache.access-63172a6b-4f00-4376-b5e6-fe9b3f00fc79" + }, + { + "enabled": false, + "data_stream": { + "type": "logs", + "dataset": "apache.error" + }, + "vars": { + "interval": { + "value": "10s", + "type": "text" + }, + "search": { + "value": "search sourcetype=apache:error OR sourcetype=apache_error", + "type": "text" + }, + "tags": { + "value": [ + "forwarded", + "apache-error" + ], + "type": "text" + }, + "preserve_original_event": { + "value": false, + "type": "bool" + }, + "processors": { + "type": "yaml" + } + }, + "id": "httpjson-apache.error-63172a6b-4f00-4376-b5e6-fe9b3f00fc79" + } + ], + "vars": { + "url": { + "value": "https://server.example.com:8089", + "type": "text" + }, + "username": { + "type": "text" + }, + "password": { + "type": "password" + }, + "token": { + "type": "password" + }, + "ssl": { + "value": "#certificate_authorities:\n# - |\n# -----BEGIN CERTIFICATE-----\n# MIIDCjCCAfKgAwIBAgITJ706Mu2wJlKckpIvkWxEHvEyijANBgkqhkiG9w0BAQsF\n# ADAUMRIwEAYDVQQDDAlsb2NhbGhvc3QwIBcNMTkwNzIyMTkyOTA0WhgPMjExOTA2\n# MjgxOTI5MDRaMBQxEjAQBgNVBAMMCWxvY2FsaG9zdDCCASIwDQYJKoZIhvcNAQEB\n# BQADggEPADCCAQoCggEBANce58Y/JykI58iyOXpxGfw0/gMvF0hUQAcUrSMxEO6n\n# fZRA49b4OV4SwWmA3395uL2eB2NB8y8qdQ9muXUdPBWE4l9rMZ6gmfu90N5B5uEl\n# 94NcfBfYOKi1fJQ9i7WKhTjlRkMCgBkWPkUokvBZFRt8RtF7zI77BSEorHGQCk9t\n# /D7BS0GJyfVEhftbWcFEAG3VRcoMhF7kUzYwp+qESoriFRYLeDWv68ZOvG7eoWnP\n# PsvZStEVEimjvK5NSESEQa9xWyJOmlOKXhkdymtcUd/nXnx6UTCFgnkgzSdTWV41\n# CI6B6aJ9svCTI2QuoIq2HxX/ix7OvW1huVmcyHVxyUECAwEAAaNTMFEwHQYDVR0O\n# BBYEFPwN1OceFGm9v6ux8G+DZ3TUDYxqMB8GA1UdIwQYMBaAFPwN1OceFGm9v6ux\n# 8G+DZ3TUDYxqMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAG5D\n# 874A4YI7YUwOVsVAdbWtgp1d0zKcPRR+r2OdSbTAV5/gcS3jgBJ3i1BN34JuDVFw\n# 3DeJSYT3nxy2Y56lLnxDeF8CUTUtVQx3CuGkRg1ouGAHpO/6OqOhwLLorEmxi7tA\n# H2O8mtT0poX5AnOAhzVy7QW0D/k4WaoLyckM5hUa6RtvgvLxOwA0U+VGurCDoctu\n# 8F4QOgTAWyh8EZIwaKCliFRSynDpv3JTUwtfZkxo6K6nce1RhCWFAsMvDZL8Dgc0\n# yvgJ38BRsFOtkRuAGSf6ZUwTO8JJRRIFnpUzXflAnGivK9M13D5GEQMmIl6U9Pvk\n# sxSmbIUfc2SGJGCJD4I=\n# -----END CERTIFICATE-----\n", + "type": "yaml" + } + } + }, + { + "type": "apache/metrics", + "policy_template": "apache", + "enabled": true, + "streams": [ + { + "enabled": true, + "data_stream": { + "type": "metrics", + "dataset": "apache.status" + }, + "vars": { + "period": { + "value": "30s", + "type": "text" + }, + "server_status_path": { + "value": "/server-status", + "type": "text" + } + }, + "id": "apache/metrics-apache.status-63172a6b-4f00-4376-b5e6-fe9b3f00fc79", + "compiled_stream": { + "metricsets": [ + "status" + ], + "hosts": [ + "http://127.0.0.1" + ], + "period": "30s", + "server_status_path": "/server-status" + } + } + ], + "vars": { + "hosts": { + "value": [ + "http://127.0.0.1" + ], + "type": "text" + } + } + } + ], + "package": { + "name": "apache", + "title": "Apache", + "version": "1.1.0" + }, + "revision": 1, + "created_at": "2021-09-29T09:52:12.865Z", + "created_by": "elastic", + "updated_at": "2021-09-29T09:52:12.865Z", + "updated_by": "elastic" + } + ], + "agents": 1 + }, + { + "id": "30e16141-2106-11ec-a289-25321523992d", + "namespace": "default", + "monitoring_enabled": [ + "logs", + "metrics" + ], + "name": "Default Fleet Server policy", + "description": "Default Fleet Server agent policy created by Kibana", + "is_default": false, + "is_default_fleet_server": true, + "is_preconfigured": true, + "status": "active", + "is_managed": false, + "revision": 1, + "updated_at": "2021-09-29T09:18:25.581Z", + "updated_by": "system", + "package_policies": [ + { + "id": "3f79c8a2-ed32-45d9-a7e7-b58852f4cb7d", + "version": "WzU5NywxXQ==", + "name": "fleet_server-1", + "namespace": "default", + "package": { + "name": "fleet_server", + "title": "Fleet Server", + "version": "1.0.1" + }, + "enabled": true, + "policy_id": "30e16141-2106-11ec-a289-25321523992d", + "output_id": "1ffdf460-2106-11ec-a289-25321523992d", + "inputs": [ + { + "type": "fleet-server", + "policy_template": "fleet_server", + "enabled": true, + "streams": [], + "vars": { + "host": { + "value": [ + "0.0.0.0" + ], + "type": "text" + }, + "port": { + "value": [ + 8220 + ], + "type": "integer" + }, + "max_connections": { + "type": "integer" + }, + "custom": { + "value": "", + "type": "yaml" + } + }, + "compiled_input": { + "server": { + "port": 8220, + "host": "0.0.0.0" + } + } + } + ], + "revision": 1, + "created_at": "2021-09-29T09:18:25.204Z", + "created_by": "system", + "updated_at": "2021-09-29T09:18:25.204Z", + "updated_by": "system" + } + ], + "agents": 0 + } + ], + "total": 2, + "page": 1, + "perPage": 20 +} \ No newline at end of file diff --git a/x-pack/plugins/fleet/cypress/fixtures/integrations/agent_policy.json b/x-pack/plugins/fleet/cypress/fixtures/integrations/agent_policy.json new file mode 100644 index 00000000000000..aa6520f513acdc --- /dev/null +++ b/x-pack/plugins/fleet/cypress/fixtures/integrations/agent_policy.json @@ -0,0 +1,644 @@ +{ + "item": { + "id": "30e16140-2106-11ec-a289-25321523992d", + "namespace": "default", + "monitoring_enabled": [ + "logs", + "metrics" + ], + "name": "Default policy", + "description": "Default agent policy created by Kibana", + "is_default": true, + "is_preconfigured": true, + "status": "active", + "is_managed": false, + "revision": 1, + "updated_at": "2021-09-30T10:02:50.389Z", + "updated_by": "system", + "package_policies": [ + { + "id": "4243f6b9-6ce2-48ec-859a-b5df4baa7c11", + "version": "WzEyNjQsMV0=", + "name": "system-1", + "namespace": "default", + "package": { + "name": "system", + "title": "System", + "version": "1.4.0" + }, + "enabled": true, + "policy_id": "8f108d20-21d5-11ec-9dad-073c0cd6096b", + "output_id": "4f979e90-21d5-11ec-9dad-073c0cd6096b", + "inputs": [ + { + "type": "logfile", + "policy_template": "system", + "enabled": true, + "streams": [ + { + "enabled": true, + "data_stream": { + "type": "logs", + "dataset": "system.auth" + }, + "vars": { + "paths": { + "value": [ + "/var/log/auth.log*", + "/var/log/secure*" + ], + "type": "text" + } + }, + "id": "logfile-system.auth-4243f6b9-6ce2-48ec-859a-b5df4baa7c11", + "compiled_stream": { + "paths": [ + "/var/log/auth.log*", + "/var/log/secure*" + ], + "exclude_files": [ + ".gz$" + ], + "multiline": { + "pattern": "^\\s", + "match": "after" + }, + "processors": [ + { + "add_locale": null + } + ] + } + }, + { + "enabled": true, + "data_stream": { + "type": "logs", + "dataset": "system.syslog" + }, + "vars": { + "paths": { + "value": [ + "/var/log/messages*", + "/var/log/syslog*" + ], + "type": "text" + } + }, + "id": "logfile-system.syslog-4243f6b9-6ce2-48ec-859a-b5df4baa7c11", + "compiled_stream": { + "paths": [ + "/var/log/messages*", + "/var/log/syslog*" + ], + "exclude_files": [ + ".gz$" + ], + "multiline": { + "pattern": "^\\s", + "match": "after" + }, + "processors": [ + { + "add_locale": null + } + ] + } + } + ] + }, + { + "type": "winlog", + "policy_template": "system", + "enabled": true, + "streams": [ + { + "enabled": true, + "data_stream": { + "type": "logs", + "dataset": "system.application" + }, + "vars": { + "event_id": { + "type": "text" + }, + "processors": { + "type": "yaml" + }, + "tags": { + "value": [], + "type": "text" + } + }, + "id": "winlog-system.application-4243f6b9-6ce2-48ec-859a-b5df4baa7c11", + "compiled_stream": { + "name": "Application", + "condition": "${host.platform} == 'windows'", + "ignore_older": "72h", + "tags": null + } + }, + { + "enabled": true, + "data_stream": { + "type": "logs", + "dataset": "system.security" + }, + "vars": { + "event_id": { + "type": "text" + }, + "processors": { + "type": "yaml" + }, + "tags": { + "value": [], + "type": "text" + } + }, + "id": "winlog-system.security-4243f6b9-6ce2-48ec-859a-b5df4baa7c11", + "compiled_stream": { + "name": "Security", + "condition": "${host.platform} == 'windows'", + "tags": null + } + }, + { + "enabled": true, + "data_stream": { + "type": "logs", + "dataset": "system.system" + }, + "vars": { + "event_id": { + "type": "text" + }, + "processors": { + "type": "yaml" + }, + "tags": { + "value": [], + "type": "text" + } + }, + "id": "winlog-system.system-4243f6b9-6ce2-48ec-859a-b5df4baa7c11", + "compiled_stream": { + "name": "System", + "condition": "${host.platform} == 'windows'", + "tags": null + } + } + ], + "vars": { + "preserve_original_event": { + "value": false, + "type": "bool" + } + } + }, + { + "type": "system/metrics", + "policy_template": "system", + "enabled": true, + "streams": [ + { + "enabled": false, + "data_stream": { + "type": "metrics", + "dataset": "system.core" + }, + "vars": { + "period": { + "value": "10s", + "type": "text" + }, + "core.metrics": { + "value": [ + "percentages" + ], + "type": "text" + } + }, + "id": "system/metrics-system.core-4243f6b9-6ce2-48ec-859a-b5df4baa7c11" + }, + { + "enabled": true, + "data_stream": { + "type": "metrics", + "dataset": "system.cpu" + }, + "vars": { + "period": { + "value": "10s", + "type": "text" + }, + "cpu.metrics": { + "value": [ + "percentages", + "normalized_percentages" + ], + "type": "text" + } + }, + "id": "system/metrics-system.cpu-4243f6b9-6ce2-48ec-859a-b5df4baa7c11", + "compiled_stream": { + "metricsets": [ + "cpu" + ], + "cpu.metrics": [ + "percentages", + "normalized_percentages" + ], + "period": "10s" + } + }, + { + "enabled": true, + "data_stream": { + "type": "metrics", + "dataset": "system.diskio" + }, + "vars": { + "period": { + "value": "10s", + "type": "text" + }, + "diskio.include_devices": { + "value": [], + "type": "text" + } + }, + "id": "system/metrics-system.diskio-4243f6b9-6ce2-48ec-859a-b5df4baa7c11", + "compiled_stream": { + "metricsets": [ + "diskio" + ], + "diskio.include_devices": null, + "period": "10s" + } + }, + { + "enabled": true, + "data_stream": { + "type": "metrics", + "dataset": "system.filesystem" + }, + "vars": { + "period": { + "value": "1m", + "type": "text" + }, + "processors": { + "value": "- drop_event.when.regexp:\n system.filesystem.mount_point: ^/(sys|cgroup|proc|dev|etc|host|lib|snap)($|/)\n", + "type": "yaml" + } + }, + "id": "system/metrics-system.filesystem-4243f6b9-6ce2-48ec-859a-b5df4baa7c11", + "compiled_stream": { + "metricsets": [ + "filesystem" + ], + "period": "1m", + "processors": [ + { + "drop_event.when.regexp": { + "system.filesystem.mount_point": "^/(sys|cgroup|proc|dev|etc|host|lib|snap)($|/)" + } + } + ] + } + }, + { + "enabled": true, + "data_stream": { + "type": "metrics", + "dataset": "system.fsstat" + }, + "vars": { + "period": { + "value": "1m", + "type": "text" + }, + "processors": { + "value": "- drop_event.when.regexp:\n system.fsstat.mount_point: ^/(sys|cgroup|proc|dev|etc|host|lib|snap)($|/)\n", + "type": "yaml" + } + }, + "id": "system/metrics-system.fsstat-4243f6b9-6ce2-48ec-859a-b5df4baa7c11", + "compiled_stream": { + "metricsets": [ + "fsstat" + ], + "period": "1m", + "processors": [ + { + "drop_event.when.regexp": { + "system.fsstat.mount_point": "^/(sys|cgroup|proc|dev|etc|host|lib|snap)($|/)" + } + } + ] + } + }, + { + "enabled": true, + "data_stream": { + "type": "metrics", + "dataset": "system.load" + }, + "vars": { + "period": { + "value": "10s", + "type": "text" + } + }, + "id": "system/metrics-system.load-4243f6b9-6ce2-48ec-859a-b5df4baa7c11", + "compiled_stream": { + "metricsets": [ + "load" + ], + "condition": "${host.platform} != 'windows'", + "period": "10s" + } + }, + { + "enabled": true, + "data_stream": { + "type": "metrics", + "dataset": "system.memory" + }, + "vars": { + "period": { + "value": "10s", + "type": "text" + } + }, + "id": "system/metrics-system.memory-4243f6b9-6ce2-48ec-859a-b5df4baa7c11", + "compiled_stream": { + "metricsets": [ + "memory" + ], + "period": "10s" + } + }, + { + "enabled": true, + "data_stream": { + "type": "metrics", + "dataset": "system.network" + }, + "vars": { + "period": { + "value": "10s", + "type": "text" + }, + "network.interfaces": { + "value": [], + "type": "text" + } + }, + "id": "system/metrics-system.network-4243f6b9-6ce2-48ec-859a-b5df4baa7c11", + "compiled_stream": { + "metricsets": [ + "network" + ], + "period": "10s", + "network.interfaces": null + } + }, + { + "enabled": true, + "data_stream": { + "type": "metrics", + "dataset": "system.process" + }, + "vars": { + "period": { + "value": "10s", + "type": "text" + }, + "process.include_top_n.by_cpu": { + "value": 5, + "type": "integer" + }, + "process.include_top_n.by_memory": { + "value": 5, + "type": "integer" + }, + "process.cmdline.cache.enabled": { + "value": true, + "type": "bool" + }, + "process.cgroups.enabled": { + "value": false, + "type": "bool" + }, + "process.env.whitelist": { + "value": [], + "type": "text" + }, + "process.include_cpu_ticks": { + "value": false, + "type": "bool" + }, + "processes": { + "value": [ + ".*" + ], + "type": "text" + } + }, + "id": "system/metrics-system.process-4243f6b9-6ce2-48ec-859a-b5df4baa7c11", + "compiled_stream": { + "metricsets": [ + "process" + ], + "period": "10s", + "process.include_top_n.by_cpu": 5, + "process.include_top_n.by_memory": 5, + "process.cmdline.cache.enabled": true, + "process.cgroups.enabled": false, + "process.include_cpu_ticks": false, + "processes": [ + ".*" + ] + } + }, + { + "enabled": true, + "data_stream": { + "type": "metrics", + "dataset": "system.process.summary" + }, + "vars": { + "period": { + "value": "10s", + "type": "text" + } + }, + "id": "system/metrics-system.process.summary-4243f6b9-6ce2-48ec-859a-b5df4baa7c11", + "compiled_stream": { + "metricsets": [ + "process_summary" + ], + "period": "10s" + } + }, + { + "enabled": true, + "data_stream": { + "type": "metrics", + "dataset": "system.socket_summary" + }, + "vars": { + "period": { + "value": "10s", + "type": "text" + } + }, + "id": "system/metrics-system.socket_summary-4243f6b9-6ce2-48ec-859a-b5df4baa7c11", + "compiled_stream": { + "metricsets": [ + "socket_summary" + ], + "period": "10s" + } + }, + { + "enabled": true, + "data_stream": { + "type": "metrics", + "dataset": "system.uptime" + }, + "vars": { + "period": { + "value": "10s", + "type": "text" + } + }, + "id": "system/metrics-system.uptime-4243f6b9-6ce2-48ec-859a-b5df4baa7c11", + "compiled_stream": { + "metricsets": [ + "uptime" + ], + "period": "10s" + } + } + ], + "vars": { + "system.hostfs": { + "type": "text" + } + } + }, + { + "type": "httpjson", + "policy_template": "system", + "enabled": false, + "streams": [ + { + "enabled": false, + "data_stream": { + "type": "logs", + "dataset": "system.application" + }, + "vars": { + "interval": { + "value": "10s", + "type": "text" + }, + "search": { + "value": "search sourcetype=\"XmlWinEventLog:Application\"", + "type": "text" + }, + "tags": { + "value": [ + "forwarded" + ], + "type": "text" + } + }, + "id": "httpjson-system.application-4243f6b9-6ce2-48ec-859a-b5df4baa7c11" + }, + { + "enabled": false, + "data_stream": { + "type": "logs", + "dataset": "system.security" + }, + "vars": { + "interval": { + "value": "10s", + "type": "text" + }, + "search": { + "value": "search sourcetype=\"XmlWinEventLog:Security\"", + "type": "text" + }, + "tags": { + "value": [ + "forwarded" + ], + "type": "text" + } + }, + "id": "httpjson-system.security-4243f6b9-6ce2-48ec-859a-b5df4baa7c11" + }, + { + "enabled": false, + "data_stream": { + "type": "logs", + "dataset": "system.system" + }, + "vars": { + "interval": { + "value": "10s", + "type": "text" + }, + "search": { + "value": "search sourcetype=\"XmlWinEventLog:System\"", + "type": "text" + }, + "tags": { + "value": [ + "forwarded" + ], + "type": "text" + } + }, + "id": "httpjson-system.system-4243f6b9-6ce2-48ec-859a-b5df4baa7c11" + } + ], + "vars": { + "url": { + "value": "https://server.example.com:8089", + "type": "text" + }, + "username": { + "type": "text" + }, + "password": { + "type": "password" + }, + "token": { + "type": "password" + }, + "preserve_original_event": { + "value": false, + "type": "bool" + }, + "ssl": { + "value": "#certificate_authorities:\n# - |\n# -----BEGIN CERTIFICATE-----\n# MIIDCjCCAfKgAwIBAgITJ706Mu2wJlKckpIvkWxEHvEyijANBgkqhkiG9w0BAQsF\n# ADAUMRIwEAYDVQQDDAlsb2NhbGhvc3QwIBcNMTkwNzIyMTkyOTA0WhgPMjExOTA2\n# MjgxOTI5MDRaMBQxEjAQBgNVBAMMCWxvY2FsaG9zdDCCASIwDQYJKoZIhvcNAQEB\n# BQADggEPADCCAQoCggEBANce58Y/JykI58iyOXpxGfw0/gMvF0hUQAcUrSMxEO6n\n# fZRA49b4OV4SwWmA3395uL2eB2NB8y8qdQ9muXUdPBWE4l9rMZ6gmfu90N5B5uEl\n# 94NcfBfYOKi1fJQ9i7WKhTjlRkMCgBkWPkUokvBZFRt8RtF7zI77BSEorHGQCk9t\n# /D7BS0GJyfVEhftbWcFEAG3VRcoMhF7kUzYwp+qESoriFRYLeDWv68ZOvG7eoWnP\n# PsvZStEVEimjvK5NSESEQa9xWyJOmlOKXhkdymtcUd/nXnx6UTCFgnkgzSdTWV41\n# CI6B6aJ9svCTI2QuoIq2HxX/ix7OvW1huVmcyHVxyUECAwEAAaNTMFEwHQYDVR0O\n# BBYEFPwN1OceFGm9v6ux8G+DZ3TUDYxqMB8GA1UdIwQYMBaAFPwN1OceFGm9v6ux\n# 8G+DZ3TUDYxqMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAG5D\n# 874A4YI7YUwOVsVAdbWtgp1d0zKcPRR+r2OdSbTAV5/gcS3jgBJ3i1BN34JuDVFw\n# 3DeJSYT3nxy2Y56lLnxDeF8CUTUtVQx3CuGkRg1ouGAHpO/6OqOhwLLorEmxi7tA\n# H2O8mtT0poX5AnOAhzVy7QW0D/k4WaoLyckM5hUa6RtvgvLxOwA0U+VGurCDoctu\n# 8F4QOgTAWyh8EZIwaKCliFRSynDpv3JTUwtfZkxo6K6nce1RhCWFAsMvDZL8Dgc0\n# yvgJ38BRsFOtkRuAGSf6ZUwTO8JJRRIFnpUzXflAnGivK9M13D5GEQMmIl6U9Pvk\n# sxSmbIUfc2SGJGCJD4I=\n# -----END CERTIFICATE-----\n", + "type": "yaml" + } + } + } + ], + "revision": 1, + "created_at": "2021-09-30T10:02:48.904Z", + "created_by": "system", + "updated_at": "2021-09-30T10:02:48.904Z", + "updated_by": "system" + } + ] + } +} \ No newline at end of file diff --git a/x-pack/plugins/fleet/cypress/fixtures/integrations/apache.json b/x-pack/plugins/fleet/cypress/fixtures/integrations/apache.json new file mode 100644 index 00000000000000..3b78048fdd83fc --- /dev/null +++ b/x-pack/plugins/fleet/cypress/fixtures/integrations/apache.json @@ -0,0 +1,1059 @@ +{ + "response": { + "name": "apache", + "title": "Apache", + "version": "1.1.0", + "release": "ga", + "description": "This Elastic integration collects logs and metrics from Apache servers", + "type": "integration", + "download": "/epr/apache/apache-1.1.0.zip", + "path": "/package/apache/1.1.0", + "icons": [ + { + "src": "/img/logo_apache.svg", + "path": "/package/apache/1.1.0/img/logo_apache.svg", + "title": "Apache Logo", + "size": "32x32", + "type": "image/svg+xml" + } + ], + "format_version": "1.0.0", + "readme": "/package/apache/1.1.0/docs/README.md", + "license": "basic", + "categories": [ + "web" + ], + "conditions": { + "kibana.version": "^7.14.0" + }, + "screenshots": [ + { + "src": "/img/apache-metrics-overview.png", + "path": "/package/apache/1.1.0/img/apache-metrics-overview.png", + "title": "Apache metrics overview", + "size": "3360x3064", + "type": "image/png" + }, + { + "src": "/img/apache-logs-overview.png", + "path": "/package/apache/1.1.0/img/apache-logs-overview.png", + "title": "Apache logs overview", + "size": "3342x1384", + "type": "image/png" + } + ], + "assets": { + "kibana": { + "dashboard": [ + { + "pkgkey": "apache-1.1.0", + "service": "kibana", + "type": "dashboard", + "file": "apache-Logs-Apache-Dashboard.json", + "path": "apache-1.1.0/kibana/dashboard/apache-Logs-Apache-Dashboard.json" + }, + { + "pkgkey": "apache-1.1.0", + "service": "kibana", + "type": "dashboard", + "file": "apache-Metrics-Apache-HTTPD-server-status.json", + "path": "apache-1.1.0/kibana/dashboard/apache-Metrics-Apache-HTTPD-server-status.json" + } + ], + "ml_module": [ + { + "pkgkey": "apache-1.1.0", + "service": "kibana", + "type": "ml_module", + "file": "apache-Logs-ml.json", + "path": "apache-1.1.0/kibana/ml_module/apache-Logs-ml.json" + } + ], + "search": [ + { + "pkgkey": "apache-1.1.0", + "service": "kibana", + "type": "search", + "file": "apache-HTTPD.json", + "path": "apache-1.1.0/kibana/search/apache-HTTPD.json" + }, + { + "pkgkey": "apache-1.1.0", + "service": "kibana", + "type": "search", + "file": "apache-access-logs.json", + "path": "apache-1.1.0/kibana/search/apache-access-logs.json" + }, + { + "pkgkey": "apache-1.1.0", + "service": "kibana", + "type": "search", + "file": "apache-errors-log.json", + "path": "apache-1.1.0/kibana/search/apache-errors-log.json" + } + ], + "visualization": [ + { + "pkgkey": "apache-1.1.0", + "service": "kibana", + "type": "visualization", + "file": "apache-22057f20-3a12-11eb-8946-296aab7b13db.json", + "path": "apache-1.1.0/kibana/visualization/apache-22057f20-3a12-11eb-8946-296aab7b13db.json" + }, + { + "pkgkey": "apache-1.1.0", + "service": "kibana", + "type": "visualization", + "file": "apache-320cd980-3a36-11eb-8946-296aab7b13db.json", + "path": "apache-1.1.0/kibana/visualization/apache-320cd980-3a36-11eb-8946-296aab7b13db.json" + }, + { + "pkgkey": "apache-1.1.0", + "service": "kibana", + "type": "visualization", + "file": "apache-47820ce0-3a1d-11eb-8946-296aab7b13db.json", + "path": "apache-1.1.0/kibana/visualization/apache-47820ce0-3a1d-11eb-8946-296aab7b13db.json" + }, + { + "pkgkey": "apache-1.1.0", + "service": "kibana", + "type": "visualization", + "file": "apache-7724cf20-3a39-11eb-8946-296aab7b13db.json", + "path": "apache-1.1.0/kibana/visualization/apache-7724cf20-3a39-11eb-8946-296aab7b13db.json" + }, + { + "pkgkey": "apache-1.1.0", + "service": "kibana", + "type": "visualization", + "file": "apache-7d68f730-3a39-11eb-8946-296aab7b13db.json", + "path": "apache-1.1.0/kibana/visualization/apache-7d68f730-3a39-11eb-8946-296aab7b13db.json" + }, + { + "pkgkey": "apache-1.1.0", + "service": "kibana", + "type": "visualization", + "file": "apache-805d7bb0-3a10-11eb-8946-296aab7b13db.json", + "path": "apache-1.1.0/kibana/visualization/apache-805d7bb0-3a10-11eb-8946-296aab7b13db.json" + }, + { + "pkgkey": "apache-1.1.0", + "service": "kibana", + "type": "visualization", + "file": "apache-99666080-3a20-11eb-8946-296aab7b13db.json", + "path": "apache-1.1.0/kibana/visualization/apache-99666080-3a20-11eb-8946-296aab7b13db.json" + }, + { + "pkgkey": "apache-1.1.0", + "service": "kibana", + "type": "visualization", + "file": "apache-HTTPD-CPU.json", + "path": "apache-1.1.0/kibana/visualization/apache-HTTPD-CPU.json" + }, + { + "pkgkey": "apache-1.1.0", + "service": "kibana", + "type": "visualization", + "file": "apache-HTTPD-Load1-slash-5-slash-15.json", + "path": "apache-1.1.0/kibana/visualization/apache-HTTPD-Load1-slash-5-slash-15.json" + }, + { + "pkgkey": "apache-1.1.0", + "service": "kibana", + "type": "visualization", + "file": "apache-HTTPD-Scoreboard.json", + "path": "apache-1.1.0/kibana/visualization/apache-HTTPD-Scoreboard.json" + }, + { + "pkgkey": "apache-1.1.0", + "service": "kibana", + "type": "visualization", + "file": "apache-a45311f0-3a34-11eb-8946-296aab7b13db.json", + "path": "apache-1.1.0/kibana/visualization/apache-a45311f0-3a34-11eb-8946-296aab7b13db.json" + }, + { + "pkgkey": "apache-1.1.0", + "service": "kibana", + "type": "visualization", + "file": "apache-access-unique-IPs-map.json", + "path": "apache-1.1.0/kibana/visualization/apache-access-unique-IPs-map.json" + }, + { + "pkgkey": "apache-1.1.0", + "service": "kibana", + "type": "visualization", + "file": "apache-browsers.json", + "path": "apache-1.1.0/kibana/visualization/apache-browsers.json" + }, + { + "pkgkey": "apache-1.1.0", + "service": "kibana", + "type": "visualization", + "file": "apache-ed44f820-3a10-11eb-8946-296aab7b13db.json", + "path": "apache-1.1.0/kibana/visualization/apache-ed44f820-3a10-11eb-8946-296aab7b13db.json" + }, + { + "pkgkey": "apache-1.1.0", + "service": "kibana", + "type": "visualization", + "file": "apache-error-logs-over-time.json", + "path": "apache-1.1.0/kibana/visualization/apache-error-logs-over-time.json" + }, + { + "pkgkey": "apache-1.1.0", + "service": "kibana", + "type": "visualization", + "file": "apache-f4ffec70-3a36-11eb-8946-296aab7b13db.json", + "path": "apache-1.1.0/kibana/visualization/apache-f4ffec70-3a36-11eb-8946-296aab7b13db.json" + }, + { + "pkgkey": "apache-1.1.0", + "service": "kibana", + "type": "visualization", + "file": "apache-operating-systems.json", + "path": "apache-1.1.0/kibana/visualization/apache-operating-systems.json" + }, + { + "pkgkey": "apache-1.1.0", + "service": "kibana", + "type": "visualization", + "file": "apache-response-codes-of-top-URLs.json", + "path": "apache-1.1.0/kibana/visualization/apache-response-codes-of-top-URLs.json" + }, + { + "pkgkey": "apache-1.1.0", + "service": "kibana", + "type": "visualization", + "file": "apache-response-codes-over-time.json", + "path": "apache-1.1.0/kibana/visualization/apache-response-codes-over-time.json" + } + ] + }, + "elasticsearch": { + "ingest_pipeline": [ + { + "pkgkey": "apache-1.1.0", + "service": "elasticsearch", + "type": "ingest_pipeline", + "file": "default.yml", + "dataset": "access", + "path": "apache-1.1.0/data_stream/access/elasticsearch/ingest_pipeline/default.yml" + }, + { + "pkgkey": "apache-1.1.0", + "service": "elasticsearch", + "type": "ingest_pipeline", + "file": "third-party.yml", + "dataset": "access", + "path": "apache-1.1.0/data_stream/access/elasticsearch/ingest_pipeline/third-party.yml" + }, + { + "pkgkey": "apache-1.1.0", + "service": "elasticsearch", + "type": "ingest_pipeline", + "file": "default.yml", + "dataset": "error", + "path": "apache-1.1.0/data_stream/error/elasticsearch/ingest_pipeline/default.yml" + }, + { + "pkgkey": "apache-1.1.0", + "service": "elasticsearch", + "type": "ingest_pipeline", + "file": "third-party.yml", + "dataset": "error", + "path": "apache-1.1.0/data_stream/error/elasticsearch/ingest_pipeline/third-party.yml" + } + ] + } + }, + "policy_templates": [ + { + "name": "apache", + "title": "Apache logs and metrics", + "description": "Collect logs and metrics from Apache instances", + "inputs": [ + { + "type": "logfile", + "title": "Collect logs from Apache instances", + "description": "Collecting Apache access and error logs" + }, + { + "type": "httpjson", + "vars": [ + { + "name": "url", + "type": "text", + "title": "URL of Splunk Enterprise Server", + "description": "i.e. scheme://host:port, path is automatic", + "multi": false, + "required": true, + "show_user": true, + "default": "https://server.example.com:8089" + }, + { + "name": "username", + "type": "text", + "title": "Splunk REST API Username", + "multi": false, + "required": false, + "show_user": true + }, + { + "name": "password", + "type": "password", + "title": "Splunk REST API Password", + "multi": false, + "required": false, + "show_user": true + }, + { + "name": "token", + "type": "password", + "title": "Splunk Authorization Token", + "description": "Bearer Token or Session Key, e.g. \"Bearer eyJFd3e46...\"\nor \"Splunk 192fd3e...\". Cannot be used with username\nand password.\n", + "multi": false, + "required": false, + "show_user": true + }, + { + "name": "ssl", + "type": "yaml", + "title": "SSL Configuration", + "description": "i.e. certificate_authorities, supported_protocols, verification_mode etc.", + "multi": false, + "required": false, + "show_user": false, + "default": "#certificate_authorities:\n# - |\n# -----BEGIN CERTIFICATE-----\n# MIIDCjCCAfKgAwIBAgITJ706Mu2wJlKckpIvkWxEHvEyijANBgkqhkiG9w0BAQsF\n# ADAUMRIwEAYDVQQDDAlsb2NhbGhvc3QwIBcNMTkwNzIyMTkyOTA0WhgPMjExOTA2\n# MjgxOTI5MDRaMBQxEjAQBgNVBAMMCWxvY2FsaG9zdDCCASIwDQYJKoZIhvcNAQEB\n# BQADggEPADCCAQoCggEBANce58Y/JykI58iyOXpxGfw0/gMvF0hUQAcUrSMxEO6n\n# fZRA49b4OV4SwWmA3395uL2eB2NB8y8qdQ9muXUdPBWE4l9rMZ6gmfu90N5B5uEl\n# 94NcfBfYOKi1fJQ9i7WKhTjlRkMCgBkWPkUokvBZFRt8RtF7zI77BSEorHGQCk9t\n# /D7BS0GJyfVEhftbWcFEAG3VRcoMhF7kUzYwp+qESoriFRYLeDWv68ZOvG7eoWnP\n# PsvZStEVEimjvK5NSESEQa9xWyJOmlOKXhkdymtcUd/nXnx6UTCFgnkgzSdTWV41\n# CI6B6aJ9svCTI2QuoIq2HxX/ix7OvW1huVmcyHVxyUECAwEAAaNTMFEwHQYDVR0O\n# BBYEFPwN1OceFGm9v6ux8G+DZ3TUDYxqMB8GA1UdIwQYMBaAFPwN1OceFGm9v6ux\n# 8G+DZ3TUDYxqMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAG5D\n# 874A4YI7YUwOVsVAdbWtgp1d0zKcPRR+r2OdSbTAV5/gcS3jgBJ3i1BN34JuDVFw\n# 3DeJSYT3nxy2Y56lLnxDeF8CUTUtVQx3CuGkRg1ouGAHpO/6OqOhwLLorEmxi7tA\n# H2O8mtT0poX5AnOAhzVy7QW0D/k4WaoLyckM5hUa6RtvgvLxOwA0U+VGurCDoctu\n# 8F4QOgTAWyh8EZIwaKCliFRSynDpv3JTUwtfZkxo6K6nce1RhCWFAsMvDZL8Dgc0\n# yvgJ38BRsFOtkRuAGSf6ZUwTO8JJRRIFnpUzXflAnGivK9M13D5GEQMmIl6U9Pvk\n# sxSmbIUfc2SGJGCJD4I=\n# -----END CERTIFICATE-----\n" + } + ], + "title": "Collect logs from third-party REST API (experimental)", + "description": "Collect logs from third-party REST API (experimental)" + }, + { + "type": "apache/metrics", + "vars": [ + { + "name": "hosts", + "type": "text", + "title": "Hosts", + "multi": true, + "required": true, + "show_user": true, + "default": [ + "http://127.0.0.1" + ] + } + ], + "title": "Collect metrics from Apache instances", + "description": "Collecting Apache status metrics" + } + ], + "multiple": true + } + ], + "data_streams": [ + { + "type": "logs", + "dataset": "apache.access", + "title": "Apache access logs", + "release": "experimental", + "ingest_pipeline": "default", + "streams": [ + { + "input": "logfile", + "vars": [ + { + "name": "paths", + "type": "text", + "title": "Paths", + "multi": true, + "required": true, + "show_user": true, + "default": [ + "/var/log/apache2/access.log*", + "/var/log/apache2/other_vhosts_access.log*", + "/var/log/httpd/access_log*" + ] + }, + { + "name": "tags", + "type": "text", + "title": "Tags", + "multi": true, + "required": true, + "show_user": false, + "default": [ + "apache-access" + ] + }, + { + "name": "preserve_original_event", + "type": "bool", + "title": "Preserve original event", + "description": "Preserves a raw copy of the original event, added to the field `event.original`", + "multi": false, + "required": true, + "show_user": true, + "default": false + }, + { + "name": "processors", + "type": "yaml", + "title": "Processors", + "description": "Processors are used to reduce the number of fields in the exported event or to enhance the event with metadata. This executes in the agent before the logs are parsed. See [Processors](https://www.elastic.co/guide/en/beats/filebeat/current/filtering-and-enhancing-data.html) for details.\n", + "multi": false, + "required": false, + "show_user": false + } + ], + "template_path": "log.yml.hbs", + "title": "Apache access logs", + "description": "Collect Apache access logs", + "enabled": true + }, + { + "input": "httpjson", + "vars": [ + { + "name": "interval", + "type": "text", + "title": "Interval to query Splunk Enterprise REST API", + "description": "Go Duration syntax (eg. 10s)", + "multi": false, + "required": true, + "show_user": true, + "default": "10s" + }, + { + "name": "search", + "type": "text", + "title": "Splunk search string", + "multi": false, + "required": true, + "show_user": true, + "default": "search sourcetype=\"access*\"" + }, + { + "name": "tags", + "type": "text", + "title": "Tags", + "multi": true, + "required": false, + "show_user": false, + "default": [ + "forwarded", + "apache-access" + ] + }, + { + "name": "preserve_original_event", + "type": "bool", + "title": "Preserve original event", + "description": "Preserves a raw copy of the original event, added to the field `event.original`", + "multi": false, + "required": true, + "show_user": true, + "default": false + }, + { + "name": "processors", + "type": "yaml", + "title": "Processors", + "description": "Processors are used to reduce the number of fields in the exported event or to enhance the event with metadata. This executes in the agent before the logs are parsed. See [Processors](https://www.elastic.co/guide/en/beats/filebeat/current/filtering-and-enhancing-data.html) for details.\n", + "multi": false, + "required": false, + "show_user": false + } + ], + "template_path": "httpjson.yml.hbs", + "title": "Apache access logs via Splunk Enterprise REST API", + "description": "Collect apache access logs via Splunk Enterprise REST API", + "enabled": false + } + ], + "package": "apache", + "path": "access" + }, + { + "type": "logs", + "dataset": "apache.error", + "title": "Apache error logs", + "release": "experimental", + "ingest_pipeline": "default", + "streams": [ + { + "input": "logfile", + "vars": [ + { + "name": "paths", + "type": "text", + "title": "Paths", + "multi": true, + "required": true, + "show_user": true, + "default": [ + "/var/log/apache2/error.log*", + "/var/log/httpd/error_log*" + ] + }, + { + "name": "tags", + "type": "text", + "title": "Tags", + "multi": true, + "required": true, + "show_user": false, + "default": [ + "apache-error" + ] + }, + { + "name": "preserve_original_event", + "type": "bool", + "title": "Preserve original event", + "description": "Preserves a raw copy of the original event, added to the field `event.original`", + "multi": false, + "required": true, + "show_user": true, + "default": false + }, + { + "name": "processors", + "type": "yaml", + "title": "Processors", + "description": "Processors are used to reduce the number of fields in the exported event or to enhance the event with metadata. This executes in the agent before the logs are parsed. See [Processors](https://www.elastic.co/guide/en/beats/filebeat/current/filtering-and-enhancing-data.html) for details.\n", + "multi": false, + "required": false, + "show_user": false + } + ], + "template_path": "log.yml.hbs", + "title": "Apache error logs", + "description": "Collect Apache error logs", + "enabled": true + }, + { + "input": "httpjson", + "vars": [ + { + "name": "interval", + "type": "text", + "title": "Interval to query Splunk Enterprise REST API", + "description": "Go Duration syntax (eg. 10s)", + "multi": false, + "required": true, + "show_user": true, + "default": "10s" + }, + { + "name": "search", + "type": "text", + "title": "Splunk search string", + "multi": false, + "required": true, + "show_user": true, + "default": "search sourcetype=apache:error OR sourcetype=apache_error" + }, + { + "name": "tags", + "type": "text", + "title": "Tags", + "multi": true, + "required": false, + "show_user": false, + "default": [ + "forwarded", + "apache-error" + ] + }, + { + "name": "preserve_original_event", + "type": "bool", + "title": "Preserve original event", + "description": "Preserves a raw copy of the original event, added to the field `event.original`", + "multi": false, + "required": true, + "show_user": true, + "default": false + }, + { + "name": "processors", + "type": "yaml", + "title": "Processors", + "description": "Processors are used to reduce the number of fields in the exported event or to enhance the event with metadata. This executes in the agent before the logs are parsed. See [Processors](https://www.elastic.co/guide/en/beats/filebeat/current/filtering-and-enhancing-data.html) for details.\n", + "multi": false, + "required": false, + "show_user": false + } + ], + "template_path": "httpjson.yml.hbs", + "title": "Apache error logs via Splunk Enterprise REST API", + "description": "Collect apache error logs via Splunk Enterprise REST API", + "enabled": false + } + ], + "package": "apache", + "path": "error" + }, + { + "type": "metrics", + "dataset": "apache.status", + "title": "Apache status metrics", + "release": "experimental", + "streams": [ + { + "input": "apache/metrics", + "vars": [ + { + "name": "period", + "type": "text", + "title": "Period", + "multi": false, + "required": true, + "show_user": true, + "default": "30s" + }, + { + "name": "server_status_path", + "type": "text", + "title": "Server Status Path", + "multi": false, + "required": true, + "show_user": false, + "default": "/server-status" + } + ], + "template_path": "stream.yml.hbs", + "title": "Apache status metrics", + "description": "Collect Apache status metrics", + "enabled": true + } + ], + "package": "apache", + "path": "status" + } + ], + "owner": { + "github": "elastic/integrations" + }, + "latestVersion": "1.1.0", + "removable": true, + "status": "installed", + "savedObject": { + "id": "apache", + "type": "epm-packages", + "namespaces": [], + "updated_at": "2021-09-30T10:47:12.961Z", + "version": "WzI1NjgsMV0=", + "attributes": { + "installed_kibana": [ + { + "id": "apache-Logs-Apache-Dashboard", + "type": "dashboard" + }, + { + "id": "apache-Metrics-Apache-HTTPD-server-status", + "type": "dashboard" + }, + { + "id": "apache-22057f20-3a12-11eb-8946-296aab7b13db", + "type": "visualization" + }, + { + "id": "apache-320cd980-3a36-11eb-8946-296aab7b13db", + "type": "visualization" + }, + { + "id": "apache-47820ce0-3a1d-11eb-8946-296aab7b13db", + "type": "visualization" + }, + { + "id": "apache-7724cf20-3a39-11eb-8946-296aab7b13db", + "type": "visualization" + }, + { + "id": "apache-7d68f730-3a39-11eb-8946-296aab7b13db", + "type": "visualization" + }, + { + "id": "apache-805d7bb0-3a10-11eb-8946-296aab7b13db", + "type": "visualization" + }, + { + "id": "apache-99666080-3a20-11eb-8946-296aab7b13db", + "type": "visualization" + }, + { + "id": "apache-HTTPD-CPU", + "type": "visualization" + }, + { + "id": "apache-HTTPD-Load1-slash-5-slash-15", + "type": "visualization" + }, + { + "id": "apache-HTTPD-Scoreboard", + "type": "visualization" + }, + { + "id": "apache-a45311f0-3a34-11eb-8946-296aab7b13db", + "type": "visualization" + }, + { + "id": "apache-access-unique-IPs-map", + "type": "visualization" + }, + { + "id": "apache-browsers", + "type": "visualization" + }, + { + "id": "apache-ed44f820-3a10-11eb-8946-296aab7b13db", + "type": "visualization" + }, + { + "id": "apache-error-logs-over-time", + "type": "visualization" + }, + { + "id": "apache-f4ffec70-3a36-11eb-8946-296aab7b13db", + "type": "visualization" + }, + { + "id": "apache-operating-systems", + "type": "visualization" + }, + { + "id": "apache-response-codes-of-top-URLs", + "type": "visualization" + }, + { + "id": "apache-response-codes-over-time", + "type": "visualization" + }, + { + "id": "apache-HTTPD", + "type": "search" + }, + { + "id": "apache-access-logs", + "type": "search" + }, + { + "id": "apache-errors-log", + "type": "search" + }, + { + "id": "apache-Logs-ml", + "type": "ml-module" + } + ], + "installed_es": [ + { + "id": "logs-apache.access-1.1.0", + "type": "ingest_pipeline" + }, + { + "id": "logs-apache.access-1.1.0-third-party", + "type": "ingest_pipeline" + }, + { + "id": "logs-apache.error-1.1.0", + "type": "ingest_pipeline" + }, + { + "id": "logs-apache.error-1.1.0-third-party", + "type": "ingest_pipeline" + }, + { + "id": "logs-apache.access", + "type": "index_template" + }, + { + "id": "logs-apache.access@settings", + "type": "component_template" + }, + { + "id": "logs-apache.access@custom", + "type": "component_template" + }, + { + "id": "logs-apache.error", + "type": "index_template" + }, + { + "id": "logs-apache.error@settings", + "type": "component_template" + }, + { + "id": "logs-apache.error@custom", + "type": "component_template" + }, + { + "id": "metrics-apache.status", + "type": "index_template" + }, + { + "id": "metrics-apache.status@settings", + "type": "component_template" + }, + { + "id": "metrics-apache.status@custom", + "type": "component_template" + } + ], + "package_assets": [ + { + "id": "c99057a8-c51a-5795-9e00-b4b09237f780", + "type": "epm-packages-assets" + }, + { + "id": "1388d2c7-254a-5cd4-882d-89b3e8b681cd", + "type": "epm-packages-assets" + }, + { + "id": "c3068bcb-5a74-5044-91f6-c8e99eefb003", + "type": "epm-packages-assets" + }, + { + "id": "4cea5f13-0ec6-5ecc-9012-f2dba2c86fab", + "type": "epm-packages-assets" + }, + { + "id": "6f27b654-fc39-502b-bdda-83ed13e775c1", + "type": "epm-packages-assets" + }, + { + "id": "baa6d518-fa85-530f-9cdc-b0f2207599f8", + "type": "epm-packages-assets" + }, + { + "id": "ea0cfbd9-8173-5429-a83b-6168b2cd4f27", + "type": "epm-packages-assets" + }, + { + "id": "3745632e-1306-5ac6-84ee-0fceae577988", + "type": "epm-packages-assets" + }, + { + "id": "079a3007-eec5-504e-a993-8c489ccc992c", + "type": "epm-packages-assets" + }, + { + "id": "625ba117-a66d-5eba-9172-201e4f03fbf0", + "type": "epm-packages-assets" + }, + { + "id": "f0dd03dd-3dee-51da-881b-425e76966139", + "type": "epm-packages-assets" + }, + { + "id": "c356fb2c-395b-595e-bdf4-51c5750d6efe", + "type": "epm-packages-assets" + }, + { + "id": "861a6d88-8e80-5282-8cc4-b74b13da22f8", + "type": "epm-packages-assets" + }, + { + "id": "49186533-1536-5d2d-a45a-b51a4db1eeca", + "type": "epm-packages-assets" + }, + { + "id": "533a5c29-648c-593c-9444-df3d03c4aae0", + "type": "epm-packages-assets" + }, + { + "id": "9d34d784-f5a7-5213-a711-37bf2af21da5", + "type": "epm-packages-assets" + }, + { + "id": "4d5fa019-7503-5a89-95af-a03227622ecd", + "type": "epm-packages-assets" + }, + { + "id": "edc0c10d-f7f4-5523-8dac-ce9c64aff44d", + "type": "epm-packages-assets" + }, + { + "id": "5792421c-b31c-59a3-891c-1566bc85447b", + "type": "epm-packages-assets" + }, + { + "id": "7a72f59a-27a6-5514-9489-1258de496199", + "type": "epm-packages-assets" + }, + { + "id": "69dffce3-96d1-5c71-b4ae-41b6d61fdd4a", + "type": "epm-packages-assets" + }, + { + "id": "0b971e05-221e-5430-87e6-fbebbc8d4a23", + "type": "epm-packages-assets" + }, + { + "id": "5d7fb7e1-e775-5832-95a7-074d692fb176", + "type": "epm-packages-assets" + }, + { + "id": "4a50c74b-e4ce-511c-badd-54997537b6b8", + "type": "epm-packages-assets" + }, + { + "id": "54e21b74-9ea5-537f-8cce-673b10b8ac39", + "type": "epm-packages-assets" + }, + { + "id": "c9fd9a64-722c-59f7-a686-4d92d4395be0", + "type": "epm-packages-assets" + }, + { + "id": "5a53ca55-23ec-59bc-8d04-be12f1776358", + "type": "epm-packages-assets" + }, + { + "id": "b2652216-a523-5183-8eaa-c26f9ba4bbee", + "type": "epm-packages-assets" + }, + { + "id": "97f717d7-78d6-5b8c-acde-edf80aa27201", + "type": "epm-packages-assets" + }, + { + "id": "6b27939a-1f2a-536d-8d84-560ed372d21a", + "type": "epm-packages-assets" + }, + { + "id": "7d68617a-88b0-5d34-8a98-8f51d3c49568", + "type": "epm-packages-assets" + }, + { + "id": "8e212777-acac-5068-acbb-143e0cbfb3eb", + "type": "epm-packages-assets" + }, + { + "id": "436ed6b2-aa68-55d4-912a-346e14903d7b", + "type": "epm-packages-assets" + }, + { + "id": "5169ccd9-75f9-5d84-8116-2f2bac0dd93f", + "type": "epm-packages-assets" + }, + { + "id": "a36f82fe-4aa0-508f-92e4-e33d779c1ed2", + "type": "epm-packages-assets" + }, + { + "id": "96d9ae25-0ee7-59aa-b8a0-4fbb929cce4a", + "type": "epm-packages-assets" + }, + { + "id": "05e1449f-3723-5d3c-a76f-5e307d88c35b", + "type": "epm-packages-assets" + }, + { + "id": "a0e8abee-4777-5a7f-bb9a-c2c60d49d060", + "type": "epm-packages-assets" + }, + { + "id": "4c77c830-b4e2-5c77-a3dd-941249799ce7", + "type": "epm-packages-assets" + }, + { + "id": "e082c4c2-3215-5fb0-a485-b261a774314e", + "type": "epm-packages-assets" + }, + { + "id": "1f4467ca-6aa9-5fcb-a346-f334e018db3f", + "type": "epm-packages-assets" + }, + { + "id": "fc831e85-d43f-5402-8780-c9fb3b040b34", + "type": "epm-packages-assets" + }, + { + "id": "208cc640-7cb1-5dd0-902e-47d82fe273af", + "type": "epm-packages-assets" + }, + { + "id": "65e211ff-9497-5882-88cc-ebfd79578cff", + "type": "epm-packages-assets" + }, + { + "id": "a6ea40cc-bb98-5039-8d52-151ac69cbfb5", + "type": "epm-packages-assets" + }, + { + "id": "d9e1d1e6-1c31-5164-8805-b8b2249bd8b5", + "type": "epm-packages-assets" + }, + { + "id": "aa843dec-f345-5c94-99e3-8bd2bffb9b4e", + "type": "epm-packages-assets" + }, + { + "id": "2b019917-8d4c-5da9-80b2-5005524a1290", + "type": "epm-packages-assets" + }, + { + "id": "617effde-ae31-5f48-928a-acdf7b6bc0bb", + "type": "epm-packages-assets" + }, + { + "id": "10245259-aff6-5cc9-b60b-9d88a230894e", + "type": "epm-packages-assets" + }, + { + "id": "753a2e77-13fe-5aa8-94a7-08e9357e64f0", + "type": "epm-packages-assets" + }, + { + "id": "4132f76c-78bc-5d70-a7cd-421910242f96", + "type": "epm-packages-assets" + }, + { + "id": "74230ee0-f671-57fc-bf3a-1c1be03acf22", + "type": "epm-packages-assets" + }, + { + "id": "a2465b23-c15e-56f9-acad-e2d5387cae48", + "type": "epm-packages-assets" + }, + { + "id": "94586e3f-78a0-5cf8-b4c2-923f4516153a", + "type": "epm-packages-assets" + }, + { + "id": "7b356571-eb79-541c-ba99-e6fdebf74e98", + "type": "epm-packages-assets" + }, + { + "id": "babd82eb-7317-58c0-a5fc-4d14ca1f2d17", + "type": "epm-packages-assets" + }, + { + "id": "aa68dd98-4844-5162-b96f-e6b5eae5f987", + "type": "epm-packages-assets" + } + ], + "es_index_patterns": { + "access": "logs-apache.access-*", + "error": "logs-apache.error-*", + "status": "metrics-apache.status-*" + }, + "name": "apache", + "version": "1.1.0", + "internal": false, + "removable": true, + "install_version": "1.1.0", + "install_status": "installed", + "install_started_at": "2021-09-30T10:46:58.713Z", + "install_source": "registry" + }, + "references": [], + "migrationVersion": { + "epm-packages": "7.14.1" + }, + "coreMigrationVersion": "8.0.0" + } + } +} \ No newline at end of file diff --git a/x-pack/plugins/fleet/cypress/fixtures/integrations/create_integration_response.json b/x-pack/plugins/fleet/cypress/fixtures/integrations/create_integration_response.json new file mode 100644 index 00000000000000..6820aadd01fb12 --- /dev/null +++ b/x-pack/plugins/fleet/cypress/fixtures/integrations/create_integration_response.json @@ -0,0 +1,255 @@ +{ + "item": { + "id": "1", + "version": "WzI4NDAsMV0=", + "name": "apache-1", + "description": "", + "namespace": "default", + "policy_id": "9ced27e0-20ff-11ec-b353-dd9d66c6f483", + "enabled": true, + "output_id": "", + "inputs": [ + { + "type": "logfile", + "policy_template": "apache", + "enabled": true, + "streams": [ + { + "enabled": true, + "data_stream": { + "type": "logs", + "dataset": "apache.access" + }, + "vars": { + "paths": { + "value": [ + "/var/log/apache2/access.log*", + "/var/log/apache2/other_vhosts_access.log*", + "/var/log/httpd/access_log*" + ], + "type": "text" + }, + "tags": { + "value": [ + "apache-access" + ], + "type": "text" + }, + "preserve_original_event": { + "value": false, + "type": "bool" + }, + "processors": { + "type": "yaml" + } + }, + "id": "logfile-apache.access-1c588150-010b-448a-b2b8-820d1b33811e", + "compiled_stream": { + "paths": [ + "/var/log/apache2/access.log*", + "/var/log/apache2/other_vhosts_access.log*", + "/var/log/httpd/access_log*" + ], + "tags": [ + "apache-access" + ], + "exclude_files": [ + ".gz$" + ] + } + }, + { + "enabled": true, + "data_stream": { + "type": "logs", + "dataset": "apache.error" + }, + "vars": { + "paths": { + "value": [ + "/var/log/apache2/error.log*", + "/var/log/httpd/error_log*" + ], + "type": "text" + }, + "tags": { + "value": [ + "apache-error" + ], + "type": "text" + }, + "preserve_original_event": { + "value": false, + "type": "bool" + }, + "processors": { + "type": "yaml" + } + }, + "id": "logfile-apache.error-1c588150-010b-448a-b2b8-820d1b33811e", + "compiled_stream": { + "paths": [ + "/var/log/apache2/error.log*", + "/var/log/httpd/error_log*" + ], + "exclude_files": [ + ".gz$" + ], + "tags": [ + "apache-error" + ], + "processors": [ + { + "add_locale": null + } + ] + } + } + ] + }, + { + "type": "httpjson", + "policy_template": "apache", + "enabled": false, + "streams": [ + { + "enabled": false, + "data_stream": { + "type": "logs", + "dataset": "apache.access" + }, + "vars": { + "interval": { + "value": "10s", + "type": "text" + }, + "search": { + "value": "search sourcetype=\"access*\"", + "type": "text" + }, + "tags": { + "value": [ + "forwarded", + "apache-access" + ], + "type": "text" + }, + "preserve_original_event": { + "value": false, + "type": "bool" + }, + "processors": { + "type": "yaml" + } + }, + "id": "httpjson-apache.access-1c588150-010b-448a-b2b8-820d1b33811e" + }, + { + "enabled": false, + "data_stream": { + "type": "logs", + "dataset": "apache.error" + }, + "vars": { + "interval": { + "value": "10s", + "type": "text" + }, + "search": { + "value": "search sourcetype=apache:error OR sourcetype=apache_error", + "type": "text" + }, + "tags": { + "value": [ + "forwarded", + "apache-error" + ], + "type": "text" + }, + "preserve_original_event": { + "value": false, + "type": "bool" + }, + "processors": { + "type": "yaml" + } + }, + "id": "httpjson-apache.error-1c588150-010b-448a-b2b8-820d1b33811e" + } + ], + "vars": { + "url": { + "value": "https://server.example.com:8089", + "type": "text" + }, + "username": { + "type": "text" + }, + "password": { + "type": "password" + }, + "token": { + "type": "password" + }, + "ssl": { + "value": "#certificate_authorities:\n# - |\n# -----BEGIN CERTIFICATE-----\n# MIIDCjCCAfKgAwIBAgITJ706Mu2wJlKckpIvkWxEHvEyijANBgkqhkiG9w0BAQsF\n# ADAUMRIwEAYDVQQDDAlsb2NhbGhvc3QwIBcNMTkwNzIyMTkyOTA0WhgPMjExOTA2\n# MjgxOTI5MDRaMBQxEjAQBgNVBAMMCWxvY2FsaG9zdDCCASIwDQYJKoZIhvcNAQEB\n# BQADggEPADCCAQoCggEBANce58Y/JykI58iyOXpxGfw0/gMvF0hUQAcUrSMxEO6n\n# fZRA49b4OV4SwWmA3395uL2eB2NB8y8qdQ9muXUdPBWE4l9rMZ6gmfu90N5B5uEl\n# 94NcfBfYOKi1fJQ9i7WKhTjlRkMCgBkWPkUokvBZFRt8RtF7zI77BSEorHGQCk9t\n# /D7BS0GJyfVEhftbWcFEAG3VRcoMhF7kUzYwp+qESoriFRYLeDWv68ZOvG7eoWnP\n# PsvZStEVEimjvK5NSESEQa9xWyJOmlOKXhkdymtcUd/nXnx6UTCFgnkgzSdTWV41\n# CI6B6aJ9svCTI2QuoIq2HxX/ix7OvW1huVmcyHVxyUECAwEAAaNTMFEwHQYDVR0O\n# BBYEFPwN1OceFGm9v6ux8G+DZ3TUDYxqMB8GA1UdIwQYMBaAFPwN1OceFGm9v6ux\n# 8G+DZ3TUDYxqMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAG5D\n# 874A4YI7YUwOVsVAdbWtgp1d0zKcPRR+r2OdSbTAV5/gcS3jgBJ3i1BN34JuDVFw\n# 3DeJSYT3nxy2Y56lLnxDeF8CUTUtVQx3CuGkRg1ouGAHpO/6OqOhwLLorEmxi7tA\n# H2O8mtT0poX5AnOAhzVy7QW0D/k4WaoLyckM5hUa6RtvgvLxOwA0U+VGurCDoctu\n# 8F4QOgTAWyh8EZIwaKCliFRSynDpv3JTUwtfZkxo6K6nce1RhCWFAsMvDZL8Dgc0\n# yvgJ38BRsFOtkRuAGSf6ZUwTO8JJRRIFnpUzXflAnGivK9M13D5GEQMmIl6U9Pvk\n# sxSmbIUfc2SGJGCJD4I=\n# -----END CERTIFICATE-----\n", + "type": "yaml" + } + } + }, + { + "type": "apache/metrics", + "policy_template": "apache", + "enabled": true, + "streams": [ + { + "enabled": true, + "data_stream": { + "type": "metrics", + "dataset": "apache.status" + }, + "vars": { + "period": { + "value": "30s", + "type": "text" + }, + "server_status_path": { + "value": "/server-status", + "type": "text" + } + }, + "id": "apache/metrics-apache.status-1c588150-010b-448a-b2b8-820d1b33811e", + "compiled_stream": { + "metricsets": [ + "status" + ], + "hosts": [ + "http://127.0.0.1" + ], + "period": "30s", + "server_status_path": "/server-status" + } + } + ], + "vars": { + "hosts": { + "value": [ + "http://127.0.0.1" + ], + "type": "text" + } + } + } + ], + "package": { + "name": "apache", + "title": "Apache", + "version": "1.1.0" + }, + "revision": 1, + "created_at": "2021-09-29T09:12:55.869Z", + "created_by": "elastic", + "updated_at": "2021-09-29T09:12:55.869Z", + "updated_by": "elastic" + } +} \ No newline at end of file diff --git a/x-pack/plugins/fleet/cypress/fixtures/integrations/list.json b/x-pack/plugins/fleet/cypress/fixtures/integrations/list.json new file mode 100644 index 00000000000000..73c3ff54c5d958 --- /dev/null +++ b/x-pack/plugins/fleet/cypress/fixtures/integrations/list.json @@ -0,0 +1,260 @@ +{ + "items": [ + { + "id": "1", + "version": "WzczOSwxXQ==", + "name": "apache-1", + "description": "", + "namespace": "default", + "policy_id": "30e16140-2106-11ec-a289-25321523992d", + "enabled": true, + "output_id": "", + "inputs": [ + { + "type": "logfile", + "policy_template": "apache", + "enabled": true, + "streams": [ + { + "enabled": true, + "data_stream": { + "type": "logs", + "dataset": "apache.access" + }, + "vars": { + "paths": { + "value": [ + "/var/log/apache2/access.log*", + "/var/log/apache2/other_vhosts_access.log*", + "/var/log/httpd/access_log*" + ], + "type": "text" + }, + "tags": { + "value": [ + "apache-access" + ], + "type": "text" + }, + "preserve_original_event": { + "value": false, + "type": "bool" + }, + "processors": { + "type": "yaml" + } + }, + "id": "logfile-apache.access-63172a6b-4f00-4376-b5e6-fe9b3f00fc79", + "compiled_stream": { + "paths": [ + "/var/log/apache2/access.log*", + "/var/log/apache2/other_vhosts_access.log*", + "/var/log/httpd/access_log*" + ], + "tags": [ + "apache-access" + ], + "exclude_files": [ + ".gz$" + ] + } + }, + { + "enabled": true, + "data_stream": { + "type": "logs", + "dataset": "apache.error" + }, + "vars": { + "paths": { + "value": [ + "/var/log/apache2/error.log*", + "/var/log/httpd/error_log*" + ], + "type": "text" + }, + "tags": { + "value": [ + "apache-error" + ], + "type": "text" + }, + "preserve_original_event": { + "value": false, + "type": "bool" + }, + "processors": { + "type": "yaml" + } + }, + "id": "logfile-apache.error-63172a6b-4f00-4376-b5e6-fe9b3f00fc79", + "compiled_stream": { + "paths": [ + "/var/log/apache2/error.log*", + "/var/log/httpd/error_log*" + ], + "exclude_files": [ + ".gz$" + ], + "tags": [ + "apache-error" + ], + "processors": [ + { + "add_locale": null + } + ] + } + } + ] + }, + { + "type": "httpjson", + "policy_template": "apache", + "enabled": false, + "streams": [ + { + "enabled": false, + "data_stream": { + "type": "logs", + "dataset": "apache.access" + }, + "vars": { + "interval": { + "value": "10s", + "type": "text" + }, + "search": { + "value": "search sourcetype=\"access*\"", + "type": "text" + }, + "tags": { + "value": [ + "forwarded", + "apache-access" + ], + "type": "text" + }, + "preserve_original_event": { + "value": false, + "type": "bool" + }, + "processors": { + "type": "yaml" + } + }, + "id": "httpjson-apache.access-63172a6b-4f00-4376-b5e6-fe9b3f00fc79" + }, + { + "enabled": false, + "data_stream": { + "type": "logs", + "dataset": "apache.error" + }, + "vars": { + "interval": { + "value": "10s", + "type": "text" + }, + "search": { + "value": "search sourcetype=apache:error OR sourcetype=apache_error", + "type": "text" + }, + "tags": { + "value": [ + "forwarded", + "apache-error" + ], + "type": "text" + }, + "preserve_original_event": { + "value": false, + "type": "bool" + }, + "processors": { + "type": "yaml" + } + }, + "id": "httpjson-apache.error-63172a6b-4f00-4376-b5e6-fe9b3f00fc79" + } + ], + "vars": { + "url": { + "value": "https://server.example.com:8089", + "type": "text" + }, + "username": { + "type": "text" + }, + "password": { + "type": "password" + }, + "token": { + "type": "password" + }, + "ssl": { + "value": "#certificate_authorities:\n# - |\n# -----BEGIN CERTIFICATE-----\n# MIIDCjCCAfKgAwIBAgITJ706Mu2wJlKckpIvkWxEHvEyijANBgkqhkiG9w0BAQsF\n# ADAUMRIwEAYDVQQDDAlsb2NhbGhvc3QwIBcNMTkwNzIyMTkyOTA0WhgPMjExOTA2\n# MjgxOTI5MDRaMBQxEjAQBgNVBAMMCWxvY2FsaG9zdDCCASIwDQYJKoZIhvcNAQEB\n# BQADggEPADCCAQoCggEBANce58Y/JykI58iyOXpxGfw0/gMvF0hUQAcUrSMxEO6n\n# fZRA49b4OV4SwWmA3395uL2eB2NB8y8qdQ9muXUdPBWE4l9rMZ6gmfu90N5B5uEl\n# 94NcfBfYOKi1fJQ9i7WKhTjlRkMCgBkWPkUokvBZFRt8RtF7zI77BSEorHGQCk9t\n# /D7BS0GJyfVEhftbWcFEAG3VRcoMhF7kUzYwp+qESoriFRYLeDWv68ZOvG7eoWnP\n# PsvZStEVEimjvK5NSESEQa9xWyJOmlOKXhkdymtcUd/nXnx6UTCFgnkgzSdTWV41\n# CI6B6aJ9svCTI2QuoIq2HxX/ix7OvW1huVmcyHVxyUECAwEAAaNTMFEwHQYDVR0O\n# BBYEFPwN1OceFGm9v6ux8G+DZ3TUDYxqMB8GA1UdIwQYMBaAFPwN1OceFGm9v6ux\n# 8G+DZ3TUDYxqMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAG5D\n# 874A4YI7YUwOVsVAdbWtgp1d0zKcPRR+r2OdSbTAV5/gcS3jgBJ3i1BN34JuDVFw\n# 3DeJSYT3nxy2Y56lLnxDeF8CUTUtVQx3CuGkRg1ouGAHpO/6OqOhwLLorEmxi7tA\n# H2O8mtT0poX5AnOAhzVy7QW0D/k4WaoLyckM5hUa6RtvgvLxOwA0U+VGurCDoctu\n# 8F4QOgTAWyh8EZIwaKCliFRSynDpv3JTUwtfZkxo6K6nce1RhCWFAsMvDZL8Dgc0\n# yvgJ38BRsFOtkRuAGSf6ZUwTO8JJRRIFnpUzXflAnGivK9M13D5GEQMmIl6U9Pvk\n# sxSmbIUfc2SGJGCJD4I=\n# -----END CERTIFICATE-----\n", + "type": "yaml" + } + } + }, + { + "type": "apache/metrics", + "policy_template": "apache", + "enabled": true, + "streams": [ + { + "enabled": true, + "data_stream": { + "type": "metrics", + "dataset": "apache.status" + }, + "vars": { + "period": { + "value": "30s", + "type": "text" + }, + "server_status_path": { + "value": "/server-status", + "type": "text" + } + }, + "id": "apache/metrics-apache.status-63172a6b-4f00-4376-b5e6-fe9b3f00fc79", + "compiled_stream": { + "metricsets": [ + "status" + ], + "hosts": [ + "http://127.0.0.1" + ], + "period": "30s", + "server_status_path": "/server-status" + } + } + ], + "vars": { + "hosts": { + "value": [ + "http://127.0.0.1" + ], + "type": "text" + } + } + } + ], + "package": { + "name": "apache", + "title": "Apache", + "version": "1.1.0" + }, + "revision": 1, + "created_at": "2021-09-29T09:52:12.865Z", + "created_by": "elastic", + "updated_at": "2021-09-29T09:52:12.865Z", + "updated_by": "elastic" + } + ], + "total": 1, + "page": 1, + "perPage": 20 +} \ No newline at end of file diff --git a/x-pack/plugins/fleet/cypress/integration/fleet_startup.spec.ts b/x-pack/plugins/fleet/cypress/integration/fleet_startup.spec.ts new file mode 100644 index 00000000000000..804fe56510c1db --- /dev/null +++ b/x-pack/plugins/fleet/cypress/integration/fleet_startup.spec.ts @@ -0,0 +1,33 @@ +/* + * 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 { ADD_AGENT_BUTTON, AGENT_POLICIES_TAB, ENROLLMENT_TOKENS_TAB } from '../screens/fleet'; +import { FLEET, navigateTo } from '../tasks/navigation'; + +describe('Fleet startup', () => { + before(() => { + navigateTo(FLEET); + }); + + it('should display Add agent button and Healthy agent once Fleet Agent page loaded', () => { + cy.getBySel(ADD_AGENT_BUTTON).contains('Add agent'); + cy.get('.euiBadge').contains('Healthy'); + }); + + it('should display default agent policies on agent policies tab', () => { + cy.getBySel(AGENT_POLICIES_TAB).click(); + cy.get('.euiLink').contains('Default policy'); + cy.get('.euiLink').contains('Default Fleet Server policy'); + }); + + it('should display default tokens on enrollment tokens tab', () => { + cy.getBySel(ENROLLMENT_TOKENS_TAB).click(); + cy.get('.euiTableRow').should('have.length', 2); + cy.get('.euiTableRowCell').contains('Default policy'); + cy.get('.euiTableRowCell').contains('Default Fleet Server policy'); + }); +}); diff --git a/x-pack/plugins/fleet/cypress/integration/integrations.spec.ts b/x-pack/plugins/fleet/cypress/integration/integrations.spec.ts new file mode 100644 index 00000000000000..88769ece39f2f7 --- /dev/null +++ b/x-pack/plugins/fleet/cypress/integration/integrations.spec.ts @@ -0,0 +1,96 @@ +/* + * 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 { INTEGRATIONS, navigateTo } from '../tasks/navigation'; +import { + addIntegration, + installPackageWithVersion, + deleteIntegrations, + clickIfVisible, +} from '../tasks/integrations'; +import { + CONFIRM_MODAL_BTN, + FLYOUT_CLOSE_BTN_SEL, + INTEGRATIONS_CARD, + INTEGRATION_NAME_LINK, + LATEST_VERSION, + PACKAGE_VERSION, + POLICIES_TAB, + SETTINGS_TAB, + UPDATE_PACKAGE_BTN, +} from '../screens/integrations'; + +describe('Add Integration', () => { + const integration = 'Apache'; + + describe('Real API', () => { + afterEach(() => { + deleteIntegrations(integration); + }); + it('should display Apache integration in the Policies list once installed ', () => { + addAndVerifyIntegration(); + }); + + it('should upgrade policies with integration update', () => { + const oldVersion = '0.3.3'; + installPackageWithVersion('apache', oldVersion); + navigateTo(`app/integrations/detail/apache-${oldVersion}/policies`); + + addIntegration(); + + cy.getBySel(INTEGRATION_NAME_LINK).contains('apache-'); + cy.getBySel(PACKAGE_VERSION).contains(oldVersion); + + clickIfVisible(FLYOUT_CLOSE_BTN_SEL); + + cy.getBySel(SETTINGS_TAB).click(); + cy.getBySel(UPDATE_PACKAGE_BTN).click(); + cy.getBySel(CONFIRM_MODAL_BTN).click(); + + cy.getBySel(LATEST_VERSION).then(($title) => { + const newVersion = $title.text(); + cy.get('#upgradePoliciesCheckbox').should('not.exist'); + cy.getBySel(POLICIES_TAB).click(); + cy.getBySel(PACKAGE_VERSION).contains(oldVersion).should('not.exist'); + cy.getBySel(PACKAGE_VERSION).contains(newVersion); + }); + }); + }); + + function addAndVerifyIntegration() { + cy.intercept('GET', '/api/fleet/epm/packages?*').as('packages'); + navigateTo(INTEGRATIONS); + cy.wait('@packages'); + cy.get('.euiLoadingSpinner').should('not.exist'); + cy.get('input[placeholder="Search for integrations"]').type('Apache'); + cy.get(INTEGRATIONS_CARD).contains(integration).click(); + addIntegration(); + cy.getBySel(INTEGRATION_NAME_LINK).contains('apache-'); + } + + it.skip('[Mocked requests] should display Apache integration in the Policies list once installed ', () => { + cy.intercept('POST', '/api/fleet/package_policies', { + fixture: 'integrations/create_integration_response.json', + }); + cy.intercept( + 'GET', + '/api/fleet/package_policies?page=1&perPage=20&kuery=ingest-package-policies.package.name%3A%20apache', + { fixture: 'integrations/list.json' } + ); + cy.intercept('GET', '/api/fleet/agent_policies?*', { + fixture: 'integrations/agent_policies.json', + }); + cy.intercept('GET', '/api/fleet/agent_policies/30e16140-2106-11ec-a289-25321523992d', { + fixture: 'integrations/agent_policy.json', + }); + // TODO fixture includes 1 package policy, should be empty initially + cy.intercept('GET', '/api/fleet/epm/packages/apache-1.1.0', { + fixture: 'integrations/apache.json', + }); + addAndVerifyIntegration(); + }); +}); diff --git a/x-pack/plugins/fleet/cypress/plugins/index.ts b/x-pack/plugins/fleet/cypress/plugins/index.ts new file mode 100644 index 00000000000000..a30fd07912cf87 --- /dev/null +++ b/x-pack/plugins/fleet/cypress/plugins/index.ts @@ -0,0 +1,28 @@ +/* + * 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. + */ + +// / +// *********************************************************** +// This example plugins/index.js can be used to load plugins +// +// You can change the location of this file or turn off loading +// the plugins file with the 'pluginsFile' configuration option. +// +// You can read more here: +// https://on.cypress.io/plugins-guide +// *********************************************************** + +// This function is called when a project is opened or re-opened (e.g. due to +// the project's config changing) + +/** + * @type {Cypress.PluginConfig} + */ +module.exports = (_on: any, _config: any) => { + // `on` is used to hook into various events Cypress emits + // `config` is the resolved Cypress config +}; diff --git a/x-pack/plugins/fleet/cypress/screens/fleet.ts b/x-pack/plugins/fleet/cypress/screens/fleet.ts new file mode 100644 index 00000000000000..6be51e5ed24bce --- /dev/null +++ b/x-pack/plugins/fleet/cypress/screens/fleet.ts @@ -0,0 +1,11 @@ +/* + * 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 ADD_AGENT_BUTTON = 'addAgentButton'; + +export const AGENT_POLICIES_TAB = 'fleet-agent-policies-tab'; +export const ENROLLMENT_TOKENS_TAB = 'fleet-enrollment-tokens-tab'; diff --git a/x-pack/plugins/fleet/cypress/screens/integrations.ts b/x-pack/plugins/fleet/cypress/screens/integrations.ts new file mode 100644 index 00000000000000..d42fb904b3224c --- /dev/null +++ b/x-pack/plugins/fleet/cypress/screens/integrations.ts @@ -0,0 +1,25 @@ +/* + * 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 ADD_POLICY_BTN = 'addIntegrationPolicyButton'; +export const CREATE_PACKAGE_POLICY_SAVE_BTN = 'createPackagePolicySaveButton'; +export const INTEGRATIONS_CARD = '.euiCard__titleAnchor'; + +export const INTEGRATION_NAME_LINK = 'integrationNameLink'; + +export const CONFIRM_MODAL_BTN = 'confirmModalConfirmButton'; +export const CONFIRM_MODAL_BTN_SEL = `[data-test-subj=${CONFIRM_MODAL_BTN}]`; + +export const FLYOUT_CLOSE_BTN_SEL = '[data-test-subj="euiFlyoutCloseButton"]'; + +export const SETTINGS_TAB = 'tab-settings'; +export const POLICIES_TAB = 'tab-policies'; + +export const UPDATE_PACKAGE_BTN = 'updatePackageBtn'; +export const LATEST_VERSION = 'latestVersion'; + +export const PACKAGE_VERSION = 'packageVersionText'; diff --git a/x-pack/plugins/fleet/cypress/screens/navigation.ts b/x-pack/plugins/fleet/cypress/screens/navigation.ts new file mode 100644 index 00000000000000..fee38161b6b2b7 --- /dev/null +++ b/x-pack/plugins/fleet/cypress/screens/navigation.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 TOGGLE_NAVIGATION_BTN = '[data-test-subj="toggleNavButton"]'; diff --git a/x-pack/plugins/fleet/cypress/support/commands.ts b/x-pack/plugins/fleet/cypress/support/commands.ts new file mode 100644 index 00000000000000..54cc44f0057f3b --- /dev/null +++ b/x-pack/plugins/fleet/cypress/support/commands.ts @@ -0,0 +1,17 @@ +/* + * 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. + */ + +// *********************************************** +// This example commands.js shows you how to +// create various custom commands and overwrite +// existing commands. +// +// For more comprehensive examples of custom +// commands please read more here: +// https://on.cypress.io/custom-commands +// *********************************************** +// diff --git a/x-pack/plugins/fleet/cypress/support/index.ts b/x-pack/plugins/fleet/cypress/support/index.ts new file mode 100644 index 00000000000000..f074e424d93c34 --- /dev/null +++ b/x-pack/plugins/fleet/cypress/support/index.ts @@ -0,0 +1,47 @@ +/* + * 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. + */ + +// / + +// *********************************************************** +// This example support/index.js is processed and +// loaded automatically before your test files. +// +// This is a great place to put global configuration and +// behavior that modifies Cypress. +// +// You can change the location of this file or turn off +// automatically serving support files with the +// 'supportFile' configuration option. +// +// You can read more here: +// https://on.cypress.io/configuration +// *********************************************************** + +// Import commands.js using ES2015 syntax: +import './commands'; + +declare global { + // eslint-disable-next-line @typescript-eslint/no-namespace + namespace Cypress { + interface Chainable { + getBySel(value: string): Chainable; + } + } +} + +function getBySel(selector: string, ...args: any[]) { + return cy.get(`[data-test-subj=${selector}]`, ...args); +} + +Cypress.Commands.add('getBySel', getBySel); + +// Alternatively you can use CommonJS syntax: +// require('./commands') +Cypress.on('uncaught:exception', () => { + return false; +}); diff --git a/x-pack/plugins/fleet/cypress/tasks/integrations.ts b/x-pack/plugins/fleet/cypress/tasks/integrations.ts new file mode 100644 index 00000000000000..f1c891fa1186c0 --- /dev/null +++ b/x-pack/plugins/fleet/cypress/tasks/integrations.ts @@ -0,0 +1,58 @@ +/* + * 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 { + ADD_POLICY_BTN, + CONFIRM_MODAL_BTN, + CREATE_PACKAGE_POLICY_SAVE_BTN, + FLYOUT_CLOSE_BTN_SEL, + INTEGRATION_NAME_LINK, +} from '../screens/integrations'; + +export const addIntegration = () => { + cy.getBySel(ADD_POLICY_BTN).click(); + cy.getBySel(CREATE_PACKAGE_POLICY_SAVE_BTN).click(); + // sometimes agent is assigned to default policy, sometimes not + cy.getBySel(CONFIRM_MODAL_BTN).click(); + + cy.getBySel(CREATE_PACKAGE_POLICY_SAVE_BTN).should('not.exist'); + clickIfVisible(FLYOUT_CLOSE_BTN_SEL); +}; + +export function clickIfVisible(selector: string) { + cy.get('body').then(($body) => { + if ($body.find(selector).length) { + cy.get(selector).click(); + } + }); +} + +export const deleteIntegrations = async (integration: string) => { + const ids: string[] = []; + cy.getBySel(INTEGRATION_NAME_LINK) + .each(($a) => { + const href = $a.attr('href') as string; + ids.push(href.substr(href.lastIndexOf('/') + 1)); + }) + .then(() => { + cy.request({ + url: `/api/fleet/package_policies/delete`, + headers: { 'kbn-xsrf': 'cypress' }, + body: `{ "packagePolicyIds": ${JSON.stringify(ids)} }`, + method: 'POST', + }); + }); +}; + +export const installPackageWithVersion = (integration: string, version: string) => { + cy.request({ + url: `/api/fleet/epm/packages/${integration}-${version}`, + headers: { 'kbn-xsrf': 'cypress' }, + body: '{ "force": true }', + method: 'POST', + }); +}; diff --git a/x-pack/plugins/fleet/cypress/tasks/navigation.ts b/x-pack/plugins/fleet/cypress/tasks/navigation.ts new file mode 100644 index 00000000000000..a2dd131b647a6a --- /dev/null +++ b/x-pack/plugins/fleet/cypress/tasks/navigation.ts @@ -0,0 +1,19 @@ +/* + * 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 { TOGGLE_NAVIGATION_BTN } from '../screens/navigation'; + +export const INTEGRATIONS = 'app/integrations#/'; +export const FLEET = 'app/fleet/'; + +export const navigateTo = (page: string) => { + cy.visit(page); +}; + +export const openNavigationFlyout = () => { + cy.get(TOGGLE_NAVIGATION_BTN).click(); +}; diff --git a/x-pack/plugins/fleet/cypress/tsconfig.json b/x-pack/plugins/fleet/cypress/tsconfig.json new file mode 100644 index 00000000000000..1adb067fe682e6 --- /dev/null +++ b/x-pack/plugins/fleet/cypress/tsconfig.json @@ -0,0 +1,17 @@ +{ + "extends": "../../../../tsconfig.base.json", + "include": [ + "**/*" + ], + "exclude": [ + "target/**/*" + ], + "compilerOptions": { + "outDir": "target/types", + "types": [ + "cypress", + "node" + ], + "resolveJsonModule": true, + }, + } diff --git a/x-pack/plugins/fleet/package.json b/x-pack/plugins/fleet/package.json index e374dabb82458c..ef15c2fc6bb667 100644 --- a/x-pack/plugins/fleet/package.json +++ b/x-pack/plugins/fleet/package.json @@ -3,5 +3,11 @@ "name": "fleet", "version": "8.0.0", "private": true, - "license": "Elastic-License" + "license": "Elastic-License", + "scripts": { + "cypress:open": "../../../node_modules/.bin/cypress open --config-file ./cypress/cypress.json", + "cypress:open-as-ci": "node ../../../scripts/functional_tests --config ../../test/fleet_cypress/visual_config.ts", + "cypress:run": "../../../node_modules/.bin/cypress run --config-file ./cypress/cypress.json", + "cypress:run-as-ci": "node ../../../scripts/functional_tests --config ../../test/fleet_cypress/cli_config.ts" + } } diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_list_page/components/search_and_filter_bar.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_list_page/components/search_and_filter_bar.tsx index d6a6210bc86730..5fa60eb72b2e54 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_list_page/components/search_and_filter_bar.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_list_page/components/search_and_filter_bar.tsx @@ -224,6 +224,7 @@ export const SearchAndFilterBar: React.FunctionComponent<{ fill iconType="plusInCircle" onClick={() => setIsEnrollmentFlyoutOpen(true)} + data-test-subj="addAgentButton" > diff --git a/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/detail/policies/package_policies.tsx b/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/detail/policies/package_policies.tsx index 69487454dcb94d..425781e81483d2 100644 --- a/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/detail/policies/package_policies.tsx +++ b/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/detail/policies/package_policies.tsx @@ -226,7 +226,7 @@ export const PackagePoliciesPage = ({ name, version }: PackagePoliciesPanelProps return ( - + = memo(({ packageInfo }: Props) => { /> - + {installedVersion} @@ -262,7 +262,7 @@ export const SettingsPage: React.FC = memo(({ packageInfo }: Props) => { /> - + {latestVersion} diff --git a/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/detail/settings/update_button.tsx b/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/detail/settings/update_button.tsx index b5a8394fa2cb22..48d4ef5d846d49 100644 --- a/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/detail/settings/update_button.tsx +++ b/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/detail/settings/update_button.tsx @@ -289,6 +289,7 @@ export const UpdateButton: React.FunctionComponent = ({ onClick={ upgradePackagePolicies ? () => setIsUpdateModalVisible(true) : handleClickUpdate } + data-test-subj="updatePackageBtn" > setTimeout(r, 5000)); + const { data: agents } = await axios.get( + `${this.params.kibanaUrl}/api/fleet/agents`, + this.requestOptions + ); + done = agents.list[0]?.status === 'online'; + if (++retries > 12) { + this.log.error('Giving up on enrolling the agent after a minute'); + throw new Error('Agent timed out while coming online'); + } + } + + return { policyId: policy.policy_id as string }; + } + + protected _cleanup() { + this.log.info('Cleaning up the agent process'); + if (this.agentProcess) { + if (!this.agentProcess.kill(9)) { + this.log.warning('Unable to kill agent process'); + } + + this.agentProcess.on('close', () => { + this.log.info('Agent process closed'); + }); + delete this.agentProcess; + } + return; + } +} diff --git a/x-pack/test/fleet_cypress/artifact_manager.ts b/x-pack/test/fleet_cypress/artifact_manager.ts new file mode 100644 index 00000000000000..aea0eb8bbec86c --- /dev/null +++ b/x-pack/test/fleet_cypress/artifact_manager.ts @@ -0,0 +1,14 @@ +/* + * 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 axios from 'axios'; +import { last } from 'lodash'; + +export async function getLatestVersion(): Promise { + const response: any = await axios('https://artifacts-api.elastic.co/v1/versions'); + return last(response.data.versions as string[]) || '8.0.0-SNAPSHOT'; +} diff --git a/x-pack/test/fleet_cypress/cli_config.ts b/x-pack/test/fleet_cypress/cli_config.ts new file mode 100644 index 00000000000000..b8eb78e6a4abcb --- /dev/null +++ b/x-pack/test/fleet_cypress/cli_config.ts @@ -0,0 +1,19 @@ +/* + * 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 { FtrConfigProviderContext } from '@kbn/test'; + +import { FleetCypressCliTestRunner } from './runner'; + +export default async function ({ readConfigFile }: FtrConfigProviderContext) { + const cypressConfig = await readConfigFile(require.resolve('./config.ts')); + return { + ...cypressConfig.getAll(), + + testRunner: FleetCypressCliTestRunner, + }; +} diff --git a/x-pack/test/fleet_cypress/config.ts b/x-pack/test/fleet_cypress/config.ts new file mode 100644 index 00000000000000..14898f81aac129 --- /dev/null +++ b/x-pack/test/fleet_cypress/config.ts @@ -0,0 +1,44 @@ +/* + * 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 { FtrConfigProviderContext } from '@kbn/test'; + +import { CA_CERT_PATH } from '@kbn/dev-utils'; + +export default async function ({ readConfigFile }: FtrConfigProviderContext) { + const kibanaCommonTestsConfig = await readConfigFile( + require.resolve('../../../test/common/config.js') + ); + const xpackFunctionalTestsConfig = await readConfigFile( + require.resolve('../functional/config.js') + ); + + return { + ...kibanaCommonTestsConfig.getAll(), + + esTestCluster: { + ...xpackFunctionalTestsConfig.get('esTestCluster'), + serverArgs: [ + ...xpackFunctionalTestsConfig.get('esTestCluster.serverArgs'), + // define custom es server here + // API Keys is enabled at the top level + 'xpack.security.enabled=true', + 'http.host=0.0.0.0', + ], + }, + + kbnTestServer: { + ...xpackFunctionalTestsConfig.get('kbnTestServer'), + serverArgs: [ + ...xpackFunctionalTestsConfig.get('kbnTestServer.serverArgs'), + '--csp.strict=false', + // define custom kibana server args here + `--elasticsearch.ssl.certificateAuthorities=${CA_CERT_PATH}`, + ], + }, + }; +} diff --git a/x-pack/test/fleet_cypress/fleet_server.ts b/x-pack/test/fleet_cypress/fleet_server.ts new file mode 100644 index 00000000000000..fe2b8c74592292 --- /dev/null +++ b/x-pack/test/fleet_cypress/fleet_server.ts @@ -0,0 +1,83 @@ +/* + * 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 { ChildProcess, spawn } from 'child_process'; +import { ToolingLog } from '@kbn/dev-utils'; +import axios from 'axios'; +import { Manager } from './resource_manager'; +import { getLatestVersion } from './artifact_manager'; + +export interface ElasticsearchConfig { + esHost: string; + user: string; + password: string; + port: string; +} + +export class FleetManager extends Manager { + private fleetProcess?: ChildProcess; + private esConfig: ElasticsearchConfig; + private log: ToolingLog; + constructor(esConfig: ElasticsearchConfig, log: ToolingLog) { + super(); + this.esConfig = esConfig; + this.log = log; + } + public async setup(): Promise { + this.log.info('Setting fleet up'); + return new Promise(async (res, rej) => { + try { + const response = await axios.post( + `${this.esConfig.esHost}/_security/service/elastic/fleet-server/credential/token` + ); + const serviceToken = response.data.token.value; + const artifact = `docker.elastic.co/beats/elastic-agent:${await getLatestVersion()}`; + this.log.info(artifact); + + const host = 'host.docker.internal'; + + const args = [ + 'run', + '-p', + `8220:8220`, + '--add-host', + 'host.docker.internal:host-gateway', + '--env', + 'FLEET_SERVER_ENABLE=true', + '--env', + `FLEET_SERVER_ELASTICSEARCH_HOST=http://${host}:${this.esConfig.port}`, + '--env', + `FLEET_SERVER_SERVICE_TOKEN=${serviceToken}`, + '--rm', + artifact, + ]; + this.fleetProcess = spawn('docker', args, { + stdio: 'inherit', + }); + this.fleetProcess.on('error', rej); + setTimeout(res, 15000); + } catch (error) { + rej(error); + } + }); + } + + protected _cleanup() { + this.log.info('Removing old fleet config'); + if (this.fleetProcess) { + this.log.info('Closing fleet process'); + if (!this.fleetProcess.kill(9)) { + this.log.warning('Unable to kill fleet server process'); + } + + this.fleetProcess.on('close', () => { + this.log.info('Fleet server process closed'); + }); + delete this.fleetProcess; + } + } +} diff --git a/x-pack/test/fleet_cypress/ftr_provider_context.d.ts b/x-pack/test/fleet_cypress/ftr_provider_context.d.ts new file mode 100644 index 00000000000000..aa56557c09df82 --- /dev/null +++ b/x-pack/test/fleet_cypress/ftr_provider_context.d.ts @@ -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. + */ + +import { GenericFtrProviderContext } from '@kbn/test'; + +import { services } from './services'; + +export type FtrProviderContext = GenericFtrProviderContext; diff --git a/x-pack/test/fleet_cypress/resource_manager.ts b/x-pack/test/fleet_cypress/resource_manager.ts new file mode 100644 index 00000000000000..e892021155417d --- /dev/null +++ b/x-pack/test/fleet_cypress/resource_manager.ts @@ -0,0 +1,24 @@ +/* + * 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. + */ + +const CLEANUP_EVENTS = ['SIGINT', 'exit', 'uncaughtException', 'unhandledRejection']; +export class Manager { + private cleaned = false; + constructor() { + const cleanup = () => this.cleanup(); + CLEANUP_EVENTS.forEach((ev) => process.on(ev, cleanup)); + } + // This must be a synchronous method because it is used in the unhandledException and exit event handlers + public cleanup() { + // Since this can be called multiple places we proxy it with some protection + if (this._cleanup && !this.cleaned) { + this.cleaned = true; + this._cleanup(); + } + } + protected _cleanup?(): void; +} diff --git a/x-pack/test/fleet_cypress/runner.ts b/x-pack/test/fleet_cypress/runner.ts new file mode 100644 index 00000000000000..b49bfbdc091e24 --- /dev/null +++ b/x-pack/test/fleet_cypress/runner.ts @@ -0,0 +1,105 @@ +/* + * 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 { resolve } from 'path'; +import Url from 'url'; + +import { withProcRunner } from '@kbn/dev-utils'; + +import { FtrProviderContext } from './ftr_provider_context'; + +import { AgentManager } from './agent'; +import { FleetManager } from './fleet_server'; + +async function withFleetAgent( + { getService }: FtrProviderContext, + runner: (runnerEnv: Record) => Promise +) { + const log = getService('log'); + const config = getService('config'); + + const esHost = Url.format(config.get('servers.elasticsearch')); + const esConfig = { + user: config.get('servers.elasticsearch.username'), + password: config.get('servers.elasticsearch.password'), + esHost, + port: config.get('servers.elasticsearch.port'), + }; + const fleetManager = new FleetManager(esConfig, log); + + const agentManager = new AgentManager( + { + ...esConfig, + kibanaUrl: Url.format({ + protocol: config.get('servers.kibana.protocol'), + hostname: config.get('servers.kibana.hostname'), + port: config.get('servers.kibana.port'), + }), + }, + log + ); + + // Since the managers will create uncaughtException event handlers we need to exit manually + process.on('uncaughtException', (err) => { + // eslint-disable-next-line no-console + console.error('Encountered error; exiting after cleanup.', err); + process.exit(1); + }); + + await agentManager.setup(); + await fleetManager.setup(); + try { + await runner({}); + } finally { + fleetManager.cleanup(); + agentManager.cleanup(); + } +} + +export async function FleetCypressCliTestRunner(context: FtrProviderContext) { + await startFleetAgent(context, 'run'); +} + +export async function FleetCypressVisualTestRunner(context: FtrProviderContext) { + await startFleetAgent(context, 'open'); +} + +function startFleetAgent(context: FtrProviderContext, cypressCommand: string) { + const log = context.getService('log'); + const config = context.getService('config'); + return withFleetAgent(context, (runnerEnv) => + withProcRunner(log, async (procs) => { + await procs.run('cypress', { + cmd: 'yarn', + args: [`cypress:${cypressCommand}`], + cwd: resolve(__dirname, '../../plugins/fleet'), + env: { + FORCE_COLOR: '1', + // eslint-disable-next-line @typescript-eslint/naming-convention + CYPRESS_baseUrl: Url.format(config.get('servers.kibana')), + // eslint-disable-next-line @typescript-eslint/naming-convention + CYPRESS_protocol: config.get('servers.kibana.protocol'), + // eslint-disable-next-line @typescript-eslint/naming-convention + CYPRESS_hostname: config.get('servers.kibana.hostname'), + // eslint-disable-next-line @typescript-eslint/naming-convention + CYPRESS_configport: config.get('servers.kibana.port'), + CYPRESS_ELASTICSEARCH_URL: Url.format(config.get('servers.elasticsearch')), + CYPRESS_ELASTICSEARCH_USERNAME: config.get('servers.elasticsearch.username'), + CYPRESS_ELASTICSEARCH_PASSWORD: config.get('servers.elasticsearch.password'), + CYPRESS_KIBANA_URL: Url.format({ + protocol: config.get('servers.kibana.protocol'), + hostname: config.get('servers.kibana.hostname'), + port: config.get('servers.kibana.port'), + }), + ...runnerEnv, + ...process.env, + }, + wait: true, + }); + }) + ); +} diff --git a/x-pack/test/fleet_cypress/services.ts b/x-pack/test/fleet_cypress/services.ts new file mode 100644 index 00000000000000..5e063134081ad2 --- /dev/null +++ b/x-pack/test/fleet_cypress/services.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 * from '../../../test/common/services'; diff --git a/x-pack/test/fleet_cypress/visual_config.ts b/x-pack/test/fleet_cypress/visual_config.ts new file mode 100644 index 00000000000000..1a343b52c11616 --- /dev/null +++ b/x-pack/test/fleet_cypress/visual_config.ts @@ -0,0 +1,19 @@ +/* + * 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 { FtrConfigProviderContext } from '@kbn/test'; + +import { FleetCypressVisualTestRunner } from './runner'; + +export default async function ({ readConfigFile }: FtrConfigProviderContext) { + const cypressConfig = await readConfigFile(require.resolve('./config.ts')); + return { + ...cypressConfig.getAll(), + + testRunner: FleetCypressVisualTestRunner, + }; +} From 4bdc17039b32174bd295a48ae45ecb943ea83de1 Mon Sep 17 00:00:00 2001 From: Frank Hassanabad Date: Tue, 2 Nov 2021 08:28:48 -0600 Subject: [PATCH 068/110] [Security Solutions] end to end tests, adds more console logging, removes 200 expect statements (#116987) ## Summary e2e tests are still seeing flake with conflicts and it looks like it _might_ be with querying and not with inserting data. Hard to tell. This PR: * Adds more console logging when the response is not a 200 * Removes the 200 expect statement and hopes for the best but should blow up if it's not 200 in a different way and we will get the console logging statements. * Fixes one other flake with the matrix histogram having different counts. We have encountered this before and are applying the same fix which is to just have it check > 0. * This does fix the timeouts seen where 1 in every 1k rule runs, a rule will not fire until _after_ the 5 minute mark. The timeouts were seen when running the flake runner. Flake failures around `conflict`: https://github.com/elastic/kibana/issues/116926 https://github.com/elastic/kibana/issues/116904 https://github.com/elastic/kibana/issues/116231 Not saying this is going to fix those yet, but it's the last 200 ok's we did an expect on, so it might if we are ignoring the conflict. If it fails again I am hopeful beyond hope that we get the body message and line number within the utilities to determine where/why we are getting these from time to time. It does look to fix the timeouts when a rule misfires and slows down the rate at which we continuously query for rule results. Failure around matrix histogram (The error messages are slightly different on CI each time): https://github.com/elastic/kibana/issues/97365 Ran this with the flake runner across groups 11 and 12 100 times each and did not see the conflict crop up: https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/128 https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/129 The 1 failure in each of those runs were due to something on startup that prevented it from running. ### 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 --- .../security_solution/matrix_dns_histogram.ts | 6 +- .../detection_engine_api_integration/utils.ts | 246 +++++++++++++----- x-pack/test/lists_api_integration/utils.ts | 48 +++- 3 files changed, 226 insertions(+), 74 deletions(-) diff --git a/x-pack/test/api_integration/apis/security_solution/matrix_dns_histogram.ts b/x-pack/test/api_integration/apis/security_solution/matrix_dns_histogram.ts index c7b6bbb84436fd..24cf4699d952c4 100644 --- a/x-pack/test/api_integration/apis/security_solution/matrix_dns_histogram.ts +++ b/x-pack/test/api_integration/apis/security_solution/matrix_dns_histogram.ts @@ -58,7 +58,11 @@ export default function ({ getService }: FtrProviderContext) { }, strategy: 'securitySolutionSearchStrategy', }); - expect(networkDns.rawResponse.aggregations?.dns_count).to.eql({ value: 6604 }); + // This can have a odd unknown flake if we do anything more strict than this. + const dnsCount = networkDns.rawResponse.aggregations?.dns_count as unknown as { + value: number; + }; + expect(dnsCount.value).to.be.above(0); }); }); }); diff --git a/x-pack/test/detection_engine_api_integration/utils.ts b/x-pack/test/detection_engine_api_integration/utils.ts index ae769bd01b52d0..848dbc8fd50af7 100644 --- a/x-pack/test/detection_engine_api_integration/utils.ts +++ b/x-pack/test/detection_engine_api_integration/utils.ts @@ -809,16 +809,18 @@ export const getSimpleRuleOutputWithWebHookAction = (actionId: string): Partial< export const waitFor = async ( functionToTest: () => Promise, functionName: string, - maxTimeout: number = 20000, - timeoutWait: number = 10 + maxTimeout: number = 800000, + timeoutWait: number = 250 ): Promise => { let found = false; let numberOfTries = 0; - - while (!found && numberOfTries < Math.floor(maxTimeout / timeoutWait)) { + const maxTries = Math.floor(maxTimeout / timeoutWait); + while (!found && numberOfTries < maxTries) { if (await functionToTest()) { found = true; } else { + // eslint-disable-next-line no-console + console.log(`Try number ${numberOfTries} out of ${maxTries} for function ${functionName}`); numberOfTries++; } @@ -940,9 +942,9 @@ export const createRule = async ( if (rule.rule_id != null) { // eslint-disable-next-line no-console console.log( - `When creating a rule found an unexpected conflict (409), will attempt a cleanup and one time re-try. This usually indicates a bad cleanup or race condition within the tests: ${JSON.stringify( + `Did not get an expected 200 "ok" when creating a rule (createRule). CI issues could happen. Suspect this line if you are seeing CI issues. body: ${JSON.stringify( response.body - )}` + )}, status: ${JSON.stringify(response.status)}` ); await deleteRule(supertest, rule.rule_id); const secondResponseTry = await supertest @@ -986,7 +988,7 @@ export const deleteRule = async ( if (response.status !== 200) { // eslint-disable-next-line no-console console.log( - `Did not get an expected 200 "ok" when deleting the rule. CI issues could happen. Suspect this line if you are seeing CI issues. body: ${JSON.stringify( + `Did not get an expected 200 "ok" when deleting the rule (deleteRule). CI issues could happen. Suspect this line if you are seeing CI issues. body: ${JSON.stringify( response.body )}, status: ${JSON.stringify(response.status)}` ); @@ -1023,12 +1025,19 @@ export const updateRule = async ( supertest: SuperTest.SuperTest, updatedRule: UpdateRulesSchema ): Promise => { - const { body } = await supertest + const response = await supertest .put(DETECTION_ENGINE_RULES_URL) .set('kbn-xsrf', 'true') - .send(updatedRule) - .expect(200); - return body; + .send(updatedRule); + if (response.status !== 200) { + // eslint-disable-next-line no-console + console.log( + `Did not get an expected 200 "ok" when updating a rule (updateRule). CI issues could happen. Suspect this line if you are seeing CI issues. body: ${JSON.stringify( + response.body + )}, status: ${JSON.stringify(response.status)}` + ); + } + return response.body; }; /** @@ -1037,12 +1046,19 @@ export const updateRule = async ( * @param supertest The supertest deps */ export const createNewAction = async (supertest: SuperTest.SuperTest) => { - const { body } = await supertest + const response = await supertest .post('/api/actions/action') .set('kbn-xsrf', 'true') - .send(getWebHookAction()) - .expect(200); - return body; + .send(getWebHookAction()); + if (response.status !== 200) { + // eslint-disable-next-line no-console + console.log( + `Did not get an expected 200 "ok" when creating a new action. CI issues could happen. Suspect this line if you are seeing CI issues. body: ${JSON.stringify( + response.body + )}, status: ${JSON.stringify(response.status)}` + ); + } + return response.body; }; /** @@ -1059,14 +1075,21 @@ export const findImmutableRuleById = async ( total: number; data: FullResponseSchema[]; }> => { - const { body } = await supertest + const response = await supertest .get( `${DETECTION_ENGINE_RULES_URL}/_find?filter=alert.attributes.tags: "${INTERNAL_IMMUTABLE_KEY}:true" AND alert.attributes.tags: "${INTERNAL_RULE_ID_KEY}:${ruleId}"` ) .set('kbn-xsrf', 'true') - .send() - .expect(200); - return body; + .send(); + if (response.status !== 200) { + // eslint-disable-next-line no-console + console.log( + `Did not get an expected 200 "ok" when finding an immutable rule by id (findImmutableRuleById). CI issues could happen. Suspect this line if you are seeing CI issues. body: ${JSON.stringify( + response.body + )}, status: ${JSON.stringify(response.status)}` + ); + } + return response.body; }; /** @@ -1077,12 +1100,20 @@ export const findImmutableRuleById = async ( export const getPrePackagedRulesStatus = async ( supertest: SuperTest.SuperTest ): Promise => { - const { body } = await supertest + const response = await supertest .get(`${DETECTION_ENGINE_PREPACKAGED_URL}/_status`) .set('kbn-xsrf', 'true') - .send() - .expect(200); - return body; + .send(); + + if (response.status !== 200) { + // eslint-disable-next-line no-console + console.log( + `Did not get an expected 200 "ok" when getting a pre-packaged rule status. CI issues could happen. Suspect this line if you are seeing CI issues. body: ${JSON.stringify( + response.body + )}, status: ${JSON.stringify(response.status)}` + ); + } + return response.body; }; /** @@ -1104,9 +1135,9 @@ export const createExceptionList = async ( if (exceptionList.list_id != null) { // eslint-disable-next-line no-console console.log( - `When creating an exception list found an unexpected conflict (409), will attempt a cleanup and one time re-try. This usually indicates a bad cleanup or race condition within the tests: ${JSON.stringify( + `When creating an exception list found an unexpected conflict (409) creating an exception list (createExceptionList), will attempt a cleanup and one time re-try. This usually indicates a bad cleanup or race condition within the tests: ${JSON.stringify( response.body - )}` + )}, status: ${JSON.stringify(response.status)}` ); await deleteExceptionList(supertest, exceptionList.list_id); const secondResponseTry = await supertest @@ -1152,7 +1183,7 @@ export const deleteExceptionList = async ( if (response.status !== 200) { // eslint-disable-next-line no-console console.log( - `Did not get an expected 200 "ok" when deleting an exception list. CI issues could happen. Suspect this line if you are seeing CI issues. body: ${JSON.stringify( + `Did not get an expected 200 "ok" when deleting an exception list (deleteExceptionList). CI issues could happen. Suspect this line if you are seeing CI issues. body: ${JSON.stringify( response.body )}, status: ${JSON.stringify(response.status)}` ); @@ -1179,7 +1210,7 @@ export const createExceptionListItem = async ( if (response.status !== 200) { // eslint-disable-next-line no-console console.log( - `Did not get an expected 200 "ok" when creating an exception list item. CI issues could happen. Suspect this line if you are seeing CI issues. body: ${JSON.stringify( + `Did not get an expected 200 "ok" when creating an exception list item (createExceptionListItem). CI issues could happen. Suspect this line if you are seeing CI issues. body: ${JSON.stringify( response.body )}, status: ${JSON.stringify(response.status)}` ); @@ -1197,11 +1228,19 @@ export const getRule = async ( supertest: SuperTest.SuperTest, ruleId: string ): Promise => { - const { body } = await supertest + const response = await supertest .get(`${DETECTION_ENGINE_RULES_URL}?rule_id=${ruleId}`) - .set('kbn-xsrf', 'true') - .expect(200); - return body; + .set('kbn-xsrf', 'true'); + + if (response.status !== 200) { + // eslint-disable-next-line no-console + console.log( + `Did not get an expected 200 "ok" when getting a rule (getRule). CI issues could happen. Suspect this line if you are seeing CI issues. body: ${JSON.stringify( + response.body + )}, status: ${JSON.stringify(response.status)}` + ); + } + return response.body; }; export const waitForAlertToComplete = async ( @@ -1209,11 +1248,16 @@ export const waitForAlertToComplete = async ( id: string ): Promise => { await waitFor(async () => { - const { body: alertBody } = await supertest - .get(`/api/alerts/alert/${id}/state`) - .set('kbn-xsrf', 'true') - .expect(200); - return alertBody.previousStartedAt != null; + const response = await supertest.get(`/api/alerts/alert/${id}/state`).set('kbn-xsrf', 'true'); + if (response.status !== 200) { + // eslint-disable-next-line no-console + console.log( + `Did not get an expected 200 "ok" when waiting for an alert to complete (waitForAlertToComplete). CI issues could happen. Suspect this line if you are seeing CI issues. body: ${JSON.stringify( + response.body + )}, status: ${JSON.stringify(response.status)}` + ); + } + return response.body.previousStartedAt != null; }, 'waitForAlertToComplete'); }; @@ -1229,12 +1273,28 @@ export const waitForRuleSuccessOrStatus = async ( ): Promise => { await waitFor(async () => { try { - const { body } = await supertest + const response = await supertest .post(`${DETECTION_ENGINE_RULES_URL}/_find_statuses`) .set('kbn-xsrf', 'true') - .send({ ids: [id] }) - .expect(200); - return body[id]?.current_status?.status === status; + .send({ ids: [id] }); + if (response.status !== 200) { + // eslint-disable-next-line no-console + console.log( + `Did not get an expected 200 "ok" when waiting for a rule success or status (waitForRuleSuccessOrStatus). CI issues could happen. Suspect this line if you are seeing CI issues. body: ${JSON.stringify( + response.body + )}, status: ${JSON.stringify(response.status)}` + ); + } + if (response.body[id]?.current_status?.status !== status) { + // eslint-disable-next-line no-console + console.log( + `Did not get an expected status of ${status} while waiting for a rule success or status for rule id ${id} (waitForRuleSuccessOrStatus). Will continue retrying until status is found. body: ${JSON.stringify( + response.body + )}, status: ${JSON.stringify(response.status)}` + ); + } + + return response.body[id]?.current_status?.status === status; } catch (e) { if ((e as Error).message.includes('got 503 "Service Unavailable"')) { return false; @@ -1274,11 +1334,21 @@ export const getSignalsByRuleIds = async ( supertest: SuperTest.SuperTest, ruleIds: string[] ): Promise> => { - const { body: signalsOpen }: { body: estypes.SearchResponse } = await supertest + const response = await supertest .post(DETECTION_ENGINE_QUERY_SIGNALS_URL) .set('kbn-xsrf', 'true') - .send(getQuerySignalsRuleId(ruleIds)) - .expect(200); + .send(getQuerySignalsRuleId(ruleIds)); + + if (response.status !== 200) { + // eslint-disable-next-line no-console + console.log( + `Did not get an expected 200 "ok" when getting a signal by rule_id (getSignalsByRuleIds). CI issues could happen. Suspect this line if you are seeing CI issues. body: ${JSON.stringify( + response.body + )}, status: ${JSON.stringify(response.status)}` + ); + } + + const { body: signalsOpen }: { body: estypes.SearchResponse } = response; return signalsOpen; }; @@ -1293,11 +1363,20 @@ export const getSignalsByIds = async ( ids: string[], size?: number ): Promise> => { - const { body: signalsOpen }: { body: estypes.SearchResponse } = await supertest + const response = await supertest .post(DETECTION_ENGINE_QUERY_SIGNALS_URL) .set('kbn-xsrf', 'true') - .send(getQuerySignalsId(ids, size)) - .expect(200); + .send(getQuerySignalsId(ids, size)); + + if (response.status !== 200) { + // eslint-disable-next-line no-console + console.log( + `Did not get an expected 200 "ok" when getting a signal by id. CI issues could happen (getSignalsByIds). Suspect this line if you are seeing CI issues. body: ${JSON.stringify( + response.body + )}, status: ${JSON.stringify(response.status)}` + ); + } + const { body: signalsOpen }: { body: estypes.SearchResponse } = response; return signalsOpen; }; @@ -1310,11 +1389,20 @@ export const getSignalsById = async ( supertest: SuperTest.SuperTest, id: string ): Promise> => { - const { body: signalsOpen }: { body: estypes.SearchResponse } = await supertest + const response = await supertest .post(DETECTION_ENGINE_QUERY_SIGNALS_URL) .set('kbn-xsrf', 'true') - .send(getQuerySignalsId([id])) - .expect(200); + .send(getQuerySignalsId([id])); + + if (response.status !== 200) { + // eslint-disable-next-line no-console + console.log( + `Did not get an expected 200 "ok" when getting signals by id (getSignalsById). CI issues could happen. Suspect this line if you are seeing CI issues. body: ${JSON.stringify( + response.body + )}, status: ${JSON.stringify(response.status)}` + ); + } + const { body: signalsOpen }: { body: estypes.SearchResponse } = response; return signalsOpen; }; @@ -1322,10 +1410,19 @@ export const installPrePackagedRules = async ( supertest: SuperTest.SuperTest ): Promise => { await countDownTest(async () => { - const { status } = await supertest + const { status, body } = await supertest .put(DETECTION_ENGINE_PREPACKAGED_URL) .set('kbn-xsrf', 'true') .send(); + if (status !== 200) { + // eslint-disable-next-line no-console + console.log( + `Did not get an expected 200 "ok" when installing pre-packaged rules (installPrePackagedRules) yet. Retrying until we get a 200 "ok". body: ${JSON.stringify( + body + )}, status: ${JSON.stringify(status)}` + ); + } + return status === 200; }, 'installPrePackagedRules'); }; @@ -1480,12 +1577,19 @@ export const createRuleWithExceptionEntries = async ( exceptions_list: [...maybeExceptionList, ...maybeEndpointList], }; const ruleResponse = await createRule(supertest, ruleWithException); - await supertest + const response = await supertest .patch(DETECTION_ENGINE_RULES_URL) .set('kbn-xsrf', 'true') - .send({ rule_id: ruleResponse.rule_id, enabled: true }) - .expect(200); + .send({ rule_id: ruleResponse.rule_id, enabled: true }); + if (response.status !== 200) { + // eslint-disable-next-line no-console + console.log( + `Did not get an expected 200 "ok" when patching a rule with exception entries (createRuleWithExceptionEntries). CI issues could happen. Suspect this line if you are seeing CI issues. body: ${JSON.stringify( + response.body + )}, status: ${JSON.stringify(response.status)}` + ); + } return ruleResponse; }; @@ -1542,14 +1646,22 @@ export const startSignalsMigration = async ({ supertest: SuperTest.SuperTest; indices: string[]; }): Promise => { - const { - body: { indices: created }, - }: { body: { indices: CreateMigrationResponse[] } } = await supertest + const response = await supertest .post(DETECTION_ENGINE_SIGNALS_MIGRATION_URL) .set('kbn-xsrf', 'true') - .send({ index: indices }) - .expect(200); + .send({ index: indices }); + const { + body: { indices: created }, + }: { body: { indices: CreateMigrationResponse[] } } = response; + if (response.status !== 200) { + // eslint-disable-next-line no-console + console.log( + `Did not get an expected 200 "ok" when starting a signals migration (startSignalsMigration). CI issues could happen. Suspect this line if you are seeing CI issues. body: ${JSON.stringify( + response.body + )}, status: ${JSON.stringify(response.status)}` + ); + } return created; }; @@ -1566,14 +1678,22 @@ export const finalizeSignalsMigration = async ({ supertest: SuperTest.SuperTest; migrationIds: string[]; }): Promise => { - const { - body: { migrations }, - }: { body: { migrations: FinalizeMigrationResponse[] } } = await supertest + const response = await supertest .post(DETECTION_ENGINE_SIGNALS_FINALIZE_MIGRATION_URL) .set('kbn-xsrf', 'true') - .send({ migration_ids: migrationIds }) - .expect(200); + .send({ migration_ids: migrationIds }); + const { + body: { migrations }, + }: { body: { migrations: FinalizeMigrationResponse[] } } = response; + if (response.status !== 200) { + // eslint-disable-next-line no-console + console.log( + `Did not get an expected 200 "ok" when finalizing signals migration (finalizeSignalsMigration). CI issues could happen. Suspect this line if you are seeing CI issues. body: ${JSON.stringify( + response.body + )}, status: ${JSON.stringify(response.status)}` + ); + } return migrations; }; diff --git a/x-pack/test/lists_api_integration/utils.ts b/x-pack/test/lists_api_integration/utils.ts index eda32c7fe9fb88..8a2a7a8ca65ff4 100644 --- a/x-pack/test/lists_api_integration/utils.ts +++ b/x-pack/test/lists_api_integration/utils.ts @@ -116,20 +116,25 @@ export const removeExceptionListServerGeneratedProperties = ( export const waitFor = async ( functionToTest: () => Promise, functionName: string, - maxTimeout: number = 5000, - timeoutWait: number = 10 + maxTimeout: number = 800000, + timeoutWait: number = 250 ) => { await new Promise(async (resolve, reject) => { try { let found = false; let numberOfTries = 0; + const maxTries = Math.floor(maxTimeout / timeoutWait); - while (!found && numberOfTries < Math.floor(maxTimeout / timeoutWait)) { + while (!found && numberOfTries < maxTries) { const itPasses = await functionToTest(); if (itPasses) { found = true; } else { + // eslint-disable-next-line no-console + console.log( + `Try number ${numberOfTries} out of ${maxTries} for function ${functionName}` + ); numberOfTries++; } @@ -219,7 +224,7 @@ export const importFile = async ( if (response.status !== 200) { // eslint-disable-next-line no-console console.log( - `Did not get an expected 200 "ok" When importing a file. CI issues could happen. Suspect this line if you are seeing CI issues. body: ${JSON.stringify( + `Did not get an expected 200 "ok" When importing a file (importFile). CI issues could happen. Suspect this line if you are seeing CI issues. body: ${JSON.stringify( response.body )}, status: ${JSON.stringify(response.status)}` ); @@ -246,12 +251,20 @@ export const importTextFile = async ( contents: string[], fileName: string ): Promise => { - await supertest + const response = await supertest .post(`${LIST_ITEM_URL}/_import?type=${type}`) .set('kbn-xsrf', 'true') .attach('file', getImportListItemAsBuffer(contents), fileName) - .expect('Content-Type', 'application/json; charset=utf-8') - .expect(200); + .expect('Content-Type', 'application/json; charset=utf-8'); + + if (response.status !== 200) { + // eslint-disable-next-line no-console + console.log( + `Did not get an expected 200 "ok" when importing a text file (importTextFile). CI issues could happen. Suspect this line if you are seeing CI issues. body: ${JSON.stringify( + response.body + )}, status: ${JSON.stringify(response.status)}` + ); + } // although we have pushed the list and its items, it is async so we // have to wait for the contents before continuing @@ -271,10 +284,17 @@ export const waitForListItem = async ( fileName: string ): Promise => { await waitFor(async () => { - const { status } = await supertest + const { status, body } = await supertest .get(`${LIST_ITEM_URL}?list_id=${fileName}&value=${itemValue}`) .send(); - + if (status !== 200) { + // eslint-disable-next-line no-console + console.log( + `Did not get an expected 200 "ok" when waiting for a list item (waitForListItem) yet. Retrying until we get a 200 "ok". body: ${JSON.stringify( + body + )}, status: ${JSON.stringify(status)}` + ); + } return status === 200; }, `waitForListItem fileName: "${fileName}" itemValue: "${itemValue}"`); }; @@ -310,9 +330,17 @@ export const waitForTextListItem = async ( await waitFor(async () => { const promises = await Promise.all( tokens.map(async (token) => { - const { status } = await supertest + const { status, body } = await supertest .get(`${LIST_ITEM_URL}?list_id=${fileName}&value=${token}`) .send(); + if (status !== 200) { + // eslint-disable-next-line no-console + console.log( + `Did not get an expected 200 "ok" when waiting for a text list item (waitForTextListItem) yet. Retrying until we get a 200 "ok". body: ${JSON.stringify( + body + )}, status: ${JSON.stringify(status)}` + ); + } return status === 200; }) ); From 4eca663c083e72878be33772e0f54d8fc4328416 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cau=C3=AA=20Marcondes?= <55978943+cauemarcondes@users.noreply.github.com> Date: Tue, 2 Nov 2021 10:34:22 -0400 Subject: [PATCH 069/110] [APM] Error distribution chart comparison label and layout fix (#117004) * fixing bucket size when no data available * fixing layout * removing import Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../app/error_group_overview/index.tsx | 45 ++++---- .../lib/errors/distribution/get_buckets.ts | 5 +- .../tests/errors/distribution.ts | 105 ++++++++++++------ 3 files changed, 94 insertions(+), 61 deletions(-) diff --git a/x-pack/plugins/apm/public/components/app/error_group_overview/index.tsx b/x-pack/plugins/apm/public/components/app/error_group_overview/index.tsx index 5e9095def6e558..9e113b37a1394d 100644 --- a/x-pack/plugins/apm/public/components/app/error_group_overview/index.tsx +++ b/x-pack/plugins/apm/public/components/app/error_group_overview/index.tsx @@ -7,7 +7,6 @@ import { EuiFlexGroup, - EuiFlexGrid, EuiFlexItem, EuiPanel, EuiSpacer, @@ -73,28 +72,30 @@ export function ErrorGroupOverview() { return ( - - - - - + + + + + + + + + - - - - - - - + + + + diff --git a/x-pack/plugins/apm/server/lib/errors/distribution/get_buckets.ts b/x-pack/plugins/apm/server/lib/errors/distribution/get_buckets.ts index a2d22a2c8f6ad4..dce8a3f397eaaa 100644 --- a/x-pack/plugins/apm/server/lib/errors/distribution/get_buckets.ts +++ b/x-pack/plugins/apm/server/lib/errors/distribution/get_buckets.ts @@ -84,8 +84,5 @@ export async function getBuckets({ y: bucket.doc_count, }) ); - - return { - buckets: resp.hits.total.value > 0 ? buckets : [], - }; + return { buckets }; } diff --git a/x-pack/test/apm_api_integration/tests/errors/distribution.ts b/x-pack/test/apm_api_integration/tests/errors/distribution.ts index 4f4b457de86bd1..666c5c2ea29754 100644 --- a/x-pack/test/apm_api_integration/tests/errors/distribution.ts +++ b/x-pack/test/apm_api_integration/tests/errors/distribution.ts @@ -154,48 +154,83 @@ export default function ApiTest({ getService }: FtrProviderContext) { }); describe('with comparison', () => { - let errorsDistribution: ErrorsDistribution; - before(async () => { - const fiveMinutes = 5 * 60 * 1000; - const response = await callApi({ - query: { - start: new Date(end - fiveMinutes).toISOString(), - end: new Date(end).toISOString(), - comparisonStart: new Date(start).toISOString(), - comparisonEnd: new Date(start + fiveMinutes).toISOString(), - }, + describe('when data is returned', () => { + let errorsDistribution: ErrorsDistribution; + before(async () => { + const fiveMinutes = 5 * 60 * 1000; + const response = await callApi({ + query: { + start: new Date(end - fiveMinutes).toISOString(), + end: new Date(end).toISOString(), + comparisonStart: new Date(start).toISOString(), + comparisonEnd: new Date(start + fiveMinutes).toISOString(), + }, + }); + errorsDistribution = response.body; }); - errorsDistribution = response.body; - }); - it('returns some data', () => { - const hasCurrentPeriodData = errorsDistribution.currentPeriod.some(({ y }) => - isFiniteNumber(y) - ); + it('returns some data', () => { + const hasCurrentPeriodData = errorsDistribution.currentPeriod.some(({ y }) => + isFiniteNumber(y) + ); - const hasPreviousPeriodData = errorsDistribution.previousPeriod.some(({ y }) => - isFiniteNumber(y) - ); + const hasPreviousPeriodData = errorsDistribution.previousPeriod.some(({ y }) => + isFiniteNumber(y) + ); - expect(hasCurrentPeriodData).to.equal(true); - expect(hasPreviousPeriodData).to.equal(true); - }); + expect(hasCurrentPeriodData).to.equal(true); + expect(hasPreviousPeriodData).to.equal(true); + }); - it('has same start time for both periods', () => { - expect(first(errorsDistribution.currentPeriod)?.x).to.equal( - first(errorsDistribution.previousPeriod)?.x - ); - }); + it('has same start time for both periods', () => { + expect(first(errorsDistribution.currentPeriod)?.x).to.equal( + first(errorsDistribution.previousPeriod)?.x + ); + }); - it('has same end time for both periods', () => { - expect(last(errorsDistribution.currentPeriod)?.x).to.equal( - last(errorsDistribution.previousPeriod)?.x - ); + it('has same end time for both periods', () => { + expect(last(errorsDistribution.currentPeriod)?.x).to.equal( + last(errorsDistribution.previousPeriod)?.x + ); + }); + + it('returns same number of buckets for both periods', () => { + expect(errorsDistribution.currentPeriod.length).to.equal( + errorsDistribution.previousPeriod.length + ); + }); }); - it('returns same number of buckets for both periods', () => { - expect(errorsDistribution.currentPeriod.length).to.equal( - errorsDistribution.previousPeriod.length - ); + describe('when no data is returned', () => { + let errorsDistribution: ErrorsDistribution; + before(async () => { + const response = await callApi({ + query: { + start: '2021-01-03T00:00:00.000Z', + end: '2021-01-03T00:15:00.000Z', + comparisonStart: '2021-01-02T00:00:00.000Z', + comparisonEnd: '2021-01-02T00:15:00.000Z', + }, + }); + errorsDistribution = response.body; + }); + + it('has same start time for both periods', () => { + expect(first(errorsDistribution.currentPeriod)?.x).to.equal( + first(errorsDistribution.previousPeriod)?.x + ); + }); + + it('has same end time for both periods', () => { + expect(last(errorsDistribution.currentPeriod)?.x).to.equal( + last(errorsDistribution.previousPeriod)?.x + ); + }); + + it('returns same number of buckets for both periods', () => { + expect(errorsDistribution.currentPeriod.length).to.equal( + errorsDistribution.previousPeriod.length + ); + }); }); }); }); From 480262350271cf74f83ac83450d99db7dc88494b Mon Sep 17 00:00:00 2001 From: Alexey Antonov Date: Tue, 2 Nov 2021 17:42:22 +0300 Subject: [PATCH 070/110] [TSVB] [Timelion] Brushing is broken for the string mode (#117106) Closes: #116734 --- .../timelion/public/timelion_vis_renderer.tsx | 6 ++++-- .../components/timeseries_visualization.tsx | 10 ++++++---- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/plugins/vis_types/timelion/public/timelion_vis_renderer.tsx b/src/plugins/vis_types/timelion/public/timelion_vis_renderer.tsx index c74c0f2ee6c2d2..633f15a9824ea6 100644 --- a/src/plugins/vis_types/timelion/public/timelion_vis_renderer.tsx +++ b/src/plugins/vis_types/timelion/public/timelion_vis_renderer.tsx @@ -45,8 +45,10 @@ export const getTimelionVisRenderer: ( timeFieldName: '*', filters: [ { - range: { - '*': rangeFilterParams, + query: { + range: { + '*': rangeFilterParams, + }, }, }, ], diff --git a/src/plugins/vis_types/timeseries/public/application/components/timeseries_visualization.tsx b/src/plugins/vis_types/timeseries/public/application/components/timeseries_visualization.tsx index 886b569671a6b4..0916892cfda461 100644 --- a/src/plugins/vis_types/timeseries/public/application/components/timeseries_visualization.tsx +++ b/src/plugins/vis_types/timeseries/public/application/components/timeseries_visualization.tsx @@ -81,10 +81,12 @@ function TimeseriesVisualization({ timeFieldName: '*', filters: [ { - range: { - '*': { - gte, - lte, + query: { + range: { + '*': { + gte, + lte, + }, }, }, }, From 089505956d1ad004752411113541575b01a00c80 Mon Sep 17 00:00:00 2001 From: Madison Caldwell Date: Tue, 2 Nov 2021 10:54:07 -0400 Subject: [PATCH 071/110] Implement suggestions from PR #116491 (#117014) --- .../schedule_notification_actions.ts | 2 +- .../rule_types/utils/expand_dotted.test.ts | 17 +++++++ .../rule_types/utils/expand_dotted.ts | 3 ++ .../detection_engine/signals/utils.test.ts | 50 +++++++++++++++++++ .../lib/detection_engine/signals/utils.ts | 2 +- 5 files changed, 72 insertions(+), 2 deletions(-) diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/schedule_notification_actions.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/schedule_notification_actions.ts index 744742f64eb4aa..2362a6a392a56e 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/schedule_notification_actions.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/schedule_notification_actions.ts @@ -34,7 +34,7 @@ const convertToLegacyAlert = (alert: RACAlert) => * Formats alerts before sending to `scheduleActions`. We augment the context with * the equivalent "legacy" alert context so that pre-8.0 actions will continue to work. */ -const formatAlertsForNotificationActions = (alerts: unknown[]) => { +const formatAlertsForNotificationActions = (alerts: unknown[]): unknown[] => { return alerts.map((alert) => isRACAlert(alert) ? { diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/expand_dotted.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/expand_dotted.test.ts index efdaf2377872c3..018220e4009375 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/expand_dotted.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/expand_dotted.test.ts @@ -69,4 +69,21 @@ describe('Expand Dotted', () => { flat: 'yep', }); }); + + it('expands non dotted field without changing it other than reference', () => { + const simpleDottedObj = { + test: { value: '123' }, + }; + expect(expandDottedObject(simpleDottedObj)).toEqual(simpleDottedObj); + }); + + it('expands empty object without changing it other than reference', () => { + const simpleDottedObj = {}; + expect(expandDottedObject(simpleDottedObj)).toEqual(simpleDottedObj); + }); + + it('if we allow arrays as a type, it should not touch them', () => { + const simpleDottedObj: string[] = ['hello']; + expect(expandDottedObject(simpleDottedObj)).toEqual(simpleDottedObj); + }); }); diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/expand_dotted.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/expand_dotted.ts index 69a9cb8236cbce..f90f589486ff50 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/expand_dotted.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/expand_dotted.ts @@ -45,6 +45,9 @@ const expandDottedField = (dottedFieldName: string, val: unknown): object => { * } */ export const expandDottedObject = (dottedObj: object) => { + if (Array.isArray(dottedObj)) { + return dottedObj; + } return Object.entries(dottedObj).reduce( (acc, [key, val]) => merge(acc, expandDottedField(key, val)), {} diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/signals/utils.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/signals/utils.test.ts index 48def86203e952..8da9267daabacf 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/signals/utils.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/signals/utils.test.ts @@ -8,6 +8,7 @@ import moment from 'moment'; import sinon from 'sinon'; import { TransportResult } from '@elastic/elasticsearch'; +import { ALERT_UUID } from '@kbn/rule-data-utils'; import { alertsMock, AlertServicesMock } from '../../../../../alerting/server/mocks'; import { listMock } from '../../../../../lists/server/mocks'; @@ -41,6 +42,7 @@ import { getValidDateFromDoc, calculateTotal, getTotalHitsValue, + isRACAlert, } from './utils'; import { BulkResponseErrorAggregation, SearchAfterAndBulkCreateReturnType } from './types'; import { @@ -1519,4 +1521,52 @@ describe('utils', () => { expect(calculateTotal(undefined, 2)).toBe(-1); }); }); + + describe('isRACAlert', () => { + test('alert with dotted fields returns true', () => { + expect( + isRACAlert({ + [ALERT_UUID]: '123', + }) + ).toEqual(true); + }); + + test('alert with nested fields returns true', () => { + expect( + isRACAlert({ + kibana: { + alert: { uuid: '123' }, + }, + }) + ).toEqual(true); + }); + + test('undefined returns false', () => { + expect(isRACAlert(undefined)).toEqual(false); + }); + + test('null returns false', () => { + expect(isRACAlert(null)).toEqual(false); + }); + + test('number returns false', () => { + expect(isRACAlert(5)).toEqual(false); + }); + + test('string returns false', () => { + expect(isRACAlert('a')).toEqual(false); + }); + + test('array returns false', () => { + expect(isRACAlert([])).toEqual(false); + }); + + test('empty object returns false', () => { + expect(isRACAlert({})).toEqual(false); + }); + + test('alert with null value returns false', () => { + expect(isRACAlert({ 'kibana.alert.uuid': null })).toEqual(false); + }); + }); }); diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/signals/utils.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/signals/utils.ts index 7cdcae96490a90..8a59d71fe74ec6 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/signals/utils.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/signals/utils.ts @@ -986,7 +986,7 @@ export const isWrappedRACAlert = (event: SimpleHit): event is WrappedRACAlert => }; export const isRACAlert = (event: unknown): event is RACAlert => { - return (event as RACAlert)?.[ALERT_UUID] != null; + return get(event, ALERT_UUID) != null; }; export const racFieldMappings: Record = { From 3742d46b0f4ea24974fe9745053a20ba95bf1010 Mon Sep 17 00:00:00 2001 From: Corey Robertson Date: Tue, 2 Nov 2021 11:07:08 -0400 Subject: [PATCH 072/110] Fix shortcut docs (#114115) Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- x-pack/plugins/canvas/public/application.tsx | 9 ++++++++- .../function_reference_generator.tsx | 7 ++++--- .../canvas/public/components/help_menu/help_menu.tsx | 9 +++++++-- 3 files changed, 19 insertions(+), 6 deletions(-) diff --git a/x-pack/plugins/canvas/public/application.tsx b/x-pack/plugins/canvas/public/application.tsx index 04d3958b68e365..937c9f56f948c7 100644 --- a/x-pack/plugins/canvas/public/application.tsx +++ b/x-pack/plugins/canvas/public/application.tsx @@ -37,6 +37,7 @@ import { services, LegacyServicesProvider, CanvasPluginServices, + pluginServices as canvasServices, } from './services'; import { initFunctions } from './functions'; // @ts-expect-error untyped local @@ -151,7 +152,13 @@ export const initializeCanvas = async ( }, ], content: (domNode) => { - ReactDOM.render(, domNode); + ReactDOM.render( + , + domNode + ); return () => ReactDOM.unmountComponentAtNode(domNode); }, }); diff --git a/x-pack/plugins/canvas/public/components/function_reference_generator/function_reference_generator.tsx b/x-pack/plugins/canvas/public/components/function_reference_generator/function_reference_generator.tsx index b4d22d8e6e6db3..49b5aaaf1b2099 100644 --- a/x-pack/plugins/canvas/public/components/function_reference_generator/function_reference_generator.tsx +++ b/x-pack/plugins/canvas/public/components/function_reference_generator/function_reference_generator.tsx @@ -9,15 +9,16 @@ import React, { FC } from 'react'; import { ExpressionFunction } from 'src/plugins/expressions'; import { EuiButtonEmpty } from '@elastic/eui'; import copy from 'copy-to-clipboard'; -import { useNotifyService } from '../../services'; +import { CanvasPluginServices } from '../../services'; + import { generateFunctionReference } from './generate_function_reference'; interface Props { functionRegistry: Record; + notifyService: CanvasPluginServices['notify']; } -export const FunctionReferenceGenerator: FC = ({ functionRegistry }) => { - const notifyService = useNotifyService(); +export const FunctionReferenceGenerator: FC = ({ functionRegistry, notifyService }) => { const functionDefinitions = Object.values(functionRegistry); const copyDocs = () => { diff --git a/x-pack/plugins/canvas/public/components/help_menu/help_menu.tsx b/x-pack/plugins/canvas/public/components/help_menu/help_menu.tsx index af1850beb5290f..9331de3fcad4be 100644 --- a/x-pack/plugins/canvas/public/components/help_menu/help_menu.tsx +++ b/x-pack/plugins/canvas/public/components/help_menu/help_menu.tsx @@ -11,6 +11,7 @@ import { i18n } from '@kbn/i18n'; import { ExpressionFunction } from 'src/plugins/expressions'; import { KeyboardShortcutsDoc } from '../keyboard_shortcuts_doc'; +import { CanvasPluginServices } from '../../services/'; let FunctionReferenceGenerator: null | React.LazyExoticComponent = null; @@ -31,9 +32,10 @@ const strings = { interface Props { functionRegistry: Record; + notifyService: CanvasPluginServices['notify']; } -export const HelpMenu: FC = ({ functionRegistry }) => { +export const HelpMenu: FC = ({ functionRegistry, notifyService }) => { const [isFlyoutVisible, setFlyoutVisible] = useState(false); const showFlyout = () => { @@ -53,7 +55,10 @@ export const HelpMenu: FC = ({ functionRegistry }) => { {FunctionReferenceGenerator ? ( - + ) : null} From 441d77853f7af2b20e54f948c8e72c08c005e8d3 Mon Sep 17 00:00:00 2001 From: Jason Stoltzfus Date: Tue, 2 Nov 2021 11:21:45 -0400 Subject: [PATCH 073/110] Remove analytics event (#116995) --- .../components/curations/curation/curation_logic.test.ts | 1 + .../app_search/components/curations/curation/curation_logic.ts | 1 + .../enterprise_search/server/routes/app_search/curations.ts | 3 +++ 3 files changed, 5 insertions(+) diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/curation_logic.test.ts b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/curation_logic.test.ts index b1f16944c985b1..260ac77774fa78 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/curation_logic.test.ts +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/curation_logic.test.ts @@ -412,6 +412,7 @@ describe('CurationLogic', () => { expect(http.put).toHaveBeenCalledWith( '/internal/app_search/engines/some-engine/curations/cur-123456789', { + query: { skip_record_analytics: 'true' }, body: '{"queries":["a","b","c"],"query":"b","promoted":["d","e","f"],"hidden":["g"]}', // Uses state currently in CurationLogic } ); diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/curation_logic.ts b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/curation_logic.ts index b5aecc417003e4..a325a53f472a96 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/curation_logic.ts +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/curation_logic.ts @@ -251,6 +251,7 @@ export const CurationLogic = kea( `/internal/app_search/engines/${engineName}/curations/${props.curationId}`, { + query: { skip_record_analytics: 'true' }, body: JSON.stringify({ queries: values.queries, query: values.activeQuery, diff --git a/x-pack/plugins/enterprise_search/server/routes/app_search/curations.ts b/x-pack/plugins/enterprise_search/server/routes/app_search/curations.ts index b6ef8c8acafa5d..a7282e5dc6cc46 100644 --- a/x-pack/plugins/enterprise_search/server/routes/app_search/curations.ts +++ b/x-pack/plugins/enterprise_search/server/routes/app_search/curations.ts @@ -85,6 +85,9 @@ export function registerCurationsRoutes({ { path: '/internal/app_search/engines/{engineName}/curations/{curationId}', validate: { + query: schema.object({ + skip_record_analytics: schema.string(), + }), params: schema.object({ engineName: schema.string(), curationId: schema.string(), From a749f2152630cce003181d58187d3b9aca880863 Mon Sep 17 00:00:00 2001 From: Nathan Reese Date: Tue, 2 Nov 2021 09:24:52 -0600 Subject: [PATCH 074/110] =?UTF-8?q?[Maps]=20fix=20unable=20to=20pluck=20st?= =?UTF-8?q?yle=20meta=20from=20local=20data=20for=20geo=5Fgrid=20ve?= =?UTF-8?q?=E2=80=A6=20(#117033)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * [Maps] fix unable to pluck style meta from local data for geo_grid vector tiles for any property other then count * use metric instead of field value to be more precise Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../layer_descriptor_types.ts | 7 ++ .../public/classes/fields/agg/agg_field.ts | 14 +++ .../classes/fields/agg/count_agg_field.ts | 14 +++ .../fields/agg/top_term_percentage_field.ts | 5 + .../maps/public/classes/fields/field.ts | 7 ++ .../properties/dynamic_style_property.tsx | 17 +--- x-pack/test/functional/apps/maps/index.js | 2 +- ...{mvt_super_fine.js => mvt_geotile_grid.js} | 96 ++++++++++++++++++- .../fixtures/kbn_archiver/maps.json | 52 +++++++++- 9 files changed, 197 insertions(+), 17 deletions(-) rename x-pack/test/functional/apps/maps/{mvt_super_fine.js => mvt_geotile_grid.js} (52%) diff --git a/x-pack/plugins/maps/common/descriptor_types/layer_descriptor_types.ts b/x-pack/plugins/maps/common/descriptor_types/layer_descriptor_types.ts index 8f681cc9de70de..4d687969308bbe 100644 --- a/x-pack/plugins/maps/common/descriptor_types/layer_descriptor_types.ts +++ b/x-pack/plugins/maps/common/descriptor_types/layer_descriptor_types.ts @@ -32,6 +32,13 @@ export type TileMetaFeature = Feature & { properties: { 'hits.total.relation': string; 'hits.total.value': number; + + // For _mvt requests with "aggs" property in request: aggregation statistics returned in the pattern outined below + // aggregations._count.min + // aggregations._count.max + // aggregations..min + // aggregations..max + [key: string]: number | string; }; }; diff --git a/x-pack/plugins/maps/public/classes/fields/agg/agg_field.ts b/x-pack/plugins/maps/public/classes/fields/agg/agg_field.ts index aba25a6d0babfc..ed8830a7c56b61 100644 --- a/x-pack/plugins/maps/public/classes/fields/agg/agg_field.ts +++ b/x-pack/plugins/maps/public/classes/fields/agg/agg_field.ts @@ -7,6 +7,7 @@ import { IndexPattern } from 'src/plugins/data/public'; import { AGG_TYPE } from '../../../../common/constants'; +import { TileMetaFeature } from '../../../../common/descriptor_types'; import { CountAggField } from './count_agg_field'; import { isMetricCountable } from '../../util/is_metric_countable'; import { CountAggFieldParams } from './agg_field_types'; @@ -104,4 +105,17 @@ export class AggField extends CountAggField { async getCategoricalFieldMetaRequest(size: number): Promise { return this._esDocField ? await this._esDocField.getCategoricalFieldMetaRequest(size) : null; } + + pluckRangeFromTileMetaFeature(metaFeature: TileMetaFeature) { + const minField = `aggregations.${this.getName()}.min`; + const maxField = `aggregations.${this.getName()}.max`; + return metaFeature.properties && + typeof metaFeature.properties[minField] === 'number' && + typeof metaFeature.properties[maxField] === 'number' + ? { + min: metaFeature.properties[minField] as number, + max: metaFeature.properties[maxField] as number, + } + : null; + } } diff --git a/x-pack/plugins/maps/public/classes/fields/agg/count_agg_field.ts b/x-pack/plugins/maps/public/classes/fields/agg/count_agg_field.ts index d8301ccd353536..7f38379c1075b3 100644 --- a/x-pack/plugins/maps/public/classes/fields/agg/count_agg_field.ts +++ b/x-pack/plugins/maps/public/classes/fields/agg/count_agg_field.ts @@ -9,6 +9,7 @@ import { IndexPattern } from 'src/plugins/data/public'; import { IESAggSource } from '../../sources/es_agg_source'; import { IVectorSource } from '../../sources/vector_source'; import { AGG_TYPE, FIELD_ORIGIN } from '../../../../common/constants'; +import { TileMetaFeature } from '../../../../common/descriptor_types'; import { ITooltipProperty, TooltipProperty } from '../../tooltips/tooltip_property'; import { ESAggTooltipProperty } from '../../tooltips/es_agg_tooltip_property'; import { IESAggField, CountAggFieldParams } from './agg_field_types'; @@ -109,4 +110,17 @@ export class CountAggField implements IESAggField { isEqual(field: IESAggField) { return field.getName() === this.getName(); } + + pluckRangeFromTileMetaFeature(metaFeature: TileMetaFeature) { + const minField = `aggregations._count.min`; + const maxField = `aggregations._count.max`; + return metaFeature.properties && + typeof metaFeature.properties[minField] === 'number' && + typeof metaFeature.properties[maxField] === 'number' + ? { + min: metaFeature.properties[minField] as number, + max: metaFeature.properties[maxField] as number, + } + : null; + } } diff --git a/x-pack/plugins/maps/public/classes/fields/agg/top_term_percentage_field.ts b/x-pack/plugins/maps/public/classes/fields/agg/top_term_percentage_field.ts index ccb1cae201548f..d0618f64a5e717 100644 --- a/x-pack/plugins/maps/public/classes/fields/agg/top_term_percentage_field.ts +++ b/x-pack/plugins/maps/public/classes/fields/agg/top_term_percentage_field.ts @@ -9,6 +9,7 @@ import { IESAggField } from './agg_field_types'; import { IVectorSource } from '../../sources/vector_source'; import { ITooltipProperty, TooltipProperty } from '../../tooltips/tooltip_property'; import { TOP_TERM_PERCENTAGE_SUFFIX, FIELD_ORIGIN } from '../../../../common/constants'; +import { TileMetaFeature } from '../../../../common/descriptor_types'; export class TopTermPercentageField implements IESAggField { private readonly _topTermAggField: IESAggField; @@ -90,4 +91,8 @@ export class TopTermPercentageField implements IESAggField { isEqual(field: IESAggField) { return field.getName() === this.getName(); } + + pluckRangeFromTileMetaFeature(metaFeature: TileMetaFeature) { + return null; + } } diff --git a/x-pack/plugins/maps/public/classes/fields/field.ts b/x-pack/plugins/maps/public/classes/fields/field.ts index dcf6ac54dc836e..96d42a91319e15 100644 --- a/x-pack/plugins/maps/public/classes/fields/field.ts +++ b/x-pack/plugins/maps/public/classes/fields/field.ts @@ -5,6 +5,7 @@ * 2.0. */ +import { TileMetaFeature } from '../../../common/descriptor_types'; import { FIELD_ORIGIN } from '../../../common/constants'; import { IVectorSource } from '../sources/vector_source'; import { ITooltipProperty, TooltipProperty } from '../tooltips/tooltip_property'; @@ -39,6 +40,8 @@ export interface IField { supportsFieldMetaFromEs(): boolean; isEqual(field: IField): boolean; + + pluckRangeFromTileMetaFeature(metaFeature: TileMetaFeature): { min: number; max: number } | null; } export class AbstractField implements IField { @@ -114,4 +117,8 @@ export class AbstractField implements IField { isEqual(field: IField) { return this._origin === field.getOrigin() && this._fieldName === field.getName(); } + + pluckRangeFromTileMetaFeature(metaFeature: TileMetaFeature) { + return null; + } } diff --git a/x-pack/plugins/maps/public/classes/styles/vector/properties/dynamic_style_property.tsx b/x-pack/plugins/maps/public/classes/styles/vector/properties/dynamic_style_property.tsx index adf92a307a552c..577fe60aa2e139 100644 --- a/x-pack/plugins/maps/public/classes/styles/vector/properties/dynamic_style_property.tsx +++ b/x-pack/plugins/maps/public/classes/styles/vector/properties/dynamic_style_property.tsx @@ -309,24 +309,17 @@ export class DynamicStyleProperty pluckOrdinalStyleMetaFromTileMetaFeatures( metaFeatures: TileMetaFeature[] ): RangeFieldMeta | null { - if (!this.isOrdinal()) { + if (!this._field || !this.isOrdinal()) { return null; } - const mbFieldName = this.getMbFieldName(); let min = Infinity; let max = -Infinity; for (let i = 0; i < metaFeatures.length; i++) { - const fieldMeta = metaFeatures[i].properties; - const minField = `aggregations.${mbFieldName}.min`; - const maxField = `aggregations.${mbFieldName}.max`; - if ( - fieldMeta && - typeof fieldMeta[minField] === 'number' && - typeof fieldMeta[maxField] === 'number' - ) { - min = Math.min(fieldMeta[minField] as number, min); - max = Math.max(fieldMeta[maxField] as number, max); + const range = this._field.pluckRangeFromTileMetaFeature(metaFeatures[i]); + if (range) { + min = Math.min(range.min, min); + max = Math.max(range.max, max); } } diff --git a/x-pack/test/functional/apps/maps/index.js b/x-pack/test/functional/apps/maps/index.js index 33184f2d352131..6a2a843682f26d 100644 --- a/x-pack/test/functional/apps/maps/index.js +++ b/x-pack/test/functional/apps/maps/index.js @@ -79,7 +79,7 @@ export default function ({ loadTestFile, getService }) { loadTestFile(require.resolve('./joins')); loadTestFile(require.resolve('./mapbox_styles')); loadTestFile(require.resolve('./mvt_scaling')); - loadTestFile(require.resolve('./mvt_super_fine')); + loadTestFile(require.resolve('./mvt_geotile_grid')); loadTestFile(require.resolve('./add_layer_panel')); loadTestFile(require.resolve('./import_geojson')); loadTestFile(require.resolve('./layer_errors')); diff --git a/x-pack/test/functional/apps/maps/mvt_super_fine.js b/x-pack/test/functional/apps/maps/mvt_geotile_grid.js similarity index 52% rename from x-pack/test/functional/apps/maps/mvt_super_fine.js rename to x-pack/test/functional/apps/maps/mvt_geotile_grid.js index 6c5065a77c1d29..ffda75f8bf98ae 100644 --- a/x-pack/test/functional/apps/maps/mvt_super_fine.js +++ b/x-pack/test/functional/apps/maps/mvt_geotile_grid.js @@ -14,13 +14,12 @@ export default function ({ getPageObjects, getService }) { const inspector = getService('inspector'); const security = getService('security'); - describe('mvt grid layer', () => { + describe('mvt geotile grid layer', () => { before(async () => { await security.testUser.setRoles( ['global_maps_all', 'test_logstash_reader', 'geoshape_data_reader'], false ); - await PageObjects.maps.loadSavedMap('geo grid vector grid example SUPER_FINE resolution'); }); after(async () => { @@ -28,7 +27,8 @@ export default function ({ getPageObjects, getService }) { await security.testUser.restoreDefaults(); }); - it('should render with mvt-source', async () => { + it('should render with mvt-source (style meta from ES)', async () => { + await PageObjects.maps.loadSavedMap('MVT geotile grid (style meta from ES)'); const mapboxStyle = await PageObjects.maps.getMapboxStyle(); //Source should be correct @@ -79,5 +79,95 @@ export default function ({ getPageObjects, getService }) { 'fill-opacity': 0.75, }); }); + + it('should render with mvt-source (style meta from local - count)', async () => { + await PageObjects.maps.loadSavedMap('MVT geotile grid (style meta from local - count)'); + const mapboxStyle = await PageObjects.maps.getMapboxStyle(); + + const fillLayer = mapboxStyle.layers.find( + (layer) => layer.id === MB_VECTOR_SOURCE_ID + '_fill' + ); + + expect(fillLayer.paint).to.eql({ + 'fill-color': [ + 'interpolate', + ['linear'], + [ + 'coalesce', + [ + 'case', + ['==', ['get', '_count'], null], + 0, + ['max', ['min', ['to-number', ['get', '_count']], 10], 1], + ], + 0, + ], + 0, + 'rgba(0,0,0,0)', + 1, + '#ecf1f7', + 2.125, + '#d9e3ef', + 3.25, + '#c5d5e7', + 4.375, + '#b2c7df', + 5.5, + '#9eb9d8', + 6.625, + '#8bacd0', + 7.75, + '#769fc8', + 8.875, + '#6092c0', + ], + 'fill-opacity': 0.75, + }); + }); + + it('should render with mvt-source (style meta from local - metric)', async () => { + await PageObjects.maps.loadSavedMap('MVT geotile grid (style meta from local - metric)'); + const mapboxStyle = await PageObjects.maps.getMapboxStyle(); + + const fillLayer = mapboxStyle.layers.find( + (layer) => layer.id === MB_VECTOR_SOURCE_ID + '_fill' + ); + + expect(fillLayer.paint).to.eql({ + 'fill-color': [ + 'interpolate', + ['linear'], + [ + 'coalesce', + [ + 'case', + ['==', ['get', 'sum_of_bytes.value'], null], + -1, + ['max', ['min', ['to-number', ['get', 'sum_of_bytes.value']], 14941], 0], + ], + -1, + ], + -1, + 'rgba(0,0,0,0)', + 0, + '#ecf1f7', + 1867.625, + '#d9e3ef', + 3735.25, + '#c5d5e7', + 5602.875, + '#b2c7df', + 7470.5, + '#9eb9d8', + 9338.125, + '#8bacd0', + 11205.75, + '#769fc8', + 13073.375, + '#6092c0', + ], + 'fill-opacity': 0.75, + }); + }); }); } diff --git a/x-pack/test/functional/fixtures/kbn_archiver/maps.json b/x-pack/test/functional/fixtures/kbn_archiver/maps.json index 78e49997d5c9ec..94ab038ae973b2 100644 --- a/x-pack/test/functional/fixtures/kbn_archiver/maps.json +++ b/x-pack/test/functional/fixtures/kbn_archiver/maps.json @@ -725,7 +725,7 @@ "description": "", "layerListJSON": "[{\"id\":\"g1xkv\",\"label\":null,\"minZoom\":0,\"maxZoom\":24,\"sourceDescriptor\":{\"resolution\":\"SUPER_FINE\",\"type\":\"ES_GEO_GRID\",\"id\":\"9305f6ea-4518-4c06-95b9-33321aa38d6a\",\"geoField\":\"geo.coordinates\",\"requestType\":\"grid\",\"metrics\":[{\"type\":\"count\"},{\"type\":\"max\",\"field\":\"bytes\"}],\"indexPatternRefName\":\"layer_0_source_index_pattern\",\"applyGlobalQuery\":true},\"visible\":true,\"temporary\":false,\"style\":{\"type\":\"VECTOR\",\"properties\":{\"fillColor\":{\"type\":\"DYNAMIC\",\"options\":{\"field\":{\"label\":\"max of bytes\",\"name\":\"max_of_bytes\",\"origin\":\"source\"},\"color\":\"Blues\"}},\"lineColor\":{\"type\":\"STATIC\",\"options\":{\"color\":\"#cccccc\"}},\"lineWidth\":{\"type\":\"STATIC\",\"options\":{\"size\":1}},\"iconSize\":{\"type\":\"DYNAMIC\",\"options\":{\"field\":{\"label\":\"Count\",\"name\":\"doc_count\",\"origin\":\"source\"},\"minSize\":4,\"maxSize\":32}}},\"temporary\":true,\"previousStyle\":null},\"type\":\"TILED_VECTOR\"}]", "mapStateJSON": "{\"zoom\":3.59,\"center\":{\"lon\":-98.05765,\"lat\":38.32288},\"timeFilters\":{\"from\":\"2015-09-20T00:00:00.000Z\",\"to\":\"2015-09-20T01:00:00.000Z\"},\"refreshConfig\":{\"isPaused\":true,\"interval\":1000},\"settings\":{\"autoFitToDataBounds\":false}}", - "title": "geo grid vector grid example SUPER_FINE resolution", + "title": "MVT geotile grid (style meta from ES)", "uiStateJSON": "{\"isDarkMode\":false}" }, "coreMigrationVersion": "8.0.0", @@ -744,6 +744,56 @@ "version": "WzU1LDJd" } +{ + "attributes": { + "description":"", + "layerListJSON":"[{\"id\":\"g1xkv\",\"label\":null,\"minZoom\":0,\"maxZoom\":24,\"sourceDescriptor\":{\"resolution\":\"SUPER_FINE\",\"type\":\"ES_GEO_GRID\",\"id\":\"9305f6ea-4518-4c06-95b9-33321aa38d6a\",\"geoField\":\"geo.coordinates\",\"requestType\":\"grid\",\"metrics\":[{\"type\":\"count\"},{\"type\":\"max\",\"field\":\"bytes\"}],\"applyGlobalQuery\":true,\"indexPatternRefName\":\"layer_0_source_index_pattern\"},\"visible\":true,\"temporary\":false,\"style\":{\"type\":\"VECTOR\",\"properties\":{\"icon\":{\"type\":\"STATIC\",\"options\":{\"value\":\"marker\"}},\"fillColor\":{\"type\":\"DYNAMIC\",\"options\":{\"field\":{\"name\":\"doc_count\",\"origin\":\"source\"},\"color\":\"Blues\",\"type\":\"ORDINAL\"}},\"lineColor\":{\"type\":\"STATIC\",\"options\":{\"color\":\"#cccccc\"}},\"lineWidth\":{\"type\":\"STATIC\",\"options\":{\"size\":1}},\"iconSize\":{\"type\":\"DYNAMIC\",\"options\":{\"field\":{\"label\":\"Count\",\"name\":\"doc_count\",\"origin\":\"source\"},\"minSize\":4,\"maxSize\":32}},\"iconOrientation\":{\"type\":\"STATIC\",\"options\":{\"orientation\":0}},\"labelText\":{\"type\":\"STATIC\",\"options\":{\"value\":\"\"}},\"labelColor\":{\"type\":\"STATIC\",\"options\":{\"color\":\"#000000\"}},\"labelSize\":{\"type\":\"STATIC\",\"options\":{\"size\":14}},\"labelBorderColor\":{\"type\":\"STATIC\",\"options\":{\"color\":\"#FFFFFF\"}},\"symbolizeAs\":{\"options\":{\"value\":\"circle\"}},\"labelBorderSize\":{\"options\":{\"size\":\"SMALL\"}}},\"isTimeAware\":true},\"type\":\"TILED_VECTOR\"}]", + "mapStateJSON":"{\"zoom\":3.59,\"center\":{\"lon\":-98.05765,\"lat\":38.32288},\"timeFilters\":{\"from\":\"2015-09-20T00:00:00.000Z\",\"to\":\"2015-09-21T01:00:00.000Z\"},\"refreshConfig\":{\"isPaused\":true,\"interval\":1000},\"query\":{\"language\":\"kuery\",\"query\":\"\"},\"filters\":[],\"settings\":{\"autoFitToDataBounds\":false,\"backgroundColor\":\"#ffffff\",\"disableInteractive\":false,\"disableTooltipControl\":false,\"hideToolbarOverlay\":false,\"hideLayerControl\":false,\"hideViewControl\":false,\"initialLocation\":\"LAST_SAVED_LOCATION\",\"fixedLocation\":{\"lat\":0,\"lon\":0,\"zoom\":2},\"browserLocation\":{\"zoom\":2},\"maxZoom\":24,\"minZoom\":0,\"showScaleControl\":false,\"showSpatialFilters\":true,\"showTimesliderToggleButton\":true,\"spatialFiltersAlpa\":0.3,\"spatialFiltersFillColor\":\"#DA8B45\",\"spatialFiltersLineColor\":\"#DA8B45\"}}", + "title":"MVT geotile grid (style meta from local - count)", + "uiStateJSON":"{\"isLayerTOCOpen\":true,\"openTOCDetails\":[\"g1xkv\"]}" + }, + "coreMigrationVersion":"8.1.0", + "id":"943443a0-3b48-11ec-8a0d-af01166a5cc3", + "migrationVersion": { + "map":"8.0.0" + }, + "references": [ + { + "id":"c698b940-e149-11e8-a35a-370a8516603a", + "name":"layer_0_source_index_pattern", + "type":"index-pattern" + } + ], + "type":"map", + "updated_at":"2021-11-01T19:20:50.287Z", + "version":"WzkwLDFd" +} + +{ + "attributes": { + "description":"", + "layerListJSON":"[{\"id\":\"g1xkv\",\"label\":null,\"minZoom\":0,\"maxZoom\":24,\"sourceDescriptor\":{\"resolution\":\"SUPER_FINE\",\"type\":\"ES_GEO_GRID\",\"id\":\"9305f6ea-4518-4c06-95b9-33321aa38d6a\",\"geoField\":\"geo.coordinates\",\"requestType\":\"grid\",\"metrics\":[{\"type\":\"count\"},{\"type\":\"sum\",\"field\":\"bytes\"}],\"applyGlobalQuery\":true,\"indexPatternRefName\":\"layer_0_source_index_pattern\"},\"visible\":true,\"temporary\":false,\"style\":{\"type\":\"VECTOR\",\"properties\":{\"icon\":{\"type\":\"STATIC\",\"options\":{\"value\":\"marker\"}},\"fillColor\":{\"type\":\"DYNAMIC\",\"options\":{\"field\":{\"origin\":\"source\",\"name\":\"sum_of_bytes\"},\"color\":\"Blues\",\"fieldMetaOptions\":{\"isEnabled\":false}}},\"lineColor\":{\"type\":\"STATIC\",\"options\":{\"color\":\"#cccccc\"}},\"lineWidth\":{\"type\":\"STATIC\",\"options\":{\"size\":1}},\"iconSize\":{\"type\":\"DYNAMIC\",\"options\":{\"field\":{\"label\":\"Count\",\"name\":\"doc_count\",\"origin\":\"source\"},\"minSize\":4,\"maxSize\":32}},\"iconOrientation\":{\"type\":\"STATIC\",\"options\":{\"orientation\":0}},\"labelText\":{\"type\":\"STATIC\",\"options\":{\"value\":\"\"}},\"labelColor\":{\"type\":\"STATIC\",\"options\":{\"color\":\"#000000\"}},\"labelSize\":{\"type\":\"STATIC\",\"options\":{\"size\":14}},\"labelBorderColor\":{\"type\":\"STATIC\",\"options\":{\"color\":\"#FFFFFF\"}},\"symbolizeAs\":{\"options\":{\"value\":\"circle\"}},\"labelBorderSize\":{\"options\":{\"size\":\"SMALL\"}}},\"isTimeAware\":true},\"type\":\"TILED_VECTOR\"}]", + "mapStateJSON":"{\"zoom\":3.59,\"center\":{\"lon\":-98.05765,\"lat\":38.32288},\"timeFilters\":{\"from\":\"2015-09-20T00:00:00.000Z\",\"to\":\"2015-09-20T04:00:00.000Z\"},\"refreshConfig\":{\"isPaused\":true,\"interval\":1000},\"query\":{\"language\":\"kuery\",\"query\":\"\"},\"filters\":[],\"settings\":{\"autoFitToDataBounds\":false,\"backgroundColor\":\"#ffffff\",\"disableInteractive\":false,\"disableTooltipControl\":false,\"hideToolbarOverlay\":false,\"hideLayerControl\":false,\"hideViewControl\":false,\"initialLocation\":\"LAST_SAVED_LOCATION\",\"fixedLocation\":{\"lat\":0,\"lon\":0,\"zoom\":2},\"browserLocation\":{\"zoom\":2},\"maxZoom\":24,\"minZoom\":0,\"showScaleControl\":false,\"showSpatialFilters\":true,\"showTimesliderToggleButton\":true,\"spatialFiltersAlpa\":0.3,\"spatialFiltersFillColor\":\"#DA8B45\",\"spatialFiltersLineColor\":\"#DA8B45\"}}", + "title":"MVT geotile grid (style meta from local - metric)", + "uiStateJSON":"{\"isLayerTOCOpen\":true,\"openTOCDetails\":[\"g1xkv\"]}" + }, + "coreMigrationVersion":"8.1.0", + "id":"9ff6f170-3b56-11ec-9cfb-57b0ede90800", + "migrationVersion": { + "map":"8.0.0" + }, + "references": [ + { + "id":"c698b940-e149-11e8-a35a-370a8516603a", + "name":"layer_0_source_index_pattern", + "type":"index-pattern" + } + ], + "type":"map", + "updated_at":"2021-11-01T21:01:40.951Z", + "version":"WzkyLDFd" +} + { "attributes": { "description": "", From 0c5952a7d30c753cc9f22b3451344a2c5463b236 Mon Sep 17 00:00:00 2001 From: Byron Hulcher Date: Tue, 2 Nov 2021 11:32:40 -0400 Subject: [PATCH 075/110] [App Search] Update API namespace and routes for Search Relevance Suggestions/Adaptive Relevance (#116994) --- .../components/suggestions_logic.test.tsx | 2 +- .../components/suggestions_logic.tsx | 2 +- .../curations/curation/curation_logic.test.ts | 2 +- .../curations/curation/curation_logic.ts | 21 ++++++------ .../curation_suggestion_logic.test.ts | 10 +++--- .../curation_suggestion_logic.ts | 4 +-- .../ignored_queries_logic.test.ts | 4 +-- .../ignored_queries_logic.ts | 4 +-- .../curations_settings_logic.test.ts | 4 +-- .../curations_settings_logic.ts | 4 +-- ...ons.test.ts => adaptive_relevance.test.ts} | 32 +++++++++---------- ...e_suggestions.ts => adaptive_relevance.ts} | 20 ++++++------ .../server/routes/app_search/index.ts | 2 +- 13 files changed, 57 insertions(+), 54 deletions(-) rename x-pack/plugins/enterprise_search/server/routes/app_search/{search_relevance_suggestions.test.ts => adaptive_relevance.test.ts} (67%) rename x-pack/plugins/enterprise_search/server/routes/app_search/{search_relevance_suggestions.ts => adaptive_relevance.ts} (70%) diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/components/suggestions_logic.test.tsx b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/components/suggestions_logic.test.tsx index 4248eb62e33f15..3e12aa7b629f00 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/components/suggestions_logic.test.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/components/suggestions_logic.test.tsx @@ -122,7 +122,7 @@ describe('SuggestionsLogic', () => { await nextTick(); expect(http.post).toHaveBeenCalledWith( - '/internal/app_search/engines/some-engine/search_relevance_suggestions', + '/internal/app_search/engines/some-engine/adaptive_relevance/suggestions', { body: JSON.stringify({ page: { diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/components/suggestions_logic.tsx b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/components/suggestions_logic.tsx index f0100fcafac4e2..16c32c9bb0545e 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/components/suggestions_logic.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/components/suggestions_logic.tsx @@ -75,7 +75,7 @@ export const SuggestionsLogic = kea( - `/internal/app_search/engines/${engineName}/search_relevance_suggestions`, + `/internal/app_search/engines/${engineName}/adaptive_relevance/suggestions`, { body: JSON.stringify({ page: { diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/curation_logic.test.ts b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/curation_logic.test.ts index 260ac77774fa78..2b51cbb884ff9c 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/curation_logic.test.ts +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/curation_logic.test.ts @@ -295,7 +295,7 @@ describe('CurationLogic', () => { await nextTick(); expect(http.put).toHaveBeenCalledWith( - '/internal/app_search/engines/some-engine/search_relevance_suggestions', + '/internal/app_search/engines/some-engine/adaptive_relevance/suggestions', { body: JSON.stringify([ { diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/curation_logic.ts b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/curation_logic.ts index a325a53f472a96..08bf8cfd179eba 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/curation_logic.ts +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/curation/curation_logic.ts @@ -194,15 +194,18 @@ export const CurationLogic = kea { await nextTick(); expect(http.get).toHaveBeenCalledWith( - '/internal/app_search/engines/some-engine/search_relevance_suggestions/foo-query', + '/internal/app_search/engines/some-engine/adaptive_relevance/suggestions/foo-query', { query: { type: 'curation', @@ -297,7 +297,7 @@ describe('CurationSuggestionLogic', () => { await nextTick(); expect(http.put).toHaveBeenCalledWith( - '/internal/app_search/engines/some-engine/search_relevance_suggestions', + '/internal/app_search/engines/some-engine/adaptive_relevance/suggestions', { body: JSON.stringify([ { @@ -380,7 +380,7 @@ describe('CurationSuggestionLogic', () => { await nextTick(); expect(http.put).toHaveBeenCalledWith( - '/internal/app_search/engines/some-engine/search_relevance_suggestions', + '/internal/app_search/engines/some-engine/adaptive_relevance/suggestions', { body: JSON.stringify([ { @@ -463,7 +463,7 @@ describe('CurationSuggestionLogic', () => { await nextTick(); expect(http.put).toHaveBeenCalledWith( - '/internal/app_search/engines/some-engine/search_relevance_suggestions', + '/internal/app_search/engines/some-engine/adaptive_relevance/suggestions', { body: JSON.stringify([ { @@ -508,7 +508,7 @@ describe('CurationSuggestionLogic', () => { await nextTick(); expect(http.put).toHaveBeenCalledWith( - '/internal/app_search/engines/some-engine/search_relevance_suggestions', + '/internal/app_search/engines/some-engine/adaptive_relevance/suggestions', { body: JSON.stringify([ { diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/views/curation_suggestion/curation_suggestion_logic.ts b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/views/curation_suggestion/curation_suggestion_logic.ts index 5c51272baea8b3..0e774d811f3be4 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/views/curation_suggestion/curation_suggestion_logic.ts +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/views/curation_suggestion/curation_suggestion_logic.ts @@ -81,7 +81,7 @@ export const CurationSuggestionLogic = kea< try { // eslint-disable-next-line @typescript-eslint/no-explicit-any const suggestionResponse = await http.get( - `/internal/app_search/engines/${engineName}/search_relevance_suggestions/${props.query}`, + `/internal/app_search/engines/${engineName}/adaptive_relevance/suggestions/${props.query}`, { query: { type: 'curation', @@ -251,7 +251,7 @@ const updateSuggestion = async ( status: string ) => { const response = await http.put<{ results: Array }>( - `/internal/app_search/engines/${engineName}/search_relevance_suggestions`, + `/internal/app_search/engines/${engineName}/adaptive_relevance/suggestions`, { body: JSON.stringify([ { diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/views/curations_history/components/ignored_queries_panel/ignored_queries_logic.test.ts b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/views/curations_history/components/ignored_queries_panel/ignored_queries_logic.test.ts index 83a200943256b2..8c2545fad651ac 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/views/curations_history/components/ignored_queries_panel/ignored_queries_logic.test.ts +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/views/curations_history/components/ignored_queries_panel/ignored_queries_logic.test.ts @@ -114,7 +114,7 @@ describe('IgnoredQueriesLogic', () => { await nextTick(); expect(http.post).toHaveBeenCalledWith( - '/internal/app_search/engines/some-engine/search_relevance_suggestions', + '/internal/app_search/engines/some-engine/adaptive_relevance/suggestions', { body: JSON.stringify({ page: { @@ -170,7 +170,7 @@ describe('IgnoredQueriesLogic', () => { await nextTick(); expect(http.put).toHaveBeenCalledWith( - '/internal/app_search/engines/some-engine/search_relevance_suggestions', + '/internal/app_search/engines/some-engine/adaptive_relevance/suggestions', { body: JSON.stringify([ { diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/views/curations_history/components/ignored_queries_panel/ignored_queries_logic.ts b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/views/curations_history/components/ignored_queries_panel/ignored_queries_logic.ts index e36b5bc156b468..798117ec353d44 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/views/curations_history/components/ignored_queries_panel/ignored_queries_logic.ts +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/views/curations_history/components/ignored_queries_panel/ignored_queries_logic.ts @@ -89,7 +89,7 @@ export const IgnoredQueriesLogic = kea; - }>(`/internal/app_search/engines/${engineName}/search_relevance_suggestions`, { + }>(`/internal/app_search/engines/${engineName}/adaptive_relevance/suggestions`, { body: JSON.stringify([ { query: ignoredQuery, diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/views/curations_settings/curations_settings_logic.test.ts b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/views/curations_settings/curations_settings_logic.test.ts index b8aae9c39174d0..0d09f2d28f396b 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/views/curations_settings/curations_settings_logic.test.ts +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/views/curations_settings/curations_settings_logic.test.ts @@ -97,7 +97,7 @@ describe('CurationsSettingsLogic', () => { await nextTick(); expect(http.get).toHaveBeenCalledWith( - '/internal/app_search/engines/some-engine/search_relevance_suggestions/settings' + '/internal/app_search/engines/some-engine/adaptive_relevance/settings' ); expect(CurationsSettingsLogic.actions.onCurationsSettingsLoad).toHaveBeenCalledWith({ enabled: true, @@ -204,7 +204,7 @@ describe('CurationsSettingsLogic', () => { await nextTick(); expect(http.put).toHaveBeenCalledWith( - '/internal/app_search/engines/some-engine/search_relevance_suggestions/settings', + '/internal/app_search/engines/some-engine/adaptive_relevance/settings', { body: JSON.stringify({ curation: { diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/views/curations_settings/curations_settings_logic.ts b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/views/curations_settings/curations_settings_logic.ts index 3d090653ca74aa..692d893a8e22fd 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/views/curations_settings/curations_settings_logic.ts +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/views/curations_settings/curations_settings_logic.ts @@ -72,7 +72,7 @@ export const CurationsSettingsLogic = kea< try { const response = await http.get<{ curation: CurationsSettings }>( - `/internal/app_search/engines/${engineName}/search_relevance_suggestions/settings` + `/internal/app_search/engines/${engineName}/adaptive_relevance/settings` ); actions.onCurationsSettingsLoad(response.curation); } catch (e) { @@ -96,7 +96,7 @@ export const CurationsSettingsLogic = kea< const { engineName } = EngineLogic.values; try { const response = await http.put<{ curation: CurationsSettings }>( - `/internal/app_search/engines/${engineName}/search_relevance_suggestions/settings`, + `/internal/app_search/engines/${engineName}/adaptive_relevance/settings`, { body: JSON.stringify({ curation: currationsSetting }), } diff --git a/x-pack/plugins/enterprise_search/server/routes/app_search/search_relevance_suggestions.test.ts b/x-pack/plugins/enterprise_search/server/routes/app_search/adaptive_relevance.test.ts similarity index 67% rename from x-pack/plugins/enterprise_search/server/routes/app_search/search_relevance_suggestions.test.ts rename to x-pack/plugins/enterprise_search/server/routes/app_search/adaptive_relevance.test.ts index daab7c35596bf6..cec2262c95a2e5 100644 --- a/x-pack/plugins/enterprise_search/server/routes/app_search/search_relevance_suggestions.test.ts +++ b/x-pack/plugins/enterprise_search/server/routes/app_search/adaptive_relevance.test.ts @@ -7,17 +7,17 @@ import { MockRouter, mockRequestHandler, mockDependencies } from '../../__mocks__'; -import { registerSearchRelevanceSuggestionsRoutes } from './search_relevance_suggestions'; +import { registerSearchRelevanceSuggestionsRoutes } from './adaptive_relevance'; describe('search relevance insights routes', () => { beforeEach(() => { jest.clearAllMocks(); }); - describe('POST /internal/app_search/engines/{name}/search_relevance_suggestions', () => { + describe('POST /internal/app_search/engines/{name}/adaptive_relevance/suggestions', () => { const mockRouter = new MockRouter({ method: 'post', - path: '/internal/app_search/engines/{engineName}/search_relevance_suggestions', + path: '/internal/app_search/engines/{engineName}/adaptive_relevance/suggestions', }); beforeEach(() => { @@ -33,15 +33,15 @@ describe('search relevance insights routes', () => { }); expect(mockRequestHandler.createRequest).toHaveBeenCalledWith({ - path: '/api/as/v0/engines/:engineName/search_relevance_suggestions', + path: '/api/as/v0/engines/:engineName/adaptive_relevance/suggestions', }); }); }); - describe('PUT /internal/app_search/engines/{name}/search_relevance_suggestions', () => { + describe('PUT /internal/app_search/engines/{name}/adaptive_relevance/suggestions', () => { const mockRouter = new MockRouter({ method: 'put', - path: '/internal/app_search/engines/{engineName}/search_relevance_suggestions', + path: '/internal/app_search/engines/{engineName}/adaptive_relevance/suggestions', }); beforeEach(() => { @@ -62,15 +62,15 @@ describe('search relevance insights routes', () => { }); expect(mockRequestHandler.createRequest).toHaveBeenCalledWith({ - path: '/api/as/v0/engines/:engineName/search_relevance_suggestions', + path: '/api/as/v0/engines/:engineName/adaptive_relevance/suggestions', }); }); }); - describe('GET /internal/app_search/engines/{name}/search_relevance_suggestions/settings', () => { + describe('GET /internal/app_search/engines/{name}/adaptive_relevance/settings', () => { const mockRouter = new MockRouter({ method: 'get', - path: '/internal/app_search/engines/{engineName}/search_relevance_suggestions/settings', + path: '/internal/app_search/engines/{engineName}/adaptive_relevance/settings', }); beforeEach(() => { @@ -86,15 +86,15 @@ describe('search relevance insights routes', () => { }); expect(mockRequestHandler.createRequest).toHaveBeenCalledWith({ - path: '/api/as/v0/engines/:engineName/search_relevance_suggestions/settings', + path: '/api/as/v0/engines/:engineName/adaptive_relevance/settings', }); }); }); - describe('PUT /internal/app_search/engines/{name}/search_relevance_suggestions/settings', () => { + describe('PUT /internal/app_search/engines/{name}/adaptive_relevance/settings', () => { const mockRouter = new MockRouter({ method: 'put', - path: '/internal/app_search/engines/{engineName}/search_relevance_suggestions/settings', + path: '/internal/app_search/engines/{engineName}/adaptive_relevance/settings', }); beforeEach(() => { @@ -111,15 +111,15 @@ describe('search relevance insights routes', () => { }); expect(mockRequestHandler.createRequest).toHaveBeenCalledWith({ - path: '/api/as/v0/engines/:engineName/search_relevance_suggestions/settings', + path: '/api/as/v0/engines/:engineName/adaptive_relevance/settings', }); }); }); - describe('GET /internal/app_search/engines/{engineName}/search_relevance_suggestions/{query}', () => { + describe('GET /internal/app_search/engines/{engineName}/adaptive_relevance/suggestions/{query}', () => { const mockRouter = new MockRouter({ method: 'get', - path: '/internal/app_search/engines/{engineName}/search_relevance_suggestions/{query}', + path: '/internal/app_search/engines/{engineName}/adaptive_relevance/suggestions/{query}', }); beforeEach(() => { @@ -136,7 +136,7 @@ describe('search relevance insights routes', () => { }); expect(mockRequestHandler.createRequest).toHaveBeenCalledWith({ - path: '/as/engines/:engineName/search_relevance_suggestions/:query', + path: '/as/engines/:engineName/adaptive_relevance/suggestions/:query', }); }); }); diff --git a/x-pack/plugins/enterprise_search/server/routes/app_search/search_relevance_suggestions.ts b/x-pack/plugins/enterprise_search/server/routes/app_search/adaptive_relevance.ts similarity index 70% rename from x-pack/plugins/enterprise_search/server/routes/app_search/search_relevance_suggestions.ts rename to x-pack/plugins/enterprise_search/server/routes/app_search/adaptive_relevance.ts index 95b50a9c4971ef..02260d19186daa 100644 --- a/x-pack/plugins/enterprise_search/server/routes/app_search/search_relevance_suggestions.ts +++ b/x-pack/plugins/enterprise_search/server/routes/app_search/adaptive_relevance.ts @@ -17,7 +17,7 @@ export function registerSearchRelevanceSuggestionsRoutes({ }: RouteDependencies) { router.post( { - path: '/internal/app_search/engines/{engineName}/search_relevance_suggestions', + path: '/internal/app_search/engines/{engineName}/adaptive_relevance/suggestions', validate: { params: schema.object({ engineName: schema.string(), @@ -35,13 +35,13 @@ export function registerSearchRelevanceSuggestionsRoutes({ }, }, enterpriseSearchRequestHandler.createRequest({ - path: '/api/as/v0/engines/:engineName/search_relevance_suggestions', + path: '/api/as/v0/engines/:engineName/adaptive_relevance/suggestions', }) ); router.put( skipBodyValidation({ - path: '/internal/app_search/engines/{engineName}/search_relevance_suggestions', + path: '/internal/app_search/engines/{engineName}/adaptive_relevance/suggestions', validate: { params: schema.object({ engineName: schema.string(), @@ -49,13 +49,13 @@ export function registerSearchRelevanceSuggestionsRoutes({ }, }), enterpriseSearchRequestHandler.createRequest({ - path: '/api/as/v0/engines/:engineName/search_relevance_suggestions', + path: '/api/as/v0/engines/:engineName/adaptive_relevance/suggestions', }) ); router.get( { - path: '/internal/app_search/engines/{engineName}/search_relevance_suggestions/settings', + path: '/internal/app_search/engines/{engineName}/adaptive_relevance/settings', validate: { params: schema.object({ engineName: schema.string(), @@ -63,13 +63,13 @@ export function registerSearchRelevanceSuggestionsRoutes({ }, }, enterpriseSearchRequestHandler.createRequest({ - path: '/api/as/v0/engines/:engineName/search_relevance_suggestions/settings', + path: '/api/as/v0/engines/:engineName/adaptive_relevance/settings', }) ); router.put( skipBodyValidation({ - path: '/internal/app_search/engines/{engineName}/search_relevance_suggestions/settings', + path: '/internal/app_search/engines/{engineName}/adaptive_relevance/settings', validate: { params: schema.object({ engineName: schema.string(), @@ -77,13 +77,13 @@ export function registerSearchRelevanceSuggestionsRoutes({ }, }), enterpriseSearchRequestHandler.createRequest({ - path: '/api/as/v0/engines/:engineName/search_relevance_suggestions/settings', + path: '/api/as/v0/engines/:engineName/adaptive_relevance/settings', }) ); router.get( { - path: '/internal/app_search/engines/{engineName}/search_relevance_suggestions/{query}', + path: '/internal/app_search/engines/{engineName}/adaptive_relevance/suggestions/{query}', validate: { params: schema.object({ engineName: schema.string(), @@ -95,7 +95,7 @@ export function registerSearchRelevanceSuggestionsRoutes({ }, }, enterpriseSearchRequestHandler.createRequest({ - path: '/as/engines/:engineName/search_relevance_suggestions/:query', + path: '/as/engines/:engineName/adaptive_relevance/suggestions/:query', }) ); } diff --git a/x-pack/plugins/enterprise_search/server/routes/app_search/index.ts b/x-pack/plugins/enterprise_search/server/routes/app_search/index.ts index 737b21e6f5a929..602d8c48d520ef 100644 --- a/x-pack/plugins/enterprise_search/server/routes/app_search/index.ts +++ b/x-pack/plugins/enterprise_search/server/routes/app_search/index.ts @@ -7,6 +7,7 @@ import { RouteDependencies } from '../../plugin'; +import { registerSearchRelevanceSuggestionsRoutes } from './adaptive_relevance'; import { registerAnalyticsRoutes } from './analytics'; import { registerApiLogsRoutes } from './api_logs'; import { registerCrawlerRoutes } from './crawler'; @@ -22,7 +23,6 @@ import { registerResultSettingsRoutes } from './result_settings'; import { registerRoleMappingsRoutes } from './role_mappings'; import { registerSchemaRoutes } from './schema'; import { registerSearchRoutes } from './search'; -import { registerSearchRelevanceSuggestionsRoutes } from './search_relevance_suggestions'; import { registerSearchSettingsRoutes } from './search_settings'; import { registerSearchUIRoutes } from './search_ui'; import { registerSettingsRoutes } from './settings'; From da5371dee59e211da6ac16eedd787ce3594723c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Patryk=20Kopyci=C5=84ski?= Date: Tue, 2 Nov 2021 16:37:15 +0100 Subject: [PATCH 076/110] [Osquery] Fix 7.16.0 BC3 issues (#117105) --- .../osquery/common/schemas/common/schemas.ts | 3 +- .../action_results/action_results_summary.tsx | 48 +- .../action_results/use_action_results.ts | 4 + .../public/common/schemas/ecs/v1.12.1.json | 2 +- ...managed_policy_create_import_extension.tsx | 20 +- .../osquery/public/packs/form/index.tsx | 7 +- .../packs/pack_queries_status_table.tsx | 142 ++- .../osquery/public/packs/packs_table.tsx | 2 +- .../queries/ecs_mapping_editor_field.tsx | 908 +++++++++++------- .../packs/use_pack_query_last_results.ts | 19 +- .../osquery/public/results/results_table.tsx | 16 +- .../public/routes/packs/list/index.tsx | 10 + .../public/saved_queries/use_saved_queries.ts | 1 + .../public/saved_queries/use_saved_query.ts | 1 + .../scripts/schema_formatter/ecs_formatter.ts | 2 +- .../lib/saved_query/saved_object_mappings.ts | 10 + .../saved_query/read_saved_query_route.ts | 2 +- .../saved_query/update_saved_query_route.ts | 3 +- x-pack/plugins/osquery/server/routes/utils.ts | 14 +- .../results/query.action_results.dsl.ts | 5 + 20 files changed, 737 insertions(+), 482 deletions(-) diff --git a/x-pack/plugins/osquery/common/schemas/common/schemas.ts b/x-pack/plugins/osquery/common/schemas/common/schemas.ts index 2ffb6c5feae54d..4547db731ce1bb 100644 --- a/x-pack/plugins/osquery/common/schemas/common/schemas.ts +++ b/x-pack/plugins/osquery/common/schemas/common/schemas.ts @@ -55,8 +55,9 @@ export type SavedQueryIdOrUndefined = t.TypeOf; export const ecsMapping = t.record( t.string, - t.type({ + t.partial({ field: t.string, + value: t.string, }) ); export type ECSMapping = t.TypeOf; diff --git a/x-pack/plugins/osquery/public/action_results/action_results_summary.tsx b/x-pack/plugins/osquery/public/action_results/action_results_summary.tsx index 9da9ac72f273ac..e04f7836084205 100644 --- a/x-pack/plugins/osquery/public/action_results/action_results_summary.tsx +++ b/x-pack/plugins/osquery/public/action_results/action_results_summary.tsx @@ -13,7 +13,6 @@ import React, { useCallback, useEffect, useMemo, useState } from 'react'; import { AgentIdToName } from '../agents/agent_id_to_name'; import { useActionResults } from './use_action_results'; -import { useAllResults } from '../results/use_all_results'; import { Direction } from '../../common/search_strategy'; import { useActionResultsPrivileges } from './use_action_privileges'; @@ -70,38 +69,8 @@ const ActionResultsSummaryComponent: React.FC = ({ }); } - const { data: logsResults } = useAllResults({ - actionId, - activePage: pageIndex, - limit: pageSize, - sort: [ - { - field: '@timestamp', - direction: Direction.asc, - }, - ], - isLive, - skip: !hasActionResultsPrivileges, - }); - const renderAgentIdColumn = useCallback((agentId) => , []); - - const renderRowsColumn = useCallback( - (_, item) => { - if (!logsResults) return '-'; - const agentId = item.fields.agent_id[0]; - - return ( - // @ts-expect-error update types - logsResults?.rawResponse?.aggregations?.count_by_agent_id?.buckets?.find( - // @ts-expect-error update types - (bucket) => bucket.key === agentId - )?.doc_count ?? '-' - ); - }, - [logsResults] - ); - + const renderRowsColumn = useCallback((rowsCount) => rowsCount ?? '-', []); const renderStatusColumn = useCallback( (_, item) => { if (!item.fields.completed_at) { @@ -145,7 +114,7 @@ const ActionResultsSummaryComponent: React.FC = ({ render: renderAgentIdColumn, }, { - field: 'fields.rows[0]', + field: '_source.action_response.osquery.count', name: i18n.translate( 'xpack.osquery.liveQueryActionResults.table.resultRowsNumberColumnTitle', { @@ -177,18 +146,9 @@ const ActionResultsSummaryComponent: React.FC = ({ setIsLive(() => { if (!agentIds?.length || expired) return false; - const uniqueAgentsRepliedCount = - // @ts-expect-error update types - logsResults?.rawResponse.aggregations?.unique_agents.value ?? 0; - - return !!(uniqueAgentsRepliedCount !== agentIds?.length - aggregations.failed); + return !!(aggregations.totalResponded !== agentIds?.length); }); - }, [ - agentIds?.length, - aggregations.failed, - expired, - logsResults?.rawResponse.aggregations?.unique_agents, - ]); + }, [agentIds?.length, aggregations.totalResponded, expired]); return edges.length ? ( diff --git a/x-pack/plugins/osquery/public/action_results/use_action_results.ts b/x-pack/plugins/osquery/public/action_results/use_action_results.ts index 29bff0819956a8..e4b6ef14eb1e99 100644 --- a/x-pack/plugins/osquery/public/action_results/use_action_results.ts +++ b/x-pack/plugins/osquery/public/action_results/use_action_results.ts @@ -84,6 +84,9 @@ export const useActionResults = ({ const totalResponded = // @ts-expect-error update types responseData.rawResponse?.aggregations?.aggs.responses_by_action_id?.doc_count ?? 0; + const totalRowCount = + // @ts-expect-error update types + responseData.rawResponse?.aggregations?.aggs.responses_by_action_id?.rows_count?.value ?? 0; const aggsBuckets = // @ts-expect-error update types responseData.rawResponse?.aggregations?.aggs.responses_by_action_id?.responses.buckets; @@ -100,6 +103,7 @@ export const useActionResults = ({ ...responseData, edges: reverse(uniqBy('fields.agent_id[0]', flatten([responseData.edges, previousEdges]))), aggregations: { + totalRowCount, totalResponded, // @ts-expect-error update types successful: aggsBuckets?.find((bucket) => bucket.key === 'success')?.doc_count ?? 0, diff --git a/x-pack/plugins/osquery/public/common/schemas/ecs/v1.12.1.json b/x-pack/plugins/osquery/public/common/schemas/ecs/v1.12.1.json index 2b4a3c8c92f2f5..a613c8b5765249 100644 --- a/x-pack/plugins/osquery/public/common/schemas/ecs/v1.12.1.json +++ b/x-pack/plugins/osquery/public/common/schemas/ecs/v1.12.1.json @@ -1 +1 @@ -[{"field":"labels","type":"object","description":"Custom key/value pairs."},{"field":"message","type":"match_only_text","description":"Log message optimized for viewing in a log viewer."},{"field":"tags","type":"keyword","description":"List of keywords used to tag each event."},{"field":"agent.build.original","type":"keyword","description":"Extended build information for the agent."},{"field":"client.address","type":"keyword","description":"Client network address."},{"field":"client.as.number","type":"long","description":"Unique number allocated to the autonomous system."},{"field":"client.as.organization.name","type":"keyword","description":"Organization name."},{"field":"client.as.organization.name.text","type":"match_only_text","description":"Organization name."},{"field":"client.bytes","type":"long","description":"Bytes sent from the client to the server."},{"field":"client.domain","type":"keyword","description":"Client domain."},{"field":"client.geo.city_name","type":"keyword","description":"City name."},{"field":"client.geo.continent_code","type":"keyword","description":"Continent code."},{"field":"client.geo.continent_name","type":"keyword","description":"Name of the continent."},{"field":"client.geo.country_iso_code","type":"keyword","description":"Country ISO code."},{"field":"client.geo.country_name","type":"keyword","description":"Country name."},{"field":"client.geo.location","type":"geo_point","description":"Longitude and latitude."},{"field":"client.geo.name","type":"keyword","description":"User-defined description of a location."},{"field":"client.geo.postal_code","type":"keyword","description":"Postal code."},{"field":"client.geo.region_iso_code","type":"keyword","description":"Region ISO code."},{"field":"client.geo.region_name","type":"keyword","description":"Region name."},{"field":"client.geo.timezone","type":"keyword","description":"Time zone."},{"field":"client.ip","type":"ip","description":"IP address of the client."},{"field":"client.mac","type":"keyword","description":"MAC address of the client."},{"field":"client.nat.ip","type":"ip","description":"Client NAT ip address"},{"field":"client.nat.port","type":"long","description":"Client NAT port"},{"field":"client.packets","type":"long","description":"Packets sent from the client to the server."},{"field":"client.port","type":"long","description":"Port of the client."},{"field":"client.registered_domain","type":"keyword","description":"The highest registered client domain, stripped of the subdomain."},{"field":"client.subdomain","type":"keyword","description":"The subdomain of the domain."},{"field":"client.top_level_domain","type":"keyword","description":"The effective top level domain (com, org, net, co.uk)."},{"field":"client.user.domain","type":"keyword","description":"Name of the directory the user is a member of."},{"field":"client.user.email","type":"keyword","description":"User email address."},{"field":"client.user.full_name","type":"keyword","description":"User's full name, if available."},{"field":"client.user.full_name.text","type":"match_only_text","description":"User's full name, if available."},{"field":"client.user.group.domain","type":"keyword","description":"Name of the directory the group is a member of."},{"field":"client.user.group.id","type":"keyword","description":"Unique identifier for the group on the system/platform."},{"field":"client.user.group.name","type":"keyword","description":"Name of the group."},{"field":"client.user.hash","type":"keyword","description":"Unique user hash to correlate information for a user in anonymized form."},{"field":"client.user.id","type":"keyword","description":"Unique identifier of the user."},{"field":"client.user.name","type":"keyword","description":"Short name or login of the user."},{"field":"client.user.name.text","type":"match_only_text","description":"Short name or login of the user."},{"field":"client.user.roles","type":"keyword","description":"Array of user roles at the time of the event."},{"field":"cloud.account.id","type":"keyword","description":"The cloud account or organization id."},{"field":"cloud.account.name","type":"keyword","description":"The cloud account name."},{"field":"cloud.availability_zone","type":"keyword","description":"Availability zone in which this host, resource, or service is located."},{"field":"cloud.instance.id","type":"keyword","description":"Instance ID of the host machine."},{"field":"cloud.instance.name","type":"keyword","description":"Instance name of the host machine."},{"field":"cloud.machine.type","type":"keyword","description":"Machine type of the host machine."},{"field":"cloud.project.id","type":"keyword","description":"The cloud project id."},{"field":"cloud.project.name","type":"keyword","description":"The cloud project name."},{"field":"cloud.provider","type":"keyword","description":"Name of the cloud provider."},{"field":"cloud.region","type":"keyword","description":"Region in which this host, resource, or service is located."},{"field":"cloud.service.name","type":"keyword","description":"The cloud service name."},{"field":"container.id","type":"keyword","description":"Unique container id."},{"field":"container.image.name","type":"keyword","description":"Name of the image the container was built on."},{"field":"container.image.tag","type":"keyword","description":"Container image tags."},{"field":"container.labels","type":"object","description":"Image labels."},{"field":"container.name","type":"keyword","description":"Container name."},{"field":"container.runtime","type":"keyword","description":"Runtime managing this container."},{"field":"data_stream.dataset","type":"constant_keyword","description":"The field can contain anything that makes sense to signify the source of the data."},{"field":"data_stream.namespace","type":"constant_keyword","description":"A user defined namespace. Namespaces are useful to allow grouping of data."},{"field":"data_stream.type","type":"constant_keyword","description":"An overarching type for the data stream."},{"field":"destination.address","type":"keyword","description":"Destination network address."},{"field":"destination.as.number","type":"long","description":"Unique number allocated to the autonomous system."},{"field":"destination.as.organization.name","type":"keyword","description":"Organization name."},{"field":"destination.as.organization.name.text","type":"match_only_text","description":"Organization name."},{"field":"destination.bytes","type":"long","description":"Bytes sent from the destination to the source."},{"field":"destination.domain","type":"keyword","description":"Destination domain."},{"field":"destination.geo.city_name","type":"keyword","description":"City name."},{"field":"destination.geo.continent_code","type":"keyword","description":"Continent code."},{"field":"destination.geo.continent_name","type":"keyword","description":"Name of the continent."},{"field":"destination.geo.country_iso_code","type":"keyword","description":"Country ISO code."},{"field":"destination.geo.country_name","type":"keyword","description":"Country name."},{"field":"destination.geo.location","type":"geo_point","description":"Longitude and latitude."},{"field":"destination.geo.name","type":"keyword","description":"User-defined description of a location."},{"field":"destination.geo.postal_code","type":"keyword","description":"Postal code."},{"field":"destination.geo.region_iso_code","type":"keyword","description":"Region ISO code."},{"field":"destination.geo.region_name","type":"keyword","description":"Region name."},{"field":"destination.geo.timezone","type":"keyword","description":"Time zone."},{"field":"destination.ip","type":"ip","description":"IP address of the destination."},{"field":"destination.mac","type":"keyword","description":"MAC address of the destination."},{"field":"destination.nat.ip","type":"ip","description":"Destination NAT ip"},{"field":"destination.nat.port","type":"long","description":"Destination NAT Port"},{"field":"destination.packets","type":"long","description":"Packets sent from the destination to the source."},{"field":"destination.port","type":"long","description":"Port of the destination."},{"field":"destination.registered_domain","type":"keyword","description":"The highest registered destination domain, stripped of the subdomain."},{"field":"destination.subdomain","type":"keyword","description":"The subdomain of the domain."},{"field":"destination.top_level_domain","type":"keyword","description":"The effective top level domain (com, org, net, co.uk)."},{"field":"destination.user.domain","type":"keyword","description":"Name of the directory the user is a member of."},{"field":"destination.user.email","type":"keyword","description":"User email address."},{"field":"destination.user.full_name","type":"keyword","description":"User's full name, if available."},{"field":"destination.user.full_name.text","type":"match_only_text","description":"User's full name, if available."},{"field":"destination.user.group.domain","type":"keyword","description":"Name of the directory the group is a member of."},{"field":"destination.user.group.id","type":"keyword","description":"Unique identifier for the group on the system/platform."},{"field":"destination.user.group.name","type":"keyword","description":"Name of the group."},{"field":"destination.user.hash","type":"keyword","description":"Unique user hash to correlate information for a user in anonymized form."},{"field":"destination.user.id","type":"keyword","description":"Unique identifier of the user."},{"field":"destination.user.name","type":"keyword","description":"Short name or login of the user."},{"field":"destination.user.name.text","type":"match_only_text","description":"Short name or login of the user."},{"field":"destination.user.roles","type":"keyword","description":"Array of user roles at the time of the event."},{"field":"dll.code_signature.digest_algorithm","type":"keyword","description":"Hashing algorithm used to sign the process."},{"field":"dll.code_signature.exists","type":"boolean","description":"Boolean to capture if a signature is present."},{"field":"dll.code_signature.signing_id","type":"keyword","description":"The identifier used to sign the process."},{"field":"dll.code_signature.status","type":"keyword","description":"Additional information about the certificate status."},{"field":"dll.code_signature.subject_name","type":"keyword","description":"Subject name of the code signer"},{"field":"dll.code_signature.team_id","type":"keyword","description":"The team identifier used to sign the process."},{"field":"dll.code_signature.timestamp","type":"date","description":"When the signature was generated and signed."},{"field":"dll.code_signature.trusted","type":"boolean","description":"Stores the trust status of the certificate chain."},{"field":"dll.code_signature.valid","type":"boolean","description":"Boolean to capture if the digital signature is verified against the binary content."},{"field":"dll.hash.md5","type":"keyword","description":"MD5 hash."},{"field":"dll.hash.sha1","type":"keyword","description":"SHA1 hash."},{"field":"dll.hash.sha256","type":"keyword","description":"SHA256 hash."},{"field":"dll.hash.sha512","type":"keyword","description":"SHA512 hash."},{"field":"dll.hash.ssdeep","type":"keyword","description":"SSDEEP hash."},{"field":"dll.name","type":"keyword","description":"Name of the library."},{"field":"dll.path","type":"keyword","description":"Full file path of the library."},{"field":"dll.pe.architecture","type":"keyword","description":"CPU architecture target for the file."},{"field":"dll.pe.company","type":"keyword","description":"Internal company name of the file, provided at compile-time."},{"field":"dll.pe.description","type":"keyword","description":"Internal description of the file, provided at compile-time."},{"field":"dll.pe.file_version","type":"keyword","description":"Process name."},{"field":"dll.pe.imphash","type":"keyword","description":"A hash of the imports in a PE file."},{"field":"dll.pe.original_file_name","type":"keyword","description":"Internal name of the file, provided at compile-time."},{"field":"dll.pe.product","type":"keyword","description":"Internal product name of the file, provided at compile-time."},{"field":"dns.answers","type":"object","description":"Array of DNS answers."},{"field":"dns.answers.class","type":"keyword","description":"The class of DNS data contained in this resource record."},{"field":"dns.answers.data","type":"keyword","description":"The data describing the resource."},{"field":"dns.answers.name","type":"keyword","description":"The domain name to which this resource record pertains."},{"field":"dns.answers.ttl","type":"long","description":"The time interval in seconds that this resource record may be cached before it should be discarded."},{"field":"dns.answers.type","type":"keyword","description":"The type of data contained in this resource record."},{"field":"dns.header_flags","type":"keyword","description":"Array of DNS header flags."},{"field":"dns.id","type":"keyword","description":"The DNS packet identifier assigned by the program that generated the query. The identifier is copied to the response."},{"field":"dns.op_code","type":"keyword","description":"The DNS operation code that specifies the kind of query in the message."},{"field":"dns.question.class","type":"keyword","description":"The class of records being queried."},{"field":"dns.question.name","type":"keyword","description":"The name being queried."},{"field":"dns.question.registered_domain","type":"keyword","description":"The highest registered domain, stripped of the subdomain."},{"field":"dns.question.subdomain","type":"keyword","description":"The subdomain of the domain."},{"field":"dns.question.top_level_domain","type":"keyword","description":"The effective top level domain (com, org, net, co.uk)."},{"field":"dns.question.type","type":"keyword","description":"The type of record being queried."},{"field":"dns.resolved_ip","type":"ip","description":"Array containing all IPs seen in answers.data"},{"field":"dns.response_code","type":"keyword","description":"The DNS response code."},{"field":"dns.type","type":"keyword","description":"The type of DNS event captured, query or answer."},{"field":"error.code","type":"keyword","description":"Error code describing the error."},{"field":"error.id","type":"keyword","description":"Unique identifier for the error."},{"field":"error.message","type":"match_only_text","description":"Error message."},{"field":"error.stack_trace","type":"wildcard","description":"The stack trace of this error in plain text."},{"field":"error.stack_trace.text","type":"match_only_text","description":"The stack trace of this error in plain text."},{"field":"error.type","type":"keyword","description":"The type of the error, for example the class name of the exception."},{"field":"event.action","type":"keyword","description":"The action captured by the event."},{"field":"event.category","type":"keyword","description":"Event category. The second categorization field in the hierarchy."},{"field":"event.code","type":"keyword","description":"Identification code for this event."},{"field":"event.created","type":"date","description":"Time when the event was first read by an agent or by your pipeline."},{"field":"event.dataset","type":"keyword","description":"Name of the dataset."},{"field":"event.duration","type":"long","description":"Duration of the event in nanoseconds."},{"field":"event.end","type":"date","description":"event.end contains the date when the event ended or when the activity was last observed."},{"field":"event.hash","type":"keyword","description":"Hash (perhaps logstash fingerprint) of raw field to be able to demonstrate log integrity."},{"field":"event.id","type":"keyword","description":"Unique ID to describe the event."},{"field":"event.kind","type":"keyword","description":"The kind of the event. The highest categorization field in the hierarchy."},{"field":"event.original","type":"keyword","description":"Raw text message of entire event."},{"field":"event.outcome","type":"keyword","description":"The outcome of the event. The lowest level categorization field in the hierarchy."},{"field":"event.provider","type":"keyword","description":"Source of the event."},{"field":"event.reason","type":"keyword","description":"Reason why this event happened, according to the source"},{"field":"event.reference","type":"keyword","description":"Event reference URL"},{"field":"event.risk_score","type":"float","description":"Risk score or priority of the event (e.g. security solutions). Use your system's original value here."},{"field":"event.risk_score_norm","type":"float","description":"Normalized risk score or priority of the event (0-100)."},{"field":"event.sequence","type":"long","description":"Sequence number of the event."},{"field":"event.severity","type":"long","description":"Numeric severity of the event."},{"field":"event.start","type":"date","description":"event.start contains the date when the event started or when the activity was first observed."},{"field":"event.timezone","type":"keyword","description":"Event time zone."},{"field":"event.type","type":"keyword","description":"Event type. The third categorization field in the hierarchy."},{"field":"event.url","type":"keyword","description":"Event investigation URL"},{"field":"file.accessed","type":"date","description":"Last time the file was accessed."},{"field":"file.attributes","type":"keyword","description":"Array of file attributes."},{"field":"file.code_signature.digest_algorithm","type":"keyword","description":"Hashing algorithm used to sign the process."},{"field":"file.code_signature.exists","type":"boolean","description":"Boolean to capture if a signature is present."},{"field":"file.code_signature.signing_id","type":"keyword","description":"The identifier used to sign the process."},{"field":"file.code_signature.status","type":"keyword","description":"Additional information about the certificate status."},{"field":"file.code_signature.subject_name","type":"keyword","description":"Subject name of the code signer"},{"field":"file.code_signature.team_id","type":"keyword","description":"The team identifier used to sign the process."},{"field":"file.code_signature.timestamp","type":"date","description":"When the signature was generated and signed."},{"field":"file.code_signature.trusted","type":"boolean","description":"Stores the trust status of the certificate chain."},{"field":"file.code_signature.valid","type":"boolean","description":"Boolean to capture if the digital signature is verified against the binary content."},{"field":"file.created","type":"date","description":"File creation time."},{"field":"file.ctime","type":"date","description":"Last time the file attributes or metadata changed."},{"field":"file.device","type":"keyword","description":"Device that is the source of the file."},{"field":"file.directory","type":"keyword","description":"Directory where the file is located."},{"field":"file.drive_letter","type":"keyword","description":"Drive letter where the file is located."},{"field":"file.elf.architecture","type":"keyword","description":"Machine architecture of the ELF file."},{"field":"file.elf.byte_order","type":"keyword","description":"Byte sequence of ELF file."},{"field":"file.elf.cpu_type","type":"keyword","description":"CPU type of the ELF file."},{"field":"file.elf.creation_date","type":"date","description":"Build or compile date."},{"field":"file.elf.exports","type":"flattened","description":"List of exported element names and types."},{"field":"file.elf.header.abi_version","type":"keyword","description":"Version of the ELF Application Binary Interface (ABI)."},{"field":"file.elf.header.class","type":"keyword","description":"Header class of the ELF file."},{"field":"file.elf.header.data","type":"keyword","description":"Data table of the ELF header."},{"field":"file.elf.header.entrypoint","type":"long","description":"Header entrypoint of the ELF file."},{"field":"file.elf.header.object_version","type":"keyword","description":"0x1\" for original ELF files."},{"field":"file.elf.header.os_abi","type":"keyword","description":"Application Binary Interface (ABI) of the Linux OS."},{"field":"file.elf.header.type","type":"keyword","description":"Header type of the ELF file."},{"field":"file.elf.header.version","type":"keyword","description":"Version of the ELF header."},{"field":"file.elf.imports","type":"flattened","description":"List of imported element names and types."},{"field":"file.elf.sections","type":"nested","description":"Section information of the ELF file."},{"field":"file.elf.sections.chi2","type":"long","description":"Chi-square probability distribution of the section."},{"field":"file.elf.sections.entropy","type":"long","description":"Shannon entropy calculation from the section."},{"field":"file.elf.sections.flags","type":"keyword","description":"ELF Section List flags."},{"field":"file.elf.sections.name","type":"keyword","description":"ELF Section List name."},{"field":"file.elf.sections.physical_offset","type":"keyword","description":"ELF Section List offset."},{"field":"file.elf.sections.physical_size","type":"long","description":"ELF Section List physical size."},{"field":"file.elf.sections.type","type":"keyword","description":"ELF Section List type."},{"field":"file.elf.sections.virtual_address","type":"long","description":"ELF Section List virtual address."},{"field":"file.elf.sections.virtual_size","type":"long","description":"ELF Section List virtual size."},{"field":"file.elf.segments","type":"nested","description":"ELF object segment list."},{"field":"file.elf.segments.sections","type":"keyword","description":"ELF object segment sections."},{"field":"file.elf.segments.type","type":"keyword","description":"ELF object segment type."},{"field":"file.elf.shared_libraries","type":"keyword","description":"List of shared libraries used by this ELF object."},{"field":"file.elf.telfhash","type":"keyword","description":"telfhash hash for ELF file."},{"field":"file.extension","type":"keyword","description":"File extension, excluding the leading dot."},{"field":"file.fork_name","type":"keyword","description":"A fork is additional data associated with a filesystem object."},{"field":"file.gid","type":"keyword","description":"Primary group ID (GID) of the file."},{"field":"file.group","type":"keyword","description":"Primary group name of the file."},{"field":"file.hash.md5","type":"keyword","description":"MD5 hash."},{"field":"file.hash.sha1","type":"keyword","description":"SHA1 hash."},{"field":"file.hash.sha256","type":"keyword","description":"SHA256 hash."},{"field":"file.hash.sha512","type":"keyword","description":"SHA512 hash."},{"field":"file.hash.ssdeep","type":"keyword","description":"SSDEEP hash."},{"field":"file.inode","type":"keyword","description":"Inode representing the file in the filesystem."},{"field":"file.mime_type","type":"keyword","description":"Media type of file, document, or arrangement of bytes."},{"field":"file.mode","type":"keyword","description":"Mode of the file in octal representation."},{"field":"file.mtime","type":"date","description":"Last time the file content was modified."},{"field":"file.name","type":"keyword","description":"Name of the file including the extension, without the directory."},{"field":"file.owner","type":"keyword","description":"File owner's username."},{"field":"file.path","type":"keyword","description":"Full path to the file, including the file name."},{"field":"file.path.text","type":"match_only_text","description":"Full path to the file, including the file name."},{"field":"file.pe.architecture","type":"keyword","description":"CPU architecture target for the file."},{"field":"file.pe.company","type":"keyword","description":"Internal company name of the file, provided at compile-time."},{"field":"file.pe.description","type":"keyword","description":"Internal description of the file, provided at compile-time."},{"field":"file.pe.file_version","type":"keyword","description":"Process name."},{"field":"file.pe.imphash","type":"keyword","description":"A hash of the imports in a PE file."},{"field":"file.pe.original_file_name","type":"keyword","description":"Internal name of the file, provided at compile-time."},{"field":"file.pe.product","type":"keyword","description":"Internal product name of the file, provided at compile-time."},{"field":"file.size","type":"long","description":"File size in bytes."},{"field":"file.target_path","type":"keyword","description":"Target path for symlinks."},{"field":"file.target_path.text","type":"match_only_text","description":"Target path for symlinks."},{"field":"file.type","type":"keyword","description":"File type (file, dir, or symlink)."},{"field":"file.uid","type":"keyword","description":"The user ID (UID) or security identifier (SID) of the file owner."},{"field":"file.x509.alternative_names","type":"keyword","description":"List of subject alternative names (SAN)."},{"field":"file.x509.issuer.common_name","type":"keyword","description":"List of common name (CN) of issuing certificate authority."},{"field":"file.x509.issuer.country","type":"keyword","description":"List of country (C) codes"},{"field":"file.x509.issuer.distinguished_name","type":"keyword","description":"Distinguished name (DN) of issuing certificate authority."},{"field":"file.x509.issuer.locality","type":"keyword","description":"List of locality names (L)"},{"field":"file.x509.issuer.organization","type":"keyword","description":"List of organizations (O) of issuing certificate authority."},{"field":"file.x509.issuer.organizational_unit","type":"keyword","description":"List of organizational units (OU) of issuing certificate authority."},{"field":"file.x509.issuer.state_or_province","type":"keyword","description":"List of state or province names (ST, S, or P)"},{"field":"file.x509.not_after","type":"date","description":"Time at which the certificate is no longer considered valid."},{"field":"file.x509.not_before","type":"date","description":"Time at which the certificate is first considered valid."},{"field":"file.x509.public_key_algorithm","type":"keyword","description":"Algorithm used to generate the public key."},{"field":"file.x509.public_key_curve","type":"keyword","description":"The curve used by the elliptic curve public key algorithm. This is algorithm specific."},{"field":"file.x509.public_key_exponent","type":"long","description":"Exponent used to derive the public key. This is algorithm specific."},{"field":"file.x509.public_key_size","type":"long","description":"The size of the public key space in bits."},{"field":"file.x509.serial_number","type":"keyword","description":"Unique serial number issued by the certificate authority."},{"field":"file.x509.signature_algorithm","type":"keyword","description":"Identifier for certificate signature algorithm."},{"field":"file.x509.subject.common_name","type":"keyword","description":"List of common names (CN) of subject."},{"field":"file.x509.subject.country","type":"keyword","description":"List of country (C) code"},{"field":"file.x509.subject.distinguished_name","type":"keyword","description":"Distinguished name (DN) of the certificate subject entity."},{"field":"file.x509.subject.locality","type":"keyword","description":"List of locality names (L)"},{"field":"file.x509.subject.organization","type":"keyword","description":"List of organizations (O) of subject."},{"field":"file.x509.subject.organizational_unit","type":"keyword","description":"List of organizational units (OU) of subject."},{"field":"file.x509.subject.state_or_province","type":"keyword","description":"List of state or province names (ST, S, or P)"},{"field":"file.x509.version_number","type":"keyword","description":"Version of x509 format."},{"field":"group.domain","type":"keyword","description":"Name of the directory the group is a member of."},{"field":"group.id","type":"keyword","description":"Unique identifier for the group on the system/platform."},{"field":"group.name","type":"keyword","description":"Name of the group."},{"field":"host.cpu.usage","type":"scaled_float","description":"Percent CPU used, between 0 and 1."},{"field":"host.disk.read.bytes","type":"long","description":"The number of bytes read by all disks."},{"field":"host.disk.write.bytes","type":"long","description":"The number of bytes written on all disks."},{"field":"host.domain","type":"keyword","description":"Name of the directory the group is a member of."},{"field":"host.geo.city_name","type":"keyword","description":"City name."},{"field":"host.geo.continent_code","type":"keyword","description":"Continent code."},{"field":"host.geo.continent_name","type":"keyword","description":"Name of the continent."},{"field":"host.geo.country_iso_code","type":"keyword","description":"Country ISO code."},{"field":"host.geo.country_name","type":"keyword","description":"Country name."},{"field":"host.geo.location","type":"geo_point","description":"Longitude and latitude."},{"field":"host.geo.name","type":"keyword","description":"User-defined description of a location."},{"field":"host.geo.postal_code","type":"keyword","description":"Postal code."},{"field":"host.geo.region_iso_code","type":"keyword","description":"Region ISO code."},{"field":"host.geo.region_name","type":"keyword","description":"Region name."},{"field":"host.geo.timezone","type":"keyword","description":"Time zone."},{"field":"host.name","type":"keyword","description":"Name of the host."},{"field":"host.network.egress.bytes","type":"long","description":"The number of bytes sent on all network interfaces."},{"field":"host.network.egress.packets","type":"long","description":"The number of packets sent on all network interfaces."},{"field":"host.network.ingress.bytes","type":"long","description":"The number of bytes received on all network interfaces."},{"field":"host.network.ingress.packets","type":"long","description":"The number of packets received on all network interfaces."},{"field":"host.os.full","type":"keyword","description":"Operating system name, including the version or code name."},{"field":"host.os.full.text","type":"match_only_text","description":"Operating system name, including the version or code name."},{"field":"host.os.name.text","type":"match_only_text","description":"Operating system name, without the version."},{"field":"host.os.platform","type":"keyword","description":"Operating system platform (such centos, ubuntu, windows)."},{"field":"host.type","type":"keyword","description":"Type of host."},{"field":"host.uptime","type":"long","description":"Seconds the host has been up."},{"field":"host.user.domain","type":"keyword","description":"Name of the directory the user is a member of."},{"field":"host.user.email","type":"keyword","description":"User email address."},{"field":"host.user.full_name","type":"keyword","description":"User's full name, if available."},{"field":"host.user.full_name.text","type":"match_only_text","description":"User's full name, if available."},{"field":"host.user.group.domain","type":"keyword","description":"Name of the directory the group is a member of."},{"field":"host.user.group.id","type":"keyword","description":"Unique identifier for the group on the system/platform."},{"field":"host.user.group.name","type":"keyword","description":"Name of the group."},{"field":"host.user.hash","type":"keyword","description":"Unique user hash to correlate information for a user in anonymized form."},{"field":"host.user.id","type":"keyword","description":"Unique identifier of the user."},{"field":"host.user.name","type":"keyword","description":"Short name or login of the user."},{"field":"host.user.name.text","type":"match_only_text","description":"Short name or login of the user."},{"field":"host.user.roles","type":"keyword","description":"Array of user roles at the time of the event."},{"field":"http.request.body.bytes","type":"long","description":"Size in bytes of the request body."},{"field":"http.request.body.content","type":"wildcard","description":"The full HTTP request body."},{"field":"http.request.body.content.text","type":"match_only_text","description":"The full HTTP request body."},{"field":"http.request.bytes","type":"long","description":"Total size in bytes of the request (body and headers)."},{"field":"http.request.id","type":"keyword","description":"HTTP request ID."},{"field":"http.request.method","type":"keyword","description":"HTTP request method."},{"field":"http.request.mime_type","type":"keyword","description":"Mime type of the body of the request."},{"field":"http.request.referrer","type":"keyword","description":"Referrer for this HTTP request."},{"field":"http.response.body.bytes","type":"long","description":"Size in bytes of the response body."},{"field":"http.response.body.content","type":"wildcard","description":"The full HTTP response body."},{"field":"http.response.body.content.text","type":"match_only_text","description":"The full HTTP response body."},{"field":"http.response.bytes","type":"long","description":"Total size in bytes of the response (body and headers)."},{"field":"http.response.mime_type","type":"keyword","description":"Mime type of the body of the response."},{"field":"http.response.status_code","type":"long","description":"HTTP response status code."},{"field":"http.version","type":"keyword","description":"HTTP version."},{"field":"log.file.path","type":"keyword","description":"Full path to the log file this event came from."},{"field":"log.level","type":"keyword","description":"Log level of the log event."},{"field":"log.logger","type":"keyword","description":"Name of the logger."},{"field":"log.origin.file.line","type":"integer","description":"The line number of the file which originated the log event."},{"field":"log.origin.file.name","type":"keyword","description":"The code file which originated the log event."},{"field":"log.origin.function","type":"keyword","description":"The function which originated the log event."},{"field":"log.original","type":"keyword","description":"Deprecated original log message with light interpretation only (encoding, newlines)."},{"field":"log.syslog","type":"object","description":"Syslog metadata"},{"field":"log.syslog.facility.code","type":"long","description":"Syslog numeric facility of the event."},{"field":"log.syslog.facility.name","type":"keyword","description":"Syslog text-based facility of the event."},{"field":"log.syslog.priority","type":"long","description":"Syslog priority of the event."},{"field":"log.syslog.severity.code","type":"long","description":"Syslog numeric severity of the event."},{"field":"log.syslog.severity.name","type":"keyword","description":"Syslog text-based severity of the event."},{"field":"network.application","type":"keyword","description":"Application level protocol name."},{"field":"network.bytes","type":"long","description":"Total bytes transferred in both directions."},{"field":"network.community_id","type":"keyword","description":"A hash of source and destination IPs and ports."},{"field":"network.direction","type":"keyword","description":"Direction of the network traffic."},{"field":"network.forwarded_ip","type":"ip","description":"Host IP address when the source IP address is the proxy."},{"field":"network.iana_number","type":"keyword","description":"IANA Protocol Number."},{"field":"network.inner","type":"object","description":"Inner VLAN tag information"},{"field":"network.inner.vlan.id","type":"keyword","description":"VLAN ID as reported by the observer."},{"field":"network.inner.vlan.name","type":"keyword","description":"Optional VLAN name as reported by the observer."},{"field":"network.name","type":"keyword","description":"Name given by operators to sections of their network."},{"field":"network.packets","type":"long","description":"Total packets transferred in both directions."},{"field":"network.protocol","type":"keyword","description":"L7 Network protocol name."},{"field":"network.transport","type":"keyword","description":"Protocol Name corresponding to the field `iana_number`."},{"field":"network.type","type":"keyword","description":"In the OSI Model this would be the Network Layer. ipv4, ipv6, ipsec, pim, etc"},{"field":"network.vlan.id","type":"keyword","description":"VLAN ID as reported by the observer."},{"field":"network.vlan.name","type":"keyword","description":"Optional VLAN name as reported by the observer."},{"field":"observer.egress","type":"object","description":"Object field for egress information"},{"field":"observer.egress.interface.alias","type":"keyword","description":"Interface alias"},{"field":"observer.egress.interface.id","type":"keyword","description":"Interface ID"},{"field":"observer.egress.interface.name","type":"keyword","description":"Interface name"},{"field":"observer.egress.vlan.id","type":"keyword","description":"VLAN ID as reported by the observer."},{"field":"observer.egress.vlan.name","type":"keyword","description":"Optional VLAN name as reported by the observer."},{"field":"observer.egress.zone","type":"keyword","description":"Observer Egress zone"},{"field":"observer.geo.city_name","type":"keyword","description":"City name."},{"field":"observer.geo.continent_code","type":"keyword","description":"Continent code."},{"field":"observer.geo.continent_name","type":"keyword","description":"Name of the continent."},{"field":"observer.geo.country_iso_code","type":"keyword","description":"Country ISO code."},{"field":"observer.geo.country_name","type":"keyword","description":"Country name."},{"field":"observer.geo.location","type":"geo_point","description":"Longitude and latitude."},{"field":"observer.geo.name","type":"keyword","description":"User-defined description of a location."},{"field":"observer.geo.postal_code","type":"keyword","description":"Postal code."},{"field":"observer.geo.region_iso_code","type":"keyword","description":"Region ISO code."},{"field":"observer.geo.region_name","type":"keyword","description":"Region name."},{"field":"observer.geo.timezone","type":"keyword","description":"Time zone."},{"field":"observer.hostname","type":"keyword","description":"Hostname of the observer."},{"field":"observer.ingress","type":"object","description":"Object field for ingress information"},{"field":"observer.ingress.interface.alias","type":"keyword","description":"Interface alias"},{"field":"observer.ingress.interface.id","type":"keyword","description":"Interface ID"},{"field":"observer.ingress.interface.name","type":"keyword","description":"Interface name"},{"field":"observer.ingress.vlan.id","type":"keyword","description":"VLAN ID as reported by the observer."},{"field":"observer.ingress.vlan.name","type":"keyword","description":"Optional VLAN name as reported by the observer."},{"field":"observer.ingress.zone","type":"keyword","description":"Observer ingress zone"},{"field":"observer.ip","type":"ip","description":"IP addresses of the observer."},{"field":"observer.mac","type":"keyword","description":"MAC addresses of the observer."},{"field":"observer.name","type":"keyword","description":"Custom name of the observer."},{"field":"observer.os.family","type":"keyword","description":"OS family (such as redhat, debian, freebsd, windows)."},{"field":"observer.os.full","type":"keyword","description":"Operating system name, including the version or code name."},{"field":"observer.os.full.text","type":"match_only_text","description":"Operating system name, including the version or code name."},{"field":"observer.os.kernel","type":"keyword","description":"Operating system kernel version as a raw string."},{"field":"observer.os.name","type":"keyword","description":"Operating system name, without the version."},{"field":"observer.os.name.text","type":"match_only_text","description":"Operating system name, without the version."},{"field":"observer.os.platform","type":"keyword","description":"Operating system platform (such centos, ubuntu, windows)."},{"field":"observer.os.type","type":"keyword","description":"Which commercial OS family (one of: linux, macos, unix or windows)."},{"field":"observer.os.version","type":"keyword","description":"Operating system version as a raw string."},{"field":"observer.product","type":"keyword","description":"The product name of the observer."},{"field":"observer.serial_number","type":"keyword","description":"Observer serial number."},{"field":"observer.type","type":"keyword","description":"The type of the observer the data is coming from."},{"field":"observer.vendor","type":"keyword","description":"Vendor name of the observer."},{"field":"observer.version","type":"keyword","description":"Observer version."},{"field":"orchestrator.api_version","type":"keyword","description":"API version being used to carry out the action"},{"field":"orchestrator.cluster.name","type":"keyword","description":"Name of the cluster."},{"field":"orchestrator.cluster.url","type":"keyword","description":"URL of the API used to manage the cluster."},{"field":"orchestrator.cluster.version","type":"keyword","description":"The version of the cluster."},{"field":"orchestrator.namespace","type":"keyword","description":"Namespace in which the action is taking place."},{"field":"orchestrator.organization","type":"keyword","description":"Organization affected by the event (for multi-tenant orchestrator setups)."},{"field":"orchestrator.resource.name","type":"keyword","description":"Name of the resource being acted upon."},{"field":"orchestrator.resource.type","type":"keyword","description":"Type of resource being acted upon."},{"field":"orchestrator.type","type":"keyword","description":"Orchestrator cluster type (e.g. kubernetes, nomad or cloudfoundry)."},{"field":"organization.id","type":"keyword","description":"Unique identifier for the organization."},{"field":"organization.name","type":"keyword","description":"Organization name."},{"field":"organization.name.text","type":"match_only_text","description":"Organization name."},{"field":"package.architecture","type":"keyword","description":"Package architecture."},{"field":"package.build_version","type":"keyword","description":"Build version information"},{"field":"package.checksum","type":"keyword","description":"Checksum of the installed package for verification."},{"field":"package.description","type":"keyword","description":"Description of the package."},{"field":"package.install_scope","type":"keyword","description":"Indicating how the package was installed, e.g. user-local, global."},{"field":"package.installed","type":"date","description":"Time when package was installed."},{"field":"package.license","type":"keyword","description":"Package license"},{"field":"package.name","type":"keyword","description":"Package name"},{"field":"package.path","type":"keyword","description":"Path where the package is installed."},{"field":"package.reference","type":"keyword","description":"Package home page or reference URL"},{"field":"package.size","type":"long","description":"Package size in bytes."},{"field":"package.type","type":"keyword","description":"Package type"},{"field":"package.version","type":"keyword","description":"Package version"},{"field":"process.args","type":"keyword","description":"Array of process arguments."},{"field":"process.args_count","type":"long","description":"Length of the process.args array."},{"field":"process.code_signature.digest_algorithm","type":"keyword","description":"Hashing algorithm used to sign the process."},{"field":"process.code_signature.exists","type":"boolean","description":"Boolean to capture if a signature is present."},{"field":"process.code_signature.signing_id","type":"keyword","description":"The identifier used to sign the process."},{"field":"process.code_signature.status","type":"keyword","description":"Additional information about the certificate status."},{"field":"process.code_signature.subject_name","type":"keyword","description":"Subject name of the code signer"},{"field":"process.code_signature.team_id","type":"keyword","description":"The team identifier used to sign the process."},{"field":"process.code_signature.timestamp","type":"date","description":"When the signature was generated and signed."},{"field":"process.code_signature.trusted","type":"boolean","description":"Stores the trust status of the certificate chain."},{"field":"process.code_signature.valid","type":"boolean","description":"Boolean to capture if the digital signature is verified against the binary content."},{"field":"process.command_line","type":"wildcard","description":"Full command line that started the process."},{"field":"process.command_line.text","type":"match_only_text","description":"Full command line that started the process."},{"field":"process.elf.architecture","type":"keyword","description":"Machine architecture of the ELF file."},{"field":"process.elf.byte_order","type":"keyword","description":"Byte sequence of ELF file."},{"field":"process.elf.cpu_type","type":"keyword","description":"CPU type of the ELF file."},{"field":"process.elf.creation_date","type":"date","description":"Build or compile date."},{"field":"process.elf.exports","type":"flattened","description":"List of exported element names and types."},{"field":"process.elf.header.abi_version","type":"keyword","description":"Version of the ELF Application Binary Interface (ABI)."},{"field":"process.elf.header.class","type":"keyword","description":"Header class of the ELF file."},{"field":"process.elf.header.data","type":"keyword","description":"Data table of the ELF header."},{"field":"process.elf.header.entrypoint","type":"long","description":"Header entrypoint of the ELF file."},{"field":"process.elf.header.object_version","type":"keyword","description":"0x1\" for original ELF files."},{"field":"process.elf.header.os_abi","type":"keyword","description":"Application Binary Interface (ABI) of the Linux OS."},{"field":"process.elf.header.type","type":"keyword","description":"Header type of the ELF file."},{"field":"process.elf.header.version","type":"keyword","description":"Version of the ELF header."},{"field":"process.elf.imports","type":"flattened","description":"List of imported element names and types."},{"field":"process.elf.sections","type":"nested","description":"Section information of the ELF file."},{"field":"process.elf.sections.chi2","type":"long","description":"Chi-square probability distribution of the section."},{"field":"process.elf.sections.entropy","type":"long","description":"Shannon entropy calculation from the section."},{"field":"process.elf.sections.flags","type":"keyword","description":"ELF Section List flags."},{"field":"process.elf.sections.name","type":"keyword","description":"ELF Section List name."},{"field":"process.elf.sections.physical_offset","type":"keyword","description":"ELF Section List offset."},{"field":"process.elf.sections.physical_size","type":"long","description":"ELF Section List physical size."},{"field":"process.elf.sections.type","type":"keyword","description":"ELF Section List type."},{"field":"process.elf.sections.virtual_address","type":"long","description":"ELF Section List virtual address."},{"field":"process.elf.sections.virtual_size","type":"long","description":"ELF Section List virtual size."},{"field":"process.elf.segments","type":"nested","description":"ELF object segment list."},{"field":"process.elf.segments.sections","type":"keyword","description":"ELF object segment sections."},{"field":"process.elf.segments.type","type":"keyword","description":"ELF object segment type."},{"field":"process.elf.shared_libraries","type":"keyword","description":"List of shared libraries used by this ELF object."},{"field":"process.elf.telfhash","type":"keyword","description":"telfhash hash for ELF file."},{"field":"process.end","type":"date","description":"The time the process ended."},{"field":"process.entity_id","type":"keyword","description":"Unique identifier for the process."},{"field":"process.executable","type":"keyword","description":"Absolute path to the process executable."},{"field":"process.executable.text","type":"match_only_text","description":"Absolute path to the process executable."},{"field":"process.exit_code","type":"long","description":"The exit code of the process."},{"field":"process.hash.md5","type":"keyword","description":"MD5 hash."},{"field":"process.hash.sha1","type":"keyword","description":"SHA1 hash."},{"field":"process.hash.sha256","type":"keyword","description":"SHA256 hash."},{"field":"process.hash.sha512","type":"keyword","description":"SHA512 hash."},{"field":"process.hash.ssdeep","type":"keyword","description":"SSDEEP hash."},{"field":"process.name","type":"keyword","description":"Process name."},{"field":"process.name.text","type":"match_only_text","description":"Process name."},{"field":"process.parent.args","type":"keyword","description":"Array of process arguments."},{"field":"process.parent.args_count","type":"long","description":"Length of the process.args array."},{"field":"process.parent.code_signature.digest_algorithm","type":"keyword","description":"Hashing algorithm used to sign the process."},{"field":"process.parent.code_signature.exists","type":"boolean","description":"Boolean to capture if a signature is present."},{"field":"process.parent.code_signature.signing_id","type":"keyword","description":"The identifier used to sign the process."},{"field":"process.parent.code_signature.status","type":"keyword","description":"Additional information about the certificate status."},{"field":"process.parent.code_signature.subject_name","type":"keyword","description":"Subject name of the code signer"},{"field":"process.parent.code_signature.team_id","type":"keyword","description":"The team identifier used to sign the process."},{"field":"process.parent.code_signature.timestamp","type":"date","description":"When the signature was generated and signed."},{"field":"process.parent.code_signature.trusted","type":"boolean","description":"Stores the trust status of the certificate chain."},{"field":"process.parent.code_signature.valid","type":"boolean","description":"Boolean to capture if the digital signature is verified against the binary content."},{"field":"process.parent.command_line","type":"wildcard","description":"Full command line that started the process."},{"field":"process.parent.command_line.text","type":"match_only_text","description":"Full command line that started the process."},{"field":"process.parent.elf.architecture","type":"keyword","description":"Machine architecture of the ELF file."},{"field":"process.parent.elf.byte_order","type":"keyword","description":"Byte sequence of ELF file."},{"field":"process.parent.elf.cpu_type","type":"keyword","description":"CPU type of the ELF file."},{"field":"process.parent.elf.creation_date","type":"date","description":"Build or compile date."},{"field":"process.parent.elf.exports","type":"flattened","description":"List of exported element names and types."},{"field":"process.parent.elf.header.abi_version","type":"keyword","description":"Version of the ELF Application Binary Interface (ABI)."},{"field":"process.parent.elf.header.class","type":"keyword","description":"Header class of the ELF file."},{"field":"process.parent.elf.header.data","type":"keyword","description":"Data table of the ELF header."},{"field":"process.parent.elf.header.entrypoint","type":"long","description":"Header entrypoint of the ELF file."},{"field":"process.parent.elf.header.object_version","type":"keyword","description":"0x1\" for original ELF files."},{"field":"process.parent.elf.header.os_abi","type":"keyword","description":"Application Binary Interface (ABI) of the Linux OS."},{"field":"process.parent.elf.header.type","type":"keyword","description":"Header type of the ELF file."},{"field":"process.parent.elf.header.version","type":"keyword","description":"Version of the ELF header."},{"field":"process.parent.elf.imports","type":"flattened","description":"List of imported element names and types."},{"field":"process.parent.elf.sections","type":"nested","description":"Section information of the ELF file."},{"field":"process.parent.elf.sections.chi2","type":"long","description":"Chi-square probability distribution of the section."},{"field":"process.parent.elf.sections.entropy","type":"long","description":"Shannon entropy calculation from the section."},{"field":"process.parent.elf.sections.flags","type":"keyword","description":"ELF Section List flags."},{"field":"process.parent.elf.sections.name","type":"keyword","description":"ELF Section List name."},{"field":"process.parent.elf.sections.physical_offset","type":"keyword","description":"ELF Section List offset."},{"field":"process.parent.elf.sections.physical_size","type":"long","description":"ELF Section List physical size."},{"field":"process.parent.elf.sections.type","type":"keyword","description":"ELF Section List type."},{"field":"process.parent.elf.sections.virtual_address","type":"long","description":"ELF Section List virtual address."},{"field":"process.parent.elf.sections.virtual_size","type":"long","description":"ELF Section List virtual size."},{"field":"process.parent.elf.segments","type":"nested","description":"ELF object segment list."},{"field":"process.parent.elf.segments.sections","type":"keyword","description":"ELF object segment sections."},{"field":"process.parent.elf.segments.type","type":"keyword","description":"ELF object segment type."},{"field":"process.parent.elf.shared_libraries","type":"keyword","description":"List of shared libraries used by this ELF object."},{"field":"process.parent.elf.telfhash","type":"keyword","description":"telfhash hash for ELF file."},{"field":"process.parent.end","type":"date","description":"The time the process ended."},{"field":"process.parent.entity_id","type":"keyword","description":"Unique identifier for the process."},{"field":"process.parent.executable","type":"keyword","description":"Absolute path to the process executable."},{"field":"process.parent.executable.text","type":"match_only_text","description":"Absolute path to the process executable."},{"field":"process.parent.exit_code","type":"long","description":"The exit code of the process."},{"field":"process.parent.hash.md5","type":"keyword","description":"MD5 hash."},{"field":"process.parent.hash.sha1","type":"keyword","description":"SHA1 hash."},{"field":"process.parent.hash.sha256","type":"keyword","description":"SHA256 hash."},{"field":"process.parent.hash.sha512","type":"keyword","description":"SHA512 hash."},{"field":"process.parent.hash.ssdeep","type":"keyword","description":"SSDEEP hash."},{"field":"process.parent.name","type":"keyword","description":"Process name."},{"field":"process.parent.name.text","type":"match_only_text","description":"Process name."},{"field":"process.parent.pe.architecture","type":"keyword","description":"CPU architecture target for the file."},{"field":"process.parent.pe.company","type":"keyword","description":"Internal company name of the file, provided at compile-time."},{"field":"process.parent.pe.description","type":"keyword","description":"Internal description of the file, provided at compile-time."},{"field":"process.parent.pe.file_version","type":"keyword","description":"Process name."},{"field":"process.parent.pe.imphash","type":"keyword","description":"A hash of the imports in a PE file."},{"field":"process.parent.pe.original_file_name","type":"keyword","description":"Internal name of the file, provided at compile-time."},{"field":"process.parent.pe.product","type":"keyword","description":"Internal product name of the file, provided at compile-time."},{"field":"process.parent.pgid","type":"long","description":"Identifier of the group of processes the process belongs to."},{"field":"process.parent.pid","type":"long","description":"Process id."},{"field":"process.parent.ppid","type":"long","description":"Parent process' pid."},{"field":"process.parent.start","type":"date","description":"The time the process started."},{"field":"process.parent.thread.id","type":"long","description":"Thread ID."},{"field":"process.parent.thread.name","type":"keyword","description":"Thread name."},{"field":"process.parent.title","type":"keyword","description":"Process title."},{"field":"process.parent.title.text","type":"match_only_text","description":"Process title."},{"field":"process.parent.uptime","type":"long","description":"Seconds the process has been up."},{"field":"process.parent.working_directory","type":"keyword","description":"The working directory of the process."},{"field":"process.parent.working_directory.text","type":"match_only_text","description":"The working directory of the process."},{"field":"process.pe.architecture","type":"keyword","description":"CPU architecture target for the file."},{"field":"process.pe.company","type":"keyword","description":"Internal company name of the file, provided at compile-time."},{"field":"process.pe.description","type":"keyword","description":"Internal description of the file, provided at compile-time."},{"field":"process.pe.file_version","type":"keyword","description":"Process name."},{"field":"process.pe.imphash","type":"keyword","description":"A hash of the imports in a PE file."},{"field":"process.pe.original_file_name","type":"keyword","description":"Internal name of the file, provided at compile-time."},{"field":"process.pe.product","type":"keyword","description":"Internal product name of the file, provided at compile-time."},{"field":"process.pgid","type":"long","description":"Identifier of the group of processes the process belongs to."},{"field":"process.pid","type":"long","description":"Process id."},{"field":"process.ppid","type":"long","description":"Parent process' pid."},{"field":"process.start","type":"date","description":"The time the process started."},{"field":"process.thread.id","type":"long","description":"Thread ID."},{"field":"process.thread.name","type":"keyword","description":"Thread name."},{"field":"process.title","type":"keyword","description":"Process title."},{"field":"process.title.text","type":"match_only_text","description":"Process title."},{"field":"process.uptime","type":"long","description":"Seconds the process has been up."},{"field":"process.working_directory","type":"keyword","description":"The working directory of the process."},{"field":"process.working_directory.text","type":"match_only_text","description":"The working directory of the process."},{"field":"registry.data.bytes","type":"keyword","description":"Original bytes written with base64 encoding."},{"field":"registry.data.strings","type":"wildcard","description":"List of strings representing what was written to the registry."},{"field":"registry.data.type","type":"keyword","description":"Standard registry type for encoding contents"},{"field":"registry.hive","type":"keyword","description":"Abbreviated name for the hive."},{"field":"registry.key","type":"keyword","description":"Hive-relative path of keys."},{"field":"registry.path","type":"keyword","description":"Full path, including hive, key and value"},{"field":"registry.value","type":"keyword","description":"Name of the value written."},{"field":"related.hash","type":"keyword","description":"All the hashes seen on your event."},{"field":"related.hosts","type":"keyword","description":"All the host identifiers seen on your event."},{"field":"related.ip","type":"ip","description":"All of the IPs seen on your event."},{"field":"related.user","type":"keyword","description":"All the user names or other user identifiers seen on the event."},{"field":"rule.author","type":"keyword","description":"Rule author"},{"field":"rule.category","type":"keyword","description":"Rule category"},{"field":"rule.description","type":"keyword","description":"Rule description"},{"field":"rule.id","type":"keyword","description":"Rule ID"},{"field":"rule.license","type":"keyword","description":"Rule license"},{"field":"rule.name","type":"keyword","description":"Rule name"},{"field":"rule.reference","type":"keyword","description":"Rule reference URL"},{"field":"rule.ruleset","type":"keyword","description":"Rule ruleset"},{"field":"rule.uuid","type":"keyword","description":"Rule UUID"},{"field":"rule.version","type":"keyword","description":"Rule version"},{"field":"server.address","type":"keyword","description":"Server network address."},{"field":"server.as.number","type":"long","description":"Unique number allocated to the autonomous system."},{"field":"server.as.organization.name","type":"keyword","description":"Organization name."},{"field":"server.as.organization.name.text","type":"match_only_text","description":"Organization name."},{"field":"server.bytes","type":"long","description":"Bytes sent from the server to the client."},{"field":"server.domain","type":"keyword","description":"Server domain."},{"field":"server.geo.city_name","type":"keyword","description":"City name."},{"field":"server.geo.continent_code","type":"keyword","description":"Continent code."},{"field":"server.geo.continent_name","type":"keyword","description":"Name of the continent."},{"field":"server.geo.country_iso_code","type":"keyword","description":"Country ISO code."},{"field":"server.geo.country_name","type":"keyword","description":"Country name."},{"field":"server.geo.location","type":"geo_point","description":"Longitude and latitude."},{"field":"server.geo.name","type":"keyword","description":"User-defined description of a location."},{"field":"server.geo.postal_code","type":"keyword","description":"Postal code."},{"field":"server.geo.region_iso_code","type":"keyword","description":"Region ISO code."},{"field":"server.geo.region_name","type":"keyword","description":"Region name."},{"field":"server.geo.timezone","type":"keyword","description":"Time zone."},{"field":"server.ip","type":"ip","description":"IP address of the server."},{"field":"server.mac","type":"keyword","description":"MAC address of the server."},{"field":"server.nat.ip","type":"ip","description":"Server NAT ip"},{"field":"server.nat.port","type":"long","description":"Server NAT port"},{"field":"server.packets","type":"long","description":"Packets sent from the server to the client."},{"field":"server.port","type":"long","description":"Port of the server."},{"field":"server.registered_domain","type":"keyword","description":"The highest registered server domain, stripped of the subdomain."},{"field":"server.subdomain","type":"keyword","description":"The subdomain of the domain."},{"field":"server.top_level_domain","type":"keyword","description":"The effective top level domain (com, org, net, co.uk)."},{"field":"server.user.domain","type":"keyword","description":"Name of the directory the user is a member of."},{"field":"server.user.email","type":"keyword","description":"User email address."},{"field":"server.user.full_name","type":"keyword","description":"User's full name, if available."},{"field":"server.user.full_name.text","type":"match_only_text","description":"User's full name, if available."},{"field":"server.user.group.domain","type":"keyword","description":"Name of the directory the group is a member of."},{"field":"server.user.group.id","type":"keyword","description":"Unique identifier for the group on the system/platform."},{"field":"server.user.group.name","type":"keyword","description":"Name of the group."},{"field":"server.user.hash","type":"keyword","description":"Unique user hash to correlate information for a user in anonymized form."},{"field":"server.user.id","type":"keyword","description":"Unique identifier of the user."},{"field":"server.user.name","type":"keyword","description":"Short name or login of the user."},{"field":"server.user.name.text","type":"match_only_text","description":"Short name or login of the user."},{"field":"server.user.roles","type":"keyword","description":"Array of user roles at the time of the event."},{"field":"service.address","type":"keyword","description":"Address of this service."},{"field":"service.environment","type":"keyword","description":"Environment of the service."},{"field":"service.ephemeral_id","type":"keyword","description":"Ephemeral identifier of this service."},{"field":"service.id","type":"keyword","description":"Unique identifier of the running service."},{"field":"service.name","type":"keyword","description":"Name of the service."},{"field":"service.node.name","type":"keyword","description":"Name of the service node."},{"field":"service.state","type":"keyword","description":"Current state of the service."},{"field":"service.type","type":"keyword","description":"The type of the service."},{"field":"service.version","type":"keyword","description":"Version of the service."},{"field":"source.address","type":"keyword","description":"Source network address."},{"field":"source.as.number","type":"long","description":"Unique number allocated to the autonomous system."},{"field":"source.as.organization.name","type":"keyword","description":"Organization name."},{"field":"source.as.organization.name.text","type":"match_only_text","description":"Organization name."},{"field":"source.bytes","type":"long","description":"Bytes sent from the source to the destination."},{"field":"source.domain","type":"keyword","description":"Source domain."},{"field":"source.geo.city_name","type":"keyword","description":"City name."},{"field":"source.geo.continent_code","type":"keyword","description":"Continent code."},{"field":"source.geo.continent_name","type":"keyword","description":"Name of the continent."},{"field":"source.geo.country_iso_code","type":"keyword","description":"Country ISO code."},{"field":"source.geo.country_name","type":"keyword","description":"Country name."},{"field":"source.geo.location","type":"geo_point","description":"Longitude and latitude."},{"field":"source.geo.name","type":"keyword","description":"User-defined description of a location."},{"field":"source.geo.postal_code","type":"keyword","description":"Postal code."},{"field":"source.geo.region_iso_code","type":"keyword","description":"Region ISO code."},{"field":"source.geo.region_name","type":"keyword","description":"Region name."},{"field":"source.geo.timezone","type":"keyword","description":"Time zone."},{"field":"source.ip","type":"ip","description":"IP address of the source."},{"field":"source.mac","type":"keyword","description":"MAC address of the source."},{"field":"source.nat.ip","type":"ip","description":"Source NAT ip"},{"field":"source.nat.port","type":"long","description":"Source NAT port"},{"field":"source.packets","type":"long","description":"Packets sent from the source to the destination."},{"field":"source.port","type":"long","description":"Port of the source."},{"field":"source.registered_domain","type":"keyword","description":"The highest registered source domain, stripped of the subdomain."},{"field":"source.subdomain","type":"keyword","description":"The subdomain of the domain."},{"field":"source.top_level_domain","type":"keyword","description":"The effective top level domain (com, org, net, co.uk)."},{"field":"source.user.domain","type":"keyword","description":"Name of the directory the user is a member of."},{"field":"source.user.email","type":"keyword","description":"User email address."},{"field":"source.user.full_name","type":"keyword","description":"User's full name, if available."},{"field":"source.user.full_name.text","type":"match_only_text","description":"User's full name, if available."},{"field":"source.user.group.domain","type":"keyword","description":"Name of the directory the group is a member of."},{"field":"source.user.group.id","type":"keyword","description":"Unique identifier for the group on the system/platform."},{"field":"source.user.group.name","type":"keyword","description":"Name of the group."},{"field":"source.user.hash","type":"keyword","description":"Unique user hash to correlate information for a user in anonymized form."},{"field":"source.user.id","type":"keyword","description":"Unique identifier of the user."},{"field":"source.user.name","type":"keyword","description":"Short name or login of the user."},{"field":"source.user.name.text","type":"match_only_text","description":"Short name or login of the user."},{"field":"source.user.roles","type":"keyword","description":"Array of user roles at the time of the event."},{"field":"span.id","type":"keyword","description":"Unique identifier of the span within the scope of its trace."},{"field":"threat.enrichments","type":"nested","description":"List of objects containing indicators enriching the event."},{"field":"threat.enrichments.indicator","type":"object","description":"Object containing indicators enriching the event."},{"field":"threat.enrichments.indicator.as.number","type":"long","description":"Unique number allocated to the autonomous system."},{"field":"threat.enrichments.indicator.as.organization.name","type":"keyword","description":"Organization name."},{"field":"threat.enrichments.indicator.as.organization.name.text","type":"match_only_text","description":"Organization name."},{"field":"threat.enrichments.indicator.confidence","type":"keyword","description":"Indicator confidence rating"},{"field":"threat.enrichments.indicator.description","type":"keyword","description":"Indicator description"},{"field":"threat.enrichments.indicator.email.address","type":"keyword","description":"Indicator email address"},{"field":"threat.enrichments.indicator.file.accessed","type":"date","description":"Last time the file was accessed."},{"field":"threat.enrichments.indicator.file.attributes","type":"keyword","description":"Array of file attributes."},{"field":"threat.enrichments.indicator.file.code_signature.digest_algorithm","type":"keyword","description":"Hashing algorithm used to sign the process."},{"field":"threat.enrichments.indicator.file.code_signature.exists","type":"boolean","description":"Boolean to capture if a signature is present."},{"field":"threat.enrichments.indicator.file.code_signature.signing_id","type":"keyword","description":"The identifier used to sign the process."},{"field":"threat.enrichments.indicator.file.code_signature.status","type":"keyword","description":"Additional information about the certificate status."},{"field":"threat.enrichments.indicator.file.code_signature.subject_name","type":"keyword","description":"Subject name of the code signer"},{"field":"threat.enrichments.indicator.file.code_signature.team_id","type":"keyword","description":"The team identifier used to sign the process."},{"field":"threat.enrichments.indicator.file.code_signature.timestamp","type":"date","description":"When the signature was generated and signed."},{"field":"threat.enrichments.indicator.file.code_signature.trusted","type":"boolean","description":"Stores the trust status of the certificate chain."},{"field":"threat.enrichments.indicator.file.code_signature.valid","type":"boolean","description":"Boolean to capture if the digital signature is verified against the binary content."},{"field":"threat.enrichments.indicator.file.created","type":"date","description":"File creation time."},{"field":"threat.enrichments.indicator.file.ctime","type":"date","description":"Last time the file attributes or metadata changed."},{"field":"threat.enrichments.indicator.file.device","type":"keyword","description":"Device that is the source of the file."},{"field":"threat.enrichments.indicator.file.directory","type":"keyword","description":"Directory where the file is located."},{"field":"threat.enrichments.indicator.file.drive_letter","type":"keyword","description":"Drive letter where the file is located."},{"field":"threat.enrichments.indicator.file.elf.architecture","type":"keyword","description":"Machine architecture of the ELF file."},{"field":"threat.enrichments.indicator.file.elf.byte_order","type":"keyword","description":"Byte sequence of ELF file."},{"field":"threat.enrichments.indicator.file.elf.cpu_type","type":"keyword","description":"CPU type of the ELF file."},{"field":"threat.enrichments.indicator.file.elf.creation_date","type":"date","description":"Build or compile date."},{"field":"threat.enrichments.indicator.file.elf.exports","type":"flattened","description":"List of exported element names and types."},{"field":"threat.enrichments.indicator.file.elf.header.abi_version","type":"keyword","description":"Version of the ELF Application Binary Interface (ABI)."},{"field":"threat.enrichments.indicator.file.elf.header.class","type":"keyword","description":"Header class of the ELF file."},{"field":"threat.enrichments.indicator.file.elf.header.data","type":"keyword","description":"Data table of the ELF header."},{"field":"threat.enrichments.indicator.file.elf.header.entrypoint","type":"long","description":"Header entrypoint of the ELF file."},{"field":"threat.enrichments.indicator.file.elf.header.object_version","type":"keyword","description":"0x1\" for original ELF files."},{"field":"threat.enrichments.indicator.file.elf.header.os_abi","type":"keyword","description":"Application Binary Interface (ABI) of the Linux OS."},{"field":"threat.enrichments.indicator.file.elf.header.type","type":"keyword","description":"Header type of the ELF file."},{"field":"threat.enrichments.indicator.file.elf.header.version","type":"keyword","description":"Version of the ELF header."},{"field":"threat.enrichments.indicator.file.elf.imports","type":"flattened","description":"List of imported element names and types."},{"field":"threat.enrichments.indicator.file.elf.sections","type":"nested","description":"Section information of the ELF file."},{"field":"threat.enrichments.indicator.file.elf.sections.chi2","type":"long","description":"Chi-square probability distribution of the section."},{"field":"threat.enrichments.indicator.file.elf.sections.entropy","type":"long","description":"Shannon entropy calculation from the section."},{"field":"threat.enrichments.indicator.file.elf.sections.flags","type":"keyword","description":"ELF Section List flags."},{"field":"threat.enrichments.indicator.file.elf.sections.name","type":"keyword","description":"ELF Section List name."},{"field":"threat.enrichments.indicator.file.elf.sections.physical_offset","type":"keyword","description":"ELF Section List offset."},{"field":"threat.enrichments.indicator.file.elf.sections.physical_size","type":"long","description":"ELF Section List physical size."},{"field":"threat.enrichments.indicator.file.elf.sections.type","type":"keyword","description":"ELF Section List type."},{"field":"threat.enrichments.indicator.file.elf.sections.virtual_address","type":"long","description":"ELF Section List virtual address."},{"field":"threat.enrichments.indicator.file.elf.sections.virtual_size","type":"long","description":"ELF Section List virtual size."},{"field":"threat.enrichments.indicator.file.elf.segments","type":"nested","description":"ELF object segment list."},{"field":"threat.enrichments.indicator.file.elf.segments.sections","type":"keyword","description":"ELF object segment sections."},{"field":"threat.enrichments.indicator.file.elf.segments.type","type":"keyword","description":"ELF object segment type."},{"field":"threat.enrichments.indicator.file.elf.shared_libraries","type":"keyword","description":"List of shared libraries used by this ELF object."},{"field":"threat.enrichments.indicator.file.elf.telfhash","type":"keyword","description":"telfhash hash for ELF file."},{"field":"threat.enrichments.indicator.file.extension","type":"keyword","description":"File extension, excluding the leading dot."},{"field":"threat.enrichments.indicator.file.fork_name","type":"keyword","description":"A fork is additional data associated with a filesystem object."},{"field":"threat.enrichments.indicator.file.gid","type":"keyword","description":"Primary group ID (GID) of the file."},{"field":"threat.enrichments.indicator.file.group","type":"keyword","description":"Primary group name of the file."},{"field":"threat.enrichments.indicator.file.hash.md5","type":"keyword","description":"MD5 hash."},{"field":"threat.enrichments.indicator.file.hash.sha1","type":"keyword","description":"SHA1 hash."},{"field":"threat.enrichments.indicator.file.hash.sha256","type":"keyword","description":"SHA256 hash."},{"field":"threat.enrichments.indicator.file.hash.sha512","type":"keyword","description":"SHA512 hash."},{"field":"threat.enrichments.indicator.file.hash.ssdeep","type":"keyword","description":"SSDEEP hash."},{"field":"threat.enrichments.indicator.file.inode","type":"keyword","description":"Inode representing the file in the filesystem."},{"field":"threat.enrichments.indicator.file.mime_type","type":"keyword","description":"Media type of file, document, or arrangement of bytes."},{"field":"threat.enrichments.indicator.file.mode","type":"keyword","description":"Mode of the file in octal representation."},{"field":"threat.enrichments.indicator.file.mtime","type":"date","description":"Last time the file content was modified."},{"field":"threat.enrichments.indicator.file.name","type":"keyword","description":"Name of the file including the extension, without the directory."},{"field":"threat.enrichments.indicator.file.owner","type":"keyword","description":"File owner's username."},{"field":"threat.enrichments.indicator.file.path","type":"keyword","description":"Full path to the file, including the file name."},{"field":"threat.enrichments.indicator.file.path.text","type":"match_only_text","description":"Full path to the file, including the file name."},{"field":"threat.enrichments.indicator.file.pe.architecture","type":"keyword","description":"CPU architecture target for the file."},{"field":"threat.enrichments.indicator.file.pe.company","type":"keyword","description":"Internal company name of the file, provided at compile-time."},{"field":"threat.enrichments.indicator.file.pe.description","type":"keyword","description":"Internal description of the file, provided at compile-time."},{"field":"threat.enrichments.indicator.file.pe.file_version","type":"keyword","description":"Process name."},{"field":"threat.enrichments.indicator.file.pe.imphash","type":"keyword","description":"A hash of the imports in a PE file."},{"field":"threat.enrichments.indicator.file.pe.original_file_name","type":"keyword","description":"Internal name of the file, provided at compile-time."},{"field":"threat.enrichments.indicator.file.pe.product","type":"keyword","description":"Internal product name of the file, provided at compile-time."},{"field":"threat.enrichments.indicator.file.size","type":"long","description":"File size in bytes."},{"field":"threat.enrichments.indicator.file.target_path","type":"keyword","description":"Target path for symlinks."},{"field":"threat.enrichments.indicator.file.target_path.text","type":"match_only_text","description":"Target path for symlinks."},{"field":"threat.enrichments.indicator.file.type","type":"keyword","description":"File type (file, dir, or symlink)."},{"field":"threat.enrichments.indicator.file.uid","type":"keyword","description":"The user ID (UID) or security identifier (SID) of the file owner."},{"field":"threat.enrichments.indicator.file.x509.alternative_names","type":"keyword","description":"List of subject alternative names (SAN)."},{"field":"threat.enrichments.indicator.file.x509.issuer.common_name","type":"keyword","description":"List of common name (CN) of issuing certificate authority."},{"field":"threat.enrichments.indicator.file.x509.issuer.country","type":"keyword","description":"List of country (C) codes"},{"field":"threat.enrichments.indicator.file.x509.issuer.distinguished_name","type":"keyword","description":"Distinguished name (DN) of issuing certificate authority."},{"field":"threat.enrichments.indicator.file.x509.issuer.locality","type":"keyword","description":"List of locality names (L)"},{"field":"threat.enrichments.indicator.file.x509.issuer.organization","type":"keyword","description":"List of organizations (O) of issuing certificate authority."},{"field":"threat.enrichments.indicator.file.x509.issuer.organizational_unit","type":"keyword","description":"List of organizational units (OU) of issuing certificate authority."},{"field":"threat.enrichments.indicator.file.x509.issuer.state_or_province","type":"keyword","description":"List of state or province names (ST, S, or P)"},{"field":"threat.enrichments.indicator.file.x509.not_after","type":"date","description":"Time at which the certificate is no longer considered valid."},{"field":"threat.enrichments.indicator.file.x509.not_before","type":"date","description":"Time at which the certificate is first considered valid."},{"field":"threat.enrichments.indicator.file.x509.public_key_algorithm","type":"keyword","description":"Algorithm used to generate the public key."},{"field":"threat.enrichments.indicator.file.x509.public_key_curve","type":"keyword","description":"The curve used by the elliptic curve public key algorithm. This is algorithm specific."},{"field":"threat.enrichments.indicator.file.x509.public_key_exponent","type":"long","description":"Exponent used to derive the public key. This is algorithm specific."},{"field":"threat.enrichments.indicator.file.x509.public_key_size","type":"long","description":"The size of the public key space in bits."},{"field":"threat.enrichments.indicator.file.x509.serial_number","type":"keyword","description":"Unique serial number issued by the certificate authority."},{"field":"threat.enrichments.indicator.file.x509.signature_algorithm","type":"keyword","description":"Identifier for certificate signature algorithm."},{"field":"threat.enrichments.indicator.file.x509.subject.common_name","type":"keyword","description":"List of common names (CN) of subject."},{"field":"threat.enrichments.indicator.file.x509.subject.country","type":"keyword","description":"List of country (C) code"},{"field":"threat.enrichments.indicator.file.x509.subject.distinguished_name","type":"keyword","description":"Distinguished name (DN) of the certificate subject entity."},{"field":"threat.enrichments.indicator.file.x509.subject.locality","type":"keyword","description":"List of locality names (L)"},{"field":"threat.enrichments.indicator.file.x509.subject.organization","type":"keyword","description":"List of organizations (O) of subject."},{"field":"threat.enrichments.indicator.file.x509.subject.organizational_unit","type":"keyword","description":"List of organizational units (OU) of subject."},{"field":"threat.enrichments.indicator.file.x509.subject.state_or_province","type":"keyword","description":"List of state or province names (ST, S, or P)"},{"field":"threat.enrichments.indicator.file.x509.version_number","type":"keyword","description":"Version of x509 format."},{"field":"threat.enrichments.indicator.first_seen","type":"date","description":"Date/time indicator was first reported."},{"field":"threat.enrichments.indicator.geo.city_name","type":"keyword","description":"City name."},{"field":"threat.enrichments.indicator.geo.continent_code","type":"keyword","description":"Continent code."},{"field":"threat.enrichments.indicator.geo.continent_name","type":"keyword","description":"Name of the continent."},{"field":"threat.enrichments.indicator.geo.country_iso_code","type":"keyword","description":"Country ISO code."},{"field":"threat.enrichments.indicator.geo.country_name","type":"keyword","description":"Country name."},{"field":"threat.enrichments.indicator.geo.location","type":"geo_point","description":"Longitude and latitude."},{"field":"threat.enrichments.indicator.geo.name","type":"keyword","description":"User-defined description of a location."},{"field":"threat.enrichments.indicator.geo.postal_code","type":"keyword","description":"Postal code."},{"field":"threat.enrichments.indicator.geo.region_iso_code","type":"keyword","description":"Region ISO code."},{"field":"threat.enrichments.indicator.geo.region_name","type":"keyword","description":"Region name."},{"field":"threat.enrichments.indicator.geo.timezone","type":"keyword","description":"Time zone."},{"field":"threat.enrichments.indicator.ip","type":"ip","description":"Indicator IP address"},{"field":"threat.enrichments.indicator.last_seen","type":"date","description":"Date/time indicator was last reported."},{"field":"threat.enrichments.indicator.marking.tlp","type":"keyword","description":"Indicator TLP marking"},{"field":"threat.enrichments.indicator.modified_at","type":"date","description":"Date/time indicator was last updated."},{"field":"threat.enrichments.indicator.port","type":"long","description":"Indicator port"},{"field":"threat.enrichments.indicator.provider","type":"keyword","description":"Indicator provider"},{"field":"threat.enrichments.indicator.reference","type":"keyword","description":"Indicator reference URL"},{"field":"threat.enrichments.indicator.registry.data.bytes","type":"keyword","description":"Original bytes written with base64 encoding."},{"field":"threat.enrichments.indicator.registry.data.strings","type":"wildcard","description":"List of strings representing what was written to the registry."},{"field":"threat.enrichments.indicator.registry.data.type","type":"keyword","description":"Standard registry type for encoding contents"},{"field":"threat.enrichments.indicator.registry.hive","type":"keyword","description":"Abbreviated name for the hive."},{"field":"threat.enrichments.indicator.registry.key","type":"keyword","description":"Hive-relative path of keys."},{"field":"threat.enrichments.indicator.registry.path","type":"keyword","description":"Full path, including hive, key and value"},{"field":"threat.enrichments.indicator.registry.value","type":"keyword","description":"Name of the value written."},{"field":"threat.enrichments.indicator.scanner_stats","type":"long","description":"Scanner statistics"},{"field":"threat.enrichments.indicator.sightings","type":"long","description":"Number of times indicator observed"},{"field":"threat.enrichments.indicator.type","type":"keyword","description":"Type of indicator"},{"field":"threat.enrichments.indicator.url.domain","type":"keyword","description":"Domain of the url."},{"field":"threat.enrichments.indicator.url.extension","type":"keyword","description":"File extension from the request url, excluding the leading dot."},{"field":"threat.enrichments.indicator.url.fragment","type":"keyword","description":"Portion of the url after the `#`."},{"field":"threat.enrichments.indicator.url.full","type":"wildcard","description":"Full unparsed URL."},{"field":"threat.enrichments.indicator.url.full.text","type":"match_only_text","description":"Full unparsed URL."},{"field":"threat.enrichments.indicator.url.original","type":"wildcard","description":"Unmodified original url as seen in the event source."},{"field":"threat.enrichments.indicator.url.original.text","type":"match_only_text","description":"Unmodified original url as seen in the event source."},{"field":"threat.enrichments.indicator.url.password","type":"keyword","description":"Password of the request."},{"field":"threat.enrichments.indicator.url.path","type":"wildcard","description":"Path of the request, such as \"/search\"."},{"field":"threat.enrichments.indicator.url.port","type":"long","description":"Port of the request, such as 443."},{"field":"threat.enrichments.indicator.url.query","type":"keyword","description":"Query string of the request."},{"field":"threat.enrichments.indicator.url.registered_domain","type":"keyword","description":"The highest registered url domain, stripped of the subdomain."},{"field":"threat.enrichments.indicator.url.scheme","type":"keyword","description":"Scheme of the url."},{"field":"threat.enrichments.indicator.url.subdomain","type":"keyword","description":"The subdomain of the domain."},{"field":"threat.enrichments.indicator.url.top_level_domain","type":"keyword","description":"The effective top level domain (com, org, net, co.uk)."},{"field":"threat.enrichments.indicator.url.username","type":"keyword","description":"Username of the request."},{"field":"threat.enrichments.indicator.x509.alternative_names","type":"keyword","description":"List of subject alternative names (SAN)."},{"field":"threat.enrichments.indicator.x509.issuer.common_name","type":"keyword","description":"List of common name (CN) of issuing certificate authority."},{"field":"threat.enrichments.indicator.x509.issuer.country","type":"keyword","description":"List of country (C) codes"},{"field":"threat.enrichments.indicator.x509.issuer.distinguished_name","type":"keyword","description":"Distinguished name (DN) of issuing certificate authority."},{"field":"threat.enrichments.indicator.x509.issuer.locality","type":"keyword","description":"List of locality names (L)"},{"field":"threat.enrichments.indicator.x509.issuer.organization","type":"keyword","description":"List of organizations (O) of issuing certificate authority."},{"field":"threat.enrichments.indicator.x509.issuer.organizational_unit","type":"keyword","description":"List of organizational units (OU) of issuing certificate authority."},{"field":"threat.enrichments.indicator.x509.issuer.state_or_province","type":"keyword","description":"List of state or province names (ST, S, or P)"},{"field":"threat.enrichments.indicator.x509.not_after","type":"date","description":"Time at which the certificate is no longer considered valid."},{"field":"threat.enrichments.indicator.x509.not_before","type":"date","description":"Time at which the certificate is first considered valid."},{"field":"threat.enrichments.indicator.x509.public_key_algorithm","type":"keyword","description":"Algorithm used to generate the public key."},{"field":"threat.enrichments.indicator.x509.public_key_curve","type":"keyword","description":"The curve used by the elliptic curve public key algorithm. This is algorithm specific."},{"field":"threat.enrichments.indicator.x509.public_key_exponent","type":"long","description":"Exponent used to derive the public key. This is algorithm specific."},{"field":"threat.enrichments.indicator.x509.public_key_size","type":"long","description":"The size of the public key space in bits."},{"field":"threat.enrichments.indicator.x509.serial_number","type":"keyword","description":"Unique serial number issued by the certificate authority."},{"field":"threat.enrichments.indicator.x509.signature_algorithm","type":"keyword","description":"Identifier for certificate signature algorithm."},{"field":"threat.enrichments.indicator.x509.subject.common_name","type":"keyword","description":"List of common names (CN) of subject."},{"field":"threat.enrichments.indicator.x509.subject.country","type":"keyword","description":"List of country (C) code"},{"field":"threat.enrichments.indicator.x509.subject.distinguished_name","type":"keyword","description":"Distinguished name (DN) of the certificate subject entity."},{"field":"threat.enrichments.indicator.x509.subject.locality","type":"keyword","description":"List of locality names (L)"},{"field":"threat.enrichments.indicator.x509.subject.organization","type":"keyword","description":"List of organizations (O) of subject."},{"field":"threat.enrichments.indicator.x509.subject.organizational_unit","type":"keyword","description":"List of organizational units (OU) of subject."},{"field":"threat.enrichments.indicator.x509.subject.state_or_province","type":"keyword","description":"List of state or province names (ST, S, or P)"},{"field":"threat.enrichments.indicator.x509.version_number","type":"keyword","description":"Version of x509 format."},{"field":"threat.enrichments.matched.atomic","type":"keyword","description":"Matched indicator value"},{"field":"threat.enrichments.matched.field","type":"keyword","description":"Matched indicator field"},{"field":"threat.enrichments.matched.id","type":"keyword","description":"Matched indicator identifier"},{"field":"threat.enrichments.matched.index","type":"keyword","description":"Matched indicator index"},{"field":"threat.enrichments.matched.type","type":"keyword","description":"Type of indicator match"},{"field":"threat.framework","type":"keyword","description":"Threat classification framework."},{"field":"threat.group.alias","type":"keyword","description":"Alias of the group."},{"field":"threat.group.id","type":"keyword","description":"ID of the group."},{"field":"threat.group.name","type":"keyword","description":"Name of the group."},{"field":"threat.group.reference","type":"keyword","description":"Reference URL of the group."},{"field":"threat.indicator.as.number","type":"long","description":"Unique number allocated to the autonomous system."},{"field":"threat.indicator.as.organization.name","type":"keyword","description":"Organization name."},{"field":"threat.indicator.as.organization.name.text","type":"match_only_text","description":"Organization name."},{"field":"threat.indicator.confidence","type":"keyword","description":"Indicator confidence rating"},{"field":"threat.indicator.description","type":"keyword","description":"Indicator description"},{"field":"threat.indicator.email.address","type":"keyword","description":"Indicator email address"},{"field":"threat.indicator.file.accessed","type":"date","description":"Last time the file was accessed."},{"field":"threat.indicator.file.attributes","type":"keyword","description":"Array of file attributes."},{"field":"threat.indicator.file.code_signature.digest_algorithm","type":"keyword","description":"Hashing algorithm used to sign the process."},{"field":"threat.indicator.file.code_signature.exists","type":"boolean","description":"Boolean to capture if a signature is present."},{"field":"threat.indicator.file.code_signature.signing_id","type":"keyword","description":"The identifier used to sign the process."},{"field":"threat.indicator.file.code_signature.status","type":"keyword","description":"Additional information about the certificate status."},{"field":"threat.indicator.file.code_signature.subject_name","type":"keyword","description":"Subject name of the code signer"},{"field":"threat.indicator.file.code_signature.team_id","type":"keyword","description":"The team identifier used to sign the process."},{"field":"threat.indicator.file.code_signature.timestamp","type":"date","description":"When the signature was generated and signed."},{"field":"threat.indicator.file.code_signature.trusted","type":"boolean","description":"Stores the trust status of the certificate chain."},{"field":"threat.indicator.file.code_signature.valid","type":"boolean","description":"Boolean to capture if the digital signature is verified against the binary content."},{"field":"threat.indicator.file.created","type":"date","description":"File creation time."},{"field":"threat.indicator.file.ctime","type":"date","description":"Last time the file attributes or metadata changed."},{"field":"threat.indicator.file.device","type":"keyword","description":"Device that is the source of the file."},{"field":"threat.indicator.file.directory","type":"keyword","description":"Directory where the file is located."},{"field":"threat.indicator.file.drive_letter","type":"keyword","description":"Drive letter where the file is located."},{"field":"threat.indicator.file.elf.architecture","type":"keyword","description":"Machine architecture of the ELF file."},{"field":"threat.indicator.file.elf.byte_order","type":"keyword","description":"Byte sequence of ELF file."},{"field":"threat.indicator.file.elf.cpu_type","type":"keyword","description":"CPU type of the ELF file."},{"field":"threat.indicator.file.elf.creation_date","type":"date","description":"Build or compile date."},{"field":"threat.indicator.file.elf.exports","type":"flattened","description":"List of exported element names and types."},{"field":"threat.indicator.file.elf.header.abi_version","type":"keyword","description":"Version of the ELF Application Binary Interface (ABI)."},{"field":"threat.indicator.file.elf.header.class","type":"keyword","description":"Header class of the ELF file."},{"field":"threat.indicator.file.elf.header.data","type":"keyword","description":"Data table of the ELF header."},{"field":"threat.indicator.file.elf.header.entrypoint","type":"long","description":"Header entrypoint of the ELF file."},{"field":"threat.indicator.file.elf.header.object_version","type":"keyword","description":"0x1\" for original ELF files."},{"field":"threat.indicator.file.elf.header.os_abi","type":"keyword","description":"Application Binary Interface (ABI) of the Linux OS."},{"field":"threat.indicator.file.elf.header.type","type":"keyword","description":"Header type of the ELF file."},{"field":"threat.indicator.file.elf.header.version","type":"keyword","description":"Version of the ELF header."},{"field":"threat.indicator.file.elf.imports","type":"flattened","description":"List of imported element names and types."},{"field":"threat.indicator.file.elf.sections","type":"nested","description":"Section information of the ELF file."},{"field":"threat.indicator.file.elf.sections.chi2","type":"long","description":"Chi-square probability distribution of the section."},{"field":"threat.indicator.file.elf.sections.entropy","type":"long","description":"Shannon entropy calculation from the section."},{"field":"threat.indicator.file.elf.sections.flags","type":"keyword","description":"ELF Section List flags."},{"field":"threat.indicator.file.elf.sections.name","type":"keyword","description":"ELF Section List name."},{"field":"threat.indicator.file.elf.sections.physical_offset","type":"keyword","description":"ELF Section List offset."},{"field":"threat.indicator.file.elf.sections.physical_size","type":"long","description":"ELF Section List physical size."},{"field":"threat.indicator.file.elf.sections.type","type":"keyword","description":"ELF Section List type."},{"field":"threat.indicator.file.elf.sections.virtual_address","type":"long","description":"ELF Section List virtual address."},{"field":"threat.indicator.file.elf.sections.virtual_size","type":"long","description":"ELF Section List virtual size."},{"field":"threat.indicator.file.elf.segments","type":"nested","description":"ELF object segment list."},{"field":"threat.indicator.file.elf.segments.sections","type":"keyword","description":"ELF object segment sections."},{"field":"threat.indicator.file.elf.segments.type","type":"keyword","description":"ELF object segment type."},{"field":"threat.indicator.file.elf.shared_libraries","type":"keyword","description":"List of shared libraries used by this ELF object."},{"field":"threat.indicator.file.elf.telfhash","type":"keyword","description":"telfhash hash for ELF file."},{"field":"threat.indicator.file.extension","type":"keyword","description":"File extension, excluding the leading dot."},{"field":"threat.indicator.file.fork_name","type":"keyword","description":"A fork is additional data associated with a filesystem object."},{"field":"threat.indicator.file.gid","type":"keyword","description":"Primary group ID (GID) of the file."},{"field":"threat.indicator.file.group","type":"keyword","description":"Primary group name of the file."},{"field":"threat.indicator.file.hash.md5","type":"keyword","description":"MD5 hash."},{"field":"threat.indicator.file.hash.sha1","type":"keyword","description":"SHA1 hash."},{"field":"threat.indicator.file.hash.sha256","type":"keyword","description":"SHA256 hash."},{"field":"threat.indicator.file.hash.sha512","type":"keyword","description":"SHA512 hash."},{"field":"threat.indicator.file.hash.ssdeep","type":"keyword","description":"SSDEEP hash."},{"field":"threat.indicator.file.inode","type":"keyword","description":"Inode representing the file in the filesystem."},{"field":"threat.indicator.file.mime_type","type":"keyword","description":"Media type of file, document, or arrangement of bytes."},{"field":"threat.indicator.file.mode","type":"keyword","description":"Mode of the file in octal representation."},{"field":"threat.indicator.file.mtime","type":"date","description":"Last time the file content was modified."},{"field":"threat.indicator.file.name","type":"keyword","description":"Name of the file including the extension, without the directory."},{"field":"threat.indicator.file.owner","type":"keyword","description":"File owner's username."},{"field":"threat.indicator.file.path","type":"keyword","description":"Full path to the file, including the file name."},{"field":"threat.indicator.file.path.text","type":"match_only_text","description":"Full path to the file, including the file name."},{"field":"threat.indicator.file.pe.architecture","type":"keyword","description":"CPU architecture target for the file."},{"field":"threat.indicator.file.pe.company","type":"keyword","description":"Internal company name of the file, provided at compile-time."},{"field":"threat.indicator.file.pe.description","type":"keyword","description":"Internal description of the file, provided at compile-time."},{"field":"threat.indicator.file.pe.file_version","type":"keyword","description":"Process name."},{"field":"threat.indicator.file.pe.imphash","type":"keyword","description":"A hash of the imports in a PE file."},{"field":"threat.indicator.file.pe.original_file_name","type":"keyword","description":"Internal name of the file, provided at compile-time."},{"field":"threat.indicator.file.pe.product","type":"keyword","description":"Internal product name of the file, provided at compile-time."},{"field":"threat.indicator.file.size","type":"long","description":"File size in bytes."},{"field":"threat.indicator.file.target_path","type":"keyword","description":"Target path for symlinks."},{"field":"threat.indicator.file.target_path.text","type":"match_only_text","description":"Target path for symlinks."},{"field":"threat.indicator.file.type","type":"keyword","description":"File type (file, dir, or symlink)."},{"field":"threat.indicator.file.uid","type":"keyword","description":"The user ID (UID) or security identifier (SID) of the file owner."},{"field":"threat.indicator.file.x509.alternative_names","type":"keyword","description":"List of subject alternative names (SAN)."},{"field":"threat.indicator.file.x509.issuer.common_name","type":"keyword","description":"List of common name (CN) of issuing certificate authority."},{"field":"threat.indicator.file.x509.issuer.country","type":"keyword","description":"List of country (C) codes"},{"field":"threat.indicator.file.x509.issuer.distinguished_name","type":"keyword","description":"Distinguished name (DN) of issuing certificate authority."},{"field":"threat.indicator.file.x509.issuer.locality","type":"keyword","description":"List of locality names (L)"},{"field":"threat.indicator.file.x509.issuer.organization","type":"keyword","description":"List of organizations (O) of issuing certificate authority."},{"field":"threat.indicator.file.x509.issuer.organizational_unit","type":"keyword","description":"List of organizational units (OU) of issuing certificate authority."},{"field":"threat.indicator.file.x509.issuer.state_or_province","type":"keyword","description":"List of state or province names (ST, S, or P)"},{"field":"threat.indicator.file.x509.not_after","type":"date","description":"Time at which the certificate is no longer considered valid."},{"field":"threat.indicator.file.x509.not_before","type":"date","description":"Time at which the certificate is first considered valid."},{"field":"threat.indicator.file.x509.public_key_algorithm","type":"keyword","description":"Algorithm used to generate the public key."},{"field":"threat.indicator.file.x509.public_key_curve","type":"keyword","description":"The curve used by the elliptic curve public key algorithm. This is algorithm specific."},{"field":"threat.indicator.file.x509.public_key_exponent","type":"long","description":"Exponent used to derive the public key. This is algorithm specific."},{"field":"threat.indicator.file.x509.public_key_size","type":"long","description":"The size of the public key space in bits."},{"field":"threat.indicator.file.x509.serial_number","type":"keyword","description":"Unique serial number issued by the certificate authority."},{"field":"threat.indicator.file.x509.signature_algorithm","type":"keyword","description":"Identifier for certificate signature algorithm."},{"field":"threat.indicator.file.x509.subject.common_name","type":"keyword","description":"List of common names (CN) of subject."},{"field":"threat.indicator.file.x509.subject.country","type":"keyword","description":"List of country (C) code"},{"field":"threat.indicator.file.x509.subject.distinguished_name","type":"keyword","description":"Distinguished name (DN) of the certificate subject entity."},{"field":"threat.indicator.file.x509.subject.locality","type":"keyword","description":"List of locality names (L)"},{"field":"threat.indicator.file.x509.subject.organization","type":"keyword","description":"List of organizations (O) of subject."},{"field":"threat.indicator.file.x509.subject.organizational_unit","type":"keyword","description":"List of organizational units (OU) of subject."},{"field":"threat.indicator.file.x509.subject.state_or_province","type":"keyword","description":"List of state or province names (ST, S, or P)"},{"field":"threat.indicator.file.x509.version_number","type":"keyword","description":"Version of x509 format."},{"field":"threat.indicator.first_seen","type":"date","description":"Date/time indicator was first reported."},{"field":"threat.indicator.geo.city_name","type":"keyword","description":"City name."},{"field":"threat.indicator.geo.continent_code","type":"keyword","description":"Continent code."},{"field":"threat.indicator.geo.continent_name","type":"keyword","description":"Name of the continent."},{"field":"threat.indicator.geo.country_iso_code","type":"keyword","description":"Country ISO code."},{"field":"threat.indicator.geo.country_name","type":"keyword","description":"Country name."},{"field":"threat.indicator.geo.location","type":"geo_point","description":"Longitude and latitude."},{"field":"threat.indicator.geo.name","type":"keyword","description":"User-defined description of a location."},{"field":"threat.indicator.geo.postal_code","type":"keyword","description":"Postal code."},{"field":"threat.indicator.geo.region_iso_code","type":"keyword","description":"Region ISO code."},{"field":"threat.indicator.geo.region_name","type":"keyword","description":"Region name."},{"field":"threat.indicator.geo.timezone","type":"keyword","description":"Time zone."},{"field":"threat.indicator.ip","type":"ip","description":"Indicator IP address"},{"field":"threat.indicator.last_seen","type":"date","description":"Date/time indicator was last reported."},{"field":"threat.indicator.marking.tlp","type":"keyword","description":"Indicator TLP marking"},{"field":"threat.indicator.modified_at","type":"date","description":"Date/time indicator was last updated."},{"field":"threat.indicator.port","type":"long","description":"Indicator port"},{"field":"threat.indicator.provider","type":"keyword","description":"Indicator provider"},{"field":"threat.indicator.reference","type":"keyword","description":"Indicator reference URL"},{"field":"threat.indicator.registry.data.bytes","type":"keyword","description":"Original bytes written with base64 encoding."},{"field":"threat.indicator.registry.data.strings","type":"wildcard","description":"List of strings representing what was written to the registry."},{"field":"threat.indicator.registry.data.type","type":"keyword","description":"Standard registry type for encoding contents"},{"field":"threat.indicator.registry.hive","type":"keyword","description":"Abbreviated name for the hive."},{"field":"threat.indicator.registry.key","type":"keyword","description":"Hive-relative path of keys."},{"field":"threat.indicator.registry.path","type":"keyword","description":"Full path, including hive, key and value"},{"field":"threat.indicator.registry.value","type":"keyword","description":"Name of the value written."},{"field":"threat.indicator.scanner_stats","type":"long","description":"Scanner statistics"},{"field":"threat.indicator.sightings","type":"long","description":"Number of times indicator observed"},{"field":"threat.indicator.type","type":"keyword","description":"Type of indicator"},{"field":"threat.indicator.url.domain","type":"keyword","description":"Domain of the url."},{"field":"threat.indicator.url.extension","type":"keyword","description":"File extension from the request url, excluding the leading dot."},{"field":"threat.indicator.url.fragment","type":"keyword","description":"Portion of the url after the `#`."},{"field":"threat.indicator.url.full","type":"wildcard","description":"Full unparsed URL."},{"field":"threat.indicator.url.full.text","type":"match_only_text","description":"Full unparsed URL."},{"field":"threat.indicator.url.original","type":"wildcard","description":"Unmodified original url as seen in the event source."},{"field":"threat.indicator.url.original.text","type":"match_only_text","description":"Unmodified original url as seen in the event source."},{"field":"threat.indicator.url.password","type":"keyword","description":"Password of the request."},{"field":"threat.indicator.url.path","type":"wildcard","description":"Path of the request, such as \"/search\"."},{"field":"threat.indicator.url.port","type":"long","description":"Port of the request, such as 443."},{"field":"threat.indicator.url.query","type":"keyword","description":"Query string of the request."},{"field":"threat.indicator.url.registered_domain","type":"keyword","description":"The highest registered url domain, stripped of the subdomain."},{"field":"threat.indicator.url.scheme","type":"keyword","description":"Scheme of the url."},{"field":"threat.indicator.url.subdomain","type":"keyword","description":"The subdomain of the domain."},{"field":"threat.indicator.url.top_level_domain","type":"keyword","description":"The effective top level domain (com, org, net, co.uk)."},{"field":"threat.indicator.url.username","type":"keyword","description":"Username of the request."},{"field":"threat.indicator.x509.alternative_names","type":"keyword","description":"List of subject alternative names (SAN)."},{"field":"threat.indicator.x509.issuer.common_name","type":"keyword","description":"List of common name (CN) of issuing certificate authority."},{"field":"threat.indicator.x509.issuer.country","type":"keyword","description":"List of country (C) codes"},{"field":"threat.indicator.x509.issuer.distinguished_name","type":"keyword","description":"Distinguished name (DN) of issuing certificate authority."},{"field":"threat.indicator.x509.issuer.locality","type":"keyword","description":"List of locality names (L)"},{"field":"threat.indicator.x509.issuer.organization","type":"keyword","description":"List of organizations (O) of issuing certificate authority."},{"field":"threat.indicator.x509.issuer.organizational_unit","type":"keyword","description":"List of organizational units (OU) of issuing certificate authority."},{"field":"threat.indicator.x509.issuer.state_or_province","type":"keyword","description":"List of state or province names (ST, S, or P)"},{"field":"threat.indicator.x509.not_after","type":"date","description":"Time at which the certificate is no longer considered valid."},{"field":"threat.indicator.x509.not_before","type":"date","description":"Time at which the certificate is first considered valid."},{"field":"threat.indicator.x509.public_key_algorithm","type":"keyword","description":"Algorithm used to generate the public key."},{"field":"threat.indicator.x509.public_key_curve","type":"keyword","description":"The curve used by the elliptic curve public key algorithm. This is algorithm specific."},{"field":"threat.indicator.x509.public_key_exponent","type":"long","description":"Exponent used to derive the public key. This is algorithm specific."},{"field":"threat.indicator.x509.public_key_size","type":"long","description":"The size of the public key space in bits."},{"field":"threat.indicator.x509.serial_number","type":"keyword","description":"Unique serial number issued by the certificate authority."},{"field":"threat.indicator.x509.signature_algorithm","type":"keyword","description":"Identifier for certificate signature algorithm."},{"field":"threat.indicator.x509.subject.common_name","type":"keyword","description":"List of common names (CN) of subject."},{"field":"threat.indicator.x509.subject.country","type":"keyword","description":"List of country (C) code"},{"field":"threat.indicator.x509.subject.distinguished_name","type":"keyword","description":"Distinguished name (DN) of the certificate subject entity."},{"field":"threat.indicator.x509.subject.locality","type":"keyword","description":"List of locality names (L)"},{"field":"threat.indicator.x509.subject.organization","type":"keyword","description":"List of organizations (O) of subject."},{"field":"threat.indicator.x509.subject.organizational_unit","type":"keyword","description":"List of organizational units (OU) of subject."},{"field":"threat.indicator.x509.subject.state_or_province","type":"keyword","description":"List of state or province names (ST, S, or P)"},{"field":"threat.indicator.x509.version_number","type":"keyword","description":"Version of x509 format."},{"field":"threat.software.alias","type":"keyword","description":"Alias of the software"},{"field":"threat.software.id","type":"keyword","description":"ID of the software"},{"field":"threat.software.name","type":"keyword","description":"Name of the software."},{"field":"threat.software.platforms","type":"keyword","description":"Platforms of the software."},{"field":"threat.software.reference","type":"keyword","description":"Software reference URL."},{"field":"threat.software.type","type":"keyword","description":"Software type."},{"field":"threat.tactic.id","type":"keyword","description":"Threat tactic id."},{"field":"threat.tactic.name","type":"keyword","description":"Threat tactic."},{"field":"threat.tactic.reference","type":"keyword","description":"Threat tactic URL reference."},{"field":"threat.technique.id","type":"keyword","description":"Threat technique id."},{"field":"threat.technique.name","type":"keyword","description":"Threat technique name."},{"field":"threat.technique.name.text","type":"match_only_text","description":"Threat technique name."},{"field":"threat.technique.reference","type":"keyword","description":"Threat technique URL reference."},{"field":"threat.technique.subtechnique.id","type":"keyword","description":"Threat subtechnique id."},{"field":"threat.technique.subtechnique.name","type":"keyword","description":"Threat subtechnique name."},{"field":"threat.technique.subtechnique.name.text","type":"match_only_text","description":"Threat subtechnique name."},{"field":"threat.technique.subtechnique.reference","type":"keyword","description":"Threat subtechnique URL reference."},{"field":"tls.cipher","type":"keyword","description":"String indicating the cipher used during the current connection."},{"field":"tls.client.certificate","type":"keyword","description":"PEM-encoded stand-alone certificate offered by the client."},{"field":"tls.client.certificate_chain","type":"keyword","description":"Array of PEM-encoded certificates that make up the certificate chain offered by the client."},{"field":"tls.client.hash.md5","type":"keyword","description":"Certificate fingerprint using the MD5 digest of DER-encoded version of certificate offered by the client."},{"field":"tls.client.hash.sha1","type":"keyword","description":"Certificate fingerprint using the SHA1 digest of DER-encoded version of certificate offered by the client."},{"field":"tls.client.hash.sha256","type":"keyword","description":"Certificate fingerprint using the SHA256 digest of DER-encoded version of certificate offered by the client."},{"field":"tls.client.issuer","type":"keyword","description":"Distinguished name of subject of the issuer of the x.509 certificate presented by the client."},{"field":"tls.client.ja3","type":"keyword","description":"A hash that identifies clients based on how they perform an SSL/TLS handshake."},{"field":"tls.client.not_after","type":"date","description":"Date/Time indicating when client certificate is no longer considered valid."},{"field":"tls.client.not_before","type":"date","description":"Date/Time indicating when client certificate is first considered valid."},{"field":"tls.client.server_name","type":"keyword","description":"Hostname the client is trying to connect to. Also called the SNI."},{"field":"tls.client.subject","type":"keyword","description":"Distinguished name of subject of the x.509 certificate presented by the client."},{"field":"tls.client.supported_ciphers","type":"keyword","description":"Array of ciphers offered by the client during the client hello."},{"field":"tls.client.x509.alternative_names","type":"keyword","description":"List of subject alternative names (SAN)."},{"field":"tls.client.x509.issuer.common_name","type":"keyword","description":"List of common name (CN) of issuing certificate authority."},{"field":"tls.client.x509.issuer.country","type":"keyword","description":"List of country (C) codes"},{"field":"tls.client.x509.issuer.distinguished_name","type":"keyword","description":"Distinguished name (DN) of issuing certificate authority."},{"field":"tls.client.x509.issuer.locality","type":"keyword","description":"List of locality names (L)"},{"field":"tls.client.x509.issuer.organization","type":"keyword","description":"List of organizations (O) of issuing certificate authority."},{"field":"tls.client.x509.issuer.organizational_unit","type":"keyword","description":"List of organizational units (OU) of issuing certificate authority."},{"field":"tls.client.x509.issuer.state_or_province","type":"keyword","description":"List of state or province names (ST, S, or P)"},{"field":"tls.client.x509.not_after","type":"date","description":"Time at which the certificate is no longer considered valid."},{"field":"tls.client.x509.not_before","type":"date","description":"Time at which the certificate is first considered valid."},{"field":"tls.client.x509.public_key_algorithm","type":"keyword","description":"Algorithm used to generate the public key."},{"field":"tls.client.x509.public_key_curve","type":"keyword","description":"The curve used by the elliptic curve public key algorithm. This is algorithm specific."},{"field":"tls.client.x509.public_key_exponent","type":"long","description":"Exponent used to derive the public key. This is algorithm specific."},{"field":"tls.client.x509.public_key_size","type":"long","description":"The size of the public key space in bits."},{"field":"tls.client.x509.serial_number","type":"keyword","description":"Unique serial number issued by the certificate authority."},{"field":"tls.client.x509.signature_algorithm","type":"keyword","description":"Identifier for certificate signature algorithm."},{"field":"tls.client.x509.subject.common_name","type":"keyword","description":"List of common names (CN) of subject."},{"field":"tls.client.x509.subject.country","type":"keyword","description":"List of country (C) code"},{"field":"tls.client.x509.subject.distinguished_name","type":"keyword","description":"Distinguished name (DN) of the certificate subject entity."},{"field":"tls.client.x509.subject.locality","type":"keyword","description":"List of locality names (L)"},{"field":"tls.client.x509.subject.organization","type":"keyword","description":"List of organizations (O) of subject."},{"field":"tls.client.x509.subject.organizational_unit","type":"keyword","description":"List of organizational units (OU) of subject."},{"field":"tls.client.x509.subject.state_or_province","type":"keyword","description":"List of state or province names (ST, S, or P)"},{"field":"tls.client.x509.version_number","type":"keyword","description":"Version of x509 format."},{"field":"tls.curve","type":"keyword","description":"String indicating the curve used for the given cipher, when applicable."},{"field":"tls.established","type":"boolean","description":"Boolean flag indicating if the TLS negotiation was successful and transitioned to an encrypted tunnel."},{"field":"tls.next_protocol","type":"keyword","description":"String indicating the protocol being tunneled."},{"field":"tls.resumed","type":"boolean","description":"Boolean flag indicating if this TLS connection was resumed from an existing TLS negotiation."},{"field":"tls.server.certificate","type":"keyword","description":"PEM-encoded stand-alone certificate offered by the server."},{"field":"tls.server.certificate_chain","type":"keyword","description":"Array of PEM-encoded certificates that make up the certificate chain offered by the server."},{"field":"tls.server.hash.md5","type":"keyword","description":"Certificate fingerprint using the MD5 digest of DER-encoded version of certificate offered by the server."},{"field":"tls.server.hash.sha1","type":"keyword","description":"Certificate fingerprint using the SHA1 digest of DER-encoded version of certificate offered by the server."},{"field":"tls.server.hash.sha256","type":"keyword","description":"Certificate fingerprint using the SHA256 digest of DER-encoded version of certificate offered by the server."},{"field":"tls.server.issuer","type":"keyword","description":"Subject of the issuer of the x.509 certificate presented by the server."},{"field":"tls.server.ja3s","type":"keyword","description":"A hash that identifies servers based on how they perform an SSL/TLS handshake."},{"field":"tls.server.not_after","type":"date","description":"Timestamp indicating when server certificate is no longer considered valid."},{"field":"tls.server.not_before","type":"date","description":"Timestamp indicating when server certificate is first considered valid."},{"field":"tls.server.subject","type":"keyword","description":"Subject of the x.509 certificate presented by the server."},{"field":"tls.server.x509.alternative_names","type":"keyword","description":"List of subject alternative names (SAN)."},{"field":"tls.server.x509.issuer.common_name","type":"keyword","description":"List of common name (CN) of issuing certificate authority."},{"field":"tls.server.x509.issuer.country","type":"keyword","description":"List of country (C) codes"},{"field":"tls.server.x509.issuer.distinguished_name","type":"keyword","description":"Distinguished name (DN) of issuing certificate authority."},{"field":"tls.server.x509.issuer.locality","type":"keyword","description":"List of locality names (L)"},{"field":"tls.server.x509.issuer.organization","type":"keyword","description":"List of organizations (O) of issuing certificate authority."},{"field":"tls.server.x509.issuer.organizational_unit","type":"keyword","description":"List of organizational units (OU) of issuing certificate authority."},{"field":"tls.server.x509.issuer.state_or_province","type":"keyword","description":"List of state or province names (ST, S, or P)"},{"field":"tls.server.x509.not_after","type":"date","description":"Time at which the certificate is no longer considered valid."},{"field":"tls.server.x509.not_before","type":"date","description":"Time at which the certificate is first considered valid."},{"field":"tls.server.x509.public_key_algorithm","type":"keyword","description":"Algorithm used to generate the public key."},{"field":"tls.server.x509.public_key_curve","type":"keyword","description":"The curve used by the elliptic curve public key algorithm. This is algorithm specific."},{"field":"tls.server.x509.public_key_exponent","type":"long","description":"Exponent used to derive the public key. This is algorithm specific."},{"field":"tls.server.x509.public_key_size","type":"long","description":"The size of the public key space in bits."},{"field":"tls.server.x509.serial_number","type":"keyword","description":"Unique serial number issued by the certificate authority."},{"field":"tls.server.x509.signature_algorithm","type":"keyword","description":"Identifier for certificate signature algorithm."},{"field":"tls.server.x509.subject.common_name","type":"keyword","description":"List of common names (CN) of subject."},{"field":"tls.server.x509.subject.country","type":"keyword","description":"List of country (C) code"},{"field":"tls.server.x509.subject.distinguished_name","type":"keyword","description":"Distinguished name (DN) of the certificate subject entity."},{"field":"tls.server.x509.subject.locality","type":"keyword","description":"List of locality names (L)"},{"field":"tls.server.x509.subject.organization","type":"keyword","description":"List of organizations (O) of subject."},{"field":"tls.server.x509.subject.organizational_unit","type":"keyword","description":"List of organizational units (OU) of subject."},{"field":"tls.server.x509.subject.state_or_province","type":"keyword","description":"List of state or province names (ST, S, or P)"},{"field":"tls.server.x509.version_number","type":"keyword","description":"Version of x509 format."},{"field":"tls.version","type":"keyword","description":"Numeric part of the version parsed from the original string."},{"field":"tls.version_protocol","type":"keyword","description":"Normalized lowercase protocol name parsed from original string."},{"field":"trace.id","type":"keyword","description":"Unique identifier of the trace."},{"field":"transaction.id","type":"keyword","description":"Unique identifier of the transaction within the scope of its trace."},{"field":"url.domain","type":"keyword","description":"Domain of the url."},{"field":"url.extension","type":"keyword","description":"File extension from the request url, excluding the leading dot."},{"field":"url.fragment","type":"keyword","description":"Portion of the url after the `#`."},{"field":"url.full","type":"wildcard","description":"Full unparsed URL."},{"field":"url.full.text","type":"match_only_text","description":"Full unparsed URL."},{"field":"url.original","type":"wildcard","description":"Unmodified original url as seen in the event source."},{"field":"url.original.text","type":"match_only_text","description":"Unmodified original url as seen in the event source."},{"field":"url.password","type":"keyword","description":"Password of the request."},{"field":"url.path","type":"wildcard","description":"Path of the request, such as \"/search\"."},{"field":"url.port","type":"long","description":"Port of the request, such as 443."},{"field":"url.query","type":"keyword","description":"Query string of the request."},{"field":"url.registered_domain","type":"keyword","description":"The highest registered url domain, stripped of the subdomain."},{"field":"url.scheme","type":"keyword","description":"Scheme of the url."},{"field":"url.subdomain","type":"keyword","description":"The subdomain of the domain."},{"field":"url.top_level_domain","type":"keyword","description":"The effective top level domain (com, org, net, co.uk)."},{"field":"url.username","type":"keyword","description":"Username of the request."},{"field":"user.changes.domain","type":"keyword","description":"Name of the directory the user is a member of."},{"field":"user.changes.email","type":"keyword","description":"User email address."},{"field":"user.changes.full_name","type":"keyword","description":"User's full name, if available."},{"field":"user.changes.full_name.text","type":"match_only_text","description":"User's full name, if available."},{"field":"user.changes.group.domain","type":"keyword","description":"Name of the directory the group is a member of."},{"field":"user.changes.group.id","type":"keyword","description":"Unique identifier for the group on the system/platform."},{"field":"user.changes.group.name","type":"keyword","description":"Name of the group."},{"field":"user.changes.hash","type":"keyword","description":"Unique user hash to correlate information for a user in anonymized form."},{"field":"user.changes.id","type":"keyword","description":"Unique identifier of the user."},{"field":"user.changes.name","type":"keyword","description":"Short name or login of the user."},{"field":"user.changes.name.text","type":"match_only_text","description":"Short name or login of the user."},{"field":"user.changes.roles","type":"keyword","description":"Array of user roles at the time of the event."},{"field":"user.domain","type":"keyword","description":"Name of the directory the user is a member of."},{"field":"user.effective.domain","type":"keyword","description":"Name of the directory the user is a member of."},{"field":"user.effective.email","type":"keyword","description":"User email address."},{"field":"user.effective.full_name","type":"keyword","description":"User's full name, if available."},{"field":"user.effective.full_name.text","type":"match_only_text","description":"User's full name, if available."},{"field":"user.effective.group.domain","type":"keyword","description":"Name of the directory the group is a member of."},{"field":"user.effective.group.id","type":"keyword","description":"Unique identifier for the group on the system/platform."},{"field":"user.effective.group.name","type":"keyword","description":"Name of the group."},{"field":"user.effective.hash","type":"keyword","description":"Unique user hash to correlate information for a user in anonymized form."},{"field":"user.effective.id","type":"keyword","description":"Unique identifier of the user."},{"field":"user.effective.name","type":"keyword","description":"Short name or login of the user."},{"field":"user.effective.name.text","type":"match_only_text","description":"Short name or login of the user."},{"field":"user.effective.roles","type":"keyword","description":"Array of user roles at the time of the event."},{"field":"user.email","type":"keyword","description":"User email address."},{"field":"user.full_name","type":"keyword","description":"User's full name, if available."},{"field":"user.full_name.text","type":"match_only_text","description":"User's full name, if available."},{"field":"user.group.domain","type":"keyword","description":"Name of the directory the group is a member of."},{"field":"user.group.id","type":"keyword","description":"Unique identifier for the group on the system/platform."},{"field":"user.group.name","type":"keyword","description":"Name of the group."},{"field":"user.hash","type":"keyword","description":"Unique user hash to correlate information for a user in anonymized form."},{"field":"user.id","type":"keyword","description":"Unique identifier of the user."},{"field":"user.name","type":"keyword","description":"Short name or login of the user."},{"field":"user.name.text","type":"match_only_text","description":"Short name or login of the user."},{"field":"user.roles","type":"keyword","description":"Array of user roles at the time of the event."},{"field":"user.target.domain","type":"keyword","description":"Name of the directory the user is a member of."},{"field":"user.target.email","type":"keyword","description":"User email address."},{"field":"user.target.full_name","type":"keyword","description":"User's full name, if available."},{"field":"user.target.full_name.text","type":"match_only_text","description":"User's full name, if available."},{"field":"user.target.group.domain","type":"keyword","description":"Name of the directory the group is a member of."},{"field":"user.target.group.id","type":"keyword","description":"Unique identifier for the group on the system/platform."},{"field":"user.target.group.name","type":"keyword","description":"Name of the group."},{"field":"user.target.hash","type":"keyword","description":"Unique user hash to correlate information for a user in anonymized form."},{"field":"user.target.id","type":"keyword","description":"Unique identifier of the user."},{"field":"user.target.name","type":"keyword","description":"Short name or login of the user."},{"field":"user.target.name.text","type":"match_only_text","description":"Short name or login of the user."},{"field":"user.target.roles","type":"keyword","description":"Array of user roles at the time of the event."},{"field":"user_agent.device.name","type":"keyword","description":"Name of the device."},{"field":"user_agent.name","type":"keyword","description":"Name of the user agent."},{"field":"user_agent.original","type":"keyword","description":"Unparsed user_agent string."},{"field":"user_agent.original.text","type":"match_only_text","description":"Unparsed user_agent string."},{"field":"user_agent.os.family","type":"keyword","description":"OS family (such as redhat, debian, freebsd, windows)."},{"field":"user_agent.os.full","type":"keyword","description":"Operating system name, including the version or code name."},{"field":"user_agent.os.full.text","type":"match_only_text","description":"Operating system name, including the version or code name."},{"field":"user_agent.os.kernel","type":"keyword","description":"Operating system kernel version as a raw string."},{"field":"user_agent.os.name","type":"keyword","description":"Operating system name, without the version."},{"field":"user_agent.os.name.text","type":"match_only_text","description":"Operating system name, without the version."},{"field":"user_agent.os.platform","type":"keyword","description":"Operating system platform (such centos, ubuntu, windows)."},{"field":"user_agent.os.type","type":"keyword","description":"Which commercial OS family (one of: linux, macos, unix or windows)."},{"field":"user_agent.os.version","type":"keyword","description":"Operating system version as a raw string."},{"field":"user_agent.version","type":"keyword","description":"Version of the user agent."},{"field":"vulnerability.category","type":"keyword","description":"Category of a vulnerability."},{"field":"vulnerability.classification","type":"keyword","description":"Classification of the vulnerability."},{"field":"vulnerability.description","type":"keyword","description":"Description of the vulnerability."},{"field":"vulnerability.description.text","type":"match_only_text","description":"Description of the vulnerability."},{"field":"vulnerability.enumeration","type":"keyword","description":"Identifier of the vulnerability."},{"field":"vulnerability.id","type":"keyword","description":"ID of the vulnerability."},{"field":"vulnerability.reference","type":"keyword","description":"Reference of the vulnerability."},{"field":"vulnerability.report_id","type":"keyword","description":"Scan identification number."},{"field":"vulnerability.scanner.vendor","type":"keyword","description":"Name of the scanner vendor."},{"field":"vulnerability.score.base","type":"float","description":"Vulnerability Base score."},{"field":"vulnerability.score.environmental","type":"float","description":"Vulnerability Environmental score."},{"field":"vulnerability.score.temporal","type":"float","description":"Vulnerability Temporal score."},{"field":"vulnerability.score.version","type":"keyword","description":"CVSS version."},{"field":"vulnerability.severity","type":"keyword","description":"Severity of the vulnerability."}] \ No newline at end of file +[{"field":"labels","type":"object","normalization":"","example":{"application":"foo-bar","env":"production"},"description":"Custom key/value pairs."},{"field":"message","type":"match_only_text","normalization":"","example":"Hello World","description":"Log message optimized for viewing in a log viewer."},{"field":"tags","type":"keyword","normalization":"array","example":["production","env2"],"description":"List of keywords used to tag each event."},{"field":"agent.build.original","type":"keyword","normalization":"","example":"metricbeat version 7.6.0 (amd64), libbeat 7.6.0 [6a23e8f8f30f5001ba344e4e54d8d9cb82cb107c built 2020-02-05 23:10:10 +0000 UTC]","description":"Extended build information for the agent."},{"field":"client.address","type":"keyword","normalization":"","example":"","description":"Client network address."},{"field":"client.as.number","type":"long","normalization":"","example":15169,"description":"Unique number allocated to the autonomous system."},{"field":"client.as.organization.name","type":"keyword","normalization":"","example":"Google LLC","description":"Organization name."},{"field":"client.as.organization.name.text","type":"match_only_text","normalization":"","example":"Google LLC","description":"Organization name."},{"field":"client.bytes","type":"long","normalization":"","example":184,"description":"Bytes sent from the client to the server."},{"field":"client.domain","type":"keyword","normalization":"","example":"","description":"Client domain."},{"field":"client.geo.city_name","type":"keyword","normalization":"","example":"Montreal","description":"City name."},{"field":"client.geo.continent_code","type":"keyword","normalization":"","example":"NA","description":"Continent code."},{"field":"client.geo.continent_name","type":"keyword","normalization":"","example":"North America","description":"Name of the continent."},{"field":"client.geo.country_iso_code","type":"keyword","normalization":"","example":"CA","description":"Country ISO code."},{"field":"client.geo.country_name","type":"keyword","normalization":"","example":"Canada","description":"Country name."},{"field":"client.geo.location","type":"geo_point","normalization":"","example":{"lon":-73.61483,"lat":45.505918},"description":"Longitude and latitude."},{"field":"client.geo.name","type":"keyword","normalization":"","example":"boston-dc","description":"User-defined description of a location."},{"field":"client.geo.postal_code","type":"keyword","normalization":"","example":94040,"description":"Postal code."},{"field":"client.geo.region_iso_code","type":"keyword","normalization":"","example":"CA-QC","description":"Region ISO code."},{"field":"client.geo.region_name","type":"keyword","normalization":"","example":"Quebec","description":"Region name."},{"field":"client.geo.timezone","type":"keyword","normalization":"","example":"America/Argentina/Buenos_Aires","description":"Time zone."},{"field":"client.ip","type":"ip","normalization":"","example":"","description":"IP address of the client."},{"field":"client.mac","type":"keyword","normalization":"","example":"00-00-5E-00-53-23","description":"MAC address of the client."},{"field":"client.nat.ip","type":"ip","normalization":"","example":"","description":"Client NAT ip address"},{"field":"client.nat.port","type":"long","normalization":"","example":"","description":"Client NAT port"},{"field":"client.packets","type":"long","normalization":"","example":12,"description":"Packets sent from the client to the server."},{"field":"client.port","type":"long","normalization":"","example":"","description":"Port of the client."},{"field":"client.registered_domain","type":"keyword","normalization":"","example":"example.com","description":"The highest registered client domain, stripped of the subdomain."},{"field":"client.subdomain","type":"keyword","normalization":"","example":"east","description":"The subdomain of the domain."},{"field":"client.top_level_domain","type":"keyword","normalization":"","example":"co.uk","description":"The effective top level domain (com, org, net, co.uk)."},{"field":"client.user.domain","type":"keyword","normalization":"","example":"","description":"Name of the directory the user is a member of."},{"field":"client.user.email","type":"keyword","normalization":"","example":"","description":"User email address."},{"field":"client.user.full_name","type":"keyword","normalization":"","example":"Albert Einstein","description":"User's full name, if available."},{"field":"client.user.full_name.text","type":"match_only_text","normalization":"","example":"Albert Einstein","description":"User's full name, if available."},{"field":"client.user.group.domain","type":"keyword","normalization":"","example":"","description":"Name of the directory the group is a member of."},{"field":"client.user.group.id","type":"keyword","normalization":"","example":"","description":"Unique identifier for the group on the system/platform."},{"field":"client.user.group.name","type":"keyword","normalization":"","example":"","description":"Name of the group."},{"field":"client.user.hash","type":"keyword","normalization":"","example":"","description":"Unique user hash to correlate information for a user in anonymized form."},{"field":"client.user.id","type":"keyword","normalization":"","example":"S-1-5-21-202424912787-2692429404-2351956786-1000","description":"Unique identifier of the user."},{"field":"client.user.name","type":"keyword","normalization":"","example":"a.einstein","description":"Short name or login of the user."},{"field":"client.user.name.text","type":"match_only_text","normalization":"","example":"a.einstein","description":"Short name or login of the user."},{"field":"client.user.roles","type":"keyword","normalization":"array","example":["kibana_admin","reporting_user"],"description":"Array of user roles at the time of the event."},{"field":"cloud.account.id","type":"keyword","normalization":"","example":666777888999,"description":"The cloud account or organization id."},{"field":"cloud.account.name","type":"keyword","normalization":"","example":"elastic-dev","description":"The cloud account name."},{"field":"cloud.availability_zone","type":"keyword","normalization":"","example":"us-east-1c","description":"Availability zone in which this host, resource, or service is located."},{"field":"cloud.instance.id","type":"keyword","normalization":"","example":"i-1234567890abcdef0","description":"Instance ID of the host machine."},{"field":"cloud.instance.name","type":"keyword","normalization":"","example":"","description":"Instance name of the host machine."},{"field":"cloud.machine.type","type":"keyword","normalization":"","example":"t2.medium","description":"Machine type of the host machine."},{"field":"cloud.project.id","type":"keyword","normalization":"","example":"my-project","description":"The cloud project id."},{"field":"cloud.project.name","type":"keyword","normalization":"","example":"my project","description":"The cloud project name."},{"field":"cloud.provider","type":"keyword","normalization":"","example":"aws","description":"Name of the cloud provider."},{"field":"cloud.region","type":"keyword","normalization":"","example":"us-east-1","description":"Region in which this host, resource, or service is located."},{"field":"cloud.service.name","type":"keyword","normalization":"","example":"lambda","description":"The cloud service name."},{"field":"container.id","type":"keyword","normalization":"","example":"","description":"Unique container id."},{"field":"container.image.name","type":"keyword","normalization":"","example":"","description":"Name of the image the container was built on."},{"field":"container.image.tag","type":"keyword","normalization":"array","example":"","description":"Container image tags."},{"field":"container.labels","type":"object","normalization":"","example":"","description":"Image labels."},{"field":"container.name","type":"keyword","normalization":"","example":"","description":"Container name."},{"field":"container.runtime","type":"keyword","normalization":"","example":"docker","description":"Runtime managing this container."},{"field":"data_stream.dataset","type":"constant_keyword","normalization":"","example":"nginx.access","description":"The field can contain anything that makes sense to signify the source of the data."},{"field":"data_stream.namespace","type":"constant_keyword","normalization":"","example":"production","description":"A user defined namespace. Namespaces are useful to allow grouping of data."},{"field":"data_stream.type","type":"constant_keyword","normalization":"","example":"logs","description":"An overarching type for the data stream."},{"field":"destination.address","type":"keyword","normalization":"","example":"","description":"Destination network address."},{"field":"destination.as.number","type":"long","normalization":"","example":15169,"description":"Unique number allocated to the autonomous system."},{"field":"destination.as.organization.name","type":"keyword","normalization":"","example":"Google LLC","description":"Organization name."},{"field":"destination.as.organization.name.text","type":"match_only_text","normalization":"","example":"Google LLC","description":"Organization name."},{"field":"destination.bytes","type":"long","normalization":"","example":184,"description":"Bytes sent from the destination to the source."},{"field":"destination.domain","type":"keyword","normalization":"","example":"","description":"Destination domain."},{"field":"destination.geo.city_name","type":"keyword","normalization":"","example":"Montreal","description":"City name."},{"field":"destination.geo.continent_code","type":"keyword","normalization":"","example":"NA","description":"Continent code."},{"field":"destination.geo.continent_name","type":"keyword","normalization":"","example":"North America","description":"Name of the continent."},{"field":"destination.geo.country_iso_code","type":"keyword","normalization":"","example":"CA","description":"Country ISO code."},{"field":"destination.geo.country_name","type":"keyword","normalization":"","example":"Canada","description":"Country name."},{"field":"destination.geo.location","type":"geo_point","normalization":"","example":{"lon":-73.61483,"lat":45.505918},"description":"Longitude and latitude."},{"field":"destination.geo.name","type":"keyword","normalization":"","example":"boston-dc","description":"User-defined description of a location."},{"field":"destination.geo.postal_code","type":"keyword","normalization":"","example":94040,"description":"Postal code."},{"field":"destination.geo.region_iso_code","type":"keyword","normalization":"","example":"CA-QC","description":"Region ISO code."},{"field":"destination.geo.region_name","type":"keyword","normalization":"","example":"Quebec","description":"Region name."},{"field":"destination.geo.timezone","type":"keyword","normalization":"","example":"America/Argentina/Buenos_Aires","description":"Time zone."},{"field":"destination.ip","type":"ip","normalization":"","example":"","description":"IP address of the destination."},{"field":"destination.mac","type":"keyword","normalization":"","example":"00-00-5E-00-53-23","description":"MAC address of the destination."},{"field":"destination.nat.ip","type":"ip","normalization":"","example":"","description":"Destination NAT ip"},{"field":"destination.nat.port","type":"long","normalization":"","example":"","description":"Destination NAT Port"},{"field":"destination.packets","type":"long","normalization":"","example":12,"description":"Packets sent from the destination to the source."},{"field":"destination.port","type":"long","normalization":"","example":"","description":"Port of the destination."},{"field":"destination.registered_domain","type":"keyword","normalization":"","example":"example.com","description":"The highest registered destination domain, stripped of the subdomain."},{"field":"destination.subdomain","type":"keyword","normalization":"","example":"east","description":"The subdomain of the domain."},{"field":"destination.top_level_domain","type":"keyword","normalization":"","example":"co.uk","description":"The effective top level domain (com, org, net, co.uk)."},{"field":"destination.user.domain","type":"keyword","normalization":"","example":"","description":"Name of the directory the user is a member of."},{"field":"destination.user.email","type":"keyword","normalization":"","example":"","description":"User email address."},{"field":"destination.user.full_name","type":"keyword","normalization":"","example":"Albert Einstein","description":"User's full name, if available."},{"field":"destination.user.full_name.text","type":"match_only_text","normalization":"","example":"Albert Einstein","description":"User's full name, if available."},{"field":"destination.user.group.domain","type":"keyword","normalization":"","example":"","description":"Name of the directory the group is a member of."},{"field":"destination.user.group.id","type":"keyword","normalization":"","example":"","description":"Unique identifier for the group on the system/platform."},{"field":"destination.user.group.name","type":"keyword","normalization":"","example":"","description":"Name of the group."},{"field":"destination.user.hash","type":"keyword","normalization":"","example":"","description":"Unique user hash to correlate information for a user in anonymized form."},{"field":"destination.user.id","type":"keyword","normalization":"","example":"S-1-5-21-202424912787-2692429404-2351956786-1000","description":"Unique identifier of the user."},{"field":"destination.user.name","type":"keyword","normalization":"","example":"a.einstein","description":"Short name or login of the user."},{"field":"destination.user.name.text","type":"match_only_text","normalization":"","example":"a.einstein","description":"Short name or login of the user."},{"field":"destination.user.roles","type":"keyword","normalization":"array","example":["kibana_admin","reporting_user"],"description":"Array of user roles at the time of the event."},{"field":"dll.code_signature.digest_algorithm","type":"keyword","normalization":"","example":"sha256","description":"Hashing algorithm used to sign the process."},{"field":"dll.code_signature.exists","type":"boolean","normalization":"","example":true,"description":"Boolean to capture if a signature is present."},{"field":"dll.code_signature.signing_id","type":"keyword","normalization":"","example":"com.apple.xpc.proxy","description":"The identifier used to sign the process."},{"field":"dll.code_signature.status","type":"keyword","normalization":"","example":"ERROR_UNTRUSTED_ROOT","description":"Additional information about the certificate status."},{"field":"dll.code_signature.subject_name","type":"keyword","normalization":"","example":"Microsoft Corporation","description":"Subject name of the code signer"},{"field":"dll.code_signature.team_id","type":"keyword","normalization":"","example":"EQHXZ8M8AV","description":"The team identifier used to sign the process."},{"field":"dll.code_signature.timestamp","type":"date","normalization":"","example":"2021-01-01T12:10:30Z","description":"When the signature was generated and signed."},{"field":"dll.code_signature.trusted","type":"boolean","normalization":"","example":true,"description":"Stores the trust status of the certificate chain."},{"field":"dll.code_signature.valid","type":"boolean","normalization":"","example":true,"description":"Boolean to capture if the digital signature is verified against the binary content."},{"field":"dll.hash.md5","type":"keyword","normalization":"","example":"","description":"MD5 hash."},{"field":"dll.hash.sha1","type":"keyword","normalization":"","example":"","description":"SHA1 hash."},{"field":"dll.hash.sha256","type":"keyword","normalization":"","example":"","description":"SHA256 hash."},{"field":"dll.hash.sha512","type":"keyword","normalization":"","example":"","description":"SHA512 hash."},{"field":"dll.hash.ssdeep","type":"keyword","normalization":"","example":"","description":"SSDEEP hash."},{"field":"dll.name","type":"keyword","normalization":"","example":"kernel32.dll","description":"Name of the library."},{"field":"dll.path","type":"keyword","normalization":"","example":"C:\\Windows\\System32\\kernel32.dll","description":"Full file path of the library."},{"field":"dll.pe.architecture","type":"keyword","normalization":"","example":"x64","description":"CPU architecture target for the file."},{"field":"dll.pe.company","type":"keyword","normalization":"","example":"Microsoft Corporation","description":"Internal company name of the file, provided at compile-time."},{"field":"dll.pe.description","type":"keyword","normalization":"","example":"Paint","description":"Internal description of the file, provided at compile-time."},{"field":"dll.pe.file_version","type":"keyword","normalization":"","example":"6.3.9600.17415","description":"Process name."},{"field":"dll.pe.imphash","type":"keyword","normalization":"","example":"0c6803c4e922103c4dca5963aad36ddf","description":"A hash of the imports in a PE file."},{"field":"dll.pe.original_file_name","type":"keyword","normalization":"","example":"MSPAINT.EXE","description":"Internal name of the file, provided at compile-time."},{"field":"dll.pe.product","type":"keyword","normalization":"","example":"Microsoft® Windows® Operating System","description":"Internal product name of the file, provided at compile-time."},{"field":"dns.answers","type":"object","normalization":"array","example":"","description":"Array of DNS answers."},{"field":"dns.answers.class","type":"keyword","normalization":"","example":"IN","description":"The class of DNS data contained in this resource record."},{"field":"dns.answers.data","type":"keyword","normalization":"","example":"10.10.10.10","description":"The data describing the resource."},{"field":"dns.answers.name","type":"keyword","normalization":"","example":"www.example.com","description":"The domain name to which this resource record pertains."},{"field":"dns.answers.ttl","type":"long","normalization":"","example":180,"description":"The time interval in seconds that this resource record may be cached before it should be discarded."},{"field":"dns.answers.type","type":"keyword","normalization":"","example":"CNAME","description":"The type of data contained in this resource record."},{"field":"dns.header_flags","type":"keyword","normalization":"array","example":["RD","RA"],"description":"Array of DNS header flags."},{"field":"dns.id","type":"keyword","normalization":"","example":62111,"description":"The DNS packet identifier assigned by the program that generated the query. The identifier is copied to the response."},{"field":"dns.op_code","type":"keyword","normalization":"","example":"QUERY","description":"The DNS operation code that specifies the kind of query in the message."},{"field":"dns.question.class","type":"keyword","normalization":"","example":"IN","description":"The class of records being queried."},{"field":"dns.question.name","type":"keyword","normalization":"","example":"www.example.com","description":"The name being queried."},{"field":"dns.question.registered_domain","type":"keyword","normalization":"","example":"example.com","description":"The highest registered domain, stripped of the subdomain."},{"field":"dns.question.subdomain","type":"keyword","normalization":"","example":"www","description":"The subdomain of the domain."},{"field":"dns.question.top_level_domain","type":"keyword","normalization":"","example":"co.uk","description":"The effective top level domain (com, org, net, co.uk)."},{"field":"dns.question.type","type":"keyword","normalization":"","example":"AAAA","description":"The type of record being queried."},{"field":"dns.resolved_ip","type":"ip","normalization":"array","example":["10.10.10.10","10.10.10.11"],"description":"Array containing all IPs seen in answers.data"},{"field":"dns.response_code","type":"keyword","normalization":"","example":"NOERROR","description":"The DNS response code."},{"field":"dns.type","type":"keyword","normalization":"","example":"answer","description":"The type of DNS event captured, query or answer."},{"field":"error.code","type":"keyword","normalization":"","example":"","description":"Error code describing the error."},{"field":"error.id","type":"keyword","normalization":"","example":"","description":"Unique identifier for the error."},{"field":"error.message","type":"match_only_text","normalization":"","example":"","description":"Error message."},{"field":"error.stack_trace","type":"wildcard","normalization":"","example":"","description":"The stack trace of this error in plain text."},{"field":"error.stack_trace.text","type":"match_only_text","normalization":"","example":"","description":"The stack trace of this error in plain text."},{"field":"error.type","type":"keyword","normalization":"","example":"java.lang.NullPointerException","description":"The type of the error, for example the class name of the exception."},{"field":"event.action","type":"keyword","normalization":"","example":"user-password-change","description":"The action captured by the event."},{"field":"event.category","type":"keyword","normalization":"array","example":"authentication","description":"Event category. The second categorization field in the hierarchy."},{"field":"event.code","type":"keyword","normalization":"","example":4648,"description":"Identification code for this event."},{"field":"event.created","type":"date","normalization":"","example":"2016-05-23T08:05:34.857Z","description":"Time when the event was first read by an agent or by your pipeline."},{"field":"event.dataset","type":"keyword","normalization":"","example":"apache.access","description":"Name of the dataset."},{"field":"event.duration","type":"long","normalization":"","example":"","description":"Duration of the event in nanoseconds."},{"field":"event.end","type":"date","normalization":"","example":"","description":"event.end contains the date when the event ended or when the activity was last observed."},{"field":"event.hash","type":"keyword","normalization":"","example":"123456789012345678901234567890ABCD","description":"Hash (perhaps logstash fingerprint) of raw field to be able to demonstrate log integrity."},{"field":"event.id","type":"keyword","normalization":"","example":"8a4f500d","description":"Unique ID to describe the event."},{"field":"event.kind","type":"keyword","normalization":"","example":"alert","description":"The kind of the event. The highest categorization field in the hierarchy."},{"field":"event.original","type":"keyword","normalization":"","example":"Sep 19 08:26:10 host CEF:0|Security| threatmanager|1.0|100| worm successfully stopped|10|src=10.0.0.1 dst=2.1.2.2spt=1232","description":"Raw text message of entire event."},{"field":"event.outcome","type":"keyword","normalization":"","example":"success","description":"The outcome of the event. The lowest level categorization field in the hierarchy."},{"field":"event.provider","type":"keyword","normalization":"","example":"kernel","description":"Source of the event."},{"field":"event.reason","type":"keyword","normalization":"","example":"Terminated an unexpected process","description":"Reason why this event happened, according to the source"},{"field":"event.reference","type":"keyword","normalization":"","example":"https://system.example.com/event/#0001234","description":"Event reference URL"},{"field":"event.risk_score","type":"float","normalization":"","example":"","description":"Risk score or priority of the event (e.g. security solutions). Use your system's original value here."},{"field":"event.risk_score_norm","type":"float","normalization":"","example":"","description":"Normalized risk score or priority of the event (0-100)."},{"field":"event.sequence","type":"long","normalization":"","example":"","description":"Sequence number of the event."},{"field":"event.severity","type":"long","normalization":"","example":7,"description":"Numeric severity of the event."},{"field":"event.start","type":"date","normalization":"","example":"","description":"event.start contains the date when the event started or when the activity was first observed."},{"field":"event.timezone","type":"keyword","normalization":"","example":"","description":"Event time zone."},{"field":"event.type","type":"keyword","normalization":"array","example":"","description":"Event type. The third categorization field in the hierarchy."},{"field":"event.url","type":"keyword","normalization":"","example":"https://mysystem.example.com/alert/5271dedb-f5b0-4218-87f0-4ac4870a38fe","description":"Event investigation URL"},{"field":"file.accessed","type":"date","normalization":"","example":"","description":"Last time the file was accessed."},{"field":"file.attributes","type":"keyword","normalization":"array","example":["readonly","system"],"description":"Array of file attributes."},{"field":"file.code_signature.digest_algorithm","type":"keyword","normalization":"","example":"sha256","description":"Hashing algorithm used to sign the process."},{"field":"file.code_signature.exists","type":"boolean","normalization":"","example":true,"description":"Boolean to capture if a signature is present."},{"field":"file.code_signature.signing_id","type":"keyword","normalization":"","example":"com.apple.xpc.proxy","description":"The identifier used to sign the process."},{"field":"file.code_signature.status","type":"keyword","normalization":"","example":"ERROR_UNTRUSTED_ROOT","description":"Additional information about the certificate status."},{"field":"file.code_signature.subject_name","type":"keyword","normalization":"","example":"Microsoft Corporation","description":"Subject name of the code signer"},{"field":"file.code_signature.team_id","type":"keyword","normalization":"","example":"EQHXZ8M8AV","description":"The team identifier used to sign the process."},{"field":"file.code_signature.timestamp","type":"date","normalization":"","example":"2021-01-01T12:10:30Z","description":"When the signature was generated and signed."},{"field":"file.code_signature.trusted","type":"boolean","normalization":"","example":true,"description":"Stores the trust status of the certificate chain."},{"field":"file.code_signature.valid","type":"boolean","normalization":"","example":true,"description":"Boolean to capture if the digital signature is verified against the binary content."},{"field":"file.created","type":"date","normalization":"","example":"","description":"File creation time."},{"field":"file.ctime","type":"date","normalization":"","example":"","description":"Last time the file attributes or metadata changed."},{"field":"file.device","type":"keyword","normalization":"","example":"sda","description":"Device that is the source of the file."},{"field":"file.directory","type":"keyword","normalization":"","example":"/home/alice","description":"Directory where the file is located."},{"field":"file.drive_letter","type":"keyword","normalization":"","example":"C","description":"Drive letter where the file is located."},{"field":"file.elf.architecture","type":"keyword","normalization":"","example":"x86-64","description":"Machine architecture of the ELF file."},{"field":"file.elf.byte_order","type":"keyword","normalization":"","example":"Little Endian","description":"Byte sequence of ELF file."},{"field":"file.elf.cpu_type","type":"keyword","normalization":"","example":"Intel","description":"CPU type of the ELF file."},{"field":"file.elf.creation_date","type":"date","normalization":"","example":"","description":"Build or compile date."},{"field":"file.elf.exports","type":"flattened","normalization":"array","example":"","description":"List of exported element names and types."},{"field":"file.elf.header.abi_version","type":"keyword","normalization":"","example":"","description":"Version of the ELF Application Binary Interface (ABI)."},{"field":"file.elf.header.class","type":"keyword","normalization":"","example":"","description":"Header class of the ELF file."},{"field":"file.elf.header.data","type":"keyword","normalization":"","example":"","description":"Data table of the ELF header."},{"field":"file.elf.header.entrypoint","type":"long","normalization":"","example":"","description":"Header entrypoint of the ELF file."},{"field":"file.elf.header.object_version","type":"keyword","normalization":"","example":"","description":"0x1\" for original ELF files."},{"field":"file.elf.header.os_abi","type":"keyword","normalization":"","example":"","description":"Application Binary Interface (ABI) of the Linux OS."},{"field":"file.elf.header.type","type":"keyword","normalization":"","example":"","description":"Header type of the ELF file."},{"field":"file.elf.header.version","type":"keyword","normalization":"","example":"","description":"Version of the ELF header."},{"field":"file.elf.imports","type":"flattened","normalization":"array","example":"","description":"List of imported element names and types."},{"field":"file.elf.sections","type":"nested","normalization":"array","example":"","description":"Section information of the ELF file."},{"field":"file.elf.sections.chi2","type":"long","normalization":"","example":"","description":"Chi-square probability distribution of the section."},{"field":"file.elf.sections.entropy","type":"long","normalization":"","example":"","description":"Shannon entropy calculation from the section."},{"field":"file.elf.sections.flags","type":"keyword","normalization":"","example":"","description":"ELF Section List flags."},{"field":"file.elf.sections.name","type":"keyword","normalization":"","example":"","description":"ELF Section List name."},{"field":"file.elf.sections.physical_offset","type":"keyword","normalization":"","example":"","description":"ELF Section List offset."},{"field":"file.elf.sections.physical_size","type":"long","normalization":"","example":"","description":"ELF Section List physical size."},{"field":"file.elf.sections.type","type":"keyword","normalization":"","example":"","description":"ELF Section List type."},{"field":"file.elf.sections.virtual_address","type":"long","normalization":"","example":"","description":"ELF Section List virtual address."},{"field":"file.elf.sections.virtual_size","type":"long","normalization":"","example":"","description":"ELF Section List virtual size."},{"field":"file.elf.segments","type":"nested","normalization":"array","example":"","description":"ELF object segment list."},{"field":"file.elf.segments.sections","type":"keyword","normalization":"","example":"","description":"ELF object segment sections."},{"field":"file.elf.segments.type","type":"keyword","normalization":"","example":"","description":"ELF object segment type."},{"field":"file.elf.shared_libraries","type":"keyword","normalization":"array","example":"","description":"List of shared libraries used by this ELF object."},{"field":"file.elf.telfhash","type":"keyword","normalization":"","example":"","description":"telfhash hash for ELF file."},{"field":"file.extension","type":"keyword","normalization":"","example":"png","description":"File extension, excluding the leading dot."},{"field":"file.fork_name","type":"keyword","normalization":"","example":"Zone.Identifer","description":"A fork is additional data associated with a filesystem object."},{"field":"file.gid","type":"keyword","normalization":"","example":1001,"description":"Primary group ID (GID) of the file."},{"field":"file.group","type":"keyword","normalization":"","example":"alice","description":"Primary group name of the file."},{"field":"file.hash.md5","type":"keyword","normalization":"","example":"","description":"MD5 hash."},{"field":"file.hash.sha1","type":"keyword","normalization":"","example":"","description":"SHA1 hash."},{"field":"file.hash.sha256","type":"keyword","normalization":"","example":"","description":"SHA256 hash."},{"field":"file.hash.sha512","type":"keyword","normalization":"","example":"","description":"SHA512 hash."},{"field":"file.hash.ssdeep","type":"keyword","normalization":"","example":"","description":"SSDEEP hash."},{"field":"file.inode","type":"keyword","normalization":"","example":256383,"description":"Inode representing the file in the filesystem."},{"field":"file.mime_type","type":"keyword","normalization":"","example":"","description":"Media type of file, document, or arrangement of bytes."},{"field":"file.mode","type":"keyword","normalization":"","example":"0640","description":"Mode of the file in octal representation."},{"field":"file.mtime","type":"date","normalization":"","example":"","description":"Last time the file content was modified."},{"field":"file.name","type":"keyword","normalization":"","example":"example.png","description":"Name of the file including the extension, without the directory."},{"field":"file.owner","type":"keyword","normalization":"","example":"alice","description":"File owner's username."},{"field":"file.path","type":"keyword","normalization":"","example":"/home/alice/example.png","description":"Full path to the file, including the file name."},{"field":"file.path.text","type":"match_only_text","normalization":"","example":"/home/alice/example.png","description":"Full path to the file, including the file name."},{"field":"file.pe.architecture","type":"keyword","normalization":"","example":"x64","description":"CPU architecture target for the file."},{"field":"file.pe.company","type":"keyword","normalization":"","example":"Microsoft Corporation","description":"Internal company name of the file, provided at compile-time."},{"field":"file.pe.description","type":"keyword","normalization":"","example":"Paint","description":"Internal description of the file, provided at compile-time."},{"field":"file.pe.file_version","type":"keyword","normalization":"","example":"6.3.9600.17415","description":"Process name."},{"field":"file.pe.imphash","type":"keyword","normalization":"","example":"0c6803c4e922103c4dca5963aad36ddf","description":"A hash of the imports in a PE file."},{"field":"file.pe.original_file_name","type":"keyword","normalization":"","example":"MSPAINT.EXE","description":"Internal name of the file, provided at compile-time."},{"field":"file.pe.product","type":"keyword","normalization":"","example":"Microsoft® Windows® Operating System","description":"Internal product name of the file, provided at compile-time."},{"field":"file.size","type":"long","normalization":"","example":16384,"description":"File size in bytes."},{"field":"file.target_path","type":"keyword","normalization":"","example":"","description":"Target path for symlinks."},{"field":"file.target_path.text","type":"match_only_text","normalization":"","example":"","description":"Target path for symlinks."},{"field":"file.type","type":"keyword","normalization":"","example":"file","description":"File type (file, dir, or symlink)."},{"field":"file.uid","type":"keyword","normalization":"","example":1001,"description":"The user ID (UID) or security identifier (SID) of the file owner."},{"field":"file.x509.alternative_names","type":"keyword","normalization":"array","example":"*.elastic.co","description":"List of subject alternative names (SAN)."},{"field":"file.x509.issuer.common_name","type":"keyword","normalization":"array","example":"Example SHA2 High Assurance Server CA","description":"List of common name (CN) of issuing certificate authority."},{"field":"file.x509.issuer.country","type":"keyword","normalization":"array","example":"US","description":"List of country (C) codes"},{"field":"file.x509.issuer.distinguished_name","type":"keyword","normalization":"","example":"C=US, O=Example Inc, OU=www.example.com, CN=Example SHA2 High Assurance Server CA","description":"Distinguished name (DN) of issuing certificate authority."},{"field":"file.x509.issuer.locality","type":"keyword","normalization":"array","example":"Mountain View","description":"List of locality names (L)"},{"field":"file.x509.issuer.organization","type":"keyword","normalization":"array","example":"Example Inc","description":"List of organizations (O) of issuing certificate authority."},{"field":"file.x509.issuer.organizational_unit","type":"keyword","normalization":"array","example":"www.example.com","description":"List of organizational units (OU) of issuing certificate authority."},{"field":"file.x509.issuer.state_or_province","type":"keyword","normalization":"array","example":"California","description":"List of state or province names (ST, S, or P)"},{"field":"file.x509.not_after","type":"date","normalization":"","example":"2020-07-16 03:15:39+00:00","description":"Time at which the certificate is no longer considered valid."},{"field":"file.x509.not_before","type":"date","normalization":"","example":"2019-08-16 01:40:25+00:00","description":"Time at which the certificate is first considered valid."},{"field":"file.x509.public_key_algorithm","type":"keyword","normalization":"","example":"RSA","description":"Algorithm used to generate the public key."},{"field":"file.x509.public_key_curve","type":"keyword","normalization":"","example":"nistp521","description":"The curve used by the elliptic curve public key algorithm. This is algorithm specific."},{"field":"file.x509.public_key_exponent","type":"long","normalization":"","example":65537,"description":"Exponent used to derive the public key. This is algorithm specific."},{"field":"file.x509.public_key_size","type":"long","normalization":"","example":2048,"description":"The size of the public key space in bits."},{"field":"file.x509.serial_number","type":"keyword","normalization":"","example":"55FBB9C7DEBF09809D12CCAA","description":"Unique serial number issued by the certificate authority."},{"field":"file.x509.signature_algorithm","type":"keyword","normalization":"","example":"SHA256-RSA","description":"Identifier for certificate signature algorithm."},{"field":"file.x509.subject.common_name","type":"keyword","normalization":"array","example":"shared.global.example.net","description":"List of common names (CN) of subject."},{"field":"file.x509.subject.country","type":"keyword","normalization":"array","example":"US","description":"List of country (C) code"},{"field":"file.x509.subject.distinguished_name","type":"keyword","normalization":"","example":"C=US, ST=California, L=San Francisco, O=Example, Inc., CN=shared.global.example.net","description":"Distinguished name (DN) of the certificate subject entity."},{"field":"file.x509.subject.locality","type":"keyword","normalization":"array","example":"San Francisco","description":"List of locality names (L)"},{"field":"file.x509.subject.organization","type":"keyword","normalization":"array","example":"Example, Inc.","description":"List of organizations (O) of subject."},{"field":"file.x509.subject.organizational_unit","type":"keyword","normalization":"array","example":"","description":"List of organizational units (OU) of subject."},{"field":"file.x509.subject.state_or_province","type":"keyword","normalization":"array","example":"California","description":"List of state or province names (ST, S, or P)"},{"field":"file.x509.version_number","type":"keyword","normalization":"","example":3,"description":"Version of x509 format."},{"field":"group.domain","type":"keyword","normalization":"","example":"","description":"Name of the directory the group is a member of."},{"field":"group.id","type":"keyword","normalization":"","example":"","description":"Unique identifier for the group on the system/platform."},{"field":"group.name","type":"keyword","normalization":"","example":"","description":"Name of the group."},{"field":"host.cpu.usage","type":"scaled_float","normalization":"","example":"","description":"Percent CPU used, between 0 and 1."},{"field":"host.disk.read.bytes","type":"long","normalization":"","example":"","description":"The number of bytes read by all disks."},{"field":"host.disk.write.bytes","type":"long","normalization":"","example":"","description":"The number of bytes written on all disks."},{"field":"host.domain","type":"keyword","normalization":"","example":"CONTOSO","description":"Name of the directory the group is a member of."},{"field":"host.geo.city_name","type":"keyword","normalization":"","example":"Montreal","description":"City name."},{"field":"host.geo.continent_code","type":"keyword","normalization":"","example":"NA","description":"Continent code."},{"field":"host.geo.continent_name","type":"keyword","normalization":"","example":"North America","description":"Name of the continent."},{"field":"host.geo.country_iso_code","type":"keyword","normalization":"","example":"CA","description":"Country ISO code."},{"field":"host.geo.country_name","type":"keyword","normalization":"","example":"Canada","description":"Country name."},{"field":"host.geo.location","type":"geo_point","normalization":"","example":{"lon":-73.61483,"lat":45.505918},"description":"Longitude and latitude."},{"field":"host.geo.name","type":"keyword","normalization":"","example":"boston-dc","description":"User-defined description of a location."},{"field":"host.geo.postal_code","type":"keyword","normalization":"","example":94040,"description":"Postal code."},{"field":"host.geo.region_iso_code","type":"keyword","normalization":"","example":"CA-QC","description":"Region ISO code."},{"field":"host.geo.region_name","type":"keyword","normalization":"","example":"Quebec","description":"Region name."},{"field":"host.geo.timezone","type":"keyword","normalization":"","example":"America/Argentina/Buenos_Aires","description":"Time zone."},{"field":"host.name","type":"keyword","normalization":"","example":"","description":"Name of the host."},{"field":"host.network.egress.bytes","type":"long","normalization":"","example":"","description":"The number of bytes sent on all network interfaces."},{"field":"host.network.egress.packets","type":"long","normalization":"","example":"","description":"The number of packets sent on all network interfaces."},{"field":"host.network.ingress.bytes","type":"long","normalization":"","example":"","description":"The number of bytes received on all network interfaces."},{"field":"host.network.ingress.packets","type":"long","normalization":"","example":"","description":"The number of packets received on all network interfaces."},{"field":"host.os.full","type":"keyword","normalization":"","example":"Mac OS Mojave","description":"Operating system name, including the version or code name."},{"field":"host.os.full.text","type":"match_only_text","normalization":"","example":"Mac OS Mojave","description":"Operating system name, including the version or code name."},{"field":"host.os.name.text","type":"match_only_text","normalization":"","example":"Mac OS X","description":"Operating system name, without the version."},{"field":"host.os.platform","type":"keyword","normalization":"","example":"darwin","description":"Operating system platform (such centos, ubuntu, windows)."},{"field":"host.type","type":"keyword","normalization":"","example":"","description":"Type of host."},{"field":"host.uptime","type":"long","normalization":"","example":1325,"description":"Seconds the host has been up."},{"field":"host.user.domain","type":"keyword","normalization":"","example":"","description":"Name of the directory the user is a member of."},{"field":"host.user.email","type":"keyword","normalization":"","example":"","description":"User email address."},{"field":"host.user.full_name","type":"keyword","normalization":"","example":"Albert Einstein","description":"User's full name, if available."},{"field":"host.user.full_name.text","type":"match_only_text","normalization":"","example":"Albert Einstein","description":"User's full name, if available."},{"field":"host.user.group.domain","type":"keyword","normalization":"","example":"","description":"Name of the directory the group is a member of."},{"field":"host.user.group.id","type":"keyword","normalization":"","example":"","description":"Unique identifier for the group on the system/platform."},{"field":"host.user.group.name","type":"keyword","normalization":"","example":"","description":"Name of the group."},{"field":"host.user.hash","type":"keyword","normalization":"","example":"","description":"Unique user hash to correlate information for a user in anonymized form."},{"field":"host.user.id","type":"keyword","normalization":"","example":"S-1-5-21-202424912787-2692429404-2351956786-1000","description":"Unique identifier of the user."},{"field":"host.user.name","type":"keyword","normalization":"","example":"a.einstein","description":"Short name or login of the user."},{"field":"host.user.name.text","type":"match_only_text","normalization":"","example":"a.einstein","description":"Short name or login of the user."},{"field":"host.user.roles","type":"keyword","normalization":"array","example":["kibana_admin","reporting_user"],"description":"Array of user roles at the time of the event."},{"field":"http.request.body.bytes","type":"long","normalization":"","example":887,"description":"Size in bytes of the request body."},{"field":"http.request.body.content","type":"wildcard","normalization":"","example":"Hello world","description":"The full HTTP request body."},{"field":"http.request.body.content.text","type":"match_only_text","normalization":"","example":"Hello world","description":"The full HTTP request body."},{"field":"http.request.bytes","type":"long","normalization":"","example":1437,"description":"Total size in bytes of the request (body and headers)."},{"field":"http.request.id","type":"keyword","normalization":"","example":"123e4567-e89b-12d3-a456-426614174000","description":"HTTP request ID."},{"field":"http.request.method","type":"keyword","normalization":"","example":"GET, POST, PUT, PoST","description":"HTTP request method."},{"field":"http.request.mime_type","type":"keyword","normalization":"","example":"image/gif","description":"Mime type of the body of the request."},{"field":"http.request.referrer","type":"keyword","normalization":"","example":"https://blog.example.com/","description":"Referrer for this HTTP request."},{"field":"http.response.body.bytes","type":"long","normalization":"","example":887,"description":"Size in bytes of the response body."},{"field":"http.response.body.content","type":"wildcard","normalization":"","example":"Hello world","description":"The full HTTP response body."},{"field":"http.response.body.content.text","type":"match_only_text","normalization":"","example":"Hello world","description":"The full HTTP response body."},{"field":"http.response.bytes","type":"long","normalization":"","example":1437,"description":"Total size in bytes of the response (body and headers)."},{"field":"http.response.mime_type","type":"keyword","normalization":"","example":"image/gif","description":"Mime type of the body of the response."},{"field":"http.response.status_code","type":"long","normalization":"","example":404,"description":"HTTP response status code."},{"field":"http.version","type":"keyword","normalization":"","example":1.1,"description":"HTTP version."},{"field":"log.file.path","type":"keyword","normalization":"","example":"/var/log/fun-times.log","description":"Full path to the log file this event came from."},{"field":"log.level","type":"keyword","normalization":"","example":"error","description":"Log level of the log event."},{"field":"log.logger","type":"keyword","normalization":"","example":"org.elasticsearch.bootstrap.Bootstrap","description":"Name of the logger."},{"field":"log.origin.file.line","type":"integer","normalization":"","example":42,"description":"The line number of the file which originated the log event."},{"field":"log.origin.file.name","type":"keyword","normalization":"","example":"Bootstrap.java","description":"The code file which originated the log event."},{"field":"log.origin.function","type":"keyword","normalization":"","example":"init","description":"The function which originated the log event."},{"field":"log.original","type":"keyword","normalization":"","example":"Sep 19 08:26:10 localhost My log","description":"Deprecated original log message with light interpretation only (encoding, newlines)."},{"field":"log.syslog","type":"object","normalization":"","example":"","description":"Syslog metadata"},{"field":"log.syslog.facility.code","type":"long","normalization":"","example":23,"description":"Syslog numeric facility of the event."},{"field":"log.syslog.facility.name","type":"keyword","normalization":"","example":"local7","description":"Syslog text-based facility of the event."},{"field":"log.syslog.priority","type":"long","normalization":"","example":135,"description":"Syslog priority of the event."},{"field":"log.syslog.severity.code","type":"long","normalization":"","example":3,"description":"Syslog numeric severity of the event."},{"field":"log.syslog.severity.name","type":"keyword","normalization":"","example":"Error","description":"Syslog text-based severity of the event."},{"field":"network.application","type":"keyword","normalization":"","example":"aim","description":"Application level protocol name."},{"field":"network.bytes","type":"long","normalization":"","example":368,"description":"Total bytes transferred in both directions."},{"field":"network.community_id","type":"keyword","normalization":"","example":"1:hO+sN4H+MG5MY/8hIrXPqc4ZQz0=","description":"A hash of source and destination IPs and ports."},{"field":"network.direction","type":"keyword","normalization":"","example":"inbound","description":"Direction of the network traffic."},{"field":"network.forwarded_ip","type":"ip","normalization":"","example":"192.1.1.2","description":"Host IP address when the source IP address is the proxy."},{"field":"network.iana_number","type":"keyword","normalization":"","example":6,"description":"IANA Protocol Number."},{"field":"network.inner","type":"object","normalization":"","example":"","description":"Inner VLAN tag information"},{"field":"network.inner.vlan.id","type":"keyword","normalization":"","example":10,"description":"VLAN ID as reported by the observer."},{"field":"network.inner.vlan.name","type":"keyword","normalization":"","example":"outside","description":"Optional VLAN name as reported by the observer."},{"field":"network.name","type":"keyword","normalization":"","example":"Guest Wifi","description":"Name given by operators to sections of their network."},{"field":"network.packets","type":"long","normalization":"","example":24,"description":"Total packets transferred in both directions."},{"field":"network.protocol","type":"keyword","normalization":"","example":"http","description":"L7 Network protocol name."},{"field":"network.transport","type":"keyword","normalization":"","example":"tcp","description":"Protocol Name corresponding to the field `iana_number`."},{"field":"network.type","type":"keyword","normalization":"","example":"ipv4","description":"In the OSI Model this would be the Network Layer. ipv4, ipv6, ipsec, pim, etc"},{"field":"network.vlan.id","type":"keyword","normalization":"","example":10,"description":"VLAN ID as reported by the observer."},{"field":"network.vlan.name","type":"keyword","normalization":"","example":"outside","description":"Optional VLAN name as reported by the observer."},{"field":"observer.egress","type":"object","normalization":"","example":"","description":"Object field for egress information"},{"field":"observer.egress.interface.alias","type":"keyword","normalization":"","example":"outside","description":"Interface alias"},{"field":"observer.egress.interface.id","type":"keyword","normalization":"","example":10,"description":"Interface ID"},{"field":"observer.egress.interface.name","type":"keyword","normalization":"","example":"eth0","description":"Interface name"},{"field":"observer.egress.vlan.id","type":"keyword","normalization":"","example":10,"description":"VLAN ID as reported by the observer."},{"field":"observer.egress.vlan.name","type":"keyword","normalization":"","example":"outside","description":"Optional VLAN name as reported by the observer."},{"field":"observer.egress.zone","type":"keyword","normalization":"","example":"Public_Internet","description":"Observer Egress zone"},{"field":"observer.geo.city_name","type":"keyword","normalization":"","example":"Montreal","description":"City name."},{"field":"observer.geo.continent_code","type":"keyword","normalization":"","example":"NA","description":"Continent code."},{"field":"observer.geo.continent_name","type":"keyword","normalization":"","example":"North America","description":"Name of the continent."},{"field":"observer.geo.country_iso_code","type":"keyword","normalization":"","example":"CA","description":"Country ISO code."},{"field":"observer.geo.country_name","type":"keyword","normalization":"","example":"Canada","description":"Country name."},{"field":"observer.geo.location","type":"geo_point","normalization":"","example":{"lon":-73.61483,"lat":45.505918},"description":"Longitude and latitude."},{"field":"observer.geo.name","type":"keyword","normalization":"","example":"boston-dc","description":"User-defined description of a location."},{"field":"observer.geo.postal_code","type":"keyword","normalization":"","example":94040,"description":"Postal code."},{"field":"observer.geo.region_iso_code","type":"keyword","normalization":"","example":"CA-QC","description":"Region ISO code."},{"field":"observer.geo.region_name","type":"keyword","normalization":"","example":"Quebec","description":"Region name."},{"field":"observer.geo.timezone","type":"keyword","normalization":"","example":"America/Argentina/Buenos_Aires","description":"Time zone."},{"field":"observer.hostname","type":"keyword","normalization":"","example":"","description":"Hostname of the observer."},{"field":"observer.ingress","type":"object","normalization":"","example":"","description":"Object field for ingress information"},{"field":"observer.ingress.interface.alias","type":"keyword","normalization":"","example":"outside","description":"Interface alias"},{"field":"observer.ingress.interface.id","type":"keyword","normalization":"","example":10,"description":"Interface ID"},{"field":"observer.ingress.interface.name","type":"keyword","normalization":"","example":"eth0","description":"Interface name"},{"field":"observer.ingress.vlan.id","type":"keyword","normalization":"","example":10,"description":"VLAN ID as reported by the observer."},{"field":"observer.ingress.vlan.name","type":"keyword","normalization":"","example":"outside","description":"Optional VLAN name as reported by the observer."},{"field":"observer.ingress.zone","type":"keyword","normalization":"","example":"DMZ","description":"Observer ingress zone"},{"field":"observer.ip","type":"ip","normalization":"array","example":"","description":"IP addresses of the observer."},{"field":"observer.mac","type":"keyword","normalization":"array","example":["00-00-5E-00-53-23","00-00-5E-00-53-24"],"description":"MAC addresses of the observer."},{"field":"observer.name","type":"keyword","normalization":"","example":"1_proxySG","description":"Custom name of the observer."},{"field":"observer.os.family","type":"keyword","normalization":"","example":"debian","description":"OS family (such as redhat, debian, freebsd, windows)."},{"field":"observer.os.full","type":"keyword","normalization":"","example":"Mac OS Mojave","description":"Operating system name, including the version or code name."},{"field":"observer.os.full.text","type":"match_only_text","normalization":"","example":"Mac OS Mojave","description":"Operating system name, including the version or code name."},{"field":"observer.os.kernel","type":"keyword","normalization":"","example":"4.4.0-112-generic","description":"Operating system kernel version as a raw string."},{"field":"observer.os.name","type":"keyword","normalization":"","example":"Mac OS X","description":"Operating system name, without the version."},{"field":"observer.os.name.text","type":"match_only_text","normalization":"","example":"Mac OS X","description":"Operating system name, without the version."},{"field":"observer.os.platform","type":"keyword","normalization":"","example":"darwin","description":"Operating system platform (such centos, ubuntu, windows)."},{"field":"observer.os.type","type":"keyword","normalization":"","example":"macos","description":"Which commercial OS family (one of: linux, macos, unix or windows)."},{"field":"observer.os.version","type":"keyword","normalization":"","example":"10.14.1","description":"Operating system version as a raw string."},{"field":"observer.product","type":"keyword","normalization":"","example":"s200","description":"The product name of the observer."},{"field":"observer.serial_number","type":"keyword","normalization":"","example":"","description":"Observer serial number."},{"field":"observer.type","type":"keyword","normalization":"","example":"firewall","description":"The type of the observer the data is coming from."},{"field":"observer.vendor","type":"keyword","normalization":"","example":"Symantec","description":"Vendor name of the observer."},{"field":"observer.version","type":"keyword","normalization":"","example":"","description":"Observer version."},{"field":"orchestrator.api_version","type":"keyword","normalization":"","example":"v1beta1","description":"API version being used to carry out the action"},{"field":"orchestrator.cluster.name","type":"keyword","normalization":"","example":"","description":"Name of the cluster."},{"field":"orchestrator.cluster.url","type":"keyword","normalization":"","example":"","description":"URL of the API used to manage the cluster."},{"field":"orchestrator.cluster.version","type":"keyword","normalization":"","example":"","description":"The version of the cluster."},{"field":"orchestrator.namespace","type":"keyword","normalization":"","example":"kube-system","description":"Namespace in which the action is taking place."},{"field":"orchestrator.organization","type":"keyword","normalization":"","example":"elastic","description":"Organization affected by the event (for multi-tenant orchestrator setups)."},{"field":"orchestrator.resource.name","type":"keyword","normalization":"","example":"test-pod-cdcws","description":"Name of the resource being acted upon."},{"field":"orchestrator.resource.type","type":"keyword","normalization":"","example":"service","description":"Type of resource being acted upon."},{"field":"orchestrator.type","type":"keyword","normalization":"","example":"kubernetes","description":"Orchestrator cluster type (e.g. kubernetes, nomad or cloudfoundry)."},{"field":"organization.id","type":"keyword","normalization":"","example":"","description":"Unique identifier for the organization."},{"field":"organization.name","type":"keyword","normalization":"","example":"","description":"Organization name."},{"field":"organization.name.text","type":"match_only_text","normalization":"","example":"","description":"Organization name."},{"field":"package.architecture","type":"keyword","normalization":"","example":"x86_64","description":"Package architecture."},{"field":"package.build_version","type":"keyword","normalization":"","example":"36f4f7e89dd61b0988b12ee000b98966867710cd","description":"Build version information"},{"field":"package.checksum","type":"keyword","normalization":"","example":"68b329da9893e34099c7d8ad5cb9c940","description":"Checksum of the installed package for verification."},{"field":"package.description","type":"keyword","normalization":"","example":"Open source programming language to build simple/reliable/efficient software.","description":"Description of the package."},{"field":"package.install_scope","type":"keyword","normalization":"","example":"global","description":"Indicating how the package was installed, e.g. user-local, global."},{"field":"package.installed","type":"date","normalization":"","example":"","description":"Time when package was installed."},{"field":"package.license","type":"keyword","normalization":"","example":"Apache License 2.0","description":"Package license"},{"field":"package.name","type":"keyword","normalization":"","example":"go","description":"Package name"},{"field":"package.path","type":"keyword","normalization":"","example":"/usr/local/Cellar/go/1.12.9/","description":"Path where the package is installed."},{"field":"package.reference","type":"keyword","normalization":"","example":"https://golang.org","description":"Package home page or reference URL"},{"field":"package.size","type":"long","normalization":"","example":62231,"description":"Package size in bytes."},{"field":"package.type","type":"keyword","normalization":"","example":"rpm","description":"Package type"},{"field":"package.version","type":"keyword","normalization":"","example":"1.12.9","description":"Package version"},{"field":"process.args","type":"keyword","normalization":"array","example":["/usr/bin/ssh","-l","user","10.0.0.16"],"description":"Array of process arguments."},{"field":"process.args_count","type":"long","normalization":"","example":4,"description":"Length of the process.args array."},{"field":"process.code_signature.digest_algorithm","type":"keyword","normalization":"","example":"sha256","description":"Hashing algorithm used to sign the process."},{"field":"process.code_signature.exists","type":"boolean","normalization":"","example":true,"description":"Boolean to capture if a signature is present."},{"field":"process.code_signature.signing_id","type":"keyword","normalization":"","example":"com.apple.xpc.proxy","description":"The identifier used to sign the process."},{"field":"process.code_signature.status","type":"keyword","normalization":"","example":"ERROR_UNTRUSTED_ROOT","description":"Additional information about the certificate status."},{"field":"process.code_signature.subject_name","type":"keyword","normalization":"","example":"Microsoft Corporation","description":"Subject name of the code signer"},{"field":"process.code_signature.team_id","type":"keyword","normalization":"","example":"EQHXZ8M8AV","description":"The team identifier used to sign the process."},{"field":"process.code_signature.timestamp","type":"date","normalization":"","example":"2021-01-01T12:10:30Z","description":"When the signature was generated and signed."},{"field":"process.code_signature.trusted","type":"boolean","normalization":"","example":true,"description":"Stores the trust status of the certificate chain."},{"field":"process.code_signature.valid","type":"boolean","normalization":"","example":true,"description":"Boolean to capture if the digital signature is verified against the binary content."},{"field":"process.command_line","type":"wildcard","normalization":"","example":"/usr/bin/ssh -l user 10.0.0.16","description":"Full command line that started the process."},{"field":"process.command_line.text","type":"match_only_text","normalization":"","example":"/usr/bin/ssh -l user 10.0.0.16","description":"Full command line that started the process."},{"field":"process.elf.architecture","type":"keyword","normalization":"","example":"x86-64","description":"Machine architecture of the ELF file."},{"field":"process.elf.byte_order","type":"keyword","normalization":"","example":"Little Endian","description":"Byte sequence of ELF file."},{"field":"process.elf.cpu_type","type":"keyword","normalization":"","example":"Intel","description":"CPU type of the ELF file."},{"field":"process.elf.creation_date","type":"date","normalization":"","example":"","description":"Build or compile date."},{"field":"process.elf.exports","type":"flattened","normalization":"array","example":"","description":"List of exported element names and types."},{"field":"process.elf.header.abi_version","type":"keyword","normalization":"","example":"","description":"Version of the ELF Application Binary Interface (ABI)."},{"field":"process.elf.header.class","type":"keyword","normalization":"","example":"","description":"Header class of the ELF file."},{"field":"process.elf.header.data","type":"keyword","normalization":"","example":"","description":"Data table of the ELF header."},{"field":"process.elf.header.entrypoint","type":"long","normalization":"","example":"","description":"Header entrypoint of the ELF file."},{"field":"process.elf.header.object_version","type":"keyword","normalization":"","example":"","description":"0x1\" for original ELF files."},{"field":"process.elf.header.os_abi","type":"keyword","normalization":"","example":"","description":"Application Binary Interface (ABI) of the Linux OS."},{"field":"process.elf.header.type","type":"keyword","normalization":"","example":"","description":"Header type of the ELF file."},{"field":"process.elf.header.version","type":"keyword","normalization":"","example":"","description":"Version of the ELF header."},{"field":"process.elf.imports","type":"flattened","normalization":"array","example":"","description":"List of imported element names and types."},{"field":"process.elf.sections","type":"nested","normalization":"array","example":"","description":"Section information of the ELF file."},{"field":"process.elf.sections.chi2","type":"long","normalization":"","example":"","description":"Chi-square probability distribution of the section."},{"field":"process.elf.sections.entropy","type":"long","normalization":"","example":"","description":"Shannon entropy calculation from the section."},{"field":"process.elf.sections.flags","type":"keyword","normalization":"","example":"","description":"ELF Section List flags."},{"field":"process.elf.sections.name","type":"keyword","normalization":"","example":"","description":"ELF Section List name."},{"field":"process.elf.sections.physical_offset","type":"keyword","normalization":"","example":"","description":"ELF Section List offset."},{"field":"process.elf.sections.physical_size","type":"long","normalization":"","example":"","description":"ELF Section List physical size."},{"field":"process.elf.sections.type","type":"keyword","normalization":"","example":"","description":"ELF Section List type."},{"field":"process.elf.sections.virtual_address","type":"long","normalization":"","example":"","description":"ELF Section List virtual address."},{"field":"process.elf.sections.virtual_size","type":"long","normalization":"","example":"","description":"ELF Section List virtual size."},{"field":"process.elf.segments","type":"nested","normalization":"array","example":"","description":"ELF object segment list."},{"field":"process.elf.segments.sections","type":"keyword","normalization":"","example":"","description":"ELF object segment sections."},{"field":"process.elf.segments.type","type":"keyword","normalization":"","example":"","description":"ELF object segment type."},{"field":"process.elf.shared_libraries","type":"keyword","normalization":"array","example":"","description":"List of shared libraries used by this ELF object."},{"field":"process.elf.telfhash","type":"keyword","normalization":"","example":"","description":"telfhash hash for ELF file."},{"field":"process.end","type":"date","normalization":"","example":"2016-05-23T08:05:34.853Z","description":"The time the process ended."},{"field":"process.entity_id","type":"keyword","normalization":"","example":"c2c455d9f99375d","description":"Unique identifier for the process."},{"field":"process.executable","type":"keyword","normalization":"","example":"/usr/bin/ssh","description":"Absolute path to the process executable."},{"field":"process.executable.text","type":"match_only_text","normalization":"","example":"/usr/bin/ssh","description":"Absolute path to the process executable."},{"field":"process.exit_code","type":"long","normalization":"","example":137,"description":"The exit code of the process."},{"field":"process.hash.md5","type":"keyword","normalization":"","example":"","description":"MD5 hash."},{"field":"process.hash.sha1","type":"keyword","normalization":"","example":"","description":"SHA1 hash."},{"field":"process.hash.sha256","type":"keyword","normalization":"","example":"","description":"SHA256 hash."},{"field":"process.hash.sha512","type":"keyword","normalization":"","example":"","description":"SHA512 hash."},{"field":"process.hash.ssdeep","type":"keyword","normalization":"","example":"","description":"SSDEEP hash."},{"field":"process.name","type":"keyword","normalization":"","example":"ssh","description":"Process name."},{"field":"process.name.text","type":"match_only_text","normalization":"","example":"ssh","description":"Process name."},{"field":"process.parent.args","type":"keyword","normalization":"array","example":["/usr/bin/ssh","-l","user","10.0.0.16"],"description":"Array of process arguments."},{"field":"process.parent.args_count","type":"long","normalization":"","example":4,"description":"Length of the process.args array."},{"field":"process.parent.code_signature.digest_algorithm","type":"keyword","normalization":"","example":"sha256","description":"Hashing algorithm used to sign the process."},{"field":"process.parent.code_signature.exists","type":"boolean","normalization":"","example":true,"description":"Boolean to capture if a signature is present."},{"field":"process.parent.code_signature.signing_id","type":"keyword","normalization":"","example":"com.apple.xpc.proxy","description":"The identifier used to sign the process."},{"field":"process.parent.code_signature.status","type":"keyword","normalization":"","example":"ERROR_UNTRUSTED_ROOT","description":"Additional information about the certificate status."},{"field":"process.parent.code_signature.subject_name","type":"keyword","normalization":"","example":"Microsoft Corporation","description":"Subject name of the code signer"},{"field":"process.parent.code_signature.team_id","type":"keyword","normalization":"","example":"EQHXZ8M8AV","description":"The team identifier used to sign the process."},{"field":"process.parent.code_signature.timestamp","type":"date","normalization":"","example":"2021-01-01T12:10:30Z","description":"When the signature was generated and signed."},{"field":"process.parent.code_signature.trusted","type":"boolean","normalization":"","example":true,"description":"Stores the trust status of the certificate chain."},{"field":"process.parent.code_signature.valid","type":"boolean","normalization":"","example":true,"description":"Boolean to capture if the digital signature is verified against the binary content."},{"field":"process.parent.command_line","type":"wildcard","normalization":"","example":"/usr/bin/ssh -l user 10.0.0.16","description":"Full command line that started the process."},{"field":"process.parent.command_line.text","type":"match_only_text","normalization":"","example":"/usr/bin/ssh -l user 10.0.0.16","description":"Full command line that started the process."},{"field":"process.parent.elf.architecture","type":"keyword","normalization":"","example":"x86-64","description":"Machine architecture of the ELF file."},{"field":"process.parent.elf.byte_order","type":"keyword","normalization":"","example":"Little Endian","description":"Byte sequence of ELF file."},{"field":"process.parent.elf.cpu_type","type":"keyword","normalization":"","example":"Intel","description":"CPU type of the ELF file."},{"field":"process.parent.elf.creation_date","type":"date","normalization":"","example":"","description":"Build or compile date."},{"field":"process.parent.elf.exports","type":"flattened","normalization":"array","example":"","description":"List of exported element names and types."},{"field":"process.parent.elf.header.abi_version","type":"keyword","normalization":"","example":"","description":"Version of the ELF Application Binary Interface (ABI)."},{"field":"process.parent.elf.header.class","type":"keyword","normalization":"","example":"","description":"Header class of the ELF file."},{"field":"process.parent.elf.header.data","type":"keyword","normalization":"","example":"","description":"Data table of the ELF header."},{"field":"process.parent.elf.header.entrypoint","type":"long","normalization":"","example":"","description":"Header entrypoint of the ELF file."},{"field":"process.parent.elf.header.object_version","type":"keyword","normalization":"","example":"","description":"0x1\" for original ELF files."},{"field":"process.parent.elf.header.os_abi","type":"keyword","normalization":"","example":"","description":"Application Binary Interface (ABI) of the Linux OS."},{"field":"process.parent.elf.header.type","type":"keyword","normalization":"","example":"","description":"Header type of the ELF file."},{"field":"process.parent.elf.header.version","type":"keyword","normalization":"","example":"","description":"Version of the ELF header."},{"field":"process.parent.elf.imports","type":"flattened","normalization":"array","example":"","description":"List of imported element names and types."},{"field":"process.parent.elf.sections","type":"nested","normalization":"array","example":"","description":"Section information of the ELF file."},{"field":"process.parent.elf.sections.chi2","type":"long","normalization":"","example":"","description":"Chi-square probability distribution of the section."},{"field":"process.parent.elf.sections.entropy","type":"long","normalization":"","example":"","description":"Shannon entropy calculation from the section."},{"field":"process.parent.elf.sections.flags","type":"keyword","normalization":"","example":"","description":"ELF Section List flags."},{"field":"process.parent.elf.sections.name","type":"keyword","normalization":"","example":"","description":"ELF Section List name."},{"field":"process.parent.elf.sections.physical_offset","type":"keyword","normalization":"","example":"","description":"ELF Section List offset."},{"field":"process.parent.elf.sections.physical_size","type":"long","normalization":"","example":"","description":"ELF Section List physical size."},{"field":"process.parent.elf.sections.type","type":"keyword","normalization":"","example":"","description":"ELF Section List type."},{"field":"process.parent.elf.sections.virtual_address","type":"long","normalization":"","example":"","description":"ELF Section List virtual address."},{"field":"process.parent.elf.sections.virtual_size","type":"long","normalization":"","example":"","description":"ELF Section List virtual size."},{"field":"process.parent.elf.segments","type":"nested","normalization":"array","example":"","description":"ELF object segment list."},{"field":"process.parent.elf.segments.sections","type":"keyword","normalization":"","example":"","description":"ELF object segment sections."},{"field":"process.parent.elf.segments.type","type":"keyword","normalization":"","example":"","description":"ELF object segment type."},{"field":"process.parent.elf.shared_libraries","type":"keyword","normalization":"array","example":"","description":"List of shared libraries used by this ELF object."},{"field":"process.parent.elf.telfhash","type":"keyword","normalization":"","example":"","description":"telfhash hash for ELF file."},{"field":"process.parent.end","type":"date","normalization":"","example":"2016-05-23T08:05:34.853Z","description":"The time the process ended."},{"field":"process.parent.entity_id","type":"keyword","normalization":"","example":"c2c455d9f99375d","description":"Unique identifier for the process."},{"field":"process.parent.executable","type":"keyword","normalization":"","example":"/usr/bin/ssh","description":"Absolute path to the process executable."},{"field":"process.parent.executable.text","type":"match_only_text","normalization":"","example":"/usr/bin/ssh","description":"Absolute path to the process executable."},{"field":"process.parent.exit_code","type":"long","normalization":"","example":137,"description":"The exit code of the process."},{"field":"process.parent.hash.md5","type":"keyword","normalization":"","example":"","description":"MD5 hash."},{"field":"process.parent.hash.sha1","type":"keyword","normalization":"","example":"","description":"SHA1 hash."},{"field":"process.parent.hash.sha256","type":"keyword","normalization":"","example":"","description":"SHA256 hash."},{"field":"process.parent.hash.sha512","type":"keyword","normalization":"","example":"","description":"SHA512 hash."},{"field":"process.parent.hash.ssdeep","type":"keyword","normalization":"","example":"","description":"SSDEEP hash."},{"field":"process.parent.name","type":"keyword","normalization":"","example":"ssh","description":"Process name."},{"field":"process.parent.name.text","type":"match_only_text","normalization":"","example":"ssh","description":"Process name."},{"field":"process.parent.pe.architecture","type":"keyword","normalization":"","example":"x64","description":"CPU architecture target for the file."},{"field":"process.parent.pe.company","type":"keyword","normalization":"","example":"Microsoft Corporation","description":"Internal company name of the file, provided at compile-time."},{"field":"process.parent.pe.description","type":"keyword","normalization":"","example":"Paint","description":"Internal description of the file, provided at compile-time."},{"field":"process.parent.pe.file_version","type":"keyword","normalization":"","example":"6.3.9600.17415","description":"Process name."},{"field":"process.parent.pe.imphash","type":"keyword","normalization":"","example":"0c6803c4e922103c4dca5963aad36ddf","description":"A hash of the imports in a PE file."},{"field":"process.parent.pe.original_file_name","type":"keyword","normalization":"","example":"MSPAINT.EXE","description":"Internal name of the file, provided at compile-time."},{"field":"process.parent.pe.product","type":"keyword","normalization":"","example":"Microsoft® Windows® Operating System","description":"Internal product name of the file, provided at compile-time."},{"field":"process.parent.pgid","type":"long","normalization":"","example":"","description":"Identifier of the group of processes the process belongs to."},{"field":"process.parent.pid","type":"long","normalization":"","example":4242,"description":"Process id."},{"field":"process.parent.ppid","type":"long","normalization":"","example":4241,"description":"Parent process' pid."},{"field":"process.parent.start","type":"date","normalization":"","example":"2016-05-23T08:05:34.853Z","description":"The time the process started."},{"field":"process.parent.thread.id","type":"long","normalization":"","example":4242,"description":"Thread ID."},{"field":"process.parent.thread.name","type":"keyword","normalization":"","example":"thread-0","description":"Thread name."},{"field":"process.parent.title","type":"keyword","normalization":"","example":"","description":"Process title."},{"field":"process.parent.title.text","type":"match_only_text","normalization":"","example":"","description":"Process title."},{"field":"process.parent.uptime","type":"long","normalization":"","example":1325,"description":"Seconds the process has been up."},{"field":"process.parent.working_directory","type":"keyword","normalization":"","example":"/home/alice","description":"The working directory of the process."},{"field":"process.parent.working_directory.text","type":"match_only_text","normalization":"","example":"/home/alice","description":"The working directory of the process."},{"field":"process.pe.architecture","type":"keyword","normalization":"","example":"x64","description":"CPU architecture target for the file."},{"field":"process.pe.company","type":"keyword","normalization":"","example":"Microsoft Corporation","description":"Internal company name of the file, provided at compile-time."},{"field":"process.pe.description","type":"keyword","normalization":"","example":"Paint","description":"Internal description of the file, provided at compile-time."},{"field":"process.pe.file_version","type":"keyword","normalization":"","example":"6.3.9600.17415","description":"Process name."},{"field":"process.pe.imphash","type":"keyword","normalization":"","example":"0c6803c4e922103c4dca5963aad36ddf","description":"A hash of the imports in a PE file."},{"field":"process.pe.original_file_name","type":"keyword","normalization":"","example":"MSPAINT.EXE","description":"Internal name of the file, provided at compile-time."},{"field":"process.pe.product","type":"keyword","normalization":"","example":"Microsoft® Windows® Operating System","description":"Internal product name of the file, provided at compile-time."},{"field":"process.pgid","type":"long","normalization":"","example":"","description":"Identifier of the group of processes the process belongs to."},{"field":"process.pid","type":"long","normalization":"","example":4242,"description":"Process id."},{"field":"process.ppid","type":"long","normalization":"","example":4241,"description":"Parent process' pid."},{"field":"process.start","type":"date","normalization":"","example":"2016-05-23T08:05:34.853Z","description":"The time the process started."},{"field":"process.thread.id","type":"long","normalization":"","example":4242,"description":"Thread ID."},{"field":"process.thread.name","type":"keyword","normalization":"","example":"thread-0","description":"Thread name."},{"field":"process.title","type":"keyword","normalization":"","example":"","description":"Process title."},{"field":"process.title.text","type":"match_only_text","normalization":"","example":"","description":"Process title."},{"field":"process.uptime","type":"long","normalization":"","example":1325,"description":"Seconds the process has been up."},{"field":"process.working_directory","type":"keyword","normalization":"","example":"/home/alice","description":"The working directory of the process."},{"field":"process.working_directory.text","type":"match_only_text","normalization":"","example":"/home/alice","description":"The working directory of the process."},{"field":"registry.data.bytes","type":"keyword","normalization":"","example":"ZQBuAC0AVQBTAAAAZQBuAAAAAAA=","description":"Original bytes written with base64 encoding."},{"field":"registry.data.strings","type":"wildcard","normalization":"array","example":"[\"C:\\rta\\red_ttp\\bin\\myapp.exe\"]","description":"List of strings representing what was written to the registry."},{"field":"registry.data.type","type":"keyword","normalization":"","example":"REG_SZ","description":"Standard registry type for encoding contents"},{"field":"registry.hive","type":"keyword","normalization":"","example":"HKLM","description":"Abbreviated name for the hive."},{"field":"registry.key","type":"keyword","normalization":"","example":"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Image File Execution Options\\winword.exe","description":"Hive-relative path of keys."},{"field":"registry.path","type":"keyword","normalization":"","example":"HKLM\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Image File Execution Options\\winword.exe\\Debugger","description":"Full path, including hive, key and value"},{"field":"registry.value","type":"keyword","normalization":"","example":"Debugger","description":"Name of the value written."},{"field":"related.hash","type":"keyword","normalization":"array","example":"","description":"All the hashes seen on your event."},{"field":"related.hosts","type":"keyword","normalization":"array","example":"","description":"All the host identifiers seen on your event."},{"field":"related.ip","type":"ip","normalization":"array","example":"","description":"All of the IPs seen on your event."},{"field":"related.user","type":"keyword","normalization":"array","example":"","description":"All the user names or other user identifiers seen on the event."},{"field":"rule.author","type":"keyword","normalization":"array","example":["Star-Lord"],"description":"Rule author"},{"field":"rule.category","type":"keyword","normalization":"","example":"Attempted Information Leak","description":"Rule category"},{"field":"rule.description","type":"keyword","normalization":"","example":"Block requests to public DNS over HTTPS / TLS protocols","description":"Rule description"},{"field":"rule.id","type":"keyword","normalization":"","example":101,"description":"Rule ID"},{"field":"rule.license","type":"keyword","normalization":"","example":"Apache 2.0","description":"Rule license"},{"field":"rule.name","type":"keyword","normalization":"","example":"BLOCK_DNS_over_TLS","description":"Rule name"},{"field":"rule.reference","type":"keyword","normalization":"","example":"https://en.wikipedia.org/wiki/DNS_over_TLS","description":"Rule reference URL"},{"field":"rule.ruleset","type":"keyword","normalization":"","example":"Standard_Protocol_Filters","description":"Rule ruleset"},{"field":"rule.uuid","type":"keyword","normalization":"","example":1100110011,"description":"Rule UUID"},{"field":"rule.version","type":"keyword","normalization":"","example":1.1,"description":"Rule version"},{"field":"server.address","type":"keyword","normalization":"","example":"","description":"Server network address."},{"field":"server.as.number","type":"long","normalization":"","example":15169,"description":"Unique number allocated to the autonomous system."},{"field":"server.as.organization.name","type":"keyword","normalization":"","example":"Google LLC","description":"Organization name."},{"field":"server.as.organization.name.text","type":"match_only_text","normalization":"","example":"Google LLC","description":"Organization name."},{"field":"server.bytes","type":"long","normalization":"","example":184,"description":"Bytes sent from the server to the client."},{"field":"server.domain","type":"keyword","normalization":"","example":"","description":"Server domain."},{"field":"server.geo.city_name","type":"keyword","normalization":"","example":"Montreal","description":"City name."},{"field":"server.geo.continent_code","type":"keyword","normalization":"","example":"NA","description":"Continent code."},{"field":"server.geo.continent_name","type":"keyword","normalization":"","example":"North America","description":"Name of the continent."},{"field":"server.geo.country_iso_code","type":"keyword","normalization":"","example":"CA","description":"Country ISO code."},{"field":"server.geo.country_name","type":"keyword","normalization":"","example":"Canada","description":"Country name."},{"field":"server.geo.location","type":"geo_point","normalization":"","example":{"lon":-73.61483,"lat":45.505918},"description":"Longitude and latitude."},{"field":"server.geo.name","type":"keyword","normalization":"","example":"boston-dc","description":"User-defined description of a location."},{"field":"server.geo.postal_code","type":"keyword","normalization":"","example":94040,"description":"Postal code."},{"field":"server.geo.region_iso_code","type":"keyword","normalization":"","example":"CA-QC","description":"Region ISO code."},{"field":"server.geo.region_name","type":"keyword","normalization":"","example":"Quebec","description":"Region name."},{"field":"server.geo.timezone","type":"keyword","normalization":"","example":"America/Argentina/Buenos_Aires","description":"Time zone."},{"field":"server.ip","type":"ip","normalization":"","example":"","description":"IP address of the server."},{"field":"server.mac","type":"keyword","normalization":"","example":"00-00-5E-00-53-23","description":"MAC address of the server."},{"field":"server.nat.ip","type":"ip","normalization":"","example":"","description":"Server NAT ip"},{"field":"server.nat.port","type":"long","normalization":"","example":"","description":"Server NAT port"},{"field":"server.packets","type":"long","normalization":"","example":12,"description":"Packets sent from the server to the client."},{"field":"server.port","type":"long","normalization":"","example":"","description":"Port of the server."},{"field":"server.registered_domain","type":"keyword","normalization":"","example":"example.com","description":"The highest registered server domain, stripped of the subdomain."},{"field":"server.subdomain","type":"keyword","normalization":"","example":"east","description":"The subdomain of the domain."},{"field":"server.top_level_domain","type":"keyword","normalization":"","example":"co.uk","description":"The effective top level domain (com, org, net, co.uk)."},{"field":"server.user.domain","type":"keyword","normalization":"","example":"","description":"Name of the directory the user is a member of."},{"field":"server.user.email","type":"keyword","normalization":"","example":"","description":"User email address."},{"field":"server.user.full_name","type":"keyword","normalization":"","example":"Albert Einstein","description":"User's full name, if available."},{"field":"server.user.full_name.text","type":"match_only_text","normalization":"","example":"Albert Einstein","description":"User's full name, if available."},{"field":"server.user.group.domain","type":"keyword","normalization":"","example":"","description":"Name of the directory the group is a member of."},{"field":"server.user.group.id","type":"keyword","normalization":"","example":"","description":"Unique identifier for the group on the system/platform."},{"field":"server.user.group.name","type":"keyword","normalization":"","example":"","description":"Name of the group."},{"field":"server.user.hash","type":"keyword","normalization":"","example":"","description":"Unique user hash to correlate information for a user in anonymized form."},{"field":"server.user.id","type":"keyword","normalization":"","example":"S-1-5-21-202424912787-2692429404-2351956786-1000","description":"Unique identifier of the user."},{"field":"server.user.name","type":"keyword","normalization":"","example":"a.einstein","description":"Short name or login of the user."},{"field":"server.user.name.text","type":"match_only_text","normalization":"","example":"a.einstein","description":"Short name or login of the user."},{"field":"server.user.roles","type":"keyword","normalization":"array","example":["kibana_admin","reporting_user"],"description":"Array of user roles at the time of the event."},{"field":"service.address","type":"keyword","normalization":"","example":"172.26.0.2:5432","description":"Address of this service."},{"field":"service.environment","type":"keyword","normalization":"","example":"production","description":"Environment of the service."},{"field":"service.ephemeral_id","type":"keyword","normalization":"","example":"8a4f500f","description":"Ephemeral identifier of this service."},{"field":"service.id","type":"keyword","normalization":"","example":"d37e5ebfe0ae6c4972dbe9f0174a1637bb8247f6","description":"Unique identifier of the running service."},{"field":"service.name","type":"keyword","normalization":"","example":"elasticsearch-metrics","description":"Name of the service."},{"field":"service.node.name","type":"keyword","normalization":"","example":"instance-0000000016","description":"Name of the service node."},{"field":"service.state","type":"keyword","normalization":"","example":"","description":"Current state of the service."},{"field":"service.type","type":"keyword","normalization":"","example":"elasticsearch","description":"The type of the service."},{"field":"service.version","type":"keyword","normalization":"","example":"3.2.4","description":"Version of the service."},{"field":"source.address","type":"keyword","normalization":"","example":"","description":"Source network address."},{"field":"source.as.number","type":"long","normalization":"","example":15169,"description":"Unique number allocated to the autonomous system."},{"field":"source.as.organization.name","type":"keyword","normalization":"","example":"Google LLC","description":"Organization name."},{"field":"source.as.organization.name.text","type":"match_only_text","normalization":"","example":"Google LLC","description":"Organization name."},{"field":"source.bytes","type":"long","normalization":"","example":184,"description":"Bytes sent from the source to the destination."},{"field":"source.domain","type":"keyword","normalization":"","example":"","description":"Source domain."},{"field":"source.geo.city_name","type":"keyword","normalization":"","example":"Montreal","description":"City name."},{"field":"source.geo.continent_code","type":"keyword","normalization":"","example":"NA","description":"Continent code."},{"field":"source.geo.continent_name","type":"keyword","normalization":"","example":"North America","description":"Name of the continent."},{"field":"source.geo.country_iso_code","type":"keyword","normalization":"","example":"CA","description":"Country ISO code."},{"field":"source.geo.country_name","type":"keyword","normalization":"","example":"Canada","description":"Country name."},{"field":"source.geo.location","type":"geo_point","normalization":"","example":{"lon":-73.61483,"lat":45.505918},"description":"Longitude and latitude."},{"field":"source.geo.name","type":"keyword","normalization":"","example":"boston-dc","description":"User-defined description of a location."},{"field":"source.geo.postal_code","type":"keyword","normalization":"","example":94040,"description":"Postal code."},{"field":"source.geo.region_iso_code","type":"keyword","normalization":"","example":"CA-QC","description":"Region ISO code."},{"field":"source.geo.region_name","type":"keyword","normalization":"","example":"Quebec","description":"Region name."},{"field":"source.geo.timezone","type":"keyword","normalization":"","example":"America/Argentina/Buenos_Aires","description":"Time zone."},{"field":"source.ip","type":"ip","normalization":"","example":"","description":"IP address of the source."},{"field":"source.mac","type":"keyword","normalization":"","example":"00-00-5E-00-53-23","description":"MAC address of the source."},{"field":"source.nat.ip","type":"ip","normalization":"","example":"","description":"Source NAT ip"},{"field":"source.nat.port","type":"long","normalization":"","example":"","description":"Source NAT port"},{"field":"source.packets","type":"long","normalization":"","example":12,"description":"Packets sent from the source to the destination."},{"field":"source.port","type":"long","normalization":"","example":"","description":"Port of the source."},{"field":"source.registered_domain","type":"keyword","normalization":"","example":"example.com","description":"The highest registered source domain, stripped of the subdomain."},{"field":"source.subdomain","type":"keyword","normalization":"","example":"east","description":"The subdomain of the domain."},{"field":"source.top_level_domain","type":"keyword","normalization":"","example":"co.uk","description":"The effective top level domain (com, org, net, co.uk)."},{"field":"source.user.domain","type":"keyword","normalization":"","example":"","description":"Name of the directory the user is a member of."},{"field":"source.user.email","type":"keyword","normalization":"","example":"","description":"User email address."},{"field":"source.user.full_name","type":"keyword","normalization":"","example":"Albert Einstein","description":"User's full name, if available."},{"field":"source.user.full_name.text","type":"match_only_text","normalization":"","example":"Albert Einstein","description":"User's full name, if available."},{"field":"source.user.group.domain","type":"keyword","normalization":"","example":"","description":"Name of the directory the group is a member of."},{"field":"source.user.group.id","type":"keyword","normalization":"","example":"","description":"Unique identifier for the group on the system/platform."},{"field":"source.user.group.name","type":"keyword","normalization":"","example":"","description":"Name of the group."},{"field":"source.user.hash","type":"keyword","normalization":"","example":"","description":"Unique user hash to correlate information for a user in anonymized form."},{"field":"source.user.id","type":"keyword","normalization":"","example":"S-1-5-21-202424912787-2692429404-2351956786-1000","description":"Unique identifier of the user."},{"field":"source.user.name","type":"keyword","normalization":"","example":"a.einstein","description":"Short name or login of the user."},{"field":"source.user.name.text","type":"match_only_text","normalization":"","example":"a.einstein","description":"Short name or login of the user."},{"field":"source.user.roles","type":"keyword","normalization":"array","example":["kibana_admin","reporting_user"],"description":"Array of user roles at the time of the event."},{"field":"span.id","type":"keyword","normalization":"","example":"3ff9a8981b7ccd5a","description":"Unique identifier of the span within the scope of its trace."},{"field":"threat.enrichments","type":"nested","normalization":"array","example":"","description":"List of objects containing indicators enriching the event."},{"field":"threat.enrichments.indicator","type":"object","normalization":"","example":"","description":"Object containing indicators enriching the event."},{"field":"threat.enrichments.indicator.as.number","type":"long","normalization":"","example":15169,"description":"Unique number allocated to the autonomous system."},{"field":"threat.enrichments.indicator.as.organization.name","type":"keyword","normalization":"","example":"Google LLC","description":"Organization name."},{"field":"threat.enrichments.indicator.as.organization.name.text","type":"match_only_text","normalization":"","example":"Google LLC","description":"Organization name."},{"field":"threat.enrichments.indicator.confidence","type":"keyword","normalization":"","example":"High","description":"Indicator confidence rating"},{"field":"threat.enrichments.indicator.description","type":"keyword","normalization":"","example":"IP x.x.x.x was observed delivering the Angler EK.","description":"Indicator description"},{"field":"threat.enrichments.indicator.email.address","type":"keyword","normalization":"","example":"phish@example.com","description":"Indicator email address"},{"field":"threat.enrichments.indicator.file.accessed","type":"date","normalization":"","example":"","description":"Last time the file was accessed."},{"field":"threat.enrichments.indicator.file.attributes","type":"keyword","normalization":"array","example":["readonly","system"],"description":"Array of file attributes."},{"field":"threat.enrichments.indicator.file.code_signature.digest_algorithm","type":"keyword","normalization":"","example":"sha256","description":"Hashing algorithm used to sign the process."},{"field":"threat.enrichments.indicator.file.code_signature.exists","type":"boolean","normalization":"","example":true,"description":"Boolean to capture if a signature is present."},{"field":"threat.enrichments.indicator.file.code_signature.signing_id","type":"keyword","normalization":"","example":"com.apple.xpc.proxy","description":"The identifier used to sign the process."},{"field":"threat.enrichments.indicator.file.code_signature.status","type":"keyword","normalization":"","example":"ERROR_UNTRUSTED_ROOT","description":"Additional information about the certificate status."},{"field":"threat.enrichments.indicator.file.code_signature.subject_name","type":"keyword","normalization":"","example":"Microsoft Corporation","description":"Subject name of the code signer"},{"field":"threat.enrichments.indicator.file.code_signature.team_id","type":"keyword","normalization":"","example":"EQHXZ8M8AV","description":"The team identifier used to sign the process."},{"field":"threat.enrichments.indicator.file.code_signature.timestamp","type":"date","normalization":"","example":"2021-01-01T12:10:30Z","description":"When the signature was generated and signed."},{"field":"threat.enrichments.indicator.file.code_signature.trusted","type":"boolean","normalization":"","example":true,"description":"Stores the trust status of the certificate chain."},{"field":"threat.enrichments.indicator.file.code_signature.valid","type":"boolean","normalization":"","example":true,"description":"Boolean to capture if the digital signature is verified against the binary content."},{"field":"threat.enrichments.indicator.file.created","type":"date","normalization":"","example":"","description":"File creation time."},{"field":"threat.enrichments.indicator.file.ctime","type":"date","normalization":"","example":"","description":"Last time the file attributes or metadata changed."},{"field":"threat.enrichments.indicator.file.device","type":"keyword","normalization":"","example":"sda","description":"Device that is the source of the file."},{"field":"threat.enrichments.indicator.file.directory","type":"keyword","normalization":"","example":"/home/alice","description":"Directory where the file is located."},{"field":"threat.enrichments.indicator.file.drive_letter","type":"keyword","normalization":"","example":"C","description":"Drive letter where the file is located."},{"field":"threat.enrichments.indicator.file.elf.architecture","type":"keyword","normalization":"","example":"x86-64","description":"Machine architecture of the ELF file."},{"field":"threat.enrichments.indicator.file.elf.byte_order","type":"keyword","normalization":"","example":"Little Endian","description":"Byte sequence of ELF file."},{"field":"threat.enrichments.indicator.file.elf.cpu_type","type":"keyword","normalization":"","example":"Intel","description":"CPU type of the ELF file."},{"field":"threat.enrichments.indicator.file.elf.creation_date","type":"date","normalization":"","example":"","description":"Build or compile date."},{"field":"threat.enrichments.indicator.file.elf.exports","type":"flattened","normalization":"array","example":"","description":"List of exported element names and types."},{"field":"threat.enrichments.indicator.file.elf.header.abi_version","type":"keyword","normalization":"","example":"","description":"Version of the ELF Application Binary Interface (ABI)."},{"field":"threat.enrichments.indicator.file.elf.header.class","type":"keyword","normalization":"","example":"","description":"Header class of the ELF file."},{"field":"threat.enrichments.indicator.file.elf.header.data","type":"keyword","normalization":"","example":"","description":"Data table of the ELF header."},{"field":"threat.enrichments.indicator.file.elf.header.entrypoint","type":"long","normalization":"","example":"","description":"Header entrypoint of the ELF file."},{"field":"threat.enrichments.indicator.file.elf.header.object_version","type":"keyword","normalization":"","example":"","description":"0x1\" for original ELF files."},{"field":"threat.enrichments.indicator.file.elf.header.os_abi","type":"keyword","normalization":"","example":"","description":"Application Binary Interface (ABI) of the Linux OS."},{"field":"threat.enrichments.indicator.file.elf.header.type","type":"keyword","normalization":"","example":"","description":"Header type of the ELF file."},{"field":"threat.enrichments.indicator.file.elf.header.version","type":"keyword","normalization":"","example":"","description":"Version of the ELF header."},{"field":"threat.enrichments.indicator.file.elf.imports","type":"flattened","normalization":"array","example":"","description":"List of imported element names and types."},{"field":"threat.enrichments.indicator.file.elf.sections","type":"nested","normalization":"array","example":"","description":"Section information of the ELF file."},{"field":"threat.enrichments.indicator.file.elf.sections.chi2","type":"long","normalization":"","example":"","description":"Chi-square probability distribution of the section."},{"field":"threat.enrichments.indicator.file.elf.sections.entropy","type":"long","normalization":"","example":"","description":"Shannon entropy calculation from the section."},{"field":"threat.enrichments.indicator.file.elf.sections.flags","type":"keyword","normalization":"","example":"","description":"ELF Section List flags."},{"field":"threat.enrichments.indicator.file.elf.sections.name","type":"keyword","normalization":"","example":"","description":"ELF Section List name."},{"field":"threat.enrichments.indicator.file.elf.sections.physical_offset","type":"keyword","normalization":"","example":"","description":"ELF Section List offset."},{"field":"threat.enrichments.indicator.file.elf.sections.physical_size","type":"long","normalization":"","example":"","description":"ELF Section List physical size."},{"field":"threat.enrichments.indicator.file.elf.sections.type","type":"keyword","normalization":"","example":"","description":"ELF Section List type."},{"field":"threat.enrichments.indicator.file.elf.sections.virtual_address","type":"long","normalization":"","example":"","description":"ELF Section List virtual address."},{"field":"threat.enrichments.indicator.file.elf.sections.virtual_size","type":"long","normalization":"","example":"","description":"ELF Section List virtual size."},{"field":"threat.enrichments.indicator.file.elf.segments","type":"nested","normalization":"array","example":"","description":"ELF object segment list."},{"field":"threat.enrichments.indicator.file.elf.segments.sections","type":"keyword","normalization":"","example":"","description":"ELF object segment sections."},{"field":"threat.enrichments.indicator.file.elf.segments.type","type":"keyword","normalization":"","example":"","description":"ELF object segment type."},{"field":"threat.enrichments.indicator.file.elf.shared_libraries","type":"keyword","normalization":"array","example":"","description":"List of shared libraries used by this ELF object."},{"field":"threat.enrichments.indicator.file.elf.telfhash","type":"keyword","normalization":"","example":"","description":"telfhash hash for ELF file."},{"field":"threat.enrichments.indicator.file.extension","type":"keyword","normalization":"","example":"png","description":"File extension, excluding the leading dot."},{"field":"threat.enrichments.indicator.file.fork_name","type":"keyword","normalization":"","example":"Zone.Identifer","description":"A fork is additional data associated with a filesystem object."},{"field":"threat.enrichments.indicator.file.gid","type":"keyword","normalization":"","example":1001,"description":"Primary group ID (GID) of the file."},{"field":"threat.enrichments.indicator.file.group","type":"keyword","normalization":"","example":"alice","description":"Primary group name of the file."},{"field":"threat.enrichments.indicator.file.hash.md5","type":"keyword","normalization":"","example":"","description":"MD5 hash."},{"field":"threat.enrichments.indicator.file.hash.sha1","type":"keyword","normalization":"","example":"","description":"SHA1 hash."},{"field":"threat.enrichments.indicator.file.hash.sha256","type":"keyword","normalization":"","example":"","description":"SHA256 hash."},{"field":"threat.enrichments.indicator.file.hash.sha512","type":"keyword","normalization":"","example":"","description":"SHA512 hash."},{"field":"threat.enrichments.indicator.file.hash.ssdeep","type":"keyword","normalization":"","example":"","description":"SSDEEP hash."},{"field":"threat.enrichments.indicator.file.inode","type":"keyword","normalization":"","example":256383,"description":"Inode representing the file in the filesystem."},{"field":"threat.enrichments.indicator.file.mime_type","type":"keyword","normalization":"","example":"","description":"Media type of file, document, or arrangement of bytes."},{"field":"threat.enrichments.indicator.file.mode","type":"keyword","normalization":"","example":"0640","description":"Mode of the file in octal representation."},{"field":"threat.enrichments.indicator.file.mtime","type":"date","normalization":"","example":"","description":"Last time the file content was modified."},{"field":"threat.enrichments.indicator.file.name","type":"keyword","normalization":"","example":"example.png","description":"Name of the file including the extension, without the directory."},{"field":"threat.enrichments.indicator.file.owner","type":"keyword","normalization":"","example":"alice","description":"File owner's username."},{"field":"threat.enrichments.indicator.file.path","type":"keyword","normalization":"","example":"/home/alice/example.png","description":"Full path to the file, including the file name."},{"field":"threat.enrichments.indicator.file.path.text","type":"match_only_text","normalization":"","example":"/home/alice/example.png","description":"Full path to the file, including the file name."},{"field":"threat.enrichments.indicator.file.pe.architecture","type":"keyword","normalization":"","example":"x64","description":"CPU architecture target for the file."},{"field":"threat.enrichments.indicator.file.pe.company","type":"keyword","normalization":"","example":"Microsoft Corporation","description":"Internal company name of the file, provided at compile-time."},{"field":"threat.enrichments.indicator.file.pe.description","type":"keyword","normalization":"","example":"Paint","description":"Internal description of the file, provided at compile-time."},{"field":"threat.enrichments.indicator.file.pe.file_version","type":"keyword","normalization":"","example":"6.3.9600.17415","description":"Process name."},{"field":"threat.enrichments.indicator.file.pe.imphash","type":"keyword","normalization":"","example":"0c6803c4e922103c4dca5963aad36ddf","description":"A hash of the imports in a PE file."},{"field":"threat.enrichments.indicator.file.pe.original_file_name","type":"keyword","normalization":"","example":"MSPAINT.EXE","description":"Internal name of the file, provided at compile-time."},{"field":"threat.enrichments.indicator.file.pe.product","type":"keyword","normalization":"","example":"Microsoft® Windows® Operating System","description":"Internal product name of the file, provided at compile-time."},{"field":"threat.enrichments.indicator.file.size","type":"long","normalization":"","example":16384,"description":"File size in bytes."},{"field":"threat.enrichments.indicator.file.target_path","type":"keyword","normalization":"","example":"","description":"Target path for symlinks."},{"field":"threat.enrichments.indicator.file.target_path.text","type":"match_only_text","normalization":"","example":"","description":"Target path for symlinks."},{"field":"threat.enrichments.indicator.file.type","type":"keyword","normalization":"","example":"file","description":"File type (file, dir, or symlink)."},{"field":"threat.enrichments.indicator.file.uid","type":"keyword","normalization":"","example":1001,"description":"The user ID (UID) or security identifier (SID) of the file owner."},{"field":"threat.enrichments.indicator.file.x509.alternative_names","type":"keyword","normalization":"array","example":"*.elastic.co","description":"List of subject alternative names (SAN)."},{"field":"threat.enrichments.indicator.file.x509.issuer.common_name","type":"keyword","normalization":"array","example":"Example SHA2 High Assurance Server CA","description":"List of common name (CN) of issuing certificate authority."},{"field":"threat.enrichments.indicator.file.x509.issuer.country","type":"keyword","normalization":"array","example":"US","description":"List of country (C) codes"},{"field":"threat.enrichments.indicator.file.x509.issuer.distinguished_name","type":"keyword","normalization":"","example":"C=US, O=Example Inc, OU=www.example.com, CN=Example SHA2 High Assurance Server CA","description":"Distinguished name (DN) of issuing certificate authority."},{"field":"threat.enrichments.indicator.file.x509.issuer.locality","type":"keyword","normalization":"array","example":"Mountain View","description":"List of locality names (L)"},{"field":"threat.enrichments.indicator.file.x509.issuer.organization","type":"keyword","normalization":"array","example":"Example Inc","description":"List of organizations (O) of issuing certificate authority."},{"field":"threat.enrichments.indicator.file.x509.issuer.organizational_unit","type":"keyword","normalization":"array","example":"www.example.com","description":"List of organizational units (OU) of issuing certificate authority."},{"field":"threat.enrichments.indicator.file.x509.issuer.state_or_province","type":"keyword","normalization":"array","example":"California","description":"List of state or province names (ST, S, or P)"},{"field":"threat.enrichments.indicator.file.x509.not_after","type":"date","normalization":"","example":"2020-07-16 03:15:39+00:00","description":"Time at which the certificate is no longer considered valid."},{"field":"threat.enrichments.indicator.file.x509.not_before","type":"date","normalization":"","example":"2019-08-16 01:40:25+00:00","description":"Time at which the certificate is first considered valid."},{"field":"threat.enrichments.indicator.file.x509.public_key_algorithm","type":"keyword","normalization":"","example":"RSA","description":"Algorithm used to generate the public key."},{"field":"threat.enrichments.indicator.file.x509.public_key_curve","type":"keyword","normalization":"","example":"nistp521","description":"The curve used by the elliptic curve public key algorithm. This is algorithm specific."},{"field":"threat.enrichments.indicator.file.x509.public_key_exponent","type":"long","normalization":"","example":65537,"description":"Exponent used to derive the public key. This is algorithm specific."},{"field":"threat.enrichments.indicator.file.x509.public_key_size","type":"long","normalization":"","example":2048,"description":"The size of the public key space in bits."},{"field":"threat.enrichments.indicator.file.x509.serial_number","type":"keyword","normalization":"","example":"55FBB9C7DEBF09809D12CCAA","description":"Unique serial number issued by the certificate authority."},{"field":"threat.enrichments.indicator.file.x509.signature_algorithm","type":"keyword","normalization":"","example":"SHA256-RSA","description":"Identifier for certificate signature algorithm."},{"field":"threat.enrichments.indicator.file.x509.subject.common_name","type":"keyword","normalization":"array","example":"shared.global.example.net","description":"List of common names (CN) of subject."},{"field":"threat.enrichments.indicator.file.x509.subject.country","type":"keyword","normalization":"array","example":"US","description":"List of country (C) code"},{"field":"threat.enrichments.indicator.file.x509.subject.distinguished_name","type":"keyword","normalization":"","example":"C=US, ST=California, L=San Francisco, O=Example, Inc., CN=shared.global.example.net","description":"Distinguished name (DN) of the certificate subject entity."},{"field":"threat.enrichments.indicator.file.x509.subject.locality","type":"keyword","normalization":"array","example":"San Francisco","description":"List of locality names (L)"},{"field":"threat.enrichments.indicator.file.x509.subject.organization","type":"keyword","normalization":"array","example":"Example, Inc.","description":"List of organizations (O) of subject."},{"field":"threat.enrichments.indicator.file.x509.subject.organizational_unit","type":"keyword","normalization":"array","example":"","description":"List of organizational units (OU) of subject."},{"field":"threat.enrichments.indicator.file.x509.subject.state_or_province","type":"keyword","normalization":"array","example":"California","description":"List of state or province names (ST, S, or P)"},{"field":"threat.enrichments.indicator.file.x509.version_number","type":"keyword","normalization":"","example":3,"description":"Version of x509 format."},{"field":"threat.enrichments.indicator.first_seen","type":"date","normalization":"","example":"2020-11-05T17:25:47.000Z","description":"Date/time indicator was first reported."},{"field":"threat.enrichments.indicator.geo.city_name","type":"keyword","normalization":"","example":"Montreal","description":"City name."},{"field":"threat.enrichments.indicator.geo.continent_code","type":"keyword","normalization":"","example":"NA","description":"Continent code."},{"field":"threat.enrichments.indicator.geo.continent_name","type":"keyword","normalization":"","example":"North America","description":"Name of the continent."},{"field":"threat.enrichments.indicator.geo.country_iso_code","type":"keyword","normalization":"","example":"CA","description":"Country ISO code."},{"field":"threat.enrichments.indicator.geo.country_name","type":"keyword","normalization":"","example":"Canada","description":"Country name."},{"field":"threat.enrichments.indicator.geo.location","type":"geo_point","normalization":"","example":{"lon":-73.61483,"lat":45.505918},"description":"Longitude and latitude."},{"field":"threat.enrichments.indicator.geo.name","type":"keyword","normalization":"","example":"boston-dc","description":"User-defined description of a location."},{"field":"threat.enrichments.indicator.geo.postal_code","type":"keyword","normalization":"","example":94040,"description":"Postal code."},{"field":"threat.enrichments.indicator.geo.region_iso_code","type":"keyword","normalization":"","example":"CA-QC","description":"Region ISO code."},{"field":"threat.enrichments.indicator.geo.region_name","type":"keyword","normalization":"","example":"Quebec","description":"Region name."},{"field":"threat.enrichments.indicator.geo.timezone","type":"keyword","normalization":"","example":"America/Argentina/Buenos_Aires","description":"Time zone."},{"field":"threat.enrichments.indicator.ip","type":"ip","normalization":"","example":"1.2.3.4","description":"Indicator IP address"},{"field":"threat.enrichments.indicator.last_seen","type":"date","normalization":"","example":"2020-11-05T17:25:47.000Z","description":"Date/time indicator was last reported."},{"field":"threat.enrichments.indicator.marking.tlp","type":"keyword","normalization":"","example":"White","description":"Indicator TLP marking"},{"field":"threat.enrichments.indicator.modified_at","type":"date","normalization":"","example":"2020-11-05T17:25:47.000Z","description":"Date/time indicator was last updated."},{"field":"threat.enrichments.indicator.port","type":"long","normalization":"","example":443,"description":"Indicator port"},{"field":"threat.enrichments.indicator.provider","type":"keyword","normalization":"","example":"lrz_urlhaus","description":"Indicator provider"},{"field":"threat.enrichments.indicator.reference","type":"keyword","normalization":"","example":"https://system.example.com/indicator/0001234","description":"Indicator reference URL"},{"field":"threat.enrichments.indicator.registry.data.bytes","type":"keyword","normalization":"","example":"ZQBuAC0AVQBTAAAAZQBuAAAAAAA=","description":"Original bytes written with base64 encoding."},{"field":"threat.enrichments.indicator.registry.data.strings","type":"wildcard","normalization":"array","example":"[\"C:\\rta\\red_ttp\\bin\\myapp.exe\"]","description":"List of strings representing what was written to the registry."},{"field":"threat.enrichments.indicator.registry.data.type","type":"keyword","normalization":"","example":"REG_SZ","description":"Standard registry type for encoding contents"},{"field":"threat.enrichments.indicator.registry.hive","type":"keyword","normalization":"","example":"HKLM","description":"Abbreviated name for the hive."},{"field":"threat.enrichments.indicator.registry.key","type":"keyword","normalization":"","example":"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Image File Execution Options\\winword.exe","description":"Hive-relative path of keys."},{"field":"threat.enrichments.indicator.registry.path","type":"keyword","normalization":"","example":"HKLM\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Image File Execution Options\\winword.exe\\Debugger","description":"Full path, including hive, key and value"},{"field":"threat.enrichments.indicator.registry.value","type":"keyword","normalization":"","example":"Debugger","description":"Name of the value written."},{"field":"threat.enrichments.indicator.scanner_stats","type":"long","normalization":"","example":4,"description":"Scanner statistics"},{"field":"threat.enrichments.indicator.sightings","type":"long","normalization":"","example":20,"description":"Number of times indicator observed"},{"field":"threat.enrichments.indicator.type","type":"keyword","normalization":"","example":"ipv4-addr","description":"Type of indicator"},{"field":"threat.enrichments.indicator.url.domain","type":"keyword","normalization":"","example":"www.elastic.co","description":"Domain of the url."},{"field":"threat.enrichments.indicator.url.extension","type":"keyword","normalization":"","example":"png","description":"File extension from the request url, excluding the leading dot."},{"field":"threat.enrichments.indicator.url.fragment","type":"keyword","normalization":"","example":"","description":"Portion of the url after the `#`."},{"field":"threat.enrichments.indicator.url.full","type":"wildcard","normalization":"","example":"https://www.elastic.co:443/search?q=elasticsearch#top","description":"Full unparsed URL."},{"field":"threat.enrichments.indicator.url.full.text","type":"match_only_text","normalization":"","example":"https://www.elastic.co:443/search?q=elasticsearch#top","description":"Full unparsed URL."},{"field":"threat.enrichments.indicator.url.original","type":"wildcard","normalization":"","example":"https://www.elastic.co:443/search?q=elasticsearch#top or /search?q=elasticsearch","description":"Unmodified original url as seen in the event source."},{"field":"threat.enrichments.indicator.url.original.text","type":"match_only_text","normalization":"","example":"https://www.elastic.co:443/search?q=elasticsearch#top or /search?q=elasticsearch","description":"Unmodified original url as seen in the event source."},{"field":"threat.enrichments.indicator.url.password","type":"keyword","normalization":"","example":"","description":"Password of the request."},{"field":"threat.enrichments.indicator.url.path","type":"wildcard","normalization":"","example":"","description":"Path of the request, such as \"/search\"."},{"field":"threat.enrichments.indicator.url.port","type":"long","normalization":"","example":443,"description":"Port of the request, such as 443."},{"field":"threat.enrichments.indicator.url.query","type":"keyword","normalization":"","example":"","description":"Query string of the request."},{"field":"threat.enrichments.indicator.url.registered_domain","type":"keyword","normalization":"","example":"example.com","description":"The highest registered url domain, stripped of the subdomain."},{"field":"threat.enrichments.indicator.url.scheme","type":"keyword","normalization":"","example":"https","description":"Scheme of the url."},{"field":"threat.enrichments.indicator.url.subdomain","type":"keyword","normalization":"","example":"east","description":"The subdomain of the domain."},{"field":"threat.enrichments.indicator.url.top_level_domain","type":"keyword","normalization":"","example":"co.uk","description":"The effective top level domain (com, org, net, co.uk)."},{"field":"threat.enrichments.indicator.url.username","type":"keyword","normalization":"","example":"","description":"Username of the request."},{"field":"threat.enrichments.indicator.x509.alternative_names","type":"keyword","normalization":"array","example":"*.elastic.co","description":"List of subject alternative names (SAN)."},{"field":"threat.enrichments.indicator.x509.issuer.common_name","type":"keyword","normalization":"array","example":"Example SHA2 High Assurance Server CA","description":"List of common name (CN) of issuing certificate authority."},{"field":"threat.enrichments.indicator.x509.issuer.country","type":"keyword","normalization":"array","example":"US","description":"List of country (C) codes"},{"field":"threat.enrichments.indicator.x509.issuer.distinguished_name","type":"keyword","normalization":"","example":"C=US, O=Example Inc, OU=www.example.com, CN=Example SHA2 High Assurance Server CA","description":"Distinguished name (DN) of issuing certificate authority."},{"field":"threat.enrichments.indicator.x509.issuer.locality","type":"keyword","normalization":"array","example":"Mountain View","description":"List of locality names (L)"},{"field":"threat.enrichments.indicator.x509.issuer.organization","type":"keyword","normalization":"array","example":"Example Inc","description":"List of organizations (O) of issuing certificate authority."},{"field":"threat.enrichments.indicator.x509.issuer.organizational_unit","type":"keyword","normalization":"array","example":"www.example.com","description":"List of organizational units (OU) of issuing certificate authority."},{"field":"threat.enrichments.indicator.x509.issuer.state_or_province","type":"keyword","normalization":"array","example":"California","description":"List of state or province names (ST, S, or P)"},{"field":"threat.enrichments.indicator.x509.not_after","type":"date","normalization":"","example":"2020-07-16 03:15:39+00:00","description":"Time at which the certificate is no longer considered valid."},{"field":"threat.enrichments.indicator.x509.not_before","type":"date","normalization":"","example":"2019-08-16 01:40:25+00:00","description":"Time at which the certificate is first considered valid."},{"field":"threat.enrichments.indicator.x509.public_key_algorithm","type":"keyword","normalization":"","example":"RSA","description":"Algorithm used to generate the public key."},{"field":"threat.enrichments.indicator.x509.public_key_curve","type":"keyword","normalization":"","example":"nistp521","description":"The curve used by the elliptic curve public key algorithm. This is algorithm specific."},{"field":"threat.enrichments.indicator.x509.public_key_exponent","type":"long","normalization":"","example":65537,"description":"Exponent used to derive the public key. This is algorithm specific."},{"field":"threat.enrichments.indicator.x509.public_key_size","type":"long","normalization":"","example":2048,"description":"The size of the public key space in bits."},{"field":"threat.enrichments.indicator.x509.serial_number","type":"keyword","normalization":"","example":"55FBB9C7DEBF09809D12CCAA","description":"Unique serial number issued by the certificate authority."},{"field":"threat.enrichments.indicator.x509.signature_algorithm","type":"keyword","normalization":"","example":"SHA256-RSA","description":"Identifier for certificate signature algorithm."},{"field":"threat.enrichments.indicator.x509.subject.common_name","type":"keyword","normalization":"array","example":"shared.global.example.net","description":"List of common names (CN) of subject."},{"field":"threat.enrichments.indicator.x509.subject.country","type":"keyword","normalization":"array","example":"US","description":"List of country (C) code"},{"field":"threat.enrichments.indicator.x509.subject.distinguished_name","type":"keyword","normalization":"","example":"C=US, ST=California, L=San Francisco, O=Example, Inc., CN=shared.global.example.net","description":"Distinguished name (DN) of the certificate subject entity."},{"field":"threat.enrichments.indicator.x509.subject.locality","type":"keyword","normalization":"array","example":"San Francisco","description":"List of locality names (L)"},{"field":"threat.enrichments.indicator.x509.subject.organization","type":"keyword","normalization":"array","example":"Example, Inc.","description":"List of organizations (O) of subject."},{"field":"threat.enrichments.indicator.x509.subject.organizational_unit","type":"keyword","normalization":"array","example":"","description":"List of organizational units (OU) of subject."},{"field":"threat.enrichments.indicator.x509.subject.state_or_province","type":"keyword","normalization":"array","example":"California","description":"List of state or province names (ST, S, or P)"},{"field":"threat.enrichments.indicator.x509.version_number","type":"keyword","normalization":"","example":3,"description":"Version of x509 format."},{"field":"threat.enrichments.matched.atomic","type":"keyword","normalization":"","example":"bad-domain.com","description":"Matched indicator value"},{"field":"threat.enrichments.matched.field","type":"keyword","normalization":"","example":"file.hash.sha256","description":"Matched indicator field"},{"field":"threat.enrichments.matched.id","type":"keyword","normalization":"","example":"ff93aee5-86a1-4a61-b0e6-0cdc313d01b5","description":"Matched indicator identifier"},{"field":"threat.enrichments.matched.index","type":"keyword","normalization":"","example":"filebeat-8.0.0-2021.05.23-000011","description":"Matched indicator index"},{"field":"threat.enrichments.matched.type","type":"keyword","normalization":"","example":"indicator_match_rule","description":"Type of indicator match"},{"field":"threat.framework","type":"keyword","normalization":"","example":"MITRE ATT&CK","description":"Threat classification framework."},{"field":"threat.group.alias","type":"keyword","normalization":"array","example":["Magecart Group 6"],"description":"Alias of the group."},{"field":"threat.group.id","type":"keyword","normalization":"","example":"G0037","description":"ID of the group."},{"field":"threat.group.name","type":"keyword","normalization":"","example":"FIN6","description":"Name of the group."},{"field":"threat.group.reference","type":"keyword","normalization":"","example":"https://attack.mitre.org/groups/G0037/","description":"Reference URL of the group."},{"field":"threat.indicator.as.number","type":"long","normalization":"","example":15169,"description":"Unique number allocated to the autonomous system."},{"field":"threat.indicator.as.organization.name","type":"keyword","normalization":"","example":"Google LLC","description":"Organization name."},{"field":"threat.indicator.as.organization.name.text","type":"match_only_text","normalization":"","example":"Google LLC","description":"Organization name."},{"field":"threat.indicator.confidence","type":"keyword","normalization":"","example":"High","description":"Indicator confidence rating"},{"field":"threat.indicator.description","type":"keyword","normalization":"","example":"IP x.x.x.x was observed delivering the Angler EK.","description":"Indicator description"},{"field":"threat.indicator.email.address","type":"keyword","normalization":"","example":"phish@example.com","description":"Indicator email address"},{"field":"threat.indicator.file.accessed","type":"date","normalization":"","example":"","description":"Last time the file was accessed."},{"field":"threat.indicator.file.attributes","type":"keyword","normalization":"array","example":["readonly","system"],"description":"Array of file attributes."},{"field":"threat.indicator.file.code_signature.digest_algorithm","type":"keyword","normalization":"","example":"sha256","description":"Hashing algorithm used to sign the process."},{"field":"threat.indicator.file.code_signature.exists","type":"boolean","normalization":"","example":true,"description":"Boolean to capture if a signature is present."},{"field":"threat.indicator.file.code_signature.signing_id","type":"keyword","normalization":"","example":"com.apple.xpc.proxy","description":"The identifier used to sign the process."},{"field":"threat.indicator.file.code_signature.status","type":"keyword","normalization":"","example":"ERROR_UNTRUSTED_ROOT","description":"Additional information about the certificate status."},{"field":"threat.indicator.file.code_signature.subject_name","type":"keyword","normalization":"","example":"Microsoft Corporation","description":"Subject name of the code signer"},{"field":"threat.indicator.file.code_signature.team_id","type":"keyword","normalization":"","example":"EQHXZ8M8AV","description":"The team identifier used to sign the process."},{"field":"threat.indicator.file.code_signature.timestamp","type":"date","normalization":"","example":"2021-01-01T12:10:30Z","description":"When the signature was generated and signed."},{"field":"threat.indicator.file.code_signature.trusted","type":"boolean","normalization":"","example":true,"description":"Stores the trust status of the certificate chain."},{"field":"threat.indicator.file.code_signature.valid","type":"boolean","normalization":"","example":true,"description":"Boolean to capture if the digital signature is verified against the binary content."},{"field":"threat.indicator.file.created","type":"date","normalization":"","example":"","description":"File creation time."},{"field":"threat.indicator.file.ctime","type":"date","normalization":"","example":"","description":"Last time the file attributes or metadata changed."},{"field":"threat.indicator.file.device","type":"keyword","normalization":"","example":"sda","description":"Device that is the source of the file."},{"field":"threat.indicator.file.directory","type":"keyword","normalization":"","example":"/home/alice","description":"Directory where the file is located."},{"field":"threat.indicator.file.drive_letter","type":"keyword","normalization":"","example":"C","description":"Drive letter where the file is located."},{"field":"threat.indicator.file.elf.architecture","type":"keyword","normalization":"","example":"x86-64","description":"Machine architecture of the ELF file."},{"field":"threat.indicator.file.elf.byte_order","type":"keyword","normalization":"","example":"Little Endian","description":"Byte sequence of ELF file."},{"field":"threat.indicator.file.elf.cpu_type","type":"keyword","normalization":"","example":"Intel","description":"CPU type of the ELF file."},{"field":"threat.indicator.file.elf.creation_date","type":"date","normalization":"","example":"","description":"Build or compile date."},{"field":"threat.indicator.file.elf.exports","type":"flattened","normalization":"array","example":"","description":"List of exported element names and types."},{"field":"threat.indicator.file.elf.header.abi_version","type":"keyword","normalization":"","example":"","description":"Version of the ELF Application Binary Interface (ABI)."},{"field":"threat.indicator.file.elf.header.class","type":"keyword","normalization":"","example":"","description":"Header class of the ELF file."},{"field":"threat.indicator.file.elf.header.data","type":"keyword","normalization":"","example":"","description":"Data table of the ELF header."},{"field":"threat.indicator.file.elf.header.entrypoint","type":"long","normalization":"","example":"","description":"Header entrypoint of the ELF file."},{"field":"threat.indicator.file.elf.header.object_version","type":"keyword","normalization":"","example":"","description":"0x1\" for original ELF files."},{"field":"threat.indicator.file.elf.header.os_abi","type":"keyword","normalization":"","example":"","description":"Application Binary Interface (ABI) of the Linux OS."},{"field":"threat.indicator.file.elf.header.type","type":"keyword","normalization":"","example":"","description":"Header type of the ELF file."},{"field":"threat.indicator.file.elf.header.version","type":"keyword","normalization":"","example":"","description":"Version of the ELF header."},{"field":"threat.indicator.file.elf.imports","type":"flattened","normalization":"array","example":"","description":"List of imported element names and types."},{"field":"threat.indicator.file.elf.sections","type":"nested","normalization":"array","example":"","description":"Section information of the ELF file."},{"field":"threat.indicator.file.elf.sections.chi2","type":"long","normalization":"","example":"","description":"Chi-square probability distribution of the section."},{"field":"threat.indicator.file.elf.sections.entropy","type":"long","normalization":"","example":"","description":"Shannon entropy calculation from the section."},{"field":"threat.indicator.file.elf.sections.flags","type":"keyword","normalization":"","example":"","description":"ELF Section List flags."},{"field":"threat.indicator.file.elf.sections.name","type":"keyword","normalization":"","example":"","description":"ELF Section List name."},{"field":"threat.indicator.file.elf.sections.physical_offset","type":"keyword","normalization":"","example":"","description":"ELF Section List offset."},{"field":"threat.indicator.file.elf.sections.physical_size","type":"long","normalization":"","example":"","description":"ELF Section List physical size."},{"field":"threat.indicator.file.elf.sections.type","type":"keyword","normalization":"","example":"","description":"ELF Section List type."},{"field":"threat.indicator.file.elf.sections.virtual_address","type":"long","normalization":"","example":"","description":"ELF Section List virtual address."},{"field":"threat.indicator.file.elf.sections.virtual_size","type":"long","normalization":"","example":"","description":"ELF Section List virtual size."},{"field":"threat.indicator.file.elf.segments","type":"nested","normalization":"array","example":"","description":"ELF object segment list."},{"field":"threat.indicator.file.elf.segments.sections","type":"keyword","normalization":"","example":"","description":"ELF object segment sections."},{"field":"threat.indicator.file.elf.segments.type","type":"keyword","normalization":"","example":"","description":"ELF object segment type."},{"field":"threat.indicator.file.elf.shared_libraries","type":"keyword","normalization":"array","example":"","description":"List of shared libraries used by this ELF object."},{"field":"threat.indicator.file.elf.telfhash","type":"keyword","normalization":"","example":"","description":"telfhash hash for ELF file."},{"field":"threat.indicator.file.extension","type":"keyword","normalization":"","example":"png","description":"File extension, excluding the leading dot."},{"field":"threat.indicator.file.fork_name","type":"keyword","normalization":"","example":"Zone.Identifer","description":"A fork is additional data associated with a filesystem object."},{"field":"threat.indicator.file.gid","type":"keyword","normalization":"","example":1001,"description":"Primary group ID (GID) of the file."},{"field":"threat.indicator.file.group","type":"keyword","normalization":"","example":"alice","description":"Primary group name of the file."},{"field":"threat.indicator.file.hash.md5","type":"keyword","normalization":"","example":"","description":"MD5 hash."},{"field":"threat.indicator.file.hash.sha1","type":"keyword","normalization":"","example":"","description":"SHA1 hash."},{"field":"threat.indicator.file.hash.sha256","type":"keyword","normalization":"","example":"","description":"SHA256 hash."},{"field":"threat.indicator.file.hash.sha512","type":"keyword","normalization":"","example":"","description":"SHA512 hash."},{"field":"threat.indicator.file.hash.ssdeep","type":"keyword","normalization":"","example":"","description":"SSDEEP hash."},{"field":"threat.indicator.file.inode","type":"keyword","normalization":"","example":256383,"description":"Inode representing the file in the filesystem."},{"field":"threat.indicator.file.mime_type","type":"keyword","normalization":"","example":"","description":"Media type of file, document, or arrangement of bytes."},{"field":"threat.indicator.file.mode","type":"keyword","normalization":"","example":"0640","description":"Mode of the file in octal representation."},{"field":"threat.indicator.file.mtime","type":"date","normalization":"","example":"","description":"Last time the file content was modified."},{"field":"threat.indicator.file.name","type":"keyword","normalization":"","example":"example.png","description":"Name of the file including the extension, without the directory."},{"field":"threat.indicator.file.owner","type":"keyword","normalization":"","example":"alice","description":"File owner's username."},{"field":"threat.indicator.file.path","type":"keyword","normalization":"","example":"/home/alice/example.png","description":"Full path to the file, including the file name."},{"field":"threat.indicator.file.path.text","type":"match_only_text","normalization":"","example":"/home/alice/example.png","description":"Full path to the file, including the file name."},{"field":"threat.indicator.file.pe.architecture","type":"keyword","normalization":"","example":"x64","description":"CPU architecture target for the file."},{"field":"threat.indicator.file.pe.company","type":"keyword","normalization":"","example":"Microsoft Corporation","description":"Internal company name of the file, provided at compile-time."},{"field":"threat.indicator.file.pe.description","type":"keyword","normalization":"","example":"Paint","description":"Internal description of the file, provided at compile-time."},{"field":"threat.indicator.file.pe.file_version","type":"keyword","normalization":"","example":"6.3.9600.17415","description":"Process name."},{"field":"threat.indicator.file.pe.imphash","type":"keyword","normalization":"","example":"0c6803c4e922103c4dca5963aad36ddf","description":"A hash of the imports in a PE file."},{"field":"threat.indicator.file.pe.original_file_name","type":"keyword","normalization":"","example":"MSPAINT.EXE","description":"Internal name of the file, provided at compile-time."},{"field":"threat.indicator.file.pe.product","type":"keyword","normalization":"","example":"Microsoft® Windows® Operating System","description":"Internal product name of the file, provided at compile-time."},{"field":"threat.indicator.file.size","type":"long","normalization":"","example":16384,"description":"File size in bytes."},{"field":"threat.indicator.file.target_path","type":"keyword","normalization":"","example":"","description":"Target path for symlinks."},{"field":"threat.indicator.file.target_path.text","type":"match_only_text","normalization":"","example":"","description":"Target path for symlinks."},{"field":"threat.indicator.file.type","type":"keyword","normalization":"","example":"file","description":"File type (file, dir, or symlink)."},{"field":"threat.indicator.file.uid","type":"keyword","normalization":"","example":1001,"description":"The user ID (UID) or security identifier (SID) of the file owner."},{"field":"threat.indicator.file.x509.alternative_names","type":"keyword","normalization":"array","example":"*.elastic.co","description":"List of subject alternative names (SAN)."},{"field":"threat.indicator.file.x509.issuer.common_name","type":"keyword","normalization":"array","example":"Example SHA2 High Assurance Server CA","description":"List of common name (CN) of issuing certificate authority."},{"field":"threat.indicator.file.x509.issuer.country","type":"keyword","normalization":"array","example":"US","description":"List of country (C) codes"},{"field":"threat.indicator.file.x509.issuer.distinguished_name","type":"keyword","normalization":"","example":"C=US, O=Example Inc, OU=www.example.com, CN=Example SHA2 High Assurance Server CA","description":"Distinguished name (DN) of issuing certificate authority."},{"field":"threat.indicator.file.x509.issuer.locality","type":"keyword","normalization":"array","example":"Mountain View","description":"List of locality names (L)"},{"field":"threat.indicator.file.x509.issuer.organization","type":"keyword","normalization":"array","example":"Example Inc","description":"List of organizations (O) of issuing certificate authority."},{"field":"threat.indicator.file.x509.issuer.organizational_unit","type":"keyword","normalization":"array","example":"www.example.com","description":"List of organizational units (OU) of issuing certificate authority."},{"field":"threat.indicator.file.x509.issuer.state_or_province","type":"keyword","normalization":"array","example":"California","description":"List of state or province names (ST, S, or P)"},{"field":"threat.indicator.file.x509.not_after","type":"date","normalization":"","example":"2020-07-16 03:15:39+00:00","description":"Time at which the certificate is no longer considered valid."},{"field":"threat.indicator.file.x509.not_before","type":"date","normalization":"","example":"2019-08-16 01:40:25+00:00","description":"Time at which the certificate is first considered valid."},{"field":"threat.indicator.file.x509.public_key_algorithm","type":"keyword","normalization":"","example":"RSA","description":"Algorithm used to generate the public key."},{"field":"threat.indicator.file.x509.public_key_curve","type":"keyword","normalization":"","example":"nistp521","description":"The curve used by the elliptic curve public key algorithm. This is algorithm specific."},{"field":"threat.indicator.file.x509.public_key_exponent","type":"long","normalization":"","example":65537,"description":"Exponent used to derive the public key. This is algorithm specific."},{"field":"threat.indicator.file.x509.public_key_size","type":"long","normalization":"","example":2048,"description":"The size of the public key space in bits."},{"field":"threat.indicator.file.x509.serial_number","type":"keyword","normalization":"","example":"55FBB9C7DEBF09809D12CCAA","description":"Unique serial number issued by the certificate authority."},{"field":"threat.indicator.file.x509.signature_algorithm","type":"keyword","normalization":"","example":"SHA256-RSA","description":"Identifier for certificate signature algorithm."},{"field":"threat.indicator.file.x509.subject.common_name","type":"keyword","normalization":"array","example":"shared.global.example.net","description":"List of common names (CN) of subject."},{"field":"threat.indicator.file.x509.subject.country","type":"keyword","normalization":"array","example":"US","description":"List of country (C) code"},{"field":"threat.indicator.file.x509.subject.distinguished_name","type":"keyword","normalization":"","example":"C=US, ST=California, L=San Francisco, O=Example, Inc., CN=shared.global.example.net","description":"Distinguished name (DN) of the certificate subject entity."},{"field":"threat.indicator.file.x509.subject.locality","type":"keyword","normalization":"array","example":"San Francisco","description":"List of locality names (L)"},{"field":"threat.indicator.file.x509.subject.organization","type":"keyword","normalization":"array","example":"Example, Inc.","description":"List of organizations (O) of subject."},{"field":"threat.indicator.file.x509.subject.organizational_unit","type":"keyword","normalization":"array","example":"","description":"List of organizational units (OU) of subject."},{"field":"threat.indicator.file.x509.subject.state_or_province","type":"keyword","normalization":"array","example":"California","description":"List of state or province names (ST, S, or P)"},{"field":"threat.indicator.file.x509.version_number","type":"keyword","normalization":"","example":3,"description":"Version of x509 format."},{"field":"threat.indicator.first_seen","type":"date","normalization":"","example":"2020-11-05T17:25:47.000Z","description":"Date/time indicator was first reported."},{"field":"threat.indicator.geo.city_name","type":"keyword","normalization":"","example":"Montreal","description":"City name."},{"field":"threat.indicator.geo.continent_code","type":"keyword","normalization":"","example":"NA","description":"Continent code."},{"field":"threat.indicator.geo.continent_name","type":"keyword","normalization":"","example":"North America","description":"Name of the continent."},{"field":"threat.indicator.geo.country_iso_code","type":"keyword","normalization":"","example":"CA","description":"Country ISO code."},{"field":"threat.indicator.geo.country_name","type":"keyword","normalization":"","example":"Canada","description":"Country name."},{"field":"threat.indicator.geo.location","type":"geo_point","normalization":"","example":{"lon":-73.61483,"lat":45.505918},"description":"Longitude and latitude."},{"field":"threat.indicator.geo.name","type":"keyword","normalization":"","example":"boston-dc","description":"User-defined description of a location."},{"field":"threat.indicator.geo.postal_code","type":"keyword","normalization":"","example":94040,"description":"Postal code."},{"field":"threat.indicator.geo.region_iso_code","type":"keyword","normalization":"","example":"CA-QC","description":"Region ISO code."},{"field":"threat.indicator.geo.region_name","type":"keyword","normalization":"","example":"Quebec","description":"Region name."},{"field":"threat.indicator.geo.timezone","type":"keyword","normalization":"","example":"America/Argentina/Buenos_Aires","description":"Time zone."},{"field":"threat.indicator.ip","type":"ip","normalization":"","example":"1.2.3.4","description":"Indicator IP address"},{"field":"threat.indicator.last_seen","type":"date","normalization":"","example":"2020-11-05T17:25:47.000Z","description":"Date/time indicator was last reported."},{"field":"threat.indicator.marking.tlp","type":"keyword","normalization":"","example":"WHITE","description":"Indicator TLP marking"},{"field":"threat.indicator.modified_at","type":"date","normalization":"","example":"2020-11-05T17:25:47.000Z","description":"Date/time indicator was last updated."},{"field":"threat.indicator.port","type":"long","normalization":"","example":443,"description":"Indicator port"},{"field":"threat.indicator.provider","type":"keyword","normalization":"","example":"lrz_urlhaus","description":"Indicator provider"},{"field":"threat.indicator.reference","type":"keyword","normalization":"","example":"https://system.example.com/indicator/0001234","description":"Indicator reference URL"},{"field":"threat.indicator.registry.data.bytes","type":"keyword","normalization":"","example":"ZQBuAC0AVQBTAAAAZQBuAAAAAAA=","description":"Original bytes written with base64 encoding."},{"field":"threat.indicator.registry.data.strings","type":"wildcard","normalization":"array","example":"[\"C:\\rta\\red_ttp\\bin\\myapp.exe\"]","description":"List of strings representing what was written to the registry."},{"field":"threat.indicator.registry.data.type","type":"keyword","normalization":"","example":"REG_SZ","description":"Standard registry type for encoding contents"},{"field":"threat.indicator.registry.hive","type":"keyword","normalization":"","example":"HKLM","description":"Abbreviated name for the hive."},{"field":"threat.indicator.registry.key","type":"keyword","normalization":"","example":"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Image File Execution Options\\winword.exe","description":"Hive-relative path of keys."},{"field":"threat.indicator.registry.path","type":"keyword","normalization":"","example":"HKLM\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Image File Execution Options\\winword.exe\\Debugger","description":"Full path, including hive, key and value"},{"field":"threat.indicator.registry.value","type":"keyword","normalization":"","example":"Debugger","description":"Name of the value written."},{"field":"threat.indicator.scanner_stats","type":"long","normalization":"","example":4,"description":"Scanner statistics"},{"field":"threat.indicator.sightings","type":"long","normalization":"","example":20,"description":"Number of times indicator observed"},{"field":"threat.indicator.type","type":"keyword","normalization":"","example":"ipv4-addr","description":"Type of indicator"},{"field":"threat.indicator.url.domain","type":"keyword","normalization":"","example":"www.elastic.co","description":"Domain of the url."},{"field":"threat.indicator.url.extension","type":"keyword","normalization":"","example":"png","description":"File extension from the request url, excluding the leading dot."},{"field":"threat.indicator.url.fragment","type":"keyword","normalization":"","example":"","description":"Portion of the url after the `#`."},{"field":"threat.indicator.url.full","type":"wildcard","normalization":"","example":"https://www.elastic.co:443/search?q=elasticsearch#top","description":"Full unparsed URL."},{"field":"threat.indicator.url.full.text","type":"match_only_text","normalization":"","example":"https://www.elastic.co:443/search?q=elasticsearch#top","description":"Full unparsed URL."},{"field":"threat.indicator.url.original","type":"wildcard","normalization":"","example":"https://www.elastic.co:443/search?q=elasticsearch#top or /search?q=elasticsearch","description":"Unmodified original url as seen in the event source."},{"field":"threat.indicator.url.original.text","type":"match_only_text","normalization":"","example":"https://www.elastic.co:443/search?q=elasticsearch#top or /search?q=elasticsearch","description":"Unmodified original url as seen in the event source."},{"field":"threat.indicator.url.password","type":"keyword","normalization":"","example":"","description":"Password of the request."},{"field":"threat.indicator.url.path","type":"wildcard","normalization":"","example":"","description":"Path of the request, such as \"/search\"."},{"field":"threat.indicator.url.port","type":"long","normalization":"","example":443,"description":"Port of the request, such as 443."},{"field":"threat.indicator.url.query","type":"keyword","normalization":"","example":"","description":"Query string of the request."},{"field":"threat.indicator.url.registered_domain","type":"keyword","normalization":"","example":"example.com","description":"The highest registered url domain, stripped of the subdomain."},{"field":"threat.indicator.url.scheme","type":"keyword","normalization":"","example":"https","description":"Scheme of the url."},{"field":"threat.indicator.url.subdomain","type":"keyword","normalization":"","example":"east","description":"The subdomain of the domain."},{"field":"threat.indicator.url.top_level_domain","type":"keyword","normalization":"","example":"co.uk","description":"The effective top level domain (com, org, net, co.uk)."},{"field":"threat.indicator.url.username","type":"keyword","normalization":"","example":"","description":"Username of the request."},{"field":"threat.indicator.x509.alternative_names","type":"keyword","normalization":"array","example":"*.elastic.co","description":"List of subject alternative names (SAN)."},{"field":"threat.indicator.x509.issuer.common_name","type":"keyword","normalization":"array","example":"Example SHA2 High Assurance Server CA","description":"List of common name (CN) of issuing certificate authority."},{"field":"threat.indicator.x509.issuer.country","type":"keyword","normalization":"array","example":"US","description":"List of country (C) codes"},{"field":"threat.indicator.x509.issuer.distinguished_name","type":"keyword","normalization":"","example":"C=US, O=Example Inc, OU=www.example.com, CN=Example SHA2 High Assurance Server CA","description":"Distinguished name (DN) of issuing certificate authority."},{"field":"threat.indicator.x509.issuer.locality","type":"keyword","normalization":"array","example":"Mountain View","description":"List of locality names (L)"},{"field":"threat.indicator.x509.issuer.organization","type":"keyword","normalization":"array","example":"Example Inc","description":"List of organizations (O) of issuing certificate authority."},{"field":"threat.indicator.x509.issuer.organizational_unit","type":"keyword","normalization":"array","example":"www.example.com","description":"List of organizational units (OU) of issuing certificate authority."},{"field":"threat.indicator.x509.issuer.state_or_province","type":"keyword","normalization":"array","example":"California","description":"List of state or province names (ST, S, or P)"},{"field":"threat.indicator.x509.not_after","type":"date","normalization":"","example":"2020-07-16 03:15:39+00:00","description":"Time at which the certificate is no longer considered valid."},{"field":"threat.indicator.x509.not_before","type":"date","normalization":"","example":"2019-08-16 01:40:25+00:00","description":"Time at which the certificate is first considered valid."},{"field":"threat.indicator.x509.public_key_algorithm","type":"keyword","normalization":"","example":"RSA","description":"Algorithm used to generate the public key."},{"field":"threat.indicator.x509.public_key_curve","type":"keyword","normalization":"","example":"nistp521","description":"The curve used by the elliptic curve public key algorithm. This is algorithm specific."},{"field":"threat.indicator.x509.public_key_exponent","type":"long","normalization":"","example":65537,"description":"Exponent used to derive the public key. This is algorithm specific."},{"field":"threat.indicator.x509.public_key_size","type":"long","normalization":"","example":2048,"description":"The size of the public key space in bits."},{"field":"threat.indicator.x509.serial_number","type":"keyword","normalization":"","example":"55FBB9C7DEBF09809D12CCAA","description":"Unique serial number issued by the certificate authority."},{"field":"threat.indicator.x509.signature_algorithm","type":"keyword","normalization":"","example":"SHA256-RSA","description":"Identifier for certificate signature algorithm."},{"field":"threat.indicator.x509.subject.common_name","type":"keyword","normalization":"array","example":"shared.global.example.net","description":"List of common names (CN) of subject."},{"field":"threat.indicator.x509.subject.country","type":"keyword","normalization":"array","example":"US","description":"List of country (C) code"},{"field":"threat.indicator.x509.subject.distinguished_name","type":"keyword","normalization":"","example":"C=US, ST=California, L=San Francisco, O=Example, Inc., CN=shared.global.example.net","description":"Distinguished name (DN) of the certificate subject entity."},{"field":"threat.indicator.x509.subject.locality","type":"keyword","normalization":"array","example":"San Francisco","description":"List of locality names (L)"},{"field":"threat.indicator.x509.subject.organization","type":"keyword","normalization":"array","example":"Example, Inc.","description":"List of organizations (O) of subject."},{"field":"threat.indicator.x509.subject.organizational_unit","type":"keyword","normalization":"array","example":"","description":"List of organizational units (OU) of subject."},{"field":"threat.indicator.x509.subject.state_or_province","type":"keyword","normalization":"array","example":"California","description":"List of state or province names (ST, S, or P)"},{"field":"threat.indicator.x509.version_number","type":"keyword","normalization":"","example":3,"description":"Version of x509 format."},{"field":"threat.software.alias","type":"keyword","normalization":"array","example":["X-Agent"],"description":"Alias of the software"},{"field":"threat.software.id","type":"keyword","normalization":"","example":"S0552","description":"ID of the software"},{"field":"threat.software.name","type":"keyword","normalization":"","example":"AdFind","description":"Name of the software."},{"field":"threat.software.platforms","type":"keyword","normalization":"array","example":["Windows"],"description":"Platforms of the software."},{"field":"threat.software.reference","type":"keyword","normalization":"","example":"https://attack.mitre.org/software/S0552/","description":"Software reference URL."},{"field":"threat.software.type","type":"keyword","normalization":"","example":"Tool","description":"Software type."},{"field":"threat.tactic.id","type":"keyword","normalization":"array","example":"TA0002","description":"Threat tactic id."},{"field":"threat.tactic.name","type":"keyword","normalization":"array","example":"Execution","description":"Threat tactic."},{"field":"threat.tactic.reference","type":"keyword","normalization":"array","example":"https://attack.mitre.org/tactics/TA0002/","description":"Threat tactic URL reference."},{"field":"threat.technique.id","type":"keyword","normalization":"array","example":"T1059","description":"Threat technique id."},{"field":"threat.technique.name","type":"keyword","normalization":"array","example":"Command and Scripting Interpreter","description":"Threat technique name."},{"field":"threat.technique.name.text","type":"match_only_text","normalization":"","example":"Command and Scripting Interpreter","description":"Threat technique name."},{"field":"threat.technique.reference","type":"keyword","normalization":"array","example":"https://attack.mitre.org/techniques/T1059/","description":"Threat technique URL reference."},{"field":"threat.technique.subtechnique.id","type":"keyword","normalization":"array","example":"T1059.001","description":"Threat subtechnique id."},{"field":"threat.technique.subtechnique.name","type":"keyword","normalization":"array","example":"PowerShell","description":"Threat subtechnique name."},{"field":"threat.technique.subtechnique.name.text","type":"match_only_text","normalization":"","example":"PowerShell","description":"Threat subtechnique name."},{"field":"threat.technique.subtechnique.reference","type":"keyword","normalization":"array","example":"https://attack.mitre.org/techniques/T1059/001/","description":"Threat subtechnique URL reference."},{"field":"tls.cipher","type":"keyword","normalization":"","example":"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256","description":"String indicating the cipher used during the current connection."},{"field":"tls.client.certificate","type":"keyword","normalization":"","example":"MII...","description":"PEM-encoded stand-alone certificate offered by the client."},{"field":"tls.client.certificate_chain","type":"keyword","normalization":"array","example":["MII...","MII..."],"description":"Array of PEM-encoded certificates that make up the certificate chain offered by the client."},{"field":"tls.client.hash.md5","type":"keyword","normalization":"","example":"0F76C7F2C55BFD7D8E8B8F4BFBF0C9EC","description":"Certificate fingerprint using the MD5 digest of DER-encoded version of certificate offered by the client."},{"field":"tls.client.hash.sha1","type":"keyword","normalization":"","example":"9E393D93138888D288266C2D915214D1D1CCEB2A","description":"Certificate fingerprint using the SHA1 digest of DER-encoded version of certificate offered by the client."},{"field":"tls.client.hash.sha256","type":"keyword","normalization":"","example":"0687F666A054EF17A08E2F2162EAB4CBC0D265E1D7875BE74BF3C712CA92DAF0","description":"Certificate fingerprint using the SHA256 digest of DER-encoded version of certificate offered by the client."},{"field":"tls.client.issuer","type":"keyword","normalization":"","example":"CN=Example Root CA, OU=Infrastructure Team, DC=example, DC=com","description":"Distinguished name of subject of the issuer of the x.509 certificate presented by the client."},{"field":"tls.client.ja3","type":"keyword","normalization":"","example":"d4e5b18d6b55c71272893221c96ba240","description":"A hash that identifies clients based on how they perform an SSL/TLS handshake."},{"field":"tls.client.not_after","type":"date","normalization":"","example":"2021-01-01T00:00:00.000Z","description":"Date/Time indicating when client certificate is no longer considered valid."},{"field":"tls.client.not_before","type":"date","normalization":"","example":"1970-01-01T00:00:00.000Z","description":"Date/Time indicating when client certificate is first considered valid."},{"field":"tls.client.server_name","type":"keyword","normalization":"","example":"www.elastic.co","description":"Hostname the client is trying to connect to. Also called the SNI."},{"field":"tls.client.subject","type":"keyword","normalization":"","example":"CN=myclient, OU=Documentation Team, DC=example, DC=com","description":"Distinguished name of subject of the x.509 certificate presented by the client."},{"field":"tls.client.supported_ciphers","type":"keyword","normalization":"array","example":["TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384","TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384","..."],"description":"Array of ciphers offered by the client during the client hello."},{"field":"tls.client.x509.alternative_names","type":"keyword","normalization":"array","example":"*.elastic.co","description":"List of subject alternative names (SAN)."},{"field":"tls.client.x509.issuer.common_name","type":"keyword","normalization":"array","example":"Example SHA2 High Assurance Server CA","description":"List of common name (CN) of issuing certificate authority."},{"field":"tls.client.x509.issuer.country","type":"keyword","normalization":"array","example":"US","description":"List of country (C) codes"},{"field":"tls.client.x509.issuer.distinguished_name","type":"keyword","normalization":"","example":"C=US, O=Example Inc, OU=www.example.com, CN=Example SHA2 High Assurance Server CA","description":"Distinguished name (DN) of issuing certificate authority."},{"field":"tls.client.x509.issuer.locality","type":"keyword","normalization":"array","example":"Mountain View","description":"List of locality names (L)"},{"field":"tls.client.x509.issuer.organization","type":"keyword","normalization":"array","example":"Example Inc","description":"List of organizations (O) of issuing certificate authority."},{"field":"tls.client.x509.issuer.organizational_unit","type":"keyword","normalization":"array","example":"www.example.com","description":"List of organizational units (OU) of issuing certificate authority."},{"field":"tls.client.x509.issuer.state_or_province","type":"keyword","normalization":"array","example":"California","description":"List of state or province names (ST, S, or P)"},{"field":"tls.client.x509.not_after","type":"date","normalization":"","example":"2020-07-16 03:15:39+00:00","description":"Time at which the certificate is no longer considered valid."},{"field":"tls.client.x509.not_before","type":"date","normalization":"","example":"2019-08-16 01:40:25+00:00","description":"Time at which the certificate is first considered valid."},{"field":"tls.client.x509.public_key_algorithm","type":"keyword","normalization":"","example":"RSA","description":"Algorithm used to generate the public key."},{"field":"tls.client.x509.public_key_curve","type":"keyword","normalization":"","example":"nistp521","description":"The curve used by the elliptic curve public key algorithm. This is algorithm specific."},{"field":"tls.client.x509.public_key_exponent","type":"long","normalization":"","example":65537,"description":"Exponent used to derive the public key. This is algorithm specific."},{"field":"tls.client.x509.public_key_size","type":"long","normalization":"","example":2048,"description":"The size of the public key space in bits."},{"field":"tls.client.x509.serial_number","type":"keyword","normalization":"","example":"55FBB9C7DEBF09809D12CCAA","description":"Unique serial number issued by the certificate authority."},{"field":"tls.client.x509.signature_algorithm","type":"keyword","normalization":"","example":"SHA256-RSA","description":"Identifier for certificate signature algorithm."},{"field":"tls.client.x509.subject.common_name","type":"keyword","normalization":"array","example":"shared.global.example.net","description":"List of common names (CN) of subject."},{"field":"tls.client.x509.subject.country","type":"keyword","normalization":"array","example":"US","description":"List of country (C) code"},{"field":"tls.client.x509.subject.distinguished_name","type":"keyword","normalization":"","example":"C=US, ST=California, L=San Francisco, O=Example, Inc., CN=shared.global.example.net","description":"Distinguished name (DN) of the certificate subject entity."},{"field":"tls.client.x509.subject.locality","type":"keyword","normalization":"array","example":"San Francisco","description":"List of locality names (L)"},{"field":"tls.client.x509.subject.organization","type":"keyword","normalization":"array","example":"Example, Inc.","description":"List of organizations (O) of subject."},{"field":"tls.client.x509.subject.organizational_unit","type":"keyword","normalization":"array","example":"","description":"List of organizational units (OU) of subject."},{"field":"tls.client.x509.subject.state_or_province","type":"keyword","normalization":"array","example":"California","description":"List of state or province names (ST, S, or P)"},{"field":"tls.client.x509.version_number","type":"keyword","normalization":"","example":3,"description":"Version of x509 format."},{"field":"tls.curve","type":"keyword","normalization":"","example":"secp256r1","description":"String indicating the curve used for the given cipher, when applicable."},{"field":"tls.established","type":"boolean","normalization":"","example":"","description":"Boolean flag indicating if the TLS negotiation was successful and transitioned to an encrypted tunnel."},{"field":"tls.next_protocol","type":"keyword","normalization":"","example":"http/1.1","description":"String indicating the protocol being tunneled."},{"field":"tls.resumed","type":"boolean","normalization":"","example":"","description":"Boolean flag indicating if this TLS connection was resumed from an existing TLS negotiation."},{"field":"tls.server.certificate","type":"keyword","normalization":"","example":"MII...","description":"PEM-encoded stand-alone certificate offered by the server."},{"field":"tls.server.certificate_chain","type":"keyword","normalization":"array","example":["MII...","MII..."],"description":"Array of PEM-encoded certificates that make up the certificate chain offered by the server."},{"field":"tls.server.hash.md5","type":"keyword","normalization":"","example":"0F76C7F2C55BFD7D8E8B8F4BFBF0C9EC","description":"Certificate fingerprint using the MD5 digest of DER-encoded version of certificate offered by the server."},{"field":"tls.server.hash.sha1","type":"keyword","normalization":"","example":"9E393D93138888D288266C2D915214D1D1CCEB2A","description":"Certificate fingerprint using the SHA1 digest of DER-encoded version of certificate offered by the server."},{"field":"tls.server.hash.sha256","type":"keyword","normalization":"","example":"0687F666A054EF17A08E2F2162EAB4CBC0D265E1D7875BE74BF3C712CA92DAF0","description":"Certificate fingerprint using the SHA256 digest of DER-encoded version of certificate offered by the server."},{"field":"tls.server.issuer","type":"keyword","normalization":"","example":"CN=Example Root CA, OU=Infrastructure Team, DC=example, DC=com","description":"Subject of the issuer of the x.509 certificate presented by the server."},{"field":"tls.server.ja3s","type":"keyword","normalization":"","example":"394441ab65754e2207b1e1b457b3641d","description":"A hash that identifies servers based on how they perform an SSL/TLS handshake."},{"field":"tls.server.not_after","type":"date","normalization":"","example":"2021-01-01T00:00:00.000Z","description":"Timestamp indicating when server certificate is no longer considered valid."},{"field":"tls.server.not_before","type":"date","normalization":"","example":"1970-01-01T00:00:00.000Z","description":"Timestamp indicating when server certificate is first considered valid."},{"field":"tls.server.subject","type":"keyword","normalization":"","example":"CN=www.example.com, OU=Infrastructure Team, DC=example, DC=com","description":"Subject of the x.509 certificate presented by the server."},{"field":"tls.server.x509.alternative_names","type":"keyword","normalization":"array","example":"*.elastic.co","description":"List of subject alternative names (SAN)."},{"field":"tls.server.x509.issuer.common_name","type":"keyword","normalization":"array","example":"Example SHA2 High Assurance Server CA","description":"List of common name (CN) of issuing certificate authority."},{"field":"tls.server.x509.issuer.country","type":"keyword","normalization":"array","example":"US","description":"List of country (C) codes"},{"field":"tls.server.x509.issuer.distinguished_name","type":"keyword","normalization":"","example":"C=US, O=Example Inc, OU=www.example.com, CN=Example SHA2 High Assurance Server CA","description":"Distinguished name (DN) of issuing certificate authority."},{"field":"tls.server.x509.issuer.locality","type":"keyword","normalization":"array","example":"Mountain View","description":"List of locality names (L)"},{"field":"tls.server.x509.issuer.organization","type":"keyword","normalization":"array","example":"Example Inc","description":"List of organizations (O) of issuing certificate authority."},{"field":"tls.server.x509.issuer.organizational_unit","type":"keyword","normalization":"array","example":"www.example.com","description":"List of organizational units (OU) of issuing certificate authority."},{"field":"tls.server.x509.issuer.state_or_province","type":"keyword","normalization":"array","example":"California","description":"List of state or province names (ST, S, or P)"},{"field":"tls.server.x509.not_after","type":"date","normalization":"","example":"2020-07-16 03:15:39+00:00","description":"Time at which the certificate is no longer considered valid."},{"field":"tls.server.x509.not_before","type":"date","normalization":"","example":"2019-08-16 01:40:25+00:00","description":"Time at which the certificate is first considered valid."},{"field":"tls.server.x509.public_key_algorithm","type":"keyword","normalization":"","example":"RSA","description":"Algorithm used to generate the public key."},{"field":"tls.server.x509.public_key_curve","type":"keyword","normalization":"","example":"nistp521","description":"The curve used by the elliptic curve public key algorithm. This is algorithm specific."},{"field":"tls.server.x509.public_key_exponent","type":"long","normalization":"","example":65537,"description":"Exponent used to derive the public key. This is algorithm specific."},{"field":"tls.server.x509.public_key_size","type":"long","normalization":"","example":2048,"description":"The size of the public key space in bits."},{"field":"tls.server.x509.serial_number","type":"keyword","normalization":"","example":"55FBB9C7DEBF09809D12CCAA","description":"Unique serial number issued by the certificate authority."},{"field":"tls.server.x509.signature_algorithm","type":"keyword","normalization":"","example":"SHA256-RSA","description":"Identifier for certificate signature algorithm."},{"field":"tls.server.x509.subject.common_name","type":"keyword","normalization":"array","example":"shared.global.example.net","description":"List of common names (CN) of subject."},{"field":"tls.server.x509.subject.country","type":"keyword","normalization":"array","example":"US","description":"List of country (C) code"},{"field":"tls.server.x509.subject.distinguished_name","type":"keyword","normalization":"","example":"C=US, ST=California, L=San Francisco, O=Example, Inc., CN=shared.global.example.net","description":"Distinguished name (DN) of the certificate subject entity."},{"field":"tls.server.x509.subject.locality","type":"keyword","normalization":"array","example":"San Francisco","description":"List of locality names (L)"},{"field":"tls.server.x509.subject.organization","type":"keyword","normalization":"array","example":"Example, Inc.","description":"List of organizations (O) of subject."},{"field":"tls.server.x509.subject.organizational_unit","type":"keyword","normalization":"array","example":"","description":"List of organizational units (OU) of subject."},{"field":"tls.server.x509.subject.state_or_province","type":"keyword","normalization":"array","example":"California","description":"List of state or province names (ST, S, or P)"},{"field":"tls.server.x509.version_number","type":"keyword","normalization":"","example":3,"description":"Version of x509 format."},{"field":"tls.version","type":"keyword","normalization":"","example":1.2,"description":"Numeric part of the version parsed from the original string."},{"field":"tls.version_protocol","type":"keyword","normalization":"","example":"tls","description":"Normalized lowercase protocol name parsed from original string."},{"field":"trace.id","type":"keyword","normalization":"","example":"4bf92f3577b34da6a3ce929d0e0e4736","description":"Unique identifier of the trace."},{"field":"transaction.id","type":"keyword","normalization":"","example":"00f067aa0ba902b7","description":"Unique identifier of the transaction within the scope of its trace."},{"field":"url.domain","type":"keyword","normalization":"","example":"www.elastic.co","description":"Domain of the url."},{"field":"url.extension","type":"keyword","normalization":"","example":"png","description":"File extension from the request url, excluding the leading dot."},{"field":"url.fragment","type":"keyword","normalization":"","example":"","description":"Portion of the url after the `#`."},{"field":"url.full","type":"wildcard","normalization":"","example":"https://www.elastic.co:443/search?q=elasticsearch#top","description":"Full unparsed URL."},{"field":"url.full.text","type":"match_only_text","normalization":"","example":"https://www.elastic.co:443/search?q=elasticsearch#top","description":"Full unparsed URL."},{"field":"url.original","type":"wildcard","normalization":"","example":"https://www.elastic.co:443/search?q=elasticsearch#top or /search?q=elasticsearch","description":"Unmodified original url as seen in the event source."},{"field":"url.original.text","type":"match_only_text","normalization":"","example":"https://www.elastic.co:443/search?q=elasticsearch#top or /search?q=elasticsearch","description":"Unmodified original url as seen in the event source."},{"field":"url.password","type":"keyword","normalization":"","example":"","description":"Password of the request."},{"field":"url.path","type":"wildcard","normalization":"","example":"","description":"Path of the request, such as \"/search\"."},{"field":"url.port","type":"long","normalization":"","example":443,"description":"Port of the request, such as 443."},{"field":"url.query","type":"keyword","normalization":"","example":"","description":"Query string of the request."},{"field":"url.registered_domain","type":"keyword","normalization":"","example":"example.com","description":"The highest registered url domain, stripped of the subdomain."},{"field":"url.scheme","type":"keyword","normalization":"","example":"https","description":"Scheme of the url."},{"field":"url.subdomain","type":"keyword","normalization":"","example":"east","description":"The subdomain of the domain."},{"field":"url.top_level_domain","type":"keyword","normalization":"","example":"co.uk","description":"The effective top level domain (com, org, net, co.uk)."},{"field":"url.username","type":"keyword","normalization":"","example":"","description":"Username of the request."},{"field":"user.changes.domain","type":"keyword","normalization":"","example":"","description":"Name of the directory the user is a member of."},{"field":"user.changes.email","type":"keyword","normalization":"","example":"","description":"User email address."},{"field":"user.changes.full_name","type":"keyword","normalization":"","example":"Albert Einstein","description":"User's full name, if available."},{"field":"user.changes.full_name.text","type":"match_only_text","normalization":"","example":"Albert Einstein","description":"User's full name, if available."},{"field":"user.changes.group.domain","type":"keyword","normalization":"","example":"","description":"Name of the directory the group is a member of."},{"field":"user.changes.group.id","type":"keyword","normalization":"","example":"","description":"Unique identifier for the group on the system/platform."},{"field":"user.changes.group.name","type":"keyword","normalization":"","example":"","description":"Name of the group."},{"field":"user.changes.hash","type":"keyword","normalization":"","example":"","description":"Unique user hash to correlate information for a user in anonymized form."},{"field":"user.changes.id","type":"keyword","normalization":"","example":"S-1-5-21-202424912787-2692429404-2351956786-1000","description":"Unique identifier of the user."},{"field":"user.changes.name","type":"keyword","normalization":"","example":"a.einstein","description":"Short name or login of the user."},{"field":"user.changes.name.text","type":"match_only_text","normalization":"","example":"a.einstein","description":"Short name or login of the user."},{"field":"user.changes.roles","type":"keyword","normalization":"array","example":["kibana_admin","reporting_user"],"description":"Array of user roles at the time of the event."},{"field":"user.domain","type":"keyword","normalization":"","example":"","description":"Name of the directory the user is a member of."},{"field":"user.effective.domain","type":"keyword","normalization":"","example":"","description":"Name of the directory the user is a member of."},{"field":"user.effective.email","type":"keyword","normalization":"","example":"","description":"User email address."},{"field":"user.effective.full_name","type":"keyword","normalization":"","example":"Albert Einstein","description":"User's full name, if available."},{"field":"user.effective.full_name.text","type":"match_only_text","normalization":"","example":"Albert Einstein","description":"User's full name, if available."},{"field":"user.effective.group.domain","type":"keyword","normalization":"","example":"","description":"Name of the directory the group is a member of."},{"field":"user.effective.group.id","type":"keyword","normalization":"","example":"","description":"Unique identifier for the group on the system/platform."},{"field":"user.effective.group.name","type":"keyword","normalization":"","example":"","description":"Name of the group."},{"field":"user.effective.hash","type":"keyword","normalization":"","example":"","description":"Unique user hash to correlate information for a user in anonymized form."},{"field":"user.effective.id","type":"keyword","normalization":"","example":"S-1-5-21-202424912787-2692429404-2351956786-1000","description":"Unique identifier of the user."},{"field":"user.effective.name","type":"keyword","normalization":"","example":"a.einstein","description":"Short name or login of the user."},{"field":"user.effective.name.text","type":"match_only_text","normalization":"","example":"a.einstein","description":"Short name or login of the user."},{"field":"user.effective.roles","type":"keyword","normalization":"array","example":["kibana_admin","reporting_user"],"description":"Array of user roles at the time of the event."},{"field":"user.email","type":"keyword","normalization":"","example":"","description":"User email address."},{"field":"user.full_name","type":"keyword","normalization":"","example":"Albert Einstein","description":"User's full name, if available."},{"field":"user.full_name.text","type":"match_only_text","normalization":"","example":"Albert Einstein","description":"User's full name, if available."},{"field":"user.group.domain","type":"keyword","normalization":"","example":"","description":"Name of the directory the group is a member of."},{"field":"user.group.id","type":"keyword","normalization":"","example":"","description":"Unique identifier for the group on the system/platform."},{"field":"user.group.name","type":"keyword","normalization":"","example":"","description":"Name of the group."},{"field":"user.hash","type":"keyword","normalization":"","example":"","description":"Unique user hash to correlate information for a user in anonymized form."},{"field":"user.id","type":"keyword","normalization":"","example":"S-1-5-21-202424912787-2692429404-2351956786-1000","description":"Unique identifier of the user."},{"field":"user.name","type":"keyword","normalization":"","example":"a.einstein","description":"Short name or login of the user."},{"field":"user.name.text","type":"match_only_text","normalization":"","example":"a.einstein","description":"Short name or login of the user."},{"field":"user.roles","type":"keyword","normalization":"array","example":["kibana_admin","reporting_user"],"description":"Array of user roles at the time of the event."},{"field":"user.target.domain","type":"keyword","normalization":"","example":"","description":"Name of the directory the user is a member of."},{"field":"user.target.email","type":"keyword","normalization":"","example":"","description":"User email address."},{"field":"user.target.full_name","type":"keyword","normalization":"","example":"Albert Einstein","description":"User's full name, if available."},{"field":"user.target.full_name.text","type":"match_only_text","normalization":"","example":"Albert Einstein","description":"User's full name, if available."},{"field":"user.target.group.domain","type":"keyword","normalization":"","example":"","description":"Name of the directory the group is a member of."},{"field":"user.target.group.id","type":"keyword","normalization":"","example":"","description":"Unique identifier for the group on the system/platform."},{"field":"user.target.group.name","type":"keyword","normalization":"","example":"","description":"Name of the group."},{"field":"user.target.hash","type":"keyword","normalization":"","example":"","description":"Unique user hash to correlate information for a user in anonymized form."},{"field":"user.target.id","type":"keyword","normalization":"","example":"S-1-5-21-202424912787-2692429404-2351956786-1000","description":"Unique identifier of the user."},{"field":"user.target.name","type":"keyword","normalization":"","example":"a.einstein","description":"Short name or login of the user."},{"field":"user.target.name.text","type":"match_only_text","normalization":"","example":"a.einstein","description":"Short name or login of the user."},{"field":"user.target.roles","type":"keyword","normalization":"array","example":["kibana_admin","reporting_user"],"description":"Array of user roles at the time of the event."},{"field":"user_agent.device.name","type":"keyword","normalization":"","example":"iPhone","description":"Name of the device."},{"field":"user_agent.name","type":"keyword","normalization":"","example":"Safari","description":"Name of the user agent."},{"field":"user_agent.original","type":"keyword","normalization":"","example":"Mozilla/5.0 (iPhone; CPU iPhone OS 12_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0 Mobile/15E148 Safari/604.1","description":"Unparsed user_agent string."},{"field":"user_agent.original.text","type":"match_only_text","normalization":"","example":"Mozilla/5.0 (iPhone; CPU iPhone OS 12_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0 Mobile/15E148 Safari/604.1","description":"Unparsed user_agent string."},{"field":"user_agent.os.family","type":"keyword","normalization":"","example":"debian","description":"OS family (such as redhat, debian, freebsd, windows)."},{"field":"user_agent.os.full","type":"keyword","normalization":"","example":"Mac OS Mojave","description":"Operating system name, including the version or code name."},{"field":"user_agent.os.full.text","type":"match_only_text","normalization":"","example":"Mac OS Mojave","description":"Operating system name, including the version or code name."},{"field":"user_agent.os.kernel","type":"keyword","normalization":"","example":"4.4.0-112-generic","description":"Operating system kernel version as a raw string."},{"field":"user_agent.os.name","type":"keyword","normalization":"","example":"Mac OS X","description":"Operating system name, without the version."},{"field":"user_agent.os.name.text","type":"match_only_text","normalization":"","example":"Mac OS X","description":"Operating system name, without the version."},{"field":"user_agent.os.platform","type":"keyword","normalization":"","example":"darwin","description":"Operating system platform (such centos, ubuntu, windows)."},{"field":"user_agent.os.type","type":"keyword","normalization":"","example":"macos","description":"Which commercial OS family (one of: linux, macos, unix or windows)."},{"field":"user_agent.os.version","type":"keyword","normalization":"","example":"10.14.1","description":"Operating system version as a raw string."},{"field":"user_agent.version","type":"keyword","normalization":"","example":12,"description":"Version of the user agent."},{"field":"vulnerability.category","type":"keyword","normalization":"array","example":["Firewall"],"description":"Category of a vulnerability."},{"field":"vulnerability.classification","type":"keyword","normalization":"","example":"CVSS","description":"Classification of the vulnerability."},{"field":"vulnerability.description","type":"keyword","normalization":"","example":"In macOS before 2.12.6, there is a vulnerability in the RPC...","description":"Description of the vulnerability."},{"field":"vulnerability.description.text","type":"match_only_text","normalization":"","example":"In macOS before 2.12.6, there is a vulnerability in the RPC...","description":"Description of the vulnerability."},{"field":"vulnerability.enumeration","type":"keyword","normalization":"","example":"CVE","description":"Identifier of the vulnerability."},{"field":"vulnerability.id","type":"keyword","normalization":"","example":"CVE-2019-00001","description":"ID of the vulnerability."},{"field":"vulnerability.reference","type":"keyword","normalization":"","example":"https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-6111","description":"Reference of the vulnerability."},{"field":"vulnerability.report_id","type":"keyword","normalization":"","example":20191018.0001,"description":"Scan identification number."},{"field":"vulnerability.scanner.vendor","type":"keyword","normalization":"","example":"Tenable","description":"Name of the scanner vendor."},{"field":"vulnerability.score.base","type":"float","normalization":"","example":5.5,"description":"Vulnerability Base score."},{"field":"vulnerability.score.environmental","type":"float","normalization":"","example":5.5,"description":"Vulnerability Environmental score."},{"field":"vulnerability.score.temporal","type":"float","normalization":"","example":"","description":"Vulnerability Temporal score."},{"field":"vulnerability.score.version","type":"keyword","normalization":"","example":2,"description":"CVSS version."},{"field":"vulnerability.severity","type":"keyword","normalization":"","example":"Critical","description":"Severity of the vulnerability."}] \ No newline at end of file diff --git a/x-pack/plugins/osquery/public/fleet_integration/osquery_managed_policy_create_import_extension.tsx b/x-pack/plugins/osquery/public/fleet_integration/osquery_managed_policy_create_import_extension.tsx index 63b30f5d20c7ac..c2ac84ce191da4 100644 --- a/x-pack/plugins/osquery/public/fleet_integration/osquery_managed_policy_create_import_extension.tsx +++ b/x-pack/plugins/osquery/public/fleet_integration/osquery_managed_policy_create_import_extension.tsx @@ -165,16 +165,6 @@ export const OsqueryManagedPolicyCreateImportExtension = React.memo< defaultValue: { config: JSON.stringify(get(newPolicy, 'inputs[0].config.osquery.value', {}), null, 2), }, - serializer: (formData) => { - let config; - try { - // @ts-expect-error update types - config = JSON.parse(formData.config); - } catch (e) { - config = {}; - } - return { config }; - }, schema: { config: { label: i18n.translate('xpack.osquery.fleetIntegration.osqueryConfig.configFieldLabel', { @@ -243,10 +233,16 @@ export const OsqueryManagedPolicyCreateImportExtension = React.memo< if (isValid === undefined) return; const updatedPolicy = produce(newPolicy, (draft) => { - if (isEmpty(config)) { + let parsedConfig; + try { + parsedConfig = JSON.parse(config); + // eslint-disable-next-line no-empty + } catch (e) {} + + if (isEmpty(parsedConfig)) { unset(draft, 'inputs[0].config'); } else { - set(draft, 'inputs[0].config.osquery.value', config); + set(draft, 'inputs[0].config.osquery.value', parsedConfig); } return draft; }); diff --git a/x-pack/plugins/osquery/public/packs/form/index.tsx b/x-pack/plugins/osquery/public/packs/form/index.tsx index f20a26f2791ddc..1930227c2dc9ef 100644 --- a/x-pack/plugins/osquery/public/packs/form/index.tsx +++ b/x-pack/plugins/osquery/public/packs/form/index.tsx @@ -98,14 +98,17 @@ const PackFormComponent: React.FC = ({ defaultValue, editMode = f description: { type: FIELD_TYPES.TEXT, label: i18n.translate('xpack.osquery.pack.form.descriptionFieldLabel', { - defaultMessage: 'Description', + defaultMessage: 'Description (optional)', }), }, policy_ids: { defaultValue: [], type: FIELD_TYPES.COMBO_BOX, label: i18n.translate('xpack.osquery.pack.form.agentPoliciesFieldLabel', { - defaultMessage: 'Agent policies', + defaultMessage: 'Agent policies (optional)', + }), + helpText: i18n.translate('xpack.osquery.pack.form.agentPoliciesFieldHelpText', { + defaultMessage: 'Queries in this pack are scheduled for agents in the selected policies.', }), }, enabled: { diff --git a/x-pack/plugins/osquery/public/packs/pack_queries_status_table.tsx b/x-pack/plugins/osquery/public/packs/pack_queries_status_table.tsx index a32f369922958b..0b661c61a9057c 100644 --- a/x-pack/plugins/osquery/public/packs/pack_queries_status_table.tsx +++ b/x-pack/plugins/osquery/public/packs/pack_queries_status_table.tsx @@ -22,6 +22,7 @@ import { } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; import { FormattedMessage, FormattedDate, FormattedTime, FormattedRelative } from '@kbn/i18n/react'; +import moment from 'moment-timezone'; import { TypedLensByValueInput, @@ -29,7 +30,7 @@ import { PieVisualizationState, } from '../../../lens/public'; import { FilterStateStore, IndexPattern } from '../../../../../src/plugins/data/common'; -import { useKibana, isModifiedEvent, isLeftClickEvent } from '../common/lib/kibana'; +import { useKibana } from '../common/lib/kibana'; import { OsqueryManagerPackagePolicyInputStream } from '../../common/types'; import { ScheduledQueryErrorsTable } from './scheduled_query_errors_table'; import { usePackQueryLastResults } from './use_pack_query_last_results'; @@ -207,8 +208,6 @@ const ViewResultsInLensActionComponent: React.FC { - const openInNewTab = !(!isModifiedEvent(event) && isLeftClickEvent(event)); - event.preventDefault(); lensService?.navigateToPrefilledEditor( @@ -222,7 +221,7 @@ const ViewResultsInLensActionComponent: React.FC + {VIEW_IN_DISCOVER} ); @@ -378,6 +377,7 @@ interface ScheduledQueryLastResultsProps { actionId: string; queryId: string; interval: number; + logsIndexPattern: IndexPattern | undefined; toggleErrors: (payload: { queryId: string; interval: number }) => void; expanded: boolean; } @@ -386,12 +386,10 @@ const ScheduledQueryLastResults: React.FC = ({ actionId, queryId, interval, + logsIndexPattern, toggleErrors, expanded, }) => { - const data = useKibana().services.data; - const [logsIndexPattern, setLogsIndexPattern] = useState(undefined); - const { data: lastResultsData, isFetched } = usePackQueryLastResults({ actionId, interval, @@ -409,15 +407,6 @@ const ScheduledQueryLastResults: React.FC = ({ [queryId, interval, toggleErrors] ); - useEffect(() => { - const fetchLogsIndexPattern = async () => { - const indexPattern = await data.indexPatterns.find('logs-*'); - - setLogsIndexPattern(indexPattern[0]); - }; - fetchLogsIndexPattern(); - }, [data.indexPatterns]); - if (!isFetched || !errorsFetched) { return ; } @@ -518,6 +507,86 @@ const ScheduledQueryLastResults: React.FC = ({ const getPackActionId = (actionId: string, packName: string) => `pack_${packName}_${actionId}`; +interface PackViewInActionProps { + item: { + id: string; + interval: number; + }; + logsIndexPattern: IndexPattern | undefined; + packName: string; + agentIds?: string[]; +} + +const PackViewInDiscoverActionComponent: React.FC = ({ + item, + logsIndexPattern, + packName, + agentIds, +}) => { + const { id, interval } = item; + const actionId = getPackActionId(id, packName); + const { data: lastResultsData } = usePackQueryLastResults({ + actionId, + interval, + logsIndexPattern, + }); + + const startDate = lastResultsData?.['@timestamp'] + ? moment(lastResultsData?.['@timestamp'][0]).subtract(interval, 'seconds').toISOString() + : `now-${interval}s`; + const endDate = lastResultsData?.['@timestamp'] + ? moment(lastResultsData?.['@timestamp'][0]).toISOString() + : 'now'; + + return ( + + ); +}; + +const PackViewInDiscoverAction = React.memo(PackViewInDiscoverActionComponent); + +const PackViewInLensActionComponent: React.FC = ({ + item, + logsIndexPattern, + packName, + agentIds, +}) => { + const { id, interval } = item; + const actionId = getPackActionId(id, packName); + const { data: lastResultsData } = usePackQueryLastResults({ + actionId, + interval, + logsIndexPattern, + }); + + const startDate = lastResultsData?.['@timestamp'] + ? moment(lastResultsData?.['@timestamp'][0]).subtract(interval, 'seconds').toISOString() + : `now-${interval}s`; + const endDate = lastResultsData?.['@timestamp'] + ? moment(lastResultsData?.['@timestamp'][0]).toISOString() + : 'now'; + + return ( + + ); +}; + +const PackViewInLensAction = React.memo(PackViewInLensActionComponent); + interface PackQueriesStatusTableProps { agentIds?: string[]; data: OsqueryManagerPackagePolicyInputStream[]; @@ -533,6 +602,18 @@ const PackQueriesStatusTableComponent: React.FC = ( Record> >({}); + const indexPatterns = useKibana().services.data.indexPatterns; + const [logsIndexPattern, setLogsIndexPattern] = useState(undefined); + + useEffect(() => { + const fetchLogsIndexPattern = async () => { + const indexPattern = await indexPatterns.find('logs-*'); + + setLogsIndexPattern(indexPattern[0]); + }; + fetchLogsIndexPattern(); + }, [indexPatterns]); + const renderQueryColumn = useCallback( (query: string) => ( @@ -564,6 +645,7 @@ const PackQueriesStatusTableComponent: React.FC = ( const renderLastResultsColumn = useCallback( (item) => ( = ( expanded={!!itemIdToExpandedRowMap[item.id]} /> ), - [itemIdToExpandedRowMap, packName, toggleErrors] + [itemIdToExpandedRowMap, packName, toggleErrors, logsIndexPattern] ); const renderDiscoverResultsAction = useCallback( (item) => ( - ), - [agentIds, packName] + [agentIds, logsIndexPattern, packName] ); const renderLensResultsAction = useCallback( (item) => ( - ), - [agentIds, packName] + [agentIds, logsIndexPattern, packName] ); const getItemId = useCallback( diff --git a/x-pack/plugins/osquery/public/packs/packs_table.tsx b/x-pack/plugins/osquery/public/packs/packs_table.tsx index 3d4efd88b789fa..dcca0e2f56596f 100644 --- a/x-pack/plugins/osquery/public/packs/packs_table.tsx +++ b/x-pack/plugins/osquery/public/packs/packs_table.tsx @@ -126,7 +126,7 @@ const PacksTableComponent = () => { { field: 'policy_ids', name: i18n.translate('xpack.osquery.packs.table.policyColumnTitle', { - defaultMessage: 'Policies', + defaultMessage: 'Scheduled policies', }), truncateText: true, render: renderAgentPolicy, diff --git a/x-pack/plugins/osquery/public/packs/queries/ecs_mapping_editor_field.tsx b/x-pack/plugins/osquery/public/packs/queries/ecs_mapping_editor_field.tsx index f6967f26cfbc22..85f4b3b3f0fade 100644 --- a/x-pack/plugins/osquery/public/packs/queries/ecs_mapping_editor_field.tsx +++ b/x-pack/plugins/osquery/public/packs/queries/ecs_mapping_editor_field.tsx @@ -30,6 +30,7 @@ import { EuiTitle, EuiText, EuiIcon, + EuiSuperSelect, } from '@elastic/eui'; import sqlParser from 'js-sql-parser'; import { FormattedMessage } from '@kbn/i18n/react'; @@ -54,7 +55,9 @@ import { getUseField, fieldValidators, ValidationFuncArg, + UseMultiFields, } from '../../shared_imports'; +import { OsqueryIcon } from '../../components/osquery_icon'; export const CommonUseField = getUseField({ component: Field }); @@ -77,6 +80,35 @@ const typeMap = { constant_keyword: 'string', }; +const StyledEuiSuperSelect = styled(EuiSuperSelect)` + &.euiFormControlLayout__prepend { + padding-left: 8px; + padding-right: 24px; + box-shadow: none; + + .euiIcon { + padding: 0; + width: 18px; + background: none; + } + } +`; + +// @ts-expect-error update types +const ResultComboBox = styled(EuiComboBox)` + &.euiComboBox--prepended .euiSuperSelect { + border-right: 1px solid ${(props) => props.theme.eui.euiBorderColor}; + + .euiFormControlLayout__childrenWrapper { + border-radius: 6px 0 0 6px; + + .euiFormControlLayoutIcons--right { + right: 6px; + } + } + } +`; + const StyledFieldIcon = styled(FieldIcon)` width: 32px; @@ -90,6 +122,11 @@ const StyledFieldSpan = styled.span` padding-bottom: 0 !important; `; +// align the icon to the inputs +const StyledSemicolonWrapper = styled.div` + margin-top: 8px; +`; + // align the icon to the inputs const StyledButtonWrapper = styled.div` margin-top: 11px; @@ -115,11 +152,10 @@ interface ECSComboboxFieldProps { idAria?: string; } -export const ECSComboboxField: React.FC = ({ +const ECSComboboxFieldComponent: React.FC = ({ field, euiFieldProps = {}, idAria, - ...rest }) => { const { setValue } = field; const [selectedOptions, setSelected] = useState>>( @@ -179,6 +215,21 @@ export const ECSComboboxField: React.FC = ({ [selectedOptions] ); + const helpText = useMemo(() => { + // @ts-expect-error update types + let text = selectedOptions[0]?.value?.description; + + if (!text) return; + + // @ts-expect-error update types + const example = selectedOptions[0]?.value?.example; + if (example) { + text += ` e.g. ${JSON.stringify(example)}`; + } + + return text; + }, [selectedOptions]); + useEffect(() => { // @ts-expect-error update types setSelected(() => { @@ -193,14 +244,12 @@ export const ECSComboboxField: React.FC = ({ return ( = ({ ); }; +export const ECSComboboxField = React.memo(ECSComboboxFieldComponent); + +const OSQUERY_COLUMN_VALUE_TYPE_OPTIONS = [ + { + value: 'field', + inputDisplay: , + dropdownDisplay: ( + + + + + + + + + + + ), + }, + { + value: 'value', + inputDisplay: , + dropdownDisplay: ( + + + + + + + + + + + ), + }, +]; + interface OsqueryColumnFieldProps { - field: FieldHook; + resultType: FieldHook; + resultValue: FieldHook; euiFieldProps: EuiComboBoxProps; idAria?: string; } -export const OsqueryColumnField: React.FC = ({ - field, +const OsqueryColumnFieldComponent: React.FC = ({ + resultType, + resultValue, euiFieldProps = {}, idAria, - ...rest }) => { - const { setValue } = field; - const { isInvalid, errorMessage } = getFieldValidityAndErrorMessage(field); + const { setValue } = resultValue; + const { setValue: setType } = resultType; + const { isInvalid, errorMessage } = getFieldValidityAndErrorMessage(resultValue); const describedByIds = useMemo(() => (idAria ? [idAria] : []), [idAria]); const [selectedOptions, setSelected] = useState< Array> @@ -269,19 +363,51 @@ export const OsqueryColumnField: React.FC = ({ [setValue, setSelected] ); + const onTypeChange = useCallback( + (newType) => { + if (newType !== resultType.value) { + setType(newType); + } + }, + [setType, resultType.value] + ); + + const handleCreateOption = useCallback( + (newOption) => { + setValue(newOption); + }, + [setValue] + ); + + const Prepend = useMemo( + () => ( + + ), + [onTypeChange, resultType.value] + ); + useEffect(() => { setSelected(() => { - if (!field.value.length) return []; + if (!resultValue.value.length) return []; - const selectedOption = find(euiFieldProps?.options, ['label', field.value]); + const selectedOption = find(euiFieldProps?.options, ['label', resultValue.value]); - return selectedOption ? [selectedOption] : [{ label: field.value }]; + return selectedOption ? [selectedOption] : [{ label: resultValue.value }]; }); - }, [euiFieldProps?.options, setSelected, field.value]); + }, [euiFieldProps?.options, setSelected, resultValue.value]); return ( = ({ fullWidth describedByIds={describedByIds} isDisabled={euiFieldProps.isDisabled} - {...rest} > - = ({ ); }; +export const OsqueryColumnField = React.memo( + OsqueryColumnFieldComponent, + (prevProps, nextProps) => + prevProps.resultType.value === nextProps.resultType.value && + prevProps.resultType.isChangingValue === nextProps.resultType.isChangingValue && + prevProps.resultType.errors === nextProps.resultType.errors && + prevProps.resultValue.value === nextProps.resultValue.value && + prevProps.resultValue.isChangingValue === nextProps.resultValue.isChangingValue && + prevProps.resultValue.errors === nextProps.resultValue.errors && + deepEqual(prevProps.euiFieldProps, nextProps.euiFieldProps) +); + export interface ECSMappingEditorFieldRef { validate: () => Promise< | Record< @@ -344,7 +483,7 @@ const getEcsFieldValidator = )(args); // @ts-expect-error update types - if (fieldRequiredError && ((!editForm && args.formData['value.field'].length) || editForm)) { + if (fieldRequiredError && ((!editForm && args.formData['result.value'].length) || editForm)) { return fieldRequiredError; } @@ -354,7 +493,7 @@ const getEcsFieldValidator = const getOsqueryResultFieldValidator = (osquerySchemaOptions: OsquerySchemaOption[], editForm: boolean) => ( - args: ValidationFuncArg + args: ValidationFuncArg ) => { const fieldRequiredError = fieldValidators.emptyField( i18n.translate('xpack.osquery.pack.queryFlyoutForm.osqueryResultFieldRequiredErrorMessage', { @@ -366,7 +505,8 @@ const getOsqueryResultFieldValidator = return fieldRequiredError; } - if (!args.value.length) return; + // @ts-expect-error update types + if (!args.value?.length || args.formData['result.type'] !== 'field') return; const osqueryColumnExists = find(osquerySchemaOptions, ['label', args.value]); @@ -383,6 +523,7 @@ const getOsqueryResultFieldValidator = }, } ), + __isBlocking__: false, } : undefined; }; @@ -395,7 +536,8 @@ const FORM_DEFAULT_VALUE = { interface ECSMappingEditorFormData { key: string; value: { - field: string; + field?: string; + value?: string; }; } @@ -413,27 +555,44 @@ export const ECSMappingEditorForm = forwardRef ({ + key: data.key ?? '', + result: { + type: data.value + ? Object.keys(data.value)[0] + : OSQUERY_COLUMN_VALUE_TYPE_OPTIONS[0].value, + value: data.value ? Object.values(data.value)[0] : '', + }, + }), }); const { submit, reset, validate, __validateFields } = form; @@ -442,17 +601,25 @@ export const ECSMappingEditorForm = forwardRef { validate(); - __validateFields(['value.field']); + __validateFields(['result.value']); const { data, isValid } = await submit(); if (isValid) { + const serializedData = { + key: data.key, + value: { + [data.result.type]: data.result.value, + }, + }; if (onAdd) { - onAdd(data); + onAdd(serializedData); + } + if (onChange) { + onChange(serializedData); } reset(); } - return { data, isValid }; - }, [validate, __validateFields, submit, onAdd, reset]); + }, [validate, __validateFields, submit, onAdd, onChange, reset]); const handleDeleteClick = useCallback(() => { if (defaultValue?.key && onDelete) { @@ -460,6 +627,37 @@ export const ECSMappingEditorForm = forwardRef ( + + {(fields) => ( + + )} + + ), + [osquerySchemaOptions, isDisabled] + ); + + const ecsComboBoxEuiFieldProps = useMemo(() => ({ isDisabled }), [isDisabled]); + useImperativeHandle( ref, () => ({ @@ -468,35 +666,37 @@ export const ECSMappingEditorForm = forwardRef { - if (onAdd && !deepEqual(formData, currentFormData.current)) { + if (!deepEqual(formData, currentFormData.current)) { currentFormData.current = formData; handleSubmit(); } }, [handleSubmit, formData, onAdd]); - useEffect(() => { - if (onChange && !deepEqual(formData, currentFormData.current)) { - currentFormData.current = formData; - onChange(formData); - } - }, [defaultValue, formData, handleDeleteClick, onChange]); - - useEffect(() => { - if (defaultValue) { - validate(); - __validateFields(['value.field']); - } - }, [defaultValue, osquerySchemaOptions, validate, __validateFields]); + // useEffect(() => { + // if (defaultValue) { + // validate(); + // __validateFields(['result.value']); + // } + // }, [defaultValue, osquerySchemaOptions, validate, __validateFields]); return (
    @@ -507,30 +707,19 @@ export const ECSMappingEditorForm = forwardRef - - - + + : + - - - + {MultiFields} {!isDisabled && ( @@ -578,179 +767,175 @@ interface OsqueryColumn { index: boolean; } -export const ECSMappingEditorField = ({ - field, - query, - fieldRef, - euiFieldProps, -}: ECSMappingEditorFieldProps) => { - const { setValue, value = {} } = field; - const [osquerySchemaOptions, setOsquerySchemaOptions] = useState([]); - const formRefs = useRef>({}); - - useImperativeHandle( - fieldRef, - () => ({ - validate: async () => { - const validations = await Promise.all( - Object.values(formRefs.current).map(async (formRef) => { - const { data, isValid } = await formRef.validate(); - return [data, isValid]; - }) - ); +export const ECSMappingEditorField = React.memo( + ({ field, query, fieldRef, euiFieldProps }: ECSMappingEditorFieldProps) => { + const { setValue, value = {} } = field; + const [osquerySchemaOptions, setOsquerySchemaOptions] = useState([]); + const formRefs = useRef>({}); - if (find(validations, (result) => result[1] === false)) { - return false; - } - - return deepmerge.all(map(validations, '[0]')); - }, - }), - [] - ); + useImperativeHandle( + fieldRef, + () => ({ + validate: async () => { + const validations = await Promise.all( + Object.values(formRefs.current).map(async (formRef) => { + const { data, isValid } = await formRef.validate(); + return [data, isValid]; + }) + ); + + if (find(validations, (result) => result[1] === false)) { + return false; + } - useEffect(() => { - setOsquerySchemaOptions((currentValue) => { - if (!query?.length) { - return currentValue; - } + return deepmerge.all(map(validations, '[0]')); + }, + }), + [] + ); - // eslint-disable-next-line @typescript-eslint/no-explicit-any - let ast: Record | undefined; + useEffect(() => { + setOsquerySchemaOptions((currentValue) => { + if (!query?.length) { + return currentValue; + } - try { - ast = sqlParser.parse(query)?.value; - } catch (e) { - return currentValue; - } + // eslint-disable-next-line @typescript-eslint/no-explicit-any + let ast: Record | undefined; - const astOsqueryTables: Record< - string, - { - columns: OsqueryColumn[]; - order: number; + try { + ast = sqlParser.parse(query)?.value; + } catch (e) { + return currentValue; } - > = - ast?.from?.value?.reduce( - ( - acc: { - [x: string]: { - columns: OsqueryColumn[]; - order: number; - }; - }, - table: { - value: { - left?: { value: { value: string }; alias?: { value: string } }; - right?: { value: { value: string }; alias?: { value: string } }; - value?: { value: string }; - alias?: { value: string }; - }; - } - ) => { - each(['value.left', 'value.right', 'value'], (valueKey) => { - if (valueKey) { - const osqueryTable = find(osquerySchema, [ - 'name', - get(table, `${valueKey}.value.value`), - ]); - - if (osqueryTable) { - acc[ - get(table, `${valueKey}.alias.value`) ?? get(table, `${valueKey}.value.value`) - ] = { - columns: osqueryTable.columns, - order: Object.keys(acc).length, - }; - } + + const astOsqueryTables: Record< + string, + { + columns: OsqueryColumn[]; + order: number; + } + > = + ast?.from?.value?.reduce( + ( + acc: { + [x: string]: { + columns: OsqueryColumn[]; + order: number; + }; + }, + table: { + value: { + left?: { value: { value: string }; alias?: { value: string } }; + right?: { value: { value: string }; alias?: { value: string } }; + value?: { value: string }; + alias?: { value: string }; + }; } - }); + ) => { + each(['value.left', 'value.right', 'value'], (valueKey) => { + if (valueKey) { + const osqueryTable = find(osquerySchema, [ + 'name', + get(table, `${valueKey}.value.value`), + ]); + + if (osqueryTable) { + acc[ + get(table, `${valueKey}.alias.value`) ?? get(table, `${valueKey}.value.value`) + ] = { + columns: osqueryTable.columns, + order: Object.keys(acc).length, + }; + } + } + }); - return acc; - }, - {} - ) ?? {}; + return acc; + }, + {} + ) ?? {}; - // Table doesn't exist in osquery schema - if (isEmpty(astOsqueryTables)) { - return currentValue; - } + // Table doesn't exist in osquery schema + if (isEmpty(astOsqueryTables)) { + return currentValue; + } - const suggestions = - isArray(ast?.selectItems?.value) && - ast?.selectItems?.value - ?.map((selectItem: { type: string; value: string; hasAs: boolean; alias?: string }) => { - if (selectItem.type === 'Identifier') { - /* + const suggestions = + isArray(ast?.selectItems?.value) && + ast?.selectItems?.value + ?.map((selectItem: { type: string; value: string; hasAs: boolean; alias?: string }) => { + if (selectItem.type === 'Identifier') { + /* select * from routes, uptime; */ - if (ast?.selectItems?.value.length === 1 && selectItem.value === '*') { - return reduce( - astOsqueryTables, - (acc, { columns: osqueryColumns, order: tableOrder }, table) => { - acc.push( - ...osqueryColumns.map((osqueryColumn) => ({ - label: osqueryColumn.name, - value: { - name: osqueryColumn.name, - description: osqueryColumn.description, - table, - tableOrder, - suggestion_label: osqueryColumn.name, - }, - })) - ); - return acc; - }, - [] as OsquerySchemaOption[] - ); - } + if (ast?.selectItems?.value.length === 1 && selectItem.value === '*') { + return reduce( + astOsqueryTables, + (acc, { columns: osqueryColumns, order: tableOrder }, table) => { + acc.push( + ...osqueryColumns.map((osqueryColumn) => ({ + label: osqueryColumn.name, + value: { + name: osqueryColumn.name, + description: osqueryColumn.description, + table, + tableOrder, + suggestion_label: osqueryColumn.name, + }, + })) + ); + return acc; + }, + [] as OsquerySchemaOption[] + ); + } - /* + /* select i.*, p.resident_size, p.user_time, p.system_time, time.minutes as counter from osquery_info i, processes p, time where p.pid = i.pid; */ - const [table, column] = selectItem.value.includes('.') - ? selectItem.value?.split('.') - : [Object.keys(astOsqueryTables)[0], selectItem.value]; - - if (column === '*' && astOsqueryTables[table]) { - const { columns: osqueryColumns, order: tableOrder } = astOsqueryTables[table]; - return osqueryColumns.map((osqueryColumn) => ({ - label: osqueryColumn.name, - value: { - name: osqueryColumn.name, - description: osqueryColumn.description, - table, - tableOrder, - suggestion_label: `${osqueryColumn.name}`, - }, - })); - } + const [table, column] = selectItem.value.includes('.') + ? selectItem.value?.split('.') + : [Object.keys(astOsqueryTables)[0], selectItem.value]; + + if (column === '*' && astOsqueryTables[table]) { + const { columns: osqueryColumns, order: tableOrder } = astOsqueryTables[table]; + return osqueryColumns.map((osqueryColumn) => ({ + label: osqueryColumn.name, + value: { + name: osqueryColumn.name, + description: osqueryColumn.description, + table, + tableOrder, + suggestion_label: `${osqueryColumn.name}`, + }, + })); + } + + if (astOsqueryTables[table]) { + const osqueryColumn = find(astOsqueryTables[table].columns, ['name', column]); + + if (osqueryColumn) { + const label = selectItem.hasAs ? selectItem.alias : column; - if (astOsqueryTables[table]) { - const osqueryColumn = find(astOsqueryTables[table].columns, ['name', column]); - - if (osqueryColumn) { - const label = selectItem.hasAs ? selectItem.alias : column; - - return [ - { - label, - value: { - name: osqueryColumn.name, - description: osqueryColumn.description, - table, - tableOrder: astOsqueryTables[table].order, - suggestion_label: `${label}`, + return [ + { + label, + value: { + name: osqueryColumn.name, + description: osqueryColumn.description, + table, + tableOrder: astOsqueryTables[table].order, + suggestion_label: `${label}`, + }, }, - }, - ]; + ]; + } } } - } - /* + /* SELECT pid, uid, name, ROUND(( (user_time + system_time) / (cpu_time.tsb - cpu_time.itsb) ) * 100, 2) AS percentage @@ -764,161 +949,166 @@ export const ECSMappingEditorField = ({ LIMIT 5; */ - if (selectItem.hasAs && selectItem.alias) { - return [ - { - label: selectItem.alias, - value: { - name: selectItem.alias, - description: '', - table: '', - tableOrder: -1, - suggestion_label: selectItem.alias, + if (selectItem.hasAs && selectItem.alias) { + return [ + { + label: selectItem.alias, + value: { + name: selectItem.alias, + description: '', + table: '', + tableOrder: -1, + suggestion_label: selectItem.alias, + }, }, - }, - ]; - } + ]; + } - return []; - }) - .flat(); + return []; + }) + .flat(); - // Remove column duplicates by keeping the column from the table that appears last in the query - return sortedUniqBy( - orderBy(suggestions, ['value.suggestion_label', 'value.tableOrder'], ['asc', 'desc']), - 'label' - ); - }); - }, [query]); - - const handleAddRow = useCallback( - (newRow) => { - if (newRow?.key && newRow?.value) { - setValue( - produce((draft) => { - draft[newRow.key] = newRow.value; - return draft; - }) + // Remove column duplicates by keeping the column from the table that appears last in the query + return sortedUniqBy( + orderBy(suggestions, ['value.suggestion_label', 'value.tableOrder'], ['asc', 'desc']), + 'label' ); - } - }, - [setValue] - ); + }); + }, [query]); + + const handleAddRow = useCallback( + (newRow) => { + if (newRow?.key && newRow?.value) { + setValue( + produce((draft) => { + draft[newRow.key] = newRow.value; + return draft; + }) + ); + } + }, + [setValue] + ); - const handleUpdateRow = useCallback( - (currentKey: string) => (updatedRow: FormData) => { - if (updatedRow?.key && updatedRow?.value) { - setValue( - produce((draft) => { - if (currentKey !== updatedRow.key) { - delete draft[currentKey]; - } + const handleUpdateRow = useCallback( + (currentKey: string) => (updatedRow: FormData) => { + if (updatedRow?.key && updatedRow?.value) { + setValue( + produce((draft) => { + if (currentKey !== updatedRow.key) { + delete draft[currentKey]; + } - draft[updatedRow.key] = updatedRow.value; + draft[updatedRow.key] = updatedRow.value; - return draft; - }) - ); - } - }, - [setValue] - ); + return draft; + }) + ); + } + }, + [setValue] + ); - const handleDeleteRow = useCallback( - (key) => { - if (key) { - setValue( - produce((draft) => { - if (draft[key]) { - delete draft[key]; - } - return draft; - }) - ); + const handleDeleteRow = useCallback( + (key) => { + if (key) { + setValue( + produce((draft) => { + if (draft[key]) { + delete draft[key]; + } + return draft; + }) + ); - if (formRefs.current[key]) { - delete formRefs.current[key]; + if (formRefs.current[key]) { + delete formRefs.current[key]; + } } - } - }, - [setValue] - ); + }, + [setValue] + ); - return ( - <> - - - -
    + return ( + <> + + + +
    + +
    +
    + -
    -
    - - - -
    -
    - - - - - - - - - - - - - - - {Object.entries(value).map(([ecsKey, ecsValue]) => ( - +
    +
    + + + + + + + + + + + + + + + {Object.entries(value).map(([ecsKey, ecsValue]) => ( + { - if (formRef) { - formRefs.current[ecsKey] = formRef; - } - }} - key={ecsKey} - osquerySchemaOptions={osquerySchemaOptions} - // eslint-disable-next-line react-perf/jsx-no-new-object-as-prop - defaultValue={{ - key: ecsKey, - value: ecsValue, - }} - onChange={handleUpdateRow(ecsKey)} - onDelete={handleDeleteRow} - isDisabled={!!euiFieldProps?.isDisabled} - /> - ))} - {!euiFieldProps?.isDisabled && ( - + ))} + {!euiFieldProps?.isDisabled && ( + { - if (formRef) { - formRefs.current.new = formRef; - } - }} - osquerySchemaOptions={osquerySchemaOptions} - onAdd={handleAddRow} - /> - )} - - ); -}; + if (formRef) { + formRefs.current.new = formRef; + } + }} + osquerySchemaOptions={osquerySchemaOptions} + onAdd={handleAddRow} + /> + )} + + ); + }, + (prevProps, nextProps) => + prevProps.field.value === nextProps.field.value && + prevProps.query === nextProps.query && + deepEqual(prevProps.euiFieldProps, nextProps.euiFieldProps) +); // eslint-disable-next-line import/no-default-export export default ECSMappingEditorField; diff --git a/x-pack/plugins/osquery/public/packs/use_pack_query_last_results.ts b/x-pack/plugins/osquery/public/packs/use_pack_query_last_results.ts index af3e5b23e80f80..cb84386dbe3eab 100644 --- a/x-pack/plugins/osquery/public/packs/use_pack_query_last_results.ts +++ b/x-pack/plugins/osquery/public/packs/use_pack_query_last_results.ts @@ -6,6 +6,7 @@ */ import { useQuery } from 'react-query'; +import moment from 'moment-timezone'; import { IndexPattern } from '../../../../../src/plugins/data/common'; import { useKibana } from '../common/lib/kibana'; @@ -46,13 +47,12 @@ export const usePackQueryLastResults = ({ }); const lastResultsResponse = await lastResultsSearchSource.fetch$().toPromise(); + const timestamp = lastResultsResponse.rawResponse?.hits?.hits[0]?.fields?.['@timestamp'][0]; - const responseId = lastResultsResponse.rawResponse?.hits?.hits[0]?._source?.response_id; - - if (responseId) { + if (timestamp) { const aggsSearchSource = await data.search.searchSource.create({ index: logsIndexPattern, - size: 0, + size: 1, aggs: { unique_agents: { cardinality: { field: 'agent.id' } }, }, @@ -61,13 +61,16 @@ export const usePackQueryLastResults = ({ bool: { filter: [ { - match_phrase: { - action_id: actionId, + range: { + '@timestamp': { + gte: moment(timestamp).subtract(interval, 'seconds').format(), + lte: moment(timestamp).format(), + }, }, }, { match_phrase: { - response_id: responseId, + action_id: actionId, }, }, ], @@ -81,7 +84,7 @@ export const usePackQueryLastResults = ({ '@timestamp': lastResultsResponse.rawResponse?.hits?.hits[0]?.fields?.['@timestamp'], // @ts-expect-error update types uniqueAgentsCount: aggsResponse.rawResponse.aggregations?.unique_agents?.value, - docCount: aggsResponse.rawResponse?.hits?.total, + docCount: aggsResponse?.rawResponse?.hits?.total, }; } diff --git a/x-pack/plugins/osquery/public/results/results_table.tsx b/x-pack/plugins/osquery/public/results/results_table.tsx index 5b8143c874e2b6..d1d16730e79828 100644 --- a/x-pack/plugins/osquery/public/results/results_table.tsx +++ b/x-pack/plugins/osquery/public/results/results_table.tsx @@ -291,19 +291,9 @@ const ResultsTableComponent: React.FC = ({ setIsLive(() => { if (!agentIds?.length || expired) return false; - const uniqueAgentsRepliedCount = - // @ts-expect-error-type - allResultsData?.rawResponse.aggregations?.unique_agents.value ?? 0; - - return !!(uniqueAgentsRepliedCount !== agentIds?.length - aggregations.failed); + return !!(aggregations.totalResponded !== agentIds?.length); }), - [ - agentIds?.length, - aggregations.failed, - // @ts-expect-error-type - allResultsData?.rawResponse.aggregations?.unique_agents.value, - expired, - ] + [agentIds?.length, aggregations.failed, aggregations.totalResponded, expired] ); if (!hasActionResultsPrivileges) { @@ -328,7 +318,7 @@ const ResultsTableComponent: React.FC = ({ <> {isLive && } - {isFetched && !allResultsData?.edges.length ? ( + {isFetched && !allResultsData?.edges.length && !aggregations?.totalRowCount ? ( <> diff --git a/x-pack/plugins/osquery/public/routes/packs/list/index.tsx b/x-pack/plugins/osquery/public/routes/packs/list/index.tsx index 945677cade577b..6f084e9e6bf25a 100644 --- a/x-pack/plugins/osquery/public/routes/packs/list/index.tsx +++ b/x-pack/plugins/osquery/public/routes/packs/list/index.tsx @@ -27,6 +27,16 @@ const PacksPageComponent = () => {
    + + +

    + +

    +
    +
    ), [] diff --git a/x-pack/plugins/osquery/public/saved_queries/use_saved_queries.ts b/x-pack/plugins/osquery/public/saved_queries/use_saved_queries.ts index a7047dfec82d91..8f697581642e67 100644 --- a/x-pack/plugins/osquery/public/saved_queries/use_saved_queries.ts +++ b/x-pack/plugins/osquery/public/saved_queries/use_saved_queries.ts @@ -36,6 +36,7 @@ export const useSavedQueries = ({ toastMessage: error.body.message, }); }, + refetchOnWindowFocus: !!isLive, } ); }; diff --git a/x-pack/plugins/osquery/public/saved_queries/use_saved_query.ts b/x-pack/plugins/osquery/public/saved_queries/use_saved_query.ts index 811550feb38fe2..8f24f7734fc46b 100644 --- a/x-pack/plugins/osquery/public/saved_queries/use_saved_query.ts +++ b/x-pack/plugins/osquery/public/saved_queries/use_saved_query.ts @@ -29,6 +29,7 @@ export const useSavedQuery = ({ savedQueryId }: UseSavedQueryProps) => { () => http.get(`/internal/osquery/saved_query/${savedQueryId}`), { keepPreviousData: true, + refetchOnWindowFocus: false, onSuccess: (data) => { if (data.error) { setErrorToast(data.error, { diff --git a/x-pack/plugins/osquery/scripts/schema_formatter/ecs_formatter.ts b/x-pack/plugins/osquery/scripts/schema_formatter/ecs_formatter.ts index e53750080ef76c..07f02a892999cd 100644 --- a/x-pack/plugins/osquery/scripts/schema_formatter/ecs_formatter.ts +++ b/x-pack/plugins/osquery/scripts/schema_formatter/ecs_formatter.ts @@ -11,7 +11,7 @@ import path from 'path'; import { run } from '@kbn/dev-utils'; -const ECS_COLUMN_SCHEMA_FIELDS = ['field', 'type', 'description']; +const ECS_COLUMN_SCHEMA_FIELDS = ['field', 'type', 'normalization', 'example', 'description']; const RESTRICTED_FIELDS = [ 'agent.name', diff --git a/x-pack/plugins/osquery/server/lib/saved_query/saved_object_mappings.ts b/x-pack/plugins/osquery/server/lib/saved_query/saved_object_mappings.ts index a633fe4923aebd..fb2c834f3c74d5 100644 --- a/x-pack/plugins/osquery/server/lib/saved_query/saved_object_mappings.ts +++ b/x-pack/plugins/osquery/server/lib/saved_query/saved_object_mappings.ts @@ -53,6 +53,11 @@ export const savedQueryType: SavedObjectsType = { hidden: false, namespaceType: 'multiple-isolated', mappings: savedQuerySavedObjectMappings, + management: { + defaultSearchField: 'id', + importableAndExportable: true, + getTitle: (savedObject) => savedObject.attributes.id, + }, }; export const packSavedObjectMappings: SavedObjectsType['mappings'] = { @@ -109,4 +114,9 @@ export const packType: SavedObjectsType = { hidden: false, namespaceType: 'multiple-isolated', mappings: packSavedObjectMappings, + management: { + defaultSearchField: 'name', + importableAndExportable: true, + getTitle: (savedObject) => savedObject.attributes.name, + }, }; diff --git a/x-pack/plugins/osquery/server/routes/saved_query/read_saved_query_route.ts b/x-pack/plugins/osquery/server/routes/saved_query/read_saved_query_route.ts index 3308a8023dd9ea..a84ec5a262a64f 100644 --- a/x-pack/plugins/osquery/server/routes/saved_query/read_saved_query_route.ts +++ b/x-pack/plugins/osquery/server/routes/saved_query/read_saved_query_route.ts @@ -26,7 +26,7 @@ export const readSavedQueryRoute = (router: IRouter) => { const savedObjectsClient = context.core.savedObjects.client; const savedQuery = await savedObjectsClient.get<{ - ecs_mapping: Array<{ field: string; value: string }>; + ecs_mapping: Array<{ key: string; value: Record }>; }>(savedQuerySavedObjectType, request.params.id); if (savedQuery.attributes.ecs_mapping) { diff --git a/x-pack/plugins/osquery/server/routes/saved_query/update_saved_query_route.ts b/x-pack/plugins/osquery/server/routes/saved_query/update_saved_query_route.ts index c0148087ee8c99..b34999204b8a3e 100644 --- a/x-pack/plugins/osquery/server/routes/saved_query/update_saved_query_route.ts +++ b/x-pack/plugins/osquery/server/routes/saved_query/update_saved_query_route.ts @@ -34,7 +34,8 @@ export const updateSavedQueryRoute = (router: IRouter, osqueryContext: OsqueryAp schema.recordOf( schema.string(), schema.object({ - field: schema.string(), + field: schema.maybe(schema.string()), + value: schema.maybe(schema.string()), }) ) ), diff --git a/x-pack/plugins/osquery/server/routes/utils.ts b/x-pack/plugins/osquery/server/routes/utils.ts index 136cbc190e46c8..62464ec5d63367 100644 --- a/x-pack/plugins/osquery/server/routes/utils.ts +++ b/x-pack/plugins/osquery/server/routes/utils.ts @@ -5,22 +5,24 @@ * 2.0. */ -import { pick, reduce } from 'lodash'; +import { reduce } from 'lodash'; export const convertECSMappingToArray = (ecsMapping: Record | undefined) => ecsMapping ? Object.entries(ecsMapping).map((item) => ({ - value: item[0], - ...item[1], + key: item[0], + value: item[1], })) : undefined; -export const convertECSMappingToObject = (ecsMapping: Array<{ field: string; value: string }>) => +export const convertECSMappingToObject = ( + ecsMapping: Array<{ key: string; value: Record }> +) => reduce( ecsMapping, (acc, value) => { - acc[value.value] = pick(value, 'field'); + acc[value.key] = value.value; return acc; }, - {} as Record + {} as Record ); diff --git a/x-pack/plugins/osquery/server/search_strategy/osquery/factory/actions/results/query.action_results.dsl.ts b/x-pack/plugins/osquery/server/search_strategy/osquery/factory/actions/results/query.action_results.dsl.ts index 109e2609119330..96d5ad60cd54cf 100644 --- a/x-pack/plugins/osquery/server/search_strategy/osquery/factory/actions/results/query.action_results.dsl.ts +++ b/x-pack/plugins/osquery/server/search_strategy/osquery/factory/actions/results/query.action_results.dsl.ts @@ -46,6 +46,11 @@ export const buildActionResultsQuery = ({ }, }, aggs: { + rows_count: { + sum: { + field: 'action_response.osquery.count', + }, + }, responses: { terms: { script: { From 38213cd0e51075d41a116d579e54398490b23c4d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cau=C3=AA=20Marcondes?= <55978943+cauemarcondes@users.noreply.github.com> Date: Tue, 2 Nov 2021 11:38:13 -0400 Subject: [PATCH 077/110] [APM] Fixing synthtrace import location (#117017) --- .../tests/errors/distribution.ts | 56 +- .../tests/errors/generate_data.ts | 72 +++ .../tests/errors/group_id.ts | 92 ++++ .../test/apm_api_integration/tests/index.ts | 479 +++++++++--------- 4 files changed, 409 insertions(+), 290 deletions(-) create mode 100644 x-pack/test/apm_api_integration/tests/errors/generate_data.ts create mode 100644 x-pack/test/apm_api_integration/tests/errors/group_id.ts diff --git a/x-pack/test/apm_api_integration/tests/errors/distribution.ts b/x-pack/test/apm_api_integration/tests/errors/distribution.ts index 666c5c2ea29754..487b5ff8a12c93 100644 --- a/x-pack/test/apm_api_integration/tests/errors/distribution.ts +++ b/x-pack/test/apm_api_integration/tests/errors/distribution.ts @@ -4,7 +4,6 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ -import { service, timerange } from '@elastic/apm-synthtrace'; import expect from '@kbn/expect'; import { first, last, sumBy } from 'lodash'; import { isFiniteNumber } from '../../../../plugins/apm/common/utils/is_finite_number'; @@ -15,6 +14,7 @@ import { import { RecursivePartial } from '../../../../plugins/apm/typings/common'; import { FtrProviderContext } from '../../common/ftr_provider_context'; import { registry } from '../../common/registry'; +import { config, generateData } from './generate_data'; type ErrorsDistribution = APIReturnType<'GET /internal/apm/services/{serviceName}/errors/distribution'>; @@ -65,59 +65,9 @@ export default function ApiTest({ getService }: FtrProviderContext) { { config: 'basic', archives: ['apm_mappings_only_8.0.0'] }, () => { describe('errors distribution', () => { - const appleTransaction = { - name: 'GET /apple 🍎 ', - successRate: 75, - failureRate: 25, - }; - const bananaTransaction = { - name: 'GET /banana 🍌', - successRate: 50, - failureRate: 50, - }; - + const { appleTransaction, bananaTransaction } = config; before(async () => { - const serviceGoProdInstance = service(serviceName, 'production', 'go').instance( - 'instance-a' - ); - - const interval = '1m'; - - const indices = [appleTransaction, bananaTransaction] - .map((transaction, index) => { - return [ - ...timerange(start, end) - .interval(interval) - .rate(transaction.successRate) - .flatMap((timestamp) => - serviceGoProdInstance - .transaction(transaction.name) - .timestamp(timestamp) - .duration(1000) - .success() - .serialize() - ), - ...timerange(start, end) - .interval(interval) - .rate(transaction.failureRate) - .flatMap((timestamp) => - serviceGoProdInstance - .transaction(transaction.name) - .errors( - serviceGoProdInstance - .error(`Error ${index}`, transaction.name) - .timestamp(timestamp) - ) - .duration(1000) - .timestamp(timestamp) - .failure() - .serialize() - ), - ]; - }) - .flatMap((_) => _); - - await synthtraceEsClient.index(indices); + await generateData({ serviceName, start, end, synthtraceEsClient }); }); after(() => synthtraceEsClient.clean()); diff --git a/x-pack/test/apm_api_integration/tests/errors/generate_data.ts b/x-pack/test/apm_api_integration/tests/errors/generate_data.ts new file mode 100644 index 00000000000000..f7874b1c614954 --- /dev/null +++ b/x-pack/test/apm_api_integration/tests/errors/generate_data.ts @@ -0,0 +1,72 @@ +/* + * 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 { service, SynthtraceEsClient, timerange } from '@elastic/apm-synthtrace'; + +export const config = { + appleTransaction: { + name: 'GET /apple 🍎 ', + successRate: 75, + failureRate: 25, + }, + bananaTransaction: { + name: 'GET /banana 🍌', + successRate: 50, + failureRate: 50, + }, +}; + +export async function generateData({ + synthtraceEsClient, + serviceName, + start, + end, +}: { + synthtraceEsClient: SynthtraceEsClient; + serviceName: string; + start: number; + end: number; +}) { + const serviceGoProdInstance = service(serviceName, 'production', 'go').instance('instance-a'); + + const interval = '1m'; + + const { bananaTransaction, appleTransaction } = config; + + const documents = [appleTransaction, bananaTransaction] + .map((transaction, index) => { + return [ + ...timerange(start, end) + .interval(interval) + .rate(transaction.successRate) + .flatMap((timestamp) => + serviceGoProdInstance + .transaction(transaction.name) + .timestamp(timestamp) + .duration(1000) + .success() + .serialize() + ), + ...timerange(start, end) + .interval(interval) + .rate(transaction.failureRate) + .flatMap((timestamp) => + serviceGoProdInstance + .transaction(transaction.name) + .errors( + serviceGoProdInstance.error(`Error ${index}`, transaction.name).timestamp(timestamp) + ) + .duration(1000) + .timestamp(timestamp) + .failure() + .serialize() + ), + ]; + }) + .flatMap((_) => _); + + await synthtraceEsClient.index(documents); +} diff --git a/x-pack/test/apm_api_integration/tests/errors/group_id.ts b/x-pack/test/apm_api_integration/tests/errors/group_id.ts new file mode 100644 index 00000000000000..ef9e293355a7fc --- /dev/null +++ b/x-pack/test/apm_api_integration/tests/errors/group_id.ts @@ -0,0 +1,92 @@ +/* + * 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 '@kbn/expect'; +import { + APIClientRequestParamsOf, + APIReturnType, +} from '../../../../plugins/apm/public/services/rest/createCallApmApi'; +import { RecursivePartial } from '../../../../plugins/apm/typings/common'; +import { FtrProviderContext } from '../../common/ftr_provider_context'; +import { registry } from '../../common/registry'; +import { config, generateData } from './generate_data'; + +type ErrorsDistribution = + APIReturnType<'GET /internal/apm/services/{serviceName}/errors/{groupId}'>; + +export default function ApiTest({ getService }: FtrProviderContext) { + const apmApiClient = getService('apmApiClient'); + const synthtraceEsClient = getService('synthtraceEsClient'); + + const serviceName = 'synth-go'; + const start = new Date('2021-01-01T00:00:00.000Z').getTime(); + const end = new Date('2021-01-01T00:15:00.000Z').getTime() - 1; + + async function callApi( + overrides?: RecursivePartial< + APIClientRequestParamsOf<'GET /internal/apm/services/{serviceName}/errors/{groupId}'>['params'] + > + ) { + const response = await apmApiClient.readUser({ + endpoint: 'GET /internal/apm/services/{serviceName}/errors/{groupId}', + params: { + path: { + serviceName, + groupId: 'foo', + ...overrides?.path, + }, + query: { + start: new Date(start).toISOString(), + end: new Date(end).toISOString(), + environment: 'ENVIRONMENT_ALL', + kuery: '', + ...overrides?.query, + }, + }, + }); + return response; + } + + registry.when('when data is not loaded', { config: 'basic', archives: [] }, () => { + it('handles the empty state', async () => { + const response = await callApi(); + expect(response.status).to.be(200); + expect(response.body.occurrencesCount).to.be(0); + }); + }); + + registry.when( + 'when data is loaded', + { config: 'basic', archives: ['apm_mappings_only_8.0.0'] }, + () => { + const { bananaTransaction } = config; + describe('error group id', () => { + before(async () => { + await generateData({ serviceName, start, end, synthtraceEsClient }); + }); + + after(() => synthtraceEsClient.clean()); + + describe('return correct data', () => { + let errorsDistribution: ErrorsDistribution; + before(async () => { + const response = await callApi({ + path: { groupId: '0000000000000000000000000Error 1' }, + }); + errorsDistribution = response.body; + }); + + it('displays correct number of occurrences', () => { + const numberOfBuckets = 15; + expect(errorsDistribution.occurrencesCount).to.equal( + bananaTransaction.failureRate * numberOfBuckets + ); + }); + }); + }); + } + ); +} diff --git a/x-pack/test/apm_api_integration/tests/index.ts b/x-pack/test/apm_api_integration/tests/index.ts index b6693e9d344f25..46966834a176e1 100644 --- a/x-pack/test/apm_api_integration/tests/index.ts +++ b/x-pack/test/apm_api_integration/tests/index.ts @@ -14,249 +14,254 @@ export default function apmApiIntegrationTests(providerContext: FtrProviderConte describe('APM API tests', function () { this.tags('ciGroup1'); - // // inspect feature - // describe('inspect/inspect', function () { - // loadTestFile(require.resolve('./inspect/inspect')); - // }); - - // // alerts - // describe('alerts/chart_preview', function () { - // loadTestFile(require.resolve('./alerts/chart_preview')); - // }); - - // describe('alerts/rule_registry', function () { - // loadTestFile(require.resolve('./alerts/rule_registry')); - // }); - - // // correlations - // describe('correlations/failed_transactions', function () { - // loadTestFile(require.resolve('./correlations/failed_transactions')); - // }); - - // describe('correlations/latency', function () { - // loadTestFile(require.resolve('./correlations/latency')); - // }); - - // describe('event_metadata/event_metadata', function () { - // loadTestFile(require.resolve('./event_metadata/event_metadata')); - // }); - - // describe('metrics_charts/metrics_charts', function () { - // loadTestFile(require.resolve('./metrics_charts/metrics_charts')); - // }); - - // describe('observability_overview/has_data', function () { - // loadTestFile(require.resolve('./observability_overview/has_data')); - // }); - - // describe('observability_overview/observability_overview', function () { - // loadTestFile(require.resolve('./observability_overview/observability_overview')); - // }); - - // describe('service_maps/service_maps', function () { - // loadTestFile(require.resolve('./service_maps/service_maps')); - // }); - - // // Service overview - // describe('service_overview/dependencies', function () { - // loadTestFile(require.resolve('./service_overview/dependencies')); - // }); - - // describe('service_overview/instances_main_statistics', function () { - // loadTestFile(require.resolve('./service_overview/instances_main_statistics')); - // }); - - // describe('service_overview/instances_detailed_statistics', function () { - // loadTestFile(require.resolve('./service_overview/instances_detailed_statistics')); - // }); - - // describe('service_overview/instance_details', function () { - // loadTestFile(require.resolve('./service_overview/instance_details')); - // }); - - // // Services - // describe('services/agent', function () { - // loadTestFile(require.resolve('./services/agent')); - // }); - - // describe('services/annotations', function () { - // loadTestFile(require.resolve('./services/annotations')); - // loadTestFile(require.resolve('./services/derived_annotations')); - // }); - - // describe('services/service_details', function () { - // loadTestFile(require.resolve('./services/service_details')); - // }); - - // describe('services/service_icons', function () { - // loadTestFile(require.resolve('./services/service_icons')); - // }); - - // describe('services/throughput', function () { - // loadTestFile(require.resolve('./services/throughput')); - // }); - - // describe('service apis throughput', function () { - // loadTestFile(require.resolve('./throughput/service_apis')); - // }); - - // describe('dependencies throughput', function () { - // loadTestFile(require.resolve('./throughput/dependencies_apis')); - // }); - - // describe('services/top_services', function () { - // loadTestFile(require.resolve('./services/top_services')); - // }); - - // describe('services/transaction_types', function () { - // loadTestFile(require.resolve('./services/transaction_types')); - // }); - - // describe('services/error_groups_main_statistics', function () { - // loadTestFile(require.resolve('./services/error_groups/error_groups_main_statistics')); - // }); - - // describe('services/error_groups_detailed_statistics', function () { - // loadTestFile(require.resolve('./services/error_groups/error_groups_detailed_statistics')); - // }); - - // describe('services/detailed_statistics', function () { - // loadTestFile(require.resolve('./services/services_detailed_statistics')); - // }); - - // // Settings - // describe('settings/anomaly_detection/basic', function () { - // loadTestFile(require.resolve('./settings/anomaly_detection/basic')); - // }); - - // describe('settings/anomaly_detection/no_access_user', function () { - // loadTestFile(require.resolve('./settings/anomaly_detection/no_access_user')); - // }); - - // describe('settings/anomaly_detection/read_user', function () { - // loadTestFile(require.resolve('./settings/anomaly_detection/read_user')); - // }); - - // describe('settings/anomaly_detection/write_user', function () { - // loadTestFile(require.resolve('./settings/anomaly_detection/write_user')); - // }); - - // describe('settings/agent_configuration', function () { - // loadTestFile(require.resolve('./settings/agent_configuration')); - // }); - - // describe('settings/custom_link', function () { - // loadTestFile(require.resolve('./settings/custom_link')); - // }); - - // // suggestions - // describe('suggestions', function () { - // loadTestFile(require.resolve('./suggestions/suggestions')); - // }); - - // // traces - // describe('traces/top_traces', function () { - // loadTestFile(require.resolve('./traces/top_traces')); - // }); - // describe('/internal/apm/traces/{traceId}', function () { - // loadTestFile(require.resolve('./traces/trace_by_id')); - // }); - - // // transactions - // describe('transactions/breakdown', function () { - // loadTestFile(require.resolve('./transactions/breakdown')); - // }); - - // describe('transactions/trace_samples', function () { - // loadTestFile(require.resolve('./transactions/trace_samples')); - // }); - - // describe('transactions/error_rate', function () { - // loadTestFile(require.resolve('./transactions/error_rate')); - // }); - - // describe('transactions/latency_overall_distribution', function () { - // loadTestFile(require.resolve('./transactions/latency_overall_distribution')); - // }); - - // describe('transactions/latency', function () { - // loadTestFile(require.resolve('./transactions/latency')); - // }); - - // describe('transactions/transactions_groups_main_statistics', function () { - // loadTestFile(require.resolve('./transactions/transactions_groups_main_statistics')); - // }); - - // describe('transactions/transactions_groups_detailed_statistics', function () { - // loadTestFile(require.resolve('./transactions/transactions_groups_detailed_statistics')); - // }); - - // // feature control - // describe('feature_controls', function () { - // loadTestFile(require.resolve('./feature_controls')); - // }); - - // // CSM - // describe('csm/csm_services', function () { - // loadTestFile(require.resolve('./csm/csm_services')); - // }); - - // describe('csm/has_rum_data', function () { - // loadTestFile(require.resolve('./csm/has_rum_data')); - // }); - - // describe('csm/js_errors', function () { - // loadTestFile(require.resolve('./csm/js_errors')); - // }); - - // describe('csm/long_task_metrics', function () { - // loadTestFile(require.resolve('./csm/long_task_metrics')); - // }); - - // describe('csm/page_load_dist', function () { - // loadTestFile(require.resolve('./csm/page_load_dist')); - // }); - - // describe('csm/page_views', function () { - // loadTestFile(require.resolve('./csm/page_views')); - // }); - - // describe('csm/url_search', function () { - // loadTestFile(require.resolve('./csm/url_search')); - // }); - - // describe('csm/web_core_vitals', function () { - // loadTestFile(require.resolve('./csm/web_core_vitals')); - // }); - - // describe('historical_data/has_data', function () { - // loadTestFile(require.resolve('./historical_data/has_data')); - // }); - - // describe('error_rate/service_apis', function () { - // loadTestFile(require.resolve('./error_rate/service_apis')); - // }); - - // describe('latency/service_apis', function () { - // loadTestFile(require.resolve('./latency/service_apis')); - // }); - - // describe('errors/distribution', function () { - // loadTestFile(require.resolve('./errors/distribution')); - // }); + // inspect feature + describe('inspect/inspect', function () { + loadTestFile(require.resolve('./inspect/inspect')); + }); + + // alerts + describe('alerts/chart_preview', function () { + loadTestFile(require.resolve('./alerts/chart_preview')); + }); + + describe('alerts/rule_registry', function () { + loadTestFile(require.resolve('./alerts/rule_registry')); + }); + + // correlations + describe('correlations/failed_transactions', function () { + loadTestFile(require.resolve('./correlations/failed_transactions')); + }); + + describe('correlations/latency', function () { + loadTestFile(require.resolve('./correlations/latency')); + }); + + describe('event_metadata/event_metadata', function () { + loadTestFile(require.resolve('./event_metadata/event_metadata')); + }); + + describe('metrics_charts/metrics_charts', function () { + loadTestFile(require.resolve('./metrics_charts/metrics_charts')); + }); + + describe('observability_overview/has_data', function () { + loadTestFile(require.resolve('./observability_overview/has_data')); + }); + + describe('observability_overview/observability_overview', function () { + loadTestFile(require.resolve('./observability_overview/observability_overview')); + }); + + describe('service_maps/service_maps', function () { + loadTestFile(require.resolve('./service_maps/service_maps')); + }); + + // Service overview + describe('service_overview/dependencies', function () { + loadTestFile(require.resolve('./service_overview/dependencies')); + }); + + describe('service_overview/instances_main_statistics', function () { + loadTestFile(require.resolve('./service_overview/instances_main_statistics')); + }); + + describe('service_overview/instances_detailed_statistics', function () { + loadTestFile(require.resolve('./service_overview/instances_detailed_statistics')); + }); + + describe('service_overview/instance_details', function () { + loadTestFile(require.resolve('./service_overview/instance_details')); + }); + + // Services + describe('services/agent', function () { + loadTestFile(require.resolve('./services/agent')); + }); + + describe('services/annotations', function () { + loadTestFile(require.resolve('./services/annotations')); + loadTestFile(require.resolve('./services/derived_annotations')); + }); + + describe('services/service_details', function () { + loadTestFile(require.resolve('./services/service_details')); + }); + + describe('services/service_icons', function () { + loadTestFile(require.resolve('./services/service_icons')); + }); + + describe('services/throughput', function () { + loadTestFile(require.resolve('./services/throughput')); + }); + + describe('service apis throughput', function () { + loadTestFile(require.resolve('./throughput/service_apis')); + }); + + describe('dependencies throughput', function () { + loadTestFile(require.resolve('./throughput/dependencies_apis')); + }); + + describe('services/top_services', function () { + loadTestFile(require.resolve('./services/top_services')); + }); + + describe('services/transaction_types', function () { + loadTestFile(require.resolve('./services/transaction_types')); + }); + + describe('services/error_groups_main_statistics', function () { + loadTestFile(require.resolve('./services/error_groups/error_groups_main_statistics')); + }); + + describe('services/error_groups_detailed_statistics', function () { + loadTestFile(require.resolve('./services/error_groups/error_groups_detailed_statistics')); + }); + + describe('services/detailed_statistics', function () { + loadTestFile(require.resolve('./services/services_detailed_statistics')); + }); + + // Settinges + describe('settings/anomaly_detection/basic', function () { + loadTestFile(require.resolve('./settings/anomaly_detection/basic')); + }); + + describe('settings/anomaly_detection/no_access_user', function () { + loadTestFile(require.resolve('./settings/anomaly_detection/no_access_user')); + }); + + describe('settings/anomaly_detection/read_user', function () { + loadTestFile(require.resolve('./settings/anomaly_detection/read_user')); + }); + + describe('settings/anomaly_detection/write_user', function () { + loadTestFile(require.resolve('./settings/anomaly_detection/write_user')); + }); + + describe('settings/agent_configuration', function () { + loadTestFile(require.resolve('./settings/agent_configuration')); + }); + + describe('settings/custom_link', function () { + loadTestFile(require.resolve('./settings/custom_link')); + }); + + // suggestions + describe('suggestions', function () { + loadTestFile(require.resolve('./suggestions/suggestions')); + }); + + // traces + describe('traces/top_traces', function () { + loadTestFile(require.resolve('./traces/top_traces')); + }); + describe('/internal/apm/traces/{traceId}', function () { + loadTestFile(require.resolve('./traces/trace_by_id')); + }); + + // transactions + describe('transactions/breakdown', function () { + loadTestFile(require.resolve('./transactions/breakdown')); + }); + + describe('transactions/trace_samples', function () { + loadTestFile(require.resolve('./transactions/trace_samples')); + }); + + describe('transactions/error_rate', function () { + loadTestFile(require.resolve('./transactions/error_rate')); + }); + + describe('transactions/latency_overall_distribution', function () { + loadTestFile(require.resolve('./transactions/latency_overall_distribution')); + }); + + describe('transactions/latency', function () { + loadTestFile(require.resolve('./transactions/latency')); + }); + + describe('transactions/transactions_groups_main_statistics', function () { + loadTestFile(require.resolve('./transactions/transactions_groups_main_statistics')); + }); + + describe('transactions/transactions_groups_detailed_statistics', function () { + loadTestFile(require.resolve('./transactions/transactions_groups_detailed_statistics')); + }); + + // feature control + describe('feature_controls', function () { + loadTestFile(require.resolve('./feature_controls')); + }); + + // CSM + describe('csm/csm_services', function () { + loadTestFile(require.resolve('./csm/csm_services')); + }); + + describe('csm/has_rum_data', function () { + loadTestFile(require.resolve('./csm/has_rum_data')); + }); + + describe('csm/js_errors', function () { + loadTestFile(require.resolve('./csm/js_errors')); + }); + + describe('csm/long_task_metrics', function () { + loadTestFile(require.resolve('./csm/long_task_metrics')); + }); + + describe('csm/page_load_dist', function () { + loadTestFile(require.resolve('./csm/page_load_dist')); + }); + + describe('csm/page_views', function () { + loadTestFile(require.resolve('./csm/page_views')); + }); + + describe('csm/url_search', function () { + loadTestFile(require.resolve('./csm/url_search')); + }); + + describe('csm/web_core_vitals', function () { + loadTestFile(require.resolve('./csm/web_core_vitals')); + }); + + describe('historical_data/has_data', function () { + loadTestFile(require.resolve('./historical_data/has_data')); + }); + + describe('error_rate/service_apis', function () { + loadTestFile(require.resolve('./error_rate/service_apis')); + }); + + describe('latency/service_apis', function () { + loadTestFile(require.resolve('./latency/service_apis')); + }); + + // Errors + describe('errors/group_id', function () { + loadTestFile(require.resolve('./errors/group_id')); + }); + + describe('errors/distribution', function () { + loadTestFile(require.resolve('./errors/distribution')); + }); describe('errors/error_group_list', function () { loadTestFile(require.resolve('./errors/error_group_list')); }); - // // Dependencies - // describe('dependencies/metadata', function () { - // loadTestFile(require.resolve('./dependencies/metadata')); - // }); + // Dependencies + describe('dependencies/metadata', function () { + loadTestFile(require.resolve('./dependencies/metadata')); + }); - // describe('dependencies/top_dependencies', function () { - // loadTestFile(require.resolve('./dependencies/top_dependencies')); - // }); + describe('dependencies/top_dependencies', function () { + loadTestFile(require.resolve('./dependencies/top_dependencies')); + }); registry.run(providerContext); }); From 237d68d6e907c0ee6fd537501405f3d16c562798 Mon Sep 17 00:00:00 2001 From: Tyler Smalley Date: Tue, 2 Nov 2021 08:53:07 -0700 Subject: [PATCH 078/110] [ci] Run Jest tests in parallel (#115687) * [ci] Run Jest tests in parallel Signed-off-by: Tyler Smalley * Disable coverage Signed-off-by: Tyler Smalley * Make hourly match prs Signed-off-by: Tyler Smalley * Update timeout Signed-off-by: Tyler Smalley * mock process.execArgv so that it is consistent * Remove comment Signed-off-by: Tyler Smalley Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> Co-authored-by: spalger --- .buildkite/pipelines/hourly.yml | 15 +++++----- .buildkite/pipelines/pull_request/base.yml | 15 +++++----- .buildkite/scripts/steps/test/jest.sh | 4 +-- .../scripts/steps/test/jest_parallel.sh | 28 +++++++++++++++++++ .../kbn-cli-dev-mode/src/dev_server.test.ts | 6 ++-- packages/kbn-rule-data-utils/jest.config.js | 13 --------- .../jest.config.js | 13 --------- .../jest.config.js | 13 --------- packages/kbn-test/jest-preset.js | 10 ++++++- packages/kbn-test/src/jest/run.ts | 5 ++-- src/plugins/expression_error/jest.config.js | 16 ----------- .../plugins/metrics_entities/jest.config.js | 15 ---------- .../download/ensure_downloaded.test.ts | 3 +- .../server/routes/deprecations.test.ts | 3 +- 14 files changed, 66 insertions(+), 93 deletions(-) create mode 100755 .buildkite/scripts/steps/test/jest_parallel.sh delete mode 100644 packages/kbn-rule-data-utils/jest.config.js delete mode 100644 packages/kbn-securitysolution-list-constants/jest.config.js delete mode 100644 packages/kbn-securitysolution-t-grid/jest.config.js delete mode 100644 src/plugins/expression_error/jest.config.js delete mode 100644 x-pack/plugins/metrics_entities/jest.config.js diff --git a/.buildkite/pipelines/hourly.yml b/.buildkite/pipelines/hourly.yml index b03a46b5b5c667..81875dee70f18b 100644 --- a/.buildkite/pipelines/hourly.yml +++ b/.buildkite/pipelines/hourly.yml @@ -119,6 +119,14 @@ steps: - exit_status: '*' limit: 1 + - command: .buildkite/scripts/steps/test/jest.sh + label: 'Jest Tests' + parallelism: 6 + agents: + queue: n2-4 + timeout_in_minutes: 90 + key: jest + - command: .buildkite/scripts/steps/test/jest_integration.sh label: 'Jest Integration Tests' agents: @@ -133,13 +141,6 @@ steps: timeout_in_minutes: 120 key: api-integration - - command: .buildkite/scripts/steps/test/jest.sh - label: 'Jest Tests' - agents: - queue: c2-16 - timeout_in_minutes: 120 - key: jest - - command: .buildkite/scripts/steps/lint.sh label: 'Linting' agents: diff --git a/.buildkite/pipelines/pull_request/base.yml b/.buildkite/pipelines/pull_request/base.yml index 1013a841dfd271..a3a1881c856c57 100644 --- a/.buildkite/pipelines/pull_request/base.yml +++ b/.buildkite/pipelines/pull_request/base.yml @@ -117,6 +117,14 @@ steps: - exit_status: '*' limit: 1 + - command: .buildkite/scripts/steps/test/jest.sh + label: 'Jest Tests' + parallelism: 6 + agents: + queue: n2-4 + timeout_in_minutes: 90 + key: jest + - command: .buildkite/scripts/steps/test/jest_integration.sh label: 'Jest Integration Tests' agents: @@ -131,13 +139,6 @@ steps: timeout_in_minutes: 120 key: api-integration - - command: .buildkite/scripts/steps/test/jest.sh - label: 'Jest Tests' - agents: - queue: c2-16 - timeout_in_minutes: 120 - key: jest - - command: .buildkite/scripts/steps/lint.sh label: 'Linting' agents: diff --git a/.buildkite/scripts/steps/test/jest.sh b/.buildkite/scripts/steps/test/jest.sh index 2c4e3fe21902d0..d2d1ed10043d6b 100755 --- a/.buildkite/scripts/steps/test/jest.sh +++ b/.buildkite/scripts/steps/test/jest.sh @@ -9,5 +9,5 @@ is_test_execution_step .buildkite/scripts/bootstrap.sh echo '--- Jest' -checks-reporter-with-killswitch "Jest Unit Tests" \ - node scripts/jest --ci --verbose --maxWorkers=10 +checks-reporter-with-killswitch "Jest Unit Tests $((BUILDKITE_PARALLEL_JOB+1))" \ + .buildkite/scripts/steps/test/jest_parallel.sh diff --git a/.buildkite/scripts/steps/test/jest_parallel.sh b/.buildkite/scripts/steps/test/jest_parallel.sh new file mode 100755 index 00000000000000..d3ee75b7add4a9 --- /dev/null +++ b/.buildkite/scripts/steps/test/jest_parallel.sh @@ -0,0 +1,28 @@ +#!/bin/bash + +set -uo pipefail + +JOB=$BUILDKITE_PARALLEL_JOB +JOB_COUNT=$BUILDKITE_PARALLEL_JOB_COUNT + +# a jest failure will result in the script returning an exit +# code of 10 + +i=0 +exitCode=0 + +find src x-pack packages -name jest.config.js -not -path "*/__fixtures__/*" | sort | while read config; do + if [ "$(($i % $JOB_COUNT))" -eq $JOB ]; then + echo "--- $ node scripts/jest --config $config" + node --max-old-space-size=5632 ./node_modules/.bin/jest --config=$config --runInBand --coverage=false + + if [ $? -ne 0 ]; then + exitCode=10 + echo "^^^ +++" + fi + fi + + ((i=i+1)) +done + +exit $exitCode \ No newline at end of file diff --git a/packages/kbn-cli-dev-mode/src/dev_server.test.ts b/packages/kbn-cli-dev-mode/src/dev_server.test.ts index 92dbe484eb0058..5e386e3de59726 100644 --- a/packages/kbn-cli-dev-mode/src/dev_server.test.ts +++ b/packages/kbn-cli-dev-mode/src/dev_server.test.ts @@ -79,6 +79,7 @@ expect.addSnapshotSerializer(extendedEnvSerializer); beforeEach(() => { jest.clearAllMocks(); log.messages.length = 0; + process.execArgv = ['--inheritted', '--exec', '--argv']; currentProc = undefined; }); @@ -138,8 +139,9 @@ describe('#run$', () => { "isDevCliChild": "true", }, "nodeOptions": Array [ - "--preserve-symlinks-main", - "--preserve-symlinks", + "--inheritted", + "--exec", + "--argv", ], "stdio": "pipe", }, diff --git a/packages/kbn-rule-data-utils/jest.config.js b/packages/kbn-rule-data-utils/jest.config.js deleted file mode 100644 index 26cb39fe8b55ae..00000000000000 --- a/packages/kbn-rule-data-utils/jest.config.js +++ /dev/null @@ -1,13 +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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -module.exports = { - preset: '@kbn/test', - rootDir: '../..', - roots: ['/packages/kbn-rule-data-utils'], -}; diff --git a/packages/kbn-securitysolution-list-constants/jest.config.js b/packages/kbn-securitysolution-list-constants/jest.config.js deleted file mode 100644 index 21dffdfcf5a68a..00000000000000 --- a/packages/kbn-securitysolution-list-constants/jest.config.js +++ /dev/null @@ -1,13 +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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -module.exports = { - preset: '@kbn/test', - rootDir: '../..', - roots: ['/packages/kbn-securitysolution-list-constants'], -}; diff --git a/packages/kbn-securitysolution-t-grid/jest.config.js b/packages/kbn-securitysolution-t-grid/jest.config.js deleted file mode 100644 index 21e7d2d71b61a1..00000000000000 --- a/packages/kbn-securitysolution-t-grid/jest.config.js +++ /dev/null @@ -1,13 +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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -module.exports = { - preset: '@kbn/test', - rootDir: '../..', - roots: ['/packages/kbn-securitysolution-t-grid'], -}; diff --git a/packages/kbn-test/jest-preset.js b/packages/kbn-test/jest-preset.js index 0199aa6e311b6f..db64f070b37d9b 100644 --- a/packages/kbn-test/jest-preset.js +++ b/packages/kbn-test/jest-preset.js @@ -46,7 +46,15 @@ module.exports = { modulePathIgnorePatterns: ['__fixtures__/', 'target/'], // Use this configuration option to add custom reporters to Jest - reporters: ['default', '@kbn/test/target_node/jest/junit_reporter'], + reporters: [ + 'default', + [ + '@kbn/test/target_node/jest/junit_reporter', + { + rootDirectory: '.', + }, + ], + ], // The paths to modules that run some code to configure or set up the testing environment before each test setupFiles: [ diff --git a/packages/kbn-test/src/jest/run.ts b/packages/kbn-test/src/jest/run.ts index 4a5dd4e9281baf..f2592500beeee6 100644 --- a/packages/kbn-test/src/jest/run.ts +++ b/packages/kbn-test/src/jest/run.ts @@ -52,11 +52,12 @@ export function runJest(configName = 'jest.config.js') { const runStartTime = Date.now(); const reportTime = getTimeReporter(log, 'scripts/jest'); - let cwd: string; + let testFiles: string[]; + const cwd: string = process.env.INIT_CWD || process.cwd(); + if (!argv.config) { - cwd = process.env.INIT_CWD || process.cwd(); testFiles = argv._.splice(2).map((p) => resolve(cwd, p)); const commonTestFiles = commonBasePath(testFiles); const testFilesProvided = testFiles.length > 0; diff --git a/src/plugins/expression_error/jest.config.js b/src/plugins/expression_error/jest.config.js deleted file mode 100644 index 27774f4003f9e1..00000000000000 --- a/src/plugins/expression_error/jest.config.js +++ /dev/null @@ -1,16 +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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -module.exports = { - preset: '@kbn/test', - rootDir: '../../..', - roots: ['/src/plugins/expression_error'], - coverageDirectory: '/target/kibana-coverage/jest/src/plugins/expression_error', - coverageReporters: ['text', 'html'], - collectCoverageFrom: ['/src/plugins/expression_error/{common,public}/**/*.{ts,tsx}'], -}; diff --git a/x-pack/plugins/metrics_entities/jest.config.js b/x-pack/plugins/metrics_entities/jest.config.js deleted file mode 100644 index 98a391223cc0f9..00000000000000 --- a/x-pack/plugins/metrics_entities/jest.config.js +++ /dev/null @@ -1,15 +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. - */ - -module.exports = { - collectCoverageFrom: ['/x-pack/plugins/metrics_entities/{common,server}/**/*.{ts,tsx}'], - coverageDirectory: '/target/kibana-coverage/jest/x-pack/plugins/metrics_entities', - coverageReporters: ['text', 'html'], - preset: '@kbn/test', - rootDir: '../../..', - roots: ['/x-pack/plugins/metrics_entities'], -}; diff --git a/x-pack/plugins/reporting/server/browsers/download/ensure_downloaded.test.ts b/x-pack/plugins/reporting/server/browsers/download/ensure_downloaded.test.ts index 955e8214af8fa1..9db128c019ac07 100644 --- a/x-pack/plugins/reporting/server/browsers/download/ensure_downloaded.test.ts +++ b/x-pack/plugins/reporting/server/browsers/download/ensure_downloaded.test.ts @@ -17,7 +17,8 @@ import { LevelLogger } from '../../lib'; jest.mock('./checksum'); jest.mock('./download'); -describe('ensureBrowserDownloaded', () => { +// https://github.com/elastic/kibana/issues/115881 +describe.skip('ensureBrowserDownloaded', () => { let logger: jest.Mocked; beforeEach(() => { diff --git a/x-pack/plugins/reporting/server/routes/deprecations.test.ts b/x-pack/plugins/reporting/server/routes/deprecations.test.ts index 5367b6bd531eda..63be2acf52c259 100644 --- a/x-pack/plugins/reporting/server/routes/deprecations.test.ts +++ b/x-pack/plugins/reporting/server/routes/deprecations.test.ts @@ -24,7 +24,8 @@ import { registerDeprecationsRoutes } from './deprecations'; type SetupServerReturn = UnwrapPromise>; -describe(`GET ${API_GET_ILM_POLICY_STATUS}`, () => { +// https://github.com/elastic/kibana/issues/115881 +describe.skip(`GET ${API_GET_ILM_POLICY_STATUS}`, () => { const reportingSymbol = Symbol('reporting'); let server: SetupServerReturn['server']; let httpSetup: SetupServerReturn['httpSetup']; From a720a021a4e14b2e8da6267a0edeca1669317771 Mon Sep 17 00:00:00 2001 From: Joe Reuter Date: Tue, 2 Nov 2021 17:06:09 +0100 Subject: [PATCH 079/110] stabilize combo box selection (#116577) = --- test/functional/services/combo_box.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/test/functional/services/combo_box.ts b/test/functional/services/combo_box.ts index 6706db82ce7086..88201b0ec7e19d 100644 --- a/test/functional/services/combo_box.ts +++ b/test/functional/services/combo_box.ts @@ -46,7 +46,9 @@ export class ComboBoxService extends FtrService { */ private async clickOption(isMouseClick: boolean, element: WebElementWrapper): Promise { // element.click causes scrollIntoView which causes combobox to close, using _webElement.click instead - return isMouseClick ? await element.clickMouseButton() : await element._webElement.click(); + await this.retry.try(async () => { + return isMouseClick ? await element.clickMouseButton() : await element._webElement.click(); + }); } /** From a3b71bea01115c471d9714e741e6201bbeeb5eb9 Mon Sep 17 00:00:00 2001 From: Joe Reuter Date: Tue, 2 Nov 2021 17:07:10 +0100 Subject: [PATCH 080/110] retry chart selection (#116580) --- x-pack/test/examples/embedded_lens/embedded_example.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/x-pack/test/examples/embedded_lens/embedded_example.ts b/x-pack/test/examples/embedded_lens/embedded_example.ts index 3a0891079f24e9..d11495f0450b4b 100644 --- a/x-pack/test/examples/embedded_lens/embedded_example.ts +++ b/x-pack/test/examples/embedded_lens/embedded_example.ts @@ -16,8 +16,10 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { const retry = getService('retry'); async function checkData() { - const data = await elasticChart.getChartDebugData(); - expect(data!.bars![0].bars.length).to.eql(24); + await retry.try(async () => { + const data = await elasticChart.getChartDebugData(); + expect(data!.bars![0].bars.length).to.eql(24); + }); } describe('show and save', () => { From 515d1c1fb6ac6bb374129a780afacdc2736cca47 Mon Sep 17 00:00:00 2001 From: Joe Reuter Date: Tue, 2 Nov 2021 17:07:27 +0100 Subject: [PATCH 081/110] make sure string mode popover is actually closed (#116585) --- .../page_objects/visual_builder_page.ts | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/test/functional/page_objects/visual_builder_page.ts b/test/functional/page_objects/visual_builder_page.ts index 385d250fe761db..f6e6caf102004c 100644 --- a/test/functional/page_objects/visual_builder_page.ts +++ b/test/functional/page_objects/visual_builder_page.ts @@ -506,12 +506,19 @@ export class VisualBuilderPageObject extends FtrService { } public async toggleIndexPatternSelectionModePopover(shouldOpen: boolean) { - const isPopoverOpened = await this.testSubjects.exists( - 'switchIndexPatternSelectionModePopoverContent' - ); - if ((shouldOpen && !isPopoverOpened) || (!shouldOpen && isPopoverOpened)) { - await this.testSubjects.click('switchIndexPatternSelectionModePopoverButton'); - } + await this.retry.try(async () => { + const isPopoverOpened = await this.testSubjects.exists( + 'switchIndexPatternSelectionModePopoverContent' + ); + if ((shouldOpen && !isPopoverOpened) || (!shouldOpen && isPopoverOpened)) { + await this.testSubjects.click('switchIndexPatternSelectionModePopoverButton'); + } + if (shouldOpen) { + await this.testSubjects.existOrFail('switchIndexPatternSelectionModePopoverContent'); + } else { + await this.testSubjects.missingOrFail('switchIndexPatternSelectionModePopoverContent'); + } + }); } public async switchIndexPatternSelectionMode(useKibanaIndices: boolean) { From 87c7289b745642832b093f8685daa8ab6a0a872c Mon Sep 17 00:00:00 2001 From: Tyler Smalley Date: Tue, 2 Nov 2021 09:17:16 -0700 Subject: [PATCH 082/110] [ci] Increase heap of Jest Signed-off-by: Tyler Smalley --- .buildkite/scripts/steps/test/jest_parallel.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.buildkite/scripts/steps/test/jest_parallel.sh b/.buildkite/scripts/steps/test/jest_parallel.sh index d3ee75b7add4a9..963cfae581b1fb 100755 --- a/.buildkite/scripts/steps/test/jest_parallel.sh +++ b/.buildkite/scripts/steps/test/jest_parallel.sh @@ -14,7 +14,7 @@ exitCode=0 find src x-pack packages -name jest.config.js -not -path "*/__fixtures__/*" | sort | while read config; do if [ "$(($i % $JOB_COUNT))" -eq $JOB ]; then echo "--- $ node scripts/jest --config $config" - node --max-old-space-size=5632 ./node_modules/.bin/jest --config=$config --runInBand --coverage=false + node --max-old-space-size=7168 ./node_modules/.bin/jest --config=$config --runInBand --coverage=false if [ $? -ne 0 ]; then exitCode=10 From e53771df2dbba9615dc6a9dab5fa9f85ad700901 Mon Sep 17 00:00:00 2001 From: Matthew Kime Date: Tue, 2 Nov 2021 11:34:59 -0500 Subject: [PATCH 083/110] [docs] index pattern => data view (#110421) (#115497) * [user docs - index patterns] index pattern => data view (#110421) --- ...-patterns.asciidoc => data-views.asciidoc} | 78 +++++++++---------- docs/concepts/index.asciidoc | 16 ++-- docs/concepts/set-time-filter.asciidoc | 2 +- docs/discover/search.asciidoc | 2 +- docs/maps/search.asciidoc | 2 +- docs/redirects.asciidoc | 5 ++ docs/setup/connect-to-elasticsearch.asciidoc | 2 +- docs/user/canvas.asciidoc | 2 +- docs/user/dashboard/dashboard.asciidoc | 4 +- docs/user/dashboard/lens-advanced.asciidoc | 2 +- docs/user/dashboard/tsvb.asciidoc | 2 +- docs/user/discover.asciidoc | 2 +- docs/user/graph/getting-started.asciidoc | 2 +- 13 files changed, 63 insertions(+), 58 deletions(-) rename docs/concepts/{index-patterns.asciidoc => data-views.asciidoc} (55%) diff --git a/docs/concepts/index-patterns.asciidoc b/docs/concepts/data-views.asciidoc similarity index 55% rename from docs/concepts/index-patterns.asciidoc rename to docs/concepts/data-views.asciidoc index b8a10572fd8ebe..7eb95405db6bcb 100644 --- a/docs/concepts/index-patterns.asciidoc +++ b/docs/concepts/data-views.asciidoc @@ -1,45 +1,45 @@ -[[index-patterns]] -=== Create an index pattern +[[data-views]] +=== Create a data view -{kib} requires an index pattern to access the {es} data that you want to explore. -An index pattern selects the data to use and allows you to define properties of the fields. +{kib} requires a data view to access the {es} data that you want to explore. +A data view selects the data to use and allows you to define properties of the fields. -An index pattern can point to one or more indices, {ref}/data-streams.html[data stream], or {ref}/alias.html[index aliases]. -For example, an index pattern can point to your log data from yesterday, +A data view can point to one or more indices, {ref}/data-streams.html[data stream], or {ref}/alias.html[index aliases]. +For example, a data view can point to your log data from yesterday, or all indices that contain your data. [float] -[[index-patterns-read-only-access]] +[[data-views-read-only-access]] === Required permissions -* Access to *Index Patterns* requires the <> -`Index Pattern Management`. +* Access to *Data Views* requires the <> +`Data View Management`. -* To create an index pattern, you must have the <> +* To create a data view, you must have the <> `view_index_metadata`. * If a read-only indicator appears in {kib}, you have insufficient privileges -to create or save index patterns. The buttons to create new index patterns or -save existing index patterns are not visible. For more information, +to create or save data views. The buttons to create new data views or +save existing data views are not visible. For more information, refer to <>. [float] [[settings-create-pattern]] -=== Create an index pattern +=== Create a data view If you collected data using one of the {kib} <>, uploaded a file, or added sample data, -you get an index pattern for free, and can start exploring your data. -If you loaded your own data, follow these steps to create an index pattern. +you get a data view for free, and can start exploring your data. +If you loaded your own data, follow these steps to create a data view. -. Open the main menu, then click to *Stack Management > Index Patterns*. +. Open the main menu, then click to *Stack Management > Data Views*. + +. Click *Create data view*. -. Click *Create index pattern*. -+ [role="screenshot"] -image:management/index-patterns/images/create-index-pattern.png["Create index pattern"] +image:management/index-patterns/images/create-index-pattern.png["Create data view"] -. Start typing in the *Index pattern* field, and {kib} looks for the names of +. Start typing in the *name* field, and {kib} looks for the names of indices, data streams, and aliases that match your input. + ** To match multiple sources, use a wildcard (*). For example, `filebeat-*` matches @@ -61,21 +61,21 @@ global time filters on your dashboards. This is useful if you have multiple time fields and want to create dashboards that combine visualizations based on different timestamps. -. Click *Create index pattern*. +. Click *Create data view*. + [[reload-fields]] {kib} is now configured to use your {es} data. When a new field is added to an index, -the index pattern field list is updated -the next time the index pattern is loaded, for example, when you load the page or +the data view field list is updated +the next time the data view is loaded, for example, when you load the page or move between {kib} apps. -. Select this index pattern when you search and visualize your data. +. Select this data view when you search and visualize your data. [float] -[[rollup-index-pattern]] -==== Create an index pattern for rolled up data +[[rollup-data-view]] +==== Create a data view for rolled up data -An index pattern can match one rollup index. For a combination rollup -index pattern with both raw and rolled up data, use the standard notation: +A data view can match one rollup index. For a combination rollup +data view with both raw and rolled up data, use the standard notation: ```ts rollup_logstash,kibana_sample_data_logs @@ -84,7 +84,7 @@ For an example, refer to < Index Patterns*. +. Open the main menu, then click *Stack Management > Data Views*. -. Click the index pattern to delete. +. Click the data view to delete. -. Delete (image:management/index-patterns/images/delete.png[Delete icon]) the index pattern. +. Delete (image:management/index-patterns/images/delete.png[Delete icon]) the data view. diff --git a/docs/concepts/index.asciidoc b/docs/concepts/index.asciidoc index 20d7103f021cd6..eac26beee1f9b1 100644 --- a/docs/concepts/index.asciidoc +++ b/docs/concepts/index.asciidoc @@ -35,19 +35,19 @@ Open the search bar using the keyboard shortcut Ctrl+/ on Windows and Linux, Com image:concepts/images/global-search.png["Global search showing matches to apps and saved objects for the word visualize"] [float] -=== Accessing data with index patterns +=== Accessing data with data views -{kib} requires an index pattern to tell it which {es} data you want to access, -and whether the data is time-based. An index pattern can point to one or more {es} +{kib} requires a data view to tell it which {es} data you want to access, +and whether the data is time-based. A data view can point to one or more {es} data streams, indices, or index aliases by name. For example, `logs-elasticsearch-prod-*` is an index pattern, and it is time-based with a time field of `@timestamp`. The time field is not editable. -Index patterns are typically created by an administrator when sending data to {es}. -You can <> in *Stack Management*, or by using a script +Data views are typically created by an administrator when sending data to {es}. +You can <> in *Stack Management*, or by using a script that accesses the {kib} API. -{kib} uses the index pattern to show you a list of fields, such as +{kib} uses the data view to show you a list of fields, such as `event.duration`. You can customize the display name and format for each field. For example, you can tell {kib} to display `event.duration` in seconds. {kib} has <> for strings, @@ -75,7 +75,7 @@ and can optionally contain the time filter and extra filters. ==== Time filter The <> limits the time range of data displayed. -In most cases, the time filter applies to the time field in the index pattern, +In most cases, the time filter applies to the time field in the data view, but some apps allow you to use a different time field. Using the time filter, you can configure a refresh rate to periodically @@ -159,7 +159,7 @@ Use the global search to quickly open a saved object. * Go to <> for instructions on searching your data. -include::index-patterns.asciidoc[] +include::data-views.asciidoc[] include::set-time-filter.asciidoc[] diff --git a/docs/concepts/set-time-filter.asciidoc b/docs/concepts/set-time-filter.asciidoc index e4784a97e816b1..116bcd6f91f774 100644 --- a/docs/concepts/set-time-filter.asciidoc +++ b/docs/concepts/set-time-filter.asciidoc @@ -2,7 +2,7 @@ === Set the time range Display data within a specified time range when your index contains time-based events, and a time-field is configured for the -selected <>. +selected <>. The default time range is 15 minutes, but you can customize it in <>. diff --git a/docs/discover/search.asciidoc b/docs/discover/search.asciidoc index 0306be3eb670d7..4f4f8f5b48d102 100644 --- a/docs/discover/search.asciidoc +++ b/docs/discover/search.asciidoc @@ -3,7 +3,7 @@ You can search your data in any app that has a query bar, or by clicking on elements in a visualization. A search matches indices in the current -<> and in the current <>. +<> and in the current <>. [float] diff --git a/docs/maps/search.asciidoc b/docs/maps/search.asciidoc index 08624e4ddff57f..a170bcc414d3b0 100644 --- a/docs/maps/search.asciidoc +++ b/docs/maps/search.asciidoc @@ -43,7 +43,7 @@ To prevent the global search from applying to a layer, configure the following: [[maps-narrow-layer-by-global-time]] ==== Narrow layers by global time -Layers that request data from {es} using an <> with a configured time field are narrowed by the <>. +Layers that request data from {es} using a <> with a configured time field are narrowed by the <>. These layers contain the clock icon image:maps/images/clock_icon.png[clock icon] next to the layer name in the legend. Use the time slider to quickly select time slices within the global time range: diff --git a/docs/redirects.asciidoc b/docs/redirects.asciidoc index d5bc2ccd8ef7d4..4010083d601b56 100644 --- a/docs/redirects.asciidoc +++ b/docs/redirects.asciidoc @@ -358,3 +358,8 @@ This content has moved. Refer to <>. == Rendering pre-captured profiler JSON This content has moved. Refer to <>. + +[role="exclude",id="index-patterns"] +== Index patterns has been renamed to data views. + +This content has moved. Refer to <>. diff --git a/docs/setup/connect-to-elasticsearch.asciidoc b/docs/setup/connect-to-elasticsearch.asciidoc index ad38ac1710fd56..b1d9d3ea2ea185 100644 --- a/docs/setup/connect-to-elasticsearch.asciidoc +++ b/docs/setup/connect-to-elasticsearch.asciidoc @@ -84,7 +84,7 @@ You can manage your roles, privileges, and spaces in **{stack-manage-app}** in If the {kib} ingest options don't work for you, you can index your data into Elasticsearch with {ref}/getting-started-index.html[REST APIs] or https://www.elastic.co/guide/en/elasticsearch/client/index.html[client libraries]. -After you add your data, you're required to create an <> to tell +After you add your data, you're required to create a <> to tell {kib} where to find the data. * To add data for Elastic Observability, refer to {observability-guide}/add-observability-data.html[Send data to Elasticsearch]. diff --git a/docs/user/canvas.asciidoc b/docs/user/canvas.asciidoc index 1cd8eacc456c7f..1f469b697c2189 100644 --- a/docs/user/canvas.asciidoc +++ b/docs/user/canvas.asciidoc @@ -43,7 +43,7 @@ To create workpads, you must meet the minimum requirements. * If you need to set up {kib}, use https://www.elastic.co/cloud/elasticsearch-service/signup?baymax=docs-body&elektra=docs[our free trial]. -* Make sure you have {ref}/getting-started-index.html[data indexed into {es}] and an <>. +* Make sure you have {ref}/getting-started-index.html[data indexed into {es}] and a <>. * Have an understanding of {ref}/documents-indices.html[{es} documents and indices]. diff --git a/docs/user/dashboard/dashboard.asciidoc b/docs/user/dashboard/dashboard.asciidoc index a2e0eb6bf92e90..474b45f4989fbf 100644 --- a/docs/user/dashboard/dashboard.asciidoc +++ b/docs/user/dashboard/dashboard.asciidoc @@ -5,7 +5,7 @@ -- **_Visualize your data with dashboards._** -The best way to understand your data is to visualize it. With dashboards, you can turn your data from one or more <> into a collection of panels +The best way to understand your data is to visualize it. With dashboards, you can turn your data from one or more <> into a collection of panels that bring clarity to your data, tell a story about your data, and allow you to focus on only the data that's important to you. [role="screenshot"] @@ -53,7 +53,7 @@ To create dashboards, you must meet the minimum requirements. * If you need to set up {kib}, use https://www.elastic.co/cloud/elasticsearch-service/signup?baymax=docs-body&elektra=docs[our free trial]. -* Make sure you have {ref}/getting-started-index.html[data indexed into {es}] and an <>. +* Make sure you have {ref}/getting-started-index.html[data indexed into {es}] and a <>. * When the read-only indicator appears, you have insufficient privileges to create or save dashboards, and the options to create and save dashboards are not visible. For more information, diff --git a/docs/user/dashboard/lens-advanced.asciidoc b/docs/user/dashboard/lens-advanced.asciidoc index d5a52428cff369..02e0afd2c03118 100644 --- a/docs/user/dashboard/lens-advanced.asciidoc +++ b/docs/user/dashboard/lens-advanced.asciidoc @@ -33,7 +33,7 @@ Open *Lens*, then make sure the correct fields appear. . Make sure the *kibana_sample_data_ecommerce* index appears. + -If you are using your own data, select the <> that contains your data. +If you are using your own data, select the <> that contains your data. [discrete] [[custom-time-interval]] diff --git a/docs/user/dashboard/tsvb.asciidoc b/docs/user/dashboard/tsvb.asciidoc index 9fe6af2d3da6df..c944ec2c9e0837 100644 --- a/docs/user/dashboard/tsvb.asciidoc +++ b/docs/user/dashboard/tsvb.asciidoc @@ -8,7 +8,7 @@ With *TSVB*, you can: * Combine an infinite number of <> to display your data. * Annotate time series data with timestamped events from an {es} index. * View the data in several types of visualizations, including charts, data tables, and markdown panels. -* Display multiple <> in each visualization. +* Display multiple <> in each visualization. * Use custom functions and some math on aggregations. * Customize the data with labels and colors. diff --git a/docs/user/discover.asciidoc b/docs/user/discover.asciidoc index e52531f9decdc9..a485bb4c96efe3 100644 --- a/docs/user/discover.asciidoc +++ b/docs/user/discover.asciidoc @@ -64,7 +64,7 @@ Tell {kib} where to find the data you want to explore, and then specify the time . Select the data you want to work with. + -{kib} uses an <> to tell it where to find +{kib} uses a <> to tell it where to find your {es} data. To view the ecommerce sample data, make sure the index pattern is set to **kibana_sample_data_ecommerce**. + diff --git a/docs/user/graph/getting-started.asciidoc b/docs/user/graph/getting-started.asciidoc index 086c0707b3c2cd..5e87efc5e8acae 100644 --- a/docs/user/graph/getting-started.asciidoc +++ b/docs/user/graph/getting-started.asciidoc @@ -3,7 +3,7 @@ == Create a graph You must index data into {es} before you can create a graph. -<> or get started with a <>. +<> or get started with a <>. [float] [[exploring-connections]] From c149fe6f926e8d5c8214294d330e621205140e88 Mon Sep 17 00:00:00 2001 From: Claudio Procida Date: Tue, 2 Nov 2021 17:43:24 +0100 Subject: [PATCH 084/110] [RAC] Updates Alerts table cell actions (#116446) * Adds Filter Out button to alert table cell flyout * Adds translations * Fixes capitalization of labels * Removes unused declarations and imports * Fixes and adds functional tests for Alerts table action buttons * Addresses review comments * Fixes Alert table cell actions functional tests * Removes Filter out action for now Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../pages/alerts/default_cell_actions.tsx | 50 ++----------------- .../public/pages/alerts/filter_for_value.tsx | 2 +- .../public/components/t_grid/body/index.tsx | 9 +++- .../services/observability/alerts/common.ts | 15 ++---- .../apps/observability/alerts/index.ts | 10 ++-- 5 files changed, 20 insertions(+), 66 deletions(-) diff --git a/x-pack/plugins/observability/public/pages/alerts/default_cell_actions.tsx b/x-pack/plugins/observability/public/pages/alerts/default_cell_actions.tsx index 5ad4804f88d5e0..3adfb0a1d9c891 100644 --- a/x-pack/plugins/observability/public/pages/alerts/default_cell_actions.tsx +++ b/x-pack/plugins/observability/public/pages/alerts/default_cell_actions.tsx @@ -7,58 +7,16 @@ import React from 'react'; import { i18n } from '@kbn/i18n'; -import { ObservabilityPublicPluginsStart } from '../..'; import { getMappedNonEcsValue } from './render_cell_value'; import FilterForValueButton from './filter_for_value'; -import { useKibana } from '../../../../../../src/plugins/kibana_react/public'; import { TimelineNonEcsData } from '../../../../timelines/common/search_strategy'; import { TGridCellAction } from '../../../../timelines/common/types/timeline'; -import { getPageRowIndex, TimelinesUIStart } from '../../../../timelines/public'; +import { getPageRowIndex } from '../../../../timelines/public'; export const FILTER_FOR_VALUE = i18n.translate('xpack.observability.hoverActions.filterForValue', { defaultMessage: 'Filter for value', }); -/** a hook to eliminate the verbose boilerplate required to use common services */ -const useKibanaServices = () => { - const { timelines } = useKibana<{ timelines: TimelinesUIStart }>().services; - const { - services: { - data: { - query: { filterManager }, - }, - }, - } = useKibana(); - - return { timelines, filterManager }; -}; - -/** actions common to all cells (e.g. copy to clipboard) */ -const commonCellActions: TGridCellAction[] = [ - ({ data, pageSize }: { data: TimelineNonEcsData[][]; pageSize: number }) => - ({ rowIndex, columnId, Component }) => { - const { timelines } = useKibanaServices(); - - const value = getMappedNonEcsValue({ - data: data[getPageRowIndex(rowIndex, pageSize)], - fieldName: columnId, - }); - - return ( - <> - {timelines.getHoverActions().getCopyButton({ - Component, - field: columnId, - isHoverAction: false, - ownFocus: false, - showTooltip: false, - value, - })} - - ); - }, -]; - /** actions for adding filters to the search bar */ const buildFilterCellActions = (addToQuery: (value: string) => void): TGridCellAction[] => [ ({ data, pageSize }: { data: TimelineNonEcsData[][]; pageSize: number }) => @@ -80,7 +38,5 @@ const buildFilterCellActions = (addToQuery: (value: string) => void): TGridCellA ]; /** returns the default actions shown in `EuiDataGrid` cells */ -export const getDefaultCellActions = ({ addToQuery }: { addToQuery: (value: string) => void }) => [ - ...buildFilterCellActions(addToQuery), - ...commonCellActions, -]; +export const getDefaultCellActions = ({ addToQuery }: { addToQuery: (value: string) => void }) => + buildFilterCellActions(addToQuery); diff --git a/x-pack/plugins/observability/public/pages/alerts/filter_for_value.tsx b/x-pack/plugins/observability/public/pages/alerts/filter_for_value.tsx index 77cac9d482a375..f75ae488c9b289 100644 --- a/x-pack/plugins/observability/public/pages/alerts/filter_for_value.tsx +++ b/x-pack/plugins/observability/public/pages/alerts/filter_for_value.tsx @@ -11,7 +11,7 @@ import { i18n } from '@kbn/i18n'; export const filterForValueButtonLabel = i18n.translate( 'xpack.observability.hoverActions.filterForValueButtonLabel', { - defaultMessage: 'Filter for value', + defaultMessage: 'Filter in', } ); diff --git a/x-pack/plugins/timelines/public/components/t_grid/body/index.tsx b/x-pack/plugins/timelines/public/components/t_grid/body/index.tsx index 9e43c16fd5e6ff..29766a5b8a1f5b 100644 --- a/x-pack/plugins/timelines/public/components/t_grid/body/index.tsx +++ b/x-pack/plugins/timelines/public/components/t_grid/body/index.tsx @@ -146,7 +146,14 @@ const EuiDataGridContainer = styled.div<{ hideLastPage: boolean }>` } `; -const FIELDS_WITHOUT_CELL_ACTIONS = ['@timestamp', 'signal.rule.risk_score', 'signal.reason']; +// TODO: accept extra list of column ids without actions from callsites +const FIELDS_WITHOUT_CELL_ACTIONS = [ + '@timestamp', + 'signal.rule.risk_score', + 'signal.reason', + 'kibana.alert.duration.us', + 'kibana.alert.reason', +]; const hasCellActions = (columnId?: string) => columnId && FIELDS_WITHOUT_CELL_ACTIONS.indexOf(columnId) < 0; const transformControlColumns = ({ diff --git a/x-pack/test/functional/services/observability/alerts/common.ts b/x-pack/test/functional/services/observability/alerts/common.ts index f47d17039b5aef..7e29b94c85fa31 100644 --- a/x-pack/test/functional/services/observability/alerts/common.ts +++ b/x-pack/test/functional/services/observability/alerts/common.ts @@ -16,7 +16,7 @@ const DATE_WITH_DATA = { }; const ALERTS_FLYOUT_SELECTOR = 'alertsFlyout'; -const COPY_TO_CLIPBOARD_BUTTON_SELECTOR = 'copy-to-clipboard'; +const FILTER_FOR_VALUE_BUTTON_SELECTOR = 'filter-for-value'; const ALERTS_TABLE_CONTAINER_SELECTOR = 'events-viewer-panel'; const ACTION_COLUMN_INDEX = 1; @@ -149,16 +149,12 @@ export function ObservabilityAlertsCommonProvider({ // Cell actions - const copyToClipboardButtonExists = async () => { - return await testSubjects.exists(COPY_TO_CLIPBOARD_BUTTON_SELECTOR); - }; - - const getCopyToClipboardButton = async () => { - return await testSubjects.find(COPY_TO_CLIPBOARD_BUTTON_SELECTOR); + const filterForValueButtonExists = async () => { + return await testSubjects.exists(FILTER_FOR_VALUE_BUTTON_SELECTOR); }; const getFilterForValueButton = async () => { - return await testSubjects.find('filter-for-value'); + return await testSubjects.find(FILTER_FOR_VALUE_BUTTON_SELECTOR); }; const openActionsMenuForRow = async (rowIndex: number) => { @@ -216,15 +212,14 @@ export function ObservabilityAlertsCommonProvider({ getQueryBar, clearQueryBar, closeAlertsFlyout, + filterForValueButtonExists, getAlertsFlyout, getAlertsFlyoutDescriptionListDescriptions, getAlertsFlyoutDescriptionListTitles, getAlertsFlyoutOrFail, getAlertsFlyoutTitle, getAlertsFlyoutViewInAppButtonOrFail, - getCopyToClipboardButton, getFilterForValueButton, - copyToClipboardButtonExists, getNoDataPageOrFail, getNoDataStateOrFail, getTableCells, diff --git a/x-pack/test/observability_functional/apps/observability/alerts/index.ts b/x-pack/test/observability_functional/apps/observability/alerts/index.ts index 112c24f7c3a88c..216a9736fbe87b 100644 --- a/x-pack/test/observability_functional/apps/observability/alerts/index.ts +++ b/x-pack/test/observability_functional/apps/observability/alerts/index.ts @@ -189,19 +189,15 @@ export default ({ getService }: FtrProviderContext) => { await alertStatusCell.moveMouseTo(); await retry.waitFor( 'cell actions visible', - async () => await observability.alerts.common.copyToClipboardButtonExists() + async () => await observability.alerts.common.filterForValueButtonExists() ); }); }); afterEach(async () => { await observability.alerts.common.clearQueryBar(); - }); - - it('Copy button works', async () => { - // NOTE: We don't have access to the clipboard in a headless environment, - // so we'll just check the button is clickable in the functional tests. - await (await observability.alerts.common.getCopyToClipboardButton()).click(); + // Reset the query bar by hiding the dropdown + await observability.alerts.common.submitQuery(''); }); it('Filter for value works', async () => { From 441003df5cf909d6922527713de2911ae36ad7fa Mon Sep 17 00:00:00 2001 From: Tyler Smalley Date: Tue, 2 Nov 2021 09:46:00 -0700 Subject: [PATCH 085/110] Ignore eslint no-explicit-any Signed-off-by: Tyler Smalley --- x-pack/plugins/osquery/public/saved_queries/use_saved_queries.ts | 1 + x-pack/plugins/osquery/public/saved_queries/use_saved_query.ts | 1 + 2 files changed, 2 insertions(+) diff --git a/x-pack/plugins/osquery/public/saved_queries/use_saved_queries.ts b/x-pack/plugins/osquery/public/saved_queries/use_saved_queries.ts index 8f697581642e67..9de40c759c2cf9 100644 --- a/x-pack/plugins/osquery/public/saved_queries/use_saved_queries.ts +++ b/x-pack/plugins/osquery/public/saved_queries/use_saved_queries.ts @@ -24,6 +24,7 @@ export const useSavedQueries = ({ return useQuery( [SAVED_QUERIES_ID, { pageIndex, pageSize, sortField, sortDirection }], () => + // eslint-disable-next-line @typescript-eslint/no-explicit-any http.get('/internal/osquery/saved_query', { query: { pageIndex, pageSize, sortField, sortDirection }, }), diff --git a/x-pack/plugins/osquery/public/saved_queries/use_saved_query.ts b/x-pack/plugins/osquery/public/saved_queries/use_saved_query.ts index 8f24f7734fc46b..f05f38b8259ce6 100644 --- a/x-pack/plugins/osquery/public/saved_queries/use_saved_query.ts +++ b/x-pack/plugins/osquery/public/saved_queries/use_saved_query.ts @@ -26,6 +26,7 @@ export const useSavedQuery = ({ savedQueryId }: UseSavedQueryProps) => { return useQuery( [SAVED_QUERY_ID, { savedQueryId }], + // eslint-disable-next-line @typescript-eslint/no-explicit-any () => http.get(`/internal/osquery/saved_query/${savedQueryId}`), { keepPreviousData: true, From 5d557539e48f86bba722cb87333bd764c189fd42 Mon Sep 17 00:00:00 2001 From: Tyler Smalley Date: Tue, 2 Nov 2021 10:05:31 -0700 Subject: [PATCH 086/110] Revert "[ci] Increase heap of Jest" This reverts commit 87c7289b745642832b093f8685daa8ab6a0a872c. --- .buildkite/scripts/steps/test/jest_parallel.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.buildkite/scripts/steps/test/jest_parallel.sh b/.buildkite/scripts/steps/test/jest_parallel.sh index 963cfae581b1fb..d3ee75b7add4a9 100755 --- a/.buildkite/scripts/steps/test/jest_parallel.sh +++ b/.buildkite/scripts/steps/test/jest_parallel.sh @@ -14,7 +14,7 @@ exitCode=0 find src x-pack packages -name jest.config.js -not -path "*/__fixtures__/*" | sort | while read config; do if [ "$(($i % $JOB_COUNT))" -eq $JOB ]; then echo "--- $ node scripts/jest --config $config" - node --max-old-space-size=7168 ./node_modules/.bin/jest --config=$config --runInBand --coverage=false + node --max-old-space-size=5632 ./node_modules/.bin/jest --config=$config --runInBand --coverage=false if [ $? -ne 0 ]; then exitCode=10 From 98de5f673cd89c991f8414a10fd53cfa779121f4 Mon Sep 17 00:00:00 2001 From: Tyler Smalley Date: Tue, 2 Nov 2021 10:05:55 -0700 Subject: [PATCH 087/110] Revert "[ci] Run Jest tests in parallel (#115687)" This reverts commit 237d68d6e907c0ee6fd537501405f3d16c562798. --- .buildkite/pipelines/hourly.yml | 15 +++++----- .buildkite/pipelines/pull_request/base.yml | 15 +++++----- .buildkite/scripts/steps/test/jest.sh | 4 +-- .../scripts/steps/test/jest_parallel.sh | 28 ------------------- .../kbn-cli-dev-mode/src/dev_server.test.ts | 6 ++-- packages/kbn-rule-data-utils/jest.config.js | 13 +++++++++ .../jest.config.js | 13 +++++++++ .../jest.config.js | 13 +++++++++ packages/kbn-test/jest-preset.js | 10 +------ packages/kbn-test/src/jest/run.ts | 5 ++-- src/plugins/expression_error/jest.config.js | 16 +++++++++++ .../plugins/metrics_entities/jest.config.js | 15 ++++++++++ .../download/ensure_downloaded.test.ts | 3 +- .../server/routes/deprecations.test.ts | 3 +- 14 files changed, 93 insertions(+), 66 deletions(-) delete mode 100755 .buildkite/scripts/steps/test/jest_parallel.sh create mode 100644 packages/kbn-rule-data-utils/jest.config.js create mode 100644 packages/kbn-securitysolution-list-constants/jest.config.js create mode 100644 packages/kbn-securitysolution-t-grid/jest.config.js create mode 100644 src/plugins/expression_error/jest.config.js create mode 100644 x-pack/plugins/metrics_entities/jest.config.js diff --git a/.buildkite/pipelines/hourly.yml b/.buildkite/pipelines/hourly.yml index 81875dee70f18b..b03a46b5b5c667 100644 --- a/.buildkite/pipelines/hourly.yml +++ b/.buildkite/pipelines/hourly.yml @@ -119,14 +119,6 @@ steps: - exit_status: '*' limit: 1 - - command: .buildkite/scripts/steps/test/jest.sh - label: 'Jest Tests' - parallelism: 6 - agents: - queue: n2-4 - timeout_in_minutes: 90 - key: jest - - command: .buildkite/scripts/steps/test/jest_integration.sh label: 'Jest Integration Tests' agents: @@ -141,6 +133,13 @@ steps: timeout_in_minutes: 120 key: api-integration + - command: .buildkite/scripts/steps/test/jest.sh + label: 'Jest Tests' + agents: + queue: c2-16 + timeout_in_minutes: 120 + key: jest + - command: .buildkite/scripts/steps/lint.sh label: 'Linting' agents: diff --git a/.buildkite/pipelines/pull_request/base.yml b/.buildkite/pipelines/pull_request/base.yml index a3a1881c856c57..1013a841dfd271 100644 --- a/.buildkite/pipelines/pull_request/base.yml +++ b/.buildkite/pipelines/pull_request/base.yml @@ -117,14 +117,6 @@ steps: - exit_status: '*' limit: 1 - - command: .buildkite/scripts/steps/test/jest.sh - label: 'Jest Tests' - parallelism: 6 - agents: - queue: n2-4 - timeout_in_minutes: 90 - key: jest - - command: .buildkite/scripts/steps/test/jest_integration.sh label: 'Jest Integration Tests' agents: @@ -139,6 +131,13 @@ steps: timeout_in_minutes: 120 key: api-integration + - command: .buildkite/scripts/steps/test/jest.sh + label: 'Jest Tests' + agents: + queue: c2-16 + timeout_in_minutes: 120 + key: jest + - command: .buildkite/scripts/steps/lint.sh label: 'Linting' agents: diff --git a/.buildkite/scripts/steps/test/jest.sh b/.buildkite/scripts/steps/test/jest.sh index d2d1ed10043d6b..2c4e3fe21902d0 100755 --- a/.buildkite/scripts/steps/test/jest.sh +++ b/.buildkite/scripts/steps/test/jest.sh @@ -9,5 +9,5 @@ is_test_execution_step .buildkite/scripts/bootstrap.sh echo '--- Jest' -checks-reporter-with-killswitch "Jest Unit Tests $((BUILDKITE_PARALLEL_JOB+1))" \ - .buildkite/scripts/steps/test/jest_parallel.sh +checks-reporter-with-killswitch "Jest Unit Tests" \ + node scripts/jest --ci --verbose --maxWorkers=10 diff --git a/.buildkite/scripts/steps/test/jest_parallel.sh b/.buildkite/scripts/steps/test/jest_parallel.sh deleted file mode 100755 index d3ee75b7add4a9..00000000000000 --- a/.buildkite/scripts/steps/test/jest_parallel.sh +++ /dev/null @@ -1,28 +0,0 @@ -#!/bin/bash - -set -uo pipefail - -JOB=$BUILDKITE_PARALLEL_JOB -JOB_COUNT=$BUILDKITE_PARALLEL_JOB_COUNT - -# a jest failure will result in the script returning an exit -# code of 10 - -i=0 -exitCode=0 - -find src x-pack packages -name jest.config.js -not -path "*/__fixtures__/*" | sort | while read config; do - if [ "$(($i % $JOB_COUNT))" -eq $JOB ]; then - echo "--- $ node scripts/jest --config $config" - node --max-old-space-size=5632 ./node_modules/.bin/jest --config=$config --runInBand --coverage=false - - if [ $? -ne 0 ]; then - exitCode=10 - echo "^^^ +++" - fi - fi - - ((i=i+1)) -done - -exit $exitCode \ No newline at end of file diff --git a/packages/kbn-cli-dev-mode/src/dev_server.test.ts b/packages/kbn-cli-dev-mode/src/dev_server.test.ts index 5e386e3de59726..92dbe484eb0058 100644 --- a/packages/kbn-cli-dev-mode/src/dev_server.test.ts +++ b/packages/kbn-cli-dev-mode/src/dev_server.test.ts @@ -79,7 +79,6 @@ expect.addSnapshotSerializer(extendedEnvSerializer); beforeEach(() => { jest.clearAllMocks(); log.messages.length = 0; - process.execArgv = ['--inheritted', '--exec', '--argv']; currentProc = undefined; }); @@ -139,9 +138,8 @@ describe('#run$', () => { "isDevCliChild": "true", }, "nodeOptions": Array [ - "--inheritted", - "--exec", - "--argv", + "--preserve-symlinks-main", + "--preserve-symlinks", ], "stdio": "pipe", }, diff --git a/packages/kbn-rule-data-utils/jest.config.js b/packages/kbn-rule-data-utils/jest.config.js new file mode 100644 index 00000000000000..26cb39fe8b55ae --- /dev/null +++ b/packages/kbn-rule-data-utils/jest.config.js @@ -0,0 +1,13 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +module.exports = { + preset: '@kbn/test', + rootDir: '../..', + roots: ['/packages/kbn-rule-data-utils'], +}; diff --git a/packages/kbn-securitysolution-list-constants/jest.config.js b/packages/kbn-securitysolution-list-constants/jest.config.js new file mode 100644 index 00000000000000..21dffdfcf5a68a --- /dev/null +++ b/packages/kbn-securitysolution-list-constants/jest.config.js @@ -0,0 +1,13 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +module.exports = { + preset: '@kbn/test', + rootDir: '../..', + roots: ['/packages/kbn-securitysolution-list-constants'], +}; diff --git a/packages/kbn-securitysolution-t-grid/jest.config.js b/packages/kbn-securitysolution-t-grid/jest.config.js new file mode 100644 index 00000000000000..21e7d2d71b61a1 --- /dev/null +++ b/packages/kbn-securitysolution-t-grid/jest.config.js @@ -0,0 +1,13 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +module.exports = { + preset: '@kbn/test', + rootDir: '../..', + roots: ['/packages/kbn-securitysolution-t-grid'], +}; diff --git a/packages/kbn-test/jest-preset.js b/packages/kbn-test/jest-preset.js index db64f070b37d9b..0199aa6e311b6f 100644 --- a/packages/kbn-test/jest-preset.js +++ b/packages/kbn-test/jest-preset.js @@ -46,15 +46,7 @@ module.exports = { modulePathIgnorePatterns: ['__fixtures__/', 'target/'], // Use this configuration option to add custom reporters to Jest - reporters: [ - 'default', - [ - '@kbn/test/target_node/jest/junit_reporter', - { - rootDirectory: '.', - }, - ], - ], + reporters: ['default', '@kbn/test/target_node/jest/junit_reporter'], // The paths to modules that run some code to configure or set up the testing environment before each test setupFiles: [ diff --git a/packages/kbn-test/src/jest/run.ts b/packages/kbn-test/src/jest/run.ts index f2592500beeee6..4a5dd4e9281baf 100644 --- a/packages/kbn-test/src/jest/run.ts +++ b/packages/kbn-test/src/jest/run.ts @@ -52,12 +52,11 @@ export function runJest(configName = 'jest.config.js') { const runStartTime = Date.now(); const reportTime = getTimeReporter(log, 'scripts/jest'); - + let cwd: string; let testFiles: string[]; - const cwd: string = process.env.INIT_CWD || process.cwd(); - if (!argv.config) { + cwd = process.env.INIT_CWD || process.cwd(); testFiles = argv._.splice(2).map((p) => resolve(cwd, p)); const commonTestFiles = commonBasePath(testFiles); const testFilesProvided = testFiles.length > 0; diff --git a/src/plugins/expression_error/jest.config.js b/src/plugins/expression_error/jest.config.js new file mode 100644 index 00000000000000..27774f4003f9e1 --- /dev/null +++ b/src/plugins/expression_error/jest.config.js @@ -0,0 +1,16 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +module.exports = { + preset: '@kbn/test', + rootDir: '../../..', + roots: ['/src/plugins/expression_error'], + coverageDirectory: '/target/kibana-coverage/jest/src/plugins/expression_error', + coverageReporters: ['text', 'html'], + collectCoverageFrom: ['/src/plugins/expression_error/{common,public}/**/*.{ts,tsx}'], +}; diff --git a/x-pack/plugins/metrics_entities/jest.config.js b/x-pack/plugins/metrics_entities/jest.config.js new file mode 100644 index 00000000000000..98a391223cc0f9 --- /dev/null +++ b/x-pack/plugins/metrics_entities/jest.config.js @@ -0,0 +1,15 @@ +/* + * 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 = { + collectCoverageFrom: ['/x-pack/plugins/metrics_entities/{common,server}/**/*.{ts,tsx}'], + coverageDirectory: '/target/kibana-coverage/jest/x-pack/plugins/metrics_entities', + coverageReporters: ['text', 'html'], + preset: '@kbn/test', + rootDir: '../../..', + roots: ['/x-pack/plugins/metrics_entities'], +}; diff --git a/x-pack/plugins/reporting/server/browsers/download/ensure_downloaded.test.ts b/x-pack/plugins/reporting/server/browsers/download/ensure_downloaded.test.ts index 9db128c019ac07..955e8214af8fa1 100644 --- a/x-pack/plugins/reporting/server/browsers/download/ensure_downloaded.test.ts +++ b/x-pack/plugins/reporting/server/browsers/download/ensure_downloaded.test.ts @@ -17,8 +17,7 @@ import { LevelLogger } from '../../lib'; jest.mock('./checksum'); jest.mock('./download'); -// https://github.com/elastic/kibana/issues/115881 -describe.skip('ensureBrowserDownloaded', () => { +describe('ensureBrowserDownloaded', () => { let logger: jest.Mocked; beforeEach(() => { diff --git a/x-pack/plugins/reporting/server/routes/deprecations.test.ts b/x-pack/plugins/reporting/server/routes/deprecations.test.ts index 63be2acf52c259..5367b6bd531eda 100644 --- a/x-pack/plugins/reporting/server/routes/deprecations.test.ts +++ b/x-pack/plugins/reporting/server/routes/deprecations.test.ts @@ -24,8 +24,7 @@ import { registerDeprecationsRoutes } from './deprecations'; type SetupServerReturn = UnwrapPromise>; -// https://github.com/elastic/kibana/issues/115881 -describe.skip(`GET ${API_GET_ILM_POLICY_STATUS}`, () => { +describe(`GET ${API_GET_ILM_POLICY_STATUS}`, () => { const reportingSymbol = Symbol('reporting'); let server: SetupServerReturn['server']; let httpSetup: SetupServerReturn['httpSetup']; From 39d79f7237c8b71ae41ee6e2b71e6f44e27e0ce0 Mon Sep 17 00:00:00 2001 From: Corey Robertson Date: Tue, 2 Nov 2021 13:07:29 -0400 Subject: [PATCH 088/110] Remove fullscreen mode when workpad unmounts (#114551) Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../workpad/hooks/use_fullscreen_presentation_helper.ts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/x-pack/plugins/canvas/public/routes/workpad/hooks/use_fullscreen_presentation_helper.ts b/x-pack/plugins/canvas/public/routes/workpad/hooks/use_fullscreen_presentation_helper.ts index 9021c6d6c27533..ca66fa227e4eb0 100644 --- a/x-pack/plugins/canvas/public/routes/workpad/hooks/use_fullscreen_presentation_helper.ts +++ b/x-pack/plugins/canvas/public/routes/workpad/hooks/use_fullscreen_presentation_helper.ts @@ -5,6 +5,7 @@ * 2.0. */ import { useContext, useEffect } from 'react'; +import useEffectOnce from 'react-use/lib/useEffectOnce'; import { usePlatformService } from '../../../services'; import { WorkpadRoutingContext } from '..'; @@ -27,4 +28,10 @@ export const useFullscreenPresentationHelper = () => { setFullscreen(true); } }, [isFullscreen, setFullscreen]); + + // Remove fullscreen when component unmounts + useEffectOnce(() => () => { + setFullscreen(true); + document.querySelector('body')?.classList.remove(fullscreenClass); + }); }; From 4e294e3153071019d84de3efb245e11d37fc44c7 Mon Sep 17 00:00:00 2001 From: Dominique Clarke Date: Tue, 2 Nov 2021 13:10:58 -0400 Subject: [PATCH 089/110] [Uptime] Fix: Last successful screenshot should be from same location (#116906) * update get_last_successful_step query to include location logic * adjust types --- .../common/runtime_types/ping/synthetics.ts | 5 + .../step_expanded_row/step_screenshots.tsx | 1 + .../check_steps/use_expanded_row.test.tsx | 3 + .../uptime/public/state/api/journey.ts | 3 + .../requests/get_last_successful_step.test.ts | 132 ++++++++++++++++++ .../lib/requests/get_last_successful_step.ts | 43 +++++- .../synthetics/last_successful_step.ts | 4 +- 7 files changed, 185 insertions(+), 6 deletions(-) create mode 100644 x-pack/plugins/uptime/server/lib/requests/get_last_successful_step.test.ts diff --git a/x-pack/plugins/uptime/common/runtime_types/ping/synthetics.ts b/x-pack/plugins/uptime/common/runtime_types/ping/synthetics.ts index 7b181ac2cf50cf..040f0a83e84ab3 100644 --- a/x-pack/plugins/uptime/common/runtime_types/ping/synthetics.ts +++ b/x-pack/plugins/uptime/common/runtime_types/ping/synthetics.ts @@ -27,6 +27,11 @@ export const JourneyStepType = t.intersection([ lt: t.string, }), }), + observer: t.type({ + geo: t.type({ + name: t.string, + }), + }), synthetics: t.partial({ error: t.partial({ message: t.string, diff --git a/x-pack/plugins/uptime/public/components/synthetics/check_steps/step_expanded_row/step_screenshots.tsx b/x-pack/plugins/uptime/public/components/synthetics/check_steps/step_expanded_row/step_screenshots.tsx index 54f73fb39a52a4..f8776f74b780e4 100644 --- a/x-pack/plugins/uptime/public/components/synthetics/check_steps/step_expanded_row/step_screenshots.tsx +++ b/x-pack/plugins/uptime/public/components/synthetics/check_steps/step_expanded_row/step_screenshots.tsx @@ -36,6 +36,7 @@ export const StepScreenshots = ({ step }: Props) => { timestamp: step['@timestamp'], monitorId: step.monitor.id, stepIndex: step.synthetics?.step?.index!, + location: step.observer?.geo?.name, }); } }, [step._id, step['@timestamp']]); diff --git a/x-pack/plugins/uptime/public/components/synthetics/check_steps/use_expanded_row.test.tsx b/x-pack/plugins/uptime/public/components/synthetics/check_steps/use_expanded_row.test.tsx index 7aa763c15ca1f8..e1f43cfebdbb2c 100644 --- a/x-pack/plugins/uptime/public/components/synthetics/check_steps/use_expanded_row.test.tsx +++ b/x-pack/plugins/uptime/public/components/synthetics/check_steps/use_expanded_row.test.tsx @@ -228,6 +228,9 @@ const browserConsoleStep = { _id: 'IvT1oXwB5ds00bB_FVXP', observer: { hostname: '16Elastic', + geo: { + name: 'au-heartbeat', + }, }, agent: { name: '16Elastic', diff --git a/x-pack/plugins/uptime/public/state/api/journey.ts b/x-pack/plugins/uptime/public/state/api/journey.ts index b982da90d9dc54..05d4a9e356919d 100644 --- a/x-pack/plugins/uptime/public/state/api/journey.ts +++ b/x-pack/plugins/uptime/public/state/api/journey.ts @@ -51,10 +51,12 @@ export async function fetchLastSuccessfulStep({ monitorId, timestamp, stepIndex, + location, }: { monitorId: string; timestamp: string; stepIndex: number; + location?: string; }): Promise { return await apiService.get( `/api/uptime/synthetics/step/success/`, @@ -62,6 +64,7 @@ export async function fetchLastSuccessfulStep({ monitorId, timestamp, stepIndex, + location, }, JourneyStepType ); diff --git a/x-pack/plugins/uptime/server/lib/requests/get_last_successful_step.test.ts b/x-pack/plugins/uptime/server/lib/requests/get_last_successful_step.test.ts new file mode 100644 index 00000000000000..63274bf64536cd --- /dev/null +++ b/x-pack/plugins/uptime/server/lib/requests/get_last_successful_step.test.ts @@ -0,0 +1,132 @@ +/* + * 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 { getLastSuccessfulStepParams } from './get_last_successful_step'; + +describe('getLastSuccessfulStep', () => { + describe('getLastSuccessfulStepParams', () => { + it('formats ES params with location', () => { + const monitorId = 'my-monitor'; + const stepIndex = 1; + const location = 'au-heartbeat'; + const timestamp = '2021-10-31T19:47:52.392Z'; + const params = getLastSuccessfulStepParams({ + monitorId, + stepIndex, + location, + timestamp, + }); + + expect(params).toEqual({ + query: { + bool: { + filter: [ + { + range: { + '@timestamp': { + lte: '2021-10-31T19:47:52.392Z', + }, + }, + }, + { + term: { + 'monitor.id': monitorId, + }, + }, + { + term: { + 'synthetics.type': 'step/end', + }, + }, + { + term: { + 'synthetics.step.status': 'succeeded', + }, + }, + { + term: { + 'synthetics.step.index': stepIndex, + }, + }, + { + term: { + 'observer.geo.name': location, + }, + }, + ], + }, + }, + size: 1, + sort: [ + { + '@timestamp': { + order: 'desc', + }, + }, + ], + }); + }); + + it('formats ES params without location', () => { + const params = getLastSuccessfulStepParams({ + monitorId: 'my-monitor', + stepIndex: 1, + location: undefined, + timestamp: '2021-10-31T19:47:52.392Z', + }); + + expect(params).toEqual({ + query: { + bool: { + filter: [ + { + range: { + '@timestamp': { + lte: '2021-10-31T19:47:52.392Z', + }, + }, + }, + { + term: { + 'monitor.id': 'my-monitor', + }, + }, + { + term: { + 'synthetics.type': 'step/end', + }, + }, + { + term: { + 'synthetics.step.status': 'succeeded', + }, + }, + { + term: { + 'synthetics.step.index': 1, + }, + }, + ], + must_not: { + exists: { + field: 'observer.geo.name', + }, + }, + }, + }, + size: 1, + sort: [ + { + '@timestamp': { + order: 'desc', + }, + }, + ], + }); + }); + }); +}); diff --git a/x-pack/plugins/uptime/server/lib/requests/get_last_successful_step.ts b/x-pack/plugins/uptime/server/lib/requests/get_last_successful_step.ts index e096cdaa65b86b..d6862b93c8cd4c 100644 --- a/x-pack/plugins/uptime/server/lib/requests/get_last_successful_step.ts +++ b/x-pack/plugins/uptime/server/lib/requests/get_last_successful_step.ts @@ -13,13 +13,16 @@ export interface GetStepScreenshotParams { monitorId: string; timestamp: string; stepIndex: number; + location?: string; } -export const getStepLastSuccessfulStep: UMElasticsearchQueryFn< - GetStepScreenshotParams, - JourneyStep | null -> = async ({ uptimeEsClient, monitorId, stepIndex, timestamp }) => { - const lastSuccessCheckParams: estypes.SearchRequest['body'] = { +export const getLastSuccessfulStepParams = ({ + monitorId, + stepIndex, + timestamp, + location, +}: GetStepScreenshotParams): estypes.SearchRequest['body'] => { + return { size: 1, sort: [ { @@ -58,10 +61,40 @@ export const getStepLastSuccessfulStep: UMElasticsearchQueryFn< 'synthetics.step.index': stepIndex, }, }, + ...(location + ? [ + { + term: { + 'observer.geo.name': location, + }, + }, + ] + : []), ], + ...(!location + ? { + must_not: { + exists: { + field: 'observer.geo.name', + }, + }, + } + : {}), }, }, }; +}; + +export const getStepLastSuccessfulStep: UMElasticsearchQueryFn< + GetStepScreenshotParams, + JourneyStep | null +> = async ({ uptimeEsClient, monitorId, stepIndex, timestamp, location }) => { + const lastSuccessCheckParams = getLastSuccessfulStepParams({ + monitorId, + stepIndex, + timestamp, + location, + }); const { body: result } = await uptimeEsClient.search({ body: lastSuccessCheckParams }); diff --git a/x-pack/plugins/uptime/server/rest_api/synthetics/last_successful_step.ts b/x-pack/plugins/uptime/server/rest_api/synthetics/last_successful_step.ts index 5d1407a8679c8f..81539459172ccb 100644 --- a/x-pack/plugins/uptime/server/rest_api/synthetics/last_successful_step.ts +++ b/x-pack/plugins/uptime/server/rest_api/synthetics/last_successful_step.ts @@ -22,16 +22,18 @@ export const createLastSuccessfulStepRoute: UMRestApiRouteFactory = (libs: UMSer monitorId: schema.string(), stepIndex: schema.number(), timestamp: schema.string(), + location: schema.maybe(schema.string()), }), }, handler: async ({ uptimeEsClient, request, response }) => { - const { timestamp, monitorId, stepIndex } = request.query; + const { timestamp, monitorId, stepIndex, location } = request.query; const step: JourneyStep | null = await libs.requests.getStepLastSuccessfulStep({ uptimeEsClient, monitorId, stepIndex, timestamp, + location, }); if (step === null) { From 6e14338c58eb42d4960cac65441df315a8f47cf5 Mon Sep 17 00:00:00 2001 From: Yuliia Naumenko Date: Tue, 2 Nov 2021 10:23:19 -0700 Subject: [PATCH 090/110] [Alerting] More telemetry for 8.0 based on Event Log data (#115318) * [Alerting] More telemetry for 8.0 based on Event Log data * fixed event log index mapping * fixed typecheck * fixed tests * added avg aggs * set size to 0 * fixed due to comments * fixed telemetry schema * fixed query * removed test data * added tests * fixed test * fixed query * added exection detalization by day * fixed test * fixed for rules * fixed schema * fixed schema Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- x-pack/plugins/actions/server/plugin.ts | 3 +- .../server/usage/actions_telemetry.test.ts | 100 ++- .../actions/server/usage/actions_telemetry.ts | 182 ++++- .../server/usage/actions_usage_collector.ts | 12 + x-pack/plugins/actions/server/usage/task.ts | 40 +- x-pack/plugins/actions/server/usage/types.ts | 9 +- x-pack/plugins/alerting/server/plugin.ts | 8 +- .../server/usage/alerts_telemetry.test.ts | 76 +- .../alerting/server/usage/alerts_telemetry.ts | 187 ++++- .../server/usage/alerts_usage_collector.ts | 34 + x-pack/plugins/alerting/server/usage/task.ts | 37 +- x-pack/plugins/alerting/server/usage/types.ts | 7 + .../server/event_log_service.mock.ts | 1 + .../event_log/server/event_log_service.ts | 4 + x-pack/plugins/event_log/server/types.ts | 1 + .../schema/xpack_plugins.json | 756 ++++++++++++++++++ 16 files changed, 1434 insertions(+), 23 deletions(-) diff --git a/x-pack/plugins/actions/server/plugin.ts b/x-pack/plugins/actions/server/plugin.ts index 8531f4a2bb706b..bbf00572935faa 100644 --- a/x-pack/plugins/actions/server/plugin.ts +++ b/x-pack/plugins/actions/server/plugin.ts @@ -268,7 +268,8 @@ export class ActionsPlugin implements Plugin { test('getTotalCount should replace first symbol . to __ for action types names', async () => { @@ -604,4 +604,102 @@ Object { } `); }); + + test('getExecutionsTotalCount', async () => { + const mockEsClient = elasticsearchClientMock.createClusterClient().asScoped().asInternalUser; + mockEsClient.search.mockReturnValueOnce( + // @ts-expect-error not full search response + elasticsearchClientMock.createSuccessTransportRequestPromise({ + aggregations: { + totalExecutions: { + byConnectorTypeId: { + value: { + connectorTypes: { + '.slack': 100, + '.server-log': 20, + }, + total: 120, + }, + }, + }, + failedExecutions: { + refs: { + byConnectorTypeId: { + value: { + connectorTypes: { + '.slack': 7, + }, + total: 7, + }, + }, + }, + }, + avgDuration: { value: 10 }, + avgDurationByType: { + doc_count: 216, + actionSavedObjects: { + doc_count: 108, + byTypeId: { + doc_count_error_upper_bound: 0, + sum_other_doc_count: 0, + buckets: [ + { + key: '.server-log', + doc_count: 99, + refs: { + doc_count: 99, + avgDuration: { + value: 919191.9191919192, + }, + }, + }, + { + key: '.email', + doc_count: 9, + refs: { + doc_count: 9, + avgDuration: { + value: 4.196666666666667e8, + }, + }, + }, + ], + }, + }, + }, + }, + }) + ); + + // for .slack connectors + mockEsClient.search.mockReturnValueOnce( + // @ts-expect-error not full search response + elasticsearchClientMock.createSuccessTransportRequestPromise({ + aggregations: { + avgDuration: { value: 10 }, + }, + }) + ); + const telemetry = await getExecutionsPerDayCount(mockEsClient, 'test'); + + expect(mockEsClient.search).toHaveBeenCalledTimes(1); + expect(telemetry).toStrictEqual({ + avgExecutionTime: 0, + avgExecutionTimeByType: { + '__server-log': 919191.9191919192, + __email: 419666666.6666667, + }, + + countByType: { + __slack: 100, + + '__server-log': 20, + }, + countFailed: 7, + countFailedByType: { + __slack: 7, + }, + countTotal: 120, + }); + }); }); diff --git a/x-pack/plugins/actions/server/usage/actions_telemetry.ts b/x-pack/plugins/actions/server/usage/actions_telemetry.ts index ab72352d460e35..d288611af5e212 100644 --- a/x-pack/plugins/actions/server/usage/actions_telemetry.ts +++ b/x-pack/plugins/actions/server/usage/actions_telemetry.ts @@ -379,4 +379,184 @@ function replaceFirstAndLastDotSymbols(strToReplace: string) { return hasLastSymbolDot ? `${appliedString.slice(0, -1)}__` : appliedString; } -// TODO: Implement executions count telemetry with eventLog, when it will write to index +export async function getExecutionsPerDayCount( + esClient: ElasticsearchClient, + eventLogIndex: string +): Promise<{ + countTotal: number; + countByType: Record; + countFailed: number; + countFailedByType: Record; + avgExecutionTime: number; + avgExecutionTimeByType: Record; +}> { + const scriptedMetric = { + scripted_metric: { + init_script: 'state.connectorTypes = [:]; state.total = 0;', + map_script: ` + if (doc['kibana.saved_objects.type'].value == 'action') { + String connectorType = doc['kibana.saved_objects.type_id'].value; + state.connectorTypes.put(connectorType, state.connectorTypes.containsKey(connectorType) ? state.connectorTypes.get(connectorType) + 1 : 1); + state.total++; + } + `, + // Combine script is executed per cluster, but we already have a key-value pair per cluster. + // Despite docs that say this is optional, this script can't be blank. + combine_script: 'return state', + // Reduce script is executed across all clusters, so we need to add up all the total from each cluster + // This also needs to account for having no data + reduce_script: ` + Map connectorTypes = [:]; + long total = 0; + for (state in states) { + if (state !== null) { + total += state.total; + for (String k : state.connectorTypes.keySet()) { + connectorTypes.put(k, connectorTypes.containsKey(k) ? connectorTypes.get(k) + state.connectorTypes.get(k) : state.connectorTypes.get(k)); + } + } + } + Map result = new HashMap(); + result.total = total; + result.connectorTypes = connectorTypes; + return result; + `, + }, + }; + + const { body: actionResults } = await esClient.search({ + index: eventLogIndex, + size: 0, + body: { + query: { + bool: { + filter: { + bool: { + must: [ + { + term: { 'event.action': 'execute' }, + }, + { + term: { 'event.provider': 'actions' }, + }, + { + range: { + '@timestamp': { + gte: 'now-1d', + }, + }, + }, + ], + }, + }, + }, + }, + aggs: { + totalExecutions: { + nested: { + path: 'kibana.saved_objects', + }, + aggs: { + byConnectorTypeId: scriptedMetric, + }, + }, + failedExecutions: { + filter: { + bool: { + filter: [ + { + term: { + 'event.outcome': 'failure', + }, + }, + ], + }, + }, + aggs: { + refs: { + nested: { + path: 'kibana.saved_objects', + }, + aggs: { + byConnectorTypeId: scriptedMetric, + }, + }, + }, + }, + avgDuration: { avg: { field: 'event.duration' } }, + avgDurationByType: { + nested: { + path: 'kibana.saved_objects', + }, + aggs: { + actionSavedObjects: { + filter: { term: { 'kibana.saved_objects.type': 'action' } }, + aggs: { + byTypeId: { + terms: { + field: 'kibana.saved_objects.type_id', + }, + aggs: { + refs: { + reverse_nested: {}, + aggs: { + avgDuration: { avg: { field: 'event.duration' } }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }); + + // @ts-expect-error aggegation type is not specified + const aggsExecutions = actionResults.aggregations.totalExecutions?.byConnectorTypeId.value; + // convert nanoseconds to milliseconds + const aggsAvgExecutionTime = Math.round( + // @ts-expect-error aggegation type is not specified + actionResults.aggregations.avgDuration.value / (1000 * 1000) + ); + const aggsFailedExecutions = + // @ts-expect-error aggegation type is not specified + actionResults.aggregations.failedExecutions?.refs?.byConnectorTypeId.value; + + const avgDurationByType = + // @ts-expect-error aggegation type is not specified + actionResults.aggregations.avgDurationByType?.actionSavedObjects?.byTypeId?.buckets; + + const avgExecutionTimeByType: Record = avgDurationByType.reduce( + // @ts-expect-error aggegation type is not specified + (res: Record, bucket) => { + res[replaceFirstAndLastDotSymbols(bucket.key)] = bucket?.refs.avgDuration.value; + return res; + }, + {} + ); + + return { + countTotal: aggsExecutions.total, + countByType: Object.entries(aggsExecutions.connectorTypes).reduce( + (res: Record, [key, value]) => { + // @ts-expect-error aggegation type is not specified + res[replaceFirstAndLastDotSymbols(key)] = value; + return res; + }, + {} + ), + countFailed: aggsFailedExecutions.total, + countFailedByType: Object.entries(aggsFailedExecutions.connectorTypes).reduce( + (res: Record, [key, value]) => { + // @ts-expect-error aggegation type is not specified + res[replaceFirstAndLastDotSymbols(key)] = value; + return res; + }, + {} + ), + avgExecutionTime: aggsAvgExecutionTime, + avgExecutionTimeByType, + }; +} diff --git a/x-pack/plugins/actions/server/usage/actions_usage_collector.ts b/x-pack/plugins/actions/server/usage/actions_usage_collector.ts index 9ba9d7390a7b61..3e690d18063d60 100644 --- a/x-pack/plugins/actions/server/usage/actions_usage_collector.ts +++ b/x-pack/plugins/actions/server/usage/actions_usage_collector.ts @@ -37,8 +37,14 @@ export function createActionsUsageCollector( }, }, count_active_by_type: byTypeSchema, + count_actions_executions_per_day: { type: 'long' }, + count_actions_executions_by_type_per_day: byTypeSchema, count_active_email_connectors_by_service_type: byServiceProviderTypeSchema, count_actions_namespaces: { type: 'long' }, + count_actions_executions_failed_per_day: { type: 'long' }, + count_actions_executions_failed_by_type_per_day: byTypeSchema, + avg_execution_time_per_day: { type: 'long' }, + avg_execution_time_by_type_per_day: byTypeSchema, }, fetch: async () => { try { @@ -60,6 +66,12 @@ export function createActionsUsageCollector( count_active_by_type: {}, count_active_email_connectors_by_service_type: {}, count_actions_namespaces: 0, + count_actions_executions_per_day: 0, + count_actions_executions_by_type_per_day: {}, + count_actions_executions_failed_per_day: 0, + count_actions_executions_failed_by_type_per_day: {}, + avg_execution_time_per_day: 0, + avg_execution_time_by_type_per_day: {}, }; } }, diff --git a/x-pack/plugins/actions/server/usage/task.ts b/x-pack/plugins/actions/server/usage/task.ts index bacb9e5f725716..5ddcbab4261d1f 100644 --- a/x-pack/plugins/actions/server/usage/task.ts +++ b/x-pack/plugins/actions/server/usage/task.ts @@ -7,13 +7,14 @@ import { Logger, CoreSetup } from 'kibana/server'; import moment from 'moment'; +import { IEventLogService } from '../../../event_log/server'; import { RunContext, TaskManagerSetupContract, TaskManagerStartContract, } from '../../../task_manager/server'; import { PreConfiguredAction } from '../types'; -import { getTotalCount, getInUseTotalCount } from './actions_telemetry'; +import { getTotalCount, getInUseTotalCount, getExecutionsPerDayCount } from './actions_telemetry'; export const TELEMETRY_TASK_TYPE = 'actions_telemetry'; @@ -24,9 +25,17 @@ export function initializeActionsTelemetry( taskManager: TaskManagerSetupContract, core: CoreSetup, kibanaIndex: string, - preconfiguredActions: PreConfiguredAction[] + preconfiguredActions: PreConfiguredAction[], + eventLog: IEventLogService ) { - registerActionsTelemetryTask(logger, taskManager, core, kibanaIndex, preconfiguredActions); + registerActionsTelemetryTask( + logger, + taskManager, + core, + kibanaIndex, + preconfiguredActions, + eventLog + ); } export function scheduleActionsTelemetry(logger: Logger, taskManager: TaskManagerStartContract) { @@ -38,13 +47,20 @@ function registerActionsTelemetryTask( taskManager: TaskManagerSetupContract, core: CoreSetup, kibanaIndex: string, - preconfiguredActions: PreConfiguredAction[] + preconfiguredActions: PreConfiguredAction[], + eventLog: IEventLogService ) { taskManager.registerTaskDefinitions({ [TELEMETRY_TASK_TYPE]: { title: 'Actions usage fetch task', timeout: '5m', - createTaskRunner: telemetryTaskRunner(logger, core, kibanaIndex, preconfiguredActions), + createTaskRunner: telemetryTaskRunner( + logger, + core, + kibanaIndex, + preconfiguredActions, + eventLog + ), }, }); } @@ -66,10 +82,12 @@ export function telemetryTaskRunner( logger: Logger, core: CoreSetup, kibanaIndex: string, - preconfiguredActions: PreConfiguredAction[] + preconfiguredActions: PreConfiguredAction[], + eventLog: IEventLogService ) { return ({ taskInstance }: RunContext) => { const { state } = taskInstance; + const eventLogIndex = eventLog.getIndexPattern(); const getEsClient = () => core.getStartServices().then( ([ @@ -84,8 +102,9 @@ export function telemetryTaskRunner( return Promise.all([ getTotalCount(esClient, kibanaIndex, preconfiguredActions), getInUseTotalCount(esClient, kibanaIndex, undefined, preconfiguredActions), + getExecutionsPerDayCount(esClient, eventLogIndex), ]) - .then(([totalAggegations, totalInUse]) => { + .then(([totalAggegations, totalInUse, totalExecutionsPerDay]) => { return { state: { runs: (state.runs || 0) + 1, @@ -96,6 +115,13 @@ export function telemetryTaskRunner( count_active_alert_history_connectors: totalInUse.countByAlertHistoryConnectorType, count_active_email_connectors_by_service_type: totalInUse.countEmailByService, count_actions_namespaces: totalInUse.countNamespaces, + count_actions_executions_per_day: totalExecutionsPerDay.countTotal, + count_actions_executions_by_type_per_day: totalExecutionsPerDay.countByType, + count_actions_executions_failed_per_day: totalExecutionsPerDay.countFailed, + count_actions_executions_failed_by_type_per_day: + totalExecutionsPerDay.countFailedByType, + avg_execution_time_per_day: totalExecutionsPerDay.avgExecutionTime, + avg_execution_time_by_type_per_day: totalExecutionsPerDay.avgExecutionTimeByType, }, runAt: getNextMidnight(), }; diff --git a/x-pack/plugins/actions/server/usage/types.ts b/x-pack/plugins/actions/server/usage/types.ts index 52677b35ac75b8..2d041b1ba0d0e2 100644 --- a/x-pack/plugins/actions/server/usage/types.ts +++ b/x-pack/plugins/actions/server/usage/types.ts @@ -16,9 +16,12 @@ export interface ActionsUsage { count_active_by_type: Record; count_active_email_connectors_by_service_type: Record; count_actions_namespaces: number; - // TODO: Implement executions count telemetry with eventLog, when it will write to index - // executions_by_type: Record; - // executions_total: number; + count_actions_executions_per_day: number; + count_actions_executions_by_type_per_day: Record; + count_actions_executions_failed_per_day: number; + count_actions_executions_failed_by_type_per_day: Record; + avg_execution_time_per_day: number; + avg_execution_time_by_type_per_day: Record; } export const byTypeSchema: MakeSchemaFrom['count_by_type'] = { diff --git a/x-pack/plugins/alerting/server/plugin.ts b/x-pack/plugins/alerting/server/plugin.ts index 9834225e737235..f0703defbca3dd 100644 --- a/x-pack/plugins/alerting/server/plugin.ts +++ b/x-pack/plugins/alerting/server/plugin.ts @@ -209,7 +209,13 @@ export class AlertingPlugin { usageCollection, core.getStartServices().then(([_, { taskManager }]) => taskManager) ); - initializeAlertingTelemetry(this.telemetryLogger, core, plugins.taskManager, kibanaIndex); + initializeAlertingTelemetry( + this.telemetryLogger, + core, + plugins.taskManager, + kibanaIndex, + this.eventLogService + ); } // Usage counter for telemetry diff --git a/x-pack/plugins/alerting/server/usage/alerts_telemetry.test.ts b/x-pack/plugins/alerting/server/usage/alerts_telemetry.test.ts index 03a96d19b8e8ae..af08c8c75c1442 100644 --- a/x-pack/plugins/alerting/server/usage/alerts_telemetry.test.ts +++ b/x-pack/plugins/alerting/server/usage/alerts_telemetry.test.ts @@ -7,7 +7,11 @@ // eslint-disable-next-line @kbn/eslint/no-restricted-paths import { elasticsearchClientMock } from '../../../../../src/core/server/elasticsearch/client/mocks'; -import { getTotalCountAggregations, getTotalCountInUse } from './alerts_telemetry'; +import { + getTotalCountAggregations, + getTotalCountInUse, + getExecutionsPerDayCount, +} from './alerts_telemetry'; describe('alerts telemetry', () => { test('getTotalCountInUse should replace first "." symbol to "__" in alert types names', async () => { @@ -114,4 +118,74 @@ Object { } `); }); + + test('getTotalExecutionsCount should return execution aggregations for total count, count by rule type and number of failed executions', async () => { + const mockEsClient = elasticsearchClientMock.createClusterClient().asScoped().asInternalUser; + mockEsClient.search.mockReturnValue( + // @ts-expect-error @elastic/elasticsearch Aggregate only allows unknown values + elasticsearchClientMock.createSuccessTransportRequestPromise({ + aggregations: { + byRuleTypeId: { + value: { + ruleTypes: { + '.index-threshold': 2, + 'logs.alert.document.count': 1, + 'document.test.': 1, + }, + ruleTypesDuration: { + '.index-threshold': 2087868, + 'logs.alert.document.count': 1675765, + 'document.test.': 17687687, + }, + }, + }, + failuresByReason: { + value: { + reasons: { + unknown: { + '.index-threshold': 2, + 'logs.alert.document.count': 1, + 'document.test.': 1, + }, + }, + }, + }, + avgDuration: { value: 10 }, + }, + hits: { + hits: [], + }, + }) + ); + + const telemetry = await getExecutionsPerDayCount(mockEsClient, 'test'); + + expect(mockEsClient.search).toHaveBeenCalledTimes(1); + + expect(telemetry).toStrictEqual({ + avgExecutionTime: 0, + avgExecutionTimeByType: { + '__index-threshold': 1043934, + 'document.test__': 17687687, + 'logs.alert.document.count': 1675765, + }, + countByType: { + '__index-threshold': 2, + 'document.test__': 1, + 'logs.alert.document.count': 1, + }, + countFailuresByReason: { + unknown: 4, + }, + countFailuresByReasonByType: { + unknown: { + '.index-threshold': 2, + 'document.test.': 1, + 'logs.alert.document.count': 1, + }, + }, + countTotal: 4, + countTotalFailures: 4, + }); + }); }); diff --git a/x-pack/plugins/alerting/server/usage/alerts_telemetry.ts b/x-pack/plugins/alerting/server/usage/alerts_telemetry.ts index 7ff9538c1aa265..180ee4300f18cf 100644 --- a/x-pack/plugins/alerting/server/usage/alerts_telemetry.ts +++ b/x-pack/plugins/alerting/server/usage/alerts_telemetry.ts @@ -38,6 +38,65 @@ const alertTypeMetric = { }, }; +const ruleTypeExecutionsMetric = { + scripted_metric: { + init_script: 'state.ruleTypes = [:]; state.ruleTypesDuration = [:];', + map_script: ` + String ruleType = doc['rule.category'].value; + long duration = doc['event.duration'].value / (1000 * 1000); + state.ruleTypes.put(ruleType, state.ruleTypes.containsKey(ruleType) ? state.ruleTypes.get(ruleType) + 1 : 1); + state.ruleTypesDuration.put(ruleType, state.ruleTypesDuration.containsKey(ruleType) ? state.ruleTypesDuration.get(ruleType) + duration : duration); + `, + // Combine script is executed per cluster, but we already have a key-value pair per cluster. + // Despite docs that say this is optional, this script can't be blank. + combine_script: 'return state', + // Reduce script is executed across all clusters, so we need to add up all the total from each cluster + // This also needs to account for having no data + reduce_script: ` + Map result = [:]; + for (Map m : states.toArray()) { + if (m !== null) { + for (String k : m.keySet()) { + result.put(k, result.containsKey(k) ? result.get(k) + m.get(k) : m.get(k)); + } + } + } + return result; + `, + }, +}; + +const ruleTypeFailureExecutionsMetric = { + scripted_metric: { + init_script: 'state.reasons = [:]', + map_script: ` + if (doc['event.outcome'].value == 'failure') { + String reason = doc['event.reason'].value; + String ruleType = doc['rule.category'].value; + Map ruleTypes = state.reasons.containsKey(reason) ? state.reasons.get(reason) : [:]; + ruleTypes.put(ruleType, ruleTypes.containsKey(ruleType) ? ruleTypes.get(ruleType) + 1 : 1); + state.reasons.put(reason, ruleTypes); + } + `, + // Combine script is executed per cluster, but we already have a key-value pair per cluster. + // Despite docs that say this is optional, this script can't be blank. + combine_script: 'return state', + // Reduce script is executed across all clusters, so we need to add up all the total from each cluster + // This also needs to account for having no data + reduce_script: ` + Map result = [:]; + for (Map m : states.toArray()) { + if (m !== null) { + for (String k : m.keySet()) { + result.put(k, result.containsKey(k) ? result.get(k) + m.get(k) : m.get(k)); + } + } + } + return result; + `, + }, +}; + export async function getTotalCountAggregations( esClient: ElasticsearchClient, kibanaInex: string @@ -260,4 +319,130 @@ function replaceFirstAndLastDotSymbols(strToReplace: string) { return hasLastSymbolDot ? `${appliedString.slice(0, -1)}__` : appliedString; } -// TODO: Implement executions count telemetry with eventLog, when it will write to index +export async function getExecutionsPerDayCount( + esClient: ElasticsearchClient, + eventLogIndex: string +) { + const { body: searchResult } = await esClient.search({ + index: eventLogIndex, + size: 0, + body: { + query: { + bool: { + filter: { + bool: { + must: [ + { + term: { 'event.action': 'execute' }, + }, + { + term: { 'event.provider': 'alerting' }, + }, + { + range: { + '@timestamp': { + gte: 'now-1d', + }, + }, + }, + ], + }, + }, + }, + }, + aggs: { + byRuleTypeId: ruleTypeExecutionsMetric, + failuresByReason: ruleTypeFailureExecutionsMetric, + avgDuration: { avg: { field: 'event.duration' } }, + }, + }, + }); + + const executionsAggregations = searchResult.aggregations as { + byRuleTypeId: { + value: { ruleTypes: Record; ruleTypesDuration: Record }; + }; + }; + + const aggsAvgExecutionTime = Math.round( + // @ts-expect-error aggegation type is not specified + // convert nanoseconds to milliseconds + searchResult.aggregations.avgDuration.value / (1000 * 1000) + ); + + const executionFailuresAggregations = searchResult.aggregations as { + failuresByReason: { value: { reasons: Record> } }; + }; + + return { + countTotal: Object.keys(executionsAggregations.byRuleTypeId.value.ruleTypes).reduce( + (total: number, key: string) => + parseInt(executionsAggregations.byRuleTypeId.value.ruleTypes[key], 10) + total, + 0 + ), + countByType: Object.keys(executionsAggregations.byRuleTypeId.value.ruleTypes).reduce( + // ES DSL aggregations are returned as `any` by esClient.search + // eslint-disable-next-line @typescript-eslint/no-explicit-any + (obj: any, key: string) => ({ + ...obj, + [replaceFirstAndLastDotSymbols(key)]: + executionsAggregations.byRuleTypeId.value.ruleTypes[key], + }), + {} + ), + countTotalFailures: Object.keys( + executionFailuresAggregations.failuresByReason.value.reasons + ).reduce((total: number, reason: string) => { + const byRuleTypesRefs = executionFailuresAggregations.failuresByReason.value.reasons[reason]; + const countByRuleTypes = Object.keys(byRuleTypesRefs).reduce( + (totalByType, ruleType) => parseInt(byRuleTypesRefs[ruleType] + totalByType, 10), + 0 + ); + return countByRuleTypes + total; + }, 0), + countFailuresByReason: Object.keys( + executionFailuresAggregations.failuresByReason.value.reasons + ).reduce( + // ES DSL aggregations are returned as `any` by esClient.search + // eslint-disable-next-line @typescript-eslint/no-explicit-any + (obj: any, reason: string) => { + const byRuleTypesRefs = + executionFailuresAggregations.failuresByReason.value.reasons[reason]; + const countByRuleTypes = Object.keys(byRuleTypesRefs).reduce( + (totalByType, ruleType) => parseInt(byRuleTypesRefs[ruleType] + totalByType, 10), + 0 + ); + return { + ...obj, + [replaceFirstAndLastDotSymbols(reason)]: countByRuleTypes, + }; + }, + {} + ), + countFailuresByReasonByType: Object.keys( + executionFailuresAggregations.failuresByReason.value.reasons + ).reduce( + // ES DSL aggregations are returned as `any` by esClient.search + // eslint-disable-next-line @typescript-eslint/no-explicit-any + (obj: any, key: string) => ({ + ...obj, + [replaceFirstAndLastDotSymbols(key)]: + executionFailuresAggregations.failuresByReason.value.reasons[key], + }), + {} + ), + avgExecutionTime: aggsAvgExecutionTime, + avgExecutionTimeByType: Object.keys(executionsAggregations.byRuleTypeId.value.ruleTypes).reduce( + // ES DSL aggregations are returned as `any` by esClient.search + // eslint-disable-next-line @typescript-eslint/no-explicit-any + (obj: any, key: string) => ({ + ...obj, + [replaceFirstAndLastDotSymbols(key)]: Math.round( + executionsAggregations.byRuleTypeId.value.ruleTypesDuration[key] / + parseInt(executionsAggregations.byRuleTypeId.value.ruleTypes[key], 10) + ), + }), + {} + ), + }; +} diff --git a/x-pack/plugins/alerting/server/usage/alerts_usage_collector.ts b/x-pack/plugins/alerting/server/usage/alerts_usage_collector.ts index e9405c51dbf15b..e5b25ea75fc1ca 100644 --- a/x-pack/plugins/alerting/server/usage/alerts_usage_collector.ts +++ b/x-pack/plugins/alerting/server/usage/alerts_usage_collector.ts @@ -50,6 +50,26 @@ const byTypeSchema: MakeSchemaFrom['count_by_type'] = { xpack__ml__anomaly_detection_jobs_health: { type: 'long' }, // eslint-disable-line @typescript-eslint/naming-convention }; +const byReasonSchema: MakeSchemaFrom['count_rules_executions_failured_by_reason_per_day'] = + { + // TODO: Find out an automated way to populate the keys or reformat these into an array (and change the Remote Telemetry indexer accordingly) + DYNAMIC_KEY: { type: 'long' }, + read: { type: 'long' }, + decrypt: { type: 'long' }, + license: { type: 'long' }, + unknown: { type: 'long' }, + }; + +const byReasonSchemaByType: MakeSchemaFrom['count_rules_executions_failured_by_reason_by_type_per_day'] = + { + // TODO: Find out an automated way to populate the keys or reformat these into an array (and change the Remote Telemetry indexer accordingly) + DYNAMIC_KEY: byTypeSchema, + read: byTypeSchema, + decrypt: byTypeSchema, + license: byTypeSchema, + unknown: byTypeSchema, + }; + export function createAlertsUsageCollector( usageCollection: UsageCollectionSetup, taskManager: Promise @@ -92,6 +112,13 @@ export function createAlertsUsageCollector( count_active_by_type: {}, count_by_type: {}, count_rules_namespaces: 0, + count_rules_executions_per_day: 0, + count_rules_executions_by_type_per_day: {}, + count_rules_executions_failured_per_day: 0, + count_rules_executions_failured_by_reason_per_day: {}, + count_rules_executions_failured_by_reason_by_type_per_day: {}, + avg_execution_time_per_day: 0, + avg_execution_time_by_type_per_day: {}, }; } }, @@ -117,6 +144,13 @@ export function createAlertsUsageCollector( count_active_by_type: byTypeSchema, count_by_type: byTypeSchema, count_rules_namespaces: { type: 'long' }, + count_rules_executions_per_day: { type: 'long' }, + count_rules_executions_by_type_per_day: byTypeSchema, + count_rules_executions_failured_per_day: { type: 'long' }, + count_rules_executions_failured_by_reason_per_day: byReasonSchema, + count_rules_executions_failured_by_reason_by_type_per_day: byReasonSchemaByType, + avg_execution_time_per_day: { type: 'long' }, + avg_execution_time_by_type_per_day: byTypeSchema, }, }); } diff --git a/x-pack/plugins/alerting/server/usage/task.ts b/x-pack/plugins/alerting/server/usage/task.ts index 9d39b3765cb5dc..2fbd56c105c31f 100644 --- a/x-pack/plugins/alerting/server/usage/task.ts +++ b/x-pack/plugins/alerting/server/usage/task.ts @@ -7,13 +7,18 @@ import { Logger, CoreSetup } from 'kibana/server'; import moment from 'moment'; +import { IEventLogService } from '../../../event_log/server'; import { RunContext, TaskManagerSetupContract, TaskManagerStartContract, } from '../../../task_manager/server'; -import { getTotalCountAggregations, getTotalCountInUse } from './alerts_telemetry'; +import { + getTotalCountAggregations, + getTotalCountInUse, + getExecutionsPerDayCount, +} from './alerts_telemetry'; export const TELEMETRY_TASK_TYPE = 'alerting_telemetry'; @@ -23,9 +28,10 @@ export function initializeAlertingTelemetry( logger: Logger, core: CoreSetup, taskManager: TaskManagerSetupContract, - kibanaIndex: string + kibanaIndex: string, + eventLog: IEventLogService ) { - registerAlertingTelemetryTask(logger, core, taskManager, kibanaIndex); + registerAlertingTelemetryTask(logger, core, taskManager, kibanaIndex, eventLog); } export function scheduleAlertingTelemetry(logger: Logger, taskManager?: TaskManagerStartContract) { @@ -38,13 +44,14 @@ function registerAlertingTelemetryTask( logger: Logger, core: CoreSetup, taskManager: TaskManagerSetupContract, - kibanaIndex: string + kibanaIndex: string, + eventLog: IEventLogService ) { taskManager.registerTaskDefinitions({ [TELEMETRY_TASK_TYPE]: { title: 'Alerting usage fetch task', timeout: '5m', - createTaskRunner: telemetryTaskRunner(logger, core, kibanaIndex), + createTaskRunner: telemetryTaskRunner(logger, core, kibanaIndex, eventLog), }, }); } @@ -62,9 +69,15 @@ async function scheduleTasks(logger: Logger, taskManager: TaskManagerStartContra } } -export function telemetryTaskRunner(logger: Logger, core: CoreSetup, kibanaIndex: string) { +export function telemetryTaskRunner( + logger: Logger, + core: CoreSetup, + kibanaIndex: string, + eventLog: IEventLogService +) { return ({ taskInstance }: RunContext) => { const { state } = taskInstance; + const eventLogIndex = eventLog.getIndexPattern(); const getEsClient = () => core.getStartServices().then( ([ @@ -80,8 +93,9 @@ export function telemetryTaskRunner(logger: Logger, core: CoreSetup, kibanaIndex return Promise.all([ getTotalCountAggregations(esClient, kibanaIndex), getTotalCountInUse(esClient, kibanaIndex), + getExecutionsPerDayCount(esClient, eventLogIndex), ]) - .then(([totalCountAggregations, totalInUse]) => { + .then(([totalCountAggregations, totalInUse, totalExecutions]) => { return { state: { runs: (state.runs || 0) + 1, @@ -90,6 +104,15 @@ export function telemetryTaskRunner(logger: Logger, core: CoreSetup, kibanaIndex count_active_total: totalInUse.countTotal, count_disabled_total: totalCountAggregations.count_total - totalInUse.countTotal, count_rules_namespaces: totalInUse.countNamespaces, + count_rules_executions_per_day: totalExecutions.countTotal, + count_rules_executions_by_type_per_day: totalExecutions.countByType, + count_rules_executions_failured_per_day: totalExecutions.countTotalFailures, + count_rules_executions_failured_by_reason_per_day: + totalExecutions.countFailuresByReason, + count_rules_executions_failured_by_reason_by_type_per_day: + totalExecutions.countFailuresByReasonByType, + avg_execution_time_per_day: totalExecutions.avgExecutionTime, + avg_execution_time_by_type_per_day: totalExecutions.avgExecutionTimeByType, }, runAt: getNextMidnight(), }; diff --git a/x-pack/plugins/alerting/server/usage/types.ts b/x-pack/plugins/alerting/server/usage/types.ts index 0e489893a1bbc1..50d9b80c44b707 100644 --- a/x-pack/plugins/alerting/server/usage/types.ts +++ b/x-pack/plugins/alerting/server/usage/types.ts @@ -12,6 +12,13 @@ export interface AlertsUsage { count_by_type: Record; count_active_by_type: Record; count_rules_namespaces: number; + count_rules_executions_per_day: number; + count_rules_executions_by_type_per_day: Record; + count_rules_executions_failured_per_day: number; + count_rules_executions_failured_by_reason_per_day: Record; + count_rules_executions_failured_by_reason_by_type_per_day: Record>; + avg_execution_time_per_day: number; + avg_execution_time_by_type_per_day: Record; throttle_time: { min: number; avg: number; diff --git a/x-pack/plugins/event_log/server/event_log_service.mock.ts b/x-pack/plugins/event_log/server/event_log_service.mock.ts index a3ad81eb0e5a63..f43f3e025a7cf6 100644 --- a/x-pack/plugins/event_log/server/event_log_service.mock.ts +++ b/x-pack/plugins/event_log/server/event_log_service.mock.ts @@ -17,6 +17,7 @@ const createEventLogServiceMock = () => { getProviderActions: jest.fn(), registerSavedObjectProvider: jest.fn(), getLogger: jest.fn().mockReturnValue(eventLoggerMock.create()), + getIndexPattern: jest.fn(), }; return mock; }; diff --git a/x-pack/plugins/event_log/server/event_log_service.ts b/x-pack/plugins/event_log/server/event_log_service.ts index 993631ed3ca8ac..2cf22b0f207555 100644 --- a/x-pack/plugins/event_log/server/event_log_service.ts +++ b/x-pack/plugins/event_log/server/event_log_service.ts @@ -92,6 +92,10 @@ export class EventLogService implements IEventLogService { return this.savedObjectProviderRegistry.registerProvider(type, provider); } + getIndexPattern() { + return this.esContext.esNames.indexPattern; + } + getLogger(initialProperties: IEvent): IEventLogger { return new EventLogger({ esContext: this.esContext, diff --git a/x-pack/plugins/event_log/server/types.ts b/x-pack/plugins/event_log/server/types.ts index c50bed7e01dd59..6ffde7fd6dbe01 100644 --- a/x-pack/plugins/event_log/server/types.ts +++ b/x-pack/plugins/event_log/server/types.ts @@ -33,6 +33,7 @@ export interface IEventLogService { getProviderActions(): Map>; registerSavedObjectProvider(type: string, provider: SavedObjectProvider): void; getLogger(properties: IEvent): IEventLogger; + getIndexPattern(): string; } export interface IEventLogClientService { diff --git a/x-pack/plugins/telemetry_collection_xpack/schema/xpack_plugins.json b/x-pack/plugins/telemetry_collection_xpack/schema/xpack_plugins.json index 2786cab4fe9633..8ac619d479bef2 100644 --- a/x-pack/plugins/telemetry_collection_xpack/schema/xpack_plugins.json +++ b/x-pack/plugins/telemetry_collection_xpack/schema/xpack_plugins.json @@ -100,6 +100,49 @@ } } }, + "count_actions_executions_per_day": { + "type": "long" + }, + "count_actions_executions_by_type_per_day": { + "properties": { + "DYNAMIC_KEY": { + "type": "long" + }, + "__email": { + "type": "long" + }, + "__index": { + "type": "long" + }, + "__pagerduty": { + "type": "long" + }, + "__swimlane": { + "type": "long" + }, + "__server-log": { + "type": "long" + }, + "__slack": { + "type": "long" + }, + "__webhook": { + "type": "long" + }, + "__servicenow": { + "type": "long" + }, + "__jira": { + "type": "long" + }, + "__resilient": { + "type": "long" + }, + "__teams": { + "type": "long" + } + } + }, "count_active_email_connectors_by_service_type": { "properties": { "DYNAMIC_KEY": { @@ -127,6 +170,92 @@ }, "count_actions_namespaces": { "type": "long" + }, + "count_actions_executions_failed_per_day": { + "type": "long" + }, + "count_actions_executions_failed_by_type_per_day": { + "properties": { + "DYNAMIC_KEY": { + "type": "long" + }, + "__email": { + "type": "long" + }, + "__index": { + "type": "long" + }, + "__pagerduty": { + "type": "long" + }, + "__swimlane": { + "type": "long" + }, + "__server-log": { + "type": "long" + }, + "__slack": { + "type": "long" + }, + "__webhook": { + "type": "long" + }, + "__servicenow": { + "type": "long" + }, + "__jira": { + "type": "long" + }, + "__resilient": { + "type": "long" + }, + "__teams": { + "type": "long" + } + } + }, + "avg_execution_time_per_day": { + "type": "long" + }, + "avg_execution_time_by_type_per_day": { + "properties": { + "DYNAMIC_KEY": { + "type": "long" + }, + "__email": { + "type": "long" + }, + "__index": { + "type": "long" + }, + "__pagerduty": { + "type": "long" + }, + "__swimlane": { + "type": "long" + }, + "__server-log": { + "type": "long" + }, + "__slack": { + "type": "long" + }, + "__webhook": { + "type": "long" + }, + "__servicenow": { + "type": "long" + }, + "__jira": { + "type": "long" + }, + "__resilient": { + "type": "long" + }, + "__teams": { + "type": "long" + } + } } } }, @@ -352,6 +481,633 @@ }, "count_rules_namespaces": { "type": "long" + }, + "count_rules_executions_per_day": { + "type": "long" + }, + "count_rules_executions_by_type_per_day": { + "properties": { + "DYNAMIC_KEY": { + "type": "long" + }, + "__index-threshold": { + "type": "long" + }, + "__es-query": { + "type": "long" + }, + "transform_health": { + "type": "long" + }, + "apm__error_rate": { + "type": "long" + }, + "apm__transaction_error_rate": { + "type": "long" + }, + "apm__transaction_duration": { + "type": "long" + }, + "apm__transaction_duration_anomaly": { + "type": "long" + }, + "metrics__alert__threshold": { + "type": "long" + }, + "metrics__alert__inventory__threshold": { + "type": "long" + }, + "logs__alert__document__count": { + "type": "long" + }, + "monitoring_alert_cluster_health": { + "type": "long" + }, + "monitoring_alert_cpu_usage": { + "type": "long" + }, + "monitoring_alert_disk_usage": { + "type": "long" + }, + "monitoring_alert_elasticsearch_version_mismatch": { + "type": "long" + }, + "monitoring_alert_kibana_version_mismatch": { + "type": "long" + }, + "monitoring_alert_license_expiration": { + "type": "long" + }, + "monitoring_alert_logstash_version_mismatch": { + "type": "long" + }, + "monitoring_alert_nodes_changed": { + "type": "long" + }, + "siem__signals": { + "type": "long" + }, + "siem__notifications": { + "type": "long" + }, + "xpack__uptime__alerts__monitorStatus": { + "type": "long" + }, + "xpack__uptime__alerts__tls": { + "type": "long" + }, + "xpack__uptime__alerts__durationAnomaly": { + "type": "long" + }, + "__geo-containment": { + "type": "long" + }, + "xpack__ml__anomaly_detection_alert": { + "type": "long" + }, + "xpack__ml__anomaly_detection_jobs_health": { + "type": "long" + } + } + }, + "count_rules_executions_failured_per_day": { + "type": "long" + }, + "count_rules_executions_failured_by_reason_per_day": { + "properties": { + "DYNAMIC_KEY": { + "type": "long" + }, + "read": { + "type": "long" + }, + "decrypt": { + "type": "long" + }, + "license": { + "type": "long" + }, + "unknown": { + "type": "long" + } + } + }, + "count_rules_executions_failured_by_reason_by_type_per_day": { + "properties": { + "DYNAMIC_KEY": { + "properties": { + "DYNAMIC_KEY": { + "type": "long" + }, + "__index-threshold": { + "type": "long" + }, + "__es-query": { + "type": "long" + }, + "transform_health": { + "type": "long" + }, + "apm__error_rate": { + "type": "long" + }, + "apm__transaction_error_rate": { + "type": "long" + }, + "apm__transaction_duration": { + "type": "long" + }, + "apm__transaction_duration_anomaly": { + "type": "long" + }, + "metrics__alert__threshold": { + "type": "long" + }, + "metrics__alert__inventory__threshold": { + "type": "long" + }, + "logs__alert__document__count": { + "type": "long" + }, + "monitoring_alert_cluster_health": { + "type": "long" + }, + "monitoring_alert_cpu_usage": { + "type": "long" + }, + "monitoring_alert_disk_usage": { + "type": "long" + }, + "monitoring_alert_elasticsearch_version_mismatch": { + "type": "long" + }, + "monitoring_alert_kibana_version_mismatch": { + "type": "long" + }, + "monitoring_alert_license_expiration": { + "type": "long" + }, + "monitoring_alert_logstash_version_mismatch": { + "type": "long" + }, + "monitoring_alert_nodes_changed": { + "type": "long" + }, + "siem__signals": { + "type": "long" + }, + "siem__notifications": { + "type": "long" + }, + "xpack__uptime__alerts__monitorStatus": { + "type": "long" + }, + "xpack__uptime__alerts__tls": { + "type": "long" + }, + "xpack__uptime__alerts__durationAnomaly": { + "type": "long" + }, + "__geo-containment": { + "type": "long" + }, + "xpack__ml__anomaly_detection_alert": { + "type": "long" + }, + "xpack__ml__anomaly_detection_jobs_health": { + "type": "long" + } + } + }, + "read": { + "properties": { + "DYNAMIC_KEY": { + "type": "long" + }, + "__index-threshold": { + "type": "long" + }, + "__es-query": { + "type": "long" + }, + "transform_health": { + "type": "long" + }, + "apm__error_rate": { + "type": "long" + }, + "apm__transaction_error_rate": { + "type": "long" + }, + "apm__transaction_duration": { + "type": "long" + }, + "apm__transaction_duration_anomaly": { + "type": "long" + }, + "metrics__alert__threshold": { + "type": "long" + }, + "metrics__alert__inventory__threshold": { + "type": "long" + }, + "logs__alert__document__count": { + "type": "long" + }, + "monitoring_alert_cluster_health": { + "type": "long" + }, + "monitoring_alert_cpu_usage": { + "type": "long" + }, + "monitoring_alert_disk_usage": { + "type": "long" + }, + "monitoring_alert_elasticsearch_version_mismatch": { + "type": "long" + }, + "monitoring_alert_kibana_version_mismatch": { + "type": "long" + }, + "monitoring_alert_license_expiration": { + "type": "long" + }, + "monitoring_alert_logstash_version_mismatch": { + "type": "long" + }, + "monitoring_alert_nodes_changed": { + "type": "long" + }, + "siem__signals": { + "type": "long" + }, + "siem__notifications": { + "type": "long" + }, + "xpack__uptime__alerts__monitorStatus": { + "type": "long" + }, + "xpack__uptime__alerts__tls": { + "type": "long" + }, + "xpack__uptime__alerts__durationAnomaly": { + "type": "long" + }, + "__geo-containment": { + "type": "long" + }, + "xpack__ml__anomaly_detection_alert": { + "type": "long" + }, + "xpack__ml__anomaly_detection_jobs_health": { + "type": "long" + } + } + }, + "decrypt": { + "properties": { + "DYNAMIC_KEY": { + "type": "long" + }, + "__index-threshold": { + "type": "long" + }, + "__es-query": { + "type": "long" + }, + "transform_health": { + "type": "long" + }, + "apm__error_rate": { + "type": "long" + }, + "apm__transaction_error_rate": { + "type": "long" + }, + "apm__transaction_duration": { + "type": "long" + }, + "apm__transaction_duration_anomaly": { + "type": "long" + }, + "metrics__alert__threshold": { + "type": "long" + }, + "metrics__alert__inventory__threshold": { + "type": "long" + }, + "logs__alert__document__count": { + "type": "long" + }, + "monitoring_alert_cluster_health": { + "type": "long" + }, + "monitoring_alert_cpu_usage": { + "type": "long" + }, + "monitoring_alert_disk_usage": { + "type": "long" + }, + "monitoring_alert_elasticsearch_version_mismatch": { + "type": "long" + }, + "monitoring_alert_kibana_version_mismatch": { + "type": "long" + }, + "monitoring_alert_license_expiration": { + "type": "long" + }, + "monitoring_alert_logstash_version_mismatch": { + "type": "long" + }, + "monitoring_alert_nodes_changed": { + "type": "long" + }, + "siem__signals": { + "type": "long" + }, + "siem__notifications": { + "type": "long" + }, + "xpack__uptime__alerts__monitorStatus": { + "type": "long" + }, + "xpack__uptime__alerts__tls": { + "type": "long" + }, + "xpack__uptime__alerts__durationAnomaly": { + "type": "long" + }, + "__geo-containment": { + "type": "long" + }, + "xpack__ml__anomaly_detection_alert": { + "type": "long" + }, + "xpack__ml__anomaly_detection_jobs_health": { + "type": "long" + } + } + }, + "license": { + "properties": { + "DYNAMIC_KEY": { + "type": "long" + }, + "__index-threshold": { + "type": "long" + }, + "__es-query": { + "type": "long" + }, + "transform_health": { + "type": "long" + }, + "apm__error_rate": { + "type": "long" + }, + "apm__transaction_error_rate": { + "type": "long" + }, + "apm__transaction_duration": { + "type": "long" + }, + "apm__transaction_duration_anomaly": { + "type": "long" + }, + "metrics__alert__threshold": { + "type": "long" + }, + "metrics__alert__inventory__threshold": { + "type": "long" + }, + "logs__alert__document__count": { + "type": "long" + }, + "monitoring_alert_cluster_health": { + "type": "long" + }, + "monitoring_alert_cpu_usage": { + "type": "long" + }, + "monitoring_alert_disk_usage": { + "type": "long" + }, + "monitoring_alert_elasticsearch_version_mismatch": { + "type": "long" + }, + "monitoring_alert_kibana_version_mismatch": { + "type": "long" + }, + "monitoring_alert_license_expiration": { + "type": "long" + }, + "monitoring_alert_logstash_version_mismatch": { + "type": "long" + }, + "monitoring_alert_nodes_changed": { + "type": "long" + }, + "siem__signals": { + "type": "long" + }, + "siem__notifications": { + "type": "long" + }, + "xpack__uptime__alerts__monitorStatus": { + "type": "long" + }, + "xpack__uptime__alerts__tls": { + "type": "long" + }, + "xpack__uptime__alerts__durationAnomaly": { + "type": "long" + }, + "__geo-containment": { + "type": "long" + }, + "xpack__ml__anomaly_detection_alert": { + "type": "long" + }, + "xpack__ml__anomaly_detection_jobs_health": { + "type": "long" + } + } + }, + "unknown": { + "properties": { + "DYNAMIC_KEY": { + "type": "long" + }, + "__index-threshold": { + "type": "long" + }, + "__es-query": { + "type": "long" + }, + "transform_health": { + "type": "long" + }, + "apm__error_rate": { + "type": "long" + }, + "apm__transaction_error_rate": { + "type": "long" + }, + "apm__transaction_duration": { + "type": "long" + }, + "apm__transaction_duration_anomaly": { + "type": "long" + }, + "metrics__alert__threshold": { + "type": "long" + }, + "metrics__alert__inventory__threshold": { + "type": "long" + }, + "logs__alert__document__count": { + "type": "long" + }, + "monitoring_alert_cluster_health": { + "type": "long" + }, + "monitoring_alert_cpu_usage": { + "type": "long" + }, + "monitoring_alert_disk_usage": { + "type": "long" + }, + "monitoring_alert_elasticsearch_version_mismatch": { + "type": "long" + }, + "monitoring_alert_kibana_version_mismatch": { + "type": "long" + }, + "monitoring_alert_license_expiration": { + "type": "long" + }, + "monitoring_alert_logstash_version_mismatch": { + "type": "long" + }, + "monitoring_alert_nodes_changed": { + "type": "long" + }, + "siem__signals": { + "type": "long" + }, + "siem__notifications": { + "type": "long" + }, + "xpack__uptime__alerts__monitorStatus": { + "type": "long" + }, + "xpack__uptime__alerts__tls": { + "type": "long" + }, + "xpack__uptime__alerts__durationAnomaly": { + "type": "long" + }, + "__geo-containment": { + "type": "long" + }, + "xpack__ml__anomaly_detection_alert": { + "type": "long" + }, + "xpack__ml__anomaly_detection_jobs_health": { + "type": "long" + } + } + } + } + }, + "avg_execution_time_per_day": { + "type": "long" + }, + "avg_execution_time_by_type_per_day": { + "properties": { + "DYNAMIC_KEY": { + "type": "long" + }, + "__index-threshold": { + "type": "long" + }, + "__es-query": { + "type": "long" + }, + "transform_health": { + "type": "long" + }, + "apm__error_rate": { + "type": "long" + }, + "apm__transaction_error_rate": { + "type": "long" + }, + "apm__transaction_duration": { + "type": "long" + }, + "apm__transaction_duration_anomaly": { + "type": "long" + }, + "metrics__alert__threshold": { + "type": "long" + }, + "metrics__alert__inventory__threshold": { + "type": "long" + }, + "logs__alert__document__count": { + "type": "long" + }, + "monitoring_alert_cluster_health": { + "type": "long" + }, + "monitoring_alert_cpu_usage": { + "type": "long" + }, + "monitoring_alert_disk_usage": { + "type": "long" + }, + "monitoring_alert_elasticsearch_version_mismatch": { + "type": "long" + }, + "monitoring_alert_kibana_version_mismatch": { + "type": "long" + }, + "monitoring_alert_license_expiration": { + "type": "long" + }, + "monitoring_alert_logstash_version_mismatch": { + "type": "long" + }, + "monitoring_alert_nodes_changed": { + "type": "long" + }, + "siem__signals": { + "type": "long" + }, + "siem__notifications": { + "type": "long" + }, + "xpack__uptime__alerts__monitorStatus": { + "type": "long" + }, + "xpack__uptime__alerts__tls": { + "type": "long" + }, + "xpack__uptime__alerts__durationAnomaly": { + "type": "long" + }, + "__geo-containment": { + "type": "long" + }, + "xpack__ml__anomaly_detection_alert": { + "type": "long" + }, + "xpack__ml__anomaly_detection_jobs_health": { + "type": "long" + } + } } } }, From 0e3dea35a9b1e5def3f24fbddb7724a49a8316a1 Mon Sep 17 00:00:00 2001 From: Corey Robertson Date: Tue, 2 Nov 2021 13:38:37 -0400 Subject: [PATCH 091/110] Fix bug where cache is rebuilt incorrectly (#114105) Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- x-pack/plugins/canvas/public/lib/run_interpreter.ts | 8 +++++--- x-pack/plugins/canvas/public/state/actions/elements.js | 3 ++- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/x-pack/plugins/canvas/public/lib/run_interpreter.ts b/x-pack/plugins/canvas/public/lib/run_interpreter.ts index 6c10b82fae3fd9..9633d91b8b8b28 100644 --- a/x-pack/plugins/canvas/public/lib/run_interpreter.ts +++ b/x-pack/plugins/canvas/public/lib/run_interpreter.ts @@ -19,11 +19,13 @@ interface Options { */ export async function interpretAst( ast: ExpressionAstExpression, - variables: Record + variables: Record, + input: ExpressionValue = null ): Promise { const context = { variables }; const { execute } = pluginServices.getServices().expressions; - return await execute(ast, null, context).getData().pipe(pluck('result')).toPromise(); + + return await execute(ast, input, context).getData().pipe(pluck('result')).toPromise(); } /** @@ -43,9 +45,9 @@ export async function runInterpreter( options: Options = {} ): Promise { const context = { variables }; - try { const { execute } = pluginServices.getServices().expressions; + const renderable = await execute(ast, input, context) .getData() .pipe(pluck('result')) diff --git a/x-pack/plugins/canvas/public/state/actions/elements.js b/x-pack/plugins/canvas/public/state/actions/elements.js index a8302cf0940161..c8d322163b54fe 100644 --- a/x-pack/plugins/canvas/public/state/actions/elements.js +++ b/x-pack/plugins/canvas/public/state/actions/elements.js @@ -111,7 +111,8 @@ export const fetchContext = createThunk( ...element.ast, chain: astChain, }, - variables + variables, + prevContextValue ).then((value) => { dispatch( args.setValue({ From c91e44ca8e9b6363069773236f8532bcd2915cbc Mon Sep 17 00:00:00 2001 From: Shahzad Date: Tue, 2 Nov 2021 18:44:53 +0100 Subject: [PATCH 092/110] [Uptime] Fix regression in logging queries on inspect (#117124) Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- x-pack/plugins/uptime/server/lib/lib.ts | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/x-pack/plugins/uptime/server/lib/lib.ts b/x-pack/plugins/uptime/server/lib/lib.ts index 894bf743499f98..fbd0494a3ca82c 100644 --- a/x-pack/plugins/uptime/server/lib/lib.ts +++ b/x-pack/plugins/uptime/server/lib/lib.ts @@ -59,8 +59,6 @@ export function createUptimeESClient({ request?: KibanaRequest; savedObjectsClient: SavedObjectsClientContract | ISavedObjectsRepository; }) { - const { _inspect = false } = (request?.query as { _inspect: boolean }) ?? {}; - return { baseESClient: esClient, async search( @@ -101,10 +99,9 @@ export function createUptimeESClient({ startTime: startTimeNow, }) ); - } - - if (_inspect && request) { - debugESCall({ startTime, request, esError, operationName: 'search', params: esParams }); + if (request) { + debugESCall({ startTime, request, esError, operationName: 'search', params: esParams }); + } } if (esError) { @@ -129,8 +126,9 @@ export function createUptimeESClient({ } catch (e) { esError = e; } + const inspectableEsQueries = inspectableEsQueriesMap.get(request!); - if (_inspect && request) { + if (inspectableEsQueries && request) { debugESCall({ startTime, request, esError, operationName: 'count', params: esParams }); } From 03cebac5472f66e4c68183dd2c2a5d44f72ad057 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20S=C3=A1nchez?= Date: Tue, 2 Nov 2021 18:53:31 +0100 Subject: [PATCH 093/110] [Security solution] [Endpoint] Fixes for operator "match_any" in event filters card (#117136) * Fix translations and allow negative operators * UI fixes * Remove useCallbacks and update test --- .../artifact_entry_card.tsx | 16 +++-- .../components/criteria_conditions.tsx | 56 ++++++++++++----- .../components/translations.ts | 16 ++++- .../__snapshots__/index.test.tsx.snap | 60 +++++++++---------- 4 files changed, 97 insertions(+), 51 deletions(-) diff --git a/x-pack/plugins/security_solution/public/management/components/artifact_entry_card/artifact_entry_card.tsx b/x-pack/plugins/security_solution/public/management/components/artifact_entry_card/artifact_entry_card.tsx index d5f8c2dc747887..89d2f029e95381 100644 --- a/x-pack/plugins/security_solution/public/management/components/artifact_entry_card/artifact_entry_card.tsx +++ b/x-pack/plugins/security_solution/public/management/components/artifact_entry_card/artifact_entry_card.tsx @@ -80,16 +80,20 @@ export const ArtifactEntryCard = memo( data-test-subj={getTestId('subHeader')} /> - - {!hideDescription && ( - - {artifact.description} - + <> + + + {artifact.description} + + )} {!hideComments ? ( - + <> + + + ) : null} diff --git a/x-pack/plugins/security_solution/public/management/components/artifact_entry_card/components/criteria_conditions.tsx b/x-pack/plugins/security_solution/public/management/components/artifact_entry_card/components/criteria_conditions.tsx index 743eac7a15458c..24244aad3ef99b 100644 --- a/x-pack/plugins/security_solution/public/management/components/artifact_entry_card/components/criteria_conditions.tsx +++ b/x-pack/plugins/security_solution/public/management/components/artifact_entry_card/components/criteria_conditions.tsx @@ -6,7 +6,14 @@ */ import React, { memo, useCallback, useMemo } from 'react'; -import { CommonProps, EuiExpression, EuiToken, EuiFlexGroup, EuiFlexItem } from '@elastic/eui'; +import { + CommonProps, + EuiExpression, + EuiToken, + EuiFlexGroup, + EuiFlexItem, + EuiBadge, +} from '@elastic/eui'; import styled from 'styled-components'; import { ListOperatorTypeEnum } from '@kbn/securitysolution-io-ts-list-types'; import { @@ -21,6 +28,8 @@ import { CONDITION_OPERATOR_TYPE_MATCH_ANY, CONDITION_OPERATOR_TYPE_EXISTS, CONDITION_OPERATOR_TYPE_LIST, + CONDITION_OPERATOR_TYPE_NOT_MATCH_ANY, + CONDITION_OPERATOR_TYPE_NOT_MATCH, } from './translations'; import { ArtifactInfo, ArtifactInfoEntry } from '../types'; import { useTestIdGenerator } from '../../hooks/use_test_id_generator'; @@ -32,7 +41,7 @@ const OS_LABELS = Object.freeze({ windows: OS_WINDOWS, }); -const OPERATOR_TYPE_LABELS = Object.freeze({ +const OPERATOR_TYPE_LABELS_INCLUDED = Object.freeze({ [ListOperatorTypeEnum.NESTED]: CONDITION_OPERATOR_TYPE_NESTED, [ListOperatorTypeEnum.MATCH_ANY]: CONDITION_OPERATOR_TYPE_MATCH_ANY, [ListOperatorTypeEnum.MATCH]: CONDITION_OPERATOR_TYPE_MATCH, @@ -41,8 +50,13 @@ const OPERATOR_TYPE_LABELS = Object.freeze({ [ListOperatorTypeEnum.LIST]: CONDITION_OPERATOR_TYPE_LIST, }); +const OPERATOR_TYPE_LABELS_EXCLUDED = Object.freeze({ + [ListOperatorTypeEnum.MATCH_ANY]: CONDITION_OPERATOR_TYPE_NOT_MATCH_ANY, + [ListOperatorTypeEnum.MATCH]: CONDITION_OPERATOR_TYPE_NOT_MATCH, +}); + const EuiFlexGroupNested = styled(EuiFlexGroup)` - margin-left: ${({ theme }) => theme.eui.spacerSizes.l}; + margin-left: ${({ theme }) => theme.eui.spacerSizes.xl}; `; const EuiFlexItemNested = styled(EuiFlexItem)` @@ -67,11 +81,30 @@ export const CriteriaConditions = memo( .join(', '); }, [os]); + const getEntryValue = (type: string, value: string | string[]) => { + if (type === 'match_any' && Array.isArray(value)) { + return value.map((currentValue) => {currentValue}); + } + return value; + }; + + const getEntryOperator = (type: string, operator: string) => { + if (type === 'nested') return; + return operator === 'included' + ? OPERATOR_TYPE_LABELS_INCLUDED[type as keyof typeof OPERATOR_TYPE_LABELS_INCLUDED] ?? type + : OPERATOR_TYPE_LABELS_EXCLUDED[type as keyof typeof OPERATOR_TYPE_LABELS_EXCLUDED] ?? type; + }; + const getNestedEntriesContent = useCallback( (type: string, nestedEntries: ArtifactInfoEntry[]) => { if (type === 'nested' && nestedEntries.length) { return nestedEntries.map( - ({ field: nestedField, type: nestedType, value: nestedValue }) => { + ({ + field: nestedField, + type: nestedType, + value: nestedValue, + operator: nestedOperator, + }) => { return ( ( @@ -113,7 +143,7 @@ export const CriteriaConditions = memo(
    - {entries.map(({ field, type, value, entries: nestedEntries = [] }) => { + {entries.map(({ field, type, value, operator, entries: nestedEntries = [] }) => { return (
    ( color="subdued" /> {getNestedEntriesContent(type, nestedEntries)}
    diff --git a/x-pack/plugins/security_solution/public/management/components/artifact_entry_card/components/translations.ts b/x-pack/plugins/security_solution/public/management/components/artifact_entry_card/components/translations.ts index b2c0edfb2b9eb1..3290a52c1c37d4 100644 --- a/x-pack/plugins/security_solution/public/management/components/artifact_entry_card/components/translations.ts +++ b/x-pack/plugins/security_solution/public/management/components/artifact_entry_card/components/translations.ts @@ -54,6 +54,13 @@ export const CONDITION_OPERATOR_TYPE_MATCH = i18n.translate( } ); +export const CONDITION_OPERATOR_TYPE_NOT_MATCH = i18n.translate( + 'xpack.securitySolution.artifactCard.conditions.matchOperator.not', + { + defaultMessage: 'IS NOT', + } +); + export const CONDITION_OPERATOR_TYPE_WILDCARD = i18n.translate( 'xpack.securitySolution.artifactCard.conditions.wildcardOperator', { @@ -71,7 +78,14 @@ export const CONDITION_OPERATOR_TYPE_NESTED = i18n.translate( export const CONDITION_OPERATOR_TYPE_MATCH_ANY = i18n.translate( 'xpack.securitySolution.artifactCard.conditions.matchAnyOperator', { - defaultMessage: 'is any', + defaultMessage: 'is one of', + } +); + +export const CONDITION_OPERATOR_TYPE_NOT_MATCH_ANY = i18n.translate( + 'xpack.securitySolution.artifactCard.conditions.matchAnyOperator.not', + { + defaultMessage: 'is not one of', } ); diff --git a/x-pack/plugins/security_solution/public/management/pages/trusted_apps/view/components/trusted_apps_grid/__snapshots__/index.test.tsx.snap b/x-pack/plugins/security_solution/public/management/pages/trusted_apps/view/components/trusted_apps_grid/__snapshots__/index.test.tsx.snap index ea5869f79275f7..f22cc1179f0d32 100644 --- a/x-pack/plugins/security_solution/public/management/pages/trusted_apps/view/components/trusted_apps_grid/__snapshots__/index.test.tsx.snap +++ b/x-pack/plugins/security_solution/public/management/pages/trusted_apps/view/components/trusted_apps_grid/__snapshots__/index.test.tsx.snap @@ -743,7 +743,7 @@ exports[`TrustedAppsGrid renders correctly when loaded data 1`] = `
    Date: Tue, 2 Nov 2021 10:55:32 -0700 Subject: [PATCH 094/110] Exceptions export duplicates (#116698) ## Summary Addresses https://github.com/elastic/kibana/issues/116329 Removes duplicate exception lists on rule export when multiple rules reference the same list. --- .../response/exception_list_schema.mock.ts | 21 +++++++++++ .../server/scripts/check_env_variables.sh | 10 ----- .../exception_list_client.mock.ts | 9 +++-- .../rules/get_export_all.test.ts | 4 +- .../rules/get_export_rule_exceptions.test.ts | 37 +++++++++++++++---- .../rules/get_export_rule_exceptions.ts | 17 ++++++--- .../scripts/check_env_variables.sh | 10 ----- 7 files changed, 70 insertions(+), 38 deletions(-) diff --git a/x-pack/plugins/lists/common/schemas/response/exception_list_schema.mock.ts b/x-pack/plugins/lists/common/schemas/response/exception_list_schema.mock.ts index 42c35ba1a5d7a7..eca17b4c835d63 100644 --- a/x-pack/plugins/lists/common/schemas/response/exception_list_schema.mock.ts +++ b/x-pack/plugins/lists/common/schemas/response/exception_list_schema.mock.ts @@ -16,6 +16,7 @@ import { import { DATE_NOW, DESCRIPTION, + DETECTION_TYPE, ELASTIC_USER, ENDPOINT_TYPE, IMMUTABLE, @@ -48,6 +49,26 @@ export const getExceptionListSchemaMock = (): ExceptionListSchema => ({ version: VERSION, }); +export const getDetectionsExceptionListSchemaMock = (): ExceptionListSchema => ({ + _version: _VERSION, + created_at: DATE_NOW, + created_by: USER, + description: DESCRIPTION, + id: '1', + immutable: IMMUTABLE, + list_id: 'exception_list_id', + meta: META, + name: 'Sample Exception List', + namespace_type: 'single', + os_types: ['linux'], + tags: ['user added string for a tag', 'malware'], + tie_breaker_id: TIE_BREAKER, + type: DETECTION_TYPE, + updated_at: DATE_NOW, + updated_by: 'user_name', + version: VERSION, +}); + export const getTrustedAppsListSchemaMock = (): ExceptionListSchema => { return { ...getExceptionListSchemaMock(), diff --git a/x-pack/plugins/lists/server/scripts/check_env_variables.sh b/x-pack/plugins/lists/server/scripts/check_env_variables.sh index 4df0e42adf9f38..df2354ed8398a9 100755 --- a/x-pack/plugins/lists/server/scripts/check_env_variables.sh +++ b/x-pack/plugins/lists/server/scripts/check_env_variables.sh @@ -30,13 +30,3 @@ if [ -z "${KIBANA_URL}" ]; then echo "Set KIBANA_URL in your environment" exit 1 fi - -if [ -z "${TASK_MANAGER_INDEX}" ]; then - echo "Set TASK_MANAGER_INDEX in your environment" - exit 1 -fi - -if [ -z "${KIBANA_INDEX}" ]; then - echo "Set KIBANA_INDEX in your environment" - exit 1 -fi diff --git a/x-pack/plugins/lists/server/services/exception_lists/exception_list_client.mock.ts b/x-pack/plugins/lists/server/services/exception_lists/exception_list_client.mock.ts index f5f6a4f1f2d5a0..a780080dabc83d 100644 --- a/x-pack/plugins/lists/server/services/exception_lists/exception_list_client.mock.ts +++ b/x-pack/plugins/lists/server/services/exception_lists/exception_list_client.mock.ts @@ -11,6 +11,7 @@ import { getFoundExceptionListSchemaMock } from '../../../common/schemas/respons import { getFoundExceptionListItemSchemaMock } from '../../../common/schemas/response/found_exception_list_item_schema.mock'; import { getExceptionListItemSchemaMock } from '../../../common/schemas/response/exception_list_item_schema.mock'; import { + getDetectionsExceptionListSchemaMock, getExceptionListSchemaMock, getTrustedAppsListSchemaMock, } from '../../../common/schemas/response/exception_list_schema.mock'; @@ -31,10 +32,12 @@ export class ExceptionListClientMock extends ExceptionListClient { public createTrustedAppsList = jest.fn().mockResolvedValue(getTrustedAppsListSchemaMock()); public createEndpointList = jest.fn().mockResolvedValue(getExceptionListSchemaMock()); public exportExceptionListAndItems = jest.fn().mockResolvedValue({ - exportData: 'exportString', + exportData: `${JSON.stringify(getDetectionsExceptionListSchemaMock())}\n${JSON.stringify( + getExceptionListItemSchemaMock({ list_id: 'exception_list_id' }) + )}`, exportDetails: { - exported_exception_list_count: 0, - exported_exception_list_item_count: 0, + exported_exception_list_count: 1, + exported_exception_list_item_count: 1, missing_exception_list_item_count: 0, missing_exception_list_items: [], missing_exception_lists: [], diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/get_export_all.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/get_export_all.test.ts index 80df4c94971cc5..99f5f76be1a7c6 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/get_export_all.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/get_export_all.test.ts @@ -101,8 +101,8 @@ describe.each([ exceptions_list: getListArrayMock(), }); expect(detailsJson).toEqual({ - exported_exception_list_count: 0, - exported_exception_list_item_count: 0, + exported_exception_list_count: 1, + exported_exception_list_item_count: 1, exported_rules_count: 1, missing_exception_list_item_count: 0, missing_exception_list_items: [], diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/get_export_rule_exceptions.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/get_export_rule_exceptions.test.ts index dd7e59c74601ce..614c0ae0a12810 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/get_export_rule_exceptions.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/get_export_rule_exceptions.test.ts @@ -8,15 +8,15 @@ import { ENDPOINT_LIST_ID } from '@kbn/securitysolution-list-constants'; import { getExceptionListClientMock } from '../../../../../lists/server/services/exception_lists/exception_list_client.mock'; +import { getDetectionsExceptionListSchemaMock } from '../../../../../lists/common/schemas/response/exception_list_schema.mock'; +import { getExceptionListItemSchemaMock } from '../../../../../lists/common/schemas/response/exception_list_item_schema.mock'; + import { getRuleExceptionsForExport, getExportableExceptions, getDefaultExportDetails, } from './get_export_rule_exceptions'; -import { - getListArrayMock, - getListMock, -} from '../../../../common/detection_engine/schemas/types/lists.mock'; +import { getListMock } from '../../../../common/detection_engine/schemas/types/lists.mock'; describe('get_export_rule_exceptions', () => { describe('getRuleExceptionsForExport', () => { @@ -36,7 +36,24 @@ describe('get_export_rule_exceptions', () => { getExceptionListClientMock() ); - expect(exportData).toEqual('exportString'); + expect(exportData).toEqual( + `${JSON.stringify(getDetectionsExceptionListSchemaMock())}\n${JSON.stringify( + getExceptionListItemSchemaMock({ list_id: 'exception_list_id' }) + )}` + ); + }); + + test('it does not return duplicate exception lists', async () => { + const { exportData } = await getRuleExceptionsForExport( + [getListMock(), getListMock()], + getExceptionListClientMock() + ); + + expect(exportData).toEqual( + `${JSON.stringify(getDetectionsExceptionListSchemaMock())}\n${JSON.stringify( + getExceptionListItemSchemaMock({ list_id: 'exception_list_id' }) + )}` + ); }); test('it does not return a global endpoint list', async () => { @@ -60,11 +77,15 @@ describe('get_export_rule_exceptions', () => { test('it returns stringified exception lists and items', async () => { // This rule has 2 exception lists tied to it const { exportData } = await getExportableExceptions( - getListArrayMock(), + [getListMock()], getExceptionListClientMock() ); - expect(exportData).toEqual('exportStringexportString'); + expect(exportData).toEqual( + `${JSON.stringify(getDetectionsExceptionListSchemaMock())}\n${JSON.stringify( + getExceptionListItemSchemaMock({ list_id: 'exception_list_id' }) + )}` + ); }); test('it throws error if error occurs in getting exceptions', async () => { @@ -72,7 +93,7 @@ describe('get_export_rule_exceptions', () => { exceptionsClient.exportExceptionListAndItems = jest.fn().mockRejectedValue(new Error('oops')); // This rule has 2 exception lists tied to it await expect(async () => { - await getExportableExceptions(getListArrayMock(), exceptionsClient); + await getExportableExceptions([getListMock()], exceptionsClient); }).rejects.toThrowErrorMatchingInlineSnapshot(`"oops"`); }); }); diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/get_export_rule_exceptions.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/get_export_rule_exceptions.ts index 719649d35c0f09..6faf3fdfe6104b 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/get_export_rule_exceptions.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/get_export_rule_exceptions.ts @@ -21,10 +21,17 @@ export const getRuleExceptionsForExport = async ( exceptions: ListArray, exceptionsListClient: ExceptionListClient | undefined ): Promise => { + const uniqueExceptionLists = new Set(); + if (exceptionsListClient != null) { - const exceptionsWithoutUnexportableLists = exceptions.filter( - ({ list_id: listId }) => !NON_EXPORTABLE_LIST_IDS.includes(listId) - ); + const exceptionsWithoutUnexportableLists = exceptions.filter((list) => { + if (!uniqueExceptionLists.has(list.id)) { + uniqueExceptionLists.add(list.id); + return !NON_EXPORTABLE_LIST_IDS.includes(list.list_id); + } else { + return false; + } + }); return getExportableExceptions(exceptionsWithoutUnexportableLists, exceptionsListClient); } else { return { exportData: '', exportDetails: getDefaultExportDetails() }; @@ -72,9 +79,9 @@ export const getExportableExceptions = async ( }; /** - * Creates promises of the rules and returns them. + * Creates promises of the exceptions to be exported and returns them. * @param exceptionsListClient Exception Lists client - * @param exceptions The rules to apply the update for + * @param exceptions The exceptions to be exported * @returns Promise of export ready exceptions. */ export const createPromises = ( diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/scripts/check_env_variables.sh b/x-pack/plugins/security_solution/server/lib/detection_engine/scripts/check_env_variables.sh index 4df0e42adf9f38..df2354ed8398a9 100755 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/scripts/check_env_variables.sh +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/scripts/check_env_variables.sh @@ -30,13 +30,3 @@ if [ -z "${KIBANA_URL}" ]; then echo "Set KIBANA_URL in your environment" exit 1 fi - -if [ -z "${TASK_MANAGER_INDEX}" ]; then - echo "Set TASK_MANAGER_INDEX in your environment" - exit 1 -fi - -if [ -z "${KIBANA_INDEX}" ]; then - echo "Set KIBANA_INDEX in your environment" - exit 1 -fi From 47e8f783dc6da74a0f8cca81c02ed0349f540747 Mon Sep 17 00:00:00 2001 From: Bryan Clement Date: Tue, 2 Nov 2021 11:00:43 -0700 Subject: [PATCH 095/110] remove unused enrollment path (#117063) --- api_docs/fleet.json | 12 +----------- x-pack/plugins/fleet/common/constants/routes.ts | 1 - 2 files changed, 1 insertion(+), 12 deletions(-) diff --git a/api_docs/fleet.json b/api_docs/fleet.json index b951a5feea6335..06c6bf2dbae32e 100644 --- a/api_docs/fleet.json +++ b/api_docs/fleet.json @@ -19696,16 +19696,6 @@ "path": "x-pack/plugins/fleet/common/constants/routes.ts", "deprecated": false }, - { - "parentPluginId": "fleet", - "id": "def-common.AGENT_API_ROUTES.ENROLL_PATTERN", - "type": "string", - "tags": [], - "label": "ENROLL_PATTERN", - "description": [], - "path": "x-pack/plugins/fleet/common/constants/routes.ts", - "deprecated": false - }, { "parentPluginId": "fleet", "id": "def-common.AGENT_API_ROUTES.UNENROLL_PATTERN", @@ -21889,4 +21879,4 @@ } ] } -} \ No newline at end of file +} diff --git a/x-pack/plugins/fleet/common/constants/routes.ts b/x-pack/plugins/fleet/common/constants/routes.ts index 60795799bb32d6..aa5e0dbcd5ed17 100644 --- a/x-pack/plugins/fleet/common/constants/routes.ts +++ b/x-pack/plugins/fleet/common/constants/routes.ts @@ -89,7 +89,6 @@ export const AGENT_API_ROUTES = { CHECKIN_PATTERN: `${API_ROOT}/agents/{agentId}/checkin`, ACKS_PATTERN: `${API_ROOT}/agents/{agentId}/acks`, ACTIONS_PATTERN: `${API_ROOT}/agents/{agentId}/actions`, - ENROLL_PATTERN: `${API_ROOT}/agents/enroll`, UNENROLL_PATTERN: `${API_ROOT}/agents/{agentId}/unenroll`, BULK_UNENROLL_PATTERN: `${API_ROOT}/agents/bulk_unenroll`, REASSIGN_PATTERN: `${API_ROOT}/agents/{agentId}/reassign`, From 6dbb314f76e6e1c84f33dd11960dfc3491471ed0 Mon Sep 17 00:00:00 2001 From: Tyler Smalley Date: Tue, 2 Nov 2021 11:02:05 -0700 Subject: [PATCH 096/110] [bazel] Set cache for build, not common (#117163) These settings are not valid outside build, and cause commands like shutdown to fail. Signed-off-by: Tyler Smalley --- .bazelrc.common | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.bazelrc.common b/.bazelrc.common index c401a905079822..0ad0c95fdcbbdf 100644 --- a/.bazelrc.common +++ b/.bazelrc.common @@ -13,10 +13,10 @@ test --experimental_guard_against_concurrent_changes query --experimental_guard_against_concurrent_changes ## Cache action outputs on disk so they persist across output_base and bazel shutdown (eg. changing branches) -common --disk_cache=~/.bazel-cache/disk-cache +build --disk_cache=~/.bazel-cache/disk-cache ## Bazel repo cache settings -common --repository_cache=~/.bazel-cache/repository-cache +build --repository_cache=~/.bazel-cache/repository-cache # Bazel will create symlinks from the workspace directory to output artifacts. # Build results will be placed in a directory called "bazel-bin" From d9359219592dc5dc8b7e42f4061ed8f6c8409020 Mon Sep 17 00:00:00 2001 From: Vadim Yakhin Date: Tue, 2 Nov 2021 11:04:01 -0700 Subject: [PATCH 097/110] Update Workplace Search integration categories (#117036) Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../custom_integrations/common/index.ts | 11 ++---- .../enterprise_search/server/integrations.ts | 34 +++++++++---------- 2 files changed, 20 insertions(+), 25 deletions(-) diff --git a/src/plugins/custom_integrations/common/index.ts b/src/plugins/custom_integrations/common/index.ts index 98148bb22c8164..f00b4c39405d52 100755 --- a/src/plugins/custom_integrations/common/index.ts +++ b/src/plugins/custom_integrations/common/index.ts @@ -40,16 +40,11 @@ export const INTEGRATION_CATEGORY_DISPLAY = { web: 'Web', // Kibana added - communication: 'Communication', - customer_support: 'Customer Support', - document_storage: 'Document Storage', - enterprise_management: 'Enterprise Management', - knowledge_platform: 'Knowledge Platform', + communications: 'Communications', + file_storage: 'File storage', language_client: 'Language client', - project_management: 'Project Management', - software_development: 'Software Development', upload_file: 'Upload a file', - website_search: 'Website Search', + website_search: 'Website search', }; /** diff --git a/x-pack/plugins/enterprise_search/server/integrations.ts b/x-pack/plugins/enterprise_search/server/integrations.ts index eee5cdc3aaec3e..633f5638cc05c6 100644 --- a/x-pack/plugins/enterprise_search/server/integrations.ts +++ b/x-pack/plugins/enterprise_search/server/integrations.ts @@ -30,7 +30,7 @@ const workplaceSearchIntegrations: WorkplaceSearchIntegration[] = [ defaultMessage: 'Search over your files and folders stored on Box with Workplace Search.', } ), - categories: ['document_storage'], + categories: ['file_storage'], }, { id: 'confluence_cloud', @@ -47,7 +47,7 @@ const workplaceSearchIntegrations: WorkplaceSearchIntegration[] = [ 'Search over your organizational content on Confluence Cloud with Workplace Search.', } ), - categories: ['knowledge_platform'], + categories: ['productivity'], }, { id: 'confluence_server', @@ -64,7 +64,7 @@ const workplaceSearchIntegrations: WorkplaceSearchIntegration[] = [ 'Search over your organizational content on Confluence Server with Workplace Search.', } ), - categories: ['knowledge_platform'], + categories: ['productivity'], }, { id: 'dropbox', @@ -78,7 +78,7 @@ const workplaceSearchIntegrations: WorkplaceSearchIntegration[] = [ 'Search over your files and folders stored on Dropbox with Workplace Search.', } ), - categories: ['document_storage'], + categories: ['file_storage'], }, { id: 'github', @@ -91,7 +91,7 @@ const workplaceSearchIntegrations: WorkplaceSearchIntegration[] = [ defaultMessage: 'Search over your projects and repos on GitHub with Workplace Search.', } ), - categories: ['software_development'], + categories: ['productivity'], }, { id: 'github_enterprise_server', @@ -108,7 +108,7 @@ const workplaceSearchIntegrations: WorkplaceSearchIntegration[] = [ 'Search over your projects and repos on GitHub Enterprise Server with Workplace Search.', } ), - categories: ['software_development'], + categories: ['productivity'], }, { id: 'gmail', @@ -121,7 +121,7 @@ const workplaceSearchIntegrations: WorkplaceSearchIntegration[] = [ defaultMessage: 'Search over your emails managed by Gmail with Workplace Search.', } ), - categories: ['communication'], + categories: ['communications'], }, { id: 'google_drive', @@ -134,7 +134,7 @@ const workplaceSearchIntegrations: WorkplaceSearchIntegration[] = [ defaultMessage: 'Search over your documents on Google Drive with Workplace Search.', } ), - categories: ['document_storage'], + categories: ['file_storage'], }, { id: 'jira_cloud', @@ -147,7 +147,7 @@ const workplaceSearchIntegrations: WorkplaceSearchIntegration[] = [ defaultMessage: 'Search over your project workflow on Jira Cloud with Workplace Search.', } ), - categories: ['project_management'], + categories: ['productivity'], }, { id: 'jira_server', @@ -160,7 +160,7 @@ const workplaceSearchIntegrations: WorkplaceSearchIntegration[] = [ defaultMessage: 'Search over your project workflow on Jira Server with Workplace Search.', } ), - categories: ['project_management'], + categories: ['productivity'], }, { id: 'onedrive', @@ -173,7 +173,7 @@ const workplaceSearchIntegrations: WorkplaceSearchIntegration[] = [ defaultMessage: 'Search over your files stored on OneDrive with Workplace Search.', } ), - categories: ['document_storage'], + categories: ['file_storage'], uiInternalPath: '/app/enterprise_search/workplace_search/sources/add/one_drive', }, { @@ -187,7 +187,7 @@ const workplaceSearchIntegrations: WorkplaceSearchIntegration[] = [ defaultMessage: 'Search over your content on Salesforce with Workplace Search.', } ), - categories: ['crm'], + categories: ['productivity'], }, { id: 'salesforce_sandbox', @@ -203,7 +203,7 @@ const workplaceSearchIntegrations: WorkplaceSearchIntegration[] = [ defaultMessage: 'Search over your content on Salesforce Sandbox with Workplace Search.', } ), - categories: ['crm'], + categories: ['productivity'], }, { id: 'servicenow', @@ -216,7 +216,7 @@ const workplaceSearchIntegrations: WorkplaceSearchIntegration[] = [ defaultMessage: 'Search over your content on ServiceNow with Workplace Search.', } ), - categories: ['enterprise_management'], + categories: ['productivity'], }, { id: 'sharepoint_online', @@ -232,7 +232,7 @@ const workplaceSearchIntegrations: WorkplaceSearchIntegration[] = [ defaultMessage: 'Search over your files stored on SharePoint Online with Workplace Search.', } ), - categories: ['document_storage'], + categories: ['file_storage'], uiInternalPath: '/app/enterprise_search/workplace_search/sources/add/share_point', }, { @@ -246,7 +246,7 @@ const workplaceSearchIntegrations: WorkplaceSearchIntegration[] = [ defaultMessage: 'Search over your messages on Slack with Workplace Search.', } ), - categories: ['communication'], + categories: ['communications'], }, { id: 'zendesk', @@ -259,7 +259,7 @@ const workplaceSearchIntegrations: WorkplaceSearchIntegration[] = [ defaultMessage: 'Search over your tickets on Zendesk with Workplace Search.', } ), - categories: ['customer_support'], + categories: ['communications'], }, { id: 'custom_api_source', From 8d814f1c6c4e080096673f617a1cde811ea95fe6 Mon Sep 17 00:00:00 2001 From: Dima Arnautov Date: Tue, 2 Nov 2021 19:06:39 +0100 Subject: [PATCH 098/110] [ML] fix ticks, add custom colors inline (#117159) --- .../severity_control/severity_control.tsx | 13 ++++++------- .../components/severity_control/styles.scss | 18 ------------------ 2 files changed, 6 insertions(+), 25 deletions(-) delete mode 100644 x-pack/plugins/ml/public/application/components/severity_control/styles.scss diff --git a/x-pack/plugins/ml/public/application/components/severity_control/severity_control.tsx b/x-pack/plugins/ml/public/application/components/severity_control/severity_control.tsx index 7be72b84302334..4cc182988778d1 100644 --- a/x-pack/plugins/ml/public/application/components/severity_control/severity_control.tsx +++ b/x-pack/plugins/ml/public/application/components/severity_control/severity_control.tsx @@ -16,7 +16,6 @@ import { EuiRangeProps, } from '@elastic/eui'; import { ANOMALY_THRESHOLD } from '../../../../common'; -import './styles.scss'; export interface SeveritySelectorProps { value: number | undefined; @@ -29,23 +28,23 @@ export const SeverityControl: FC = React.memo(({ value, o const levels: EuiRangeProps['levels'] = [ { min: ANOMALY_THRESHOLD.LOW, - max: ANOMALY_THRESHOLD.MINOR - 1, - color: 'success', + max: ANOMALY_THRESHOLD.MINOR, + color: '#8BC8FB', }, { min: ANOMALY_THRESHOLD.MINOR, - max: ANOMALY_THRESHOLD.MAJOR - 1, - color: 'primary', + max: ANOMALY_THRESHOLD.MAJOR, + color: '#FDEC25', }, { min: ANOMALY_THRESHOLD.MAJOR, max: ANOMALY_THRESHOLD.CRITICAL, - color: 'warning', + color: '#FBA740', }, { min: ANOMALY_THRESHOLD.CRITICAL, max: MAX_ANOMALY_SCORE, - color: 'danger', + color: '#FE5050', }, ]; diff --git a/x-pack/plugins/ml/public/application/components/severity_control/styles.scss b/x-pack/plugins/ml/public/application/components/severity_control/styles.scss deleted file mode 100644 index 9a5fa8f2b160a9..00000000000000 --- a/x-pack/plugins/ml/public/application/components/severity_control/styles.scss +++ /dev/null @@ -1,18 +0,0 @@ -// Color overrides are required (https://github.com/elastic/eui/issues/4467) - -.mlSeverityControl { - .euiRangeLevel-- { - &success { - background-color: #8BC8FB; - } - &primary { - background-color: #FDEC25; - } - &warning { - background-color: #FBA740; - } - &danger { - background-color: #FE5050; - } - } -} From 3a6a94695d864a83d7f348398411830e11d447b0 Mon Sep 17 00:00:00 2001 From: Dominique Clarke Date: Tue, 2 Nov 2021 14:45:57 -0400 Subject: [PATCH 099/110] [Observability] [Exploratory View] adjust popover placement (#116471) Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../exploratory_view/components/date_range_picker.tsx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/x-pack/plugins/observability/public/components/shared/exploratory_view/components/date_range_picker.tsx b/x-pack/plugins/observability/public/components/shared/exploratory_view/components/date_range_picker.tsx index 5529f289270281..32994b37fffe34 100644 --- a/x-pack/plugins/observability/public/components/shared/exploratory_view/components/date_range_picker.tsx +++ b/x-pack/plugins/observability/public/components/shared/exploratory_view/components/date_range_picker.tsx @@ -79,8 +79,10 @@ export function DateRangePicker({ seriesId, series }: { seriesId: number; series return ( } endDateControl={ } /> From fd8a564392373a4d775287c726ed935a83eec31a Mon Sep 17 00:00:00 2001 From: Mark Hopkin Date: Tue, 2 Nov 2021 18:56:56 +0000 Subject: [PATCH 100/110] show upgrade title when no policy present (#117134) --- .../components/layout.tsx | 37 ++++++++++++++----- 1 file changed, 27 insertions(+), 10 deletions(-) diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/components/layout.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/components/layout.tsx index 3daf7fa545f246..b7c7d263d2675b 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/components/layout.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/components/layout.tsx @@ -123,16 +123,33 @@ export const CreatePackagePolicyPageLayout: React.FunctionComponent<{ ); } - return isEdit ? ( - -

    - -

    -
    - ) : ( + if (isEdit) { + return ( + +

    + +

    +
    + ); + } + + if (isUpgrade) { + return ( + +

    + +

    +
    + ); + } + + return (

    Date: Tue, 2 Nov 2021 12:01:28 -0700 Subject: [PATCH 101/110] skip flaky suite (#116058) --- .../import_saved_objects_between_versions.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/test/functional/apps/saved_objects_management/import_saved_objects_between_versions.ts b/x-pack/test/functional/apps/saved_objects_management/import_saved_objects_between_versions.ts index 790909164b33d7..4dce6bca8f67a2 100644 --- a/x-pack/test/functional/apps/saved_objects_management/import_saved_objects_between_versions.ts +++ b/x-pack/test/functional/apps/saved_objects_management/import_saved_objects_between_versions.ts @@ -20,7 +20,8 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { const testSubjects = getService('testSubjects'); const retry = getService('retry'); - describe('Export import saved objects between versions', function () { + // Failing: See https://github.com/elastic/kibana/issues/116058 + describe.skip('Export import saved objects between versions', function () { before(async function () { await esArchiver.load('x-pack/test/functional/es_archives/logstash_functional'); await esArchiver.load('x-pack/test/functional/es_archives/getting_started/shakespeare'); From 5c73c0c120d43ddb9ef7c38545d480ab527f3b90 Mon Sep 17 00:00:00 2001 From: Scotty Bollinger Date: Tue, 2 Nov 2021 14:04:15 -0500 Subject: [PATCH 102/110] Update Role mappings modal copy (#117182) --- .../public/applications/shared/role_mapping/constants.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x-pack/plugins/enterprise_search/public/applications/shared/role_mapping/constants.ts b/x-pack/plugins/enterprise_search/public/applications/shared/role_mapping/constants.ts index d2229b428932f4..0a99b0991f4ed6 100644 --- a/x-pack/plugins/enterprise_search/public/applications/shared/role_mapping/constants.ts +++ b/x-pack/plugins/enterprise_search/public/applications/shared/role_mapping/constants.ts @@ -382,7 +382,7 @@ export const INVITATION_PENDING_LABEL = i18n.translate( export const ROLE_MODAL_TEXT = i18n.translate('xpack.enterpriseSearch.roleMapping.roleModalText', { defaultMessage: - 'Removing a role mapping revokes access to any user corresponding to the mapping attributes, but may not take effect immediately for SAML-governed roles. Users with an active SAML session will retain access until it expires.', + 'Removing a role mapping could revoke access to the currently logged-in user. Before proceeding, verify that the currently logged-in user has the appropriate access level via a different role mapping to avoid undesired behavior. This action may not take effect immediately for SAML-governed roles. Users with an active SAML session will retain access until it expires.', }); export const USER_MODAL_TITLE = (username: string) => From f5e9a075e20be13d5a3b0d0e80019dcd339640ed Mon Sep 17 00:00:00 2001 From: Andrea Del Rio Date: Tue, 2 Nov 2021 12:33:40 -0700 Subject: [PATCH 103/110] [Design] Swap button styles in header and KQL search bar (#117062) --- .../data/public/ui/query_string_input/query_bar_top_row.tsx | 1 + .../top_nav_menu/__snapshots__/top_nav_menu_item.test.tsx.snap | 1 + .../navigation/public/top_nav_menu/top_nav_menu_item.tsx | 2 +- 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/plugins/data/public/ui/query_string_input/query_bar_top_row.tsx b/src/plugins/data/public/ui/query_string_input/query_bar_top_row.tsx index f71a3d3b0686a6..90db5abe418b7c 100644 --- a/src/plugins/data/public/ui/query_string_input/query_bar_top_row.tsx +++ b/src/plugins/data/public/ui/query_string_input/query_bar_top_row.tsx @@ -231,6 +231,7 @@ export default function QueryBarTopRow(props: QueryBarTopRowProps) { isDisabled={isDateRangeInvalid} isLoading={props.isLoading} onClick={onClickSubmitButton} + fill={false} data-test-subj="querySubmitButton" /> ); diff --git a/src/plugins/navigation/public/top_nav_menu/__snapshots__/top_nav_menu_item.test.tsx.snap b/src/plugins/navigation/public/top_nav_menu/__snapshots__/top_nav_menu_item.test.tsx.snap index 155377e5ea3352..570699aa0c0e2e 100644 --- a/src/plugins/navigation/public/top_nav_menu/__snapshots__/top_nav_menu_item.test.tsx.snap +++ b/src/plugins/navigation/public/top_nav_menu/__snapshots__/top_nav_menu_item.test.tsx.snap @@ -2,6 +2,7 @@ exports[`TopNavMenu Should render emphasized item which should be clickable 1`] = ` + {upperFirst(props.label || props.id!)} ) : ( From 2a74c291c8211eda18fdcb42e6a3c5c2fcb8e6be Mon Sep 17 00:00:00 2001 From: Spencer Date: Tue, 2 Nov 2021 14:02:43 -0600 Subject: [PATCH 104/110] [docs] fix direct branch injection into docs links (#116794) * [docs] fix direct branch injection into docs links * add one more todo * correct fallback branch Co-authored-by: spalger Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../server/deprecations/deprecations.test.ts | 17 +++++++++++++---- x-pack/plugins/apm/server/deprecations/index.ts | 4 +++- .../server/deprecations/reporting_role.ts | 7 +++++-- .../security/server/config_deprecations.ts | 13 ++++++++++--- .../server/deprecations/kibana_user_role.ts | 15 ++++++++++++--- .../server/lib/log_health_metrics.ts | 5 ++++- 6 files changed, 47 insertions(+), 14 deletions(-) diff --git a/x-pack/plugins/apm/server/deprecations/deprecations.test.ts b/x-pack/plugins/apm/server/deprecations/deprecations.test.ts index 43e8140fb9b3c5..8ab632deec8098 100644 --- a/x-pack/plugins/apm/server/deprecations/deprecations.test.ts +++ b/x-pack/plugins/apm/server/deprecations/deprecations.test.ts @@ -5,6 +5,8 @@ * 2.0. */ +import { kibanaPackageJson } from '@kbn/dev-utils'; + import { GetDeprecationsContext } from '../../../../../src/core/server'; import { CloudSetup } from '../../../cloud/server'; import { getDeprecations } from './'; @@ -19,7 +21,7 @@ const deprecationContext = { describe('getDeprecations', () => { describe('when fleet is disabled', () => { it('returns no deprecations', async () => { - const deprecationsCallback = getDeprecations({ branch: 'master' }); + const deprecationsCallback = getDeprecations({ branch: 'main' }); const deprecations = await deprecationsCallback(deprecationContext); expect(deprecations).toEqual([]); }); @@ -28,7 +30,7 @@ describe('getDeprecations', () => { describe('when running on cloud with legacy apm-server', () => { it('returns deprecations', async () => { const deprecationsCallback = getDeprecations({ - branch: 'master', + branch: 'main', cloudSetup: { isCloudEnabled: true } as unknown as CloudSetup, fleet: { start: () => ({ @@ -38,13 +40,20 @@ describe('getDeprecations', () => { }); const deprecations = await deprecationsCallback(deprecationContext); expect(deprecations).not.toEqual([]); + // TODO: remove when docs support "main" + if (kibanaPackageJson.branch === 'main') { + for (const { documentationUrl } of deprecations) { + expect(documentationUrl).toMatch(/\/master\//); + expect(documentationUrl).not.toMatch(/\/main\//); + } + } }); }); describe('when running on cloud with fleet', () => { it('returns no deprecations', async () => { const deprecationsCallback = getDeprecations({ - branch: 'master', + branch: 'main', cloudSetup: { isCloudEnabled: true } as unknown as CloudSetup, fleet: { start: () => ({ @@ -60,7 +69,7 @@ describe('getDeprecations', () => { describe('when running on prem', () => { it('returns no deprecations', async () => { const deprecationsCallback = getDeprecations({ - branch: 'master', + branch: 'main', cloudSetup: { isCloudEnabled: false } as unknown as CloudSetup, fleet: { start: () => ({ agentPolicyService: { get: () => undefined } }), diff --git a/x-pack/plugins/apm/server/deprecations/index.ts b/x-pack/plugins/apm/server/deprecations/index.ts index 76c90270abb8f8..39e282e76d9a69 100644 --- a/x-pack/plugins/apm/server/deprecations/index.ts +++ b/x-pack/plugins/apm/server/deprecations/index.ts @@ -38,6 +38,8 @@ export function getDeprecations({ const isCloudEnabled = !!cloudSetup?.isCloudEnabled; const hasCloudAgentPolicy = !isEmpty(cloudAgentPolicy); + // TODO: remove when docs support "main" + const docBranch = branch === 'main' ? 'master' : branch; if (isCloudEnabled && !hasCloudAgentPolicy) { deprecations.push({ @@ -48,7 +50,7 @@ export function getDeprecations({ defaultMessage: 'Running the APM Server binary directly is considered a legacy option and is deprecated since 7.16. Switch to APM Server managed by an Elastic Agent instead. Read our documentation to learn more.', }), - documentationUrl: `https://www.elastic.co/guide/en/apm/server/${branch}/apm-integration.html`, + documentationUrl: `https://www.elastic.co/guide/en/apm/server/${docBranch}/apm-integration.html`, level: 'warning', correctiveActions: { manualSteps: [ diff --git a/x-pack/plugins/reporting/server/deprecations/reporting_role.ts b/x-pack/plugins/reporting/server/deprecations/reporting_role.ts index e4575f98753156..355a83c13a37e6 100644 --- a/x-pack/plugins/reporting/server/deprecations/reporting_role.ts +++ b/x-pack/plugins/reporting/server/deprecations/reporting_role.ts @@ -19,8 +19,11 @@ import { ReportingCore } from '../'; import { deprecations } from '../lib/deprecations'; const REPORTING_USER_ROLE_NAME = 'reporting_user'; -const getDocumentationUrl = (branch: string) => - `https://www.elastic.co/guide/en/kibana/${branch}/kibana-privileges.html`; +const getDocumentationUrl = (branch: string) => { + // TODO: remove when docs support "main" + const docBranch = branch === 'main' ? 'master' : branch; + return `https://www.elastic.co/guide/en/kibana/${docBranch}/kibana-privileges.html`; +}; interface ExtraDependencies { reportingCore: ReportingCore; diff --git a/x-pack/plugins/security/server/config_deprecations.ts b/x-pack/plugins/security/server/config_deprecations.ts index 3a71dbb28add28..8b778950036b5c 100644 --- a/x-pack/plugins/security/server/config_deprecations.ts +++ b/x-pack/plugins/security/server/config_deprecations.ts @@ -34,6 +34,8 @@ export const securityConfigDeprecationProvider: ConfigDeprecationProvider = ({ // Deprecation warning for the old array-based format of `xpack.security.authc.providers`. (settings, _fromPath, addDeprecation, { branch }) => { if (Array.isArray(settings?.xpack?.security?.authc?.providers)) { + // TODO: remove when docs support "main" + const docsBranch = branch === 'main' ? 'master' : 'main'; addDeprecation({ configPath: 'xpack.security.authc.providers', title: i18n.translate('xpack.security.deprecations.authcProvidersTitle', { @@ -43,7 +45,7 @@ export const securityConfigDeprecationProvider: ConfigDeprecationProvider = ({ defaultMessage: 'Use the new object format instead of an array of provider types.', }), level: 'warning', - documentationUrl: `https://www.elastic.co/guide/en/kibana/${branch}/security-settings-kb.html#authentication-security-settings`, + documentationUrl: `https://www.elastic.co/guide/en/kibana/${docsBranch}/security-settings-kb.html#authentication-security-settings`, correctiveActions: { manualSteps: [ i18n.translate('xpack.security.deprecations.authcProviders.manualSteps1', { @@ -59,6 +61,9 @@ export const securityConfigDeprecationProvider: ConfigDeprecationProvider = ({ } }, (settings, _fromPath, addDeprecation, { branch }) => { + // TODO: remove when docs support "main" + const docsBranch = branch === 'main' ? 'master' : 'main'; + const hasProviderType = (providerType: string) => { const providers = settings?.xpack?.security?.authc?.providers; if (Array.isArray(providers)) { @@ -86,7 +91,7 @@ export const securityConfigDeprecationProvider: ConfigDeprecationProvider = ({ values: { tokenProvider }, }), level: 'warning', - documentationUrl: `https://www.elastic.co/guide/en/kibana/${branch}/security-settings-kb.html#authentication-security-settings`, + documentationUrl: `https://www.elastic.co/guide/en/kibana/${docsBranch}/security-settings-kb.html#authentication-security-settings`, correctiveActions: { manualSteps: [ i18n.translate('xpack.security.deprecations.basicAndTokenProviders.manualSteps1', { @@ -100,6 +105,8 @@ export const securityConfigDeprecationProvider: ConfigDeprecationProvider = ({ } }, (settings, _fromPath, addDeprecation, { branch }) => { + // TODO: remove when docs support "main" + const docsBranch = branch === 'main' ? 'master' : 'main'; const samlProviders = (settings?.xpack?.security?.authc?.providers?.saml ?? {}) as Record< string, any @@ -119,7 +126,7 @@ export const securityConfigDeprecationProvider: ConfigDeprecationProvider = ({ defaultMessage: 'This setting is no longer used.', }), level: 'warning', - documentationUrl: `https://www.elastic.co/guide/en/kibana/${branch}/security-settings-kb.html#authentication-security-settings`, + documentationUrl: `https://www.elastic.co/guide/en/kibana/${docsBranch}/security-settings-kb.html#authentication-security-settings`, correctiveActions: { manualSteps: [ i18n.translate('xpack.security.deprecations.maxRedirectURLSize.manualSteps1', { diff --git a/x-pack/plugins/security/server/deprecations/kibana_user_role.ts b/x-pack/plugins/security/server/deprecations/kibana_user_role.ts index ba32446611a629..9746597aa95b81 100644 --- a/x-pack/plugins/security/server/deprecations/kibana_user_role.ts +++ b/x-pack/plugins/security/server/deprecations/kibana_user_role.ts @@ -98,13 +98,16 @@ async function getUsersDeprecations( return []; } + // TODO: remove when docs support "main" + const docsBranch = packageInfo.branch === 'main' ? 'master' : packageInfo.branch; + return [ { title: getDeprecationTitle(), message: getDeprecationMessage(), level: 'warning', deprecationType: 'feature', - documentationUrl: `https://www.elastic.co/guide/en/elasticsearch/reference/${packageInfo.branch}/built-in-roles.html`, + documentationUrl: `https://www.elastic.co/guide/en/elasticsearch/reference/${docsBranch}/built-in-roles.html`, correctiveActions: { api: { method: 'POST', @@ -159,13 +162,16 @@ async function getRoleMappingsDeprecations( return []; } + // TODO: remove when docs support "main" + const docsBranch = packageInfo.branch === 'main' ? 'master' : packageInfo.branch; + return [ { title: getDeprecationTitle(), message: getDeprecationMessage(), level: 'warning', deprecationType: 'feature', - documentationUrl: `https://www.elastic.co/guide/en/elasticsearch/reference/${packageInfo.branch}/built-in-roles.html`, + documentationUrl: `https://www.elastic.co/guide/en/elasticsearch/reference/${docsBranch}/built-in-roles.html`, correctiveActions: { api: { method: 'POST', @@ -193,6 +199,9 @@ async function getRoleMappingsDeprecations( function deprecationError(packageInfo: PackageInfo, error: Error): DeprecationsDetails[] { const title = getDeprecationTitle(); + // TODO: remove when docs support "main" + const docsBranch = packageInfo.branch === 'main' ? 'master' : packageInfo.branch; + if (getErrorStatusCode(error) === 403) { return [ { @@ -202,7 +211,7 @@ function deprecationError(packageInfo: PackageInfo, error: Error): DeprecationsD message: i18n.translate('xpack.security.deprecations.kibanaUser.forbiddenErrorMessage', { defaultMessage: 'You do not have enough permissions to fix this deprecation.', }), - documentationUrl: `https://www.elastic.co/guide/en/kibana/${packageInfo.branch}/xpack-security.html#_required_permissions_7`, + documentationUrl: `https://www.elastic.co/guide/en/kibana/${docsBranch}/xpack-security.html#_required_permissions_7`, correctiveActions: { manualSteps: [ i18n.translate( diff --git a/x-pack/plugins/task_manager/server/lib/log_health_metrics.ts b/x-pack/plugins/task_manager/server/lib/log_health_metrics.ts index d541ffb5684dad..5d513c645a8622 100644 --- a/x-pack/plugins/task_manager/server/lib/log_health_metrics.ts +++ b/x-pack/plugins/task_manager/server/lib/log_health_metrics.ts @@ -46,7 +46,10 @@ export function logHealthMetrics( } const message = `Latest Monitored Stats: ${JSON.stringify(monitoredHealth)}`; - const docLink = `https://www.elastic.co/guide/en/kibana/${kibanaPackageJson.branch}/task-manager-health-monitoring.html`; + // TODO: remove when docs support "main" + const docsBranch = kibanaPackageJson.branch === 'main' ? 'master' : 'main'; + + const docLink = `https://www.elastic.co/guide/en/kibana/${docsBranch}/task-manager-health-monitoring.html`; const detectedProblemMessage = `Task Manager detected a degradation in performance. This is usually temporary, and Kibana can recover automatically. If the problem persists, check the docs for troubleshooting information: ${docLink} .`; if (enabled) { const driftInSeconds = (monitoredHealth.stats.runtime?.value.drift.p99 ?? 0) / 1000; From 8143901f5975309e0c1e0a45f592f918541becf2 Mon Sep 17 00:00:00 2001 From: liza-mae Date: Tue, 2 Nov 2021 14:29:27 -0600 Subject: [PATCH 105/110] Fix reporting api tests for cloud (#116515) * Fix reporting api tests for cloud * Add default value Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- x-pack/test/reporting_api_integration/services/scenarios.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/x-pack/test/reporting_api_integration/services/scenarios.ts b/x-pack/test/reporting_api_integration/services/scenarios.ts index e39a3e2e5954b0..807ea7457ad45a 100644 --- a/x-pack/test/reporting_api_integration/services/scenarios.ts +++ b/x-pack/test/reporting_api_integration/services/scenarios.ts @@ -132,7 +132,11 @@ export function createScenarios({ getService }: Pick { + const generateCsv = async ( + job: JobParamsCSV, + username = 'elastic', + password = process.env.TEST_KIBANA_PASS || 'changeme' + ) => { const jobParams = rison.encode(job as object as RisonValue); return await supertestWithoutAuth .post(`/api/reporting/generate/csv_searchsource`) From 2f8dfba4cdc0d6855406d5bb8543e51ca72a3929 Mon Sep 17 00:00:00 2001 From: Tim Sullivan Date: Tue, 2 Nov 2021 13:53:09 -0700 Subject: [PATCH 106/110] [Reporting] Log TM health and drift stats prior to reporting tests (#117013) * [Reporting] Log TM health and drift stats prior to reporting tests Closes https://github.com/elastic/kibana/issues/114946 * re-skip flaky test * rename method --- .../reporting_and_security/index.ts | 1 + .../reporting_without_security/index.ts | 6 +++++- .../services/scenarios.ts | 15 +++++++++++++++ .../reporting_and_deprecated_security/index.ts | 2 ++ .../reporting_and_security/index.ts | 1 + .../reporting_without_security/index.ts | 6 ++++++ 6 files changed, 30 insertions(+), 1 deletion(-) diff --git a/x-pack/test/reporting_api_integration/reporting_and_security/index.ts b/x-pack/test/reporting_api_integration/reporting_and_security/index.ts index f6654ff5a6b1d4..6ea6de34825012 100644 --- a/x-pack/test/reporting_api_integration/reporting_and_security/index.ts +++ b/x-pack/test/reporting_api_integration/reporting_and_security/index.ts @@ -14,6 +14,7 @@ export default function ({ getService, loadTestFile }: FtrProviderContext) { before(async () => { const reportingAPI = getService('reportingAPI'); + await reportingAPI.logTaskManagerHealth(); await reportingAPI.createDataAnalystRole(); await reportingAPI.createTestReportingUserRole(); await reportingAPI.createDataAnalyst(); diff --git a/x-pack/test/reporting_api_integration/reporting_without_security/index.ts b/x-pack/test/reporting_api_integration/reporting_without_security/index.ts index 81ca3e05e4dd0d..258ae814f5789a 100644 --- a/x-pack/test/reporting_api_integration/reporting_without_security/index.ts +++ b/x-pack/test/reporting_api_integration/reporting_without_security/index.ts @@ -8,8 +8,12 @@ import { FtrProviderContext } from '../ftr_provider_context'; // eslint-disable-next-line import/no-default-export -export default function ({ loadTestFile }: FtrProviderContext) { +export default function ({ loadTestFile, getService }: FtrProviderContext) { describe('Reporting API Integration Tests with Security disabled', function () { + before(async () => { + const reportingAPI = getService('reportingAPI'); + await reportingAPI.logTaskManagerHealth(); + }); this.tags('ciGroup13'); loadTestFile(require.resolve('./job_apis_csv')); loadTestFile(require.resolve('./job_apis_csv_deprecated')); diff --git a/x-pack/test/reporting_api_integration/services/scenarios.ts b/x-pack/test/reporting_api_integration/services/scenarios.ts index 807ea7457ad45a..a596b61ea00d1e 100644 --- a/x-pack/test/reporting_api_integration/services/scenarios.ts +++ b/x-pack/test/reporting_api_integration/services/scenarios.ts @@ -36,6 +36,20 @@ export function createScenarios({ getService }: Pick { + // Check task manager health for analyzing test failures. See https://github.com/elastic/kibana/issues/114946 + const tmHealth = await supertest.get(`/api/task_manager/_health`); + const driftValues = tmHealth.body?.stats?.runtime?.value; + + log.info(`Task Manager status: "${tmHealth.body?.status}"`); + log.info(`Task Manager overall drift rankings: "${JSON.stringify(driftValues?.drift)}"`); + log.info( + `Task Manager drift rankings for "report:execute": "${JSON.stringify( + driftValues?.drift_by_type?.['report:execute'] + )}"` + ); + }; + const initEcommerce = async () => { await esArchiver.load('x-pack/test/functional/es_archives/reporting/ecommerce'); await kibanaServer.importExport.load(ecommerceSOPath); @@ -205,6 +219,7 @@ export function createScenarios({ getService }: Pick { + const reportingAPI = context.getService('reportingAPI'); + await reportingAPI.logTaskManagerHealth(); await createDataAnalystRole(); await createDataAnalyst(); await createReportingUser(); diff --git a/x-pack/test/reporting_functional/reporting_and_security/index.ts b/x-pack/test/reporting_functional/reporting_and_security/index.ts index be0e76a28bd0b3..22057c9be77dc6 100644 --- a/x-pack/test/reporting_functional/reporting_and_security/index.ts +++ b/x-pack/test/reporting_functional/reporting_and_security/index.ts @@ -14,6 +14,7 @@ export default function ({ getService, loadTestFile }: FtrProviderContext) { before(async () => { const reportingFunctional = getService('reportingFunctional'); + await reportingFunctional.logTaskManagerHealth(); await reportingFunctional.createDataAnalystRole(); await reportingFunctional.createDataAnalyst(); await reportingFunctional.createTestReportingUserRole(); diff --git a/x-pack/test/reporting_functional/reporting_without_security/index.ts b/x-pack/test/reporting_functional/reporting_without_security/index.ts index d1801b7e3e2e6c..fecc0e97daac04 100644 --- a/x-pack/test/reporting_functional/reporting_without_security/index.ts +++ b/x-pack/test/reporting_functional/reporting_without_security/index.ts @@ -11,6 +11,12 @@ import { FtrProviderContext } from '../ftr_provider_context'; export default function ({ loadTestFile, getService }: FtrProviderContext) { describe('Reporting Functional Tests with Security disabled', function () { this.tags('ciGroup2'); + + before(async () => { + const reportingAPI = getService('reportingAPI'); + await reportingAPI.logTaskManagerHealth(); + }); + loadTestFile(require.resolve('./management')); }); } From 2928c5f0ac5523ca161b4c80781864641bb48447 Mon Sep 17 00:00:00 2001 From: Dominique Clarke Date: Tue, 2 Nov 2021 16:54:29 -0400 Subject: [PATCH 107/110] [Exploratory View] Adjust labels for percentile calculation and document loaded metric (#116704) * adjust labels * fix types Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../configurations/constants/constants.ts | 22 +++++++++++++++++-- .../synthetics/kpi_over_time_config.ts | 4 ++-- 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/x-pack/plugins/observability/public/components/shared/exploratory_view/configurations/constants/constants.ts b/x-pack/plugins/observability/public/components/shared/exploratory_view/configurations/constants/constants.ts index c12e67bc9b1ae5..aac5ac7136d7ab 100644 --- a/x-pack/plugins/observability/public/components/shared/exploratory_view/configurations/constants/constants.ts +++ b/x-pack/plugins/observability/public/components/shared/exploratory_view/configurations/constants/constants.ts @@ -21,6 +21,7 @@ import { BROWSER_VERSION_LABEL, CLS_LABEL, CORE_WEB_VITALS_LABEL, + DCL_LABEL, DEVICE_DISTRIBUTION_LABEL, DEVICE_LABEL, ENVIRONMENT_LABEL, @@ -50,8 +51,18 @@ import { PAGE_LOAD_TIME_LABEL, LABELS_FIELD, STEP_NAME_LABEL, + STEP_DURATION_LABEL, } from './labels'; -import { SYNTHETICS_STEP_NAME } from './field_names/synthetics'; +import { + MONITOR_DURATION_US, + SYNTHETICS_CLS, + SYNTHETICS_DCL, + SYNTHETICS_DOCUMENT_ONLOAD, + SYNTHETICS_FCP, + SYNTHETICS_LCP, + SYNTHETICS_STEP_DURATION, + SYNTHETICS_STEP_NAME, +} from './field_names/synthetics'; export const DEFAULT_TIME = { from: 'now-1h', to: 'now' }; @@ -73,12 +84,19 @@ export const FieldLabels: Record = { [TBT_FIELD]: TBT_LABEL, [FID_FIELD]: FID_LABEL, [CLS_FIELD]: CLS_LABEL, + + [SYNTHETICS_CLS]: CLS_LABEL, + [SYNTHETICS_DCL]: DCL_LABEL, + [SYNTHETICS_STEP_DURATION]: STEP_DURATION_LABEL, + [SYNTHETICS_LCP]: LCP_LABEL, + [SYNTHETICS_FCP]: FCP_LABEL, + [SYNTHETICS_DOCUMENT_ONLOAD]: PAGE_LOAD_TIME_LABEL, [TRANSACTION_TIME_TO_FIRST_BYTE]: BACKEND_TIME_LABEL, [TRANSACTION_DURATION]: PAGE_LOAD_TIME_LABEL, 'monitor.id': MONITOR_ID_LABEL, 'monitor.status': MONITOR_STATUS_LABEL, - 'monitor.duration.us': MONITORS_DURATION_LABEL, + [MONITOR_DURATION_US]: MONITORS_DURATION_LABEL, [SYNTHETICS_STEP_NAME]: STEP_NAME_LABEL, 'agent.hostname': AGENT_HOST_LABEL, diff --git a/x-pack/plugins/observability/public/components/shared/exploratory_view/configurations/synthetics/kpi_over_time_config.ts b/x-pack/plugins/observability/public/components/shared/exploratory_view/configurations/synthetics/kpi_over_time_config.ts index e548ec2714e146..63bd7e0cf3e810 100644 --- a/x-pack/plugins/observability/public/components/shared/exploratory_view/configurations/synthetics/kpi_over_time_config.ts +++ b/x-pack/plugins/observability/public/components/shared/exploratory_view/configurations/synthetics/kpi_over_time_config.ts @@ -16,13 +16,13 @@ import { import { CLS_LABEL, DCL_LABEL, - DOCUMENT_ONLOAD_LABEL, DOWN_LABEL, FCP_LABEL, LCP_LABEL, MONITORS_DURATION_LABEL, STEP_DURATION_LABEL, UP_LABEL, + PAGE_LOAD_TIME_LABEL, } from '../constants/labels'; import { MONITOR_DURATION_US, @@ -128,7 +128,7 @@ export function getSyntheticsKPIConfig({ indexPattern }: ConfigProps): SeriesCon columnFilters: getStepMetricColumnFilter(SYNTHETICS_DCL), }, { - label: DOCUMENT_ONLOAD_LABEL, + label: PAGE_LOAD_TIME_LABEL, field: SYNTHETICS_DOCUMENT_ONLOAD, id: SYNTHETICS_DOCUMENT_ONLOAD, columnType: OPERATION_COLUMN, From 9acedc8406b934d61f1c9be234ef6de4780d843a Mon Sep 17 00:00:00 2001 From: Spencer Date: Tue, 2 Nov 2021 15:19:42 -0600 Subject: [PATCH 108/110] [watcher] fix invalid import (#116907) Co-authored-by: spalger Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../{calc_es_interval.js => calc_es_interval.ts} | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) rename x-pack/plugins/watcher/public/legacy/{calc_es_interval.js => calc_es_interval.ts} (83%) diff --git a/x-pack/plugins/watcher/public/legacy/calc_es_interval.js b/x-pack/plugins/watcher/public/legacy/calc_es_interval.ts similarity index 83% rename from x-pack/plugins/watcher/public/legacy/calc_es_interval.js rename to x-pack/plugins/watcher/public/legacy/calc_es_interval.ts index 29f0f0f56d38d5..cae88b797ea4f3 100644 --- a/x-pack/plugins/watcher/public/legacy/calc_es_interval.js +++ b/x-pack/plugins/watcher/public/legacy/calc_es_interval.ts @@ -7,7 +7,7 @@ import dateMath from '@elastic/datemath'; -import { parseEsInterval } from './index'; +import { parseEsInterval } from './parse_es_interval'; const unitsDesc = dateMath.unitsDesc; const largeMax = unitsDesc.indexOf('M'); @@ -17,10 +17,9 @@ const largeMax = unitsDesc.indexOf('M'); * compatible expression, and provide * associated metadata * - * @param {moment.duration} duration - * @return {object} + * @param duration */ -export function convertDurationToNormalizedEsInterval(duration) { +export function convertDurationToNormalizedEsInterval(duration: moment.Duration) { for (let i = 0; i < unitsDesc.length; i++) { const unit = unitsDesc[i]; const val = duration.as(unit); @@ -35,7 +34,7 @@ export function convertDurationToNormalizedEsInterval(duration) { return { value: val, - unit: unit, + unit, expression: val + unit, }; } @@ -49,7 +48,7 @@ export function convertDurationToNormalizedEsInterval(duration) { }; } -export function convertIntervalToEsInterval(interval) { +export function convertIntervalToEsInterval(interval: string) { const { value, unit } = parseEsInterval(interval); return { value, From 488f112f47dbf492c7e252d459a4a202d6924098 Mon Sep 17 00:00:00 2001 From: Tim Sullivan Date: Tue, 2 Nov 2021 18:27:52 -0700 Subject: [PATCH 109/110] [Reporting/Tests] Consolidate test archives, move kbn objects to kbn_archiver (#116528) * remove unused * remove kibana objects from reporting es_archives * import objects using kibanaServer for tests * consolidate ecommerce_kibana_spaces * self-review * fix nanos test * fix loading of reporting/ecommerce_kibana_spaces * fix csv snapshots * fix more csv tests * archive rename * consolidate canvas_disallowed_url archive * clean up snapshots * fix CSV tests * polish * remove unused * Update x-pack/test/reporting_api_integration/reporting_and_security/network_policy.ts --- x-pack/test/accessibility/apps/reporting.ts | 9 +- .../apps/dashboard/reporting/download_csv.ts | 3 + .../canvas_disallowed_url/data.json.gz | Bin 883 -> 0 bytes .../canvas_disallowed_url/mappings.json | 2185 -------------- .../ecommerce_kibana_spaces/data.json | 83 - .../reporting/hugedata/data.json.gz | Bin 33885 -> 31900 bytes .../reporting/hugedata/mappings.json | 2523 ----------------- .../es_archives/reporting/logs/data.json.gz | Bin 1375 -> 0 bytes .../es_archives/reporting/logs/mappings.json | 263 -- .../reporting/multi_index/data.json.gz | Bin 619 -> 0 bytes .../reporting/multi_index/mappings.json | 92 - .../reporting/multi_index_kibana/data.json.gz | Bin 455 -> 0 bytes .../multi_index_kibana/mappings.json | 2027 ------------- .../es_archives/reporting/nanos/data.json | 25 + .../es_archives/reporting/nanos/data.json.gz | Bin 863 -> 0 bytes .../es_archives/reporting/nanos/mappings.json | 1028 ------- .../es_archives/reporting/sales/data.json.gz | Bin 1762 -> 1004 bytes .../es_archives/reporting/sales/mappings.json | 264 -- .../kbn_archiver/reporting/ecommerce.json | 51 + .../fixtures/kbn_archiver/reporting/logs.json | 441 +++ .../__snapshots__/download_csv_dashboard.snap | 126 +- .../download_csv_dashboard.ts | 303 +- .../generate_csv_discover_deprecated.ts | 7 +- .../ilm_migration_apis.ts | 7 +- .../reporting_and_security/network_policy.ts | 6 +- .../reporting_and_security/spaces.ts | 13 +- .../job_apis_csv.ts | 4 +- .../job_apis_csv_deprecated.ts | 7 +- .../services/scenarios.ts | 13 + 29 files changed, 766 insertions(+), 8714 deletions(-) delete mode 100644 x-pack/test/functional/es_archives/reporting/canvas_disallowed_url/data.json.gz delete mode 100644 x-pack/test/functional/es_archives/reporting/canvas_disallowed_url/mappings.json delete mode 100644 x-pack/test/functional/es_archives/reporting/hugedata/mappings.json delete mode 100644 x-pack/test/functional/es_archives/reporting/logs/data.json.gz delete mode 100644 x-pack/test/functional/es_archives/reporting/logs/mappings.json delete mode 100644 x-pack/test/functional/es_archives/reporting/multi_index/data.json.gz delete mode 100644 x-pack/test/functional/es_archives/reporting/multi_index/mappings.json delete mode 100644 x-pack/test/functional/es_archives/reporting/multi_index_kibana/data.json.gz delete mode 100644 x-pack/test/functional/es_archives/reporting/multi_index_kibana/mappings.json create mode 100644 x-pack/test/functional/es_archives/reporting/nanos/data.json delete mode 100644 x-pack/test/functional/es_archives/reporting/nanos/data.json.gz create mode 100644 x-pack/test/functional/fixtures/kbn_archiver/reporting/logs.json diff --git a/x-pack/test/accessibility/apps/reporting.ts b/x-pack/test/accessibility/apps/reporting.ts index bccb650fa08cad..91356ef85972bd 100644 --- a/x-pack/test/accessibility/apps/reporting.ts +++ b/x-pack/test/accessibility/apps/reporting.ts @@ -16,7 +16,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { const testSubjects = getService('testSubjects'); const supertestWithoutAuth = getService('supertestWithoutAuth'); const reporting = getService('reporting'); - const esArchiver = getService('esArchiver'); const security = getService('security'); describe('Reporting', () => { @@ -33,17 +32,13 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { }; before(async () => { - await esArchiver.load('x-pack/test/functional/es_archives/reporting/logs'); - await esArchiver.load('x-pack/test/functional/es_archives/logstash_functional'); - + await reporting.initLogs(); await createReportingUser(); await reporting.loginReportingUser(); }); after(async () => { - await esArchiver.unload('x-pack/test/functional/es_archives/reporting/logs'); - await esArchiver.unload('x-pack/test/functional/es_archives/logstash_functional'); - + await reporting.teardownLogs(); await deleteReportingUser(); }); diff --git a/x-pack/test/functional/apps/dashboard/reporting/download_csv.ts b/x-pack/test/functional/apps/dashboard/reporting/download_csv.ts index 79ddaea13dfa52..4ee61811e5f850 100644 --- a/x-pack/test/functional/apps/dashboard/reporting/download_csv.ts +++ b/x-pack/test/functional/apps/dashboard/reporting/download_csv.ts @@ -18,6 +18,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { const log = getService('log'); const testSubjects = getService('testSubjects'); const kibanaServer = getService('kibanaServer'); + const reportingAPI = getService('reporting'); const filterBar = getService('filterBar'); const find = getService('find'); const retry = getService('retry'); @@ -124,9 +125,11 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { describe('Field Formatters and Scripted Fields', () => { before(async () => { + await reportingAPI.initLogs(); await esArchiver.load('x-pack/test/functional/es_archives/reporting/hugedata'); }); after(async () => { + await reportingAPI.teardownLogs(); await esArchiver.unload('x-pack/test/functional/es_archives/reporting/hugedata'); }); diff --git a/x-pack/test/functional/es_archives/reporting/canvas_disallowed_url/data.json.gz b/x-pack/test/functional/es_archives/reporting/canvas_disallowed_url/data.json.gz deleted file mode 100644 index c434eee5dd8d35749fce7d082a802c159e70af14..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 883 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˾C_ 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 z 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 diff --git a/x-pack/test/functional/es_archives/reporting/hugedata/mappings.json b/x-pack/test/functional/es_archives/reporting/hugedata/mappings.json deleted file mode 100644 index d1cb75c1f5150f..00000000000000 --- a/x-pack/test/functional/es_archives/reporting/hugedata/mappings.json +++ /dev/null @@ -1,2523 +0,0 @@ -{ - "type": "index", - "value": { - "aliases": { - ".kibana": { - } - }, - "index": ".kibana_1", - "mappings": { - "dynamic": "strict", - "properties": { - "action": { - "properties": { - "actionTypeId": { - "type": "keyword" - }, - "config": { - "enabled": false, - "type": "object" - }, - "name": { - "fields": { - "keyword": { - "type": "keyword" - } - }, - "type": "text" - }, - "secrets": { - "type": "binary" - } - } - }, - "action_task_params": { - "properties": { - "actionId": { - "type": "keyword" - }, - "apiKey": { - "type": "binary" - }, - "params": { - "enabled": false, - "type": "object" - } - } - }, - "alert": { - "properties": { - "actions": { - "properties": { - "actionRef": { - "type": "keyword" - }, - "actionTypeId": { - "type": "keyword" - }, - "group": { - "type": "keyword" - }, - "params": { - "enabled": false, - "type": "object" - } - }, - "type": "nested" - }, - "alertTypeId": { - "type": "keyword" - }, - "apiKey": { - "type": "binary" - }, - "apiKeyOwner": { - "type": "keyword" - }, - "consumer": { - "type": "keyword" - }, - "createdAt": { - "type": "date" - }, - "createdBy": { - "type": "keyword" - }, - "enabled": { - "type": "boolean" - }, - "executionStatus": { - "properties": { - "error": { - "properties": { - "message": { - "type": "keyword" - }, - "reason": { - "type": "keyword" - } - } - }, - "lastExecutionDate": { - "type": "date" - }, - "status": { - "type": "keyword" - } - } - }, - "meta": { - "properties": { - "versionApiKeyLastmodified": { - "type": "keyword" - } - } - }, - "muteAll": { - "type": "boolean" - }, - "mutedInstanceIds": { - "type": "keyword" - }, - "name": { - "fields": { - "keyword": { - "type": "keyword" - } - }, - "type": "text" - }, - "notifyWhen": { - "type": "keyword" - }, - "params": { - "enabled": false, - "type": "object" - }, - "schedule": { - "properties": { - "interval": { - "type": "keyword" - } - } - }, - "scheduledTaskId": { - "type": "keyword" - }, - "tags": { - "type": "keyword" - }, - "throttle": { - "type": "keyword" - }, - "updatedAt": { - "type": "date" - }, - "updatedBy": { - "type": "keyword" - } - } - }, - "api_key_pending_invalidation": { - "properties": { - "apiKeyId": { - "type": "keyword" - }, - "createdAt": { - "type": "date" - } - } - }, - "apm-indices": { - "properties": { - "error": { - "type": "keyword" - }, - "metric": { - "type": "keyword" - }, - "onboarding": { - "type": "keyword" - }, - "sourcemap": { - "type": "keyword" - }, - "span": { - "type": "keyword" - }, - "transaction": { - "type": "keyword" - } - } - }, - "apm-telemetry": { - "dynamic": "false", - "type": "object" - }, - "app_search_telemetry": { - "dynamic": "false", - "type": "object" - }, - "application_usage_daily": { - "dynamic": "false", - "properties": { - "timestamp": { - "type": "date" - } - } - }, - "application_usage_totals": { - "dynamic": "false", - "type": "object" - }, - "application_usage_transactional": { - "dynamic": "false", - "type": "object" - }, - "canvas-element": { - "dynamic": "false", - "properties": { - "@created": { - "type": "date" - }, - "@timestamp": { - "type": "date" - }, - "content": { - "type": "text" - }, - "help": { - "type": "text" - }, - "image": { - "type": "text" - }, - "name": { - "fields": { - "keyword": { - "type": "keyword" - } - }, - "type": "text" - } - } - }, - "canvas-workpad": { - "dynamic": "false", - "properties": { - "@created": { - "type": "date" - }, - "@timestamp": { - "type": "date" - }, - "name": { - "fields": { - "keyword": { - "type": "keyword" - } - }, - "type": "text" - } - } - }, - "canvas-workpad-template": { - "dynamic": "false", - "properties": { - "help": { - "fields": { - "keyword": { - "type": "keyword" - } - }, - "type": "text" - }, - "name": { - "fields": { - "keyword": { - "type": "keyword" - } - }, - "type": "text" - }, - "tags": { - "fields": { - "keyword": { - "type": "keyword" - } - }, - "type": "text" - }, - "template_key": { - "type": "keyword" - } - } - }, - "cases": { - "properties": { - "closed_at": { - "type": "date" - }, - "closed_by": { - "properties": { - "email": { - "type": "keyword" - }, - "full_name": { - "type": "keyword" - }, - "username": { - "type": "keyword" - } - } - }, - "connector": { - "properties": { - "fields": { - "properties": { - "key": { - "type": "text" - }, - "value": { - "type": "text" - } - } - }, - "id": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "type": { - "type": "keyword" - } - } - }, - "created_at": { - "type": "date" - }, - "created_by": { - "properties": { - "email": { - "type": "keyword" - }, - "full_name": { - "type": "keyword" - }, - "username": { - "type": "keyword" - } - } - }, - "description": { - "type": "text" - }, - "external_service": { - "properties": { - "connector_id": { - "type": "keyword" - }, - "connector_name": { - "type": "keyword" - }, - "external_id": { - "type": "keyword" - }, - "external_title": { - "type": "text" - }, - "external_url": { - "type": "text" - }, - "pushed_at": { - "type": "date" - }, - "pushed_by": { - "properties": { - "email": { - "type": "keyword" - }, - "full_name": { - "type": "keyword" - }, - "username": { - "type": "keyword" - } - } - } - } - }, - "settings": { - "properties": { - "syncAlerts": { - "type": "boolean" - } - } - }, - "status": { - "type": "keyword" - }, - "tags": { - "type": "keyword" - }, - "title": { - "type": "keyword" - }, - "updated_at": { - "type": "date" - }, - "updated_by": { - "properties": { - "email": { - "type": "keyword" - }, - "full_name": { - "type": "keyword" - }, - "username": { - "type": "keyword" - } - } - } - } - }, - "cases-comments": { - "properties": { - "alertId": { - "type": "keyword" - }, - "comment": { - "type": "text" - }, - "created_at": { - "type": "date" - }, - "created_by": { - "properties": { - "email": { - "type": "keyword" - }, - "full_name": { - "type": "keyword" - }, - "username": { - "type": "keyword" - } - } - }, - "index": { - "type": "keyword" - }, - "pushed_at": { - "type": "date" - }, - "pushed_by": { - "properties": { - "email": { - "type": "keyword" - }, - "full_name": { - "type": "keyword" - }, - "username": { - "type": "keyword" - } - } - }, - "type": { - "type": "keyword" - }, - "updated_at": { - "type": "date" - }, - "updated_by": { - "properties": { - "email": { - "type": "keyword" - }, - "full_name": { - "type": "keyword" - }, - "username": { - "type": "keyword" - } - } - } - } - }, - "cases-configure": { - "properties": { - "closure_type": { - "type": "keyword" - }, - "connector": { - "properties": { - "fields": { - "properties": { - "key": { - "type": "text" - }, - "value": { - "type": "text" - } - } - }, - "id": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "type": { - "type": "keyword" - } - } - }, - "created_at": { - "type": "date" - }, - "created_by": { - "properties": { - "email": { - "type": "keyword" - }, - "full_name": { - "type": "keyword" - }, - "username": { - "type": "keyword" - } - } - }, - "updated_at": { - "type": "date" - }, - "updated_by": { - "properties": { - "email": { - "type": "keyword" - }, - "full_name": { - "type": "keyword" - }, - "username": { - "type": "keyword" - } - } - } - } - }, - "cases-connector-mappings": { - "properties": { - "mappings": { - "properties": { - "action_type": { - "type": "keyword" - }, - "source": { - "type": "keyword" - }, - "target": { - "type": "keyword" - } - } - } - } - }, - "cases-user-actions": { - "properties": { - "action": { - "type": "keyword" - }, - "action_at": { - "type": "date" - }, - "action_by": { - "properties": { - "email": { - "type": "keyword" - }, - "full_name": { - "type": "keyword" - }, - "username": { - "type": "keyword" - } - } - }, - "action_field": { - "type": "keyword" - }, - "new_value": { - "type": "text" - }, - "old_value": { - "type": "text" - } - } - }, - "config": { - "dynamic": "false", - "properties": { - "buildNum": { - "type": "keyword" - } - } - }, - "core-usage-stats": { - "dynamic": "false", - "type": "object" - }, - "dashboard": { - "properties": { - "description": { - "type": "text" - }, - "hits": { - "doc_values": false, - "index": false, - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "index": false, - "type": "text" - } - } - }, - "optionsJSON": { - "index": false, - "type": "text" - }, - "panelsJSON": { - "index": false, - "type": "text" - }, - "refreshInterval": { - "properties": { - "display": { - "doc_values": false, - "index": false, - "type": "keyword" - }, - "pause": { - "doc_values": false, - "index": false, - "type": "boolean" - }, - "section": { - "doc_values": false, - "index": false, - "type": "integer" - }, - "value": { - "doc_values": false, - "index": false, - "type": "integer" - } - } - }, - "timeFrom": { - "doc_values": false, - "index": false, - "type": "keyword" - }, - "timeRestore": { - "doc_values": false, - "index": false, - "type": "boolean" - }, - "timeTo": { - "doc_values": false, - "index": false, - "type": "keyword" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, - "endpoint:user-artifact": { - "properties": { - "body": { - "type": "binary" - }, - "compressionAlgorithm": { - "index": false, - "type": "keyword" - }, - "created": { - "index": false, - "type": "date" - }, - "decodedSha256": { - "index": false, - "type": "keyword" - }, - "decodedSize": { - "index": false, - "type": "long" - }, - "encodedSha256": { - "type": "keyword" - }, - "encodedSize": { - "index": false, - "type": "long" - }, - "encryptionAlgorithm": { - "index": false, - "type": "keyword" - }, - "identifier": { - "type": "keyword" - } - } - }, - "endpoint:user-artifact-manifest": { - "properties": { - "created": { - "index": false, - "type": "date" - }, - "ids": { - "index": false, - "type": "keyword" - }, - "schemaVersion": { - "type": "keyword" - }, - "semanticVersion": { - "index": false, - "type": "keyword" - } - } - }, - "enterprise_search_telemetry": { - "dynamic": "false", - "type": "object" - }, - "epm-packages": { - "properties": { - "es_index_patterns": { - "enabled": false, - "type": "object" - }, - "install_source": { - "type": "keyword" - }, - "install_started_at": { - "type": "date" - }, - "install_status": { - "type": "keyword" - }, - "install_version": { - "type": "keyword" - }, - "installed_es": { - "properties": { - "id": { - "type": "keyword" - }, - "type": { - "type": "keyword" - } - }, - "type": "nested" - }, - "installed_kibana": { - "properties": { - "id": { - "type": "keyword" - }, - "type": { - "type": "keyword" - } - }, - "type": "nested" - }, - "internal": { - "type": "boolean" - }, - "name": { - "type": "keyword" - }, - "package_assets": { - "properties": { - "id": { - "type": "keyword" - }, - "type": { - "type": "keyword" - } - }, - "type": "nested" - }, - "removable": { - "type": "boolean" - }, - "version": { - "type": "keyword" - } - } - }, - "epm-packages-assets": { - "properties": { - "asset_path": { - "type": "keyword" - }, - "data_base64": { - "type": "binary" - }, - "data_utf8": { - "index": false, - "type": "text" - }, - "install_source": { - "type": "keyword" - }, - "media_type": { - "type": "keyword" - }, - "package_name": { - "type": "keyword" - }, - "package_version": { - "type": "keyword" - } - } - }, - "exception-list": { - "properties": { - "_tags": { - "type": "keyword" - }, - "comments": { - "properties": { - "comment": { - "type": "keyword" - }, - "created_at": { - "type": "keyword" - }, - "created_by": { - "type": "keyword" - }, - "id": { - "type": "keyword" - }, - "updated_at": { - "type": "keyword" - }, - "updated_by": { - "type": "keyword" - } - } - }, - "created_at": { - "type": "keyword" - }, - "created_by": { - "type": "keyword" - }, - "description": { - "type": "keyword" - }, - "entries": { - "properties": { - "entries": { - "properties": { - "field": { - "type": "keyword" - }, - "operator": { - "type": "keyword" - }, - "type": { - "type": "keyword" - }, - "value": { - "fields": { - "text": { - "type": "text" - } - }, - "type": "keyword" - } - } - }, - "field": { - "type": "keyword" - }, - "list": { - "properties": { - "id": { - "type": "keyword" - }, - "type": { - "type": "keyword" - } - } - }, - "operator": { - "type": "keyword" - }, - "type": { - "type": "keyword" - }, - "value": { - "fields": { - "text": { - "type": "text" - } - }, - "type": "keyword" - } - } - }, - "immutable": { - "type": "boolean" - }, - "item_id": { - "type": "keyword" - }, - "list_id": { - "type": "keyword" - }, - "list_type": { - "type": "keyword" - }, - "meta": { - "type": "keyword" - }, - "name": { - "type": "keyword" - }, - "os_types": { - "type": "keyword" - }, - "tags": { - "type": "keyword" - }, - "tie_breaker_id": { - "type": "keyword" - }, - "type": { - "type": "keyword" - }, - "updated_by": { - "type": "keyword" - }, - "version": { - "type": "keyword" - } - } - }, - "exception-list-agnostic": { - "properties": { - "_tags": { - "type": "keyword" - }, - "comments": { - "properties": { - "comment": { - "type": "keyword" - }, - "created_at": { - "type": "keyword" - }, - "created_by": { - "type": "keyword" - }, - "id": { - "type": "keyword" - }, - "updated_at": { - "type": "keyword" - }, - "updated_by": { - "type": "keyword" - } - } - }, - "created_at": { - "type": "keyword" - }, - "created_by": { - "type": "keyword" - }, - "description": { - "type": "keyword" - }, - "entries": { - "properties": { - "entries": { - "properties": { - "field": { - "type": "keyword" - }, - "operator": { - "type": "keyword" - }, - "type": { - "type": "keyword" - }, - "value": { - "fields": { - "text": { - "type": "text" - } - }, - "type": "keyword" - } - } - }, - "field": { - "type": "keyword" - }, - "list": { - "properties": { - "id": { - "type": "keyword" - }, - "type": { - "type": "keyword" - } - } - }, - "operator": { - "type": "keyword" - }, - "type": { - "type": "keyword" - }, - "value": { - "fields": { - "text": { - "type": "text" - } - }, - "type": "keyword" - } - } - }, - "immutable": { - "type": "boolean" - }, - "item_id": { - "type": "keyword" - }, - "list_id": { - "type": "keyword" - }, - "list_type": { - "type": "keyword" - }, - "meta": { - "type": "keyword" - }, - "name": { - "type": "keyword" - }, - "os_types": { - "type": "keyword" - }, - "tags": { - "type": "keyword" - }, - "tie_breaker_id": { - "type": "keyword" - }, - "type": { - "type": "keyword" - }, - "updated_by": { - "type": "keyword" - }, - "version": { - "type": "keyword" - } - } - }, - "file-upload-telemetry": { - "properties": { - "filesUploadedTotalCount": { - "type": "long" - } - } - }, - "file-upload-usage-collection-telemetry": { - "properties": { - "file_upload": { - "properties": { - "index_creation_count": { - "type": "long" - } - } - } - } - }, - "fleet-agent-actions": { - "properties": { - "ack_data": { - "type": "text" - }, - "agent_id": { - "type": "keyword" - }, - "created_at": { - "type": "date" - }, - "data": { - "type": "binary" - }, - "policy_id": { - "type": "keyword" - }, - "policy_revision": { - "type": "integer" - }, - "sent_at": { - "type": "date" - }, - "type": { - "type": "keyword" - } - } - }, - "fleet-agent-events": { - "properties": { - "action_id": { - "type": "keyword" - }, - "agent_id": { - "type": "keyword" - }, - "data": { - "type": "text" - }, - "message": { - "type": "text" - }, - "payload": { - "type": "text" - }, - "policy_id": { - "type": "keyword" - }, - "stream_id": { - "type": "keyword" - }, - "subtype": { - "type": "keyword" - }, - "timestamp": { - "type": "date" - }, - "type": { - "type": "keyword" - } - } - }, - "fleet-agents": { - "properties": { - "access_api_key_id": { - "type": "keyword" - }, - "active": { - "type": "boolean" - }, - "current_error_events": { - "index": false, - "type": "text" - }, - "default_api_key": { - "type": "binary" - }, - "default_api_key_id": { - "type": "keyword" - }, - "enrolled_at": { - "type": "date" - }, - "last_checkin": { - "type": "date" - }, - "last_checkin_status": { - "type": "keyword" - }, - "last_updated": { - "type": "date" - }, - "local_metadata": { - "type": "flattened" - }, - "packages": { - "type": "keyword" - }, - "policy_id": { - "type": "keyword" - }, - "policy_revision": { - "type": "integer" - }, - "type": { - "type": "keyword" - }, - "unenrolled_at": { - "type": "date" - }, - "unenrollment_started_at": { - "type": "date" - }, - "updated_at": { - "type": "date" - }, - "upgrade_started_at": { - "type": "date" - }, - "upgraded_at": { - "type": "date" - }, - "user_provided_metadata": { - "type": "flattened" - }, - "version": { - "type": "keyword" - } - } - }, - "fleet-enrollment-api-keys": { - "properties": { - "active": { - "type": "boolean" - }, - "api_key": { - "type": "binary" - }, - "api_key_id": { - "type": "keyword" - }, - "created_at": { - "type": "date" - }, - "expire_at": { - "type": "date" - }, - "name": { - "type": "keyword" - }, - "policy_id": { - "type": "keyword" - }, - "type": { - "type": "keyword" - }, - "updated_at": { - "type": "date" - } - } - }, - "graph-workspace": { - "properties": { - "description": { - "type": "text" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "legacyIndexPatternRef": { - "index": false, - "type": "text" - }, - "numLinks": { - "type": "integer" - }, - "numVertices": { - "type": "integer" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - }, - "wsState": { - "type": "text" - } - } - }, - "index-pattern": { - "dynamic": "false", - "properties": { - "title": { - "type": "text" - }, - "type": { - "type": "keyword" - } - } - }, - "infrastructure-ui-source": { - "dynamic": "false", - "type": "object" - }, - "ingest-agent-policies": { - "properties": { - "description": { - "type": "text" - }, - "is_default": { - "type": "boolean" - }, - "is_managed": { - "type": "boolean" - }, - "monitoring_enabled": { - "index": false, - "type": "keyword" - }, - "name": { - "type": "keyword" - }, - "namespace": { - "type": "keyword" - }, - "package_policies": { - "type": "keyword" - }, - "revision": { - "type": "integer" - }, - "status": { - "type": "keyword" - }, - "updated_at": { - "type": "date" - }, - "updated_by": { - "type": "keyword" - } - } - }, - "ingest-outputs": { - "properties": { - "ca_sha256": { - "index": false, - "type": "keyword" - }, - "config": { - "type": "flattened" - }, - "config_yaml": { - "type": "text" - }, - "fleet_enroll_password": { - "type": "binary" - }, - "fleet_enroll_username": { - "type": "binary" - }, - "hosts": { - "type": "keyword" - }, - "is_default": { - "type": "boolean" - }, - "name": { - "type": "keyword" - }, - "type": { - "type": "keyword" - } - } - }, - "ingest-package-policies": { - "properties": { - "created_at": { - "type": "date" - }, - "created_by": { - "type": "keyword" - }, - "description": { - "type": "text" - }, - "enabled": { - "type": "boolean" - }, - "inputs": { - "enabled": false, - "properties": { - "compiled_input": { - "type": "flattened" - }, - "config": { - "type": "flattened" - }, - "enabled": { - "type": "boolean" - }, - "streams": { - "properties": { - "compiled_stream": { - "type": "flattened" - }, - "config": { - "type": "flattened" - }, - "data_stream": { - "properties": { - "dataset": { - "type": "keyword" - }, - "type": { - "type": "keyword" - } - } - }, - "enabled": { - "type": "boolean" - }, - "id": { - "type": "keyword" - }, - "vars": { - "type": "flattened" - } - }, - "type": "nested" - }, - "type": { - "type": "keyword" - }, - "vars": { - "type": "flattened" - } - }, - "type": "nested" - }, - "name": { - "type": "keyword" - }, - "namespace": { - "type": "keyword" - }, - "output_id": { - "type": "keyword" - }, - "package": { - "properties": { - "name": { - "type": "keyword" - }, - "title": { - "type": "keyword" - }, - "version": { - "type": "keyword" - } - } - }, - "policy_id": { - "type": "keyword" - }, - "revision": { - "type": "integer" - }, - "updated_at": { - "type": "date" - }, - "updated_by": { - "type": "keyword" - } - } - }, - "ingest_manager_settings": { - "properties": { - "agent_auto_upgrade": { - "type": "keyword" - }, - "has_seen_add_data_notice": { - "index": false, - "type": "boolean" - }, - "kibana_ca_sha256": { - "type": "keyword" - }, - "kibana_urls": { - "type": "keyword" - }, - "package_auto_upgrade": { - "type": "keyword" - } - } - }, - "inventory-view": { - "dynamic": "false", - "type": "object" - }, - "kql-telemetry": { - "properties": { - "optInCount": { - "type": "long" - }, - "optOutCount": { - "type": "long" - } - } - }, - "legacy-url-alias": { - "dynamic": "false", - "type": "object" - }, - "lens": { - "properties": { - "description": { - "type": "text" - }, - "expression": { - "doc_values": false, - "index": false, - "type": "keyword" - }, - "state": { - "type": "flattened" - }, - "title": { - "type": "text" - }, - "visualizationType": { - "type": "keyword" - } - } - }, - "lens-ui-telemetry": { - "properties": { - "count": { - "type": "integer" - }, - "date": { - "type": "date" - }, - "name": { - "type": "keyword" - }, - "type": { - "type": "keyword" - } - } - }, - "map": { - "properties": { - "bounds": { - "dynamic": "false", - "type": "object" - }, - "description": { - "type": "text" - }, - "layerListJSON": { - "type": "text" - }, - "mapStateJSON": { - "type": "text" - }, - "title": { - "type": "text" - }, - "uiStateJSON": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, - "maps-telemetry": { - "enabled": false, - "type": "object" - }, - "metrics-explorer-view": { - "dynamic": "false", - "type": "object" - }, - "ml-job": { - "properties": { - "datafeed_id": { - "fields": { - "keyword": { - "type": "keyword" - } - }, - "type": "text" - }, - "job_id": { - "fields": { - "keyword": { - "type": "keyword" - } - }, - "type": "text" - }, - "type": { - "type": "keyword" - } - } - }, - "ml-telemetry": { - "dynamic": "false", - "type": "object" - }, - "monitoring-telemetry": { - "properties": { - "reportedClusterUuids": { - "type": "keyword" - } - } - }, - "namespace": { - "type": "keyword" - }, - "namespaces": { - "type": "keyword" - }, - "originId": { - "type": "keyword" - }, - "query": { - "properties": { - "description": { - "type": "text" - }, - "filters": { - "enabled": false, - "type": "object" - }, - "query": { - "properties": { - "language": { - "type": "keyword" - }, - "query": { - "index": false, - "type": "keyword" - } - } - }, - "timefilter": { - "enabled": false, - "type": "object" - }, - "title": { - "type": "text" - } - } - }, - "references": { - "properties": { - "id": { - "type": "keyword" - }, - "name": { - "type": "keyword" - }, - "type": { - "type": "keyword" - } - }, - "type": "nested" - }, - "sample-data-telemetry": { - "properties": { - "installCount": { - "type": "long" - }, - "unInstallCount": { - "type": "long" - } - } - }, - "search": { - "properties": { - "columns": { - "doc_values": false, - "index": false, - "type": "keyword" - }, - "description": { - "type": "text" - }, - "grid": { - "enabled": false, - "type": "object" - }, - "hits": { - "doc_values": false, - "index": false, - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "index": false, - "type": "text" - } - } - }, - "pre712": { - "type": "boolean" - }, - "sort": { - "doc_values": false, - "index": false, - "type": "keyword" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, - "search-session": { - "properties": { - "appId": { - "type": "keyword" - }, - "created": { - "type": "date" - }, - "expires": { - "type": "date" - }, - "idMapping": { - "enabled": false, - "type": "object" - }, - "initialState": { - "enabled": false, - "type": "object" - }, - "name": { - "type": "keyword" - }, - "persisted": { - "type": "boolean" - }, - "restoreState": { - "enabled": false, - "type": "object" - }, - "sessionId": { - "type": "keyword" - }, - "status": { - "type": "keyword" - }, - "touched": { - "type": "date" - }, - "urlGeneratorId": { - "type": "keyword" - } - } - }, - "search-telemetry": { - "dynamic": "false", - "type": "object" - }, - "security-solution-signals-migration": { - "properties": { - "created": { - "index": false, - "type": "date" - }, - "createdBy": { - "index": false, - "type": "text" - }, - "destinationIndex": { - "index": false, - "type": "keyword" - }, - "error": { - "index": false, - "type": "text" - }, - "sourceIndex": { - "type": "keyword" - }, - "status": { - "index": false, - "type": "keyword" - }, - "taskId": { - "index": false, - "type": "keyword" - }, - "updated": { - "index": false, - "type": "date" - }, - "updatedBy": { - "index": false, - "type": "text" - }, - "version": { - "type": "long" - } - } - }, - "server": { - "dynamic": "false", - "type": "object" - }, - "siem-detection-engine-rule-actions": { - "properties": { - "actions": { - "properties": { - "action_type_id": { - "type": "keyword" - }, - "group": { - "type": "keyword" - }, - "id": { - "type": "keyword" - }, - "params": { - "enabled": false, - "type": "object" - } - } - }, - "alertThrottle": { - "type": "keyword" - }, - "ruleAlertId": { - "type": "keyword" - }, - "ruleThrottle": { - "type": "keyword" - } - } - }, - "siem-detection-engine-rule-status": { - "properties": { - "alertId": { - "type": "keyword" - }, - "bulkCreateTimeDurations": { - "type": "float" - }, - "gap": { - "type": "text" - }, - "lastFailureAt": { - "type": "date" - }, - "lastFailureMessage": { - "type": "text" - }, - "lastLookBackDate": { - "type": "date" - }, - "lastSuccessAt": { - "type": "date" - }, - "lastSuccessMessage": { - "type": "text" - }, - "searchAfterTimeDurations": { - "type": "float" - }, - "status": { - "type": "keyword" - }, - "statusDate": { - "type": "date" - } - } - }, - "siem-ui-timeline": { - "properties": { - "columns": { - "properties": { - "aggregatable": { - "type": "boolean" - }, - "category": { - "type": "keyword" - }, - "columnHeaderType": { - "type": "keyword" - }, - "description": { - "type": "text" - }, - "example": { - "type": "text" - }, - "id": { - "type": "keyword" - }, - "indexes": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "placeholder": { - "type": "text" - }, - "searchable": { - "type": "boolean" - }, - "type": { - "type": "keyword" - } - } - }, - "created": { - "type": "date" - }, - "createdBy": { - "type": "text" - }, - "dataProviders": { - "properties": { - "and": { - "properties": { - "enabled": { - "type": "boolean" - }, - "excluded": { - "type": "boolean" - }, - "id": { - "type": "keyword" - }, - "kqlQuery": { - "type": "text" - }, - "name": { - "type": "text" - }, - "queryMatch": { - "properties": { - "displayField": { - "type": "text" - }, - "displayValue": { - "type": "text" - }, - "field": { - "type": "text" - }, - "operator": { - "type": "text" - }, - "value": { - "type": "text" - } - } - }, - "type": { - "type": "text" - } - } - }, - "enabled": { - "type": "boolean" - }, - "excluded": { - "type": "boolean" - }, - "id": { - "type": "keyword" - }, - "kqlQuery": { - "type": "text" - }, - "name": { - "type": "text" - }, - "queryMatch": { - "properties": { - "displayField": { - "type": "text" - }, - "displayValue": { - "type": "text" - }, - "field": { - "type": "text" - }, - "operator": { - "type": "text" - }, - "value": { - "type": "text" - } - } - }, - "type": { - "type": "text" - } - } - }, - "dateRange": { - "properties": { - "end": { - "type": "date" - }, - "start": { - "type": "date" - } - } - }, - "description": { - "type": "text" - }, - "eventType": { - "type": "keyword" - }, - "excludedRowRendererIds": { - "type": "text" - }, - "favorite": { - "properties": { - "favoriteDate": { - "type": "date" - }, - "fullName": { - "type": "text" - }, - "keySearch": { - "type": "text" - }, - "userName": { - "type": "text" - } - } - }, - "filters": { - "properties": { - "exists": { - "type": "text" - }, - "match_all": { - "type": "text" - }, - "meta": { - "properties": { - "alias": { - "type": "text" - }, - "controlledBy": { - "type": "text" - }, - "disabled": { - "type": "boolean" - }, - "field": { - "type": "text" - }, - "formattedValue": { - "type": "text" - }, - "index": { - "type": "keyword" - }, - "key": { - "type": "keyword" - }, - "negate": { - "type": "boolean" - }, - "params": { - "type": "text" - }, - "type": { - "type": "keyword" - }, - "value": { - "type": "text" - } - } - }, - "missing": { - "type": "text" - }, - "query": { - "type": "text" - }, - "range": { - "type": "text" - }, - "script": { - "type": "text" - } - } - }, - "indexNames": { - "type": "text" - }, - "kqlMode": { - "type": "keyword" - }, - "kqlQuery": { - "properties": { - "filterQuery": { - "properties": { - "kuery": { - "properties": { - "expression": { - "type": "text" - }, - "kind": { - "type": "keyword" - } - } - }, - "serializedQuery": { - "type": "text" - } - } - } - } - }, - "savedQueryId": { - "type": "keyword" - }, - "sort": { - "dynamic": "false", - "properties": { - "columnId": { - "type": "keyword" - }, - "columnType": { - "type": "keyword" - }, - "sortDirection": { - "type": "keyword" - } - } - }, - "status": { - "type": "keyword" - }, - "templateTimelineId": { - "type": "text" - }, - "templateTimelineVersion": { - "type": "integer" - }, - "timelineType": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "updated": { - "type": "date" - }, - "updatedBy": { - "type": "text" - } - } - }, - "siem-ui-timeline-note": { - "properties": { - "created": { - "type": "date" - }, - "createdBy": { - "type": "text" - }, - "eventId": { - "type": "keyword" - }, - "note": { - "type": "text" - }, - "timelineId": { - "type": "keyword" - }, - "updated": { - "type": "date" - }, - "updatedBy": { - "type": "text" - } - } - }, - "siem-ui-timeline-pinned-event": { - "properties": { - "created": { - "type": "date" - }, - "createdBy": { - "type": "text" - }, - "eventId": { - "type": "keyword" - }, - "timelineId": { - "type": "keyword" - }, - "updated": { - "type": "date" - }, - "updatedBy": { - "type": "text" - } - } - }, - "space": { - "properties": { - "_reserved": { - "type": "boolean" - }, - "color": { - "type": "keyword" - }, - "description": { - "type": "text" - }, - "disabledFeatures": { - "type": "keyword" - }, - "imageUrl": { - "index": false, - "type": "text" - }, - "initials": { - "type": "keyword" - }, - "name": { - "fields": { - "keyword": { - "ignore_above": 2048, - "type": "keyword" - } - }, - "type": "text" - } - } - }, - "spaces-usage-stats": { - "dynamic": "false", - "type": "object" - }, - "tag": { - "properties": { - "color": { - "type": "text" - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - } - } - }, - "telemetry": { - "properties": { - "allowChangingOptInStatus": { - "type": "boolean" - }, - "enabled": { - "type": "boolean" - }, - "lastReported": { - "type": "date" - }, - "lastVersionChecked": { - "type": "keyword" - }, - "reportFailureCount": { - "type": "integer" - }, - "reportFailureVersion": { - "type": "keyword" - }, - "sendUsageFrom": { - "type": "keyword" - }, - "userHasSeenNotice": { - "type": "boolean" - } - } - }, - "type": { - "type": "keyword" - }, - "ui-counter": { - "properties": { - "count": { - "type": "integer" - } - } - }, - "ui-metric": { - "properties": { - "count": { - "type": "integer" - } - } - }, - "updated_at": { - "type": "date" - }, - "upgrade-assistant-reindex-operation": { - "properties": { - "errorMessage": { - "fields": { - "keyword": { - "ignore_above": 256, - "type": "keyword" - } - }, - "type": "text" - }, - "indexName": { - "type": "keyword" - }, - "lastCompletedStep": { - "type": "long" - }, - "locked": { - "type": "date" - }, - "newIndexName": { - "fields": { - "keyword": { - "ignore_above": 256, - "type": "keyword" - } - }, - "type": "text" - }, - "reindexOptions": { - "properties": { - "openAndClose": { - "type": "boolean" - }, - "queueSettings": { - "properties": { - "queuedAt": { - "type": "long" - }, - "startedAt": { - "type": "long" - } - } - } - } - }, - "reindexTaskId": { - "fields": { - "keyword": { - "ignore_above": 256, - "type": "keyword" - } - }, - "type": "text" - }, - "reindexTaskPercComplete": { - "type": "float" - }, - "runningReindexCount": { - "type": "integer" - }, - "status": { - "type": "integer" - } - } - }, - "upgrade-assistant-telemetry": { - "properties": { - "features": { - "properties": { - "deprecation_logging": { - "properties": { - "enabled": { - "null_value": true, - "type": "boolean" - } - } - } - } - }, - "ui_open": { - "properties": { - "cluster": { - "null_value": 0, - "type": "long" - }, - "indices": { - "null_value": 0, - "type": "long" - }, - "overview": { - "null_value": 0, - "type": "long" - } - } - }, - "ui_reindex": { - "properties": { - "close": { - "null_value": 0, - "type": "long" - }, - "open": { - "null_value": 0, - "type": "long" - }, - "start": { - "null_value": 0, - "type": "long" - }, - "stop": { - "null_value": 0, - "type": "long" - } - } - } - } - }, - "uptime-dynamic-settings": { - "dynamic": "false", - "type": "object" - }, - "url": { - "properties": { - "accessCount": { - "type": "long" - }, - "accessDate": { - "type": "date" - }, - "createDate": { - "type": "date" - }, - "url": { - "fields": { - "keyword": { - "ignore_above": 2048, - "type": "keyword" - } - }, - "type": "text" - } - } - }, - "user-action": { - "dynamic": "false", - "type": "object" - }, - "visualization": { - "properties": { - "description": { - "type": "text" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "index": false, - "type": "text" - } - } - }, - "savedSearchRefName": { - "doc_values": false, - "index": false, - "type": "keyword" - }, - "title": { - "type": "text" - }, - "uiStateJSON": { - "index": false, - "type": "text" - }, - "version": { - "type": "integer" - }, - "visState": { - "index": false, - "type": "text" - } - } - }, - "workplace_search_telemetry": { - "dynamic": "false", - "type": "object" - } - } - }, - "settings": { - "index": { - "auto_expand_replicas": "0-1", - "number_of_replicas": "0", - "number_of_shards": "1" - } - } - } -} - diff --git a/x-pack/test/functional/es_archives/reporting/logs/data.json.gz b/x-pack/test/functional/es_archives/reporting/logs/data.json.gz deleted file mode 100644 index dbd8f6f8e2e765a7d0186a8348beb80341d57d25..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1375 zcmV-l1)%yLiwFqjcuidZ17u-zVJ>QOZ*Bn1Tg`6cHW0q&DFmUXA{JyjiPt(MXm^1Y zZ5CJuEs!`cXo;5CP(MpjNxXsIq(D!7zdk~Tlq^fO7fl*(hKB&rkQ@$&oNtE1@zasx zxN2EYH*nl258Y!;xF@{SlqdLrPZsG`mPPcjR}iJB$O4|nQW2T-zBfahx?Okl?%14U zWKEZODZ&jmXNyy-0h$(!@fhUy331(!G zJf5cZVIV6iJcNG#5*If`K-6B5TJs)Uwb0 zr+LKS@)+TIU&F#4<&=WkBMh7!$rPRGcJ!;!XJ}IBQhe?1fw*ZV&w;EMS&)!odgHG+ z0)2cf$t@r%XI3Tjx)QXB&lX`#`7bp*KOKf{(FRvA<4DZ{SqtW~rj}mjMOsW#yg7@MI zvZs_HM1C^EKbuYPZ4Ihnqr6UTBR{X$XRRQI1rOX{u;^(f>-MJoEQtM@ZBzbu&rQ*~ zy=xNO_NfiqL9e52`!r)i=I~rUTS-OIt%trhe7l-2cQOob{Q6qm3bD&nOljJJiG8(c z_LO{D2YuGU^7<}YlylBxg8f81+b;EZNBVDdboBK6GJ8ph2$LWhki32;ihBJ%9rwoLFzlT~@BIGRkkT<7y}a_iV(vPfn)_;%Kyxpg3Av|{Gcnzq-@URnzObyw-T2HuqS!q29Kb z$y_MIsl#gTF4m&9__P__Qz7dW^jqXgkwzOI=YP;p{R*z3tG7m-6QkyzCm%139^j}a z5W907zh7{^!HRmS4dHW1^&3?HBRI+8(nLpK40jd1)nn>T-4%Q<7+2a%0{!ah8Xg&q4Z1bP(HNb8Nh>?Nqsx6^h&iC9VL}UM;2*=Z|{>|ElkA*j<|eTTd>0))(Z%H&Z1!%Xx4m&*rL!CV)-y3c{dlJ*sgp>0c11)N1=R007==tRnyb diff --git a/x-pack/test/functional/es_archives/reporting/logs/mappings.json b/x-pack/test/functional/es_archives/reporting/logs/mappings.json deleted file mode 100644 index 2e1873e43ffcc6..00000000000000 --- a/x-pack/test/functional/es_archives/reporting/logs/mappings.json +++ /dev/null @@ -1,263 +0,0 @@ -{ - "type": "index", - "value": { - "aliases": { - ".kibana": {} - }, - "index": ".kibana_1", - "mappings": { - "properties": { - "config": { - "dynamic": "true", - "properties": { - "buildNum": { - "type": "keyword" - } - } - }, - "dashboard": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "optionsJSON": { - "type": "text" - }, - "panelsJSON": { - "type": "text" - }, - "refreshInterval": { - "properties": { - "display": { - "type": "keyword" - }, - "pause": { - "type": "boolean" - }, - "section": { - "type": "integer" - }, - "value": { - "type": "integer" - } - } - }, - "timeFrom": { - "type": "keyword" - }, - "timeRestore": { - "type": "boolean" - }, - "timeTo": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "uiStateJSON": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, - "graph-workspace": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "numLinks": { - "type": "integer" - }, - "numVertices": { - "type": "integer" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - }, - "wsState": { - "type": "text" - } - } - }, - "index-pattern": { - "dynamic": "strict", - "properties": { - "fieldFormatMap": { - "type": "text" - }, - "fields": { - "type": "text" - }, - "intervalName": { - "type": "keyword" - }, - "notExpandable": { - "type": "boolean" - }, - "sourceFilters": { - "type": "text" - }, - "timeFieldName": { - "type": "keyword" - }, - "title": { - "type": "text" - } - } - }, - "search": { - "dynamic": "strict", - "properties": { - "columns": { - "type": "keyword" - }, - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "sort": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, - "server": { - "dynamic": "strict", - "properties": { - "uuid": { - "type": "keyword" - } - } - }, - "space": { - "properties": { - "_reserved": { - "type": "boolean" - }, - "color": { - "type": "keyword" - }, - "description": { - "type": "text" - }, - "initials": { - "type": "keyword" - }, - "name": { - "fields": { - "keyword": { - "ignore_above": 2048, - "type": "keyword" - } - }, - "type": "text" - } - } - }, - "spaceId": { - "type": "keyword" - }, - "type": { - "type": "keyword" - }, - "url": { - "dynamic": "strict", - "properties": { - "accessCount": { - "type": "long" - }, - "accessDate": { - "type": "date" - }, - "createDate": { - "type": "date" - }, - "url": { - "fields": { - "keyword": { - "ignore_above": 2048, - "type": "keyword" - } - }, - "type": "text" - } - } - }, - "visualization": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "savedSearchId": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "uiStateJSON": { - "type": "text" - }, - "version": { - "type": "integer" - }, - "visState": { - "type": "text" - } - } - } - } - }, - "settings": { - "index": { - "number_of_replicas": "1", - "number_of_shards": "1" - } - } - } -} \ No newline at end of file diff --git a/x-pack/test/functional/es_archives/reporting/multi_index/data.json.gz b/x-pack/test/functional/es_archives/reporting/multi_index/data.json.gz deleted file mode 100644 index bb0e05d632f54f278a3427176104a8e05575097d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 619 zcmV-x0+jt9iwFpk>GNI!17u-zVJ>QOZ*Bm!l}&HjKoExS{0hXmNX7{SI2BqFEJ3N# z^aH9MCiYlf{ISUP#$KWP_s+UBVJOg4bq)ya>({g1XJ&S`jb^iz>kYPs&6X$K)*B-{ zK%|Var3Ed8XPz!^zm0oSXB-56d)dF74?5S2%5EHqhov#)nB`g9vO2$?WKyN>b1YKc zdXQJ!*_Lg!tzO%{yt6Nc-R{sDtah)F4U#+~m-QsLQYCq+&71G%&%Oj=6YcwMO^Oqs z#sHoyBrWd+fG%~}WM4?OE(Q6t)(SIbbW)O4CLv%S zBytU;JvJKKe@IPGdulp^zozDD(CZw_&Ukt*J0Efo8`Kgsuf60~;WA2JVnCPp`OF!R(=?)pd6`!CTv7wY@{r0`9vv+q|oW1NE@AK{+~e;-Uv7e F002xHGbR84 diff --git a/x-pack/test/functional/es_archives/reporting/multi_index/mappings.json b/x-pack/test/functional/es_archives/reporting/multi_index/mappings.json deleted file mode 100644 index f28ffce8ce3ce0..00000000000000 --- a/x-pack/test/functional/es_archives/reporting/multi_index/mappings.json +++ /dev/null @@ -1,92 +0,0 @@ -{ - "type": "index", - "value": { - "aliases": { - }, - "index": "tests-001", - "mappings": { - "properties": { - "@date": { - "type": "date" - }, - "ants": { - "type": "integer" - }, - "country": { - "type": "keyword" - }, - "name": { - "type": "keyword" - } - } - }, - "settings": { - "index": { - "number_of_replicas": "0", - "number_of_shards": "1" - } - } - } -} - -{ - "type": "index", - "value": { - "aliases": { - }, - "index": "tests-002", - "mappings": { - "properties": { - "@date": { - "type": "date" - }, - "ants": { - "type": "integer" - }, - "country": { - "type": "keyword" - }, - "name": { - "type": "keyword" - } - } - }, - "settings": { - "index": { - "number_of_replicas": "0", - "number_of_shards": "1" - } - } - } -} - -{ - "type": "index", - "value": { - "aliases": { - }, - "index": "tests-003", - "mappings": { - "properties": { - "@date": { - "type": "date" - }, - "ants": { - "type": "integer" - }, - "country": { - "type": "keyword" - }, - "name": { - "type": "keyword" - } - } - }, - "settings": { - "index": { - "number_of_replicas": "0", - "number_of_shards": "1" - } - } - } -} diff --git a/x-pack/test/functional/es_archives/reporting/multi_index_kibana/data.json.gz b/x-pack/test/functional/es_archives/reporting/multi_index_kibana/data.json.gz deleted file mode 100644 index a6330916d62f77c02dc978c12b512d0b21aa2a0f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 455 zcmV;&0XY62iwFp`>GNI!17u-zVJ>QOZ*Bn1mBCKqFc60CeTv9O)K*bpi^z!s;>Zbc zpsmo8I7G4ke?0zVCo}s|k_f-sqR0}VtQ2Dw-l3>i z*@sD(YQ?TL3O^@X@E*xz4vhn^t$|_!g>Hs%dD6u4qUoDngMn6ewj%kJIq79RF@m+x zSSZI?7W<_zP~uW#OL42fhtYT$xubMc&^-pt1#!`;s~}5T86U(njGZLC^{B#h1BFAD z5JJ(eAt>eZ$>{B{c|WJ@|!`tELmg0`GN+_gv&30xsA2SlYW0 zzK9OD7>DjcG~S^N5~a>5cAqCC7hc^S(r+)~dODw`-?I>IkkClvezR!Q)zNM{WH;T> xuC@%WUchtEES;s3bUv9~J{sP`@7La-e005p0;OPJW diff --git a/x-pack/test/functional/es_archives/reporting/multi_index_kibana/mappings.json b/x-pack/test/functional/es_archives/reporting/multi_index_kibana/mappings.json deleted file mode 100644 index 69c6cbc3b46b5f..00000000000000 --- a/x-pack/test/functional/es_archives/reporting/multi_index_kibana/mappings.json +++ /dev/null @@ -1,2027 +0,0 @@ -{ - "type": "index", - "value": { - "aliases": { - ".kibana": { - } - }, - "index": ".kibana_1", - "mappings": { - "_meta": { - "migrationMappingPropertyHashes": { - "action": "6e96ac5e648f57523879661ea72525b7", - "action_task_params": "a9d49f184ee89641044be0ca2950fa3a", - "alert": "7b44fba6773e37c806ce290ea9b7024e", - "apm-indices": "9bb9b2bf1fa636ed8619cbab5ce6a1dd", - "apm-telemetry": "3525d7c22c42bc80f5e6e9cb3f2b26a2", - "application_usage_totals": "c897e4310c5f24b07caaff3db53ae2c1", - "application_usage_transactional": "965839e75f809fefe04f92dc4d99722a", - "canvas-element": "7390014e1091044523666d97247392fc", - "canvas-workpad": "b0a1706d356228dbdcb4a17e6b9eb231", - "cases": "32aa96a6d3855ddda53010ae2048ac22", - "cases-comments": "c2061fb929f585df57425102fa928b4b", - "cases-configure": "42711cbb311976c0687853f4c1354572", - "cases-user-actions": "32277330ec6b721abe3b846cfd939a71", - "config": "ae24d22d5986d04124cc6568f771066f", - "dashboard": "d00f614b29a80360e1190193fd333bab", - "file-upload-telemetry": "0ed4d3e1983d1217a30982630897092e", - "graph-workspace": "cd7ba1330e6682e9cc00b78850874be1", - "index-pattern": "66eccb05066c5a89924f48a9e9736499", - "kql-telemetry": "d12a98a6f19a2d273696597547e064ee", - "lens": "d33c68a69ff1e78c9888dedd2164ac22", - "lens-ui-telemetry": "509bfa5978586998e05f9e303c07a327", - "map": "4a05b35c3a3a58fbc72dd0202dc3487f", - "maps": "bfd39d88aadadb4be597ea984d433dbe", - "migrationVersion": "4a1746014a75ade3a714e1db5763276f", - "ml-telemetry": "257fd1d4b4fdbb9cb4b8a3b27da201e9", - "namespace": "2f4316de49999235636386fe51dc06c1", - "namespaces": "2f4316de49999235636386fe51dc06c1", - "query": "11aaeb7f5f7fa5bb43f25e18ce26e7d9", - "references": "7997cf5a56cc02bdc9c93361bde732b0", - "sample-data-telemetry": "7d3cfeb915303c9641c59681967ffeb4", - "search": "181661168bbadd1eff5902361e2a0d5c", - "telemetry": "36a616f7026dfa617d6655df850fe16d", - "tsvb-validation-telemetry": "3a37ef6c8700ae6fc97d5c7da00e9215", - "type": "2f4316de49999235636386fe51dc06c1", - "ui-metric": "0d409297dc5ebe1e3a1da691c6ee32e3", - "updated_at": "00da57df13e94e9d98437d13ace4bfe0", - "upgrade-assistant-reindex-operation": "296a89039fc4260292be36b1b005d8f2", - "upgrade-assistant-telemetry": "56702cec857e0a9dacfb696655b4ff7b", - "uptime-dynamic-settings": "fcdb453a30092f022f2642db29523d80", - "url": "b675c3be8d76ecf029294d51dc7ec65d", - "visualization": "52d7a13ad68a150c4525b292d23e12cc" - } - }, - "dynamic": "strict", - "properties": { - "action": { - "properties": { - "actionTypeId": { - "type": "keyword" - }, - "config": { - "enabled": false, - "type": "object" - }, - "name": { - "fields": { - "keyword": { - "type": "keyword" - } - }, - "type": "text" - }, - "secrets": { - "type": "binary" - } - } - }, - "action_task_params": { - "properties": { - "actionId": { - "type": "keyword" - }, - "apiKey": { - "type": "binary" - }, - "params": { - "enabled": false, - "type": "object" - } - } - }, - "alert": { - "properties": { - "actions": { - "properties": { - "actionRef": { - "type": "keyword" - }, - "actionTypeId": { - "type": "keyword" - }, - "group": { - "type": "keyword" - }, - "params": { - "enabled": false, - "type": "object" - } - }, - "type": "nested" - }, - "alertTypeId": { - "type": "keyword" - }, - "apiKey": { - "type": "binary" - }, - "apiKeyOwner": { - "type": "keyword" - }, - "consumer": { - "type": "keyword" - }, - "createdAt": { - "type": "date" - }, - "createdBy": { - "type": "keyword" - }, - "enabled": { - "type": "boolean" - }, - "muteAll": { - "type": "boolean" - }, - "mutedInstanceIds": { - "type": "keyword" - }, - "name": { - "fields": { - "keyword": { - "type": "keyword" - } - }, - "type": "text" - }, - "params": { - "enabled": false, - "type": "object" - }, - "schedule": { - "properties": { - "interval": { - "type": "keyword" - } - } - }, - "scheduledTaskId": { - "type": "keyword" - }, - "tags": { - "type": "keyword" - }, - "throttle": { - "type": "keyword" - }, - "updatedBy": { - "type": "keyword" - } - } - }, - "apm-indices": { - "properties": { - "error": { - "type": "keyword" - }, - "metric": { - "type": "keyword" - }, - "onboarding": { - "type": "keyword" - }, - "sourcemap": { - "type": "keyword" - }, - "span": { - "type": "keyword" - }, - "transaction": { - "type": "keyword" - } - } - }, - "apm-telemetry": { - "properties": { - "agents": { - "properties": { - "dotnet": { - "properties": { - "agent": { - "properties": { - "version": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "service": { - "properties": { - "framework": { - "properties": { - "composite": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "version": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "language": { - "properties": { - "composite": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "version": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "runtime": { - "properties": { - "composite": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "version": { - "ignore_above": 1024, - "type": "keyword" - } - } - } - } - } - } - }, - "go": { - "properties": { - "agent": { - "properties": { - "version": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "service": { - "properties": { - "framework": { - "properties": { - "composite": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "version": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "language": { - "properties": { - "composite": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "version": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "runtime": { - "properties": { - "composite": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "version": { - "ignore_above": 1024, - "type": "keyword" - } - } - } - } - } - } - }, - "java": { - "properties": { - "agent": { - "properties": { - "version": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "service": { - "properties": { - "framework": { - "properties": { - "composite": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "version": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "language": { - "properties": { - "composite": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "version": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "runtime": { - "properties": { - "composite": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "version": { - "ignore_above": 1024, - "type": "keyword" - } - } - } - } - } - } - }, - "js-base": { - "properties": { - "agent": { - "properties": { - "version": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "service": { - "properties": { - "framework": { - "properties": { - "composite": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "version": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "language": { - "properties": { - "composite": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "version": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "runtime": { - "properties": { - "composite": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "version": { - "ignore_above": 1024, - "type": "keyword" - } - } - } - } - } - } - }, - "nodejs": { - "properties": { - "agent": { - "properties": { - "version": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "service": { - "properties": { - "framework": { - "properties": { - "composite": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "version": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "language": { - "properties": { - "composite": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "version": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "runtime": { - "properties": { - "composite": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "version": { - "ignore_above": 1024, - "type": "keyword" - } - } - } - } - } - } - }, - "python": { - "properties": { - "agent": { - "properties": { - "version": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "service": { - "properties": { - "framework": { - "properties": { - "composite": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "version": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "language": { - "properties": { - "composite": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "version": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "runtime": { - "properties": { - "composite": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "version": { - "ignore_above": 1024, - "type": "keyword" - } - } - } - } - } - } - }, - "ruby": { - "properties": { - "agent": { - "properties": { - "version": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "service": { - "properties": { - "framework": { - "properties": { - "composite": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "version": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "language": { - "properties": { - "composite": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "version": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "runtime": { - "properties": { - "composite": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "version": { - "ignore_above": 1024, - "type": "keyword" - } - } - } - } - } - } - }, - "rum-js": { - "properties": { - "agent": { - "properties": { - "version": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "service": { - "properties": { - "framework": { - "properties": { - "composite": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "version": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "language": { - "properties": { - "composite": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "version": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "runtime": { - "properties": { - "composite": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "version": { - "ignore_above": 1024, - "type": "keyword" - } - } - } - } - } - } - } - } - }, - "cardinality": { - "properties": { - "transaction": { - "properties": { - "name": { - "properties": { - "all_agents": { - "properties": { - "1d": { - "type": "long" - } - } - }, - "rum": { - "properties": { - "1d": { - "type": "long" - } - } - } - } - } - } - }, - "user_agent": { - "properties": { - "original": { - "properties": { - "all_agents": { - "properties": { - "1d": { - "type": "long" - } - } - }, - "rum": { - "properties": { - "1d": { - "type": "long" - } - } - } - } - } - } - } - } - }, - "counts": { - "properties": { - "agent_configuration": { - "properties": { - "all": { - "type": "long" - } - } - }, - "error": { - "properties": { - "1d": { - "type": "long" - }, - "all": { - "type": "long" - } - } - }, - "max_error_groups_per_service": { - "properties": { - "1d": { - "type": "long" - } - } - }, - "max_transaction_groups_per_service": { - "properties": { - "1d": { - "type": "long" - } - } - }, - "metric": { - "properties": { - "1d": { - "type": "long" - }, - "all": { - "type": "long" - } - } - }, - "onboarding": { - "properties": { - "1d": { - "type": "long" - }, - "all": { - "type": "long" - } - } - }, - "services": { - "properties": { - "1d": { - "type": "long" - } - } - }, - "sourcemap": { - "properties": { - "1d": { - "type": "long" - }, - "all": { - "type": "long" - } - } - }, - "span": { - "properties": { - "1d": { - "type": "long" - }, - "all": { - "type": "long" - } - } - }, - "traces": { - "properties": { - "1d": { - "type": "long" - } - } - }, - "transaction": { - "properties": { - "1d": { - "type": "long" - }, - "all": { - "type": "long" - } - } - } - } - }, - "has_any_services": { - "type": "boolean" - }, - "indices": { - "properties": { - "all": { - "properties": { - "total": { - "properties": { - "docs": { - "properties": { - "count": { - "type": "long" - } - } - }, - "store": { - "properties": { - "size_in_bytes": { - "type": "long" - } - } - } - } - } - } - }, - "shards": { - "properties": { - "total": { - "type": "long" - } - } - } - } - }, - "integrations": { - "properties": { - "ml": { - "properties": { - "all_jobs_count": { - "type": "long" - } - } - } - } - }, - "retainment": { - "properties": { - "error": { - "properties": { - "ms": { - "type": "long" - } - } - }, - "metric": { - "properties": { - "ms": { - "type": "long" - } - } - }, - "onboarding": { - "properties": { - "ms": { - "type": "long" - } - } - }, - "span": { - "properties": { - "ms": { - "type": "long" - } - } - }, - "transaction": { - "properties": { - "ms": { - "type": "long" - } - } - } - } - }, - "services_per_agent": { - "properties": { - "dotnet": { - "null_value": 0, - "type": "long" - }, - "go": { - "null_value": 0, - "type": "long" - }, - "java": { - "null_value": 0, - "type": "long" - }, - "js-base": { - "null_value": 0, - "type": "long" - }, - "nodejs": { - "null_value": 0, - "type": "long" - }, - "python": { - "null_value": 0, - "type": "long" - }, - "ruby": { - "null_value": 0, - "type": "long" - }, - "rum-js": { - "null_value": 0, - "type": "long" - } - } - }, - "tasks": { - "properties": { - "agent_configuration": { - "properties": { - "took": { - "properties": { - "ms": { - "type": "long" - } - } - } - } - }, - "agents": { - "properties": { - "took": { - "properties": { - "ms": { - "type": "long" - } - } - } - } - }, - "cardinality": { - "properties": { - "took": { - "properties": { - "ms": { - "type": "long" - } - } - } - } - }, - "groupings": { - "properties": { - "took": { - "properties": { - "ms": { - "type": "long" - } - } - } - } - }, - "indices_stats": { - "properties": { - "took": { - "properties": { - "ms": { - "type": "long" - } - } - } - } - }, - "integrations": { - "properties": { - "took": { - "properties": { - "ms": { - "type": "long" - } - } - } - } - }, - "processor_events": { - "properties": { - "took": { - "properties": { - "ms": { - "type": "long" - } - } - } - } - }, - "services": { - "properties": { - "took": { - "properties": { - "ms": { - "type": "long" - } - } - } - } - }, - "versions": { - "properties": { - "took": { - "properties": { - "ms": { - "type": "long" - } - } - } - } - } - } - }, - "version": { - "properties": { - "apm_server": { - "properties": { - "major": { - "type": "long" - }, - "minor": { - "type": "long" - }, - "patch": { - "type": "long" - } - } - } - } - } - } - }, - "application_usage_totals": { - "properties": { - "appId": { - "type": "keyword" - }, - "minutesOnScreen": { - "type": "float" - }, - "numberOfClicks": { - "type": "long" - } - } - }, - "application_usage_transactional": { - "properties": { - "appId": { - "type": "keyword" - }, - "minutesOnScreen": { - "type": "float" - }, - "numberOfClicks": { - "type": "long" - }, - "timestamp": { - "type": "date" - } - } - }, - "canvas-element": { - "dynamic": "false", - "properties": { - "@created": { - "type": "date" - }, - "@timestamp": { - "type": "date" - }, - "content": { - "type": "text" - }, - "help": { - "type": "text" - }, - "image": { - "type": "text" - }, - "name": { - "fields": { - "keyword": { - "type": "keyword" - } - }, - "type": "text" - } - } - }, - "canvas-workpad": { - "dynamic": "false", - "properties": { - "@created": { - "type": "date" - }, - "@timestamp": { - "type": "date" - }, - "name": { - "fields": { - "keyword": { - "type": "keyword" - } - }, - "type": "text" - } - } - }, - "cases": { - "properties": { - "closed_at": { - "type": "date" - }, - "closed_by": { - "properties": { - "email": { - "type": "keyword" - }, - "full_name": { - "type": "keyword" - }, - "username": { - "type": "keyword" - } - } - }, - "connector_id": { - "type": "keyword" - }, - "created_at": { - "type": "date" - }, - "created_by": { - "properties": { - "email": { - "type": "keyword" - }, - "full_name": { - "type": "keyword" - }, - "username": { - "type": "keyword" - } - } - }, - "description": { - "type": "text" - }, - "external_service": { - "properties": { - "connector_id": { - "type": "keyword" - }, - "connector_name": { - "type": "keyword" - }, - "external_id": { - "type": "keyword" - }, - "external_title": { - "type": "text" - }, - "external_url": { - "type": "text" - }, - "pushed_at": { - "type": "date" - }, - "pushed_by": { - "properties": { - "email": { - "type": "keyword" - }, - "full_name": { - "type": "keyword" - }, - "username": { - "type": "keyword" - } - } - } - } - }, - "status": { - "type": "keyword" - }, - "tags": { - "type": "keyword" - }, - "title": { - "type": "keyword" - }, - "updated_at": { - "type": "date" - }, - "updated_by": { - "properties": { - "email": { - "type": "keyword" - }, - "full_name": { - "type": "keyword" - }, - "username": { - "type": "keyword" - } - } - } - } - }, - "cases-comments": { - "properties": { - "comment": { - "type": "text" - }, - "created_at": { - "type": "date" - }, - "created_by": { - "properties": { - "email": { - "type": "keyword" - }, - "full_name": { - "type": "keyword" - }, - "username": { - "type": "keyword" - } - } - }, - "pushed_at": { - "type": "date" - }, - "pushed_by": { - "properties": { - "email": { - "type": "keyword" - }, - "full_name": { - "type": "keyword" - }, - "username": { - "type": "keyword" - } - } - }, - "updated_at": { - "type": "date" - }, - "updated_by": { - "properties": { - "email": { - "type": "keyword" - }, - "full_name": { - "type": "keyword" - }, - "username": { - "type": "keyword" - } - } - } - } - }, - "cases-configure": { - "properties": { - "closure_type": { - "type": "keyword" - }, - "connector_id": { - "type": "keyword" - }, - "connector_name": { - "type": "keyword" - }, - "created_at": { - "type": "date" - }, - "created_by": { - "properties": { - "email": { - "type": "keyword" - }, - "full_name": { - "type": "keyword" - }, - "username": { - "type": "keyword" - } - } - }, - "updated_at": { - "type": "date" - }, - "updated_by": { - "properties": { - "email": { - "type": "keyword" - }, - "full_name": { - "type": "keyword" - }, - "username": { - "type": "keyword" - } - } - } - } - }, - "cases-user-actions": { - "properties": { - "action": { - "type": "keyword" - }, - "action_at": { - "type": "date" - }, - "action_by": { - "properties": { - "email": { - "type": "keyword" - }, - "full_name": { - "type": "keyword" - }, - "username": { - "type": "keyword" - } - } - }, - "action_field": { - "type": "keyword" - }, - "new_value": { - "type": "text" - }, - "old_value": { - "type": "text" - } - } - }, - "config": { - "dynamic": "true", - "properties": { - "buildNum": { - "type": "keyword" - }, - "defaultIndex": { - "fields": { - "keyword": { - "ignore_above": 256, - "type": "keyword" - } - }, - "type": "text" - } - } - }, - "dashboard": { - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "optionsJSON": { - "type": "text" - }, - "panelsJSON": { - "type": "text" - }, - "refreshInterval": { - "properties": { - "display": { - "type": "keyword" - }, - "pause": { - "type": "boolean" - }, - "section": { - "type": "integer" - }, - "value": { - "type": "integer" - } - } - }, - "timeFrom": { - "type": "keyword" - }, - "timeRestore": { - "type": "boolean" - }, - "timeTo": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, - "file-upload-telemetry": { - "properties": { - "filesUploadedTotalCount": { - "type": "long" - } - } - }, - "graph-workspace": { - "properties": { - "description": { - "type": "text" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "numLinks": { - "type": "integer" - }, - "numVertices": { - "type": "integer" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - }, - "wsState": { - "type": "text" - } - } - }, - "index-pattern": { - "properties": { - "fieldFormatMap": { - "type": "text" - }, - "fields": { - "type": "text" - }, - "intervalName": { - "type": "keyword" - }, - "notExpandable": { - "type": "boolean" - }, - "sourceFilters": { - "type": "text" - }, - "timeFieldName": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "type": { - "type": "keyword" - }, - "typeMeta": { - "type": "keyword" - } - } - }, - "kql-telemetry": { - "properties": { - "optInCount": { - "type": "long" - }, - "optOutCount": { - "type": "long" - } - } - }, - "lens": { - "properties": { - "description": { - "type": "text" - }, - "expression": { - "index": false, - "type": "keyword" - }, - "state": { - "type": "flattened" - }, - "title": { - "type": "text" - }, - "visualizationType": { - "type": "keyword" - } - } - }, - "lens-ui-telemetry": { - "properties": { - "count": { - "type": "integer" - }, - "date": { - "type": "date" - }, - "name": { - "type": "keyword" - }, - "type": { - "type": "keyword" - } - } - }, - "map": { - "properties": { - "description": { - "type": "text" - }, - "layerListJSON": { - "type": "text" - }, - "mapStateJSON": { - "type": "text" - }, - "title": { - "type": "text" - }, - "uiStateJSON": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, - "maps": { - "properties": { - "attributesPerMap": { - "properties": { - "dataSourcesCount": { - "properties": { - "avg": { - "type": "long" - }, - "max": { - "type": "long" - }, - "min": { - "type": "long" - } - } - }, - "emsVectorLayersCount": { - "dynamic": "true", - "type": "object" - }, - "layerTypesCount": { - "dynamic": "true", - "type": "object" - }, - "layersCount": { - "properties": { - "avg": { - "type": "long" - }, - "max": { - "type": "long" - }, - "min": { - "type": "long" - } - } - } - } - }, - "indexPatternsWithGeoFieldCount": { - "type": "long" - }, - "indexPatternsWithGeoPointFieldCount": { - "type": "long" - }, - "indexPatternsWithGeoShapeFieldCount": { - "type": "long" - }, - "mapsTotalCount": { - "type": "long" - }, - "settings": { - "properties": { - "showMapVisualizationTypes": { - "type": "boolean" - } - } - }, - "timeCaptured": { - "type": "date" - } - } - }, - "migrationVersion": { - "dynamic": "true", - "properties": { - "config": { - "fields": { - "keyword": { - "ignore_above": 256, - "type": "keyword" - } - }, - "type": "text" - }, - "index-pattern": { - "fields": { - "keyword": { - "ignore_above": 256, - "type": "keyword" - } - }, - "type": "text" - } - } - }, - "ml-telemetry": { - "properties": { - "file_data_visualizer": { - "properties": { - "index_creation_count": { - "type": "long" - } - } - } - } - }, - "namespace": { - "type": "keyword" - }, - "namespaces": { - "type": "keyword" - }, - "query": { - "properties": { - "description": { - "type": "text" - }, - "filters": { - "enabled": false, - "type": "object" - }, - "query": { - "properties": { - "language": { - "type": "keyword" - }, - "query": { - "index": false, - "type": "keyword" - } - } - }, - "timefilter": { - "enabled": false, - "type": "object" - }, - "title": { - "type": "text" - } - } - }, - "references": { - "properties": { - "id": { - "type": "keyword" - }, - "name": { - "type": "keyword" - }, - "type": { - "type": "keyword" - } - }, - "type": "nested" - }, - "sample-data-telemetry": { - "properties": { - "installCount": { - "type": "long" - }, - "unInstallCount": { - "type": "long" - } - } - }, - "search": { - "properties": { - "columns": { - "type": "keyword" - }, - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "sort": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, - "telemetry": { - "properties": { - "allowChangingOptInStatus": { - "type": "boolean" - }, - "enabled": { - "type": "boolean" - }, - "lastReported": { - "type": "date" - }, - "lastVersionChecked": { - "type": "keyword" - }, - "reportFailureCount": { - "type": "integer" - }, - "reportFailureVersion": { - "type": "keyword" - }, - "sendUsageFrom": { - "type": "keyword" - }, - "userHasSeenNotice": { - "type": "boolean" - } - } - }, - "tsvb-validation-telemetry": { - "properties": { - "failedRequests": { - "type": "long" - } - } - }, - "type": { - "type": "keyword" - }, - "ui-metric": { - "properties": { - "count": { - "type": "integer" - } - } - }, - "updated_at": { - "type": "date" - }, - "upgrade-assistant-reindex-operation": { - "properties": { - "errorMessage": { - "type": "keyword" - }, - "indexName": { - "type": "keyword" - }, - "lastCompletedStep": { - "type": "integer" - }, - "locked": { - "type": "date" - }, - "newIndexName": { - "type": "keyword" - }, - "reindexOptions": { - "properties": { - "openAndClose": { - "type": "boolean" - }, - "queueSettings": { - "properties": { - "queuedAt": { - "type": "long" - }, - "startedAt": { - "type": "long" - } - } - } - } - }, - "reindexTaskId": { - "type": "keyword" - }, - "reindexTaskPercComplete": { - "type": "float" - }, - "runningReindexCount": { - "type": "integer" - }, - "status": { - "type": "integer" - } - } - }, - "upgrade-assistant-telemetry": { - "properties": { - "features": { - "properties": { - "deprecation_logging": { - "properties": { - "enabled": { - "null_value": true, - "type": "boolean" - } - } - } - } - }, - "ui_open": { - "properties": { - "cluster": { - "null_value": 0, - "type": "long" - }, - "indices": { - "null_value": 0, - "type": "long" - }, - "overview": { - "null_value": 0, - "type": "long" - } - } - }, - "ui_reindex": { - "properties": { - "close": { - "null_value": 0, - "type": "long" - }, - "open": { - "null_value": 0, - "type": "long" - }, - "start": { - "null_value": 0, - "type": "long" - }, - "stop": { - "null_value": 0, - "type": "long" - } - } - } - } - }, - "uptime-dynamic-settings": { - "properties": { - "certAgeThreshold": { - "type": "long" - }, - "certExpirationThreshold": { - "type": "long" - }, - "heartbeatIndices": { - "type": "keyword" - } - } - }, - "url": { - "properties": { - "accessCount": { - "type": "long" - }, - "accessDate": { - "type": "date" - }, - "createDate": { - "type": "date" - }, - "url": { - "fields": { - "keyword": { - "type": "keyword" - } - }, - "type": "text" - } - } - }, - "visualization": { - "properties": { - "description": { - "type": "text" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "savedSearchRefName": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "uiStateJSON": { - "type": "text" - }, - "version": { - "type": "integer" - }, - "visState": { - "type": "text" - } - } - } - } - }, - "settings": { - "index": { - "auto_expand_replicas": "0-1", - "number_of_replicas": "0", - "number_of_shards": "1" - } - } - } -} diff --git a/x-pack/test/functional/es_archives/reporting/nanos/data.json b/x-pack/test/functional/es_archives/reporting/nanos/data.json new file mode 100644 index 00000000000000..02a56e95dd1f6f --- /dev/null +++ b/x-pack/test/functional/es_archives/reporting/nanos/data.json @@ -0,0 +1,25 @@ +{ + "type": "doc", + "value": { + "id": "1", + "index": "nanos", + "source": { + "date": "2015-01-01T12:10:30", + "message": "Hello 1" + }, + "type": "_doc" + } +} + +{ + "type": "doc", + "value": { + "id": "2", + "index": "nanos", + "source": { + "date": "2015-01-01T12:10:30.123456789Z", + "message": "Hello 2" + }, + "type": "_doc" + } +} diff --git a/x-pack/test/functional/es_archives/reporting/nanos/data.json.gz b/x-pack/test/functional/es_archives/reporting/nanos/data.json.gz deleted file mode 100644 index 2811c495aae2d2f7e9dd330661fd9f5f76850ef4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 863 zcmV-l1EBmLiwFo|YCT>617u-zVJ>QOZ*Bm^R$Xt}Fcf{~S44Rx$PUmnd8^b`+oV!y zpgs%`GRaNInh)kUY*od7pFffimv#*m+oT|pWBdBtbA9jibI&kL_Ou1lGt40O&AtG3 zBq;^*%s=>N9Eedr&%!wJE(d6UtR zwR~UOF)4&VA@iZ&Hs%$&Y=&zQDw+*mZUe#~SP>>hZG>G5ITmtfHulC2e+Jlgzp3r2 z%^F)Pp(uy;y?w9u++AuZtF@6G;;^+IQJ&ZlQ21-W1)7WNlX1ql?4##tmWC}texmb`g2ami6X zFEhq5#NP{_##_009A^{)Vg*VUE#KU?hqtM1<)m1rprSJiX5S2O)V;TiN$@ zhC-CCB-Pyi!n5#m3OdiMOxHjqb_$&ue8H!NI}?)UOJ~#ub?NGXQ?)x2S;eqZkkyR; z5o48aZITV5QEaDSnFU&W_-pr z^JiJr=E9UCFBaYOG+HJaKThbA)jDy8#Y*MGl7JJf<+ z)j;Ffus=vr-3&Hyv`P4nT_wpOD|ag12jE8u^hweq!SYeYh_sFX#7Badoq&+#x$ zm}qId8ab?G@JZroriE-lB4oQhQOZ*Bn1nN4roI1q;K`4vLWOJRnjNXn-++1(ah z6a`u}UpK~P*4|a5K$6?0LH~P6W4A#;(Q)Ik6Tm)*rYyYVybotacL!N^INaX2!%22H zYo~|5g@I4DUWSo7f8j3|v+(Q3cYnP5`0C%IFZ21;$(g+V%UHLX9%eK%_a#i~ZSDI1 zNBef!P4EB5kGz=KVf82uSTYa{ii-0|ffIoj|J~-NUAv)MO#M6|P4Q#2vDd46KPqk`qPn%u{sU!WHaBm0tPh;zEuODQE zDs6qvN4)=V{9|r7`MGyW?0>Hx85aS4N&jmc(f``I?6_qvIwChV##!-LVEqYh`{r`R0`R(72czVkN z0~3&!w0r>&A9=5B?P2%H?ngDb7qb8^>v{o$;KwCk18&nDM7CpSJA#$}*h()eiPNP)NPhuiFxe^N6n8n++u z^!^XIUWLUP|7#UfZ<8Y*eXXYjd9rs-4*>tc3W_uUxZ)$l-r#QLuE~zuZg5{?{W332 zLC(JmdjIQi>SLMqzmEX^s1VqJ1up3QuRQ_-|C0VUV9c}8Pmch_xTyfr2q+7PQ-BS6 z9ihuvlDGIS=mDTYwU06l03}5n0ULEWWo|%|L(tMwK!sL6$aT#=5!XIXf)jAExuqo&_Tb!44wflAZ%{l?{kA2XL$mUf=cS9)gA(f|v9VkRcWD5KOoI zqHM literal 1762 zcmV<81|9hyiwFpsk4;?w17u-zVJ>QOZ*Bn1Sy^w}I1ql%uMmWNj0BRpC_inQUfbO^ zi$qP@94Kgsw$;j#S4Y}3@PA)Y@*#ziH^V ztA|{0OQM2H?%4x-3r&rRw2=5o z5$8+<+4sy(!wGW)dmNA`qg+Hu>W@f2;;-dt!DVDPOzDv1O=(I=@HS1xuM_{AJ0Y75 zO%Lm;d<%o7B3Yh>@vxx^*o7+PDi3wxo_sm#WPXx9IHtH5_i6fMb>_kc`pm^^D^$i_ zQ=_`@8C0tDcp)b?rfhFt%85yUR`ul(*X#-AljP^j39B5lCuOq2XBi=Ds?$%Bh?00u z2X&*?vRWSIQJFP5ve-BrrX&xO_?)I0``6_7hxD)7y2Y~crn#`W+`1{zuymHKw@8VV zPkRoe2BipS#=vzo2&t>}F{PT_cWqz}&;UEm(=+612Uc72g`BdUSMr`LRaHEg; z_y(E^(YH8*+PU~iRE*=M&*#cEb}Pwcx%y3`V65<49lBaa-6+iY+Mp(CwZEa%Le-@^ z__~Z;M&WQ2u}^*!MN0y>tpaW-_^+Vp9eccAe!W&p(uqhsEXc58qaW4Sl*ub^Gbu0O z{>bvOP~-1sd08H?*<>;~tK|Fzekj!p5`~0QPFzG08wkRT(^H+we$cxI{2X%@t7qZ~ zNy#{?795r%oTj6Ew(hh}qA9bX$~h&-OBq!1L@8xuG@R1Gr#TUC5pR{Lv;DYgGYh)3 zoKA1H&|to0E7%y}q?{G6uEd~h#3{-AT9n?jWq`Azf8Hqno?N^+t%vIEg0`SQPIIWu z5VRg)8$Ez^6T>YC`}4`0lh5ydy!tg74bH!qezOqKeXunh0bt*6qhM;byNWG7>H zSnon$3f8}k5?0d%L^+D+cM=C_BHGW|)%vSTA8=0E+y%uBTmYd5j2`L=01IQ$1s{@_ zMiJFMkeDhTNt%yD7eF04HkR%JO}Y!9W&jU5J)R{qhqeb$H|Pz+bOig?;k_N$e<4DD zd;5XuLAx9J2(@7U@%V>2M$+@%g=G9Q`=N#mPJNyDcVLVC?+I0o(d#`SMW@Gy{4NcB9^M9Q&o9{)>Fn0}TNWz;4vL*cGGxI1MuzvGadj zuW)|<#j^d0zgc8?@7eS?w0JwYUzjvE>HB#!lSLwh9SVJafy-wgmY_>Fb zMV8+w@7PXp9>#P(#>>Y)uk}1=t-!xyi>$X!%7?7ia}4Rl-dFhq!2X~ItZo88Hfm}1 zayl8&SUFD8ocn^^`YC1e-;5~qY&5u1TN*{-(eKU`L7fI7-0Nj z?3YggwuZ0=KsN=r77$B-HSRk2EvGB}itkcB0oc6Thh{ec*rp*yz*@JQrjCIlodk(| z7O?qMKQLEa_8DUD^Gqlp@>#&*RRCkb?i)Yb6sy2z`Kg1*=KxECh6mggjlX4XmIDyd z5pbp7`4agoVDT~l8Qm=48ZF)bE1Je6WsShAFb { before(async () => { + await reportingAPI.initEcommerce(); + await reportingAPI.initLogs(); await kibanaServer.uiSettings.update({ - 'csv:quoteValues': false, + 'csv:quoteValues': true, 'dateFormat:tz': 'UTC', - defaultIndex: 'logstash-*', }); - await reportingAPI.initEcommerce(); }); + after(async () => { await reportingAPI.teardownEcommerce(); + await reportingAPI.teardownLogs(); await reportingAPI.deleteAllReports(); }); - it('Exports CSV with almost all fields when using fieldsFromSource', async () => { - const { - status: resStatus, - text: resText, - type: resType, - } = (await generateAPI.getCSVFromSearchSource( - getMockJobParams({ - searchSource: { - query: { query: '', language: 'kuery' }, - index: '5193f870-d861-11e9-a311-0fa548c5f953', - sort: [{ order_date: 'desc' }], - fieldsFromSource: [ - '_id', - '_index', - '_score', - '_source', - '_type', - 'category', - 'category.keyword', - 'currency', - 'customer_birth_date', - 'customer_first_name', - 'customer_first_name.keyword', - 'customer_full_name', - 'customer_full_name.keyword', - 'customer_gender', - 'customer_id', - 'customer_last_name', - 'customer_last_name.keyword', - 'customer_phone', - 'day_of_week', - 'day_of_week_i', - 'email', - 'geoip.city_name', - 'geoip.continent_name', - 'geoip.country_iso_code', - 'geoip.location', - 'geoip.region_name', - 'manufacturer', - 'manufacturer.keyword', - 'order_date', - 'order_id', - 'products._id', - 'products._id.keyword', - 'products.base_price', - 'products.base_unit_price', - 'products.category', - 'products.category.keyword', - 'products.created_on', - 'products.discount_amount', - 'products.discount_percentage', - 'products.manufacturer', - 'products.manufacturer.keyword', - 'products.min_price', - 'products.price', - 'products.product_id', - 'products.product_name', - 'products.product_name.keyword', - 'products.quantity', - 'products.sku', - 'products.tax_amount', - 'products.taxful_price', - 'products.taxless_price', - 'products.unit_discount_amount', - 'sku', - 'taxful_total_price', - 'taxless_total_price', - 'total_quantity', - 'total_unique_products', - 'type', - 'user', - ], - filter: [], - parent: { - query: { language: 'kuery', query: '' }, + describe('unquoted values', () => { + before(async () => { + await kibanaServer.uiSettings.update({ 'csv:quoteValues': false }); + }); + + after(async () => { + await kibanaServer.uiSettings.update({ 'csv:quoteValues': true }); + }); + + it('Exports CSV with almost all fields when using fieldsFromSource', async () => { + const { + status: resStatus, + text: resText, + type: resType, + } = (await generateAPI.getCSVFromSearchSource( + getMockJobParams({ + searchSource: { + query: { query: '', language: 'kuery' }, + index: '5193f870-d861-11e9-a311-0fa548c5f953', + sort: [{ order_date: 'desc' }], + fieldsFromSource: [ + '_id', + '_index', + '_score', + '_source', + '_type', + 'category', + 'category.keyword', + 'currency', + 'customer_birth_date', + 'customer_first_name', + 'customer_first_name.keyword', + 'customer_full_name', + 'customer_full_name.keyword', + 'customer_gender', + 'customer_id', + 'customer_last_name', + 'customer_last_name.keyword', + 'customer_phone', + 'day_of_week', + 'day_of_week_i', + 'email', + 'geoip.city_name', + 'geoip.continent_name', + 'geoip.country_iso_code', + 'geoip.location', + 'geoip.region_name', + 'manufacturer', + 'manufacturer.keyword', + 'order_date', + 'order_id', + 'products._id', + 'products._id.keyword', + 'products.base_price', + 'products.base_unit_price', + 'products.category', + 'products.category.keyword', + 'products.created_on', + 'products.discount_amount', + 'products.discount_percentage', + 'products.manufacturer', + 'products.manufacturer.keyword', + 'products.min_price', + 'products.price', + 'products.product_id', + 'products.product_name', + 'products.product_name.keyword', + 'products.quantity', + 'products.sku', + 'products.tax_amount', + 'products.taxful_price', + 'products.taxless_price', + 'products.unit_discount_amount', + 'sku', + 'taxful_total_price', + 'taxless_total_price', + 'total_quantity', + 'total_unique_products', + 'type', + 'user', + ], filter: [], parent: { - filter: [ - { - meta: { index: '5193f870-d861-11e9-a311-0fa548c5f953', params: {} }, - range: { - order_date: { - gte: fromTime, - lte: toTime, - format: 'strict_date_optional_time', + query: { language: 'kuery', query: '' }, + filter: [], + parent: { + filter: [ + { + meta: { index: '5193f870-d861-11e9-a311-0fa548c5f953', params: {} }, + range: { + order_date: { + gte: fromTime, + lte: toTime, + format: 'strict_date_optional_time', + }, }, }, - }, - ], + ], + }, }, }, - }, - browserTimezone: 'UTC', - title: 'testfooyu78yt90-', - }) - )) as supertest.Response; - expect(resStatus).to.eql(200); - expect(resType).to.eql('text/csv'); - expectSnapshot(resText).toMatch(); - }); + browserTimezone: 'UTC', + title: 'testfooyu78yt90-', + }) + )) as supertest.Response; + expect(resStatus).to.eql(200); + expect(resType).to.eql('text/csv'); + expectSnapshot(resText).toMatch(); + }); - it('Exports CSV with all fields when using defaults', async () => { - const { - status: resStatus, - text: resText, - type: resType, - } = await generateAPI.getCSVFromSearchSource( - getMockJobParams({ - searchSource: { - query: { query: '', language: 'kuery' }, - index: '5193f870-d861-11e9-a311-0fa548c5f953', - sort: [{ order_date: 'desc' }], - fields: ['*'], - filter: [], - parent: { - query: { language: 'kuery', query: '' }, + it('Exports CSV with all fields when using defaults', async () => { + const { + status: resStatus, + text: resText, + type: resType, + } = await generateAPI.getCSVFromSearchSource( + getMockJobParams({ + searchSource: { + query: { query: '', language: 'kuery' }, + index: '5193f870-d861-11e9-a311-0fa548c5f953', + sort: [{ order_date: 'desc' }], + fields: ['*'], filter: [], parent: { - filter: [ - { - meta: { index: '5193f870-d861-11e9-a311-0fa548c5f953', params: {} }, - range: { - order_date: { - gte: fromTime, - lte: toTime, - format: 'strict_date_optional_time', + query: { language: 'kuery', query: '' }, + filter: [], + parent: { + filter: [ + { + meta: { index: '5193f870-d861-11e9-a311-0fa548c5f953', params: {} }, + range: { + order_date: { + gte: fromTime, + lte: toTime, + format: 'strict_date_optional_time', + }, }, }, - }, - ], + ], + }, }, }, - }, - browserTimezone: 'UTC', - title: 'testfooyu78yt90-', - }) - ); - expect(resStatus).to.eql(200); - expect(resType).to.eql('text/csv'); - expectSnapshot(resText).toMatch(); + browserTimezone: 'UTC', + title: 'testfooyu78yt90-', + }) + ); + expect(resStatus).to.eql(200); + expect(resType).to.eql('text/csv'); + expectSnapshot(resText).toMatch(); + }); }); describe('date formatting', () => { - before(async () => { - // load test data that contains a saved search and documents - await esArchiver.load('x-pack/test/functional/es_archives/reporting/logs'); - await esArchiver.load('x-pack/test/functional/es_archives/logstash_functional'); - }); - after(async () => { - await esArchiver.unload('x-pack/test/functional/es_archives/reporting/logs'); - await esArchiver.unload('x-pack/test/functional/es_archives/logstash_functional'); - }); - it('With filters and timebased data, default to UTC', async () => { const res = (await generateAPI.getCSVFromSearchSource( getMockJobParams({ @@ -277,10 +279,18 @@ export default function ({ getService }: FtrProviderContext) { expect(resType).to.eql('text/csv'); expectSnapshot(resText).toMatch(); }); + }); - it('Formatted date_nanos data, UTC timezone', async () => { + describe('nanosecond formatting', () => { + before(async () => { await esArchiver.load('x-pack/test/functional/es_archives/reporting/nanos'); + }); + after(async () => { + await esArchiver.unload('x-pack/test/functional/es_archives/reporting/nanos'); + }); + + it('Formatted date_nanos data, UTC timezone', async () => { const res = await generateAPI.getCSVFromSearchSource( getMockJobParams({ searchSource: { @@ -298,13 +308,9 @@ export default function ({ getService }: FtrProviderContext) { expect(resStatus).to.eql(200); expect(resType).to.eql('text/csv'); expectSnapshot(resText).toMatch(); - - await esArchiver.unload('x-pack/test/functional/es_archives/reporting/nanos'); }); it('Formatted date_nanos data, custom timezone (New York)', async () => { - await esArchiver.load('x-pack/test/functional/es_archives/reporting/nanos'); - const res = await generateAPI.getCSVFromSearchSource( getMockJobParams({ browserTimezone: 'America/New_York', @@ -323,8 +329,6 @@ export default function ({ getService }: FtrProviderContext) { expect(resStatus).to.eql(200); expect(resType).to.eql('text/csv'); expectSnapshot(resText).toMatch(); - - await esArchiver.unload('x-pack/test/functional/es_archives/reporting/nanos'); }); }); @@ -354,7 +358,6 @@ export default function ({ getService }: FtrProviderContext) { }); it('With filters and non-timebased data', async () => { - // load test data that contains a saved search and documents await esArchiver.load('x-pack/test/functional/es_archives/reporting/sales'); const { @@ -405,8 +408,6 @@ export default function ({ getService }: FtrProviderContext) { // NOTE: this test requires having the test server run with `xpack.reporting.csv.maxSizeBytes=6000` it(`Searches large amount of data, stops at Max Size Reached`, async () => { - await reportingAPI.initEcommerce(); - const { status: resStatus, text: resText, @@ -447,8 +448,6 @@ export default function ({ getService }: FtrProviderContext) { expect(resStatus).to.eql(200); expect(resType).to.eql('text/csv'); expectSnapshot(resText).toMatch(); - - await reportingAPI.teardownEcommerce(); }); }); }); diff --git a/x-pack/test/reporting_api_integration/reporting_and_security/generate_csv_discover_deprecated.ts b/x-pack/test/reporting_api_integration/reporting_and_security/generate_csv_discover_deprecated.ts index 9e3ddfaf57b39b..bd662fb391f152 100644 --- a/x-pack/test/reporting_api_integration/reporting_and_security/generate_csv_discover_deprecated.ts +++ b/x-pack/test/reporting_api_integration/reporting_and_security/generate_csv_discover_deprecated.ts @@ -12,7 +12,6 @@ import { JOB_PARAMS_RISON_CSV_DEPRECATED } from '../services/fixtures'; // eslint-disable-next-line import/no-default-export export default function ({ getService }: FtrProviderContext) { - const esArchiver = getService('esArchiver'); const supertestSvc = getService('supertest'); const reportingAPI = getService('reportingAPI'); @@ -32,13 +31,11 @@ export default function ({ getService }: FtrProviderContext) { describe('Generation from Legacy Job Params', () => { before(async () => { - await esArchiver.load('x-pack/test/functional/es_archives/reporting/logs'); - await esArchiver.load('x-pack/test/functional/es_archives/logstash_functional'); + await reportingAPI.initLogs(); }); after(async () => { - await esArchiver.unload('x-pack/test/functional/es_archives/reporting/logs'); - await esArchiver.unload('x-pack/test/functional/es_archives/logstash_functional'); + await reportingAPI.teardownLogs(); await reportingAPI.deleteAllReports(); }); diff --git a/x-pack/test/reporting_api_integration/reporting_and_security/ilm_migration_apis.ts b/x-pack/test/reporting_api_integration/reporting_and_security/ilm_migration_apis.ts index 6a2139a70dde50..af6afe99e8c9d7 100644 --- a/x-pack/test/reporting_api_integration/reporting_and_security/ilm_migration_apis.ts +++ b/x-pack/test/reporting_api_integration/reporting_and_security/ilm_migration_apis.ts @@ -13,7 +13,6 @@ import { ILM_POLICY_NAME } from '../../../plugins/reporting/common/constants'; // eslint-disable-next-line import/no-default-export export default function ({ getService }: FtrProviderContext) { - const esArchiver = getService('esArchiver'); const es = getService('es'); const supertest = getService('supertest'); const supertestWithoutAuth = getService('supertestWithoutAuth'); @@ -22,14 +21,12 @@ export default function ({ getService }: FtrProviderContext) { describe('ILM policy migration APIs', () => { before(async () => { - await esArchiver.load('x-pack/test/functional/es_archives/reporting/logs'); - await esArchiver.load('x-pack/test/functional/es_archives/logstash_functional'); + await reportingAPI.initLogs(); await reportingAPI.migrateReportingIndices(); // ensure that the ILM policy exists for the first test }); after(async () => { - await esArchiver.unload('x-pack/test/functional/es_archives/reporting/logs'); - await esArchiver.unload('x-pack/test/functional/es_archives/logstash_functional'); + await reportingAPI.teardownLogs(); }); afterEach(async () => { diff --git a/x-pack/test/reporting_api_integration/reporting_and_security/network_policy.ts b/x-pack/test/reporting_api_integration/reporting_and_security/network_policy.ts index f0972086584672..842cfbcf7c1e1f 100644 --- a/x-pack/test/reporting_api_integration/reporting_and_security/network_policy.ts +++ b/x-pack/test/reporting_api_integration/reporting_and_security/network_policy.ts @@ -10,11 +10,9 @@ import { FtrProviderContext } from '../ftr_provider_context'; // eslint-disable-next-line import/no-default-export export default function ({ getService }: FtrProviderContext) { - const esArchiver = getService('esArchiver'); const reportingAPI = getService('reportingAPI'); const retry = getService('retry'); const supertest = getService('supertest'); - const archive = 'x-pack/test/functional/es_archives/reporting/canvas_disallowed_url'; /* * The Reporting API Functional Test config implements a network policy that @@ -22,11 +20,11 @@ export default function ({ getService }: FtrProviderContext) { */ describe('Network Policy', () => { before(async () => { - await esArchiver.load(archive); // includes a canvas worksheet with an offending image URL + await reportingAPI.initLogs(); // includes a canvas worksheet with an offending image URL }); after(async () => { - await esArchiver.unload(archive); + await reportingAPI.teardownLogs(); }); it('should fail job when page voilates the network policy', async () => { diff --git a/x-pack/test/reporting_api_integration/reporting_and_security/spaces.ts b/x-pack/test/reporting_api_integration/reporting_and_security/spaces.ts index e61195e2f95c88..e1ca664122c763 100644 --- a/x-pack/test/reporting_api_integration/reporting_and_security/spaces.ts +++ b/x-pack/test/reporting_api_integration/reporting_and_security/spaces.ts @@ -38,18 +38,19 @@ export default function ({ getService }: FtrProviderContext) { ); }; + const spacesSharedObjectsArchive = + 'x-pack/test/functional/es_archives/reporting/ecommerce_kibana_spaces'; + describe('Exports and Spaces', () => { before(async () => { - await esArchiver.load('x-pack/test/functional/es_archives/reporting/ecommerce'); - await esArchiver.load('x-pack/test/functional/es_archives/reporting/ecommerce_kibana_spaces'); // multiple spaces with different config settings + await esArchiver.load(spacesSharedObjectsArchive); // multiple spaces with different config settings + await reportingAPI.initEcommerce(); }); after(async () => { - await esArchiver.unload('x-pack/test/functional/es_archives/reporting/ecommerce'); - await esArchiver.unload( - 'x-pack/test/functional/es_archives/reporting/ecommerce_kibana_spaces' - ); + await reportingAPI.teardownEcommerce(); await reportingAPI.deleteAllReports(); + await esArchiver.unload(spacesSharedObjectsArchive); }); describe('CSV saved search export', () => { diff --git a/x-pack/test/reporting_api_integration/reporting_without_security/job_apis_csv.ts b/x-pack/test/reporting_api_integration/reporting_without_security/job_apis_csv.ts index 06f3756593d767..e1935c2617f416 100644 --- a/x-pack/test/reporting_api_integration/reporting_without_security/job_apis_csv.ts +++ b/x-pack/test/reporting_api_integration/reporting_without_security/job_apis_csv.ts @@ -49,12 +49,12 @@ export default function ({ getService }: FtrProviderContext) { describe('Job Listing APIs', () => { before(async () => { - await esArchiver.load('x-pack/test/functional/es_archives/reporting/logs'); + await reportingAPI.initLogs(); await esArchiver.load('x-pack/test/functional/es_archives/logstash_functional'); }); after(async () => { - await esArchiver.unload('x-pack/test/functional/es_archives/reporting/logs'); + await reportingAPI.teardownLogs(); await esArchiver.unload('x-pack/test/functional/es_archives/logstash_functional'); }); diff --git a/x-pack/test/reporting_api_integration/reporting_without_security/job_apis_csv_deprecated.ts b/x-pack/test/reporting_api_integration/reporting_without_security/job_apis_csv_deprecated.ts index 6ff8946d48c5bc..5cd60653526492 100644 --- a/x-pack/test/reporting_api_integration/reporting_without_security/job_apis_csv_deprecated.ts +++ b/x-pack/test/reporting_api_integration/reporting_without_security/job_apis_csv_deprecated.ts @@ -27,19 +27,16 @@ const parseApiJSON = (apiResponseText: string): { job: ReportApiJSON; path: stri // eslint-disable-next-line import/no-default-export export default function ({ getService }: FtrProviderContext) { - const esArchiver = getService('esArchiver'); const supertestNoAuth = getService('supertestWithoutAuth'); const reportingAPI = getService('reportingAPI'); describe('Job Listing APIs: Deprecated CSV Export', () => { before(async () => { - await esArchiver.load('x-pack/test/functional/es_archives/reporting/logs'); - await esArchiver.load('x-pack/test/functional/es_archives/logstash_functional'); + await reportingAPI.initLogs(); }); after(async () => { - await esArchiver.unload('x-pack/test/functional/es_archives/reporting/logs'); - await esArchiver.unload('x-pack/test/functional/es_archives/logstash_functional'); + await reportingAPI.teardownLogs(); }); afterEach(async () => { diff --git a/x-pack/test/reporting_api_integration/services/scenarios.ts b/x-pack/test/reporting_api_integration/services/scenarios.ts index a596b61ea00d1e..6af60018d01dad 100644 --- a/x-pack/test/reporting_api_integration/services/scenarios.ts +++ b/x-pack/test/reporting_api_integration/services/scenarios.ts @@ -29,7 +29,9 @@ export function createScenarios({ getService }: Pick { + await esArchiver.load('x-pack/test/functional/es_archives/logstash_functional'); + await kibanaServer.importExport.load(logsSOPath); + }; + const teardownLogs = async () => { + await kibanaServer.importExport.unload(logsSOPath); + await esArchiver.unload('x-pack/test/functional/es_archives/logstash_functional'); + }; + const createDataAnalystRole = async () => { await security.role.create('data_analyst', { metadata: {}, @@ -222,6 +233,8 @@ export function createScenarios({ getService }: Pick Date: Tue, 2 Nov 2021 21:56:47 -0500 Subject: [PATCH 110/110] Bump node to 16.13.0 (#116519) Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .ci/Dockerfile | 2 +- .node-version | 2 +- .nvmrc | 2 +- WORKSPACE.bazel | 14 +++++++------- package.json | 2 +- 5 files changed, 11 insertions(+), 11 deletions(-) diff --git a/.ci/Dockerfile b/.ci/Dockerfile index 29ed08c84b23ec..8e0d2d4351965e 100644 --- a/.ci/Dockerfile +++ b/.ci/Dockerfile @@ -1,7 +1,7 @@ # NOTE: This Dockerfile is ONLY used to run certain tasks in CI. It is not used to run Kibana or as a distributable. # If you're looking for the Kibana Docker image distributable, please see: src/dev/build/tasks/os_packages/docker_generator/templates/dockerfile.template.ts -ARG NODE_VERSION=16.11.1 +ARG NODE_VERSION=16.13.0 FROM node:${NODE_VERSION} AS base diff --git a/.node-version b/.node-version index 141e9a2a2cef03..58a4133d910f4f 100644 --- a/.node-version +++ b/.node-version @@ -1 +1 @@ -16.11.1 +16.13.0 diff --git a/.nvmrc b/.nvmrc index 141e9a2a2cef03..5b0ad74a810238 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -16.11.1 +16.13.0 \ No newline at end of file diff --git a/WORKSPACE.bazel b/WORKSPACE.bazel index d3c44eab2a526a..08c5bfa5514374 100644 --- a/WORKSPACE.bazel +++ b/WORKSPACE.bazel @@ -27,14 +27,14 @@ check_rules_nodejs_version(minimum_version_string = "3.8.0") # we can update that rule. node_repositories( node_repositories = { - "16.11.1-darwin_amd64": ("node-v16.11.1-darwin-x64.tar.gz", "node-v16.11.1-darwin-x64", "ba54b8ed504bd934d03eb860fefe991419b4209824280d4274f6a911588b5e45"), - "16.11.1-darwin_arm64": ("node-v16.11.1-darwin-arm64.tar.gz", "node-v16.11.1-darwin-arm64", "5e772e478390fab3001b7148a923e4f22fca50170000f18b28475337d3a97248"), - "16.11.1-linux_arm64": ("node-v16.11.1-linux-arm64.tar.xz", "node-v16.11.1-linux-arm64", "083fc51f0ea26de9041aaf9821874651a9fd3b20d1cf57071ce6b523a0436f17"), - "16.11.1-linux_s390x": ("node-v16.11.1-linux-s390x.tar.xz", "node-v16.11.1-linux-s390x", "855b5c83c2ccb05273d50bb04376335c68d47df57f3187cdebe1f22b972d2825"), - "16.11.1-linux_amd64": ("node-v16.11.1-linux-x64.tar.xz", "node-v16.11.1-linux-x64", "493bcc9b660eff983a6de65a0f032eb2717f57207edf74c745bcb86e360310b3"), - "16.11.1-windows_amd64": ("node-v16.11.1-win-x64.zip", "node-v16.11.1-win-x64", "4d3c179b82d42e66e321c3948a4e332ed78592917a69d38b86e3a242d7e62fb7"), + "16.13.0-darwin_amd64": ("node-v16.13.0-darwin-x64.tar.gz", "node-v16.13.0-darwin-x64", "37e09a8cf2352f340d1204c6154058d81362fef4ec488b0197b2ce36b3f0367a"), + "16.13.0-darwin_arm64": ("node-v16.13.0-darwin-arm64.tar.gz", "node-v16.13.0-darwin-arm64", "46d83fc0bd971db5050ef1b15afc44a6665dee40bd6c1cbaec23e1b40fa49e6d"), + "16.13.0-linux_arm64": ("node-v16.13.0-linux-arm64.tar.xz", "node-v16.13.0-linux-arm64", "93a0d03f9f802353cb7052bc97a02cd9642b49fa985671cdc16c99936c86d7d2"), + "16.13.0-linux_s390x": ("node-v16.13.0-linux-s390x.tar.xz", "node-v16.13.0-linux-s390x", "49e972bf3e969d621157df4c8f2fa18ff748c167d5ebd0efc87e1b9f0c6541cc"), + "16.13.0-linux_amd64": ("node-v16.13.0-linux-x64.tar.xz", "node-v16.13.0-linux-x64", "a876ce787133149abd1696afa54b0b5bc5ce3d5ae359081d407ff776e39b7ba8"), + "16.13.0-windows_amd64": ("node-v16.13.0-win-x64.zip", "node-v16.13.0-win-x64", "5a39ec5d4786c2814a6c04488bebac6423c2aaa12832b24f0882456f2e4674e1"), }, - node_version = "16.11.1", + node_version = "16.13.0", node_urls = [ "https://nodejs.org/dist/v{version}/{filename}", ], diff --git a/package.json b/package.json index 1718c703ee7a78..f35800746095a1 100644 --- a/package.json +++ b/package.json @@ -87,7 +87,7 @@ "**/underscore": "^1.13.1" }, "engines": { - "node": "16.11.1", + "node": "16.13.0", "yarn": "^1.21.1" }, "dependencies": {